/* Dutch Bros-inspired operational theme. Brand blue sampled from the supplied logo: #245F9A. */
:root{
  color-scheme:light;
  --brand:#245f9a;
  --brand-bright:#2f78b9;
  --brand-soft:#e8f1f9;
  --brand-grid:rgba(36,95,154,.08);
  --canvas:#f2f6f9;
  --surface:#ffffff;
  --surface-raised:#ffffff;
  --surface-muted:#f7fafc;
  --text:#102230;
  --text-soft:#5d7180;
  --border:#d7e2e9;
  --border-strong:#b9cbd7;
  --nav:#102b43;
  --nav-hover:#173c5d;
  --nav-text:#c8daea;
  --low:#178357;
  --low-soft:#e2f5ec;
  --medium:#b87500;
  --medium-soft:#fff0cc;
  --high:#c23b43;
  --high-soft:#fde5e7;
  --offline:#657984;
  --shadow:0 8px 24px rgba(23,55,77,.07);
}

:root[data-theme="dark"]{
  color-scheme:dark;
  --brand:#4c98d4;
  --brand-bright:#65afe8;
  --brand-soft:#122c42;
  --brand-grid:rgba(76,152,212,.11);
  --canvas:#071019;
  --surface:#0d1923;
  --surface-raised:#11212d;
  --surface-muted:#0a151e;
  --text:#e5eef4;
  --text-soft:#8fa6b6;
  --border:#1d3342;
  --border-strong:#2b4a5e;
  --nav:#050c12;
  --nav-hover:#10293a;
  --nav-text:#9bb9ce;
  --low:#45ca8b;
  --low-soft:#103326;
  --medium:#f0b94f;
  --medium-soft:#3a2b11;
  --high:#ff7078;
  --high-soft:#421b22;
  --offline:#91a5b1;
  --shadow:0 12px 32px rgba(0,0,0,.28);
}

html,body{background:var(--canvas);color:var(--text)}
body,aside,main,.panel,.asset,.metrics article,.hero,header,input,select{transition:background-color .2s ease,border-color .2s ease,color .2s ease}
body{background-image:linear-gradient(var(--brand-grid) 1px,transparent 1px),linear-gradient(90deg,var(--brand-grid) 1px,transparent 1px);background-size:42px 42px;background-attachment:fixed}
body>aside{background:var(--nav);border-right:1px solid color-mix(in srgb,var(--brand) 35%,transparent)}
.brand{color:#fff}
.brand-mark{display:grid!important;place-items:center;width:46px!important;height:46px!important;border:1px solid rgba(255,255,255,.22)!important;border-radius:10px!important;background:linear-gradient(145deg,var(--brand-bright),var(--brand));box-shadow:0 8px 20px rgba(0,0,0,.2)}
.brand-mark svg{width:29px;height:29px;fill:#fff}
nav a{color:var(--nav-text);border-left:3px solid transparent}
nav a:hover{background:var(--nav-hover);border-left-color:var(--brand-bright);color:#fff}
.user{border-color:rgba(255,255,255,.12);color:var(--nav-text)}
main{background:linear-gradient(180deg,color-mix(in srgb,var(--canvas) 90%,transparent),var(--canvas));}
header{border-color:var(--border);background:color-mix(in srgb,var(--canvas) 90%,transparent);backdrop-filter:blur(10px)}
header input,.filter input,.loginbox input,.loginbox select{background:var(--surface);border-color:var(--border);color:var(--text);outline:none}
header input:focus,.filter input:focus,.loginbox input:focus,.loginbox select:focus{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent)}
.header-actions{display:flex;align-items:center;gap:12px}
.live{display:inline-flex;align-items:center;gap:7px;color:var(--low)}
.live i,.refresh-indicator i{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 14%,transparent)}
.theme-toggle{display:flex;align-items:center;gap:7px;padding:7px 10px;background:var(--surface);border:1px solid var(--border);color:var(--text-soft);font-size:11px}
.theme-toggle:hover{background:var(--surface);border-color:var(--brand);color:var(--brand)}
.theme-toggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.theme-icon-dark{display:none}:root[data-theme="dark"] .theme-icon-dark{display:inline}:root[data-theme="dark"] .theme-icon-light{display:none}
.theme-label{letter-spacing:.4px;text-transform:uppercase}

.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,var(--surface) 50%,color-mix(in srgb,var(--brand-soft) 55%,var(--surface)));border-color:var(--border);border-left-color:var(--brand);box-shadow:var(--shadow)}
.hero:after{content:"";position:absolute;inset:0 0 0 55%;pointer-events:none;opacity:.6;background-image:linear-gradient(var(--brand-grid) 1px,transparent 1px),linear-gradient(90deg,var(--brand-grid) 1px,transparent 1px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent,#000)}
.hero>div{position:relative;z-index:1}
.hero h1{color:var(--text);letter-spacing:-.5px}
.hero p{color:var(--text-soft)}
.eyebrow{color:var(--brand);font-weight:900}
.score b{color:var(--low)}
.facility-identity{display:flex;align-items:center;gap:20px}
.store-code-badge{flex:none;display:grid;align-content:center;min-width:128px;min-height:78px;padding:13px 16px;border:1px solid color-mix(in srgb,var(--brand) 55%,transparent);border-radius:7px;background:linear-gradient(145deg,var(--brand-bright),var(--brand));box-shadow:0 10px 24px color-mix(in srgb,var(--brand) 25%,transparent);color:#fff}
.store-code-badge small{font-size:8px;font-weight:900;letter-spacing:1.4px;opacity:.8}
.store-code-badge strong{font-size:25px;line-height:1.15;letter-spacing:.6px}
.facility-identity h1{margin-top:3px}

.metrics article,.panel,.asset{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}
.metrics article{position:relative;overflow:hidden}
.metrics article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--brand)}
.metrics label,.metrics small,.asset small{color:var(--text-soft)}
.metrics b{color:var(--text)}
.section-head h2{color:var(--text)}
.section-head>span,.section-head a{color:var(--text-soft)}
.technical-head{align-items:center;margin-top:34px}
.refresh-indicator{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--brand)!important;text-transform:uppercase;letter-spacing:.6px}

.technical-grid{gap:16px}
.technical-asset{position:relative;overflow:hidden;padding:0;box-shadow:var(--shadow);border-top:3px solid var(--brand);transform:translateY(0)}
.technical-asset:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:0 14px 34px color-mix(in srgb,var(--brand) 17%,transparent)}
.technical-asset .asset-top{padding:14px 16px 0}
.asset-type{display:flex;align-items:center;gap:8px;color:var(--brand);font-size:10px;font-weight:900;letter-spacing:1px}
.health-number{display:flex;align-items:baseline;gap:4px;margin-left:auto}
.health-number b{font-size:25px;color:var(--text)}
.health-number small{font-size:8px}
.asset-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 16px 12px}
.asset-title-row h3{margin:0;font-size:18px;min-width:0}
.risk-chip{flex:none;display:inline-flex;align-items:center;padding:5px 7px;border-radius:4px;font-size:8px;font-weight:900;letter-spacing:.7px}
.risk-low{color:var(--low);background:var(--low-soft);border:1px solid color-mix(in srgb,var(--low) 25%,transparent)}
.risk-moderate,.risk-medium{color:var(--medium);background:var(--medium-soft);border:1px solid color-mix(in srgb,var(--medium) 28%,transparent)}
.risk-high,.risk-critical{color:var(--high);background:var(--high-soft);border:1px solid color-mix(in srgb,var(--high) 28%,transparent)}
.sparkline-panel{margin:0 12px;padding:9px 10px 5px;border:1px solid var(--border);border-radius:5px;background:var(--surface-muted)}
.sparkline-meta{display:flex;justify-content:space-between;align-items:center;color:var(--text-soft);font-size:9px;text-transform:uppercase;letter-spacing:.4px}
.sparkline-meta strong{color:var(--text);font-size:11px}
.sparkline{display:block;width:100%;height:47px;margin-top:3px;overflow:visible}
.sparkline .spark-grid{stroke:var(--border);stroke-width:.45;vector-effect:non-scaling-stroke}
.sparkline polyline{fill:none;stroke:var(--low);stroke-width:1.8;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px color-mix(in srgb,var(--low) 20%,transparent))}
.risk-line-moderate polyline,.risk-line-medium polyline{stroke:var(--medium)}
.risk-line-high polyline,.risk-line-critical polyline{stroke:var(--high)}
.technical-readings{min-height:auto;padding:11px 16px;gap:10px}
.technical-readings span{flex:1;padding-right:8px;border-right:1px solid var(--border)}
.technical-readings span:last-child{border:0}
.technical-readings small{margin-bottom:2px;text-transform:uppercase;letter-spacing:.45px;font-size:8px}
.technical-readings strong{font-size:15px;color:var(--text)}
.technical-readings em{font-style:normal;font-size:9px;color:var(--text-soft)}
.technical-asset footer{margin:0;padding:10px 16px;border-color:var(--border);background:color-mix(in srgb,var(--surface-muted) 70%,transparent)}
.technical-asset footer span{display:flex;align-items:center;gap:6px}
.technical-asset footer b{color:var(--brand);font-size:13px}
.asset-state{font-weight:800;color:var(--text)}
.dot{flex:none}

.state{font-weight:900}
.state.healthy,.state.online{color:var(--low);background:var(--low-soft)}
.state.attention,.state.advisory{color:var(--medium);background:var(--medium-soft)}
.state.warning,.state.critical,.state.sensor_problem{color:var(--high);background:var(--high-soft)}
.state.not_onboarded,.state.offline{color:var(--offline);background:color-mix(in srgb,var(--offline) 13%,transparent)}
.dot.healthy,.dot.online{background:var(--low)}
.dot.attention,.dot.advisory{background:var(--medium)}
.dot.warning,.dot.critical,.dot.sensor_problem{background:var(--high)}
.dot.offline,.dot.not_onboarded{background:var(--offline)}

.event,.driver,.work,th,td,dt,dd{border-color:var(--border)}
.event p,.work span,dt{color:var(--text-soft)}
.driver,.work{background:transparent}
.table table{color:var(--text)}
th{color:var(--brand);background:var(--surface-muted)}
tr:hover td{background:color-mix(in srgb,var(--brand-soft) 42%,transparent)}
.range a{background:var(--surface);border-color:var(--border);color:var(--text)}
.range a:hover{border-color:var(--brand);color:var(--brand)}
button{background:var(--brand)}
button:hover{background:var(--brand-bright)}
.flash{background:var(--low-soft);border-color:color-mix(in srgb,var(--low) 35%,transparent);color:var(--low)}
.login{background:var(--nav)}
.loginbox{background:var(--surface);color:var(--text);box-shadow:0 24px 60px rgba(0,0,0,.3)}
.button{display:inline-flex;padding:9px 13px;border-radius:5px;background:var(--brand);color:#fff;text-decoration:none;font-weight:800}.button:hover{background:var(--brand-bright)}
.button.secondary{background:var(--surface);border:1px solid var(--brand);color:var(--brand)}
.docs-hero{margin-bottom:18px}.docs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.docs-grid h2,.docs-table h2,.caution h2{margin:4px 0 14px}.technical-steps{list-style:none;margin:0;padding:0;counter-reset:step}.technical-steps li{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--border)}.technical-steps b{color:var(--brand)}.technical-steps span,.checklist{color:var(--text-soft)}.checklist{padding-left:20px}.checklist li{margin:8px 0}.docs-links{display:flex;gap:10px}.docs-links a{color:var(--brand);font-weight:800}.docs-table{margin-bottom:16px}.docs-table code{font:12px/1.4 Consolas,monospace;color:var(--brand);overflow-wrap:anywhere}.caution{border-left:4px solid var(--medium)}

@media(max-width:1250px){.technical-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:950px){.technical-grid{grid-template-columns:repeat(2,1fr)}.docs-grid{grid-template-columns:1fr}.theme-label{display:none}}
@media(max-width:700px){.technical-grid{grid-template-columns:1fr}.header-actions{gap:7px}.live{display:none}.hero:after{display:none}.facility-hero{display:block}.facility-identity{align-items:flex-start}.store-code-badge{min-width:105px;min-height:66px;padding:10px}.store-code-badge strong{font-size:20px}}

.stream-module{margin-top:28px;padding:0;overflow:hidden}.stream-module-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;background:transparent;border:0;border-radius:7px;color:var(--text);text-align:left}.stream-module-toggle:hover{background:color-mix(in srgb,var(--brand-soft) 42%,transparent)}.stream-module-toggle>span:first-child{display:grid;gap:3px}.stream-module-toggle strong{font-size:17px}.stream-module-toggle em{font-style:normal;color:var(--text-soft);font-size:11px}.stream-chevron{font-size:24px;color:var(--brand);transition:transform .2s}.stream-module.is-open .stream-chevron{transform:rotate(180deg)}.stream-module-content{padding:0 18px 18px;border-top:1px solid var(--border)}.stream-row{display:flex;gap:12px;align-items:stretch;padding-top:16px;overflow-x:auto}.stream-card{flex:0 0 150px;display:flex;flex-direction:column;gap:0;padding:0;background:var(--surface-raised);border:1px solid var(--border);border-radius:7px;overflow:hidden;color:var(--text);text-align:left;box-shadow:none;cursor:pointer}.stream-card:hover{border-color:var(--brand);transform:translateY(-2px)}.stream-thumb-wrap{display:block;aspect-ratio:16/9;background:var(--surface-muted);overflow:hidden}.stream-thumb-wrap img{width:100%;height:100%;object-fit:cover;display:block}.stream-card-body{display:grid;gap:3px;padding:9px}.stream-card-body small{color:var(--brand);font-size:8px;font-weight:900;letter-spacing:.5px;line-height:1.2}.stream-card-body strong{font-size:12px;line-height:1.2}.stream-metric-label{font-size:8px;color:var(--text-soft);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.stream-card-body b{font-size:15px;color:var(--low);line-height:1.15}.stream-summary{font-size:9px;color:var(--text-soft);line-height:1.25}.stream-modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:22px}.stream-modal[hidden],.stream-module-content[hidden]{display:none}.stream-modal-backdrop{position:absolute;inset:0;background:rgba(3,11,17,.72);backdrop-filter:blur(5px)}.stream-modal-panel{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);width:min(920px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 28px 80px rgba(0,0,0,.38)}.stream-modal-media{min-height:340px;background:var(--surface-muted);display:flex;align-items:center;justify-content:center}.stream-modal-media img{display:block;width:100%;height:100%;max-height:760px;object-fit:contain}.stream-modal-info{padding:28px}.stream-modal-close{position:absolute;top:10px;right:12px;z-index:2;width:34px;height:34px;padding:0;border-radius:50%;background:rgba(0,0,0,.52);font-size:24px;line-height:1;color:#fff}.stream-modal-info h2{margin:3px 0 8px;font-size:26px}.stream-modal-description{color:var(--text-soft);margin:0 0 18px}.stream-modal-status{display:grid;grid-template-columns:1fr auto;align-items:end;gap:3px 14px;padding:13px;border:1px solid var(--border);border-radius:7px;background:var(--surface-muted);margin-bottom:16px}.stream-modal-status span,.stream-modal-status em{font-size:9px;color:var(--text-soft);font-style:normal;text-transform:uppercase;letter-spacing:.7px}.stream-modal-status strong{grid-row:span 2;color:var(--low);font-size:28px}.stream-details{display:grid;grid-template-columns:1fr 1fr;gap:0 15px;margin:0}.stream-details div{padding:9px 0;border-top:1px solid var(--border)}.stream-details dt{padding:0;border:0;font-size:9px;text-transform:uppercase;letter-spacing:.5px}.stream-details dd{padding:2px 0 0;border:0;color:var(--text);font-weight:800}.stream-modal-footnote{margin:20px 0 0;color:var(--text-soft);font-size:10px}.modal-open{overflow:hidden}
@media(max-width:800px){.stream-modal-panel{grid-template-columns:1fr}.stream-modal-media{max-height:310px}.stream-modal-info{padding:22px}}

/* OpenCV stream panel: permanent, quiet thumbnails with the same interaction language as asset health. */
.stream-module-heading{padding:16px 18px 12px;border-bottom:1px solid var(--border)}.stream-module-heading h2{margin:3px 0;font-size:17px}.stream-module-heading p:last-child{margin:0;color:var(--text-soft);font-size:11px}.stream-module-content{padding:0 18px 18px;border-top:0}.stream-row{gap:14px;padding-top:16px}.stream-card{flex-basis:188px;background:var(--surface);box-shadow:var(--shadow);transition:.15s}.stream-card:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:0 14px 34px color-mix(in srgb,var(--brand) 17%,transparent)}.stream-card-body{gap:4px;padding:11px}.stream-card-body small{font-size:9px}.stream-card-body strong{font-size:14px}.stream-metric-label{font-size:9px;margin-top:6px}.stream-card-body b{font-size:18px}.stream-summary{font-size:10px}.stream-modal{padding:24px}.stream-modal-panel{grid-template-columns:minmax(0,1.45fr) minmax(360px,.8fr);width:calc(100vw - 48px);height:calc(100vh - 48px);max-width:none;max-height:none}.stream-modal-media{min-height:0}.stream-modal-media img{max-height:calc(100vh - 48px);object-fit:contain}.stream-modal-info{padding:38px 36px;overflow:auto}.stream-modal-info h2{font-size:32px}.stream-modal-description{font-size:15px;line-height:1.55}.stream-modal-status strong{font-size:34px}.stream-details dd{font-size:14px}
@media(max-width:800px){.stream-modal-panel{width:calc(100vw - 24px);height:calc(100vh - 24px)}.stream-modal-media{height:42vh;max-height:none}.stream-modal-media img{max-height:42vh}.stream-modal-info{padding:24px}}

.experimental-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;margin:24px 0 30px;border-left:3px solid var(--brand)}.experimental-intro h2{margin:3px 0 8px}.experimental-intro p:last-child{max-width:780px;margin-bottom:0;color:var(--text-soft)}.experimental-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.experimental-card{display:flex;flex-direction:column;min-height:250px;transition:.15s}.experimental-card:hover{transform:translateY(-3px);border-color:var(--brand);box-shadow:0 14px 34px color-mix(in srgb,var(--brand) 17%,transparent)}.experimental-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.experimental-index{font:700 12px Consolas,monospace;color:var(--text-soft)}.experimental-card h2{margin:3px 0 8px}.experimental-card p:not(.eyebrow){color:var(--text-soft);max-width:580px}.experimental-card .button,.experimental-card-note{margin-top:auto;align-self:flex-start}.experimental-card-note{font-size:11px;color:var(--text-soft)}
@media(max-width:700px){.experimental-grid{grid-template-columns:1fr}.experimental-intro{display:block}.experimental-intro .state{display:inline-block;margin-top:16px}}
.lab-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding:8px 0 30px;border-bottom:1px solid var(--border)}.lab-hero h1{margin:4px 0 8px;font-size:clamp(36px,5vw,68px)}.lab-hero p:last-child{color:var(--text-soft);margin:0}.lab-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:28px 0 38px}.lab-metrics article{padding:28px 30px}.lab-metrics b{display:block;font-size:28px;word-break:break-word}.lab-metrics span,.lab-device-grid label,.lab-reading label{display:block;margin-top:10px;color:var(--text-soft);font:11px Consolas,monospace;letter-spacing:1px}.lab-section-label{margin-bottom:14px}.lab-device-card{overflow:hidden;padding:0}.lab-device-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:38px 40px 34px;border-bottom:1px solid var(--border)}.lab-device-header h2{font-size:clamp(28px,4vw,48px);margin:4px 0 8px}.lab-device-header p:last-child{margin:0;color:var(--text-soft)}.lab-device-grid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--border)}.lab-device-grid>div{min-height:130px;padding:27px 32px;border-right:1px solid var(--border)}.lab-device-grid>div:last-child{border-right:0}.lab-device-grid strong{display:block;margin-top:16px;font-size:18px;word-break:break-word}.lab-reading-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:30px 34px}.lab-reading{min-height:150px;padding:26px 28px;border:1px solid var(--brand-bright);border-radius:8px;background:var(--brand-soft)}.lab-reading.preview{border-color:var(--medium);background:var(--medium-soft)}.lab-reading strong{display:block;margin-top:12px;font-size:42px}.lab-reading small{display:block;margin-top:14px;color:var(--text-soft)}.lab-device-footer{padding:0 38px 28px;color:var(--text-soft);font:12px Consolas,monospace}.lab-contract{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:28px 32px}.lab-contract h2{margin:4px 0 8px}.lab-contract p:last-child{max-width:760px;color:var(--text-soft);margin:0}.lab-contract code{padding:12px 14px;border:1px solid var(--border);color:var(--brand);white-space:nowrap}@media(max-width:800px){.lab-hero,.lab-contract{display:block}.lab-hero .state{display:inline-block;margin-top:18px}.lab-metrics,.lab-device-grid,.lab-reading-grid{grid-template-columns:1fr}.lab-device-grid>div{border-right:0;border-bottom:1px solid var(--border)}.lab-device-header{display:block}.lab-device-header .state{display:inline-block;margin-top:18px}.lab-contract code{display:inline-block;margin-top:18px;white-space:normal}}

.national-heading{align-items:start;margin-top:12px}.national-heading h1{margin:3px 0}.national-heading p:last-child{margin:0;color:var(--text-soft)}.national-heading>.state{margin-top:8px}.national-metrics{margin:20px 0 22px}.national-operations-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:15px}.national-map-panel{padding:18px}.national-map-wrap{position:relative;min-height:480px;border:1px solid var(--border);border-radius:7px;background:radial-gradient(circle at 48% 42%,color-mix(in srgb,var(--brand-soft) 22%,var(--surface-muted)),var(--surface-muted));overflow:hidden}.national-map-wrap svg{display:block;width:100%;height:auto;min-height:480px}.map-state-fill{fill:color-mix(in srgb,var(--brand-soft) 30%,var(--surface));stroke:none}.map-state-line{fill:none;stroke:color-mix(in srgb,var(--brand) 38%,var(--border));stroke-width:1.1}.map-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-soft);font-size:11px;text-transform:uppercase;letter-spacing:1px}.national-store-pin{stroke:var(--surface);stroke-width:2;cursor:pointer;transition:.15s}.national-store-pin.healthy{fill:var(--low);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--low) 70%,transparent))}.national-store-pin.attention{fill:var(--medium);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--medium) 70%,transparent))}.national-store-pin.critical{fill:var(--high)}.national-store-pin.offline{fill:var(--offline)}.national-store-pin:hover,.national-store-pin.is-selected{stroke:var(--text);stroke-width:3;r:8}.map-legend{display:flex;gap:18px;padding:13px 2px 0;color:var(--text-soft);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.map-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.healthy{background:var(--low)}.legend-dot.attention{background:var(--medium)}.legend-dot.offline{background:var(--offline)}.map-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--low);box-shadow:0 0 0 4px color-mix(in srgb,var(--low) 15%,transparent);margin-right:6px}.national-store-panel{padding:18px;display:flex;flex-direction:column;min-height:580px}.national-store-list{max-height:315px;overflow:auto;border-top:1px solid var(--border)}.national-store-row{width:100%;display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:9px 5px;background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;color:var(--text);text-align:left}.national-store-row:hover,.national-store-row.is-selected{background:color-mix(in srgb,var(--brand-soft) 35%,transparent)}.national-store-row strong{display:block;font-size:12px}.national-store-row small{display:block;color:var(--text-soft);font-size:10px}.national-store-row>b{font-size:15px;color:var(--low)}.national-store-status{width:7px;height:7px;border-radius:50%;background:var(--low)}.national-store-status.not_onboarded{background:var(--offline)}.national-store-status.healthy{background:var(--low)}.national-store-status.attention{background:var(--medium)}.national-store-detail{margin-top:auto;padding:17px 4px 2px;border-top:1px solid var(--border)}.national-store-detail h3{margin:3px 0 13px;font-size:18px}.national-store-detail .eyebrow{font-size:9px}.national-detail-health{display:flex;justify-content:space-between;align-items:end;padding:12px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted)}.national-detail-health span{font-size:9px;color:var(--text-soft);letter-spacing:.6px}.national-detail-health strong{font-size:21px;color:var(--low)}.national-store-detail dl{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin:10px 0 0}.national-store-detail dt{padding:7px 0 2px;border:0;font-size:9px}.national-store-detail dd{padding:0 0 7px;border-bottom:1px solid var(--border);font-weight:800}
@media(max-width:900px){.national-operations-layout{grid-template-columns:1fr}.national-store-panel{min-height:0}.national-store-list{max-height:260px}}

/* The triage panel is an in-page aside, not the fixed application navigation aside. */
.national-store-panel{position:static;inset:auto;width:auto;height:auto;background:var(--surface);color:var(--text)}

/* Facilities Manager Lab */
.facilities-heading,.facility-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin:12px 0 22px}.facilities-heading h1,.facility-detail-heading h1{margin:3px 0 5px;font-size:clamp(30px,4vw,48px)}.facilities-heading p:last-child,.facility-detail-heading p:last-child{margin:0;color:var(--text-soft)}.facilities-mock-label{flex:none;padding:7px 10px;border:1px solid var(--medium);border-radius:4px;color:var(--medium);font-size:9px;font-weight:900;letter-spacing:.8px}.facilities-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.facilities-kpis article{padding:15px 17px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.facilities-kpis span,.facilities-kpis small{display:block;color:var(--text-soft);font-size:9px;text-transform:uppercase;letter-spacing:.5px}.facilities-kpis strong{display:block;margin:3px 0;font-size:27px}.facilities-kpis .is-emergency strong{color:var(--high)}.facilities-kpis .is-issue strong{color:var(--medium)}.facilities-kpis .is-healthy strong{color:var(--low)}.facilities-filter-panel{padding:15px 18px;margin-bottom:15px}.facilities-filter-heading,.facilities-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.facilities-filter-heading h2,.facilities-section-heading h2{margin:2px 0;font-size:17px}.facilities-reset{padding:6px 10px;background:transparent;border:1px solid var(--border);color:var(--brand);font-size:10px}.facilities-reset:hover{background:var(--brand-soft)}.facilities-filters{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:10px;margin-top:11px}.facilities-filters label span{display:block;margin-bottom:5px;color:var(--text-soft);font-size:9px;text-transform:uppercase;letter-spacing:.5px}.facilities-filters input,.facilities-filters select{width:100%;height:39px;padding:0 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface-muted);color:var(--text)}.facilities-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(360px,.8fr);gap:15px}.facilities-map-panel,.facilities-site-panel{padding:18px}.facilities-section-heading>span{color:var(--text-soft);font-size:10px}.facilities-map-wrap{position:relative;min-height:510px;margin-top:12px;border:1px solid var(--border);border-radius:7px;background:radial-gradient(circle at 48% 42%,color-mix(in srgb,var(--brand-soft) 22%,var(--surface-muted)),var(--surface-muted));overflow:hidden}.facilities-map-wrap svg{display:block;width:100%;height:auto;min-height:510px}.facilities-state-fill{fill:color-mix(in srgb,var(--brand-soft) 27%,var(--surface));stroke:none}.facilities-state-line{fill:none;stroke:color-mix(in srgb,var(--brand) 35%,var(--border));stroke-width:1.1}.facilities-pin{cursor:pointer;transition:transform .15s}.facilities-pin circle{stroke:var(--surface);stroke-width:2;filter:drop-shadow(0 3px 5px rgba(0,0,0,.28))}.facilities-pin-link.condition-emergency circle{fill:var(--high)}.facilities-pin-link.condition-issue circle{fill:var(--medium)}.facilities-pin-link.condition-watch circle{fill:#3f83bd}.facilities-pin-link:hover .facilities-pin,.facilities-pin-link:focus .facilities-pin{filter:brightness(1.15)}.facilities-pin-link:hover circle,.facilities-pin-link:focus circle{stroke:var(--text);stroke-width:3}.facilities-map-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;color:var(--text-soft);font-size:9px;text-transform:uppercase;letter-spacing:.45px}.facilities-map-legend span{display:flex;align-items:center;gap:6px}.facilities-map-legend img{width:12px;height:15px;object-fit:contain}.legend-dot.emergency{background:var(--high)}.legend-dot.issue{background:var(--medium)}.legend-dot.watch{background:#3f83bd}.facilities-site-panel{position:static;inset:auto;width:auto;height:auto;background:var(--surface);color:var(--text)}.facilities-site-list{display:grid;gap:8px;max-height:580px;margin-top:12px;overflow:auto}.facilities-site-card{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:7px;color:var(--text);text-decoration:none;background:var(--surface-muted);transition:.15s}.facilities-site-card:hover{border-color:var(--brand);transform:translateX(2px)}.facilities-site-card[hidden]{display:none}.facilities-site-marker{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;background:var(--low)}.facilities-site-marker img{width:13px;height:17px;object-fit:contain}.condition-emergency .facilities-site-marker{background:var(--high)}.condition-issue .facilities-site-marker{background:var(--medium)}.condition-watch .facilities-site-marker{background:#3f83bd}.facilities-site-copy strong,.facilities-site-copy small,.facilities-site-copy em{display:block}.facilities-site-copy strong{font-size:12px}.facilities-site-copy small{margin:3px 0;color:var(--text-soft);font-size:10px}.facilities-site-copy em{color:var(--brand);font-size:8px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.4px}.facilities-card-arrow{color:var(--brand);font-size:24px}.facilities-empty{padding:40px 12px;color:var(--text-soft);text-align:center}.facility-condition{padding:8px 11px;border-radius:4px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.facility-condition.condition-emergency{color:var(--high);background:var(--high-soft)}.facility-condition.condition-issue{color:var(--medium);background:var(--medium-soft)}.facility-condition.condition-watch{color:#3f83bd;background:#3f83bd1f}.facility-condition.condition-healthy{color:var(--low);background:var(--low-soft)}.facility-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr);gap:15px}.facility-detail-main,.facility-detail-side{display:grid;align-content:start;gap:15px}.facility-issue-card,.facility-provider-card,.facility-site-card,.facility-equipment-card{padding:22px}.facility-issue-card{border-left:4px solid var(--low)}.facility-issue-card.condition-emergency{border-left-color:var(--high)}.facility-issue-card.condition-issue{border-left-color:var(--medium)}.facility-issue-card.condition-watch{border-left-color:#3f83bd}.facility-issue-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.facility-issue-title span{color:var(--brand);font-size:9px;font-weight:900;letter-spacing:.6px}.facility-issue-title h2{margin:4px 0 8px}.facility-issue-title time{flex:none;color:var(--text-soft);font-size:10px}.facility-issue-card>p:not(.eyebrow){color:var(--text-soft);font-size:14px}.facility-recommended-action{display:grid;gap:4px;margin-top:18px;padding:13px;border:1px solid var(--border);border-radius:6px;background:var(--surface-muted)}.facility-recommended-action strong{font-size:10px;text-transform:uppercase;letter-spacing:.5px}.facility-recommended-action span{color:var(--text-soft);font-size:12px}.facility-provider-card h2,.facility-site-card h2{margin:4px 0}.facility-provider-card>p:not(.eyebrow){color:var(--text-soft)}.provider-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.provider-contact-actions a{padding:10px;border:1px solid var(--brand);border-radius:5px;color:var(--brand);text-align:center;text-decoration:none;font-size:11px;font-weight:800}.provider-contact-actions .provider-call{background:var(--brand);color:#fff}.facility-provider-card dl{margin:0}.facility-provider-card dl div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-top:1px solid var(--border)}.facility-provider-card dt,.facility-provider-card dd{padding:0;border:0;font-size:10px}.facility-provider-card dd{color:var(--text);font-weight:800;text-align:right}.facility-mock-note{display:block;margin-top:13px;color:var(--text-soft)}.facility-site-card address{margin:12px 0;color:var(--text-soft);font-style:normal;line-height:1.5}.facility-site-card>a:not(.button){color:var(--brand)}.facility-site-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.facility-site-stats span{padding:11px;border:1px solid var(--border);border-radius:5px;background:var(--surface-muted)}.facility-site-stats small,.facility-site-stats b{display:block}.facility-site-stats small{color:var(--text-soft);font-size:9px}.facility-site-stats b{margin-top:3px;font-size:20px}.facility-equipment-card .facilities-section-heading{margin-bottom:12px}.facility-equipment-list>div{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-top:1px solid var(--border)}.facility-equipment-list strong,.facility-equipment-list small{display:block}.facility-equipment-list small{margin-top:3px;color:var(--text-soft);font-size:9px}.facility-equipment-list b{color:var(--low);font-size:18px}.facility-empty-copy{color:var(--text-soft)}
@media(max-width:980px){.facilities-layout,.facility-detail-grid{grid-template-columns:1fr}.facilities-site-list{max-height:420px}.facilities-map-wrap,.facilities-map-wrap svg{min-height:420px}}
@media(max-width:720px){.facilities-heading,.facility-detail-heading{display:block}.facilities-mock-label,.facility-condition{display:inline-block;margin-top:15px}.facilities-kpis{grid-template-columns:1fr 1fr}.facilities-filters{grid-template-columns:1fr}.facilities-map-panel,.facilities-site-panel{padding:13px}.facilities-map-wrap,.facilities-map-wrap svg{min-height:330px}.provider-contact-actions{grid-template-columns:1fr}.facility-issue-title{display:block}.facility-issue-title time{display:block;margin-bottom:10px}}
@media(max-width:700px){header{gap:8px}header input{width:min(170px,52vw)}.header-actions{gap:5px}.theme-toggle{padding:7px}.facilities-kpis article{padding:12px}.facilities-kpis strong{font-size:23px}}
.facilities-map-wrap svg{touch-action:none}.facilities-map-controls{position:absolute;right:12px;bottom:12px;z-index:2;display:grid;grid-template-columns:34px 34px auto;gap:5px;padding:5px;border:1px solid var(--border);border-radius:7px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow)}.facilities-map-controls button{min-width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--brand);font-size:18px;line-height:1}.facilities-map-controls button:last-child{width:auto;padding:0 9px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.4px}.facilities-map-controls button:hover{background:var(--brand-soft);border-color:var(--brand)}
.store-detail-nav{display:flex;justify-content:space-between;gap:15px;margin:12px 2px;color:var(--text-soft);font-size:10px}.store-detail-nav a{color:var(--brand);font-weight:800;text-decoration:none}.store-service-strip{display:grid;grid-template-columns:1fr 1.2fr auto;align-items:center;gap:22px;margin:-14px 0 28px;padding:17px 20px;border-left:4px solid var(--brand)}.store-service-strip h2{margin:3px 0;font-size:17px}.store-service-strip p:not(.eyebrow){margin:0;color:var(--text-soft);font-size:10px}.store-service-issue{display:grid;gap:3px;padding-left:20px;border-left:1px solid var(--border)}.store-service-issue small,.store-service-issue span{color:var(--text-soft);font-size:9px;text-transform:uppercase;letter-spacing:.4px}.store-service-issue strong{font-size:12px}.store-service-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.store-service-actions a{padding:8px 10px;border:1px solid var(--brand);border-radius:5px;color:var(--brand);text-align:center;text-decoration:none;font-size:9px;font-weight:800}.store-service-actions a:first-child{background:var(--brand);color:#fff}.store-service-actions small{grid-column:1/-1;color:var(--text-soft);font-size:8px;text-align:right}.asset-grid:empty:after{content:'Equipment inventory is not available for this location.';display:block;color:var(--text-soft)}
@media(max-width:900px){.store-service-strip{grid-template-columns:1fr}.store-service-issue{padding:12px 0;border-left:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}}

/* Keep the global button hover treatment from washing out stream-card text. */
.stream-card:hover,.stream-card:focus-visible{background:var(--surface);color:var(--text);border-color:var(--brand);box-shadow:0 14px 34px color-mix(in srgb,var(--brand) 17%,transparent)}
.stream-card:hover strong,.stream-card:focus-visible strong{color:var(--text)}
.stream-thumb-wrap{background:var(--surface-muted);border-bottom:1px solid var(--border-strong)}.stream-card-body{background:var(--surface)}
.stream-card-body strong{display:block;padding-bottom:9px;margin-bottom:3px;border-bottom:1px solid var(--border-strong)}
.legend-dot.not-onboarded{background:#64748b}.facilities-pin-link.condition-not_onboarded circle{fill:#64748b}.condition-not_onboarded .facilities-site-marker{background:var(--surface-muted)}.facility-condition.condition-not_onboarded{color:#64748b;background:#64748b1f}
