.app{min-height:100vh;background-color:#0a0e1a;color:#e0e0e0}.app-header{background:linear-gradient(135deg,#1a2332,#0f1419);padding:1.5rem 2rem;border-bottom:1px solid #2a3f5f;box-shadow:0 2px 10px #0000004d}.app-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.app-header h1{font-size:2rem;font-weight:700;margin-bottom:.25rem;color:#60a5fa}.app-header .subtitle{font-size:.9rem;color:#94a3b8;margin-bottom:1rem}.app-main{padding:1.25rem;max-width:1220px;margin:0 auto}.dashboard-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;background:#111827;border:1px solid #2a3f5f;border-radius:6px;font-size:.85rem}.control-group{display:flex;gap:.4rem}.control-group button,.chart-nav button{border:1px solid #334155;background:#08101d;color:#b8c7da;padding:.48rem .8rem;border-radius:5px;cursor:pointer;font-weight:700}.control-group button.active,.chart-nav button.active{border-color:#35d0a0;color:#eafff8;background:#10352f}.legacy-note{color:#94a3b8;padding:0 1rem 1rem}.observed-state{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#0f1929;border:1px solid #293d58;border-radius:6px;padding:.8rem 1rem;margin-bottom:1rem}.observed-state h2{margin:0;color:#e5edf7;font-size:1rem}.observed-state p{margin:.2rem 0 0;color:#71859e;font-size:.75rem}.observed-state table{border-collapse:collapse;font-size:.78rem}.observed-state th,.observed-state td{padding:.25rem .55rem;text-align:left}.observed-state th{color:#71859e}.observed-state td{color:#e4edf7;font-weight:700}.view-presets{display:flex;gap:.5rem;min-width:0}.view-presets button,.view-actions button{border:1px solid #334155;background:#0a0e1a;color:#cbd5e1;border-radius:6px;padding:.5rem .75rem;cursor:pointer;font-weight:600}.view-presets button{min-width:118px;text-align:left}.view-presets button small{display:block;margin-top:.15rem;color:#64748b;font-size:.7rem;font-weight:500}.view-presets button:hover,.view-actions button:hover{border-color:#60a5fa}.view-presets button.active{color:#eff6ff;border-color:#3b82f6;background:#172554;box-shadow:inset 0 0 0 1px #3b82f6}.view-presets button.active small{color:#93c5fd}.advanced-controls{color:#94a3b8}.advanced-controls summary{cursor:pointer;white-space:nowrap;font-weight:600}.advanced-controls>div{display:flex;gap:.75rem;padding-top:.65rem;justify-content:flex-end}.tf-recommendation{grid-column:1 / -1;margin:0;color:#94a3b8;font-size:.78rem}.dashboard-controls label{display:flex;align-items:center;gap:.45rem;color:#94a3b8}.dashboard-controls select{background:#0a0e1a;color:#e0e0e0;border:1px solid #3b82f6;border-radius:4px;padding:.3rem .5rem}.history-status{color:#64748b;margin-left:auto}.summary-panels{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.summary-panels .panel{flex:1;min-width:200px;min-height:auto;padding:.75rem 1rem}.raw-data-section{background:#111827;border:1px solid #2a3f5f;border-radius:6px;padding:0;margin-bottom:1rem;overflow:hidden}.raw-data-section summary{padding:.75rem 1rem;cursor:pointer;font-size:.85rem;color:#94a3b8;font-weight:600;-webkit-user-select:none;user-select:none;background:#0f172a;border-bottom:1px solid #2a3f5f}.raw-data-section summary:hover{color:#60a5fa}.raw-data-section[open] summary{border-bottom:1px solid #2a3f5f}.raw-data-section .history-table-wrap{padding:.75rem}.experimental-matrix{background:#0f172a;border:2px solid #3b82f6;border-radius:6px;padding:1rem;margin-top:2rem}.experimental-matrix h2{color:#60a5fa;font-size:1.05rem;margin-bottom:.75rem;font-weight:600}.panels-grid{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.panels-grid .panel{min-height:120px}.panels-grid .panel:first-child{min-height:240px}.panel{background:#1a2332;border:1px solid #2a3f5f;border-radius:6px;padding:1rem;box-shadow:0 2px 4px #0003}.historical-summary{background:#111827;border:1px solid #2a3f5f;border-radius:6px;padding:1rem;margin-bottom:1rem;overflow:hidden}.historical-summary h2{color:#60a5fa;font-size:1.05rem;margin-bottom:.75rem}.history-table-wrap{overflow-x:auto}.history-table{width:100%;border-collapse:collapse;font-size:.78rem;white-space:nowrap}.history-table th,.history-table td{text-align:right;padding:.45rem .6rem;border-bottom:1px solid #1e293b}.history-table th:first-child,.history-table td:first-child{text-align:left}.history-table th{color:#94a3b8;font-weight:600}.empty-state{color:#64748b}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #2a3f5f}.panel-title{font-size:1.1rem;font-weight:600;color:#60a5fa}.panel-title small{display:block;margin-top:.2rem;color:#94a3b8;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.panel-value{font-size:2rem;font-weight:700;margin-bottom:.5rem}.panel-value.positive{color:#10b981}.panel-value.negative{color:#ef4444}.panel-value.neutral{color:#e0e0e0}.metric-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #1e293b}.metric-row:last-child{border-bottom:none}.metric-label{color:#94a3b8;font-size:.9rem}.metric-value{font-weight:600;font-size:.95rem}.app-loading,.app-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center;padding:2rem}.app-error{color:#ef4444}.app-error h2{margin-bottom:1rem;font-size:2rem}.app-loading h2{color:#60a5fa;margin-bottom:1rem}@media (max-width: 768px){.dashboard-controls{grid-template-columns:1fr}.view-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.view-presets button{min-width:0;padding:.5rem;font-size:.74rem}.advanced-controls>div{justify-content:flex-start;flex-wrap:wrap}.panels-grid{grid-template-columns:1fr}.app-header{padding:1rem}.app-main{padding:.65rem}.app-header{align-items:flex-start}.dashboard-controls{display:flex;flex-direction:column;align-items:flex-start}.observed-state{display:block;overflow-x:auto}.observed-state table{margin-top:.6rem;min-width:350px}}.charts-container{background:#111827;border:1px solid #2a3f5f;border-radius:6px;padding:0;margin-bottom:1rem;overflow:hidden}.chart-summary{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:#0f172a;border-bottom:1px solid #2a3f5f;font-size:.85rem;color:#94a3b8;flex-wrap:wrap}.units-help{display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;border:1px solid #475569;border-radius:50%;color:#94a3b8;cursor:help;font-weight:700}.view-actions{display:flex;align-items:center;gap:.4rem;margin-left:auto}.view-actions button{padding:.3rem .55rem;font-size:.76rem}.gap-details{padding:.55rem 1rem;background:#0c1424;border-bottom:1px solid #1e293b;color:#94a3b8;font-size:.78rem}.gap-details summary{cursor:pointer;color:#f59e0b}.gap-details>div{display:flex;gap:1rem;flex-wrap:wrap;padding-top:.55rem}.summary-item{display:flex;align-items:center;gap:.35rem}.summary-item strong{color:#e0e0e0;font-weight:600}.summary-warning,.summary-warning strong{color:#f59e0b}.chart-wrapper{position:relative;width:100%;height:600px;background:#0a0e1a}.chart-nav{display:flex;align-items:center;gap:.4rem;padding:.65rem .8rem;border-bottom:1px solid #293d58;overflow-x:auto}.chart-nav span{margin-left:auto;color:#71859e;font-size:.75rem;white-space:nowrap}.panel-labels{position:absolute;left:1rem;z-index:5;height:760px;display:grid;grid-template-rows:repeat(6,1fr);pointer-events:none;color:#9eb0c5;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.35rem 0}.efficiency-panel-label small{display:block;margin-top:.25rem;color:#f6c85f;font-size:.62rem;letter-spacing:.02em;text-transform:none;white-space:normal;max-width:min(70vw,36rem)}.charts-container{position:relative}.exact-tooltip{padding:.7rem 1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.28rem 1rem;border-top:1px solid #293d58;background:#0b1422;color:#9eb0c5;font-size:.73rem}.exact-tooltip strong{grid-column:1/-1;color:#e6eef8}.chart-tooltip{position:absolute;background:#0f172af2;border:1px solid #2a3f5f;border-radius:4px;padding:.75rem;font-size:.8rem;color:#e0e0e0;pointer-events:none;z-index:100;box-shadow:0 4px 12px #0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.historical-gap button,.return-live{border:1px solid #f59e0b;background:#1f2937;color:#fbbf24;border-radius:4px;padding:.25rem .5rem;cursor:pointer}.return-live{border-color:#3b82f6!important;color:#93c5fd!important}.tooltip-time{font-weight:600;margin-bottom:.5rem;color:#60a5fa;font-size:.82rem}.tooltip-row{display:flex;justify-content:space-between;gap:1.25rem;padding:.2rem 0;border-bottom:1px solid #1e293b}.tooltip-row:last-child{border-bottom:none;padding-bottom:0}.tooltip-row span{color:#94a3b8;min-width:40px}.tooltip-row strong{color:#f8fafc;font-weight:600;text-align:right}.chart-attribution{padding:.5rem 1rem;font-size:.7rem;color:#64748b;text-align:right;border-top:1px solid #1e293b;background:#0a0e1a}.chart-attribution a{color:#60a5fa;text-decoration:none}.chart-attribution a:hover{text-decoration:underline}@media (max-width: 768px){.summary-warning,.summary-warning strong{color:#f59e0b}.chart-wrapper{height:500px}.chart-tooltip{font-size:.75rem;padding:.6rem}.chart-summary{font-size:.8rem;gap:.65rem 1rem}.view-actions{order:10;width:100%;margin-left:0}.view-actions button{flex:1;white-space:nowrap}.historical-gap,.persisted-gap{width:100%}}@media (max-width: 420px){.chart-wrapper{height:430px}.chart-summary{padding:.65rem}.chart-tooltip{max-width:calc(100vw - 2rem)}}@media (max-width:600px){.chart-wrapper{height:760px}.exact-tooltip{grid-template-columns:1fr}.chart-nav span{display:none}.panel-labels{font-size:.58rem}.charts-container{max-width:100%;overflow:hidden}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0e1a;color:#e0e0e0}#root{min-height:100vh}.data-health{margin-top:1rem;padding:1rem;background:#1e293b80;border-radius:6px;border:1px solid #2a3f5f}.health-status{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.status-indicator{width:12px;height:12px;border-radius:50%;animation:pulse 2s infinite}.status-indicator.healthy{background-color:#10b981;box-shadow:0 0 8px #10b98180}.status-indicator.warning{background-color:#f59e0b;box-shadow:0 0 8px #f59e0b80}.status-text{font-weight:600;font-size:.95rem}.health-details{display:flex;flex-wrap:wrap;gap:1rem;font-size:.85rem}.health-item{display:flex;align-items:center;gap:.4rem}.health-item.warning-item{color:#f59e0b;font-weight:600}.health-dot{width:8px;height:8px;border-radius:50%}.health-dot.connected{background-color:#10b981}.health-dot.disconnected{background-color:#ef4444}.health-dot.warning{background-color:#f59e0b}.health-stats{display:flex;gap:.5rem;color:#94a3b8;margin-left:auto}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.health-details{flex-direction:column;gap:.5rem}.health-stats{margin-left:0}}
