@import url(https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Fira+Code:wght@300;400;500;600;700&display=swap);:root{--bg-primary:#020617;--bg-secondary:#0f1729;--bg-tertiary:#1a2744;--text-primary:#e2e8f0;--text-secondary:#8b9dc3;--text-muted:#5a6a8a;--border-color:#1e3a5f;--color-ok:#10b981;--color-warning:#f59e0b;--color-alert:#ef4444;--chart-blue:#3b82f6;--chart-purple:#8b5cf6;--chart-cyan:#06b6d4;--chart-orange:#f97316}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#020617;background-color:var(--bg-primary);color:#e2e8f0;color:var(--text-primary);font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;line-height:1.4}.font-mono,.line-num,.term-data,.terminal-line,.terminal-log{font-family:Fira Code,monospace}.dashboard{display:flex;flex-direction:column;height:100vh;overflow:hidden}.dashboard-header{background:#0f1729;background:var(--bg-secondary);border-bottom:1px solid #1e3a5f;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:.5rem 1rem}.dashboard-header,.header-left{align-items:center;display:flex}.header-left{gap:.6rem}.logo-icon{color:#3b82f6;color:var(--chart-blue);height:22px;width:22px}.header-title h1{font-size:1rem;font-weight:600}.header-title .subtitle{color:#8b9dc3;color:var(--text-secondary);font-size:.65rem}.header-right{align-items:center;display:flex;gap:1.25rem}.connection-status{align-items:center;display:flex;font-size:.7rem;gap:.35rem}.connection-status svg{height:14px;width:14px}.status-icon.connected{color:#10b981;color:var(--color-ok)}.status-icon.disconnected{color:#ef4444;color:var(--color-alert)}.stats{align-items:center;color:#8b9dc3;color:var(--text-secondary);display:flex;font-size:.7rem;gap:.35rem}.stats svg{height:12px;width:12px}.dashboard-content{display:flex;flex:1 1;overflow:hidden}.sidebar-edge-toggle{align-items:center;background:#1a2744;background:var(--bg-tertiary);border:1px solid #1e3a5f;border:1px solid var(--border-color);color:#5a6a8a;color:var(--text-muted);cursor:pointer;display:flex;justify-content:center;padding:0;position:absolute;transition:all .15s ease}.sidebar-edge-toggle:hover{background:#0f1729;background:var(--bg-secondary);border-color:#3b82f6;border-color:var(--chart-blue);color:#e2e8f0;color:var(--text-primary)}.sidebar-edge-toggle.inside{border-left:none;border-radius:0 4px 4px 0;height:48px;right:-1px;top:50%;transform:translateY(-50%) translateX(100%);width:14px}.sidebar-edge-toggle.outside{border-left:none;border-radius:0 3px 3px 0;height:48px;left:0;opacity:.5;position:fixed;top:50%;transform:translateY(-50%);width:10px;z-index:100}.sidebar-edge-toggle.outside:hover{opacity:1;width:14px}.sidebar{background:linear-gradient(180deg,#0f172af2,#020617fa);border-right:1px solid #1e3a5f80;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;position:relative;transition:width .2s ease;width:240px}.sidebar.collapsed{border-right:none;width:0}.sidebar.open{overflow:visible;width:240px}.main-panel{flex:1 1;overflow-y:auto;padding:.75rem}.asset-list{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.asset-list-header{border-bottom:1px solid #1e3a5f66;padding:.6rem .75rem}.asset-list-header h2{color:#8b9dc3;color:var(--text-secondary);font-size:.7rem;font-weight:500;letter-spacing:.05em;margin-bottom:.4rem;text-transform:uppercase}.status-summary{display:flex;gap:.35rem}.status-badge{border-radius:3px;font-size:.6rem;font-weight:500;padding:.125rem .3rem}.status-badge.ok{background:#10b98133;color:#10b981;color:var(--color-ok)}.status-badge.warning{background:#f59e0b33;color:#f59e0b;color:var(--color-warning)}.status-badge.alert{background:#ef444433;color:#ef4444;color:var(--color-alert)}.status-badge.init,.status-badge.warming{background:#8b5cf633;color:#8b5cf6}.status-badge.large{font-size:.7rem;padding:.2rem .5rem}.asset-list-scroll{flex:1 1;overflow-y:auto}.no-assets{color:#8b9dc3;color:var(--text-secondary);font-size:.7rem;padding:1rem;text-align:center}.no-assets .hint{color:#5a6a8a;color:var(--text-muted);font-size:.65rem;margin-top:.3rem}.asset-item{align-items:center;border-bottom:1px solid #1e3a5f40;border-left:2px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:.5rem .75rem;transition:all .15s}.asset-item:hover{background:#3b82f614}.asset-item.selected{background:#3b82f61f;border-left-color:#3b82f6;border-left-color:var(--chart-blue)}.asset-item.status-alert{border-left-color:#ef4444;border-left-color:var(--color-alert)}.asset-item.status-alert:not(.selected){background:#ef44440d}.asset-item.status-warning{border-left-color:#f59e0b;border-left-color:var(--color-warning)}.asset-item.status-init,.asset-item.status-warming{border-left-color:#8b5cf6;opacity:.8}.spin{animation:spin 1s linear infinite}.asset-info{display:flex;flex-direction:column}.asset-id{font-size:.7rem;font-weight:500}.asset-cycle{color:#8b9dc3;color:var(--text-secondary);font-size:.6rem}.asset-status{align-items:center;display:flex;gap:.3rem}.risk-badge{border-radius:3px;color:#fff;font-size:.6rem;font-weight:600;padding:.1rem .25rem}.status-dot-indicator{border-radius:50%;flex-shrink:0;height:8px;width:8px}.status-dot-indicator.init,.status-dot-indicator.warming{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.placeholder-icon{color:#5a6a8a;color:var(--text-muted);font-size:1.5rem;opacity:.5}.all-clear-dot{background-color:#10b981;background-color:var(--color-ok);height:8px;margin-right:6px;width:8px}.all-clear-dot,.feature-dot{border-radius:50%;display:inline-block}.feature-dot{background-color:#3b82f6;background-color:var(--chart-blue);flex-shrink:0;height:6px;margin-right:8px;width:6px}.no-selection{align-items:center;color:#8b9dc3;color:var(--text-secondary);display:flex;flex-direction:column;height:100%;justify-content:center;text-align:center}.no-selection svg{color:#5a6a8a;color:var(--text-muted);height:40px;margin-bottom:.6rem;width:40px}.no-selection h2{font-size:1rem;margin-bottom:.3rem}.no-selection p{font-size:.7rem}.no-selection .hint{color:#5a6a8a;color:var(--text-muted);font-size:.65rem;margin-top:.6rem}.asset-header{align-items:center;display:flex;gap:.6rem;margin-bottom:.75rem}.asset-header h2{font-size:1rem}.back-btn{align-items:center;background:#1a2744;background:var(--bg-tertiary);border:1px solid #1e3a5f;border:1px solid var(--border-color);border-radius:5px;color:#8b9dc3;color:var(--text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .15s;width:28px}.back-btn:hover{background:#3b82f6;background:var(--chart-blue);border-color:#3b82f6;border-color:var(--chart-blue);color:#fff}.metrics-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:260px 1fr;margin-bottom:.75rem}.risk-gauge{background:#0f1729;background:var(--bg-secondary);border:1px solid #1e3a5f;border:1px solid var(--border-color);border-radius:8px;padding:.75rem}.risk-gauge.alert-active{animation:pulse-alert 2s infinite,gauge-glow-critical 2s infinite;background:linear-gradient(135deg,#0f1729,#ef44440d);background:linear-gradient(135deg,var(--bg-secondary) 0,#ef44440d 100%);border-color:#ef4444;border-color:var(--color-alert)}.risk-gauge.warning-active{animation:pulse-warning-gauge 2s infinite,gauge-glow-warning 2s infinite;background:linear-gradient(135deg,#0f1729,#f59e0b0d);background:linear-gradient(135deg,var(--bg-secondary) 0,#f59e0b0d 100%);border-color:#f59e0b;border-color:var(--color-warning)}@keyframes pulse-alert{0%,to{box-shadow:0 0 0 0 #ef444466}50%{box-shadow:0 0 0 4px #ef444400}}@keyframes gauge-glow-critical{0%,to{box-shadow:0 0 12px #ef44444d}50%{box-shadow:0 0 20px #ef444480}}@keyframes pulse-warning-gauge{0%,to{box-shadow:0 0 0 0 #f59e0b66}50%{box-shadow:0 0 0 4px #f59e0b00}}@keyframes gauge-glow-warning{0%,to{box-shadow:0 0 10px #f59e0b40}50%{box-shadow:0 0 16px #f59e0b66}}.gauge-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.3rem}.gauge-header h3{font-size:.75rem;font-weight:500}.mock-badge{background:#1a2744;background:var(--bg-tertiary);border-radius:3px;color:#5a6a8a;color:var(--text-muted);font-size:.5rem;padding:.1rem .25rem}.gauge-visual{display:flex;justify-content:center}.gauge-svg{height:85px;width:140px}.gauge-placeholder{align-items:center;color:#5a6a8a;color:var(--text-muted);display:flex;flex-direction:column;font-size:.7rem;height:100px;justify-content:center}.gauge-placeholder svg{height:32px;width:32px}.gauge-placeholder .hint{color:#5a6a8a;color:var(--text-muted);font-size:.6rem;margin-top:.3rem;opacity:.7}.risk-gauge.ai-disabled{opacity:.7}.alert-banner{align-items:center;background:#ef444433;border-radius:5px;color:#ef4444;color:var(--color-alert);display:flex;font-size:.65rem;font-weight:600;gap:.3rem;justify-content:center;margin:.5rem 0;padding:.4rem}.alert-banner svg{height:14px;width:14px}.gauge-details{margin-top:.5rem}.detail-row{align-items:center;border-top:1px solid #1e3a5f;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.3rem 0}.detail-row .label{color:#8b9dc3;color:var(--text-secondary);font-size:.65rem}.detail-row .value{font-size:.7rem;font-weight:500}.feature-tags{display:flex;flex-wrap:wrap;gap:.2rem}.feature-tag{background:#1a2744;background:var(--bg-tertiary);border-radius:3px;color:#8b9dc3;color:var(--text-secondary);font-size:.55rem;padding:.1rem .25rem}.ml-predictions{background:linear-gradient(135deg,#8b5cf61a,#3b82f61a);border:1px solid #8b5cf64d;border-radius:6px;margin-top:.6rem;padding:.5rem}.ml-header{align-items:center;color:#8b5cf6;color:var(--chart-purple);display:flex;font-size:.65rem;font-weight:600;gap:.4rem;margin-bottom:.4rem}.ml-header svg{height:14px;width:14px}.ml-content{gap:.5rem;justify-content:space-between}.ml-content,.ml-item{align-items:center;display:flex}.ml-item{gap:.4rem}.ml-item.rul-prediction{flex:1 1}.ml-item.rul-prediction svg{color:#06b6d4;color:var(--chart-cyan);height:16px;width:16px}.ml-values{display:flex;flex-direction:column}.ml-label{color:#8b9dc3;color:var(--text-secondary);font-size:.55rem}.ml-value{color:#e2e8f0;color:var(--text-primary);font-size:.85rem;font-weight:600}.ml-item.ml-risk{align-items:flex-end;flex-direction:column}.ml-item.ml-risk .ml-value{font-size:.9rem}.ground-truth-comparison{border-top:1px dashed #1e3a5f;border-top:1px dashed var(--border-color);display:flex;gap:.5rem;justify-content:space-between;margin-top:.5rem;padding-top:.5rem}.ground-truth-comparison .gt-error,.ground-truth-comparison .gt-header{display:flex;flex-direction:column}.gt-label{color:#8b9dc3;color:var(--text-secondary);font-size:.55rem}.gt-value{color:#e2e8f0;color:var(--text-primary);font-size:.8rem;font-weight:600}.gt-value.gt-accurate{color:var(--color-success)}.gt-value.gt-off{color:#f59e0b;color:var(--color-warning)}.ground-truth-only{background:#22d3ee1a;border-radius:6px;margin-top:.5rem;padding:.5rem}.ground-truth-only .gt-header{align-items:center;color:#06b6d4;color:var(--chart-cyan);display:flex;font-size:.6rem;font-weight:500;gap:.25rem;margin-bottom:.25rem}.ground-truth-only .gt-content{align-items:center;display:flex;justify-content:space-between}.ground-truth-only .gt-value{color:#06b6d4;color:var(--chart-cyan);font-size:.9rem}.feature-panel{background:#0f1729;background:var(--bg-secondary);border:1px solid #1e3a5f;border:1px solid var(--border-color);border-radius:8px;display:flex;flex:1 1;flex-direction:column;padding:.75rem}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.panel-header h3{font-size:.75rem;font-weight:500}.window-info{align-items:center;color:#8b9dc3;color:var(--text-secondary);display:flex;font-size:.6rem;gap:.3rem}.warming-badge{background:#f59e0b;background:var(--color-warning);border-radius:3px;color:#020617;color:var(--bg-primary);font-size:.5rem;font-weight:600;padding:.1rem .25rem}.feature-panel.warming-up{border-color:#f59e0b;border-color:var(--color-warning);border-style:dashed}.warming-progress{margin-bottom:.5rem}.warming-bar{background:#1a2744;background:var(--bg-tertiary);border-radius:2px;height:3px;margin-bottom:.15rem;overflow:hidden}.warming-fill{background:#f59e0b;background:var(--color-warning);height:100%;transition:width .3s ease}.warming-text{color:#f59e0b;color:var(--color-warning);font-size:.55rem}.panel-placeholder{align-items:center;color:#5a6a8a;color:var(--text-muted);display:flex;flex-direction:column;font-size:.7rem;height:100px;justify-content:center}.panel-placeholder svg{height:24px;width:24px}.feature-grid{grid-gap:.6rem;display:grid;flex:1 1;gap:.6rem;grid-template-columns:repeat(3,1fr)}.feature-card{background:#1a2744;background:var(--bg-tertiary);border-radius:6px;padding:.6rem .75rem}.feature-card,.sensor-name{display:flex;flex-direction:column}.sensor-name{color:#3b82f6;color:var(--chart-blue);font-size:.75rem;font-weight:600;gap:.1rem;margin-bottom:.4rem}.sensor-fullname{color:#8b9dc3;color:var(--text-secondary);font-size:.6rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feature-values{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.feature-item{display:flex;font-size:.7rem;justify-content:space-between}.feature-item .label{color:#8b9dc3;color:var(--text-secondary)}.feature-item .value{font-family:monospace;font-weight:500}.feature-item.slope-negative .value{color:#ef4444;color:var(--color-alert)}.feature-item.slope-positive .value{color:#10b981;color:var(--color-ok)}.feature-item .unit{color:#5a6a8a;color:var(--text-muted);font-size:.55rem;margin-left:.15rem}.charts-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-bottom:.75rem}.chart-container{background:#0f1729;background:var(--bg-secondary);border:1px solid #1e3a5f;border:1px solid var(--border-color);border-radius:8px;padding:.6rem}.chart-container h3{font-size:.75rem;font-weight:500;margin-bottom:.4rem}.chart-placeholder{align-items:center;color:#5a6a8a;color:var(--text-muted);display:flex;font-size:.7rem;height:140px;justify-content:center}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:#1e3a5f;stroke:var(--border-color)}.recharts-tooltip-wrapper{outline:none}.recharts-legend-wrapper{font-size:.6rem!important}.recharts-text{font-size:10px!important}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#020617;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#1a2744;background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#5a6a8a;background:var(--text-muted)}@media (max-width:1200px){.charts-row,.metrics-row{grid-template-columns:1fr}}@media (max-width:768px){.sidebar{max-height:150px;width:100%}.dashboard-content,.dashboard-header{flex-direction:column}.dashboard-header{gap:.5rem}}.control-panel{border-bottom:1px solid #1e3a5f66;padding:.75rem}.control-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.6rem}.control-header h3{align-items:center;color:#8b9dc3;color:var(--text-secondary);display:flex;font-size:.7rem;font-weight:500;gap:.4rem;letter-spacing:.05em;text-transform:uppercase}.control-header h3 svg{color:#3b82f6;color:var(--chart-blue);height:12px;width:12px}.settings-btn{background:none;border:none;border-radius:4px;color:#5a6a8a;color:var(--text-muted);cursor:pointer;padding:.25rem;transition:all .15s}.settings-btn svg{height:14px;width:14px}.settings-btn:hover{background:#06b6d41a;color:#06b6d4;color:var(--chart-cyan)}.control-buttons{display:flex;gap:.4rem;margin-bottom:.6rem}.control-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:.68rem;font-weight:500;gap:.35rem;justify-content:center;padding:.5rem .6rem;transition:all .15s}.control-btn svg{height:13px;width:13px}.control-btn.start{background:linear-gradient(135deg,#10b981e6,#059669e6);box-shadow:0 2px 8px #10b98140;color:#fff}.control-btn.start:hover{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b98159}.control-btn.pause{background:#f59e0b26;border:1px solid #f59e0b4d;color:#f59e0b;color:var(--color-warning)}.control-btn.pause:hover{background:#f59e0b40}.control-btn.stop{background:#ef444426;border:1px solid #ef44444d;color:#ef4444;color:var(--color-alert)}.control-btn.stop:hover{background:#ef444440}.control-btn:disabled{background:#1e3a5f4d;box-shadow:none;color:#5a6a8a;color:var(--text-muted);cursor:not-allowed}.config-warning{background:#f59e0b26;border:1px solid #f59e0b;border:1px solid var(--color-warning);border-radius:4px;color:#f59e0b;color:var(--color-warning);font-size:.6rem;margin-bottom:.4rem;padding:.3rem .5rem;text-align:center}.progress-section{margin-bottom:.5rem}.progress-bar{background:#020617;background:var(--bg-primary);border-radius:3px;height:5px;margin-bottom:.25rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3b82f6,#06b6d4);background:linear-gradient(90deg,var(--chart-blue),var(--chart-cyan));border-radius:3px;height:100%;transition:width .3s ease}.progress-text{color:#8b9dc3;color:var(--text-secondary);font-size:.6rem;text-align:center}.speed-control{margin-bottom:.6rem}.speed-control label{color:#5a6a8a;color:var(--text-muted);display:block;font-size:.6rem;letter-spacing:.03em;margin-bottom:.3rem;text-transform:uppercase}.speed-buttons{display:flex;gap:.25rem}.speed-buttons button{background:#02061780;border:1px solid #1e3a5f80;border-radius:4px;color:#5a6a8a;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:.62rem;padding:.3rem .4rem;transition:all .15s}.speed-buttons button:hover{background:#3b82f61a;border-color:#3b82f680;color:#e2e8f0;color:var(--text-primary)}.speed-buttons button.active{background:#3b82f633;border-color:#3b82f6;border-color:var(--chart-blue);color:#3b82f6;color:var(--chart-blue)}.settings-panel{background:#02061799;border:1px solid #1e3a5f66;border-radius:6px;margin-bottom:.6rem;padding:.6rem}.setting-row{align-items:center;display:flex;justify-content:space-between;padding:.35rem 0}.setting-row:not(:last-child){border-bottom:1px solid #1e3a5f4d}.setting-row label{color:#8b9dc3;color:var(--text-secondary);font-size:.65rem}.setting-row input{background:#020617cc;border:1px solid #1e3a5f80;border-radius:4px;color:#e2e8f0;color:var(--text-primary);font-size:.65rem;padding:.25rem .4rem;width:65px}.setting-row input:focus{border-color:#3b82f6;border-color:var(--chart-blue);box-shadow:0 0 0 2px #3b82f626;outline:none}.toggle-btn{background:#02061780;border:1px solid #1e3a5f80;border-radius:4px;color:#5a6a8a;color:var(--text-muted);cursor:pointer;font-size:.62rem;padding:.25rem .6rem;transition:all .15s}.toggle-btn:hover{border-color:#3b82f680;color:#e2e8f0;color:var(--text-primary)}.toggle-btn.active{background:#10b98133;border-color:#10b981;border-color:var(--color-ok);color:#10b981;color:var(--color-ok)}.cycles-control{align-items:center;display:flex;gap:.5rem}.cycles-control input[type=range]{-webkit-appearance:none;background:#020617;background:var(--bg-primary);border-radius:2px;cursor:pointer;flex:1 1;height:4px}.cycles-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#3b82f6;background:var(--chart-blue);border-radius:50%;cursor:pointer;height:12px;width:12px}.cycles-control input[type=range]::-moz-range-thumb{background:#3b82f6;background:var(--chart-blue);border:none;border-radius:50%;cursor:pointer;height:12px;width:12px}.cycles-value{color:#3b82f6;color:var(--chart-blue);font-size:.7rem;font-weight:600;min-width:30px;text-align:right}.stream-status{font-size:.6rem;text-align:center}.stream-status .status{border-radius:8px;padding:.15rem .5rem}.stream-status .status.idle{background:#020617;background:var(--bg-primary);color:#5a6a8a;color:var(--text-muted)}.stream-status .status.active{background:#10b98133;color:#10b981;color:var(--color-ok)}.stream-status .status.paused{background:#f59e0b33;color:#f59e0b;color:var(--color-warning)}.start-hint{background:#0f1729;background:var(--bg-secondary);border-radius:5px;color:#5a6a8a;color:var(--text-muted);font-size:.65rem;margin-top:1rem;padding:.6rem}.sidebar .asset-list{flex:1 1;height:auto;min-height:0}.modal-overlay{align-items:center;background:#020617d9;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#0f1729;background:var(--bg-secondary);border:1px solid #1e3a5f;border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;max-height:80vh;max-width:850px;overflow:hidden;width:100%}.modal-header{align-items:center;border-bottom:1px solid #1e3a5f;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.75rem 1rem}.modal-header h2{font-size:.9rem;font-weight:600}.modal-close{background:none;border:none;border-radius:5px;color:#8b9dc3;color:var(--text-secondary);cursor:pointer;padding:.3rem;transition:all .2s}.modal-close svg{height:16px;width:16px}.modal-close:hover{background:#1a2744;background:var(--bg-tertiary);color:#e2e8f0;color:var(--text-primary)}.modal-body{overflow-y:auto;padding:1rem}.sensor-legend{background:#1a2744;background:var(--bg-tertiary);border-radius:5px;margin-bottom:.6rem;padding:.6rem}.sensor-legend h4{color:#e2e8f0;color:var(--text-primary);font-size:.7rem;margin-bottom:.4rem}.legend-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(3,1fr)}.legend-item{display:flex;flex-direction:column;gap:.15rem}.legend-label{color:#3b82f6;color:var(--chart-blue);font-size:.6rem;font-weight:600}.legend-desc{color:#8b9dc3;color:var(--text-secondary);font-size:.55rem}.importance-guide{align-items:center;background:#020617;background:var(--bg-primary);border-radius:5px;display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.6rem;padding:.4rem}.importance-tag{border-radius:3px;font-size:.5rem;font-weight:600;padding:.15rem .35rem;text-transform:uppercase}.importance-tag.critical{background:#ef444433;color:#ef4444;color:var(--color-alert)}.importance-tag.high{background:#f59e0b33;color:#f59e0b;color:var(--color-warning)}.importance-tag.medium{background:#3b82f633;color:#3b82f6;color:var(--chart-blue)}.importance-desc{color:#5a6a8a;color:var(--text-muted);font-size:.55rem;margin-right:.6rem}.all-sensors-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.sensor-detail-card{background:#1a2744;background:var(--bg-tertiary);border-left:2px solid #1e3a5f;border-left:2px solid var(--border-color);border-radius:6px;padding:.6rem}.sensor-detail-card.importance-critical{border-left-color:#ef4444;border-left-color:var(--color-alert)}.sensor-detail-card.importance-high{border-left-color:#f59e0b;border-left-color:var(--color-warning)}.sensor-detail-card.importance-medium{border-left-color:#3b82f6;border-left-color:var(--chart-blue)}.sensor-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.3rem}.sensor-id-section{align-items:baseline;display:flex;gap:.35rem}.sensor-id{color:#3b82f6;color:var(--chart-blue);font-size:.75rem;font-weight:700}.sensor-short{color:#5a6a8a;color:var(--text-muted);font-size:.55rem}.importance-badge{border-radius:3px;font-size:.5rem;font-weight:600;padding:.1rem .25rem;text-transform:uppercase}.importance-badge.critical{background:#ef444433;color:#ef4444;color:var(--color-alert)}.importance-badge.high{background:#f59e0b33;color:#f59e0b;color:var(--color-warning)}.importance-badge.medium{background:#3b82f633;color:#3b82f6;color:var(--chart-blue)}.importance-badge.low{background:#020617;background:var(--bg-primary);color:#5a6a8a;color:var(--text-muted)}.sensor-detail-name{font-size:.7rem;font-weight:500;margin-bottom:.3rem}.sensor-detail-desc{align-items:flex-start;color:#8b9dc3;color:var(--text-secondary);display:flex;font-size:.55rem;gap:.25rem;margin-bottom:.25rem}.sensor-detail-desc svg{flex-shrink:0;height:10px;width:10px}.sensor-significance{align-items:flex-start;color:#f59e0b;color:var(--color-warning);display:flex;font-size:.55rem;font-style:italic;gap:.25rem;margin-bottom:.4rem}.sensor-significance svg{flex-shrink:0;height:10px;width:10px}.sensor-detail-values{background:#020617;background:var(--bg-primary);border-radius:4px;padding:.4rem}.value-row{align-items:center;display:flex;font-size:.6rem;justify-content:space-between;padding:.15rem 0}.value-row:not(:last-child){border-bottom:1px solid #1e3a5f;border-bottom:1px solid var(--border-color)}.value-label{color:#8b9dc3;color:var(--text-secondary)}.value-data{align-items:center;display:flex;font-family:monospace;gap:.15rem}.trend-down{color:#ef4444;color:var(--color-alert)}.trend-up{color:#10b981;color:var(--color-ok)}.sensor-no-data,.trend-flat{color:#5a6a8a;color:var(--text-muted)}.sensor-no-data{font-size:.6rem;padding:.6rem;text-align:center}.metric-legend{background:#020617;background:var(--bg-primary);border-radius:4px;color:#5a6a8a;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.65rem;gap:.4rem 1.5rem;margin-bottom:.5rem;padding:.4rem .6rem}.metric-legend .legend-item{cursor:help;display:inline}.metric-legend strong{color:#8b9dc3;color:var(--text-secondary);margin-right:.2rem}.feature-card.importance-critical{border:1px solid #ef44444d}.feature-card.importance-high{border:1px solid #f59e0b4d}.sensor-id-badge{align-items:center;color:#3b82f6;color:var(--chart-blue);display:flex;font-weight:700;gap:.15rem}.critical-icon{color:#ef4444;color:var(--color-alert);height:8px;width:8px}.expand-sensors-btn{align-items:center;background:#1a2744;background:var(--bg-tertiary);border:1px dashed #1e3a5f;border:1px dashed var(--border-color);border-radius:5px;color:#8b9dc3;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.7rem;gap:.4rem;justify-content:center;margin-top:.6rem;padding:.5rem;transition:all .2s;width:100%}.expand-sensors-btn svg{height:10px;width:10px}.expand-sensors-btn:hover{background:#020617;background:var(--bg-primary);border-color:#3b82f6;border-color:var(--chart-blue);color:#e2e8f0;color:var(--text-primary)}.placeholder-hint{color:#5a6a8a;color:var(--text-muted);font-size:.55rem;margin-top:.3rem}.risk-explanation{background:#1a2744;background:var(--bg-tertiary);border-radius:5px;margin-top:.5rem;padding:.4rem}.explanation-header{color:#5a6a8a;color:var(--text-muted);font-size:.55rem;gap:.25rem;margin-bottom:.2rem}.explanation-header svg{height:10px;width:10px}.explanation-text{line-height:1.3}.risk-explanation.ai-generated{background:linear-gradient(135deg,#8b5cf614,#3b82f614);border:1px solid #8b5cf633}.risk-explanation.ai-generated .explanation-header svg{color:#8b5cf6;color:var(--chart-purple,#a78bfa)}.ai-badge{background:linear-gradient(135deg,#8b5cf6,#3b82f6);border-radius:3px;color:#fff;font-size:.5rem;font-weight:600;letter-spacing:.5px;margin-left:auto;padding:.1rem .3rem;text-transform:uppercase}.info-tooltip{align-items:center;color:#5a6a8a;color:var(--text-muted);cursor:help;display:inline-flex;margin-left:.25rem}.info-tooltip svg{height:10px;width:10px}.info-tooltip:hover{color:#3b82f6;color:var(--chart-blue)}.panel-header h3{align-items:center;display:flex}.fleet-dashboard{display:flex;flex-direction:column;gap:.75rem;height:100%}.fleet-dashboard.empty{align-items:center;justify-content:center}.empty-state{color:#8b9dc3;color:var(--text-secondary);max-width:320px;text-align:center}.empty-state .empty-icon{color:#3b82f6;color:var(--chart-blue);margin-bottom:.75rem}.empty-state h2{color:#e2e8f0;color:var(--text-primary);font-size:1rem;margin-bottom:.35rem}.empty-state>p{font-size:.65rem;margin-bottom:1rem}.empty-features{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.empty-features .feature{align-items:center;color:#5a6a8a;color:var(--text-muted);display:flex;font-size:.6rem;gap:.4rem;justify-content:center}.empty-features .feature svg{color:#3b82f6;color:var(--chart-blue);height:12px;width:12px}.empty-state .start-hint{background:#10b9811a;border-radius:4px;color:#10b981;color:var(--color-ok);display:inline-block;font-size:.65rem;padding:.4rem .75rem}.fleet-dashboard.loading{align-items:center;justify-content:center}.loading-state{color:#8b9dc3;color:var(--text-secondary);text-align:center}.loading-state h3{color:#e2e8f0;color:var(--text-primary);font-size:.9rem;font-weight:500;margin-bottom:.25rem}.loading-state p{color:#5a6a8a;color:var(--text-muted);font-size:.65rem}.loading-spinner{height:60px;margin:0 auto 1rem;position:relative;width:60px}.spinner-ring{animation:spin 1s linear infinite;border:2px solid #1a2744;border-top-color:#3b82f6;border:2px solid var(--bg-tertiary);border-radius:50%;border-top-color:var(--chart-blue);inset:0;position:absolute}.spinner-icon{color:#3b82f6;color:var(--chart-blue);left:50%;opacity:.8;position:absolute;top:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:rotate(1turn)}}.fleet-charts-row{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.chart-panel{min-height:140px}.chart-panel .panel-title{border-bottom:none;padding-bottom:.25rem}.fleet-chart-placeholder{color:#5a6a8a;color:var(--text-muted);font-size:.6rem;height:90px}.fleet-chart-placeholder,.fleet-health-chart{align-items:center;display:flex;justify-content:center}.fleet-health-chart{flex-direction:row;gap:.5rem;height:100%;padding:.25rem .4rem}.health-donut-wrapper{flex-shrink:0;height:100px;position:relative;width:100px}.health-center-label{left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.health-percent{color:#10b981;color:var(--color-ok);display:block;font-size:.9rem;font-weight:700;line-height:1}.health-text{color:#5a6a8a;color:var(--text-muted);font-size:.45rem;text-transform:uppercase}.health-legend{display:flex;flex-direction:column;gap:.35rem}.health-legend .legend-item{align-items:center;display:flex;font-size:.55rem;gap:.25rem;white-space:nowrap}.health-legend .legend-dot{border-radius:2px;flex-shrink:0;height:8px;width:8px}.health-legend .legend-label{color:#8b9dc3;color:var(--text-secondary)}.health-legend .legend-value{color:#e2e8f0;color:var(--text-primary);font-weight:600;margin-left:.15rem}.fleet-risk-trend,.risk-distribution-chart{padding:1rem .4rem .25rem}.fleet-stats-bar{display:flex;gap:.5rem}.stat-card{align-items:center;background:#0f1729;background:var(--bg-secondary);border:1px solid #1e3a5f;border:1px solid var(--border-color);border-radius:6px;display:flex;flex:1 1;gap:.4rem;padding:.5rem .6rem}.stat-card .stat-icon{color:#5a6a8a;color:var(--text-muted)}.stat-card .stat-icon svg{height:14px;width:14px}.stat-card .stat-content{display:flex;flex-direction:column}.stat-card .stat-value{font-size:1rem;font-weight:700;line-height:1}.stat-card .stat-label{color:#5a6a8a;color:var(--text-muted);font-size:.55rem;text-transform:uppercase}.stat-card.total .stat-value{color:#3b82f6;color:var(--chart-blue)}.stat-card.ok .stat-value{color:#10b981;color:var(--color-ok)}.stat-card.warning .stat-value{color:#f59e0b;color:var(--color-warning)}.stat-card.alert .stat-value{color:#ef4444;color:var(--color-alert)}.stat-card.events .stat-value{color:#06b6d4;color:var(--chart-cyan)}.fleet-content{grid-gap:.75rem;display:grid;flex:1 1;gap:.75rem;grid-template-columns:minmax(350px,1fr) 340px;min-height:0}.fleet-column{display:flex;flex-direction:column;gap:.75rem;min-height:0}.fleet-column,.fleet-column.main{overflow:hidden}.fleet-column.side{min-width:0}.fleet-panel{background:#0f1729;background:var(--bg-secondary);border:1px solid #1e3a5f;border:1px solid var(--border-color);border-radius:6px;display:flex;flex-direction:column;overflow:hidden}.fleet-panel .panel-title{align-items:center;border-bottom:1px solid #1e3a5f;border-bottom:1px solid var(--border-color);color:#e2e8f0;color:var(--text-primary);display:flex;font-size:.7rem;font-weight:600;gap:.35rem;padding:.5rem .6rem}.fleet-panel .panel-title>svg{color:#3b82f6;color:var(--chart-blue);height:12px;width:12px}.fleet-panel .panel-title .info-tooltip-trigger svg{color:inherit;height:auto;width:auto}.fleet-panel .panel-hint{color:#5a6a8a;color:var(--text-muted);font-size:.55rem;font-weight:400;margin-left:auto}.heatmap-panel{flex:1 1;min-height:0}.heatmap-grid{grid-gap:.3rem;display:grid;flex:1 1;gap:.3rem;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));overflow-y:auto;padding:.5rem;position:relative}.heatmap-cell{align-items:center;aspect-ratio:1;background:#1a2744;background:var(--bg-tertiary);border:1px solid #0000;border-radius:4px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;transition:all .15s}.heatmap-cell:hover{border-color:#3b82f6;border-color:var(--chart-blue);transform:scale(1.05)}.heatmap-cell .cell-id{font-size:.65rem;font-weight:600}.heatmap-cell .cell-risk{font-size:.5rem;opacity:.8}.heatmap-cell.status-ok{background:#10b98140;color:#10b981;color:var(--color-ok)}.heatmap-cell.status-warning{background:#f59e0b40;color:#f59e0b;color:var(--color-warning)}.heatmap-cell.status-alert{background:#ef444459;color:#ef4444;color:var(--color-alert)}.heatmap-cell.status-warming{background:#8b5cf633;color:#a78bfa}.heatmap-cell.alerting{animation:pulse-cell 1.5s infinite,glow-critical 2s infinite;border-color:#ef4444;border-color:var(--color-alert)}@keyframes pulse-cell{0%,to{box-shadow:0 0 0 0 #ef444466}50%{box-shadow:0 0 0 3px #ef444400}}@keyframes glow-critical{0%,to{box-shadow:0 0 8px #ef444480,inset 0 0 12px #ef44441a}50%{box-shadow:0 0 16px #ef4444b3,inset 0 0 20px #ef444426}}.heatmap-cell.status-warning.alerting{animation:pulse-warning 1.5s infinite,glow-warning 2s infinite;border-color:#f59e0b;border-color:var(--color-warning)}@keyframes pulse-warning{0%,to{box-shadow:0 0 0 0 #f59e0b66}50%{box-shadow:0 0 0 3px #f59e0b00}}@keyframes glow-warning{0%,to{box-shadow:0 0 6px #f59e0b66,inset 0 0 10px #f59e0b14}50%{box-shadow:0 0 12px #f59e0b99,inset 0 0 16px #f59e0b1f}}.terminal-line.line-risk .term-risk-score.risk-critical{animation:pulse-text 2s infinite;color:#f87171;text-shadow:0 0 8px #f8717180}.terminal-line.line-risk .term-risk-score.risk-elevated{color:#ef4444;color:var(--color-alert);text-shadow:0 0 6px #ef444466}.terminal-line.line-risk .term-risk-score.risk-moderate{color:#f59e0b;color:var(--color-warning)}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.7}}.data-val.anomaly{color:#ef4444;color:var(--color-alert);font-weight:600}.data-val.warning{color:#f59e0b;color:var(--color-warning)}.engine-tooltip{background:#0f1729;background:var(--bg-secondary);border:1px solid #1e3a5f;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #02061799;max-width:300px;min-width:220px;padding:.75rem;pointer-events:none;position:fixed;transform:translate(-50%,-100%) translateY(-10px);z-index:1000}.engine-tooltip:after{border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid #1e3a5f;border-top:6px solid var(--border-color);bottom:-6px;content:"";left:50%;position:absolute;transform:translateX(-50%)}.tooltip-header{align-items:center;border-bottom:1px solid #1e3a5f;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:.5rem;padding-bottom:.4rem}.tooltip-engine{color:#e2e8f0;color:var(--text-primary);font-size:.75rem;font-weight:600}.tooltip-status{border-radius:3px;font-size:.6rem;font-weight:600;padding:.15rem .4rem}.tooltip-status.status-ok{background:#10b98133;color:#10b981;color:var(--color-ok)}.tooltip-status.status-warning{background:#f59e0b33;color:#f59e0b;color:var(--color-warning)}.tooltip-status.status-alert{background:#ef444433;color:#ef4444;color:var(--color-alert)}.tooltip-status.status-warming{background:#8b5cf633;color:#a78bfa}.tooltip-risk{margin-bottom:.5rem}.tooltip-score{align-items:baseline;display:flex;gap:.35rem;margin-bottom:.4rem}.tooltip-score .score-value{font-size:1.1rem;font-weight:700}.tooltip-score .score-label{color:#5a6a8a;color:var(--text-muted);font-size:.6rem}.tooltip-score .score-value.risk-low{color:#10b981;color:var(--color-ok)}.tooltip-score .score-value.risk-moderate{color:var(--chart-yellow)}.tooltip-score .score-value.risk-elevated{color:#f59e0b;color:var(--color-warning)}.tooltip-score .score-value.risk-critical{color:#ef4444;color:var(--color-alert)}.tooltip-explanation{background:#1a2744;background:var(--bg-tertiary);border-left:2px solid #8b5cf6;border-left:2px solid var(--chart-purple);border-radius:4px;color:#8b9dc3;color:var(--text-secondary);font-size:.65rem;line-height:1.4;padding:.5rem}.tooltip-explanation strong{color:#e2e8f0;color:var(--text-primary);font-weight:600}.tooltip-factors{font-size:.6rem}.tooltip-factors,.tooltip-hint{color:#5a6a8a;color:var(--text-muted)}.tooltip-hint{border-top:1px solid #1e3a5f;border-top:1px solid var(--border-color);font-size:.55rem;margin-top:.5rem;padding-top:.4rem;text-align:center}.heatmap-empty{align-items:center;color:#5a6a8a;color:var(--text-muted);display:flex;flex-direction:column;font-size:.65rem;gap:.5rem;justify-content:center;padding:2rem}.heatmap-empty svg{height:16px;width:16px}.event-feed-panel{max-height:180px}.event-feed{flex:1 1;overflow-y:auto;padding:.4rem}.feed-empty{color:#5a6a8a;color:var(--text-muted);font-size:.6rem;padding:1rem;text-align:center}.feed-item{align-items:center;border-radius:3px;display:flex;font-size:.6rem;gap:.4rem;margin-bottom:.2rem;padding:.25rem .35rem}.feed-item.latest{background:#3b82f626}.feed-engine{color:#3b82f6;color:var(--chart-blue);font-weight:600;min-width:28px}.feed-cycle{color:#5a6a8a;color:var(--text-muted);min-width:28px}.feed-risk{border-radius:3px;font-size:.55rem;font-weight:600;margin-left:auto;padding:.1rem .25rem}.feed-risk.risk-low{background:#10b98126;color:#10b981;color:var(--color-ok)}.feed-risk.risk-moderate{background:#f59e0b26;color:#f59e0b;color:var(--color-warning)}.feed-risk.risk-elevated{background:#f59e0b40;color:#f59e0b;color:var(--color-warning)}.feed-risk.risk-critical{background:#ef444433;color:#ef4444;color:var(--color-alert)}.feed-status{color:#5a6a8a;color:var(--text-muted);font-size:.5rem;margin-left:auto}.terminal-panel{background:#030918;border:1px solid #1e3a5f;border:1px solid var(--border-color);display:flex;flex-direction:column;max-height:180px;overflow:hidden}.terminal-header{background:#0a1428;border-bottom:1px solid #1e3a5f;border-bottom:1px solid var(--border-color)}.terminal-status{color:#4ade80;font-family:Fira Code,Consolas,monospace;font-size:.5rem;margin-left:auto}.terminal-log{background:#030918;flex:1 1;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;font-size:.58rem;line-height:1.5;min-height:0;overflow-x:auto;overflow-y:auto;padding:.2rem 0}.terminal-empty{color:#7a9bc0;padding:1rem;text-align:center}.terminal-cursor{animation:blink 1s infinite;margin-right:.5rem}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.terminal-line{align-items:center;border-left:2px solid #0000;display:flex;gap:.35rem;padding:.12rem .4rem;white-space:nowrap}.terminal-line:hover{background:#1e3a5f33}.terminal-line.latest{background:#3b82f61a;border-left-color:#3b82f6}.terminal-line.line-sensor{border-left-color:#5a7a9a}.terminal-line.line-risk{background:#3b82f60d;border-left-color:#3b82f6}.line-num{color:#3a5575;font-size:.55rem;min-width:30px;text-align:right;-webkit-user-select:none;user-select:none}.term-time{color:#5a7a9a;min-width:75px}.term-tag{border-radius:2px;font-size:.5rem;font-weight:600;min-width:46px;padding:.08rem .3rem;text-align:center}.term-tag.sensor{background:#5a7a9a40;color:#7a9bc0}.term-tag.risk{background:#3b82f633;color:#60a5fa}.term-id{color:#a78bfa;font-weight:600;min-width:58px}.term-cycle{color:#4ade80;min-width:52px}.term-separator{color:#1e3a5f;color:var(--border-color)}.term-data{display:flex;flex:1 1;gap:.4rem;overflow:hidden}.data-group{align-items:baseline;display:flex;gap:.1rem}.data-label{color:#7a9bc0}.data-val{color:#94a3b8;font-weight:500}.data-unit{color:#5a7a9a;font-size:.45rem}.data-group.temp .data-val{color:#fbbf24}.data-group.pressure .data-val{color:#38bdf8}.data-group.speed .data-val{color:#4ade80}.data-group.fuel .data-val{color:#fb923c}.data-group.bleed .data-val{color:#c4b5fd}.term-risk-score{font-weight:600;min-width:80px}.term-risk-score.risk-low{color:#4ade80}.term-risk-score.risk-moderate{color:#fbbf24}.term-risk-score.risk-elevated{color:#fb923c}.term-risk-score.risk-critical{color:#f87171}.term-conf{color:#7a9bc0;min-width:55px}.term-features{color:#60a5fa;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.term-latency{color:#5a7a9a;margin-left:auto}.alerts-panel{flex:1 1;min-height:0}.alerts-list{flex:1 1;overflow-y:auto;padding:.4rem}.alerts-empty{align-items:center;color:#5a6a8a;color:var(--text-muted);display:flex;flex-direction:column;font-size:.6rem;gap:.4rem;justify-content:center;padding:1.5rem .5rem;text-align:center}.alerts-empty svg{color:#10b981;color:var(--color-ok);height:16px;width:16px}.alert-item{background:#1a2744;background:var(--bg-tertiary);border-left:2px solid #1e3a5f;border-left:2px solid var(--border-color);border-radius:4px;cursor:pointer;margin-bottom:.3rem;padding:.35rem .4rem;transition:all .15s}.alert-item:hover{background:#020617;background:var(--bg-primary)}.alert-item.status-warning{border-left-color:#f59e0b;border-left-color:var(--color-warning)}.alert-item.status-alert{border-left-color:#ef4444;border-left-color:var(--color-alert)}.alert-header{align-items:center;display:flex;gap:.3rem;justify-content:space-between}.alert-engine{font-size:.55rem}.alert-engine,.alert-score{flex-shrink:0;font-weight:600}.alert-score{border-radius:2px;font-size:.5rem;padding:.08rem .2rem}.alert-score.risk-critical{background:#ef444433;color:#ef4444;color:var(--color-alert)}.alert-score.risk-elevated{background:#f59e0b33;color:#f59e0b;color:var(--color-warning)}.alert-score.risk-moderate{background:#f59e0b26;color:#f59e0b;color:var(--color-warning)}.alert-score.risk-low{background:#10b98126;color:#10b981;color:var(--color-ok)}.alert-details{color:#5a6a8a;color:var(--text-muted);display:flex;font-size:.45rem;gap:.4rem;margin-top:.15rem}.alert-indicator{color:#8b9dc3;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-badge{align-items:center;background:#ef444426;border-radius:2px;color:#ef4444;color:var(--color-alert);display:inline-flex;flex-shrink:0;font-size:.4rem;font-weight:600;gap:.1rem;margin-left:auto;padding:.05rem .15rem}.alert-badge svg{height:7px;width:7px}.system-panel{flex-shrink:0}.system-stats{padding:.5rem}.sys-stat{align-items:center;display:flex;font-size:.6rem;justify-content:space-between;padding:.25rem 0}.sys-stat:not(:last-child){border-bottom:1px solid #1e3a5f;border-bottom:1px solid var(--border-color)}.sys-label{color:#5a6a8a;color:var(--text-muted)}.sys-value{font-weight:500}.sys-value.active{color:#10b981;color:var(--color-ok)}.sys-value.idle{color:#5a6a8a;color:var(--text-muted)}@media (max-width:1100px){.fleet-charts-row{grid-template-columns:repeat(2,1fr)}.fleet-charts-row .chart-panel:last-child{grid-column:span 2}}@media (max-width:900px){.fleet-charts-row{grid-template-columns:1fr}.fleet-charts-row .chart-panel:last-child{grid-column:span 1}.fleet-content{grid-template-columns:1fr}.fleet-column.side{flex-direction:row}.fleet-column.side .fleet-panel{flex:1 1}}.ai-insights-panel{display:flex;flex-direction:column;height:100%;min-height:0}.ai-insights-panel.full-height{flex:1 1;overflow:hidden}.ai-insights-content{display:flex;flex:1 1;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;padding:8px 12px}.ai-insights-content::-webkit-scrollbar{width:4px}.ai-insights-content::-webkit-scrollbar-track{background:#0000}.ai-insights-content::-webkit-scrollbar-thumb{background:#8b5cf64d;border-radius:2px}.ai-insights-content::-webkit-scrollbar-thumb:hover{background:#8b5cf680}.ai-insights-empty{align-items:center;color:#5a6a8a;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;gap:6px;justify-content:center;padding:24px 12px;text-align:center}.ai-insights-empty svg{color:#8b5cf6;color:var(--chart-purple);opacity:.5}.ai-insights-empty span{font-size:.7rem}.ai-insights-empty .hint{color:#5a6a8a;color:var(--text-muted);font-size:.6rem;opacity:.7}.insight-section{background:#0206174d;border-radius:6px;flex-shrink:0;padding:10px}.insight-header{align-items:center;border-bottom:1px solid #1e3a5f4d;color:#8b9dc3;color:var(--text-secondary);display:flex;font-size:.6rem;font-weight:600;gap:6px;letter-spacing:.04em;margin-bottom:8px;padding-bottom:6px;text-transform:uppercase}.insight-header svg{color:#8b5cf6;color:var(--chart-purple);flex-shrink:0}.fleet-risk-summary{flex-wrap:wrap;gap:10px}.fleet-risk-summary,.risk-avg{align-items:center;display:flex}.risk-avg{background:#02061766;border-radius:4px;flex-direction:column;padding:4px 12px}.risk-avg .risk-value{color:#e2e8f0;color:var(--text-primary);font-family:Fira Code,monospace;font-size:1.2rem;font-weight:700;line-height:1.2}.risk-avg .risk-label{color:#5a6a8a;color:var(--text-muted);font-size:.55rem;text-transform:uppercase}.risk-alert{align-items:center;border-radius:4px;display:flex;font-size:.6rem;font-weight:600;gap:4px;padding:4px 8px}.risk-alert.critical{background:#ef444426;color:#ef4444;color:var(--color-alert)}.risk-alert.warning{background:#f59e0b26;color:#f59e0b;color:var(--color-warning)}.risk-alert svg{flex-shrink:0;height:10px;width:10px}.risky-engines-list{display:flex;flex-direction:column;gap:4px}.risky-engine{align-items:center;background:#02061766;border-left:2px solid #1e3a5f;border-left:2px solid var(--border-color);border-radius:4px;display:flex;gap:6px;padding:6px 8px}.risky-engine.status-alert{background:#ef444414;border-left-color:#ef4444;border-left-color:var(--color-alert)}.risky-engine.status-warning{background:#f59e0b14;border-left-color:#f59e0b;border-left-color:var(--color-warning)}.risky-engine .engine-id{color:#e2e8f0;color:var(--text-primary);font-size:.65rem;font-weight:600;white-space:nowrap}.risky-engine .engine-risk{color:#ef4444;color:var(--color-alert);font-family:Fira Code,monospace;font-size:.7rem;font-weight:700;margin-left:auto}.risky-engine.status-warning .engine-risk{color:#f59e0b;color:var(--color-warning)}.risky-engine .engine-factor{background:#1e3a5f4d;border-radius:3px;color:#5a6a8a;color:var(--text-muted);font-size:.55rem;max-width:80px;overflow:hidden;padding:2px 5px;text-overflow:ellipsis;white-space:nowrap}.explanations-list{display:flex;flex-direction:column;gap:6px}.explanation-item{background:#02061766;border-left:2px solid #8b5cf6;border-left:2px solid var(--chart-purple);border-radius:4px;overflow:hidden;padding:8px}.explanation-header{align-items:center;display:flex;gap:6px;margin-bottom:4px}.explanation-header .engine-id{color:#e2e8f0;color:var(--text-primary);font-size:.6rem;font-weight:600}.explanation-header .status-dot{background:#10b981;background:var(--color-ok);border-radius:50%;flex-shrink:0;height:5px;width:5px}.explanation-header .status-dot.status-warning{background:#f59e0b;background:var(--color-warning)}.explanation-header .status-dot.status-alert{background:#ef4444;background:var(--color-alert)}.explanation-text{word-wrap:break-word;color:#8b9dc3;color:var(--text-secondary);font-size:.6rem;-webkit-hyphens:auto;hyphens:auto;line-height:1.5;margin:0;overflow-wrap:break-word}.explanation-text strong{color:#e2e8f0;color:var(--text-primary);font-weight:600}.insight-section.all-clear{background:#10b98114;border:1px solid #10b98133}.all-clear-content{align-items:center;display:flex;font-size:.75rem;font-weight:500;gap:8px;justify-content:center}.all-clear-content,.all-clear-content svg{color:#10b981;color:var(--color-ok)}.temp-margin-indicator{background:#0f1729;background:var(--bg-secondary);border:1px solid #1e3a5f;border:1px solid var(--border-color);border-radius:6px;padding:12px}.temp-margin-indicator.warning{border-color:#f59e0b66}.temp-margin-indicator.critical{animation:temp-critical-pulse 2s infinite;border-color:#ef444480}@keyframes temp-critical-pulse{0%,to{border-color:#ef444480}50%{border-color:#ef4444cc}}.temp-margin-header{align-items:center;color:#e2e8f0;color:var(--text-primary);display:flex;font-size:.75rem;font-weight:600;gap:8px;margin-bottom:12px}.temp-margin-header svg{color:#f59e0b}.temp-margin-header .warning-icon{animation:blink 1s infinite;color:#ef4444;margin-left:auto}.temp-margin-title{font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.temp-gauge{background:#02061773;border-radius:3px;height:16px;margin-bottom:6px;overflow:visible;position:relative}.temp-zone{height:100%;position:absolute;top:0}.temp-zone.normal{background:linear-gradient(90deg,#10b981,#22c55e);border-radius:3px 0 0 3px}.temp-zone.warning{background:linear-gradient(90deg,#eab308,#f59e0b)}.temp-zone.critical{background:linear-gradient(90deg,#f97316,#ef4444)}.temp-zone.redline{background:linear-gradient(90deg,#dc2626,#b91c1c);border-radius:0 3px 3px 0}.temp-indicator{position:absolute;top:-4px;transform:translateX(-50%);z-index:10}.temp-indicator-line{background:#fff;border-radius:1px;box-shadow:0 0 6px #ffffff80;height:24px;width:3px}.temp-indicator-value{color:#fff;font-size:.7rem;font-weight:700;left:50%;position:absolute;text-shadow:0 1px 3px #000c;top:-18px;transform:translateX(-50%);white-space:nowrap}.temp-indicator.warning .temp-indicator-line{background:#fbbf24;box-shadow:0 0 8px #fbbf2499}.temp-indicator.critical .temp-indicator-line{animation:temp-line-pulse 1s infinite;background:#f87171;box-shadow:0 0 10px #f87171b3}@keyframes temp-line-pulse{0%,to{box-shadow:0 0 10px #f87171b3}50%{box-shadow:0 0 16px #f87171}}.temp-redline-marker{position:absolute;top:-6px;transform:translateX(-50%);z-index:5}.temp-redline-marker .redline-line{background:#dc2626;box-shadow:0 0 4px #dc262680;height:28px;width:2px}.temp-redline-marker .redline-label{color:#dc2626;font-size:.5rem;font-weight:700;left:50%;letter-spacing:.05em;position:absolute;text-transform:uppercase;top:-14px;transform:translateX(-50%);white-space:nowrap}.temp-scale{color:#5a6a8a;color:var(--text-muted);font-size:.55rem;margin-top:4px}.temp-margin-display,.temp-scale{display:flex;justify-content:space-between}.temp-margin-display{align-items:center;border-top:1px solid #1e3a5f;border-top:1px solid var(--border-color);margin-top:12px;padding-top:12px}.margin-value{display:flex;flex-direction:column;gap:2px}.margin-number{color:#10b981;color:var(--color-ok);font-size:1.4rem;font-weight:700}.margin-number.warning{color:#fbbf24}.margin-number.critical{color:#f87171}.margin-number.exceeded{animation:blink .5s infinite;color:#dc2626}.margin-label{color:#5a6a8a;color:var(--text-muted);font-size:.6rem;letter-spacing:.03em;text-transform:uppercase}.margin-label.exceeded{color:#dc2626;font-weight:700}.temp-trend-display{text-align:right}.temp-trend-display .trend{align-items:center;display:flex;font-size:.7rem;font-weight:500;gap:4px}.temp-trend-display .trend.rising{color:#f87171}.temp-trend-display .trend.rising svg{animation:trend-up 1s infinite}@keyframes trend-up{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.temp-trend-display .trend.falling{color:#34d399}.temp-trend-display .trend.stable{color:#5a6a8a;color:var(--text-muted)}.temp-warning-message{background:#ef444426;border:1px solid #ef44444d;border-radius:4px;color:#fca5a5;font-size:.65rem;margin-top:10px;padding:8px 10px;text-align:center}.temp-margin-compact{align-items:center;background:#0206174d;border-radius:4px;display:flex;font-size:.7rem;gap:8px;padding:6px 10px}.temp-margin-compact svg{color:#f59e0b}.temp-margin-compact.warning{border-left:2px solid #f59e0b}.temp-margin-compact.critical{background:#ef44441a;border-left:2px solid #ef4444}.temp-margin-compact .temp-value{color:#e2e8f0;color:var(--text-primary);font-weight:600}.temp-margin-compact .temp-margin{color:#8b9dc3;color:var(--text-secondary);font-size:.65rem}.temp-margin-compact.critical .temp-margin{color:#f87171;font-weight:600}.temp-margin-compact .temp-trend{margin-left:auto}.temp-margin-compact .temp-trend.rising{color:#f87171}.temp-margin-compact .temp-trend.falling{color:#34d399}.egt-alert-badge{align-items:center;background:#f59e0b33;border:1px solid #f59e0b66;border-radius:3px;color:#fbbf24;display:inline-flex;font-size:.55rem;font-weight:600;gap:4px;padding:2px 6px}.egt-alert-badge.critical{background:#ef444433;border-color:#ef444466;color:#f87171}.egt-alert-badge svg{color:inherit}.paused-for-alert-banner{background:#dc2626;left:0;position:fixed;right:0;top:0;z-index:1001}.paused-banner-content{align-items:center;display:flex;gap:10px;justify-content:center;padding:6px 20px}.paused-banner-content>svg{color:#fff;flex-shrink:0;height:14px;width:14px}.paused-banner-text{align-items:center;display:flex;gap:6px}.paused-banner-title{color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.paused-banner-message{color:#ffffffe6;font-size:.7rem}.paused-banner-resume{display:none}.info-tooltip-trigger{align-items:center;color:#5a6a8a;color:var(--text-muted);cursor:help;display:inline-flex;justify-content:center;margin-left:4px;opacity:.5;transition:opacity .15s,color .15s;vertical-align:middle}.info-tooltip-trigger:hover{color:#06b6d4;color:var(--chart-cyan);opacity:1}.info-tooltip-trigger svg{display:block}.info-tooltip-popup{animation:tooltipFadeIn .12s ease;background:#1e293b;border:1px solid #334155;border-radius:5px;box-shadow:0 4px 12px #0006;color:#e2e8f0;font-size:.68rem;font-weight:400;line-height:1.35;max-width:200px;padding:6px 10px;pointer-events:none;position:fixed;width:-webkit-max-content;width:max-content;z-index:10000}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.cycles-explainer{align-items:center;animation:slideDown .3s ease;background:linear-gradient(90deg,#3b82f626,#8b5cf61a);border-bottom:1px solid #3b82f633;display:flex;justify-content:space-between;padding:8px 16px}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.explainer-content{align-items:center;color:#8b9dc3;color:var(--text-secondary);display:flex;font-size:.75rem;gap:8px}.explainer-content svg{color:#3b82f6;color:var(--chart-blue);flex-shrink:0}.explainer-content strong{color:#e2e8f0;color:var(--text-primary)}.explainer-dismiss{background:none;border:none;border-radius:4px;color:#5a6a8a;color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:4px 8px;transition:background .15s,color .15s}.explainer-dismiss:hover{background:#ffffff1a;color:#e2e8f0;color:var(--text-primary)}.panel-title .info-tooltip-trigger{flex-shrink:0;margin-left:2px}.detail-row .label{align-items:center;display:inline-flex}.detail-row .label .info-tooltip-trigger{margin-left:3px}.gauge-details .detail-row{align-items:flex-start;display:flex;justify-content:space-between}.gauge-details .label{color:#8b9dc3;color:var(--text-secondary);font-size:.75rem}
/*# sourceMappingURL=main.8b815416.css.map*/