@import "https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap";:root{color:#2f2f2f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #56acde73}#root{min-height:100vh}.dashboard-shell{color:#2f2f2f;background:#fff;grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#102d69;border-right:1px solid #56acde;height:100vh;padding:24px 18px;position:sticky;top:0}.brand,.nav-list a,.topbar,.search-box,.sync-button,.icon-button,.stat-card,.panel-header,.health-metric,.gateway-row,.alert-row{align-items:center;display:flex}.brand{letter-spacing:0;gap:12px;margin-bottom:32px;font-weight:800}.brand-mark,.stat-icon{border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.brand-mark{color:#fff;background:#c14894}.nav-list{gap:8px;display:grid}.nav-list a{color:#fff;border-radius:8px;gap:12px;min-height:44px;padding:0 12px;text-decoration:none}.nav-list a.active,.nav-list a:hover{color:#fff;background:#c14894}.main-panel{min-width:0;padding:24px}.topbar{gap:16px;margin-bottom:24px}.topbar h1,.panel h2{margin:0}.topbar h1{font-size:28px;line-height:1.15}.topbar-meta{color:#2f2f2f;margin:6px 0 0;font-size:14px}.eyebrow{color:#56acde;letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:700}.sync-button,.icon-button{min-height:44px;font:inherit;cursor:pointer;border:0;border-radius:8px}.sync-button{color:#fff;background:#102d69;gap:8px;margin-left:auto;padding:0 14px;font-weight:700}.icon-button{color:#102d69;background:#fff;border:1px solid #56acde;justify-content:center;width:44px}.menu-button{display:none}.gauges-grid,.history-grid{gap:16px;display:grid}.gauges-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.gauge-card,.panel{background:#fff;border:1px solid #56acde;border-radius:8px;box-shadow:0 10px 24px #102d6914}.history-grid{grid-template-columns:1fr}.panel{min-width:0;padding:20px}.status-panel{background:#fff;border-color:#c14894;gap:6px;margin-bottom:16px;display:grid}.panel-header{justify-content:space-between;gap:16px;margin-bottom:18px}.panel h2{font-size:20px;line-height:1.2}.chart-area{height:320px}.gauge-card{padding:18px}.gauge-heading{align-items:center;gap:12px;display:flex}.gauge-heading div{gap:4px;display:grid}.gauge-heading strong{font-size:16px}.gauge-heading small,.gauge-value small{color:#2f2f2f}.sensor-icon{border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.gauge-visual{height:210px;margin-top:10px;position:relative}.speedometer-wrap{place-items:center;width:100%;height:100%;display:grid}.gauge-value{text-align:center;place-items:center;padding-top:6px;display:grid;position:absolute;inset:auto 0 0}.gauge-value strong{font-size:28px;line-height:1}.gauge-value strong span{color:#2f2f2f;margin-left:4px;font-size:13px;font-weight:700}.range-select{gap:6px;display:grid}.range-select span{color:#2f2f2f;text-align:right;font-size:12px;font-weight:700}.range-select select{color:#102d69;min-width:200px;min-height:40px;font:inherit;background:#fff;border:1px solid #56acde;border-radius:8px;padding:0 12px}.legend-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.legend-grid span{color:#2f2f2f;align-items:center;gap:8px;font-size:14px;display:flex}.legend-grid i{border-radius:999px;width:12px;height:12px}@media (width<=1080px){.dashboard-shell{grid-template-columns:1fr}.sidebar{display:none}.menu-button{display:inline-flex}.gauges-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.main-panel{padding:16px}.topbar{flex-wrap:wrap;align-items:stretch}.topbar>div{flex:1}.sync-button{order:3;justify-content:center;width:100%;margin-left:0}.range-select span{text-align:left}.gauges-grid{grid-template-columns:1fr}.chart-area{height:260px}.legend-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
