/* Application layouts and controls. Visual foundation: bundled Tabler 1.6.1.
   Legacy Supabase/industrial/dashboard themes are deliberately not loaded. */
:root{color-scheme:light;--canvas:#f4f6f8;--surface:#fff;--surface-muted:#f0f4f8;--text:#152235;--muted:#586678;--line:#dce3ea;--accent:#2563eb;--accent-soft:#eff6ff;--good:#137a56;--good-bg:#e9f7f0;--warn:#9a5b0a;--warn-bg:#fff5df;--danger:#c43636;--danger-bg:#fff0ef;--radius:12px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;color:var(--text);background:var(--canvas);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:var(--accent)}button,input,select,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #89b3ff;outline-offset:3px}button{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.28;font-weight:650;letter-spacing:-.6px}h2{font-size:21px;line-height:1.35;font-weight:650;letter-spacing:-.3px}h3{font-size:16px;line-height:1.4;font-weight:650}p{line-height:1.5}strong{font-weight:650}[hidden]{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:1.15px;font-weight:650;color:var(--muted);margin-bottom:8px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.skip-link{position:fixed;left:16px;top:-100px;z-index:30;background:white;padding:12px;border:2px solid var(--accent)}.skip-link:focus{top:12px}.button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:7px;padding:9px 14px;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;background:transparent;white-space:nowrap}.button.primary{background:var(--accent);color:#fff}.button.primary:hover{background:#1d4ed8}.button.secondary{background:var(--surface);border-color:var(--line)}.button.secondary:hover{background:var(--surface-muted);border-color:#aebbc9}.button.quiet{color:var(--muted)}.button.quiet:hover{background:var(--surface-muted);color:var(--text)}.button.small{min-height:34px;padding:6px 10px;font-size:12px}.button.full{width:100%}.brand{display:flex;align-items:center;gap:10px;font-size:19px;line-height:1.15;font-weight:700;letter-spacing:-.3px;flex-shrink:0}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:34px;height:38px;border-radius:8px;background:var(--accent);color:white;font-size:25px;line-height:1;font-weight:700}.brand-caption{display:block;font-size:12px;line-height:1.6;letter-spacing:.35px;color:var(--muted);font-weight:500}.brand-button{border:0;background:none;text-align:left;padding:0}.topbar{height:76px;padding:0 32px;display:flex;align-items:center;gap:40px;background:var(--surface);border-bottom:1px solid var(--line)}.main-nav{display:flex;align-self:stretch;gap:24px}.nav-link{border:0;background:none;position:relative;padding:0 2px;font-size:13px;font-weight:550;color:var(--muted)}.nav-link.is-active{color:var(--accent)}.nav-link.is-active:after{content:"";height:2px;background:var(--accent);position:absolute;bottom:0;left:0;right:0}.topbar-meta{margin-left:auto;display:flex;align-items:center;gap:14px;font-size:12px;color:var(--muted)}.local-time{font-variant-numeric:tabular-nums;color:var(--text)}.timezone{border-right:1px solid var(--line);padding-right:16px}.user-name{max-width:160px;overflow:hidden;text-overflow:ellipsis}.workspace{max-width:1600px;margin:auto;padding:32px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading .muted{margin-top:7px;font-size:13px}.refresh-area{display:flex;align-items:center;gap:14px;flex-shrink:0}.refresh-state{font-size:12px;color:var(--muted)}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:30px}.summary-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:18px 20px;min-width:0}.summary-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:500}.summary-card>div{display:flex;align-items:baseline;gap:7px;margin:12px 0 9px;line-height:1}.summary-card strong{font-size:30px;font-weight:650;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.summary-denominator{font-size:19px;color:#85909e}.summary-unit{font-size:14px;color:var(--muted)}.summary-foot{color:var(--muted);font-size:12px;line-height:1.4}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:#8b98a8;flex:none}.dot.online{background:var(--good)}.dot.offline{background:var(--danger)}.dot.warning{background:var(--warn)}.fleet-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:18px}.site-filter{display:flex;gap:5px;flex-wrap:wrap}.site-button{border:1px solid transparent;border-radius:7px;padding:9px 13px;background:transparent;font-size:13px;color:var(--muted);min-height:38px;display:flex;gap:9px;align-items:center;white-space:nowrap}.site-button span{font-size:12px;padding:2px 5px;min-width:19px;text-align:center;background:#e5eaf0;border-radius:4px;font-variant-numeric:tabular-nums}.site-button:hover{background:#e9eef4}.site-button[aria-pressed=true]{background:var(--surface);border-color:var(--line);color:var(--text);font-weight:600;box-shadow:0 1px 2px #15223505}.site-button[aria-pressed=true] span{background:var(--accent-soft);color:var(--accent)}.fleet-count{font-size:12px;color:var(--muted);white-space:nowrap}.fleet-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.unit-card{display:block;min-width:0;min-height:274px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:left;box-shadow:0 1px 2px #15223503;transition:border-color .15s,box-shadow .15s}.unit-card:hover{border-color:#9cb6db;box-shadow:0 3px 12px #15223508}.unit-card>span{display:block}.card-top{display:flex!important;justify-content:space-between;gap:12px;align-items:flex-start}.card-name{display:block;font-size:18px;font-weight:650;line-height:1.4;letter-spacing:-.2px}.card-site{display:block;font-size:12px;color:var(--muted);margin-top:3px}.card-arrow{font-size:20px;line-height:1;color:#9ba8b8}.card-statuses{display:flex!important;flex-wrap:wrap;gap:6px;margin:15px 0 18px}.badge{display:inline-flex;align-items:center;gap:6px;max-width:100%;font-size:12px;line-height:1.45;font-weight:550;border-radius:5px;padding:4px 7px;background:var(--surface-muted);color:var(--muted)}.badge:before{content:"";width:5px;height:5px;flex:none;border-radius:50%;background:currentColor}.badge.online,.badge.good{color:var(--good);background:var(--good-bg)}.badge.stale,.badge.waiting,.badge.warning{color:var(--warn);background:var(--warn-bg)}.badge.offline,.badge.error,.badge.invalid{color:var(--danger);background:var(--danger-bg)}.badge.unconfigured,.badge.neutral,.badge.missing,.badge.unavailable{background:var(--surface-muted);color:var(--muted)}.card-power{display:flex!important;align-items:baseline;gap:8px}.card-power .metric-value{font-size:38px;line-height:44px;font-weight:650;letter-spacing:-1.1px}.card-power .metric-unit{font-size:15px;color:var(--muted)}.card-power-label{font-size:12px;color:var(--muted);margin-top:1px}.card-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border-top:1px solid #edf0f4;margin-top:19px;padding-top:15px}.card-mini{display:block;min-width:0}.card-mini-label{font-size:12px;line-height:1.4;color:var(--muted);display:block;margin-bottom:5px}.card-mini-reading{display:block;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.3}.card-mini .metric-value{font-size:19px;font-weight:600;letter-spacing:-.2px}.card-mini .metric-unit{font-size:12px;color:var(--muted);margin-left:3px}.card-footer{border-top:1px solid #edf0f4;margin-top:17px;padding-top:12px;display:flex!important;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;line-height:1.4}.quality-stale .metric-value{color:var(--warn)}.quality-invalid .metric-value{color:var(--danger)}.quality-missing .metric-value,.quality-unavailable .metric-value{color:#8f9baa}.metric-quality{font-size:12px;color:var(--muted);line-height:1.5}.quality-stale .metric-quality{color:var(--warn)}.quality-invalid .metric-quality{color:var(--danger)}.data-note{font-size:12px;color:var(--muted);margin-top:16px;max-width:860px}.connections-section{margin-top:44px;scroll-margin-top:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.receiver-strip{display:flex;justify-content:space-between;gap:24px;border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;background:#eaf0f6;margin-bottom:18px}.receiver-strip h3{font-size:14px}.receiver-strip p{font-size:12px;color:var(--muted);margin-top:5px;max-width:720px}.receiver-address{display:flex;flex-direction:column;gap:7px;max-width:40%;min-width:200px}.receiver-address>span{font-size:12px;color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.panel-head{padding:20px 22px 17px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf0f4}.panel-head h3{font-size:15px}.panel-head p{font-size:12px;color:var(--muted);margin-top:5px}.small-count{background:var(--surface-muted);padding:3px 7px;border-radius:5px;color:var(--muted);font-size:12px}.empty-inline{display:flex;flex-direction:column;gap:7px;padding:25px 22px;color:var(--muted);font-size:12px;line-height:1.5}.empty-inline strong{color:var(--text);font-size:13px;font-weight:550}.pending-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 22px;border-bottom:1px solid #edf0f4}.pending-row:last-child{border-bottom:0}.pending-row>div{min-width:0}.pending-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.pending-meta{font-size:12px;color:var(--muted);margin-top:5px}.event-list{list-style:none;margin:0;padding:0;max-height:350px;overflow:auto}.event-row{display:grid;grid-template-columns:6px minmax(0,1fr) auto;gap:10px;padding:17px 22px;border-bottom:1px solid #edf0f4;align-items:start}.event-row:last-child{border-bottom:0}.event-row .dot{margin-top:6px}.event-message{font-size:12px;overflow-wrap:anywhere}.event-device{font-size:12px;color:var(--muted);margin-top:4px}.event-row time{font-size:12px;white-space:nowrap;color:var(--muted);padding-top:2px}.page-footer{display:flex;gap:16px;justify-content:space-between;color:#768495;font-size:12px;line-height:1.5;border-top:1px solid var(--line);padding:21px 0 0;margin-top:40px}.unit-breadcrumb{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:12px;margin-bottom:25px}.back-link{color:var(--muted);border:0;padding:5px 0;background:none;display:inline-flex;gap:8px;align-items:center;font-size:12px}.back-link:hover{color:var(--accent)}.unit-breadcrumb select{margin-left:auto;width:auto;max-width:310px;min-width:170px;height:36px;font-size:12px}.unit-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.unit-heading h1{font-size:30px;letter-spacing:-.6px}.unit-heading-meta{display:flex;align-items:center;gap:18px;color:var(--muted);font-size:12px}.status-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.unit-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:24px;overflow-x:auto;scrollbar-width:none}.unit-tabs button{position:relative;white-space:nowrap;border:0;background:none;padding:0 0 15px;font-size:14px;font-weight:550;color:var(--muted)}.unit-tabs button[aria-selected=true]{color:var(--accent)}.unit-tabs button[aria-selected=true]:after{position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent);content:""}.instrument-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.metric-tile{display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;min-height:159px;transition:border-color .15s}.metric-tile:hover{border-color:#9cb6db}.metric-label{font-size:12px;font-weight:550;color:var(--muted);line-height:1.5;display:flex;justify-content:space-between;gap:10px}.metric-label:after{content:"↗";color:#9ba8b8}.metric-reading{display:flex;align-items:baseline;gap:8px;white-space:nowrap;margin:15px 0 7px;font-variant-numeric:tabular-nums;min-width:0}.metric-reading .metric-value{font-size:40px;line-height:1.2;letter-spacing:-1px;font-weight:650}.metric-reading .metric-unit{font-size:14px;color:var(--muted)}.metric-tile .metric-quality{margin-top:auto}.metric-tile.is-selected{border-color:#89acf0;box-shadow:0 0 0 1px #d8e6ff;background:#fbfdff}.section-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;margin-bottom:20px}.measure-panel{padding:20px 22px}.measure-panel>h3{font-size:15px;margin-bottom:18px}.phase-section+.phase-section{border-top:1px solid #edf0f4;margin-top:20px;padding-top:18px}.phase-label{font-size:12px;color:var(--muted);margin-bottom:12px}.phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.phase-cell{border:0;border-radius:7px;background:var(--surface-muted);text-align:left;padding:12px;min-width:0}.phase-cell:hover{background:var(--accent-soft)}.phase-name{font-size:12px;color:var(--muted)}.phase-reading{display:flex;align-items:baseline;gap:5px;margin-top:8px;font-variant-numeric:tabular-nums}.phase-reading .metric-value{font-size:25px;font-weight:600;line-height:1.2;letter-spacing:-.5px}.phase-reading .metric-unit{font-size:12px;color:var(--muted)}.phase-cell .metric-quality{display:block;margin-top:7px;font-size:12px}.compact-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.compact-metrics .metric-tile{min-height:140px}.compact-metrics .metric-reading .metric-value{font-size:30px}.controller-list{display:flex;flex-direction:column;gap:0}.controller-row{padding:14px 0;border-bottom:1px solid #edf0f4;display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px;color:var(--muted)}.controller-row:first-child{padding-top:0}.controller-row:last-child{border-bottom:0;padding-bottom:0}.controller-row strong{font-size:14px;color:var(--text);font-weight:550;text-align:right;overflow-wrap:anywhere}.panel-note{font-size:12px;color:var(--muted);margin-top:17px;line-height:1.5}.metric-instruction{font-size:12px;color:var(--muted);margin:0 0 17px}.unit-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:16px}.unit-section-heading p{font-size:12px;color:var(--muted)}.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;margin:0}.detail-list>div{padding:14px 0;border-bottom:1px solid #edf0f4;min-width:0}.detail-list>div:nth-child(odd){padding-right:16px}.detail-list dt{font-size:12px;color:var(--muted);margin-bottom:6px}.detail-list dd{font-size:13px;line-height:1.5;overflow-wrap:anywhere;margin:0}.connection-action{display:flex;align-items:center;gap:15px;margin-top:20px}.catalog-list{list-style:none;margin:0;padding:0;max-height:440px;overflow:auto}.catalog-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0f4;font-size:12px}.catalog-list li:last-child{border:0}.catalog-list .badge{font-size:12px;flex-shrink:0}.history-panel{margin-top:24px;padding:23px 24px}.history-heading{display:flex;gap:16px;align-items:center;justify-content:space-between}.history-heading h2{font-size:18px}.history-heading .eyebrow{font-size:12px}.history-controls{display:flex;align-items:flex-end;gap:14px;margin:21px 0 18px}.history-controls>div:first-child{min-width:250px}.history-controls label{margin:0 0 6px;font-size:12px;color:var(--muted)}.history-controls select{height:38px;font-size:12px}.history-controls p{font-size:12px;color:var(--muted);margin-left:auto;margin-bottom:9px;text-align:right}.chart-container{min-height:236px;position:relative}.chart-empty{height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed var(--line);border-radius:8px;background:linear-gradient(#fff,#fbfcfe);color:var(--muted);padding:28px;gap:9px}.chart-empty strong{font-size:14px;color:var(--text);font-weight:550}.chart-empty span{max-width:430px;font-size:12px;line-height:1.6}.chart-empty-icon{font-size:24px;color:#9eacc0;letter-spacing:5px}.history-chart{display:block;width:100%;height:260px;overflow:visible}.history-chart text{fill:var(--muted);font-family:inherit;font-size:12px}.history-chart line{stroke:var(--line)}.history-chart .chart-line{stroke:var(--accent);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.history-chart .chart-point{fill:var(--accent)}.history-chart .chart-focus{fill:var(--accent);stroke:white;stroke-width:2}.history-chart .chart-crosshair{stroke:#8096b8;stroke-dasharray:3 4}.chart-tooltip{background:var(--text);color:white;font-size:12px;padding:8px 12px;border-radius:6px;position:absolute;top:5px;right:8px;pointer-events:none}.chart-caption{font-size:12px;color:var(--muted);margin-top:10px}.notice{border:1px solid #f4baba;background:var(--danger-bg);border-radius:8px;padding:13px 16px;margin-bottom:22px;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.warning-notice{border-color:#ebd7a5;background:var(--warn-bg);color:var(--warn)}.loading-panel,.empty-state{padding:50px 24px;text-align:center;color:var(--muted);background:white;border:1px solid var(--line);border-radius:var(--radius);line-height:1.6}.empty-state strong{display:block;color:var(--text);margin-bottom:8px}.fetch-stale .refresh-state{color:var(--danger)}.fetch-stale .unit-card{border-color:#e2cda3}.boot{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:16px;color:var(--muted)}.login-view{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;background:var(--surface)}.login-story{background:#152235;color:white;padding:48px 11% 30px;display:flex;flex-direction:column}.brand-light .brand-caption{color:#a9b6c8}.login-intro{margin:auto 0;padding:70px 0 55px}.login-intro .eyebrow{color:#92a7c5}.login-intro h1{font-size:clamp(34px,3.3vw,52px);line-height:1.14;letter-spacing:-1.6px}.login-intro>p:last-child{color:#aebcce;margin-top:24px;line-height:1.7}.plant-map{display:flex;gap:25px;padding-top:28px;border-top:1px solid #344153;justify-content:space-between}.plant-map>div{display:flex;flex-direction:column;gap:12px}.plant-map span{font-size:12px;color:#aebcce}.plant-map strong{font-size:28px}.plant-map small{font-size:12px;font-weight:400;color:#aebcce}.login-foot{font-size:12px;color:#8194ae;margin-top:50px}.login-access{display:flex;align-items:center;justify-content:center;padding:56px}.login-form-wrap{width:100%;max-width:360px}.login-form-wrap h2{font-size:27px;letter-spacing:-.5px;margin-bottom:12px}.login-form-wrap>.muted{font-size:13px}.login-form-wrap form{margin-top:32px}.login-form-wrap .button{margin-top:24px;min-height:44px}.login-note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:27px;border-top:1px solid var(--line);padding-top:23px}label{display:block;font-size:12px;font-weight:550;margin:18px 0 7px}input,select{width:100%;height:42px;border:1px solid #cbd5df;border-radius:6px;background:var(--surface);color:var(--text);padding:9px 11px;min-width:0;max-width:100%}input:hover,select:hover{border-color:#9eafc2}input:focus,select:focus{border-color:var(--accent)}.form-error{margin:15px 0 0;color:var(--danger);font-size:12px;line-height:1.6}dialog{border:1px solid var(--line);border-radius:14px;width:540px;max-width:calc(100% - 32px);max-height:calc(100% - 40px);padding:27px;color:var(--text);overflow:auto;box-shadow:0 18px 70px #1522352b}dialog::backdrop{background:#15223570;backdrop-filter:blur(2px)}.dialog-heading{display:flex;gap:18px;align-items:flex-start;justify-content:space-between}.dialog-heading h2{font-size:22px}.dialog-heading .eyebrow{font-size:12px}.icon-button{border:0;background:var(--surface-muted);width:30px;height:30px;flex:none;border-radius:6px;color:var(--muted);font-size:23px;line-height:1}.dialog-description{font-size:12px;line-height:1.7;margin-top:17px}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field-help{font-size:12px;line-height:1.5;color:var(--muted);margin-top:6px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:50;max-width:calc(100% - 32px);background:var(--text);color:#fff;border-radius:8px;padding:13px 20px;font-size:13px;line-height:1.5;box-shadow:0 8px 30px #15223526}.noscript{padding:20px;text-align:center}.unit-events .event-list{max-height:600px}.unit-events .empty-inline{min-height:180px;justify-content:center}.equipment-note{font-size:12px;color:var(--muted);line-height:1.6;margin:18px 0 0}
@media(min-width:1700px){.workspace{max-width:1600px}.unit-card{min-height:294px;padding:24px}.card-power{margin-top:3px}.card-metrics{margin-top:22px}.card-footer{margin-top:20px}}
@media(max-width:1199px){.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{gap:28px;padding:0 24px}.workspace{padding:26px 24px}.summary-grid{gap:12px}.summary-card{padding:17px 16px}.instrument-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-grid{grid-template-columns:1.2fr 1fr}.unit-heading-meta{flex-direction:column;align-items:flex-end;gap:10px}.history-controls p{max-width:240px}.login-story{padding-left:10%;padding-right:10%}.login-access{padding:40px}.plant-map{gap:16px}}
@media(max-width:767px){h1{font-size:25px}.topbar{height:66px;padding:0 16px;gap:22px}.brand{font-size:17px;gap:8px}.brand-mark{width:30px;height:33px;font-size:23px}.brand-caption{font-size:12px}.main-nav{gap:16px}.nav-link{font-size:12px}.topbar-meta{gap:5px}.local-time,.timezone,.user-name{display:none}.topbar-meta .button{padding:6px 4px}.workspace{padding:24px 16px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:21px}.page-heading .eyebrow{font-size:12px;letter-spacing:.8px}.page-heading .muted{font-size:12px;max-width:220px}.refresh-area{flex-direction:column-reverse;align-items:flex-end;gap:9px}.refresh-state{font-size:12px;max-width:100px;text-align:right;line-height:1.4}.refresh-area .button{min-height:35px;padding:7px 10px;font-size:12px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:25px}.summary-card{padding:15px 14px}.summary-label{font-size:12px;gap:5px;line-height:1.5;min-height:30px;align-items:flex-start}.summary-label .dot{margin-top:5px}.summary-card>div{margin:8px 0 10px}.summary-card strong{font-size:28px}.summary-denominator{font-size:17px}.summary-unit{font-size:12px}.summary-foot{font-size:12px;min-height:28px}.fleet-toolbar{display:block;margin-bottom:15px}.site-filter{gap:5px;display:grid;grid-template-columns:1fr 1fr}.site-button{justify-content:space-between;padding:9px 11px;font-size:12px;min-height:38px}.fleet-count{display:block;margin-top:13px;font-size:12px}.fleet-grid{grid-template-columns:minmax(0,1fr);gap:14px}.unit-card{padding:20px;min-height:282px}.card-name{font-size:18px}.card-statuses{margin:14px 0 17px}.card-power .metric-value{font-size:36px;line-height:42px}.card-metrics{gap:12px;margin-top:18px;padding-top:15px}.card-mini .metric-value{font-size:21px}.card-mini .metric-unit{font-size:12px}.card-footer{margin-top:18px}.data-note{font-size:12px;margin-top:14px;line-height:1.6}.connections-section{margin-top:35px}.section-heading{gap:12px}.section-heading h2{font-size:20px}.section-heading .eyebrow{font-size:12px}.receiver-strip{flex-direction:column;gap:16px;padding:18px}.receiver-address{max-width:none;min-width:0;border-top:1px solid #d5dfe9;padding-top:13px}.receiver-strip p{font-size:12px}.bottom-grid{grid-template-columns:1fr;gap:14px}.panel-head{padding:18px}.panel-head p{font-size:12px}.empty-inline{padding:22px 18px}.event-row,.pending-row{padding:16px 18px}.event-row{grid-template-columns:6px minmax(0,1fr);gap:8px}.event-row time{grid-column:2}.page-footer{margin-top:30px;flex-wrap:wrap;gap:8px 18px;font-size:12px;padding-top:18px}.page-footer>span:nth-child(2){order:3;width:100%}.unit-breadcrumb{flex-wrap:wrap;gap:9px;font-size:12px;margin-bottom:21px}.unit-breadcrumb select{width:100%;max-width:none;margin:6px 0 0;height:40px}.unit-heading{align-items:flex-start;gap:8px;margin-bottom:23px}.unit-heading h1{font-size:27px}.unit-heading .eyebrow{font-size:12px;letter-spacing:.7px}.unit-heading-meta{max-width:115px;font-size:12px;text-align:right;gap:11px;line-height:1.5}.unit-heading-meta .button{font-size:12px;min-height:35px;padding:7px 10px}.status-row{gap:5px}.unit-tabs{gap:22px;margin-bottom:19px}.unit-tabs button{font-size:12px;padding-bottom:13px;min-height:37px}.instrument-grid{gap:10px;margin-bottom:16px}.metric-tile{padding:16px 13px;min-height:153px}.metric-label{font-size:12px;line-height:1.5;min-height:32px}.metric-label:after{display:none}.metric-reading{gap:5px;margin:10px 0 9px}.metric-reading .metric-value{font-size:34px;line-height:1.25;letter-spacing:-.8px}.metric-reading .metric-unit{font-size:12px}.metric-quality{font-size:12px;line-height:1.5}.section-grid,.connection-grid{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:16px}.measure-panel{padding:18px}.measure-panel>h3{font-size:14px;margin-bottom:16px}.phase-grid{gap:8px}.phase-cell{padding:11px 9px}.phase-reading{gap:4px}.phase-reading .metric-value{font-size:23px}.phase-reading .metric-unit{font-size:12px}.phase-cell .metric-quality{font-size:12px}.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.compact-metrics .metric-tile:last-child:nth-child(odd){grid-column:1/-1}.compact-metrics .metric-tile{min-height:130px}.compact-metrics .metric-reading .metric-value{font-size:29px}.panel-note{font-size:12px;margin-top:15px}.controller-row{font-size:12px;gap:12px}.controller-row strong{font-size:12px}.unit-section-heading{align-items:flex-start}.unit-section-heading h2{font-size:19px}.unit-section-heading p{font-size:12px;max-width:160px;text-align:right}.history-panel{padding:19px 16px;margin-top:20px}.history-heading h2{font-size:17px}.history-heading .eyebrow{font-size:12px;letter-spacing:.7px}.history-heading .button{font-size:12px;padding:7px 10px;min-height:35px}.history-controls{flex-wrap:wrap;gap:12px;margin-top:18px}.history-controls>div:first-child{min-width:0;flex:1 1 58%}.history-controls>div:nth-child(2){flex:1 1 32%}.history-controls p{max-width:none;text-align:left;margin:0;width:100%;font-size:12px}.history-controls select{padding:8px;font-size:12px}.chart-container{min-height:205px}.history-chart{height:220px}.chart-empty{height:220px;padding:20px}.chart-empty strong{font-size:13px}.chart-empty span{font-size:12px}.chart-caption{font-size:12px;line-height:1.5}.chart-tooltip{font-size:12px;padding:6px 9px;right:0;max-width:100%}.metric-instruction{font-size:12px;line-height:1.6}.detail-list{gap:0 10px}.detail-list dt{font-size:12px}.detail-list dd{font-size:12px}.catalog-list li{font-size:12px;gap:8px}.catalog-list .badge{font-size:12px}.connection-action{align-items:flex-start;flex-direction:column;gap:10px}.login-view{grid-template-columns:1fr}.login-story{padding:23px 24px 20px}.login-story .brand{margin-bottom:28px}.login-intro{padding:0}.login-intro .eyebrow{font-size:12px}.login-intro h1{font-size:28px;letter-spacing:-.7px}.login-intro>p:last-child{display:none}.plant-map{padding-top:17px;margin-top:24px;gap:14px}.plant-map span{font-size:12px}.plant-map strong{font-size:22px}.plant-map>div{gap:8px}.login-foot{display:none}.login-access{padding:34px 24px 40px}.login-form-wrap{max-width:400px}.login-form-wrap>.eyebrow{font-size:12px}.login-form-wrap h2{font-size:24px}.login-form-wrap form{margin-top:24px}.login-note{margin-top:23px;font-size:12px}dialog{padding:22px 19px;max-width:calc(100% - 24px);max-height:calc(100% - 24px)}.dialog-heading h2{font-size:20px}.dialog-heading .eyebrow{font-size:12px;letter-spacing:.7px}.dialog-description{font-size:12px}.form-columns{gap:12px}.dialog-actions{gap:8px}.dialog-actions .button{font-size:12px;padding:9px 10px;white-space:normal}.notice{font-size:12px;padding:12px 14px}.toast{font-size:12px;padding:12px 16px}.equipment-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

textarea{display:block;width:100%;resize:vertical;min-height:100px;font:inherit;font-size:13px;line-height:1.5;padding:11px;border:1px solid #cbd5df;border-radius:6px;background:var(--surface);color:var(--text)}textarea:focus-visible{outline:3px solid #89b3ff;outline-offset:3px}.card-maintenance{display:block!important;color:var(--muted);font-size:12px;line-height:1.5;margin-top:10px}.quality-warning{color:var(--warn)}.journal-toolbar{display:flex;gap:14px;align-items:flex-end;margin-bottom:20px}.journal-toolbar>div{min-width:180px;max-width:300px}.journal-toolbar label{font-size:12px;color:var(--muted);margin-top:0}.journal-toolbar .journal-toolbar-actions{margin-left:auto;display:flex;gap:10px;max-width:none;min-width:0}.journal-list{display:flex;flex-direction:column;gap:13px}.journal-entry{padding:21px 23px}.journal-entry-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.journal-entry-heading{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.journal-entry h3{font-size:16px;font-weight:600;line-height:1.4;margin:12px 0 7px}.journal-date{font-size:12px;color:var(--muted)}.journal-device{font-size:12px;color:var(--muted);margin-top:6px}.journal-details{font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;max-width:980px}.journal-reason{font-size:13px;color:var(--warn);margin-top:10px;padding:9px 12px;background:var(--warn-bg);border-radius:6px;overflow-wrap:anywhere}.journal-entry-foot{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;color:var(--muted);font-size:12px}.journal-result-count{font-size:12px;color:var(--muted);margin:0 0 14px}.journal-summary{margin-bottom:20px}.journal-summary h3{font-size:14px;margin-bottom:8px}.journal-summary p{font-size:13px;color:var(--muted)}.journal-load-more{margin:18px auto 0;display:flex}.journal-note{font-size:12px;color:var(--muted);line-height:1.6;margin-top:17px}.journal-empty{padding:38px 24px}.journal-empty .button{margin-top:14px}#journal-dialog{width:620px}.journal-no-data{font-size:12px;color:var(--muted);padding:26px 0}.journal-entry .badge{font-size:12px}
@media(max-width:767px){.topbar{height:auto;min-height:106px;flex-wrap:wrap;gap:0 18px;padding-top:13px}.main-nav{order:3;width:100%;height:44px;gap:22px;margin-top:6px}.topbar-meta{margin-left:auto}.nav-link{font-size:12px}.unit-tabs{gap:22px}.journal-toolbar{flex-wrap:wrap;gap:12px}.journal-toolbar>div{flex:1 1 45%;min-width:0;max-width:none}.journal-toolbar .journal-toolbar-actions{width:100%;justify-content:space-between;margin-left:0;flex-basis:100%}.journal-toolbar select{font-size:12px}.journal-entry{padding:18px}.journal-entry-head{gap:10px}.journal-entry h3{font-size:15px}.journal-entry-heading{gap:8px}.journal-date,.journal-device,.journal-entry-foot{font-size:12px}.journal-entry-head .button{font-size:12px;padding:6px 8px}.journal-entry-heading .badge{font-size:12px}.journal-details,.journal-reason{font-size:12px}.journal-summary{padding:17px}.journal-summary p{font-size:12px}#journal-view .page-heading{flex-direction:column;gap:18px}#journal-view .page-heading .button{width:100%}.form-columns:has(input[type=datetime-local]){grid-template-columns:1fr}input,select,textarea{font-size:16px}.history-controls select,.unit-breadcrumb select,.journal-toolbar select{font-size:14px}.card-mini .metric-unit{font-size:12px}.phase-cell .metric-quality{font-size:12px}.phase-grid{gap:7px}.phase-cell{padding:11px 8px}.phase-reading{gap:3px}.phase-reading .metric-value{font-size:23px}.phase-reading .metric-unit{font-size:12px}.history-chart text{font-size:13px}.card-footer{font-size:12px}.summary-foot{font-size:12px}.summary-label{min-height:34px;font-size:12px}.summary-card>div{margin-top:10px}.card-maintenance{font-size:12px}.unit-heading-meta{font-size:12px;max-width:115px}.unit-heading h1{font-size:26px}}

.nav-link{flex-shrink:0;white-space:nowrap}.main-nav{overflow-x:auto;scrollbar-width:none}.notification-panel{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px}.notification-panel h3{margin-bottom:7px}.notification-panel p{font-size:12px;line-height:1.6;color:var(--muted)}.notification-panel .badge{flex-shrink:0}.alerts-counts{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-bottom:20px}.alerts-counts strong{color:var(--text);font-variant-numeric:tabular-nums}.alert-repeats{font-size:12px;color:var(--muted);background:var(--surface-muted);padding:3px 7px;border-radius:5px}.alert-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}.alert-details>div{min-width:0}.alert-details dt{color:var(--muted);font-size:12px;margin-bottom:5px}.alert-details dd{margin:0;color:var(--text);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.unit-errors{margin-bottom:26px}.unit-errors h2{font-size:20px;margin-bottom:8px}.unit-errors>p{font-size:12px;color:var(--muted);margin-bottom:18px}.alert-ack{margin-top:16px}.main-nav::-webkit-scrollbar{display:none}@media(max-width:767px){.main-nav{gap:19px}.notification-panel{align-items:flex-start;padding:18px;flex-direction:column;gap:12px}.alert-details{grid-template-columns:1fr 1fr;gap:15px}.alert-details>div:last-child{grid-column:1/-1}.alerts-counts{gap:10px 16px}.alert-details dt,.alert-details dd{font-size:12px}.alerts-toolbar>div{flex-basis:100%}.journal-entry-head{flex-wrap:wrap}.alert-ack{width:100%;justify-content:flex-start}.nav-link{font-size:12px}}

/* Energy counters and load history extend the existing operator workspace. */
.card-energy{display:grid!important;grid-template-columns:1fr auto;gap:5px 12px;margin-top:15px;padding-top:13px;border-top:1px solid var(--line);align-items:baseline}.card-energy-label{font-size:12px;color:var(--muted)}.card-energy-reading{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;flex-wrap:wrap;font-variant-numeric:tabular-nums;min-width:0}.card-energy .metric-value{font-size:17px;font-weight:600;white-space:nowrap;letter-spacing:-.25px}.card-energy .metric-unit{font-size:11px;color:var(--muted);white-space:nowrap}.card-energy .metric-quality{grid-column:1/-1;font-size:11px}.unit-analytics{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(295px,1fr);gap:20px;margin:0 0 23px;align-items:start}.analytics-history-slot{min-width:0}.analytics-history-slot .history-panel{margin-top:0;min-height:100%;padding:23px 21px}.analytics-history-slot .history-controls{flex-wrap:wrap;gap:12px}.analytics-history-slot .history-controls>div:first-child{min-width:0;flex:1 1 55%}.analytics-history-slot .history-controls>div:nth-child(2){flex:1 1 25%;min-width:110px}.analytics-history-slot .history-controls p{width:100%;max-width:none;text-align:left;margin:0}.history-quick-periods,.energy-period{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.history-quick-periods{margin:0 0 16px}.history-quick-periods button,.energy-period button{border:1px solid transparent;background:transparent;color:var(--muted);font-size:12px;font-weight:550;line-height:1.4;border-radius:5px;padding:7px 10px;min-height:33px}.history-quick-periods button[aria-pressed=true],.energy-period button[aria-pressed=true]{background:var(--accent-soft);border-color:#b8d5c3;color:var(--accent)}.history-quick-periods button:hover,.energy-period button:hover{background:var(--surface-muted)}.energy-panel{padding:23px 21px;min-width:0}.energy-heading .eyebrow{font-size:10px;margin-bottom:6px}.energy-heading h2{font-size:19px;line-height:1.35}.energy-counter{border:0;background:transparent;padding:20px 0 18px;text-align:left;display:block;width:100%;min-width:0}.energy-counter .metric-label{font-size:12px;line-height:1.5;min-height:0;color:var(--muted)}.energy-counter .metric-reading{display:flex;flex-wrap:wrap;gap:3px 8px;white-space:normal;margin:10px 0 7px}.energy-counter .metric-value{font-size:34px;line-height:1.25;letter-spacing:-1px;font-weight:600;white-space:nowrap}.energy-counter.long-value .metric-value{font-size:28px;letter-spacing:-.7px}.energy-counter .metric-unit{font-size:13px;white-space:nowrap}.energy-counter .metric-quality{display:block;font-size:11px}.energy-counter-time{display:block;font-size:11px;color:var(--muted);margin-top:6px}.energy-period{padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.energy-period button{flex:1;padding-inline:5px}.energy-summary{padding-top:18px}.energy-delta-caption{font-size:12px;color:var(--muted);line-height:1.5}.energy-delta-reading{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;margin:9px 0 11px;font-variant-numeric:tabular-nums}.energy-delta-reading strong{font-size:29px;line-height:1.3;letter-spacing:-.7px;font-weight:600;white-space:nowrap}.energy-delta-reading strong.long-value{font-size:25px}.energy-delta-reading>span{font-size:12px;color:var(--muted);white-space:nowrap}.energy-description{font-size:12px;color:var(--muted);line-height:1.6;margin-top:10px;overflow-wrap:anywhere}.energy-details{margin:17px 0 0;border-top:1px solid var(--line);padding-top:4px}.energy-details>div{display:flex;gap:12px;justify-content:space-between;padding-top:12px;align-items:flex-start}.energy-details dt{font-size:11px;line-height:1.5;color:var(--muted);max-width:45%}.energy-details dd{margin:0;font-size:12px;line-height:1.6;text-align:right;font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}.energy-details dd strong{font-size:12px;font-weight:550}.energy-details dd span{display:block;font-size:11px;color:var(--muted)}.energy-method{font-size:11px;line-height:1.6;color:var(--muted);border-top:1px solid var(--line);padding-top:13px;margin-top:15px}
.card-runtime{margin-top:7px;padding-top:7px;border-top:0}.runtime-counter{display:block;width:100%;text-align:left;border:0;border-top:1px solid var(--line);background:transparent;padding:13px 0 15px}.runtime-counter .metric-label{display:block;font-size:12px;color:var(--muted)}.runtime-counter .metric-reading{display:flex;align-items:baseline;gap:7px;margin:6px 0 3px}.runtime-counter .metric-value{font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.runtime-counter .metric-unit,.runtime-counter .metric-quality{font-size:11px;color:var(--muted)}.runtime-counter.quality-good .metric-quality{color:var(--good)}
@media(max-width:1199px){.unit-analytics{grid-template-columns:minmax(0,1fr)}.energy-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:26px}.energy-heading{grid-column:1}.energy-counter{grid-column:1;align-self:start}.energy-period{grid-column:1;align-self:start}.energy-summary{grid-column:2;grid-row:1/4;padding:0;border-left:1px solid var(--line);padding-left:24px}.energy-counter .metric-value{font-size:36px}.energy-counter.long-value .metric-value{font-size:29px}}
@media(max-width:767px){.card-energy{grid-template-columns:minmax(0,1fr) auto;gap:5px 8px}.card-energy-label{font-size:11px}.card-energy .metric-value{font-size:17px}.unit-analytics{gap:15px;margin-bottom:19px}.analytics-history-slot .history-panel{padding:21px 17px}.analytics-history-slot .history-controls{gap:12px}.analytics-history-slot .history-controls>div:nth-child(2){min-width:95px}.analytics-history-slot .history-controls select{font-size:13px}.analytics-history-slot .history-heading{align-items:flex-start;gap:9px}.analytics-history-slot .history-heading h2{font-size:18px}.analytics-history-slot .history-heading .button{font-size:11px;padding:7px 8px}.history-quick-periods{gap:3px}.history-quick-periods button{flex:1;font-size:11px;padding:7px 6px}.energy-panel{display:block;padding:21px 18px}.energy-heading h2{font-size:19px}.energy-counter{padding:20px 0}.energy-counter .metric-value{font-size:35px}.energy-counter.long-value .metric-value{font-size:29px}.energy-counter .metric-unit{font-size:13px}.energy-summary{border-left:0;padding:18px 0 0}.energy-delta-reading strong{font-size:30px}.energy-delta-reading strong.long-value{font-size:26px}.energy-description{font-size:12px}.energy-details dt,.energy-details dd,.energy-details dd strong{font-size:12px}.energy-details dd span,.energy-method,.energy-counter-time{font-size:11px}}

/* Tabler light shell. Only application-specific geometry lives here. */
:root { --canvas:#f6f8fb; --surface:#fff; --surface-muted:#f1f5f9; --text:#182433; --muted:#667382; --line:#e6e7e9; --accent:#206bc4; --accent-soft:#eaf2fc; --good:#2b8a3e; --good-bg:#e9f5ec; --radius:8px; color-scheme:light; font-family:var(--tblr-font-sans-serif); }
body { background:var(--tblr-body-bg,#f6f8fb); color:var(--text); font-family:var(--tblr-font-sans-serif); }
h1,h2,h3 { color:var(--text); letter-spacing:-.025em; }
h1 { font-size:28px; font-weight:650; }
.eyebrow { font-size:11px; letter-spacing:.06em; font-weight:600; }
.topbar { height:72px; min-height:72px; padding:0 32px; box-shadow:none; border-bottom:1px solid var(--line); gap:36px; background:#fff; }
.brand { font-size:20px; letter-spacing:-.03em; }
.brand-mark { width:34px; height:34px; border-radius:7px; background:#206bc4; font-size:24px; }
.brand-caption { color:var(--muted); letter-spacing:0; font-size:11px; }
.main-nav { gap:8px; align-items:center; align-self:stretch; }
.nav-link { display:flex; align-items:center; gap:9px; padding:9px 13px; border-radius:6px; font-size:13px; font-weight:500; }
.nav-link.is-active { background:#eaf2fc; color:#206bc4; }
.nav-link.is-active::after { display:none; }
.nav-icon { display:block; width:19px; height:19px; opacity:.8; }
.topbar-meta { gap:12px; }
.workspace { max-width:1392px; padding:28px 32px 48px; }
.page-heading { margin:0 0 23px; }
.page-heading .muted { margin-top:5px; font-size:12px; }
.page-title { font-size:28px; font-weight:650; }
.fleet-eyebrow { display:none; }
.refresh-state { font-size:11px; }
.button.btn { border-radius:6px; box-shadow:0 1px 2px #18243305; font-weight:500; font-size:13px; min-height:38px; }
.button.primary { background:var(--accent); color:#fff; }
.button.secondary { background:#fff; border-color:#dadfe5; }
.button.quiet { box-shadow:none; }
.site-overview { margin-bottom:24px; }
.site-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.site-overview-card.card { position:relative; display:block; text-align:left; padding:0; min-width:0; border-color:var(--tblr-border-color,#e6e7e9); border-radius:var(--tblr-border-radius,8px); background:#fff; box-shadow:var(--tblr-shadow-card,0 1px 2px #18243305); transition:border-color .15s,box-shadow .15s; overflow:hidden; }
.site-overview-card:hover { border-color:#8eb2de; box-shadow:0 4px 16px #1824330c; }
.site-overview-body.card-body { display:flex; flex-direction:column; padding:23px; }
.site-overview-top { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.site-overview-name { font-size:18px; font-weight:600; line-height:1.3; letter-spacing:-.025em; }
.site-overview-state { display:inline-flex; align-items:center; gap:6px; color:#667382; font-size:11px; font-weight:500; white-space:nowrap; }
.site-overview-state::before { content:""; width:7px; height:7px; border-radius:50%; background:#b5bdc7; flex:none; }
[data-state=running] .site-overview-state { color:#2b8a3e; }
[data-state=running] .site-overview-state::before { background:#2fb344; }
[data-state=generating] .site-overview-state { color:#206bc4; }
[data-state=generating] .site-overview-state::before { background:#206bc4; }
.site-overview-main { display:flex; flex-direction:column; margin:24px 0 18px; }
.site-overview-power { color:#182433; font-size:38px; line-height:1.1; font-weight:600; letter-spacing:-.04em; font-variant-numeric:tabular-nums; }
.site-overview-power-label { font-size:12px; color:#667382; margin-top:6px; }
.site-overview-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#667382; font-size:11px; }
.site-overview-count { font-weight:500; color:#364152; }
.site-overview-units { display:none; }
.site-overview-action { display:block; border-top:1px solid #edf0f3; margin:18px -23px -23px; padding:12px 23px; color:#206bc4; font-size:12px; background:#fcfdfe; }
.summary-grid { gap:16px; margin-bottom:28px; }
.summary-card.card { padding:18px; border-radius:8px; box-shadow:0 1px 2px #18243303; }
.summary-card strong { font-size:28px; letter-spacing:-.03em; font-weight:600; }
.summary-label { font-size:12px; }
.summary-foot { font-size:11px; }
.summary-card>div { margin:10px 0 8px; }
.summary-denominator { font-size:17px; }
.summary-unit { font-size:12px; }
.fleet-toolbar { padding-top:8px; }
.site-button { padding:9px 12px; }
.site-button[aria-pressed=true] { color:#206bc4; background:#eaf2fc; border-color:transparent; box-shadow:none; }
.site-button span { background:#e9edf2; }
.fleet-grid { display:block; scroll-margin-top:24px; }
.site-cluster { margin-bottom:28px; }
.site-cluster-heading { display:flex; align-items:center; justify-content:space-between; margin:21px 0 14px; gap:15px; }
.site-cluster-title { font-size:19px; font-weight:600; }
.site-cluster-copy { font-size:12px; color:var(--muted); margin-top:4px; }
.site-cluster-stats { display:flex; gap:8px; color:var(--muted); font-size:11px; }
.site-stat { padding:5px 8px; background:#eaf0f7; border-radius:5px; }
.site-stat-power { color:#206bc4; }
.site-cluster-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.unit-card.card { display:block; padding:21px; min-height:0; border-radius:8px; box-shadow:0 1px 2px #18243303; }
.unit-card:hover { border-color:#8eb2de; }
.card-name { font-size:17px; }
.card-site { font-size:11px; }
.card-power .metric-value { font-size:36px; font-weight:600; }
.card-statuses { margin:13px 0 18px; }
.badge { border:0; font-weight:500; letter-spacing:0; padding:4px 7px; border-radius:4px; font-size:11px; }
.card-load { display:block; margin:17px 0; }
.card-load-header { display:flex; justify-content:space-between; font-size:11px; color:var(--muted); }
.card-load-track { display:block; height:4px; border-radius:3px; background:#e9edf2; margin-top:8px; overflow:hidden; }
.card-load-fill { display:block; height:100%; width:var(--load,0%); background:#206bc4; }
.card-load-note { display:block; font-size:10px; color:var(--muted); margin-top:5px; }
.card-metrics { gap:12px; border-color:var(--line); padding-top:15px; margin-top:18px; }
.card-mini-label { font-size:11px; }
.card-mini .metric-value { font-size:20px; font-weight:550; }
.card-mini .metric-unit { font-size:10px; }
.card-energy { font-size:12px; }
.card-energy.quality-good .metric-quality { display:none; }
.card-footer { padding:12px 0 0; background:transparent; font-size:10px; }
.card-maintenance { font-size:11px; }
.card-quality { display:none; }
.unit-breadcrumb { margin-bottom:22px; }
.unit-heading { margin-bottom:22px; }
.unit-heading h1 { font-size:30px; }
.unit-heading .eyebrow { text-transform:none; font-size:12px; font-weight:400; letter-spacing:0; }
.unit-tabs.nav-tabs { gap:22px; border:0; border-bottom:1px solid var(--line); background:none; border-radius:0; padding:0; margin-bottom:23px; }
.unit-tabs button { padding:12px 0; font-size:13px; font-weight:500; }
.unit-tabs button[aria-selected=true] { color:#206bc4; }
.metric-tile.card { display:flex; padding:20px; min-height:142px; border-radius:8px; box-shadow:0 1px 2px #18243303; }
.metric-label { font-size:12px; font-weight:500; }
.metric-reading { margin:12px 0 5px; }
.metric-reading .metric-value { font-size:34px; font-weight:600; letter-spacing:-.035em; }
.metric-tile.is-selected { background:#fff; border-color:#206bc4; box-shadow:inset 0 2px #206bc4; }
.metric-tile.quality-good .metric-quality { color:#2b8a3e; font-size:11px; }
.panel.card { border-radius:8px; box-shadow:0 1px 2px #18243303; }
.phase-cell { background:#f6f8fb; }
.phase-reading .metric-value { font-size:24px; }
.history-panel .eyebrow { display:none; }
.history-heading h2 { font-size:18px; }
.history-controls { margin-top:18px; }
.history-controls label { font-weight:400; }
.history-quick-periods button[aria-pressed=true],.energy-period button[aria-pressed=true] { border-color:#b8d0ef; }
.energy-counter .metric-value { font-size:32px; }
.energy-period button { font-size:11px; }
.journal-entry.card { display:block; }
input,select,textarea { background:#fff; border-color:#dadfe5; border-radius:6px; color:#182433; }
.notice { border-radius:6px; }
.chart-empty { background:#fbfcfe; }
.connections-section { margin-top:32px; }
.receiver-strip { background:#f0f5fc; }
.page-footer { font-size:11px; }
.login-view { background:#f6f8fb; grid-template-columns:1fr; align-items:center; padding:40px 20px; }
.login-story { display:none; }
.login-access { padding:0; }
.login-form-wrap { max-width:400px; padding:32px; border:1px solid var(--line); border-radius:8px; background:#fff; box-shadow:0 2px 6px #18243306; }
.login-form-wrap h2 { font-size:24px; }
.login-form-wrap>.eyebrow { color:#206bc4; }
.login-note { font-size:11px; }
@media(min-width:1500px) { .workspace { padding-top:38px; } }
@media(max-width:1100px) { .topbar { gap:18px; padding-inline:24px; } .topbar-meta .local-time,.topbar-meta .timezone { display:none; } .nav-link { padding-inline:9px; } .site-cluster-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .site-overview-name { font-size:17px; } .site-overview-body.card-body { padding:20px; } .site-overview-action { margin:18px -20px -20px; padding-inline:20px; } .site-overview-top { flex-wrap:wrap; gap:8px; } }
@media(max-width:767px) {
 .topbar { height:64px; min-height:64px; padding:0 17px; gap:10px; flex-wrap:nowrap; }
 .brand { font-size:20px; } .brand-mark { width:33px; height:33px; } .brand-caption { font-size:10px; }
 .topbar-meta .button { font-size:12px; padding:7px; }
 .main-nav { position:fixed; inset:auto 0 0; z-index:30; height:auto; min-height:64px; margin:0; padding:7px 7px calc(7px + env(safe-area-inset-bottom,0px)); background:#fff; border-top:1px solid var(--line); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; overflow:visible; }
 .main-nav .nav-link { display:flex; flex-direction:column; gap:3px; justify-content:center; padding:6px 1px; min-height:49px; border-radius:6px; font-size:10px; white-space:nowrap; }
 .nav-icon { display:block; width:21px; height:21px; }
 .workspace { padding:20px 16px calc(95px + env(safe-area-inset-bottom,0px)); }
 .page-heading { gap:12px; align-items:flex-start; margin-bottom:20px; }
 .page-title { font-size:26px; line-height:1.2; }
 .page-heading .muted { font-size:11px; line-height:1.5; max-width:225px; margin-top:5px; }
 .refresh-area { gap:4px; }
 .refresh-area .button { font-size:11px; min-height:32px; padding:5px 9px; }
 .refresh-state { font-size:10px; white-space:nowrap; max-width:none; }
 .site-overview { margin-bottom:22px; }
 .site-overview-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
 .site-overview-body.card-body { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"top top" "main meta" "action action"; gap:0 15px; padding:17px 18px; }
 .site-overview-top { grid-area:top; flex-wrap:nowrap; align-items:center; gap:10px; }
 .site-overview-name { font-size:18px; }
 .site-overview-state { font-size:10px; }
 .site-overview-main { grid-area:main; margin:15px 0 0; }
 .site-overview-power { font-size:30px; white-space:nowrap; letter-spacing:-.04em; }
 .site-overview-power-label { font-size:10px; margin-top:4px; }
 .site-overview-meta { grid-area:meta; display:flex; flex-direction:column; gap:4px; align-items:flex-end; margin-top:15px; font-size:10px; }
 .site-overview-count { font-size:12px; }
 .site-overview-action { grid-area:action; margin:15px -18px -17px; padding:9px 18px; font-size:11px; }
 .summary-grid { gap:10px; margin-bottom:22px; }
 .summary-card.card { padding:14px; }
 .summary-label { min-height:31px; font-size:11px; }
 .summary-card strong { font-size:27px; }
 .summary-foot { min-height:0; font-size:10px; }
 .site-filter { display:flex; flex-wrap:nowrap; overflow-x:auto; gap:4px; scrollbar-width:none; padding-bottom:2px; }
 .site-button { padding:8px 10px; font-size:11px; }
 .fleet-count { font-size:11px; margin-top:8px; }
 .site-cluster-heading { margin:20px 0 12px; }
 .site-cluster-title { font-size:19px; }
 .site-cluster-copy { font-size:11px; }
 .site-cluster-stats { display:none; }
 .site-cluster-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
 .unit-card.card { padding:20px; }
 .card-power .metric-value { font-size:36px; }
 .card-mini .metric-value { font-size:21px; }
 .card-mini .metric-unit { font-size:10px; }
 .card-metrics { gap:8px; }
 .card-energy-label { font-size:11px; }
 .card-energy .metric-value { font-size:17px; }
 .data-note { font-size:11px; }
 .unit-breadcrumb { font-size:11px; margin-bottom:19px; }
 .unit-breadcrumb select { font-size:14px; height:39px; }
 .unit-heading { margin-bottom:18px; }
 .unit-heading h1 { font-size:28px; }
 .unit-heading .eyebrow { font-size:11px; }
 .unit-heading-meta { font-size:10px; }
 .unit-heading-meta .button { font-size:11px; }
 .unit-tabs.nav-tabs { gap:22px; overflow:auto; flex-wrap:nowrap; margin-bottom:18px; }
 .unit-tabs button { font-size:12px; padding:11px 0; }
 .instrument-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .metric-tile.card { padding:15px; min-height:137px; }
 .metric-label { font-size:11px; min-height:31px; }
 .metric-reading { gap:4px; }
 .metric-reading .metric-value { font-size:29px; }
 .metric-reading .metric-unit { font-size:10px; }
 .metric-quality { font-size:10px; }
 .metric-instruction { display:none; }
 .analytics-history-slot .history-panel { padding:18px 15px; }
 .history-heading h2 { font-size:17px; }
 .history-heading .button.btn { font-size:10px; padding:6px; min-height:32px; }
 .history-controls select { font-size:13px; }
 .phase-reading .metric-value { font-size:23px; }
 .phase-cell .metric-quality { font-size:10px; }
 .energy-panel { padding:20px 17px; }
 .journal-entry.card { padding:18px; }
 .journal-entry-head .button { font-size:11px; }
 dialog { border-radius:8px; }
 .toast { bottom:90px; }
 .page-footer { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { * { transition:none!important; } }
/* Tabler page-header and card-body have their own direction/last-child rules. */
.page-heading.page-header { flex-direction:row; }
@media(max-width:767px) {
 .site-overview-body.card-body { padding:16px 18px 0; }
 .site-overview-main { margin-top:12px; }
 .site-overview-meta { margin-top:12px; }
 .site-overview-action { margin:13px -18px 0; padding:9px 18px; }
 .page-heading .muted { max-width:225px; }
 .refresh-area { flex-shrink:0; }
}

/* Status-tinted Tabler cards: requested depth without changing data semantics. */
:root { --card-shadow:0 2px 3px #18243305,0 7px 18px -7px #26364b30; }
.site-overview-card.card,.unit-card.card { --state-color:#dc861d; --state-wash:#fffbf5; --state-border:#eedfca; background:var(--state-wash); border-color:var(--state-border); border-radius:11px; box-shadow:var(--card-shadow),inset 0 1px 0 #fff; position:relative; overflow:hidden; }
.site-overview-card[data-state=running],.unit-card[data-operating=running] { --state-color:#329b59; --state-wash:#f2faf4; --state-border:#cfe5d6; }
.site-overview-card[data-state=generating],.unit-card[data-operating=generating] { --state-color:#4387ba; --state-wash:#f4f8fd; --state-border:#d4e2f2; }
.site-overview-card::before,.unit-card::before { content:""; position:absolute; inset:0 0 auto; height:3px; background:var(--state-color); opacity:.8; }
.site-overview-card:hover,.unit-card:hover { border-color:var(--state-color); box-shadow:0 3px 5px #18243308,0 12px 27px -10px #26364b40; }
.site-overview-state { color:#9b5b10; background:#f9eddb; border-radius:20px; padding:5px 8px; font-size:11px; line-height:1.2; }
.site-overview-state::before { background:#db8a27; }
[data-state=running] .site-overview-state { color:#257c43; background:#e1f1e6; }
[data-state=running] .site-overview-state::before { background:#329b59; }
[data-state=generating] .site-overview-state { color:#246799; background:#e6eff9; }
.site-overview-power { display:flex; align-items:baseline; gap:7px; }
.site-power-unit { color:#667382; font-size:17px; font-weight:450; letter-spacing:0; }
.site-overview-action { color:#566477; background:#ffffff73; border-color:var(--state-border); }
.site-overview-action::after { content:""; }
.unit-card .card-load-track { background:#e5e9e4; }
.unit-card .card-load-fill { background:var(--state-color); }
.card-top,.card-power { position:relative; }
.summary-card.card,.metric-tile.card,.panel.card { box-shadow:0 2px 4px #18243304,0 6px 14px -8px #26364b25; }
.metric-tile.is-selected { box-shadow:inset 0 2px #206bc4,0 4px 12px -5px #206bc42a; }
@media(max-width:767px) {
 .site-overview-grid { gap:15px; }
 .site-overview-body.card-body { padding-top:18px; }
 .site-overview-state { font-size:10px; padding:4px 7px; }
 .site-overview-main { margin-top:14px; }
 .site-overview-power { font-size:32px; gap:6px; }
 .site-power-unit { font-size:14px; }
 .site-overview-meta { margin-top:14px; }
 .site-overview-action { padding-top:10px; padding-bottom:10px; }
 .site-overview-coverage { font-size:10px; }
}

/* Expanded read-only instruments and analysis, using the same Tabler cards. */
.telemetry-section { margin:26px 0; }
.telemetry-section-title { font-size:18px; line-height:1.4; font-weight:600; margin:0 0 14px; }
.phase-readings { margin:0 0 24px; }
.phase-readings .phase-section + .phase-section { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }
.phase-readings .phase-cell { display:flex; flex-direction:column; min-width:0; }
.phase-readings .metric-label { min-height:0; }
.phase-readings .metric-reading { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px; margin:8px 0 5px; }
.phase-readings .metric-reading .metric-value { font-size:25px; letter-spacing:-.025em; }
.phase-readings .metric-unit { font-size:12px; }
.phase-readings .metric-quality { font-size:11px; }
.metric-tile:not(button) { cursor:default; }
.io-table { margin-top:20px; }
.io-row { display:grid; grid-template-columns:minmax(60px,.65fr) repeat(2,minmax(0,1fr)); gap:12px; padding:14px 0; align-items:center; border-bottom:1px solid var(--line); }
.io-head { color:var(--muted); font-size:12px; padding-top:0; }
.io-row strong { font-size:13px; font-weight:500; }
.io-state { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.io-state-badge { padding:5px 8px; border-radius:5px; font-size:12px; line-height:1.3; }
.io-active { background:#e7f0fc; color:#1e5c9b; }
.io-inactive { background:#f1f3f5; color:#606d7a; }
.io-unknown { background:#fcf4e8; color:#8d6425; }
.io-quality { font-size:10px; color:var(--muted); line-height:1.3; }
.analytics-toolbar { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; margin-bottom:18px; }
.analytics-toolbar .button { flex-shrink:0; }
.analytics-toolbar .telemetry-section-title { margin-bottom:7px; }
.analytics-toolbar .metric-instruction { margin-bottom:0; max-width:650px; }
.analysis-comparison { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:23px 0 16px; }
.analysis-comparison > div { display:flex; flex-direction:column; gap:7px; }
.analysis-comparison span { color:var(--muted); font-size:12px; }
.analysis-comparison strong { font-size:30px; font-weight:600; font-variant-numeric:tabular-nums; }
.analysis-comparison small { font-size:13px; font-weight:400; color:var(--muted); }
.analysis-time { font-size:11px; color:var(--muted); line-height:1.6; margin:10px 0 0; }
.analysis-rules { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.analysis-rule { padding:21px; }
.analysis-rule h3,.analysis-event h3 { font-size:15px; line-height:1.4; margin:0 0 8px; }
.analysis-rule p { font-size:13px; line-height:1.6; color:var(--muted); margin:0; }
.analysis-rule .analysis-rule-timing { margin-top:14px; border-top:1px solid var(--line); padding-top:12px; font-size:11px; }
.analysis-delivery { color:#52647d; background:#edf3fb; border:1px solid #dbe6f4; line-height:1.6; }
.analysis-events-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:14px; }
.analysis-events-heading h2 { margin:0; }
.analysis-event-list { display:grid; gap:12px; }
.analysis-event { display:block; padding:18px 21px; }
.analysis-event h3 { margin-top:11px; }
.analysis-event p { margin:0; font-size:12px; color:var(--muted); }
.unit-card-shell { min-width:0; display:flex; flex-direction:column; border-radius:11px; box-shadow:var(--card-shadow); --planned-border:#eedfca; }
.unit-card-shell[data-operating=running] { --planned-border:#cfe5d6; }
.unit-card-shell[data-operating=generating] { --planned-border:#d4e2f2; }
.unit-card-shell .unit-card.card { width:100%; flex:1; box-shadow:none; border-radius:11px 11px 0 0; border-bottom:0; }
.unit-card-shell:focus-within { outline:2px solid #8db9ea; outline-offset:3px; }
.planned-stop-control { padding:12px 20px 14px; border:1px solid var(--planned-border,#dce3eb); border-top:1px solid var(--line); border-radius:0 0 11px 11px; background:#fff; display:flex; flex-direction:column; align-items:flex-start; gap:7px; }
.planned-stop-button { width:100%; font-size:12px; min-height:38px; }
.planned-stop-note { display:block; font-size:10px; line-height:1.5; color:var(--muted); }
.planned-stop-status { color:#946315; font-size:12px; line-height:1.4; }
.planned-stop-control[data-planned-status=armed],.planned-stop-control[data-planned-status=stopped] { background:#fff9ee; }
.planned-stop-detail { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px 22px; padding:14px 17px; border:1px solid var(--line); border-radius:8px; margin-bottom:22px; }
.planned-stop-detail .planned-stop-button { grid-column:2; grid-row:1/3; width:auto; min-width:180px; }
.planned-stop-detail .planned-stop-note { grid-column:1; font-size:11px; max-width:680px; }
@media(max-width:767px) {
 .unit-tabs.nav-tabs { gap:20px; padding-right:18px; }
 .telemetry-section { margin:22px 0; }
 .telemetry-section-title { font-size:16px; }
 .phase-readings .metric-reading .metric-value { font-size:21px; }
 .phase-readings .metric-unit { font-size:11px; }
 .phase-readings .metric-quality { font-size:10px; }
 .io-row { grid-template-columns:58px repeat(2,minmax(0,1fr)); gap:8px; padding:12px 0; }
 .io-head { font-size:10px; }
 .io-state-badge { font-size:11px; padding:5px 6px; }
 .analytics-toolbar { flex-direction:column; gap:12px; }
 .analysis-comparison { gap:13px; }
 .analysis-comparison strong { font-size:26px; }
 .analysis-comparison small { font-size:11px; }
 .analysis-rules { grid-template-columns:minmax(0,1fr); gap:12px; }
 .analysis-rule { padding:18px; }
 .analysis-events-heading { align-items:flex-start; }
 .analysis-events-heading .button { font-size:11px; white-space:nowrap; }
 .planned-stop-button { min-height:44px; }
 .planned-stop-detail { display:flex; flex-direction:column; gap:9px; padding:13px 15px; margin-bottom:18px; }
 .planned-stop-detail .planned-stop-button { order:0; width:100%; }
 .planned-stop-detail .planned-stop-note { order:1; }
}
.metric-tile[data-kind=state] .metric-value { font-size:21px; line-height:1.45; white-space:normal; overflow-wrap:anywhere; }
.unit-tabs.nav-tabs { flex-wrap:nowrap; overflow-x:auto; max-width:100%; }

/* Quick service entry on a phone; persistent actions around a scrollable form. */
.maintenance-quick-button { width:100%; min-height:44px; font-size:13px; color:#206bc4; border-color:#cbddee; background:#f5f9fe; white-space:normal; }
.planned-stop-button { min-height:44px; }
.planned-stop-detail .maintenance-quick-button { grid-column:2; grid-row:3; width:auto; min-width:220px; }
#journal-dialog { padding:0; max-height:calc(100dvh - 32px); }
#journal-dialog[open] { display:flex; flex-direction:column; }
#journal-dialog .dialog-heading { padding:20px 22px 16px; border-bottom:1px solid var(--line); flex:none; }
#journal-dialog .icon-button { min-width:44px; min-height:44px; }
#journal-dialog-title { outline:none; }
#journal-form { display:flex; flex-direction:column; min-height:0; }
.journal-form-body { padding:0 22px 20px; overflow-y:auto; min-height:0; overscroll-behavior:contain; }
.journal-form-body input,.journal-form-body select { min-height:44px; min-width:0; max-width:100%; }
.journal-form-body label { font-size:13px; }
.journal-form-body textarea { min-height:78px; }
.journal-form-footer { flex:none; padding:14px 22px max(14px,env(safe-area-inset-bottom)); border-top:1px solid var(--line); background:#fff; }
.journal-form-footer .dialog-actions { margin:0; }
.journal-form-footer .form-error { margin:0 0 12px; }
.journal-form-footer .button { min-height:46px; }
.journal-use-hours { margin-top:8px; min-height:44px; width:100%; font-size:13px; white-space:normal; }
.journal-extra { margin:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:0 0 2px; }
.journal-extra[open] { padding-bottom:16px; }
.journal-extra summary { min-height:48px; padding:14px 0; cursor:pointer; color:#206bc4; font-size:13px; }
@media(max-width:767px) {
 .planned-stop-detail .maintenance-quick-button { grid-column:auto; grid-row:auto; min-width:0; width:100%; }
 #journal-dialog { width:calc(100% - 16px); max-width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:16px; }
 #journal-dialog .dialog-heading { padding:16px; }
 #journal-dialog .dialog-heading h2 { font-size:20px; }
 .journal-form-body { padding:0 16px 16px; }
 #journal-dialog input,#journal-dialog select,#journal-dialog textarea { font-size:16px; }
 .journal-form-footer { padding-inline:16px; }
 .journal-form-footer .dialog-actions { display:grid; grid-template-columns:auto minmax(0,1fr); }
 .journal-form-footer .button { font-size:14px; }
}

/* One task per screen: choose a site, then a unit. Receiver diagnostics have their own nav. */
#fleet-view[data-mode=overview] .fleet-toolbar,
#fleet-view[data-mode=overview] #fleet-grid,
#fleet-view[data-mode=overview] > .data-note,
#fleet-view[data-mode=overview] #fleet-empty,
#fleet-view:not([data-mode=connections]) .connections-section { display:none; }
#fleet-view[data-mode=site] .site-overview,
#fleet-view[data-mode=site] .summary-grid,
#fleet-view[data-mode=connections] > :not(.connections-section) { display:none; }
#fleet-view[data-mode=connections] .connections-section { margin-top:0; }
#fleet-view[data-mode=site] .site-cluster-heading { display:none; }
.fleet-back { min-height:44px; margin-bottom:4px; }
#fleet-page-title { outline:none; }
.unit-actions { margin:0 0 18px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.unit-actions > summary { cursor:pointer; padding:13px 16px; min-height:48px; color:#385c87; font-size:13px; }
.unit-actions .planned-stop-detail { border:0; border-top:1px solid var(--line); margin:0; border-radius:0 0 8px 8px; }
.unit-section-picker { display:none; }
.journal-edit { min-height:44px; }
#journal-target:disabled { background-image:none; opacity:1; color:#182433; background-color:#f3f6fa; }
@media(max-width:767px) {
 .unit-section-picker { display:block; margin:0 0 18px; }
 .unit-section-picker label { margin:0 0 7px; font-size:12px; color:var(--muted); }
 .unit-section-picker select { min-height:44px; font-size:16px; }
 #unit-tabs { display:none; }
 .planned-stop-note { font-size:12px; }
 .journal-entry-head .journal-edit { font-size:12px; padding:10px 12px; }
 .journal-toolbar > div:first-child:has(#journal-filter-device) { grid-column:1/-1; flex:1 1 100%; }
 .journal-toolbar select,.history-controls select { min-height:44px; font-size:16px; }
 .site-button { min-height:44px; }
 #journal-create { min-height:46px; }
}
@media(max-width:767px) and (max-height:700px) {
 .site-overview-grid { gap:10px; }
 .site-overview-body.card-body { padding:12px 15px; }
 .site-overview-main,.site-overview-meta { margin-top:10px; }
 .site-overview-action { display:none; }
 .site-overview-name { font-size:17px; }
 .site-overview-power { font-size:29px; }
}
