:root{--bg-base: #050a14;--bg-panel: #070d1a;--bg-card: #090f1e;--bg-card-hi: #0b1424;--border: #182438;--border-mid: #1e2e48;--border-bright: #263c5e;--border-subtle: #0f1a2c;--text-primary: #b8cce8;--text-secondary: #6b8aaa;--text-dim: #4a6880;--font-mono: "Share Tech Mono", "Courier New", monospace;--font-ui: "Rajdhani", "Exo 2", sans-serif;--green: #00e676;--green-glow: rgba(0,230,118,.3);--yellow: #ffca28;--yellow-glow: rgba(255,202,40,.3);--red: #ff1744;--red-glow: rgba(255,23,68,.3);--cyan: #00d4ff;--cyan-glow: rgba(0,212,255,.2);--header-h: 52px;--footer-h: 50px;--trends-h: 162px;--left-w: 288px;--right-w: 308px;--gap: 1px}[data-theme=light]{--bg-base: #dde4ee;--bg-panel: #e8edf5;--bg-card: #f2f6fb;--bg-card-hi: #ffffff;--border: #b8c8de;--border-mid: #9fb5d0;--border-bright: #7a9abf;--border-subtle: #ccd7e8;--text-primary: #1a2840;--text-secondary: #3a5070;--text-dim: #5a7090;--green: #00b85a;--green-glow: rgba(0,184,90,.25);--yellow: #d4a000;--yellow-glow: rgba(212,160,0,.25);--red: #e01030;--red-glow: rgba(224,16,48,.25);--cyan: #0096c7;--cyan-glow: rgba(0,150,199,.2)}[data-theme=light] body:after{display:none}[data-theme=light] .app-failure:before{background:radial-gradient(ellipse at center,transparent 50%,rgba(224,16,48,.05) 100%)}[data-theme=light] .app-warning:before{background:radial-gradient(ellipse at center,transparent 60%,rgba(212,160,0,.03) 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-ui);background:var(--bg-base);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow:hidden}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.035) 2px,rgba(0,0,0,.035) 3px);pointer-events:none;z-index:9000}:root{--selector-h: 44px;--hist-h: 220px}.app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;background:var(--bg-base);gap:0}body{overflow:hidden}.app-failure:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 45%,rgba(255,23,68,.07) 100%);pointer-events:none;z-index:9001;animation:vignette-pulse 1.8s ease-in-out infinite}.app-warning:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(255,202,40,.04) 100%);pointer-events:none;z-index:9001}@keyframes vignette-pulse{0%,to{opacity:.6}50%{opacity:1}}.status-strip{display:flex;align-items:center;padding:0 18px;background:var(--bg-panel);border-bottom:1px solid var(--border-mid);gap:0;position:relative;z-index:100;flex-shrink:0;min-width:0}.ss-left,.ss-right{display:flex;align-items:center;gap:14px;min-width:0}.ss-left{flex:0 1 auto}.ss-right{flex:0 1 auto;margin-left:auto}.ss-center{flex:1 1 auto;min-width:0;display:flex;justify-content:center;padding:0 12px}.ss-brand-block{display:flex;align-items:center;gap:10px}.ss-brand{font-family:var(--font-mono);font-size:16px;color:var(--cyan);text-shadow:0 0 12px var(--cyan-glow);letter-spacing:2px;font-weight:700}.ss-brand-sep{width:1px;height:28px;background:var(--border-mid)}.ss-brand-detail{display:flex;flex-direction:column;gap:1px}.ss-brand-title{font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--text-secondary)}.ss-brand-sub{font-size:8px;letter-spacing:1.5px;color:var(--text-dim)}.ss-sep-v{width:1px;height:28px;background:var(--border);flex-shrink:0}.ss-vessel-info{display:flex;flex-direction:column;gap:2px}.ss-info-row{display:flex;gap:6px;align-items:baseline}.ss-info-key{font-size:8px;letter-spacing:1.5px;color:var(--text-dim);font-weight:700}.ss-info-val{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--text-primary)}.ss-status-badge{display:flex;align-items:center;gap:10px;padding:6px 22px;border:1px solid;border-radius:2px;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;transition:all .4s ease;max-width:100%}.ss-badge-normal{color:var(--green);border-color:#00e67666;background:#00e6760d}.ss-badge-warning{color:var(--yellow);border-color:#ffca2880;background:#ffca280f}.ss-badge-failure{color:var(--red);border-color:#ff174499;background:#ff174414;animation:badge-failure-pulse 1s ease-in-out infinite}@keyframes badge-failure-pulse{0%,to{box-shadow:0 0 12px #ff17444d;border-color:#ff174499}50%{box-shadow:0 0 28px #ff174499;border-color:#ff1744e6}}.ss-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ss-badge-normal .ss-status-dot{background:var(--green);box-shadow:0 0 8px var(--green);animation:dot-pls-g 2s ease-in-out infinite}.ss-badge-warning .ss-status-dot{background:var(--yellow);animation:dot-pls-y 1.4s ease-in-out infinite}.ss-badge-failure .ss-status-dot{background:var(--red);box-shadow:0 0 10px var(--red);animation:dot-pls-r .7s ease-in-out infinite}@keyframes dot-pls-g{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.8);opacity:.5}}@keyframes dot-pls-y{0%,to{opacity:1}50%{opacity:.4}}@keyframes dot-pls-r{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.4}}.ss-status-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ss-engine-block{display:flex;flex-direction:column;gap:1px;align-items:flex-end;min-width:0}.ss-clock-block{display:flex;flex-direction:column;gap:2px;align-items:flex-end;min-width:0}.ss-clock-label{font-size:8px;font-weight:700;letter-spacing:2px;color:var(--text-dim);text-transform:uppercase;line-height:1}.ss-clock{font-family:var(--font-mono);font-size:16px;color:var(--text-primary);letter-spacing:1px;font-variant-numeric:tabular-nums}.ss-clock-sub{font-size:8px;color:var(--text-dim);letter-spacing:1px}.ss-clock-meta{font-size:7px;color:var(--text-dim);letter-spacing:1.2px;text-transform:uppercase}.ss-clock-meta-live{color:var(--green)}.ss-clock-meta-fallback{color:var(--yellow)}.ss-conn{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;letter-spacing:2px}.ss-conn-dot{width:6px;height:6px;border-radius:50%}.ss-conn-live{color:var(--green)}.ss-conn-live .ss-conn-dot{background:var(--green);box-shadow:0 0 6px var(--green)}.ss-conn-pending{color:var(--yellow)}.ss-conn-pending .ss-conn-dot{background:var(--yellow);box-shadow:0 0 6px var(--yellow)}.ss-conn-off{color:var(--red)}.ss-conn-off .ss-conn-dot{background:var(--red)}.ss-source-block{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:46px;flex-shrink:0}.ss-source-tag{font-size:9px;font-weight:800;letter-spacing:2px;line-height:1}.ss-source-cinema{text-shadow:0 0 8px rgba(255,143,0,.35)}.ss-partial-warn{font-size:8px;font-weight:700;letter-spacing:1px;color:var(--yellow);line-height:1}.ss-fallback-warn{font-size:8px;font-weight:700;letter-spacing:2px;color:var(--yellow);line-height:1;opacity:.85}.main-grid{display:grid;grid-template-columns:var(--left-w) 1fr var(--right-w);gap:var(--gap);min-height:480px;min-width:900px}.left-column{display:flex;flex-direction:column;align-items:center;background:var(--bg-panel);border-right:1px solid var(--border-mid);overflow:hidden;padding:10px 0 6px;gap:2px}.rpm-section{display:flex;flex-direction:column;align-items:center;width:100%;flex-shrink:0}.mini-gauges{display:flex;gap:4px;padding:4px 8px;width:100%;justify-content:center;flex-shrink:0}.left-running-hours{display:flex;flex-direction:column;align-items:center;padding:8px 12px;border-top:1px solid var(--border);width:100%;background:#0003;flex-shrink:0}.lrh-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-secondary)}.lrh-value{font-family:var(--font-mono);font-size:22px;color:var(--cyan);text-shadow:0 0 12px var(--cyan-glow);line-height:1.1;font-variant-numeric:tabular-nums}.lrh-unit{font-size:11px;color:var(--text-secondary);letter-spacing:1px}.gauge-ring-card{display:flex;flex-direction:column;align-items:center;background:var(--bg-card);border:1px solid var(--border);padding:8px 4px 6px;gap:2px;transition:border-color .5s ease;flex:1}.gauge-ring-card.grc-warning{border-color:#ffca2866}.gauge-ring-card.grc-critical{border-color:#ff174480;animation:card-blink .9s ease-in-out infinite}@keyframes card-blink{0%,to{border-color:#ff174480}50%{border-color:#ff174426}}.grc-label{font-size:8px;font-weight:700;letter-spacing:1.5px;color:var(--text-dim);text-align:center;transition:color .4s ease}.grc-label-warning{color:var(--yellow)}.grc-label-critical{color:var(--red)}.center-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr;grid-template-rows:1.45fr 1fr 1fr;gap:var(--gap);overflow:hidden;position:relative}.system-panel{transition:transform .6s ease,opacity .6s ease,filter .6s ease,border-color .5s ease,box-shadow .6s ease}.system-panel.sp-cinema-focused{transform:scale(1.008);z-index:10;position:relative}.system-panel.sp-cinema-focused.sp-warning{box-shadow:0 0 22px #ffca2840,inset 0 0 16px #ffca280d}.system-panel.sp-cinema-focused.sp-critical{box-shadow:0 0 26px #ff17444d,inset 0 0 18px #ff17440f}.system-panel.sp-cinema-focused.sp-normal{box-shadow:0 0 20px #00e67633,inset 0 0 14px #00e6760a}.system-panel.sp-cinema-dimmed{opacity:.5;filter:brightness(.6) saturate(.65)}.demo-caption-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:200;pointer-events:none;animation:caption-lifecycle 4.5s ease-in-out forwards}@keyframes caption-lifecycle{0%{opacity:0;transform:translate(-50%,-50%) scale(.96) translateY(6px)}12%{opacity:1;transform:translate(-50%,-50%) scale(1) translateY(0)}72%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1.01)}}.demo-caption-box{padding:11px 30px;border:1px solid;text-align:center;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.demo-caption-box.dcc-normal{color:var(--green);border-color:#00e67699;background:#050c16e6}.demo-caption-box.dcc-warning{color:var(--yellow);border-color:#ffca28b3;background:#050c16eb}.demo-caption-box.dcc-critical{color:var(--red);border-color:#ff1744b3;background:#050c16ed}.demo-caption-tag{font-size:9px;letter-spacing:3px;opacity:.7;display:block;margin-bottom:4px}.demo-caption-text{font-size:13px;font-weight:700;letter-spacing:2.5px;display:block}.system-panel{background:var(--bg-card);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.system-panel.sp-warning{border-color:#ffca2859;background:#ffca2803}.system-panel.sp-critical{border-color:#ff174473;background:#ff174404}.system-panel.sp-compact .sp-header{padding:5px 10px}.system-panel.sp-compact .sp-header-title{font-size:8px}.sp-header{display:flex;align-items:center;gap:7px;padding:6px 12px;border-bottom:1px solid var(--border-subtle);background:#00000047;flex-shrink:0}.sp-header-icon{display:flex;align-items:center;font-size:12px;opacity:.7;flex-shrink:0}.sp-header-title{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--text-secondary);flex:1;white-space:nowrap}.sp-header-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .4s ease,box-shadow .4s ease}.sp-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.sp-row{display:flex;align-items:center;padding:5px 12px;gap:6px;min-height:30px;border-left:2px solid transparent;transition:border-color .4s ease,background .4s ease}.sp-row.spr-warning{border-left-color:var(--yellow);background:#ffca280a}.sp-row.spr-critical{border-left-color:var(--red);background:#ff17440d;animation:row-blink .9s ease-in-out infinite}@keyframes row-blink{0%,to{background:#ff17440f}50%{background:#ff174403}}.sp-row.sp-row-stacked{flex-direction:column;align-items:flex-start;min-height:72px;padding:7px 14px 9px;gap:1px}.sp-row.sp-row-compact{flex-direction:column;align-items:flex-start;justify-content:center;min-height:74px;padding:8px 12px;gap:4px}.sp-compact-head{display:flex;align-items:center;gap:6px;width:100%}.sp-value-wrap{display:flex;align-items:baseline;gap:5px}.sp-value{font-family:var(--font-mono);font-size:26px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;transition:color .4s ease,text-shadow .4s ease}.sp-label{font-size:12px;letter-spacing:1px;color:var(--text-secondary);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-unit{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:1.5px;text-transform:uppercase}.sp-accent{font-size:8px;color:var(--text-dim);background:var(--border);padding:1px 4px;border-radius:1px;letter-spacing:.5px;flex-shrink:0}.sp-row-stacked>.sp-unit{font-size:11px;font-weight:700;letter-spacing:2px;margin-top:2px;color:var(--text-secondary)}.sp-io-pair{display:flex;flex-direction:column;border-left:2px solid var(--border-subtle);margin-left:1px}.sp-io-pair-compact{border-left:none;margin-left:0;padding:6px 10px 8px;gap:6px}.sp-io-compact-title{font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--text-secondary);text-transform:uppercase}.sp-io-compact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-subtle)}.sp-io-row{min-height:38px;padding:6px 12px 6px 10px;gap:10px}.sp-io-pair .sp-io-row{border-left:none}.sp-io-tag{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1px;padding:3px 10px;border-radius:1px;flex-shrink:0;min-width:42px;text-align:center}.sp-io-in{background:#00d4ff26;color:#00d4ff;border:1px solid rgba(0,212,255,.4)}.sp-io-out{background:#00e6761f;color:#00e676;border:1px solid rgba(0,230,118,.4)}.sp-io-pair .sp-value-wrap{margin-left:auto}.sp-io-pair .sp-value{font-size:26px;font-weight:700;min-width:68px;text-align:right;font-variant-numeric:tabular-nums}.sp-section{display:flex;align-items:center;gap:6px;padding:5px 14px 4px;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-secondary);text-transform:uppercase}.sp-section:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.sp-cyl-grid{display:flex;flex-direction:column;gap:0}.sp-cyl-badge{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;background:#00d4ff1f;color:#00d4ff;border:1px solid rgba(0,212,255,.35);padding:3px 8px;border-radius:1px;flex-shrink:0;min-width:42px;text-align:center}.sp-cyl-row .sp-value{font-size:26px;font-weight:700;min-width:60px;text-align:right}.sp-bigval-row{display:flex;flex-direction:column;align-items:center;padding:10px 12px 8px;flex:1;justify-content:center;border-bottom:1px solid var(--border-subtle)}.sp-bigval-row:last-child{border-bottom:none}.sp-bigval-row.sp-bigval-row-compact{border-bottom:none;min-height:0;padding:10px 8px 8px}.sp-bigval-label{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase}.sp-bigval-value-wrap{display:flex;align-items:baseline;gap:8px}.sp-bigval-value{font-family:var(--font-mono);font-size:44px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;transition:color .4s ease,text-shadow .4s ease}.sp-bigval-unit{font-size:14px;font-weight:700;color:var(--text-secondary);letter-spacing:3px;text-transform:uppercase}.sp-metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-subtle)}.sp-metric-grid-single{grid-template-columns:1fr}.sp-bigval-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-subtle);flex:1}.right-column{display:flex;flex-direction:column;background:var(--bg-panel);border-left:1px solid var(--border-mid);overflow:hidden}.alarm-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.alarm-header{display:flex;align-items:center;justify-content:space-between;padding:7px 14px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--bg-card)}.alarm-title{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--text-secondary)}.alarm-count-badge{padding:2px 8px;border-radius:2px;font-size:9px;font-weight:700;letter-spacing:1px;display:flex;gap:6px}.count-crit{background:#ff17442e;color:var(--red);border:1px solid rgba(255,23,68,.5);animation:badge-count-blink .8s ease-in-out infinite}.count-warn{background:#ffca2824;color:var(--yellow);border:1px solid rgba(255,202,40,.4)}.count-ok{background:#00e6761a;color:var(--green);border:1px solid rgba(0,230,118,.3)}@keyframes badge-count-blink{0%,to{opacity:1}50%{opacity:.45}}.alarm-scroll{flex:1;overflow-y:auto}.alarm-scroll::-webkit-scrollbar{width:3px}.alarm-scroll::-webkit-scrollbar-track{background:var(--bg-card)}.alarm-scroll::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}.alarm-entry{display:flex;flex-direction:column;padding:7px 14px;border-bottom:1px solid var(--border-subtle);position:relative;font-size:13px;transition:background .3s ease}.alarm-entry:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.alarm-entry.ae-critical:before{background:var(--red)}.alarm-entry.ae-warning:before{background:var(--yellow)}.alarm-entry.ae-cleared:before{background:var(--text-dim)}.alarm-entry.ae-critical{background:#ff17440d;animation:alarm-blink .9s ease-in-out infinite}.alarm-entry.ae-critical:before{animation:alarm-accent-blink .9s ease-in-out infinite}.alarm-entry.ae-warning{background:#ffca280a}.alarm-entry.ae-cleared{opacity:.55}@keyframes alarm-blink{0%,to{background:#ff174414}50%{background:#ff174403}}@keyframes alarm-accent-blink{0%,to{opacity:1;box-shadow:2px 0 8px #ff174480}50%{opacity:.25;box-shadow:none}}.alarm-entry-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.alarm-level-tag{font-size:10px;font-weight:700;letter-spacing:1.5px;padding:2px 7px;border-radius:1px;flex-shrink:0}.ae-critical .alarm-level-tag{color:var(--red);background:#ff174426}.ae-warning .alarm-level-tag{color:var(--yellow);background:#ffca2826}.ae-cleared .alarm-level-tag{color:var(--text-dim);background:var(--border)}.alarm-msg{flex:1;color:var(--text-primary);font-size:11px;line-height:1.3}.ae-critical .alarm-msg{color:var(--red);font-weight:600}.ae-warning .alarm-msg{color:var(--yellow)}.alarm-time{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);margin-top:3px;font-variant-numeric:tabular-nums}.alarm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:70px;color:var(--text-dim);font-size:10px;letter-spacing:1px;gap:5px}.sys-status-bar{flex-shrink:0;border-top:1px solid var(--border);background:var(--bg-card);display:flex;flex-direction:column;overflow:hidden}.ssb-header{padding:6px 14px 4px;border-bottom:1px solid var(--border-subtle)}.ssb-title{font-size:11px;font-weight:700;letter-spacing:2px;color:var(--text-secondary)}.ssb-list{display:flex;flex-direction:column}.ssb-row{display:flex;align-items:center;padding:5px 14px;gap:8px;border-left:2px solid transparent;min-height:30px;transition:all .4s ease}.ssb-row.ssb-warning{border-left-color:var(--yellow);background:#ffca280a}.ssb-row.ssb-critical{border-left-color:var(--red);background:#ff17440d;animation:ssb-row-blink .9s ease-in-out infinite}@keyframes ssb-row-blink{0%,to{background:#ff17440f}50%{background:#ff174403}}.ssb-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;transition:background .4s ease,box-shadow .4s ease}.ssb-name{font-size:11px;letter-spacing:1px;color:var(--text-secondary);flex:1}.ssb-status{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1px;flex-shrink:0;min-width:32px;text-align:right;transition:color .4s ease}.health-card{display:flex;flex-direction:column;align-items:center;padding:8px 14px 10px;border-top:1px solid var(--border);gap:6px;width:100%;flex-shrink:0}.health-label{font-size:8px;font-weight:700;letter-spacing:2.5px;color:var(--text-dim)}.health-score-number{font-family:var(--font-mono);font-size:28px;line-height:1;transition:color .5s ease,text-shadow .5s ease}.health-grade{font-size:9px;font-weight:700;letter-spacing:2px;transition:color .5s ease}.health-bar-wrapper{width:100%;max-width:220px}.health-bar-track{width:100%;height:8px;background:var(--border);border-radius:2px;overflow:hidden;position:relative}.health-bar-fill{height:100%;border-radius:2px;transition:width 1s ease,background .5s ease}.health-indicators{display:flex;gap:5px;width:100%;max-width:240px;padding-top:3px}.health-param-dot{flex:1;height:3px;border-radius:2px;transition:background .5s ease}.bottom-trends{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--gap);background:var(--bg-panel);border-top:1px solid var(--border-mid);overflow:hidden}.chart-panel{display:flex;flex-direction:column;border-right:1px solid var(--border-subtle);overflow:hidden}.chart-panel:last-child{border-right:none}.chart-panel-label{display:flex;align-items:center;gap:7px;padding:5px 10px 3px;font-size:9px;font-weight:700;letter-spacing:2px;color:var(--text-dim);flex-shrink:0;border-bottom:1px solid var(--border-subtle)}.chart-legend-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.chart-legend-items{display:flex;gap:10px;margin-left:auto;align-items:center}.chart-legend-item{display:flex;align-items:center;gap:4px;font-size:9px;color:var(--text-secondary)}.chart-recharts{flex:1;min-height:0}.custom-tooltip{background:#060c18f5;border:1px solid var(--border-bright);padding:7px 11px;box-shadow:0 4px 20px #00000080}.custom-tooltip-row{display:flex;align-items:center;gap:7px;line-height:1.65}.custom-tooltip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.scenario-control{display:flex;align-items:center;padding:0 18px;gap:10px;background:var(--bg-panel);border-top:1px solid var(--border-mid);overflow:visible;flex-shrink:0;position:relative}.sc-label{font-size:8px;font-weight:700;letter-spacing:2.5px;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.sc-divider{width:1px;height:26px;background:var(--border);flex-shrink:0}.sc-selector{position:relative;flex-shrink:0}.sc-selector-btn{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:2px;border:1px solid;font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:1.5px;cursor:pointer;transition:all .2s ease;background:transparent;text-transform:uppercase;white-space:nowrap}.sc-selector-btn .sc-sel-arrow{font-size:8px;opacity:.6;transition:transform .2s ease}.sc-selector-btn.open .sc-sel-arrow{transform:rotate(180deg)}.sc-flyout{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--bg-panel);border:1px solid var(--border-mid);border-radius:3px;padding:6px;display:grid;grid-template-columns:repeat(3,1fr);gap:3px;z-index:200;box-shadow:0 -4px 20px #00000080;animation:flyout-in .15s ease;min-width:220px}@keyframes flyout-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.sc-flyout-label{grid-column:1 / -1;font-size:8px;font-weight:700;letter-spacing:2px;color:var(--text-dim);padding:0 2px 4px;border-bottom:1px solid var(--border);margin-bottom:2px}.sc-btn{padding:5px 10px;border-radius:2px;border:1px solid;font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:1.5px;cursor:pointer;transition:all .2s ease;background:transparent;text-transform:uppercase;white-space:nowrap;text-align:center}.sc-buttons{display:flex;gap:6px;align-items:center}.sc-btn:active{transform:scale(.97)}.sc-btn-idle{color:#4fc3f7;border-color:#4fc3f759}.sc-btn-normal{color:var(--green);border-color:#00e67659}.sc-btn-warning{color:var(--yellow);border-color:#ffca2859}.sc-btn-failure{color:var(--red);border-color:#ff174459}.sc-btn-lowoil{color:#ff7043;border-color:#ff704359}.sc-btn-cooling{color:#f06292;border-color:#f0629259}.sc-btn-idle.active{background:#4fc3f71f;border-color:#4fc3f7;box-shadow:0 0 14px #4fc3f740}.sc-btn-normal.active{background:#00e67624;border-color:var(--green);box-shadow:0 0 14px #00e67640}.sc-btn-warning.active{background:#ffca2824;border-color:var(--yellow);box-shadow:0 0 14px #ffca2840}.sc-btn-failure.active{background:#ff174424;border-color:var(--red);box-shadow:0 0 14px #ff174440;animation:btn-fail-pulse 1s ease-in-out infinite}.sc-btn-lowoil.active{background:#ff70431f;border-color:#ff7043;box-shadow:0 0 14px #ff704340;animation:btn-fail-pulse 1s ease-in-out infinite}.sc-btn-cooling.active{background:#f062921f;border-color:#f06292;box-shadow:0 0 14px #f0629240;animation:btn-warn-pulse 1.2s ease-in-out infinite}@keyframes btn-fail-pulse{0%,to{box-shadow:0 0 14px #ff174440}50%{box-shadow:0 0 26px #ff174480}}@keyframes btn-warn-pulse{0%,to{box-shadow:0 0 10px #f0629233}50%{box-shadow:0 0 22px #f0629273}}.sc-btn-idle:hover{background:#4fc3f714}.sc-btn-normal:hover{background:#00e67614}.sc-btn-warning:hover{background:#ffca2814}.sc-btn-failure:hover{background:#ff174414}.sc-btn-lowoil:hover{background:#ff704314}.sc-btn-cooling:hover{background:#f0629214}.sc-auto-btn{padding:5px 14px;border-radius:2px;border:1px solid rgba(0,212,255,.35);background:transparent;font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:2px;color:var(--cyan);cursor:pointer;transition:all .2s ease}.sc-auto-btn:hover{background:#00d4ff14}.sc-auto-btn.active{background:#00d4ff24;border-color:var(--cyan);box-shadow:0 0 12px #00d4ff40}.sc-cinema-btn{padding:5px 14px;border-radius:2px;border:1px solid rgba(180,120,255,.4);background:transparent;font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:2px;color:#c084fc;cursor:pointer;transition:all .2s ease}.sc-cinema-btn:hover{background:#b478ff14}.sc-cinema-btn.active{background:#b478ff24;border-color:#c084fc;box-shadow:0 0 12px #b478ff4d;animation:cinema-pulse 2s ease-in-out infinite}.sc-cinema-btn:disabled{opacity:.45;cursor:not-allowed}@keyframes cinema-pulse{0%,to{box-shadow:0 0 12px #b478ff4d}50%{box-shadow:0 0 22px #b478ff8c}}.sc-demo-progress{display:flex;align-items:center;gap:8px;flex:1;overflow:hidden}.sc-demo-phase{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#c084fc;white-space:nowrap;flex-shrink:0}.sc-demo-bar{flex:1;height:3px;background:var(--border);border-radius:2px;overflow:hidden;max-width:200px}.sc-demo-fill{height:100%;background:#c084fc;border-radius:2px;transition:width 1s linear;box-shadow:0 0 6px #b478ff80}.sc-info{display:flex;align-items:center;flex:1;gap:6px;font-size:9px;color:var(--text-dim);letter-spacing:1px;overflow:hidden}.sc-info:before{content:"▸";font-size:8px;color:var(--text-dim);flex-shrink:0}.rpm-gauge-container{display:flex;flex-direction:column;align-items:center}.rpm-gauge-title{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-secondary);margin-bottom:2px}.no-select{-webkit-user-select:none;user-select:none}.sc-divider-push{margin-left:auto}.sc-config-btn{padding:5px 14px;border-radius:2px;border:1px solid rgba(0,212,255,.28);background:transparent;font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.sc-config-btn:hover{background:#00d4ff12;color:var(--cyan);border-color:#00d4ff80}.sc-config-btn.active{background:#00d4ff1f;border-color:var(--cyan);color:var(--cyan);box-shadow:0 0 12px #00d4ff33}.cfg-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#02060eb8;z-index:9500;display:flex;align-items:stretch;justify-content:flex-end;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cfg-panel{width:clamp(620px,72vw,980px);max-width:96vw;height:100%;background:var(--bg-panel);border-left:1px solid var(--border-bright);display:flex;flex-direction:column;overflow:hidden;box-shadow:-12px 0 44px #0000009e;animation:cfg-slide-in .22s ease-out}@keyframes cfg-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.cfg-header{display:flex;align-items:center;gap:12px;padding:0 20px;height:58px;background:var(--bg-base);border-bottom:1px solid var(--border-bright);flex-shrink:0}.cfg-header-icon{font-size:14px;color:var(--cyan);text-shadow:0 0 10px var(--cyan-glow);flex-shrink:0}.cfg-header-title{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:2px;color:var(--cyan);flex:1}.cfg-close-btn{background:transparent;border:1px solid var(--border-mid);color:var(--text-secondary);font-size:12px;width:26px;height:26px;border-radius:2px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.cfg-close-btn:hover{border-color:var(--red);color:var(--red)}.cfg-body{flex:1;overflow-y:auto;overflow-x:hidden}.cfg-body-modular{display:grid;grid-template-columns:220px 1fr;overflow:hidden}.cfg-module-nav{border-right:1px solid var(--border-subtle);background:color-mix(in srgb,var(--bg-card) 76%,transparent);padding:14px 10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.cfg-module-btn{border:1px solid var(--border-subtle);background:var(--bg-card);color:var(--text-secondary);font-size:11px;letter-spacing:1px;text-align:left;padding:10px 12px;cursor:pointer}.cfg-module-btn:hover{border-color:var(--border-bright);color:var(--text-main)}.cfg-module-active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg-card))}.cfg-module-content{overflow-y:auto;overflow-x:hidden;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.01),transparent 180px)}.cfg-body::-webkit-scrollbar{width:4px}.cfg-body::-webkit-scrollbar-track{background:var(--bg-base)}.cfg-body::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}@media (max-width: 1200px){.cfg-panel{width:min(86vw,900px)}.cfg-body-modular{grid-template-columns:200px 1fr}}@media (max-width: 980px){.cfg-panel{width:100vw;max-width:100vw}.cfg-body-modular{grid-template-columns:1fr}.cfg-module-nav{border-right:0;border-bottom:1px solid var(--border-subtle);flex-direction:row;flex-wrap:wrap;padding:10px}.cfg-module-content{padding:10px}.cfg-module-btn{flex:1 1 160px}}.cfg-section{padding:16px;display:flex;flex-direction:column;gap:12px;background:color-mix(in srgb,var(--bg-card) 82%,transparent);border:1px solid var(--border-subtle);border-radius:8px}.cfg-section-label{font-size:9px;font-weight:700;letter-spacing:2px;color:var(--text-dim);padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.cfg-divider{height:0;margin:2px 0;flex-shrink:0}.cfg-source-list{display:flex;flex-direction:column;gap:6px}.cfg-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.cfg-stat-badge{display:flex;flex-direction:column;gap:3px;padding:8px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:2px;min-width:0}.cfg-stat-label{font-size:8px;font-weight:700;letter-spacing:2px;color:var(--text-dim)}.cfg-stat-value{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cfg-stat-sim{border-color:#00d4ff59;background:#00d4ff0f}.cfg-stat-sim .cfg-stat-value{color:var(--cyan)}.cfg-stat-live{border-color:#00e67659;background:#00e6760f}.cfg-stat-live .cfg-stat-value{color:var(--green)}.cfg-source-btn{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:2px;cursor:pointer;transition:all .18s ease;text-align:left;width:100%}.cfg-source-btn:hover{background:var(--bg-card-hi);border-color:var(--border-mid)}.cfg-source-active{background:#00d4ff12;border-color:#00d4ff73;box-shadow:inset 0 0 0 1px #00d4ff1a}.cfg-source-icon{font-size:14px;color:var(--cyan);flex-shrink:0;width:18px;text-align:center}.cfg-source-active .cfg-source-icon{text-shadow:0 0 8px var(--cyan-glow)}.cfg-source-text{flex:1;display:flex;flex-direction:column;gap:2px}.cfg-source-label{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--text-primary)}.cfg-source-active .cfg-source-label{color:var(--cyan)}.cfg-source-desc{font-size:9px;color:var(--text-dim);letter-spacing:.5px}.cfg-source-check{color:var(--cyan);font-size:10px;flex-shrink:0;text-shadow:0 0 6px var(--cyan-glow)}.cfg-field{display:flex;flex-direction:column;gap:5px}.cfg-device-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cfg-meta-grid,.cfg-engine-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.cfg-endpoint-row{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:10px}.cfg-field-grow,.cfg-field-port{min-width:0}.cfg-field-label{font-size:8px;font-weight:700;letter-spacing:2px;color:var(--text-dim)}.cfg-input{background:var(--bg-base);border:1px solid var(--border-mid);border-radius:4px;color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:8px 11px;width:100%;outline:none;transition:border-color .15s ease}.cfg-input:focus{border-color:var(--cyan);box-shadow:0 0 0 1px #00d4ff26}.cfg-input-short{width:120px}.cfg-proto-row{display:flex;gap:5px}.cfg-proto-btn{flex:1;padding:5px 6px;background:var(--bg-base);border:1px solid var(--border);border-radius:2px;color:var(--text-secondary);font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:1px;cursor:pointer;transition:all .15s ease}.cfg-proto-btn:hover{border-color:var(--border-mid);color:var(--text-primary)}.cfg-proto-active{background:#00d4ff1a;border-color:#00d4ff80;color:var(--cyan)}.cfg-status-indicator{display:flex;align-items:center;gap:7px}.cfg-status-card{display:flex;align-items:center;min-height:34px;padding:0 10px;background:var(--bg-base);border:1px solid var(--border-mid);border-radius:2px}.cfg-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}@keyframes cfg-dot-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.75);opacity:.55}}.cfg-status-label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1.5px}.cfg-apply-btn{padding:9px 14px;background:transparent;border:1px solid rgba(0,212,255,.4);border-radius:4px;color:var(--cyan);font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:1.6px;cursor:pointer;transition:all .18s ease;width:100%}.cfg-apply-btn:hover:not(:disabled){background:#00d4ff1a;box-shadow:0 0 12px #00d4ff33}.cfg-apply-btn:disabled{opacity:.3;cursor:not-allowed}.cfg-danger-btn{padding:9px 12px;background:transparent;border:1px solid rgba(255,23,68,.35);border-radius:4px;color:var(--red);font-size:10px;font-weight:700;letter-spacing:1.2px;cursor:pointer;transition:all .18s ease}.cfg-danger-btn:hover:not(:disabled){background:#ff174414}.cfg-danger-btn:disabled{opacity:.35;cursor:not-allowed}.cfg-mode-row{display:flex;gap:8px}.cfg-mode-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 10px;background:var(--bg-card);border:1px solid var(--border);border-radius:2px;cursor:pointer;transition:all .18s ease;position:relative}.cfg-mode-btn:hover{background:var(--bg-card-hi);border-color:var(--border-mid)}.cfg-mode-sim.cfg-mode-active{background:#00d4ff14;border-color:#00d4ff80}.cfg-mode-live.cfg-mode-active{background:#00e67612;border-color:#00e67673}.cfg-mode-icon{font-size:16px;color:var(--text-secondary)}.cfg-mode-sim.cfg-mode-active .cfg-mode-icon{color:var(--cyan);text-shadow:0 0 8px var(--cyan-glow)}.cfg-mode-live.cfg-mode-active .cfg-mode-icon{color:var(--green);text-shadow:0 0 8px var(--green-glow)}.cfg-mode-text{display:flex;flex-direction:column;align-items:center;gap:2px}.cfg-mode-name{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-primary)}.cfg-mode-sub{font-size:8px;color:var(--text-dim);letter-spacing:.5px;text-align:center}.cfg-mode-check{position:absolute;top:6px;right:8px;font-size:9px}.cfg-mode-sim.cfg-mode-active .cfg-mode-check{color:var(--cyan)}.cfg-mode-live.cfg-mode-active .cfg-mode-check{color:var(--green)}.cfg-mode-warning{font-size:9px;color:var(--yellow);background:#ffca280f;border:1px solid rgba(255,202,40,.2);border-radius:2px;padding:7px 10px;letter-spacing:.5px;line-height:1.5}.cfg-engine-list{display:flex;flex-direction:column;gap:10px}.cfg-engine-card{display:flex;flex-direction:column;gap:10px;padding:10px;background:var(--bg-card);border:1px solid var(--border);border-radius:2px}.cfg-engine-live{border-color:#00e67666;box-shadow:inset 0 0 0 1px #00e67614}.cfg-engine-card-new{border-style:dashed}.cfg-engine-card-head,.cfg-engine-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.cfg-engine-id{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1.8px;color:var(--cyan)}.cfg-engine-live-btn{padding:5px 8px;background:transparent;border:1px solid var(--border-mid);border-radius:2px;color:var(--text-secondary);font-size:9px;font-weight:700;letter-spacing:1px;cursor:pointer}.cfg-engine-live-btn:hover{border-color:#00e67673;color:var(--green)}.cfg-meta-notice,.cfg-meta-error{font-size:9px;padding:7px 10px;border-radius:2px;line-height:1.5}.cfg-meta-notice{color:var(--green);background:#00e67612;border:1px solid rgba(0,230,118,.18)}.cfg-meta-error{color:var(--red);background:#ff17440f;border:1px solid rgba(255,23,68,.18)}.cfg-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--border);border-radius:2px;overflow:hidden;background:var(--border-subtle)}.cfg-info-row{display:flex;align-items:center;padding:7px 12px;background:var(--bg-card);gap:8px}.cfg-info-key{font-size:8px;font-weight:700;letter-spacing:2px;color:var(--text-dim);flex:1}.cfg-info-val{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1px;color:var(--text-primary);text-align:right;min-width:0}.cfg-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 16px;gap:2px;background:var(--bg-base);border-top:1px solid var(--border-subtle);flex-shrink:0}.cfg-footer-text{font-size:8px;letter-spacing:2px;color:var(--text-dim);font-weight:700}.cfg-footer-sub{font-size:9px;letter-spacing:2px;color:var(--cyan);opacity:.6}.bottom-trends{flex-shrink:0}.engine-selector{display:flex;align-items:center;gap:12px;padding:6px 18px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;height:var(--selector-h)}.es-label{font-family:var(--font-mono);font-size:9px;letter-spacing:2px;color:var(--text-dim);white-space:nowrap;flex-shrink:0}.es-tabs{display:flex;gap:4px}.es-tab{display:flex;align-items:center;gap:6px;padding:4px 12px;background:transparent;border:1px solid var(--border-mid);border-radius:2px;cursor:pointer;color:var(--text-secondary);font-family:var(--font-ui);font-size:11px;letter-spacing:1px;transition:all .15s}.es-tab:hover{border-color:var(--border-bright);color:var(--text-primary)}.es-tab-active{border-color:var(--cyan);background:#00d4ff14;color:var(--cyan);text-shadow:0 0 8px var(--cyan-glow)}.es-tab-icon{font-size:12px}.es-tab-label{font-weight:600}.es-tab-type{font-size:8px;letter-spacing:1px;opacity:.6}.es-tab-source{font-size:9px;letter-spacing:1px;padding:1px 5px;border-radius:2px;font-weight:700;margin-top:1px}.es-tab-live{background:#00e6761f;color:var(--green);border:1px solid rgba(0,230,118,.4)}.es-tab-sim{background:#546e7a1f;color:#546e7a;border:1px solid rgba(84,110,122,.3)}.es-tab-warn{background:#ff572224;color:#ff7043;border:1px solid rgba(255,87,34,.4)}.load-bar-container{padding:6px 8px 2px}.load-bar-track{position:relative;height:10px;background:#0a1628;border:1px solid var(--border-mid);border-radius:2px;overflow:hidden}.load-bar-fill{height:100%;border-radius:1px;transition:width .6s ease}.load-bar-overload-zone{position:absolute;right:0;top:0;width:9%;height:100%;background:#ff17441f;border-left:1px dashed rgba(255,23,68,.4)}.load-bar-mark{position:absolute;top:0;bottom:0;width:1px;background:#ffffff26}.load-bar-mark-35{left:31.8%}.load-bar-mark-75{left:68.2%}.load-bar-mark-90{left:81.8%}.load-bar-labels{display:flex;justify-content:space-between;padding:1px 0;font-size:8px;letter-spacing:1px;opacity:.7}.elp-big-load{display:flex;align-items:baseline;gap:6px;padding:4px 10px 6px;justify-content:center}.elp-load-value{font-family:var(--font-mono);font-size:28px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.elp-load-unit{font-size:12px;opacity:.7}.elp-load-cat{font-family:var(--font-mono);font-size:10px;letter-spacing:2px;margin-left:4px}.elp-efficiency-row{display:flex;align-items:center;gap:8px;padding:4px 8px}.elp-eff-label{font-size:9px;letter-spacing:1px;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.elp-eff-bar-wrap{flex:1;display:flex;align-items:center;gap:6px}.elp-eff-bar-track{flex:1;height:6px;background:#0a1628;border:1px solid var(--border-mid);border-radius:2px;overflow:hidden}.elp-eff-bar-fill{height:100%;border-radius:1px;transition:width .6s}.elp-eff-value{font-family:var(--font-mono);font-size:10px;color:var(--text-primary);white-space:nowrap}.fuel-gauge-wrap{padding:3px 8px 0;display:flex;flex-direction:column;align-items:center}.fuel-gauge-arc-label{font-size:8px;letter-spacing:2px;color:var(--text-dim)}.fuel-radial-wrap{position:relative;width:100%}.fuel-arc-svg{width:100%;max-width:112px;display:block;margin:0 auto}.fuel-arc-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:4px}.fuel-arc-val{font-family:var(--font-mono);font-size:20px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.fuel-arc-unit{font-size:9px;opacity:.7}.fcp-row{display:flex;justify-content:space-between;align-items:baseline;padding:2px 8px;border-bottom:1px solid var(--border-subtle)}.fcp-label{font-size:9px;font-weight:600;letter-spacing:1px;color:var(--text-secondary)}.fcp-value{font-family:var(--font-mono);font-size:13px;color:var(--text-primary);font-variant-numeric:tabular-nums}.fcp-unit{font-size:9px;opacity:.7;margin-left:2px}.fcp-range-row{display:flex;gap:3px;padding:4px 8px 2px}.fcp-range-btn{flex:1;background:transparent;border:1px solid var(--border-mid);color:var(--text-secondary);font-family:var(--font-ui);font-size:8px;letter-spacing:1px;padding:2px 0;cursor:pointer;border-radius:2px;transition:background .15s,color .15s}.fcp-range-btn:hover{background:#00d4ff0d;color:var(--text-primary)}.fcp-range-active{background:#00d4ff1a;border-color:var(--cyan);color:var(--cyan)}.fcp-loading{font-size:9px;color:var(--text-dim);text-align:center;padding:6px;letter-spacing:1px}.ops-state-block{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#0003;border-radius:2px;margin:6px 6px 2px}.ops-state-dot-wrap{flex-shrink:0}.ops-state-dot{width:16px;height:16px;border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}.ops-state-info{display:flex;flex-direction:column;gap:2px}.ops-state-label{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1px}.fcp-note{margin-top:3px;font-size:8px;line-height:1.2;color:var(--text-dim)}.fcp-panel .sp-body{overflow:hidden;min-height:0;padding-bottom:2px}.fcp-matrix{display:grid;gap:1px;margin:0 6px;background:var(--border-subtle)}.fcp-matrix-2x2{grid-template-columns:1fr 1fr}.fcp-matrix-3col{grid-template-columns:1fr 1fr 1fr}.fcp-matrix-compact{grid-template-columns:1fr 1fr}.fcp-matrix-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.fcp-cell{display:flex;flex-direction:column;gap:1px;padding:4px 6px;background:var(--bg-card);min-height:30px}.fcp-cell-label{font-size:9px;font-weight:700;letter-spacing:1.1px;color:var(--text-secondary)}.fcp-cell-value{font-family:var(--font-mono);font-size:13px;color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.fcp-panel .sp-section{padding:5px 10px 3px;font-size:10px;letter-spacing:1.6px}.fcp-panel .fcp-range-row{padding:3px 4px 1px;gap:2px}.fcp-panel .fcp-range-btn{font-size:9px;padding:2px 0}@media (max-height: 800px){.fcp-panel .fcp-note{display:none}.fcp-panel .fuel-arc-svg{max-width:100px}.fcp-panel .fuel-arc-val{font-size:18px}.fcp-panel .fcp-cell{min-height:27px;padding:3px 5px}.fcp-panel .fcp-cell-label{font-size:8.5px;letter-spacing:.95px}.fcp-panel .fcp-cell-value{font-size:12px}}.ops-session-id{font-family:var(--font-mono);font-size:8px;color:var(--text-dim);letter-spacing:1px}.ops-protection-list,.ops-anomaly-list{padding:2px 6px}.prot-event{display:flex;align-items:flex-start;gap:6px;padding:3px 4px;border:1px solid rgba(255,23,68,.3);border-radius:2px;margin-bottom:3px;background:#ff17440d}.prot-badge{font-family:var(--font-mono);font-size:8px;background:var(--red);color:#fff;padding:1px 4px;border-radius:2px;flex-shrink:0}.prot-msg{font-size:9px;color:var(--text-primary);line-height:1.3}.ops-anomaly-item{display:flex;gap:6px;align-items:flex-start;padding:2px 4px;margin-bottom:2px}.ops-anomaly-icon{color:var(--yellow);font-size:10px;flex-shrink:0;margin-top:1px}.ops-anomaly-msg{font-size:9px;color:var(--text-secondary);line-height:1.3}.ops-all-clear{display:flex;align-items:center;gap:6px;padding:8px 10px;color:var(--green);font-size:10px;letter-spacing:1px}.sensor-header{display:flex;align-items:center;gap:8px;padding:4px 6px}.sensor-quality-ring-wrap{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.sensor-quality-svg{width:72px;height:72px}.sensor-quality-label{font-size:9px;letter-spacing:1.5px;color:var(--text-dim);margin-top:1px}.sensor-status-block{display:flex;flex-direction:column;gap:4px}.sensor-status-badge{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:2px;padding:2px 8px;border:1px solid;border-radius:2px;background:transparent}.sensor-last-valid{font-family:var(--font-mono);font-size:9px;color:var(--text-dim)}.sensor-issues-list{padding:2px 6px}.sensor-issue-row{display:flex;gap:6px;align-items:baseline;padding:1px 0;border-bottom:1px solid var(--border-subtle)}.sensor-issue-type{font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:1px;flex-shrink:0;min-width:36px}.sensor-issue-msg{font-size:9px;color:var(--text-secondary)}.sensor-all-ok{display:flex;align-items:center;gap:6px;padding:6px 10px;font-size:9px;color:var(--text-secondary);letter-spacing:1px}.sensor-completeness-bar-wrap{display:flex;align-items:center;gap:6px;padding:4px 8px 6px}.sensor-completeness-track{flex:1;height:6px;background:#0a1628;border:1px solid var(--border-mid);border-radius:2px;overflow:hidden}.sensor-completeness-fill{height:100%;border-radius:1px;transition:width .5s}.sensor-completeness-pct{font-family:var(--font-mono);font-size:10px;color:var(--text-primary);min-width:30px;font-variant-numeric:tabular-nums}.event-log-panel{display:flex;flex-direction:column;background:var(--bg-panel);border-top:1px solid var(--border-mid);border-bottom:1px solid var(--border-mid);max-height:260px;overflow:hidden}.ev-header{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.ev-header-title{font-family:var(--font-mono);font-size:9px;letter-spacing:2px;color:var(--text-secondary)}.ev-header-count{font-family:var(--font-mono);font-size:9px;color:var(--text-dim)}.ev-list{overflow-y:auto;flex:1}.ev-list::-webkit-scrollbar{width:3px}.ev-list::-webkit-scrollbar-track{background:var(--bg-panel)}.ev-list::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}.ev-row{display:flex;align-items:flex-start;gap:6px;padding:4px 8px;border-bottom:1px solid var(--border-subtle)}.ev-row:hover{background:#ffffff05}.ev-icon{font-size:12px;flex-shrink:0;margin-top:1px}.ev-body{flex:1;min-width:0}.ev-description{font-size:10px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev-meta{display:flex;gap:6px;align-items:center;margin-top:1px}.ev-time{font-family:var(--font-mono);font-size:8px;color:var(--text-dim)}.ev-engine{font-family:var(--font-mono);font-size:8px;color:var(--cyan);background:#00d4ff14;padding:0 3px;border-radius:2px}.ev-val{font-family:var(--font-mono);font-size:8px;color:var(--text-secondary)}.ev-empty{padding:12px;text-align:center;font-size:10px;color:var(--text-dim)}.hist-loading-placeholder{background:var(--bg-panel);border-top:1px solid var(--border-mid);padding:24px;text-align:center;font-size:10px;letter-spacing:2px;color:var(--text-dim);flex-shrink:0}.historical-charts{background:var(--bg-panel);border-top:1px solid var(--border-mid);padding:8px 12px;flex-shrink:0}.hist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.hist-title{font-family:var(--font-mono);font-size:10px;letter-spacing:2px;color:var(--cyan)}.hist-range-tabs{display:flex;gap:4px}.hist-range-btn{padding:3px 10px;background:transparent;border:1px solid var(--border-mid);border-radius:2px;cursor:pointer;color:var(--text-secondary);font-family:var(--font-ui);font-size:9px;letter-spacing:1px;transition:all .12s}.hist-range-btn:hover{border-color:var(--border-bright);color:var(--text-primary)}.hist-range-active{border-color:var(--cyan);background:#00d4ff14;color:var(--cyan)}.hist-charts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.hist-chart-block{background:var(--bg-card);border:1px solid var(--border);border-radius:2px;padding:6px}.hist-chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.hist-chart-title{font-family:var(--font-mono);font-size:8px;letter-spacing:1px;color:var(--text-secondary)}.hist-chart-loading{font-family:var(--font-mono);font-size:8px;color:var(--cyan);animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.right-column{display:flex;flex-direction:column;gap:0;overflow:hidden}.right-column>.alarm-panel{flex:1;min-height:0}.right-column>.event-log-panel{flex-shrink:0}.right-column>.system-status-bar{flex-shrink:0}.screen-content{flex:1;overflow:hidden;display:flex;min-height:0}.screen-nav{display:flex;align-items:stretch;background:var(--bg-base);border-bottom:1px solid var(--border-mid);flex-shrink:0;height:36px}.screen-nav-btn{display:flex;align-items:center;gap:8px;height:100%;padding:0 22px;background:transparent;border:none;border-right:1px solid var(--border-subtle);border-bottom:2px solid transparent;cursor:pointer;color:var(--text-secondary);font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:1.5px;transition:color .15s ease,background .15s ease,border-color .15s ease;white-space:nowrap;position:relative}.screen-nav-btn:hover{color:var(--text-primary);background:#ffffff06}.screen-nav-btn.screen-nav-active{color:var(--cyan);border-bottom-color:var(--cyan);background:#00d4ff0d;text-shadow:0 0 10px var(--cyan-glow)}.screen-nav-icon{font-size:13px;opacity:.75;flex-shrink:0}.screen-nav-label{flex-shrink:0}.screen-nav-badge{background:var(--red);color:#fff;font-size:9px;font-weight:800;padding:1px 5px;border-radius:10px;min-width:16px;text-align:center;flex-shrink:0;animation:badge-count-blink .8s ease-in-out infinite}.alarm-panel.has-critical{border:1px solid rgba(255,23,68,.6);box-shadow:inset 0 0 0 1px #ff17441f;animation:alarm-panel-pulse .9s ease-in-out infinite}.alarm-panel.has-warning{border:1px solid rgba(255,202,40,.45);box-shadow:inset 0 0 0 1px #ffca2814}@keyframes alarm-panel-pulse{0%,to{box-shadow:inset 0 0 0 1px #ff17441f,0 0 10px #ff174433}50%{box-shadow:inset 0 0 0 1px #ff174447,0 0 22px #ff174473}}.cp-row{display:flex;align-items:center;padding:9px 14px;border-left:2px solid transparent;min-height:46px;gap:8px;transition:border-color .4s ease,background .4s ease}.cp-row.spr-warning{border-left-color:var(--yellow);background:#ffca280a}.cp-row.spr-critical{border-left-color:var(--red);background:#ff17440d;animation:row-blink .9s ease-in-out infinite}.cp-label{font-size:13px;font-weight:600;letter-spacing:1px;color:var(--text-secondary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cp-value-wrap{display:flex;align-items:baseline;gap:4px;flex-shrink:0}.cp-value{font-family:var(--font-mono);font-size:24px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;transition:color .4s ease,text-shadow .4s ease}.cp-unit{font-size:11px;font-weight:700;color:var(--text-secondary);letter-spacing:1px;text-transform:uppercase}.cp-cyl-badge{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:1px;background:#00d4ff1f;color:#00d4ff;border:1px solid rgba(0,212,255,.35);padding:3px 8px;border-radius:1px;flex-shrink:0;min-width:46px;text-align:center}.ov-layout{display:grid;grid-template-columns:296px 1fr 320px;width:100%;overflow:hidden;gap:1px;background:var(--border)}.ov-left{display:flex;flex-direction:column;align-items:center;background:var(--bg-panel);overflow:hidden}.ov-rpm-wrap{display:flex;flex-direction:column;align-items:center;width:100%;flex-shrink:0;padding:10px 0 4px}.ov-rpm-title{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-secondary);margin-bottom:4px}.ov-load-section{padding:10px 16px 6px;border-top:1px solid var(--border);width:100%;flex-shrink:0}.ov-load-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.ov-load-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-secondary)}.ov-load-cat{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:2px}.ov-load-track{position:relative;height:14px;background:#0a1628;border:1px solid var(--border-mid);border-radius:2px;overflow:hidden}.ov-load-fill{height:100%;border-radius:1px;transition:width .6s ease}.ov-load-pct-row{margin-top:6px;display:flex;justify-content:center}.ov-load-pct{font-family:var(--font-mono);font-size:36px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;transition:color .4s ease}.ov-load-pct-unit{font-size:18px;margin-left:2px;opacity:.8}.ov-running-hours{display:flex;flex-direction:column;align-items:center;padding:8px 16px 10px;border-top:1px solid var(--border);width:100%;flex-shrink:0}.ov-rh-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-secondary)}.ov-rh-value{font-family:var(--font-mono);font-size:22px;color:var(--cyan);text-shadow:0 0 12px var(--cyan-glow);font-variant-numeric:tabular-nums;line-height:1.1}.ov-rh-unit{font-size:11px;color:var(--text-secondary);letter-spacing:1px}.ov-center{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1px;overflow:hidden;background:var(--border)}.ov-right{display:flex;flex-direction:column;background:var(--bg-panel);border-left:1px solid var(--border-mid);overflow:hidden}.ov-right>.alarm-panel{flex:1;min-height:0}.ov-right>.sys-status-bar{flex-shrink:0}.detail-layout{display:flex;flex-direction:column;width:100%;overflow:hidden}.detail-grid{display:grid;grid-template-columns:var(--left-w) 1fr var(--right-w);flex:1;overflow:hidden;gap:var(--gap);background:var(--border)}.detail-center{display:grid;grid-template-columns:1fr 1fr 1fr 1.35fr;grid-template-rows:1fr 1fr;gap:var(--gap);overflow:hidden;position:relative;background:var(--border)}.perf-layout{display:flex;flex-direction:column;width:100%;overflow:hidden}.perf-panels{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;flex:1;min-height:0;gap:var(--gap);background:var(--border);overflow:hidden}.perf-layout>.bottom-trends{flex-shrink:0}.events-layout{display:grid;grid-template-columns:1fr 320px;width:100%;overflow:hidden;gap:1px;background:var(--border)}.events-main{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-panel)}.events-main>.event-log-panel{flex-shrink:0;max-height:320px}.events-main>.historical-charts,.events-main>.hist-loading-placeholder{flex:1;min-height:0;overflow-y:auto}.events-right{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-panel);border-left:1px solid var(--border-mid)}.events-right>.alarm-panel{flex:1;min-height:0}:root{--t-hero: 52px;--t-primary: 44px;--t-large: 36px;--t-medium: 24px;--t-label: 14px;--t-unit: 12px;--t-header: 11px;--t-meta: 10px;--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 32px;--panel-header-h: 32px;--panel-padding: 14px;--sidebar-w: 300px;--det-sidebar-w: 280px}.vd{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--sp-lg) var(--sp-md);background:var(--bg-card);border-left:3px solid transparent;gap:6px;transition:border-color .4s ease,background .4s ease;overflow:hidden}.vd.vd-warning{border-left-color:var(--yellow);background:#ffca2805}.vd.vd-critical{border-left-color:var(--red);background:#ff174406;animation:vd-crit .9s ease-in-out infinite}@keyframes vd-crit{0%,to{background:#ff174407}50%{background:#ff174402}}.vd-lg .vd-value{font-size:52px}.vd-md .vd-value{font-size:40px}.vd-sm .vd-value{font-size:28px}.vd-label{font-family:var(--font-ui);font-size:var(--t-label);font-weight:700;letter-spacing:2px;color:var(--text-secondary);text-transform:uppercase;text-align:center;line-height:1}.vd-value{font-family:var(--font-mono);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;transition:color .4s ease,text-shadow .4s ease;text-align:center}.vd-unit{font-family:var(--font-ui);font-size:var(--t-unit);font-weight:700;color:var(--text-secondary);letter-spacing:3px;text-transform:uppercase;text-align:center}.vdr{display:flex;align-items:center;padding:10px var(--panel-padding);border-left:2px solid transparent;min-height:42px;gap:8px;transition:all .4s ease}.vdr.vdr-warning{border-left-color:var(--yellow);background:#ffca280a}.vdr.vdr-critical{border-left-color:var(--red);background:#ff17440d;animation:row-blink .9s ease-in-out infinite}.vdr-label{font-size:var(--t-label);font-weight:600;letter-spacing:1px;color:var(--text-secondary);flex:1;white-space:nowrap;text-transform:uppercase}.vdr-right{display:flex;align-items:baseline;gap:5px;flex-shrink:0}.vdr-value{font-family:var(--font-mono);font-size:var(--t-medium);font-weight:700;font-variant-numeric:tabular-nums;transition:color .4s ease}.vdr-unit{font-family:var(--font-ui);font-size:var(--t-unit);font-weight:700;color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase}.vd-hero{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--sp-md)}.vd-hero-label{font-size:var(--t-label);font-weight:700;letter-spacing:2px;color:var(--text-secondary);text-transform:uppercase}.vd-hero-value{font-family:var(--font-mono);font-size:64px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.vd-hero-unit{font-size:16px;font-weight:700;color:var(--text-secondary);letter-spacing:3px;text-transform:uppercase}.vd-hero-sub{font-size:var(--t-unit);color:var(--text-dim);letter-spacing:1px;margin-top:2px}.ov-layout{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(0,1.45fr) minmax(292px,.88fr);width:100%;height:100%;overflow:hidden;gap:0;background:var(--border)}.ov-left{display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-panel);border-right:1px solid var(--border-mid);overflow:hidden;gap:0;padding:var(--sp-lg) var(--sp-md)}.ov-rpm-block{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:100%}.ov-rpm-label{font-family:var(--font-ui);font-size:var(--t-header);font-weight:700;letter-spacing:2.5px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:var(--sp-sm);text-align:center}.ov-load-block{width:100%;max-width:340px;padding:var(--sp-md) 0;border-top:1px solid var(--border);margin-top:var(--sp-md);flex-shrink:0}.ov-load-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-sm)}.ov-load-title{font-size:var(--t-unit);font-weight:700;letter-spacing:2.5px;color:var(--text-secondary);text-transform:uppercase}.ov-load-cat{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.ov-load-bar-track{position:relative;height:16px;background:#060d1c;border:1px solid var(--border-mid);border-radius:2px;overflow:hidden}.ov-load-bar-fill{height:100%;border-radius:1px;transition:width .6s ease,background .4s ease}.ov-load-overload-zone{position:absolute;right:0;top:0;width:9%;height:100%;background:#ff17441a;border-left:1px dashed rgba(255,23,68,.35)}.ov-load-mark{position:absolute;top:0;bottom:0;width:1px;background:#ffffff1f}.ov-load-pct-wrap{display:flex;align-items:baseline;justify-content:center;gap:4px;margin-top:var(--sp-sm)}.ov-load-pct{font-family:var(--font-mono);font-size:48px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums;transition:color .4s ease}.ov-load-pct-unit{font-family:var(--font-mono);font-size:22px;font-weight:700;opacity:.75;line-height:1}.ov-hours-block{display:flex;flex-direction:column;align-items:center;padding:var(--sp-sm) 0;border-top:1px solid var(--border);margin-top:var(--sp-sm);width:100%;max-width:340px;flex-shrink:0}.ov-hours-label{font-size:var(--t-unit);font-weight:700;letter-spacing:2px;color:var(--text-secondary);text-transform:uppercase}.ov-hours-value{font-family:var(--font-mono);font-size:26px;color:var(--cyan);text-shadow:0 0 14px var(--cyan-glow);font-variant-numeric:tabular-nums;line-height:1.15}.ov-hours-unit{font-size:var(--t-unit);color:var(--text-secondary);letter-spacing:2px;text-transform:uppercase}.ov-center{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-base)}.ov-center-header{display:flex;align-items:center;padding:6px 18px;background:var(--bg-panel);border-bottom:1px solid var(--border-mid);flex-shrink:0}.ov-center-title{font-size:var(--t-header);font-weight:700;letter-spacing:3px;color:var(--text-secondary);text-transform:uppercase}.ov-params-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:1px;flex:1;overflow:hidden;background:var(--border-subtle)}.ov-right{display:grid;grid-template-rows:minmax(0,1.35fr) minmax(198px,.82fr);background:var(--bg-panel);border-left:1px solid var(--border-mid);overflow:hidden}.ov-right>.alarm-panel,.ov-right>.sys-status-bar{min-height:0}.ov-right>.sys-status-bar{border-top:1px solid var(--border-mid)}.ov-right .ssb-header{padding:5px 12px 4px}.ov-right .ssb-title{font-size:10px;letter-spacing:1.8px}.ov-right .ssb-list{display:grid;grid-template-columns:1fr}.ov-right .ssb-row{min-height:27px;padding:4px 12px;gap:7px}.ov-right .ssb-name,.ov-right .ssb-status{font-size:10px}.det2-layout{display:grid;grid-template-columns:1fr 1fr 1fr var(--det-sidebar-w);width:100%;height:100%;overflow:hidden;gap:0;background:var(--border);position:relative}.det2-col{display:flex;flex-direction:column;background:var(--bg-base);border-right:1px solid var(--border-mid);overflow:hidden}.det2-col-header{display:flex;align-items:center;padding:6px 14px;background:var(--bg-base);border-bottom:1px solid var(--border-mid);flex-shrink:0}.det2-col-title{font-size:var(--t-header);font-weight:700;letter-spacing:2.5px;color:var(--cyan);text-transform:uppercase;opacity:.8}.det2-col-body{display:flex;flex-direction:column;flex:1;overflow:hidden;gap:1px;background:var(--border-subtle);min-height:0;align-items:stretch;padding-bottom:1px}.det2-col-body>.system-panel,.det2-col-body>.det2-engine-stack{flex:1 1 0;min-height:0}.det2-col-body-exhaust{display:grid;grid-template-rows:minmax(348px,1.82fr) minmax(104px,.64fr) minmax(88px,.5fr)}.det2-col-body-exhaust>.system-panel{min-height:0}.det2-col-body-exhaust .sp-cyl-grid{gap:1px;background:var(--border-subtle)}.det2-col-body-exhaust .sp-cyl-row{min-height:42px;padding:6px 10px}.det2-col-body-exhaust .sp-section{padding:4px 12px 3px}.det2-col-body>.health-card{flex:0 0 auto}.det2-col-body-engine{display:grid;grid-template-rows:minmax(112px,.8fr) minmax(112px,.8fr) minmax(220px,1.25fr)}.det2-engine-stack{display:grid;grid-template-rows:minmax(138px,1fr) 126px;gap:1px;background:var(--border-subtle)}.det2-engine-stack>.system-panel{min-height:0}.det2-engine-stack>.health-card{width:100%;border-top:none;background:var(--bg-card);overflow:hidden;min-height:0}.det2-engine-stack .sp-bigval-row{padding:8px 8px 6px}.det2-engine-stack .sp-bigval-value{font-size:30px}.det2-engine-stack .sp-bigval-unit{font-size:11px;letter-spacing:2px}.det2-sidebar{display:flex;flex-direction:column;background:var(--bg-panel);overflow:hidden;min-height:0}.det2-sidebar>.alarm-panel{flex:0 0 62%;min-height:0}.det2-sidebar>.sys-status-bar{flex:0 0 38%;min-height:0}.det2-sidebar>.alarm-panel{flex:1;min-height:0}.det2-sidebar>.sys-status-bar{flex-shrink:0}.perf2-layout{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.perf2-panels{display:grid;grid-template-columns:.98fr 1.26fr .76fr;flex:1;min-height:0;overflow:hidden;gap:1px;background:var(--border-subtle)}.perf2-block{display:flex;flex-direction:column;background:var(--bg-panel);overflow:hidden}.perf2-block-header{display:flex;align-items:center;padding:6px 14px;background:var(--bg-base);border-bottom:1px solid var(--border-mid);flex-shrink:0}.perf2-block-title{font-size:var(--t-header);font-weight:700;letter-spacing:2.5px;color:var(--cyan);text-transform:uppercase;opacity:.8}.perf2-block>.system-panel{flex:1;min-height:0}.perf2-stack{gap:1px;background:var(--border-subtle)}.perf2-stack>.system-panel{flex:1;min-height:0}.perf2-charts{display:grid;grid-template-columns:1.05fr 1fr 1fr;height:var(--trends-h);flex-shrink:0;background:var(--border-mid);border-top:1px solid var(--border-mid);gap:1px}.evt2-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,var(--sidebar-w));grid-template-rows:minmax(0,.58fr) minmax(0,.42fr);width:100%;height:100%;overflow:hidden;gap:0;background:var(--border)}.evt2-charts{grid-column:1;grid-row:1;overflow:hidden;background:var(--bg-panel);border-right:1px solid var(--border-mid);border-bottom:1px solid var(--border-mid);min-height:0}.evt2-charts>*,.evt2-charts .historical-charts{height:100%}.evt2-log{grid-column:1;grid-row:2;overflow:hidden;background:var(--bg-panel);border-right:1px solid var(--border-mid);min-height:0}.evt2-log>.event-log-panel{height:100%;max-height:none;border-top:none;border-bottom:none}.evt2-sidebar{grid-column:2;grid-row:1 / 3;display:flex;flex-direction:column;background:var(--bg-panel);overflow:hidden;border-left:1px solid var(--border-mid);min-height:0}.evt2-sidebar>.alarm-panel{flex:1;min-height:0}.vd.vd-normal .vd-value{text-shadow:none}.system-panel{border-width:1px}@media (min-width: 1600px){body:after{display:none}}@media (max-height: 800px){:root{--trends-h: 142px;--panel-padding: 10px}.sp-row.sp-row-stacked{min-height:58px;padding:5px 12px 7px}.sp-bigval-row{padding:6px 10px 5px}.det2-engine-stack>.health-card{min-height:0;padding:6px 12px 8px;gap:4px}.det2-layout .sp-row.sp-row-compact{min-height:62px;padding:6px 10px}.det2-engine-stack .health-score-number{font-size:24px}.det2-engine-stack .sp-bigval-value{font-size:26px}.det2-engine-stack .health-bar-wrapper,.det2-engine-stack .health-indicators{max-width:100%}.det2-layout .sp-value,.det2-layout .sp-io-pair .sp-value,.det2-layout .sp-cyl-row .sp-value{font-size:22px}.det2-layout .sp-label{font-size:11px}.det2-layout .sp-unit{font-size:10px}.det2-col-body-exhaust{grid-template-rows:minmax(304px,1.7fr) minmax(94px,.6fr) minmax(82px,.46fr)}.det2-col-body-exhaust .sp-cyl-row{min-height:38px;padding:5px 10px}.perf2-panels{grid-template-columns:1.05fr .95fr .9fr}.perf2-charts{grid-template-columns:1fr 1fr 1fr}.evt2-layout{grid-template-columns:minmax(0,1fr) minmax(280px,var(--sidebar-w));grid-template-rows:minmax(0,.56fr) minmax(0,.44fr)}.vd-lg .vd-value{font-size:40px}.vd-label{font-size:12px}.vd-unit{font-size:11px}.ov-load-pct{font-size:38px}.ov-rpm-label{font-size:10px}.perf2-charts{height:var(--trends-h)}.det2-col-header,.perf2-block-header,.ov-center-header{padding:4px 12px}}@media (max-width: 1400px){.ov-layout{grid-template-columns:272px minmax(0,1fr) 248px}.det2-layout{grid-template-columns:1fr 1fr 1fr 240px}}.det2-col-header,.perf2-block-header,.ov-center-header{height:32px;box-sizing:border-box}.theme-toggle{display:flex;align-items:center;gap:5px;padding:4px 10px;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:3px;color:var(--text-secondary);font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:1.5px;cursor:pointer;transition:color .2s,border-color .2s,background .2s;flex-shrink:0}.theme-toggle:hover{color:var(--cyan);border-color:var(--cyan);background:#00d4ff0f}.theme-toggle-icon{font-size:13px;line-height:1}.theme-toggle-label{font-size:9px;letter-spacing:2px}.ss-user-block{display:flex;flex-direction:column;gap:1px;align-items:flex-end;flex-shrink:0}.ss-user-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.ss-user-name{font-size:11px;font-weight:700;color:var(--text-primary);letter-spacing:1px}.ss-user-role{font-size:9px;font-weight:700;letter-spacing:1.5px;padding:1px 5px;border-radius:2px}.ss-role-admin{color:var(--red);background:#e010301f}.ss-role-operator{color:var(--yellow);background:#d4a0001f}.ss-role-viewer{color:var(--cyan);background:#0096c71f}.ss-logout-btn{padding:4px 10px;background:transparent;border:1px solid var(--border-mid);border-radius:3px;color:var(--text-dim);font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:color .2s,border-color .2s;flex-shrink:0}.ss-logout-btn:hover{color:var(--red);border-color:var(--red)}@media (max-width: 1820px){.ss-brand-sub,.ss-clock-meta{display:none}.ss-right{gap:10px}}@media (max-width: 1640px){.ss-clock-sub{display:none}.ss-status-badge{padding:6px 16px;font-size:12px;letter-spacing:2px}.ss-clock{font-size:14px}.ss-clock-label{font-size:7px;letter-spacing:1.6px}.ss-brand-title{font-size:9px;letter-spacing:2px}}@media (max-width: 1500px){.ss-clock-viewer,.ss-vessel-info .ss-info-key{display:none}}.auth-loading-screen{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-base);gap:20px}.auth-loading-spinner{font-size:32px;color:var(--cyan);animation:spin-slow 2s linear infinite}@keyframes spin-slow{0%{transform:rotate(0);opacity:.4}50%{opacity:1}to{transform:rotate(360deg);opacity:.4}}.auth-loading-text{font-family:var(--font-mono);font-size:13px;letter-spacing:3px;color:var(--text-secondary)}.login-root{width:100vw;height:100vh;display:flex;overflow:hidden;background:var(--bg-base);position:relative}.login-theme-toggle{position:absolute;top:16px;right:20px;z-index:10;padding:6px 12px;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:3px;color:var(--text-secondary);font-family:var(--font-ui);font-size:16px;cursor:pointer;transition:color .2s,border-color .2s}.login-theme-toggle:hover{color:var(--cyan);border-color:var(--cyan)}.login-left{width:42%;min-width:340px;background:var(--bg-panel);border-right:1px solid var(--border-mid);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 48px;position:relative;overflow:hidden;flex-shrink:0}.login-brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:10px;z-index:1;max-width:380px}.login-brand-icon{font-size:48px;color:var(--cyan);text-shadow:0 0 24px var(--cyan-glow);line-height:1;margin-bottom:6px}.login-brand-name{font-family:var(--font-mono);font-size:28px;font-weight:700;color:var(--text-primary);letter-spacing:3px;line-height:1}.login-brand-sub{font-size:13px;font-weight:700;letter-spacing:4px;color:var(--cyan);text-shadow:0 0 10px var(--cyan-glow)}.login-brand-sep{width:60px;height:2px;background:var(--cyan);box-shadow:0 0 8px var(--cyan-glow);margin:6px 0}.login-brand-desc{font-size:13px;line-height:1.7;color:var(--text-secondary);max-width:340px}.login-brand-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.login-badge{font-size:10px;font-weight:700;letter-spacing:2px;padding:3px 10px;border-radius:2px;border:1px solid}.login-badge-green{color:var(--green);border-color:var(--green);background:#00b85a14}.login-badge-cyan{color:var(--cyan);border-color:var(--cyan);background:#0096c714}.login-badge-blue{color:var(--text-secondary);border-color:var(--border-mid)}.login-left-deco{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:space-evenly;pointer-events:none;opacity:.08}.login-deco-line{height:1px;background:var(--cyan);width:100%}.login-right{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 48px;gap:20px;background:var(--bg-base)}.login-card{width:100%;max-width:400px;background:var(--bg-panel);border:1px solid var(--border-mid);border-radius:4px;overflow:hidden}.login-card-header{padding:24px 28px 18px;border-bottom:1px solid var(--border)}.login-card-title{font-family:var(--font-mono);font-size:16px;font-weight:700;letter-spacing:3px;color:var(--text-primary)}.login-card-sub{font-size:12px;color:var(--text-dim);letter-spacing:1px;margin-top:4px}.login-form{padding:24px 28px;display:flex;flex-direction:column;gap:16px}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-secondary)}.login-input{width:100%;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border-mid);border-radius:3px;color:var(--text-primary);font-family:var(--font-ui);font-size:14px;font-weight:500;outline:none;transition:border-color .2s,box-shadow .2s}.login-input:focus{border-color:var(--cyan);box-shadow:0 0 0 2px #0096c726}.login-input::placeholder{color:var(--text-dim)}.login-input:disabled{opacity:.6;cursor:not-allowed}.login-pass-wrap{position:relative}.login-input-pass{padding-right:40px}.login-pass-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1;padding:2px;transition:color .2s}.login-pass-toggle:hover{color:var(--cyan)}.login-error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#e0103014;border:1px solid rgba(224,16,48,.35);border-radius:3px;color:var(--red);font-size:13px;font-weight:600}.login-error-icon{font-size:14px;flex-shrink:0}.login-btn{width:100%;padding:12px;background:var(--cyan);border:none;border-radius:3px;color:#fff;font-family:var(--font-ui);font-size:13px;font-weight:800;letter-spacing:3px;cursor:pointer;transition:opacity .2s,box-shadow .2s;margin-top:4px}.login-btn:hover:not(:disabled){opacity:.9;box-shadow:0 0 16px var(--cyan-glow)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-btn-loading .login-btn-spinner{display:inline-block;animation:spin-slow 1.2s linear infinite}.login-card-footer{display:flex;gap:8px;padding:12px 28px 16px;border-top:1px solid var(--border);align-items:center}.login-footer-role{font-size:9px;font-weight:700;letter-spacing:2px;padding:2px 8px;border-radius:2px;border:1px solid}.login-role-admin{color:var(--red);border-color:var(--red);background:#e0103014}.login-role-operator{color:var(--yellow);border-color:var(--yellow);background:#d4a00014}.login-role-viewer{color:var(--cyan);border-color:var(--cyan);background:#0096c714}.login-system-info{font-size:11px;color:var(--text-dim);letter-spacing:1px}@media (max-width: 700px){.login-left{display:none}.login-right{padding:24px 16px}.login-card{max-width:100%}}.disp-overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:5000}.disp-panel{position:fixed;top:0;right:0;width:380px;height:100vh;background:var(--bg-panel);border-left:1px solid var(--border-mid);z-index:5001;display:flex;flex-direction:column;box-shadow:-4px 0 24px #0006}.disp-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border-mid);flex-shrink:0}.disp-panel-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:2px;color:var(--text-primary)}.disp-panel-icon{font-size:16px;color:var(--cyan)}.disp-close-btn{background:none;border:1px solid var(--border);border-radius:3px;color:var(--text-dim);font-size:14px;cursor:pointer;padding:3px 8px;transition:color .2s,border-color .2s}.disp-close-btn:hover{color:var(--red);border-color:var(--red)}.disp-summary{display:flex;align-items:center;gap:12px;padding:10px 18px;background:var(--bg-card);border-bottom:1px solid var(--border);flex-shrink:0}.disp-stat{display:flex;flex-direction:column;gap:1px}.disp-stat-val{font-size:18px;font-weight:700;color:var(--text-primary);line-height:1}.disp-stat-label{font-size:9px;letter-spacing:1.5px;color:var(--text-dim)}.disp-stat-sep{width:1px;height:28px;background:var(--border)}.disp-reset-btn{margin-left:auto;padding:5px 12px;background:transparent;border:1px solid var(--border-mid);border-radius:3px;color:var(--text-secondary);font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:color .2s,border-color .2s}.disp-reset-btn:hover{color:var(--yellow);border-color:var(--yellow)}.disp-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.disp-tab{flex:1;padding:10px 0;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:color .2s,border-color .2s;display:flex;align-items:center;justify-content:center;gap:6px}.disp-tab:hover{color:var(--text-secondary)}.disp-tab-active{color:var(--cyan);border-bottom-color:var(--cyan)}.disp-tab-badge{background:var(--red);color:#fff;font-size:9px;font-weight:700;padding:1px 5px;border-radius:8px;min-width:16px;text-align:center}.disp-content{flex:1;overflow-y:auto;padding:8px 0}.disp-content::-webkit-scrollbar{width:4px}.disp-content::-webkit-scrollbar-track{background:var(--bg-panel)}.disp-content::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:2px}.disp-engine-list,.disp-section-list{padding:0 4px}.disp-engine-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;margin:3px 0;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;transition:opacity .2s,border-color .2s}.disp-row-hidden{opacity:.5;border-color:var(--border-subtle)}.disp-engine-info{display:flex;align-items:center;gap:10px}.disp-engine-type-badge{font-size:10px;font-weight:700;letter-spacing:1px;padding:2px 7px;border-radius:2px;flex-shrink:0}.disp-type-main{background:#0096c726;color:var(--cyan);border:1px solid var(--cyan)}.disp-type-generator{background:#00b85a1f;color:var(--green);border:1px solid var(--green)}.disp-type-auxiliary{background:#d4a0001f;color:var(--yellow);border:1px solid var(--yellow)}.disp-engine-label{font-size:12px;font-weight:700;color:var(--text-primary)}.disp-engine-id{font-size:10px;color:var(--text-dim);letter-spacing:1px}.disp-toggle-btn{padding:5px 12px;border-radius:3px;font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:all .2s;border:1px solid;flex-shrink:0}.disp-toggle-on{color:var(--green);border-color:var(--green);background:#00b85a14}.disp-toggle-on:hover{background:#00b85a2e}.disp-toggle-off{color:var(--text-dim);border-color:var(--border);background:transparent}.disp-toggle-off:hover{color:var(--text-secondary);border-color:var(--border-mid)}.disp-toggle-btn:disabled{opacity:.4;cursor:not-allowed}.disp-section-group{margin-bottom:4px}.disp-group-title{font-size:9px;font-weight:700;letter-spacing:2.5px;color:var(--text-dim);text-transform:uppercase;padding:10px 14px 4px}.disp-section-row{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;margin:2px 4px;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;transition:opacity .2s}.disp-section-label{font-size:12px;color:var(--text-primary);font-weight:500}.disp-empty{padding:24px;text-align:center;color:var(--text-dim);font-size:12px}.disp-hint{padding:10px 14px;font-size:11px;color:var(--text-dim);line-height:1.5;border-top:1px solid var(--border-subtle);margin-top:8px}.disp-panel-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--border-mid);flex-shrink:0;background:var(--bg-card)}.disp-footer-info{font-size:10px;color:var(--text-dim);letter-spacing:.5px}.disp-close-footer-btn{padding:6px 16px;background:var(--bg-panel);border:1px solid var(--border-mid);border-radius:3px;color:var(--text-secondary);font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:color .2s,border-color .2s}.disp-close-footer-btn:hover{color:var(--cyan);border-color:var(--cyan)}@media (max-width: 480px){.disp-panel{width:100vw}}.cfg-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-subtle);background:var(--bg-base);flex-shrink:0}.cfg-tab-btn{flex:1;padding:8px 0;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-dim);font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:color .15s,border-color .15s}.cfg-tab-btn:hover{color:var(--text-primary)}.cfg-tab-active{color:var(--cyan)!important;border-bottom-color:var(--cyan)!important}.um-panel{display:flex;flex-direction:column;gap:16px;padding:4px 0}.um-header{display:flex;align-items:center;justify-content:space-between}.um-title{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-dim);text-transform:uppercase}.um-btn{padding:5px 12px;border-radius:4px;border:1px solid var(--border-subtle);background:var(--bg-panel);color:var(--text-primary);font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:1px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.um-btn:disabled{opacity:.4;cursor:not-allowed}.um-btn.primary{background:var(--cyan);color:var(--bg-base);border-color:var(--cyan)}.um-btn.primary:hover:not(:disabled){filter:brightness(1.15)}.um-btn.danger{border-color:var(--red);color:var(--red)}.um-btn.danger:hover:not(:disabled){background:var(--red);color:var(--bg-base)}.um-btn.sm{padding:4px 8px;font-size:9px}.um-create-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-panel);border-radius:6px;border:1px solid var(--border-subtle)}.um-create-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.um-input{flex:1;min-width:120px;padding:6px 8px;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-family:var(--font-mono);font-size:11px;outline:none;transition:border-color .15s}.um-input:focus{border-color:var(--cyan)}.um-input.sm{min-width:100px;padding:4px 6px;font-size:10px}.um-select{padding:6px 8px;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:4px;color:var(--text-primary);font-family:var(--font-ui);font-size:10px;font-weight:700;letter-spacing:1px;cursor:pointer;outline:none}.um-select:focus{border-color:var(--cyan)}.um-table-wrap{overflow-x:auto;border-radius:6px;border:1px solid var(--border-subtle)}.um-table{width:100%;border-collapse:collapse;font-size:11px}.um-table th{padding:7px 10px;background:var(--bg-base);color:var(--text-dim);font-size:9px;font-weight:700;letter-spacing:1.5px;text-align:left;text-transform:uppercase;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.um-table td{padding:7px 10px;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);vertical-align:middle}.um-table tbody tr:last-child td{border-bottom:none}.um-table tbody tr:hover td{background:#0000001a}.um-self-row td{background:#00e6e60a}.um-username{color:var(--text-primary);font-family:var(--font-mono);font-size:11px}.um-self-tag{display:inline-block;margin-left:6px;padding:1px 5px;background:var(--cyan);color:var(--bg-base);border-radius:3px;font-size:8px;font-weight:700;letter-spacing:1px;vertical-align:middle}.um-role{display:inline-block;padding:2px 6px;border-radius:3px;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.um-role.admin{background:#ff505026;color:var(--red)}.um-role.operator{background:#ffc8001f;color:var(--yellow)}.um-role.viewer{background:#64647826;color:var(--text-dim)}.um-select-inline{padding:3px 6px;background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:3px;color:var(--text-primary);font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:1px;cursor:pointer;outline:none}.um-select-inline:focus{border-color:var(--cyan)}.um-select-inline:disabled{opacity:.5;cursor:not-allowed}.um-date{color:var(--text-dim);font-size:10px;white-space:nowrap}.um-pw-cell{display:flex;gap:6px;align-items:center}.um-state{text-align:center;padding:24px;color:var(--text-dim);font-size:11px}.um-state.error{color:var(--red)}.um-row-msg{font-size:10px;font-weight:600}.um-row-msg.ok{color:var(--green)}.um-row-msg.error{color:var(--red)}.um-msg-row td{padding:2px 10px 6px}.data-freshness-banner{display:flex;align-items:center;gap:10px;padding:0 16px;height:28px;background:#ff98001f;border-bottom:1px solid rgba(255,152,0,.35);flex-shrink:0;animation:dfb-pulse 2s ease-in-out infinite}@keyframes dfb-pulse{0%,to{background:#ff98001a}50%{background:#ff98002e}}.dfb-icon{font-size:13px;color:var(--yellow);flex-shrink:0}.dfb-text{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--yellow);text-transform:uppercase}[data-theme=light] .data-freshness-banner{background:#d4a0001a;border-bottom-color:#d4a00066}.db-health-banner{display:flex;align-items:center;gap:10px;padding:0 16px;height:28px;background:#f443361f;border-bottom:1px solid rgba(244,67,54,.4);flex-shrink:0;animation:dhb-pulse 1.5s ease-in-out infinite}@keyframes dhb-pulse{0%,to{background:#f443361a}50%{background:#f4433638}}.dhb-icon{font-size:13px;color:var(--red, #f44336);flex-shrink:0}.dhb-text{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--red, #f44336);text-transform:uppercase}[data-theme=light] .db-health-banner{background:#b71c1c14;border-bottom-color:#b71c1c59}.panel-error{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:1px solid rgba(255,23,68,.3);border-radius:3px;background:#ff17440d;min-height:60px}.panel-error-icon{font-size:16px;color:var(--red);flex-shrink:0}.panel-error-msg{font-family:var(--font-mono);font-size:10px;color:var(--red);opacity:.8}.sc-readonly-strip{display:flex;align-items:center;gap:10px}.sc-readonly-badge{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:2px;padding:3px 8px;border-radius:2px;border:1px solid currentColor}.sc-ro-normal{color:var(--green);border-color:#00e67666;background:#00e67614}.sc-ro-warning{color:var(--yellow);border-color:#ffca2866;background:#ffca2814}.sc-ro-failure{color:var(--red);border-color:#ff174466;background:#ff174414}.sc-readonly-text{font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:1.5px;color:var(--text-dim)}.sc-live-strip{display:flex;align-items:center;gap:8px}.sc-live-badge{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:2px;padding:3px 7px;border-radius:2px;color:var(--green);border:1px solid rgba(0,230,118,.45);background:#00e6761a;animation:cfg-dot-pulse 2s ease-in-out infinite}.sc-live-text{font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:1.2px;color:var(--text-dim)}.hist-fetch-error{padding:8px 12px;font-family:var(--font-mono);font-size:10px;color:var(--text-dim);background:#ffca280d;border:1px solid rgba(255,202,40,.15);border-radius:3px;margin:4px 0}.screen-content{position:relative}.app-logo{display:inline-flex;align-items:center;gap:10px;min-width:0}.app-logo-media{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:12px;border:1px solid rgba(0,212,255,.14);background:linear-gradient(180deg,#ffffff0f,#ffffff05),#030a1480;box-shadow:inset 0 1px #ffffff0a}[data-theme=light] .app-logo-media{background:linear-gradient(180deg,#fffffffa,#f0f7ffeb),linear-gradient(135deg,#0096c714,#7a9abf1f);border-color:#7a9abf66;box-shadow:0 10px 22px #354f711f,inset 0 1px #fffffff2,inset 0 -1px #7a9abf14}[data-theme=light] .app-logo-image{filter:contrast(1.03) saturate(1.04)}[data-theme=light] .ss-logo .app-logo-media{background:linear-gradient(180deg,#fffffff5,#f1f6fceb),linear-gradient(135deg,#0096c70f,#7a9abf1f);border-color:#7a9abf6b;box-shadow:0 8px 18px #354f711a,inset 0 1px #fffffff2}[data-theme=light] .bsig-header-kicker,[data-theme=light] .bsig-header-support{color:#4d6381}[data-theme=light] .bsig-header-primary{color:#173153}[data-theme=light] .bsig-header-link,[data-theme=light] .bsig-header-support-link{color:#007fa8}[data-theme=light] .bsig-login{background:linear-gradient(180deg,#fffffff0,#f4f8fde6),linear-gradient(135deg,#0096c70d,#7a9abf14);border-color:#7a9abf52;box-shadow:0 14px 30px #2941601a,inset 0 1px #fffffff2}[data-theme=light] .bsig-login-label,[data-theme=light] .bsig-login-support-label{color:#5b6f8a}[data-theme=light] .bsig-login-primary,[data-theme=light] .bsig-login-support{color:#173153}[data-theme=light] .bsig-login-link{color:#007fa8}[data-theme=light] .bsig-login-sep{background:linear-gradient(180deg,transparent,rgba(122,154,191,.4),transparent)}[data-theme=light] .brand-watermark{opacity:var(--brand-watermark-opacity, .07);color:#173153ad}[data-theme=light] .brand-watermark-mark{filter:saturate(.2) brightness(.74) contrast(.96);opacity:.82}[data-theme=light] .bsig-footer-copy,[data-theme=light] .bsig-footer-by{color:#536985}[data-theme=light] .bsig-footer-link,[data-theme=light] .bsig-footer-absana{color:#007fa8}[data-theme=light] .about-system-hero{background:radial-gradient(circle at top right,rgba(0,150,199,.13),transparent 44%),linear-gradient(180deg,#fffffff0,#f2f7fceb);border-color:#7a9abf57;box-shadow:0 14px 30px #29416014,inset 0 1px #fffffff5}[data-theme=light] .about-system-logo .app-logo-media{background:linear-gradient(180deg,#fffffffa,#f3f8fded),linear-gradient(135deg,#0096c70d,#7a9abf1a);border-color:#7a9abf5c}[data-theme=light] .about-system-name{color:#173153}[data-theme=light] .about-system-tagline,[data-theme=light] .about-system-link{color:#007fa8}[data-theme=light] .about-system-description{color:#425a79}[data-theme=light] .login-logo .app-logo-media{background:linear-gradient(180deg,#fffffffa,#f2f7fdeb),linear-gradient(135deg,#0096c714,#7a9abf1f);border-color:#7a9abf61;box-shadow:0 18px 34px #2941601f,inset 0 1px #fffffffa}[data-theme=light] .login-brand-tagline{color:#007fa8}[data-theme=light] .login-system-info{color:#536985}.app-logo-icon .app-logo-media{aspect-ratio:1;padding:8px}.app-logo-image{width:var(--logo-width, 160px);height:auto;display:block;object-fit:contain}.app-logo-copy{display:flex;flex-direction:column;line-height:1}.app-logo-title{font-family:var(--font-mono);font-size:14px;font-weight:700;letter-spacing:2px;color:var(--text-primary)}.app-logo-subtitle{margin-top:4px;font-size:10px;font-weight:700;letter-spacing:2.6px;color:var(--cyan)}.ss-logo .app-logo-media{padding:4px 10px;border-radius:12px;background:linear-gradient(180deg,#ffffff17,#ffffff08),#040c1885}.ss-brand-block{gap:0}.ss-brand-detail{min-width:0}.ss-brand-title,.ss-brand-sub{white-space:nowrap}.ss-brand-signature{display:flex;align-items:center}.bsig{min-width:0}.bsig a{color:inherit;text-decoration:none}.bsig a:hover{color:var(--cyan)}.bsig-header{display:flex;align-items:baseline;gap:6px;white-space:nowrap;font-size:9px;letter-spacing:.6px}.bsig-header-kicker,.bsig-header-support{color:var(--text-dim)}.bsig-header-primary{color:var(--text-primary);font-weight:700}.bsig-header-link,.bsig-header-support-link{color:var(--cyan);font-weight:700}.bsig-login{display:inline-flex;align-items:center;gap:18px;padding:14px 18px;border-radius:14px;border:1px solid rgba(0,212,255,.14);background:#030a146b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.bsig-login-stack{display:flex;flex-direction:column;gap:2px}.bsig-login-label,.bsig-login-support-label{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--text-dim);text-transform:uppercase}.bsig-login-primary,.bsig-login-support{font-size:14px;font-weight:700;color:var(--text-primary)}.bsig-login-link{font-size:13px;font-weight:700;color:var(--cyan)}.bsig-login-sep{width:1px;align-self:stretch;background:linear-gradient(180deg,transparent,var(--border-mid),transparent)}.brand-watermark{position:absolute;z-index:1;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:3px;color:var(--text-primary);opacity:var(--brand-watermark-opacity, .07)}.brand-watermark-mark{width:112px;height:auto;margin-bottom:2px;opacity:.92;filter:saturate(0) brightness(1.2) contrast(.92)}.brand-watermark-bottom-right{right:20px;bottom:16px;align-items:flex-end;text-align:right}.brand-watermark-bottom-left{left:20px;bottom:16px}.brand-watermark-line:first-child{font-size:11px;font-weight:700}.brand-watermark-line:last-child{font-size:9px}.bsig-footer{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center;font-size:10px;color:var(--text-secondary)}.bsig-footer-copy,.bsig-footer-by{color:var(--text-dim)}.bsig-footer-link,.bsig-footer-absana{color:var(--cyan);font-weight:700}.bsig-footer-dot{width:3px;height:3px;border-radius:50%;background:var(--border-bright)}.bsig-footer-micro{display:flex;align-items:center;gap:5px;flex-shrink:0;white-space:nowrap}.bsig-micro-label{font-family:var(--font-ui);font-size:8px;letter-spacing:1px;color:var(--text-dim);text-transform:uppercase}.bsig-micro-link{font-family:var(--font-ui);font-size:8px;font-weight:700;letter-spacing:1px;color:var(--text-secondary);text-decoration:none;text-transform:uppercase;transition:color .2s}.bsig-micro-link:hover{color:var(--cyan)}[data-theme=light] .bsig-micro-label{color:#8fa0b4}[data-theme=light] .bsig-micro-link{color:#536985}[data-theme=light] .bsig-micro-link:hover{color:#007fa8}.sc-footer-branding{display:none}.bsig-footer-inline{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;overflow:hidden;font-size:9px;letter-spacing:.4px;color:var(--text-dim)}.bsig-footer-inline-copy,.bsig-footer-inline-text{color:var(--text-dim)}.bsig-footer-inline-link{color:var(--cyan);font-weight:700;text-decoration:none}.bsig-footer-inline-dot{width:3px;height:3px;border-radius:50%;background:var(--border-bright);flex-shrink:0}[data-theme=light] .bsig-footer-inline-copy,[data-theme=light] .bsig-footer-inline-text{color:#536985}[data-theme=light] .bsig-footer-inline-link{color:#007fa8}.about-system-panel{display:flex;flex-direction:column;gap:12px}.about-system-hero{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:14px;border:1px solid var(--border);border-radius:8px;background:radial-gradient(circle at top right,rgba(0,212,255,.1),transparent 42%),var(--bg-card)}.about-system-logo .app-logo-media{padding:10px 12px}.about-system-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.about-system-name{font-family:var(--font-mono);font-size:14px;font-weight:700;letter-spacing:1.4px;color:var(--text-primary)}.about-system-tagline{font-size:11px;color:var(--cyan);font-weight:700;letter-spacing:.6px}.about-system-description{font-size:12px;line-height:1.6;color:var(--text-secondary)}.about-system-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--border-subtle)}.about-system-row{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--bg-card)}.about-system-key{font-size:9px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:var(--text-dim)}.about-system-value,.about-system-link{font-size:12px;font-weight:600;color:var(--text-primary)}.about-system-link{color:var(--cyan);text-decoration:none}.about-system-link:hover{text-decoration:underline}.cfg-footer{gap:4px}.cfg-footer-sub{text-align:center;opacity:.82}.login-logo{margin-bottom:8px}.login-logo .app-logo-media{padding:14px 18px;border-radius:18px;background:linear-gradient(180deg,#ffffff2e,#ffffff0a),#050e1c94;border-color:#00d4ff2e;box-shadow:0 18px 38px #00000038,inset 0 1px #ffffff0d}.login-brand-block{max-width:440px}.login-brand-tagline{font-size:14px;line-height:1.5;color:var(--cyan);font-weight:600;max-width:360px}.login-attribution{z-index:1;margin-top:28px}.login-system-info{text-align:center}@media (max-width: 1320px){.ss-brand-signature,.ss-brand-sep-desktop{display:none}}@media (max-width: 1180px){.ss-clock-viewer,.ss-clock-vessel{display:none}}@media (max-width: 980px){.bsig-footer{font-size:9px;gap:6px}}@media (max-width: 1580px){.bsig-footer-inline-copy{display:none}}@media (max-width: 1400px){.sc-footer-branding{display:none}}@media (max-width: 860px){.about-system-hero,.about-system-grid{grid-template-columns:1fr}.brand-watermark{display:none}}@media (max-width: 700px){.login-attribution{display:none}}
