.vibration-page{--bg:#07101d;--panel:rgba(12,27,46,.93);--line:rgba(83,168,255,.18);--line2:rgba(83,168,255,.38);--cyan:#42d9f5;--blue:#4f91ff;--text:#edf5ff;--muted:#91a5bb;--orange:#ffb84d;--purple:#a78bfa;--red:#ff5f6d;background:radial-gradient(circle at 76% 0,#153a63 0,transparent 34%),linear-gradient(135deg,#07101d,#0a1829)}
.vibration-page .sidebar{background:rgba(7,16,29,.92)}
.vibration-page .system-card,.vibration-page .demo-pill,.vibration-page .live{background:#10243c}
.vibration-page .panel,.vibration-page .metric-card{background:linear-gradient(145deg,rgba(15,35,58,.96),rgba(8,20,35,.96))}
.motor-picker{display:grid;gap:4px}.motor-picker small{font-size:7px;letter-spacing:1.2px;color:var(--muted)}.motor-picker select{color:var(--text);background:#0b1d32;border:1px solid var(--line2);border-radius:8px;padding:8px 28px 8px 10px;font:600 11px Inter}
.scada-overview{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(220px,.7fr);gap:14px;margin-bottom:14px}.scada-stage,.scada-instruments{padding:17px}.machine-canvas{position:relative;min-height:385px;margin-top:8px;background:radial-gradient(circle at 52% 52%,rgba(70,226,216,.08),transparent 40%),linear-gradient(rgba(59,131,137,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(59,131,137,.055) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px;border:1px solid rgba(87,229,216,.1);border-radius:10px;overflow:hidden}.machine-canvas:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(87,229,216,.05),transparent);transform:translateX(-100%);animation:scanMachine 5s linear infinite}.machine-canvas svg{width:100%;height:385px;display:block}.scada-floor{fill:#0a252a;stroke:#26636a;stroke-width:2}.motor-shell{fill:url(#motorBody);stroke:#63aeb5;stroke-width:2}.motor-cap,.motor-feet,.bearing-feet{fill:#123943;stroke:#4c8c94;stroke-width:2}.motor-ribs path{stroke:#65aeb5;stroke-width:7;opacity:.48}.terminal-box,.sensor-unit rect{fill:#09262c;stroke:#57e5d8;stroke-width:2}.terminal-box circle{fill:#ffbd4a}.motor-end,.bearing-ring{fill:#123b45;stroke:#70a8ad;stroke-width:5}.rotor,.bearing-inner{fill:url(#steel);stroke:#c0d4d4;stroke-width:3;transform-box:fill-box;transform-origin:center}.shaft{fill:url(#steel)}.coupling circle{fill:#263f44;stroke:#97b1b4;stroke-width:3}.coupling path{stroke:#92aaad;stroke-width:3;transform-box:fill-box;transform-origin:center}.bearing-body{fill:#183d43;stroke:#628c90;stroke-width:3}.sensor-unit path{stroke:#57e5d8;stroke-width:2}.sensor-unit text{fill:#57e5d8;text-anchor:middle;font-size:9px}.sensor-led{fill:#65ff99;filter:url(#machineGlow)}.axis-gizmo circle{fill:#06171b;stroke:#345b61}.axis-gizmo path{stroke-width:3}.axis-gizmo .gx{stroke:#ff6577}.axis-gizmo .gy{stroke:#57e5d8}.axis-gizmo .gz{stroke:#6ca8ff}.axis-gizmo text{fill:#a8c0bd;font-size:11px}.vibration-waves path{fill:none;stroke:#ff6577;stroke-width:2;opacity:.75;animation:vibrationPulse 1.6s ease-in-out infinite}.machine-label{fill:#77928f;font-size:9px;text-anchor:middle;letter-spacing:1.5px}.rotating{animation:machineRotate 2.2s linear infinite}.scada-tag{position:absolute;z-index:1;display:grid;padding:8px 10px;background:rgba(3,15,18,.9);border:1px solid var(--line2);border-radius:8px;box-shadow:0 10px 24px #0005}.scada-tag span{font-size:7px;color:var(--cyan);letter-spacing:1px}.scada-tag b{font-size:9px;margin-top:3px}.scada-tag small{font-size:7px;color:var(--muted);margin-top:2px}.tag-motor{left:3%;top:8%}.tag-sensor{right:3%;bottom:8%}.signal-chain{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:12px}.signal-chain>div{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#06191c}.signal-chain i{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;color:var(--cyan);background:#57e5d814;font-style:normal}.signal-chain b,.signal-chain small{display:block}.signal-chain b{font-size:7px;letter-spacing:.6px}.signal-chain small{font-size:6px;color:var(--muted);margin-top:2px}.signal-chain em{width:28px;height:1px;background:var(--cyan);box-shadow:0 0 8px var(--cyan);position:relative}.signal-chain em:after{content:"";position:absolute;right:0;top:-3px;border-left:5px solid var(--cyan);border-top:3px solid transparent;border-bottom:3px solid transparent}.scada-instruments{display:flex;flex-direction:column;gap:9px}.instrument-head{display:flex;justify-content:space-between;font-size:7px;letter-spacing:1px;color:var(--muted);margin-bottom:2px}.instrument-head b{color:var(--cyan)}.axis-instrument{padding:15px;border:1px solid var(--line);border-left:3px solid var(--axis);border-radius:9px;background:#06191c}.axis-instrument.x{--axis:#ff6577}.axis-instrument.y{--axis:#57e5d8}.axis-instrument.z{--axis:#6ca8ff}.axis-instrument span,.axis-instrument em{display:block}.axis-instrument span{font-size:7px;color:var(--axis);letter-spacing:1px}.axis-instrument strong{display:block;font:600 22px "Space Grotesk";margin:7px 0 3px}.axis-instrument strong small{font:500 8px Inter;color:var(--muted)}.axis-instrument em{font-style:normal;font-size:8px;color:var(--muted)}.scada-state{margin-top:auto;padding:15px;background:linear-gradient(135deg,#3b2812,#151b18);border:1px solid #ffb23e55;border-radius:10px}.scada-state span,.scada-state small{display:block}.scada-state span{font-size:7px;color:#c79655;letter-spacing:1px}.scada-state strong{display:block;color:var(--orange);font:600 12px "Space Grotesk";margin:6px 0}.scada-state small{font-size:7px;color:#a18e72}@keyframes machineRotate{to{transform:rotate(360deg)}}@keyframes vibrationPulse{50%{opacity:.25;transform:translateY(-3px)}}@keyframes scanMachine{to{transform:translateX(100%)}}
.health-strip{display:grid;grid-template-columns:1.3fr repeat(3,1fr);gap:12px;margin-bottom:16px}.health-strip article,.spectrum-card{background:linear-gradient(145deg,rgba(8,29,33,.95),rgba(4,16,20,.94));border:1px solid var(--line);border-radius:14px}.health-strip article{padding:15px 17px}.health-strip span,.health-strip small{display:block}.health-strip span{font-size:7px;letter-spacing:1.2px;color:var(--muted)}.health-strip strong{display:block;font:600 18px "Space Grotesk";margin:7px 0 5px}.health-strip strong b{font:inherit}.health-strip strong em{font:500 8px Inter;color:var(--muted);font-style:normal}.health-strip small{font-size:8px;color:#7f9c99}.health-strip article:first-child strong{color:var(--orange);font-size:14px}
.spectra-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.spectrum-card{padding:17px;min-width:0;overflow:hidden}.spectrum-head{display:flex;justify-content:space-between;align-items:center}.spectrum-head span{font-size:7px;letter-spacing:1.3px;color:var(--muted)}.spectrum-head h2{font-size:14px}.axis-badge{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font:700 15px "Space Grotesk";border:1px solid currentColor}.axis-x{--axis:#ff6577}.axis-y{--axis:#57e5d8}.axis-z{--axis:#6ca8ff}.axis-badge{color:var(--axis);box-shadow:0 0 18px color-mix(in srgb,var(--axis) 18%,transparent)}
.spectrum-chart{height:245px;margin-top:14px;border-left:1px solid #355158;border-bottom:1px solid #355158;background:repeating-linear-gradient(to right,transparent 0,transparent calc(20% - 1px),rgba(105,145,151,.09) 20%),repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),rgba(105,145,151,.09) 25%);position:relative}.spectrum-chart svg{width:100%;height:100%;overflow:visible}.spectrum-chart .empty{position:absolute;inset:0;display:grid;place-items:center;color:#597572;font-size:9px;letter-spacing:1px}.spectrum-chart line{stroke:var(--axis);stroke-width:3}.spectrum-chart circle{fill:#07191d;stroke:var(--axis);stroke-width:2}.spectrum-chart text{fill:#90aaa7;font-size:8px}.axis-caption{display:flex;justify-content:space-between;margin-top:6px;color:#668481;font-size:7px}.axis-caption b{font-weight:500}.peak-list{list-style:none;padding:0;margin:15px 0 0;display:grid;gap:6px;counter-reset:peak}.peak-list li{display:grid;grid-template-columns:22px 1fr 1fr;align-items:center;padding:7px 9px;border:1px solid rgba(100,160,160,.12);border-radius:8px;background:#06171acc;counter-increment:peak}.peak-list li:before{content:counter(peak);display:grid;place-items:center;width:17px;height:17px;border-radius:5px;background:color-mix(in srgb,var(--axis) 14%,transparent);color:var(--axis);font-size:8px}.peak-list b,.peak-list span{text-align:right;font-size:9px}.peak-list b{color:#dcecea}.peak-list span{color:var(--muted)}.peak-list .empty-row{grid-template-columns:1fr;text-align:center;color:#5d7774;font-size:8px}.peak-list .empty-row:before{display:none}
.vibration-bottom{display:grid;grid-template-columns:1.7fr 1fr;gap:14px;margin-top:14px}.condition-panel,.topic-panel{padding:18px}.condition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.condition-grid>div{display:flex;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:9px;background:#06191c}.condition-grid i{width:9px;height:9px;border-radius:50%;background:var(--muted)}.condition-grid i.ok{background:var(--cyan);box-shadow:0 0 10px var(--cyan)}.condition-grid b,.condition-grid small{display:block}.condition-grid b{font-size:9px}.condition-grid small{font-size:8px;color:var(--muted);margin-top:3px}.topic-panel p{font-size:9px;line-height:1.6;color:#8ca5a2}.topic-panel code{color:var(--cyan);background:#041215;padding:2px 4px}.topic-status{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:9px}.topic-status span{color:var(--muted)}.topic-status b{color:var(--cyan)}
.scada-diagnosis{margin-top:14px;padding:16px 0 0;border-top:1px solid var(--line)}
@media(max-width:1100px){.scada-overview{grid-template-columns:1fr}.scada-instruments{display:grid;grid-template-columns:repeat(3,1fr)}.instrument-head,.scada-state{grid-column:1/-1}.health-strip{grid-template-columns:1fr 1fr}.spectra-grid{grid-template-columns:1fr}.spectrum-chart{height:220px}.vibration-bottom{grid-template-columns:1fr}}
@media(max-width:700px){.health-strip{grid-template-columns:1fr}.condition-grid{grid-template-columns:1fr}.header-actions{align-items:flex-end;flex-direction:column}.spectra-grid{gap:10px}.spectrum-card{padding:13px}}
@media(max-width:700px){.machine-canvas,.machine-canvas svg{height:270px;min-height:270px}.scada-instruments{grid-template-columns:1fr}.instrument-head,.scada-state{grid-column:auto}.signal-chain{overflow-x:auto;justify-content:flex-start;padding-bottom:5px}.signal-chain>div{min-width:115px}.signal-chain em{min-width:18px}.tag-sensor{display:none}}

/* Paleta SCADA industrial: grafito/azul con códigos de eje diferenciados. */
.vibration-page .machine-canvas{background:radial-gradient(circle at 52% 52%,rgba(79,145,255,.13),transparent 40%),linear-gradient(rgba(83,168,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(83,168,255,.07) 1px,transparent 1px);background-size:auto,28px 28px,28px 28px;border-color:rgba(83,168,255,.16)}
.vibration-page .machine-canvas:after{background:linear-gradient(90deg,transparent,rgba(66,217,245,.08),transparent)}
.vibration-page .scada-floor{fill:#0b1b2d;stroke:#315f8d}
.vibration-page .motor-shell{stroke:#70aee8}
.vibration-page .motor-cap,.vibration-page .motor-feet,.vibration-page .bearing-feet{fill:#153451;stroke:#4f7fae}
.vibration-page .motor-ribs path{stroke:#78add8}
.vibration-page .terminal-box,.vibration-page .sensor-unit rect{fill:#0a1b2e;stroke:#42d9f5}
.vibration-page .motor-end,.vibration-page .bearing-ring{fill:#173a59;stroke:#7aa0c4}
.vibration-page .coupling circle{fill:#263b50;stroke:#a3b7ca}
.vibration-page .coupling path{stroke:#a3b7ca}
.vibration-page .bearing-body{fill:#1a3a55;stroke:#668bad}
.vibration-page .sensor-unit path,.vibration-page .sensor-unit text{stroke:#42d9f5;fill:#42d9f5}
.vibration-page .sensor-led{fill:#55e69b}
.vibration-page .axis-gizmo circle{fill:#081321;stroke:#385b7e}
.vibration-page .axis-gizmo .gx{stroke:#ffb84d}.vibration-page .axis-gizmo .gy{stroke:#42d9f5}.vibration-page .axis-gizmo .gz{stroke:#a78bfa}
.vibration-page .axis-gizmo text{fill:#b6c7d9}
.vibration-page .vibration-waves path{stroke:#ffb84d}
.vibration-page .machine-label{fill:#88a1ba}
.vibration-page .scada-tag{background:rgba(7,16,29,.94);box-shadow:0 10px 24px #02060d99}
.vibration-page .signal-chain>div,.vibration-page .axis-instrument,.vibration-page .condition-grid>div{background:#0b1d32}
.vibration-page .signal-chain i{background:#42d9f518}
.vibration-page .axis-instrument.x,.vibration-page .axis-x{--axis:#ffb84d}
.vibration-page .axis-instrument.y,.vibration-page .axis-y{--axis:#42d9f5}
.vibration-page .axis-instrument.z,.vibration-page .axis-z{--axis:#a78bfa}
.vibration-page .scada-state{background:linear-gradient(135deg,#332710,#111b2a);border-color:#ffb84d66}
.vibration-page .scada-state span{color:#d4a759}.vibration-page .scada-state small{color:#b29d79}
.vibration-page .health-strip article,.vibration-page .spectrum-card{background:linear-gradient(145deg,rgba(15,35,58,.97),rgba(8,20,35,.96))}
.vibration-page .spectrum-chart{border-color:#405a74;background:repeating-linear-gradient(to right,transparent 0,transparent calc(20% - 1px),rgba(96,141,184,.12) 20%),repeating-linear-gradient(to bottom,transparent 0,transparent calc(25% - 1px),rgba(96,141,184,.12) 25%)}
.vibration-page .spectrum-chart circle{fill:#091729}.vibration-page .spectrum-chart text{fill:#a9bbcd}
.vibration-page .peak-list li{border-color:rgba(83,168,255,.14);background:#0a1a2dcc}
.vibration-page .peak-list b{color:#edf5ff}
.vibration-page .topic-panel p{color:#9bb0c4}.vibration-page .topic-panel code{background:#071423}
.vibration-page .rotating{animation:machineRotate 1.35s linear infinite;transform-box:view-box}
.vibration-page .rotor-assembly{transform-origin:385px 214px}
.vibration-page .bearing-rotor{transform-origin:672px 214px}
.vibration-page .rotation-mark{fill:none;stroke:#17334d;stroke-width:4;stroke-linecap:round;opacity:.82}
.vibration-page .bearing-mark{stroke:#20394f;stroke-width:3}
.vibration-page .vibration-bottom{grid-template-columns:1fr}
