:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17202a;background:#f6f7f8;--state-healthy-ink: #276d3b;--state-healthy-surface: #eef8f1;--state-healthy-border: #66a878;--state-active-ink: #145665;--state-active-surface: #e9f5f7;--state-active-border: #7faeb9;--state-warning-ink: #6f4a06;--state-warning-surface: #fff7e8;--state-warning-border: #d7b36a;--state-alarm-ink: #8d302a;--state-alarm-surface: #fff1f0;--state-alarm-border: #d99a95;--state-offline-ink: #4c5962;--state-offline-surface: #f2f4f5;--state-offline-border: #aeb9bf;--state-stale-ink: #75500b;--state-stale-surface: #fff9ed;--state-stale-border: #d9bd80;--state-unknown-ink: #5f6f7a;--state-unknown-surface: #eef2f4;--state-unknown-border: #cbd5da;--dashboard-space-1: .25rem;--dashboard-space-2: .5rem;--dashboard-space-3: .75rem;--dashboard-space-4: 1rem;--dashboard-space-6: 1.5rem;--dashboard-panel-radius: .5rem;--dashboard-control-radius: .375rem;--dashboard-panel-border: #d9e1e5;--dashboard-divider: #edf1f3;--dashboard-surface: #ffffff;--dashboard-surface-subtle: #f8fafb;--dashboard-text-secondary: #5f6f7a;--dashboard-text-body: 1rem;--dashboard-text-support: .875rem;--dashboard-text-caption: .75rem;--dashboard-motion-fast: .18s ease}*{box-sizing:border-box}body{margin:0;min-width:0}body.mobile-menu-open{overflow:hidden}button,input,select,textarea{font:inherit}a{color:inherit}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #ffffff;outline-offset:2px;box-shadow:0 0 0 5px #0c6577}.app-shell{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:260px minmax(0,1fr)}.side-nav{background:#183642;color:#f7fbfc;display:flex;flex-direction:column;gap:20px;padding:18px}.mobile-app-bar,.mobile-bottom-nav,.public-menu-button{display:none}.mobile-drawer-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) min(88vw,360px)}.mobile-drawer-backdrop{width:100%;height:100%;border:0;background:#091b2785;cursor:pointer}.mobile-drawer{min-width:0;min-height:100dvh;display:flex;flex-direction:column;gap:14px;padding:max(14px,env(safe-area-inset-top)) 16px max(18px,env(safe-area-inset-bottom));overflow-y:auto;background:#183642;color:#f7fbfc;box-shadow:-18px 0 44px #091b2738}.mobile-drawer-header{min-width:0;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px}.mobile-drawer-header strong{min-width:0;overflow-wrap:anywhere}.mobile-menu-button,.public-menu-button{width:44px;min-width:44px;height:44px;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:transparent;color:inherit;cursor:pointer}.mobile-drawer-nav{display:grid;gap:6px}.mobile-drawer-nav a,.mobile-drawer-action{min-height:48px;display:flex;align-items:center;gap:10px;border:0;border-radius:8px;padding:0 12px;background:transparent;color:inherit;text-decoration:none;font-weight:700;cursor:pointer}.mobile-drawer-nav a.active,.mobile-drawer-nav a:hover,.mobile-drawer-action:hover{background:#ffffff1f}.mobile-drawer-spacer{flex:1 1 auto}.mobile-drawer .language-selector{min-height:48px;padding:0 12px}.mobile-drawer .language-selector select{min-height:36px}.brand{display:flex;align-items:center;gap:10px;min-height:44px;font-weight:700}.side-nav nav{display:grid;gap:4px}.side-nav a,.plain-button{color:inherit;min-height:40px;display:flex;align-items:center;gap:10px;border-radius:6px;border:0;background:transparent;padding:0 10px;text-decoration:none;cursor:pointer}.side-nav a.active,.side-nav a:hover,.plain-button:hover{background:#ffffff1f}.language-selector{display:inline-flex;align-items:center;gap:.35rem;color:inherit}.language-selector select{min-height:36px;border:1px solid currentColor;border-radius:.35rem;background:transparent;color:inherit;font:inherit;padding:.2rem .3rem}.language-selector option{color:#111827}.profile-link{margin-top:auto}.sign-out{width:100%;color:#d6eef3}.content{min-width:0;padding:28px}.page{display:grid;gap:18px}.dashboard-page{gap:var(--dashboard-space-6);font-size:var(--dashboard-text-body);line-height:1.5}.dashboard-page .page-header h1{font-size:1.75rem;line-height:1.15}.page-header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:16px}h1,h2,p{margin:0}h1{font-size:28px}h2{font-size:18px}.page-header p,.muted{color:#65727c}.live-status{min-height:50px;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--state-unknown-border);border-radius:6px;background:var(--state-unknown-surface);color:var(--state-unknown-ink);padding:6px 8px;font-weight:700}.dashboard-trust-status{width:min(520px,42vw);min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.dashboard-trust-copy{min-width:0;display:grid;gap:1px}.dashboard-trust-copy strong,.dashboard-trust-copy span{min-width:0;overflow-wrap:anywhere}.dashboard-trust-copy strong{font-size:var(--dashboard-text-support);line-height:1.25}.dashboard-trust-copy span{font-size:.8125rem;font-weight:600;line-height:1.35}.dashboard-trust-retry{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:var(--dashboard-control-radius);background:#ffffffa8;padding:0 9px;color:currentColor;font:inherit;font-size:.8125rem;font-weight:700;cursor:pointer;transition:background-color var(--dashboard-motion-fast),opacity var(--dashboard-motion-fast)}.dashboard-trust-retry:hover:not(:disabled){background:#fff}.dashboard-trust-retry:disabled{opacity:.64;cursor:default}.live-status.is-live{border-color:var(--state-healthy-border);color:var(--state-healthy-ink);background:var(--state-healthy-surface)}.live-status.is-connecting{border-color:var(--state-active-border);color:var(--state-active-ink);background:var(--state-active-surface)}.live-status.is-delayed{border-color:var(--state-warning-border);color:var(--state-warning-ink);background:var(--state-warning-surface)}.live-status.is-refreshing{border-color:var(--state-active-border);color:var(--state-active-ink);background:var(--state-active-surface)}.dashboard-status-stack{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.dashboard-mobile-secondary-disclosure{display:none}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid #d9e1e5;background:#fff}.metric-strip>button{min-width:0;min-height:64px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px;padding:12px 16px;border:0;border-right:1px solid #edf1f3;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--dashboard-motion-fast),box-shadow var(--dashboard-motion-fast)}.metric-strip>button:last-child{border-right:0}.metric-strip>button:hover:not(:disabled){background:#f4fafb}.metric-strip>button[aria-pressed=true]{background:var(--state-active-surface);box-shadow:inset 0 -2px 0 var(--state-active-border)}.metric-strip>button:disabled{cursor:default}.metric-strip strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.metric-strip span{min-width:0;color:#40535d;font-size:.8125rem;overflow-wrap:anywhere}.metric-strip .is-online svg{color:var(--state-healthy-ink)}.metric-strip .is-alarm svg,.metric-strip .is-alarm strong{color:var(--state-alarm-ink)}.metric-strip .is-delayed svg,.metric-strip .is-delayed strong{color:var(--state-warning-ink)}.metric-strip.is-pending>button{background:#fbfcfd}.metric-strip.is-pending strong{color:#87959d}.dashboard-loading-state{min-height:118px;display:grid;align-content:center;gap:14px;border:1px solid #d9e1e5;border-radius:8px;background:#fff;padding:18px;color:#334852}.dashboard-skeleton{display:grid;gap:9px}.dashboard-skeleton span{height:12px;display:block;border-radius:4px;background:#e5ecef}.dashboard-skeleton span:nth-child(1){width:min(72%,620px)}.dashboard-skeleton span:nth-child(2){width:min(48%,420px)}.dashboard-skeleton span:nth-child(3){width:min(60%,520px)}.dashboard-notice{min-width:0;min-height:68px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--state-active-border);border-radius:8px;background:var(--state-active-surface);padding:12px 14px;color:var(--state-active-ink)}.dashboard-notice.warning{border-color:var(--state-warning-border);background:var(--state-warning-surface);color:var(--state-warning-ink)}.dashboard-notice.error{border-color:var(--state-alarm-border);background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.dashboard-notice-icon{display:inline-grid;place-items:center}.dashboard-notice-copy{min-width:0;display:grid;gap:3px}.dashboard-notice-copy p{max-width:75ch;color:currentColor;line-height:1.45;overflow-wrap:anywhere}.dashboard-retry-button{flex:0 0 auto;cursor:pointer}.dashboard-retry-button:disabled{opacity:.64;cursor:default}.dashboard-empty-state{min-height:220px}.dashboard-empty-state>div{display:grid;gap:6px}.dashboard-attention,.dashboard-all-clear{min-width:0;border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-panel-radius);background:var(--dashboard-surface)}.dashboard-attention>header{min-height:72px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--state-alarm-border);background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.dashboard-attention>header>div,.dashboard-all-clear>div{min-width:0;display:grid;gap:3px}.dashboard-attention h2,.dashboard-attention p,.dashboard-all-clear h2,.dashboard-all-clear p,.dashboard-device-explorer h2,.dashboard-device-explorer p{margin:0}.dashboard-attention p,.dashboard-all-clear p,.dashboard-device-explorer p{color:currentColor;font-size:var(--dashboard-text-support);line-height:1.45}.dashboard-attention-icon{width:40px;height:40px;flex:0 0 auto;display:inline-grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--state-alarm-border) 35%,var(--state-alarm-surface))}.dashboard-attention-list{display:grid;padding:0;margin:0;list-style:none}.dashboard-incident-columns,.dashboard-attention-item{min-width:0;display:grid;grid-template-columns:minmax(136px,.8fr) minmax(220px,1.4fr) minmax(180px,1fr) minmax(88px,.55fr) minmax(160px,1fr) auto;align-items:center;gap:16px}.dashboard-incident-columns{min-height:40px;padding:0 16px;border-bottom:1px solid var(--dashboard-panel-border);background:var(--dashboard-surface-subtle);color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption);font-weight:700}.dashboard-attention-item{padding:12px 16px;border-bottom:1px solid var(--dashboard-divider)}.dashboard-attention-item:last-child{border-bottom:0}.dashboard-attention-item.is-offline{background:var(--state-offline-surface)}.dashboard-attention-item.is-stale{background:var(--state-stale-surface)}.dashboard-incident-severity{min-width:0;display:flex;align-items:center;gap:8px}.dashboard-incident-severity svg{flex:0 0 auto}.dashboard-attention-asset,.dashboard-incident-reason,.dashboard-incident-age,.dashboard-incident-verified{min-width:0;display:grid;gap:4px}.dashboard-attention-asset strong,.dashboard-attention-asset span,.dashboard-incident-reason strong,.dashboard-incident-age strong,.dashboard-incident-verified span{overflow-wrap:anywhere}.dashboard-attention-asset span,.dashboard-incident-verified span,.dashboard-incident-label{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption);line-height:1.35}.dashboard-incident-label{display:none}.dashboard-incident-severity,.dashboard-incident-reason strong{color:var(--state-alarm-ink)}.dashboard-attention-item.is-offline .dashboard-incident-severity,.dashboard-attention-item.is-offline .dashboard-incident-reason strong{color:var(--state-offline-ink)}.dashboard-attention-item.is-stale .dashboard-incident-severity,.dashboard-attention-item.is-stale .dashboard-incident-reason strong{color:var(--state-stale-ink)}.dashboard-attention-item .secondary-button{min-height:44px;white-space:nowrap}@media(max-width:1360px){.dashboard-incident-columns{display:none}.dashboard-attention-item{grid-template-columns:minmax(148px,.7fr) minmax(0,1.3fr) auto;align-items:start}.dashboard-incident-label{display:block}.dashboard-incident-reason{grid-column:2}.dashboard-incident-age{grid-column:1}.dashboard-incident-verified{grid-column:2}.dashboard-attention-item .secondary-button{grid-column:3;grid-row:1 / span 2;align-self:center}}.dashboard-all-clear{min-height:76px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-color:var(--state-healthy-border);background:var(--state-healthy-surface);color:var(--state-healthy-ink)}.dashboard-device-explorer{min-width:0;display:grid;gap:16px;scroll-margin-top:76px}.dashboard-master-detail{min-width:0;display:grid;grid-template-columns:minmax(320px,7fr) minmax(360px,5fr);align-items:start;gap:var(--dashboard-space-4)}.dashboard-desktop-device-list,.dashboard-device-detail{min-width:0;border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-panel-radius);background:var(--dashboard-surface)}.dashboard-desktop-device-list{overflow:hidden}.dashboard-desktop-vessel-group+.dashboard-desktop-vessel-group{border-top:1px solid #d9e1e5}.dashboard-desktop-vessel-group h3,.dashboard-device-detail h3{margin:0;font-size:.875rem}.dashboard-desktop-vessel-group h3{min-height:44px;display:flex;align-items:center;padding:0 16px;background:#f8fafb;color:#334852}.dashboard-desktop-vessel-group ul{padding:0;margin:0;list-style:none}.dashboard-desktop-vessel-group li+li{border-top:1px solid #edf1f3}.dashboard-device-select{width:100%;min-width:0;min-height:60px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;border:0;background:var(--dashboard-surface);padding:8px 12px 8px 16px;color:#17202a;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--dashboard-motion-fast),box-shadow var(--dashboard-motion-fast)}.dashboard-device-select:hover{background:#f4fafb}.dashboard-device-select[aria-pressed=true]{background:var(--state-active-surface);box-shadow:inset 0 0 0 1px var(--state-active-border)}.dashboard-device-select-copy{min-width:0;display:grid;gap:4px}.dashboard-device-select-copy strong,.dashboard-device-select-copy span{overflow-wrap:anywhere}.dashboard-device-select-copy span,.dashboard-device-select>.device-freshness{color:var(--dashboard-text-secondary);font-size:.8125rem;line-height:1.35}.dashboard-device-select.is-alarm .dashboard-device-select-copy span{color:var(--state-alarm-ink)}.dashboard-device-select.is-offline .dashboard-device-select-copy span{color:var(--state-offline-ink)}.dashboard-device-select.is-stale .dashboard-device-select-copy span{color:var(--state-stale-ink)}.dashboard-device-select>svg{color:#65727c}.dashboard-device-detail{max-height:calc(100vh - 48px);position:sticky;top:24px;overflow:auto}.dashboard-device-detail>header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid #d9e1e5}.dashboard-device-detail>header>div{min-width:0;display:grid;gap:4px}.dashboard-device-detail>header h2,.dashboard-device-detail>header p{overflow-wrap:anywhere}.dashboard-device-detail>header p{color:#5f6f7a;font-size:.8125rem}.dashboard-device-detail-status{min-height:28px;flex:0 0 auto;display:inline-flex;align-items:center;border:1px solid var(--state-healthy-border);border-radius:999px;background:var(--state-healthy-surface);padding:0 8px;color:var(--state-healthy-ink);font-size:.75rem;font-weight:700}.dashboard-device-detail.is-alarm .dashboard-device-detail-status{border-color:var(--state-alarm-border);background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.dashboard-device-detail.is-offline .dashboard-device-detail-status{border-color:var(--state-offline-border);background:var(--state-offline-surface);color:var(--state-offline-ink)}.dashboard-device-detail.is-stale .dashboard-device-detail-status{border-color:var(--state-stale-border);background:var(--state-stale-surface);color:var(--state-stale-ink)}.dashboard-device-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px;margin:0}.dashboard-device-overview>div{min-width:0;display:grid;align-content:start;gap:4px;padding:12px 0;border-bottom:1px solid #edf1f3}.dashboard-device-overview>div:nth-child(odd){padding-right:16px}.dashboard-device-overview>div:nth-child(2n){padding-left:16px;border-left:1px solid #edf1f3}.dashboard-device-overview dt,.dashboard-device-overview dd,.dashboard-device-telemetry dt,.dashboard-device-telemetry dd{min-width:0;margin:0;overflow-wrap:anywhere}.dashboard-device-overview dt,.dashboard-device-telemetry dt{color:#5f6f7a;font-size:.75rem}.dashboard-device-overview dd{font-size:.875rem;font-variant-numeric:tabular-nums}.dashboard-device-overview dd:last-child:not(:first-of-type){color:#5f6f7a;font-size:.75rem}.dashboard-device-telemetry{display:grid;gap:12px;padding:16px}.dashboard-device-telemetry dl{display:grid;gap:8px;margin:0}.dashboard-device-telemetry dl>div{min-width:0;display:grid;grid-template-columns:minmax(88px,.45fr) minmax(0,1fr);align-items:start;gap:12px}.dashboard-device-detail>.voltage-chart-panel{border-top:1px solid #d9e1e5}.dashboard-mobile-device-groups{min-width:0;display:grid;gap:16px}.dashboard-explorer-heading{min-width:0;display:flex;align-items:end;justify-content:space-between;gap:16px}.dashboard-explorer-heading>div:first-child{display:grid;gap:3px}.dashboard-expand-actions{display:none;flex-wrap:wrap;justify-content:flex-end;gap:4px}.dashboard-expand-actions .plain-button{min-height:40px;color:#176779;font-weight:750}.dashboard-expand-actions .plain-button:hover{background:#e9f5f7}.dashboard-triage-controls{min-width:0;display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);align-items:end;gap:var(--dashboard-space-4);padding:var(--dashboard-space-4);border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-panel-radius);background:var(--dashboard-surface-subtle)}.dashboard-mobile-triage-disclosure{min-width:0;overflow:hidden;border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-panel-radius);background:var(--dashboard-surface)}.dashboard-mobile-triage-disclosure>summary{min-width:0;min-height:52px;display:flex;align-items:center;gap:8px;padding:0 12px;color:#334852;font-weight:700;cursor:pointer;list-style:none;transition:background-color var(--dashboard-motion-fast)}.dashboard-mobile-triage-disclosure>summary::-webkit-details-marker{display:none}.dashboard-mobile-triage-disclosure>summary>span:nth-child(2){min-width:0;flex:1 1 auto;overflow-wrap:anywhere}.dashboard-mobile-triage-disclosure>summary:hover{background:var(--dashboard-surface-subtle)}.dashboard-mobile-triage-chevron{flex:0 0 auto;transition:transform var(--dashboard-motion-fast)}.dashboard-mobile-triage-disclosure[open] .dashboard-mobile-triage-chevron{transform:rotate(180deg)}.dashboard-mobile-triage-disclosure>.dashboard-triage-controls{border:0;border-top:1px solid #d9e1e5;border-radius:0}.dashboard-search-field,.dashboard-filter-group{min-width:0;display:grid;gap:var(--dashboard-space-2);color:#334852;font-size:.8125rem;font-weight:700}.dashboard-search-input{min-width:0;min-height:44px;display:flex;align-items:center;gap:8px;border:1px solid #b9c8cf;border-radius:var(--dashboard-control-radius);background:var(--dashboard-surface);padding:0 10px;color:#5f6f7a;transition:border-color var(--dashboard-motion-fast),outline-color var(--dashboard-motion-fast)}.dashboard-search-input input{width:100%;min-width:0;min-height:44px;border:0;outline:0;background:transparent;color:#17202a;font:inherit}.dashboard-search-input:focus-within{border-color:#1f7a8c;outline:2px solid rgba(31,122,140,.24);outline-offset:1px}.dashboard-filter-group{padding:0;border:0;margin:0}.dashboard-filter-group legend{padding:0;margin-bottom:7px}.dashboard-filter-group>div{display:flex;flex-wrap:wrap;gap:6px}.dashboard-filter-group button{min-height:44px;display:inline-flex;align-items:center;gap:7px;border:1px solid #b9c8cf;border-radius:var(--dashboard-control-radius);background:var(--dashboard-surface);padding:0 10px;color:#334852;font:inherit;font-weight:700;cursor:pointer;transition:background-color var(--dashboard-motion-fast),border-color var(--dashboard-motion-fast),color var(--dashboard-motion-fast)}.dashboard-filter-group button:hover{border-color:var(--state-active-border);background:#f4fafb}.dashboard-filter-group button[aria-pressed=true]{border-color:#1f7a8c;background:var(--state-active-surface);color:var(--state-active-ink)}.dashboard-filter-count{min-width:22px;min-height:22px;display:inline-grid;place-items:center;border-radius:999px;background:#edf1f3;color:#40535d;font-size:var(--dashboard-text-caption)}.dashboard-filter-group button[aria-pressed=true] .dashboard-filter-count{background:#fff;color:var(--state-active-ink)}.dashboard-filter-empty{min-height:220px}.dashboard-healthy-systems{overflow:hidden;border:1px solid #d9e1e5;border-radius:8px;background:#fff}.dashboard-healthy-systems>summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;color:#334852;font-weight:800;cursor:pointer}.dashboard-healthy-systems>summary span:last-child{min-width:26px;min-height:26px;display:inline-grid;place-items:center;border-radius:999px;background:#edf1f3;color:#40535d;font-size:12px}.dashboard-healthy-groups{display:grid;gap:18px;padding:14px;border-top:1px solid #edf1f3}.metric-strip.lora-strip{grid-template-columns:minmax(0,2fr) minmax(220px,1fr)}.data-section{display:grid;gap:10px}.table-wrap{overflow:auto;border:1px solid #d9e1e5;border-radius:8px;background:#fff}table{width:100%;border-collapse:collapse;min-width:680px}th,td{text-align:left;padding:12px 14px;border-bottom:1px solid #edf1f3;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#5f6f7a;background:#fbfcfd}td strong,td span{display:block}.device-cell{display:flex;align-items:flex-start;gap:10px}.device-cell>div{min-width:0}.device-cell strong,.device-freshness,.device-configuration{overflow-wrap:anywhere}.device-freshness{margin-top:3px;color:#5f6f7a;font-size:12px;line-height:1.4}.device-freshness.is-stale{color:var(--state-stale-ink);font-weight:750}.device-freshness.is-offline{color:var(--state-offline-ink);font-weight:750}.device-cell .table-icon-button{flex:0 0 auto}.voltage-chart-row>td{padding:0;background:#fbfcfd}.voltage-chart-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0;padding:14px;border-top:1px solid #edf1f3}.voltage-chart-summary,.voltage-chart-legend{display:flex;flex-wrap:wrap;gap:12px;color:#5f6f7a;font-size:13px}.voltage-reading{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 7px;min-width:0}.voltage-alarm-badge{display:inline-flex;align-items:center;gap:4px;width:fit-content;max-width:100%;padding:2px 6px;border:1px solid var(--state-alarm-border);border-radius:5px;background:var(--state-alarm-surface);color:var(--state-alarm-ink);font-size:12px;font-weight:800;line-height:1.25;overflow-wrap:anywhere}.voltage-alarm-badge svg{flex:0 0 auto}.voltage-chart{width:100%;min-width:0;height:auto;display:block;touch-action:pan-y}.voltage-chart-plot{fill:#fff;stroke:#d9e1e5}.voltage-chart-grid{stroke:#e6ecef;stroke-width:1}.voltage-chart-axis-label,.voltage-chart-axis-title{fill:#65727c;font-size:13px}.voltage-chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.voltage-chart-line.starter,.voltage-chart-legend i.starter{stroke:#1f7a8c;background:#1f7a8c}.voltage-chart-line.service,.voltage-chart-legend i.service{stroke:#6657b8;background:#6657b8}.voltage-chart-line.service{stroke-dasharray:9 5}.voltage-chart-safe-band{pointer-events:none}.voltage-chart-safe-band.is-starter{fill:color-mix(in srgb,#1f7a8c 7%,transparent);stroke:color-mix(in srgb,#1f7a8c 32%,transparent);stroke-dasharray:5 5}.voltage-chart-safe-band.is-service{fill:color-mix(in srgb,#6657b8 5%,transparent);stroke:color-mix(in srgb,#6657b8 30%,transparent);stroke-dasharray:2 5}.voltage-chart-panel.is-prominent{gap:16px;padding:18px 20px 20px;border-top:0}.voltage-chart-panel.is-prominent .voltage-chart-summary,.voltage-chart-panel.is-prominent .voltage-chart-legend{font-size:14px}.voltage-chart-alarm-marker{fill:var(--state-alarm-ink);stroke:#fff;stroke-width:1.5}.voltage-chart-crosshair{stroke:#9aabb5;stroke-dasharray:4 4;stroke-width:1}.voltage-chart-tooltip{fill:#fff;stroke:#cbd5da;filter:drop-shadow(0 8px 14px rgba(24,54,66,.12))}.voltage-chart-tooltip-label{fill:#17202a;font-size:14px;font-weight:700}.voltage-chart-tooltip-time{fill:#65727c;font-size:12px}.voltage-chart-legend span{display:inline-flex;align-items:center;gap:6px}.voltage-chart-legend i{width:18px;height:3px;display:inline-block;border-radius:999px}.voltage-chart-legend i.alarm{width:8px;height:8px;background:var(--state-alarm-ink);border-radius:1px;transform:rotate(45deg)}.activity-timeline-panel{display:grid;gap:8px;border-top:1px solid #edf1f3;padding-top:4px}.activity-timeline{width:100%;min-width:0;height:auto;display:block;touch-action:pan-y}.chart-selection{min-height:48px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;border:1px solid #d9e1e5;border-radius:8px;background:#fff;padding:8px 10px;color:#5f6f7a;font-size:13px}.chart-selection strong{color:#17202a}.chart-selection>*{min-width:0;overflow-wrap:anywhere}.chart-data-disclosure{border-top:1px solid #d9e1e5}.chart-data-disclosure>summary{min-height:44px;display:flex;align-items:center;color:#183642;font-size:13px;font-weight:800;cursor:pointer}.chart-data-disclosure>p{margin:0 0 12px;color:#5f6f7a}.chart-data-table-wrap{max-width:100%;margin-bottom:12px;overflow-x:auto;border:1px solid #d9e1e5;border-radius:8px}.chart-data-table{width:100%;min-width:560px;border-collapse:collapse;background:#fff;font-size:13px}.chart-data-table caption{padding:10px 12px;color:#334852;font-weight:800;text-align:left}.chart-data-table th,.chart-data-table td{padding:9px 12px;border-top:1px solid #edf1f3;text-align:left;vertical-align:top}.chart-data-table thead th{color:#5f6f7a;font-size:12px}.chart-data-table td.is-alarm{background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.activity-timeline-plot{fill:#fff;stroke:#d9e1e5}.activity-timeline-baseline{stroke:#d8e1e6;stroke-width:2}.activity-segment{opacity:.92}.activity-segment.pump,.activity-change.pump,.activity-hover-dot.pump,.activity-segment.radar,.activity-change.radar,.activity-hover-dot.radar{fill:var(--state-active-ink)}.activity-segment.alarm,.activity-change.alarm,.activity-hover-dot.alarm{fill:var(--state-alarm-ink)}.activity-change{opacity:.95}.activity-hover-dot{stroke:#fff;stroke-width:2}.mono{font-family:Cascadia Mono,Consolas,monospace;font-size:13px}.toolbar{display:flex;flex-wrap:wrap;gap:10px}.toolbar-field{display:grid;gap:6px;color:#334852;font-size:13px;font-weight:700}.history-toolbar .toolbar-field:first-child{flex:1 1 260px}.toolbar select,.toolbar input,.login-panel input{min-height:44px;border:1px solid #cbd5da;border-radius:6px;padding:0 10px;background:#fff}.device-filter{width:min(100%,390px)}.tabs{display:flex;flex-wrap:wrap;gap:8px}.tabs a{min-height:44px;display:inline-flex;align-items:center;border:1px solid #cbd5da;border-radius:6px;padding:0 12px;color:#183642;text-decoration:none;background:#fff}.tabs a.active{border-color:#1f7a8c;background:#e9f5f7}.admin-filter-disclosure>summary{display:none}.admin-filter-disclosure>.admin-filter-panel{display:grid}.filter-count{min-width:24px;min-height:24px;display:inline-grid;place-items:center;border-radius:999px;background:#1f7a8c;color:#fff;font-size:12px}.state-line{min-height:42px;border:1px solid #d9e1e5;border-radius:8px;background:#fff;display:flex;align-items:center;padding:0 14px}.state-line.error,.form-error{color:var(--state-alarm-ink)}.empty-state{min-height:280px;display:grid;align-content:center;justify-items:start;gap:16px;border:1px solid #d9e1e5;border-radius:8px;background:#fff;padding:26px}.empty-state svg{color:#a86a3b}.empty-state p{max-width:520px;color:#65727c;line-height:1.5}.login-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:linear-gradient(#183642bd,#183642bd),url(https://images.unsplash.com/photo-1569263979104-865ab7cd8d13?auto=format&fit=crop&w=1600&q=80);background-size:cover;background-position:center;padding:24px}.login-panel{width:min(100%,380px);display:grid;gap:14px;border-radius:8px;background:#fff;padding:22px;box-shadow:0 24px 60px #00000038}.login-panel label{display:grid;gap:6px;font-weight:600}.login-mark{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;margin-bottom:4px}.login-secondary-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;color:#1f7a8c;font-weight:700;text-decoration:none}.login-action-link{text-align:center}.account-status-panel{gap:22px}.primary-button{min-height:44px;border:0;border-radius:6px;color:#fff;background:#1f7a8c;font-weight:700;cursor:pointer}.primary-button:disabled,.danger-button:disabled{opacity:.64;cursor:default}.secondary-button,.danger-button,.icon-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;text-decoration:none;font-weight:700}.secondary-button{gap:8px;border:1px solid #cbd5da;color:#183642;background:#fff;padding:0 12px}.danger-button{border:0;color:#fff;background:#b3433b;cursor:pointer}.icon-button-text{min-width:92px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;text-decoration:none}.icon-link{width:44px;min-height:44px;border:1px solid #cbd5da;color:#183642;background:#fff}.row-actions{width:62px;text-align:right}.status-badge{width:fit-content;min-height:28px;display:inline-flex;align-items:center;border-radius:6px;padding:0 9px;font-size:12px;font-weight:800;text-transform:uppercase}.status-badge.success{color:var(--state-healthy-ink);background:var(--state-healthy-surface)}.status-badge.warning{color:var(--state-warning-ink);background:var(--state-warning-surface)}.status-badge.danger{color:var(--state-alarm-ink);background:var(--state-alarm-surface)}.status-badge.muted{color:var(--state-unknown-ink);background:var(--state-unknown-surface)}.channel-chip-list{display:flex;flex-wrap:wrap;gap:6px}.channel-chip{width:fit-content;min-height:26px;display:inline-flex;align-items:center;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:800;line-height:1.35}.dashboard-cell-label{display:none}.channel-chip.active{color:var(--state-active-ink);background:var(--state-active-surface)}.channel-chip.alarm{color:var(--state-alarm-ink);background:var(--state-alarm-surface)}.channel-chip.inactive{color:var(--state-unknown-ink);background:#fff;box-shadow:inset 0 0 0 1px var(--state-unknown-border)}.channel-chip.unknown{color:var(--state-unknown-ink);background:var(--state-unknown-surface)}.channel-config-panel{margin-top:18px}.channel-config-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.channel-config-header h2{margin:0 0 4px;font-size:20px}.channel-config-header p{margin:0;color:#6a7681}.channel-kind-buttons{display:flex;flex-wrap:wrap;gap:8px}.channel-config-table{margin-top:4px}.channel-config-table select,.channel-config-table input[type=text],.channel-config-table input:not([type]){min-width:130px}.channel-config-table input[type=number]{width:76px}.channel-config-table input[type=checkbox]{width:18px;height:18px}.table-icon-button{width:44px;height:44px;flex:0 0 44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d7dee4;border-radius:6px;color:#50606d;background:#fff;cursor:pointer}.table-icon-button.danger{color:var(--state-alarm-ink)}.credential-panel{display:grid;gap:14px;border:1px solid #b9d9c3;border-radius:8px;background:#f4fbf6;padding:16px}.credential-panel-head{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:14px;color:#276d3b}.credential-panel-head>div{min-width:0;display:flex;align-items:center;gap:10px}.credential-panel-head h2{color:#173d26}.credential-panel-head p{color:#4d7b5c}.credential-grid{display:grid;gap:10px}.credential-item{min-width:0;display:grid;grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #cce4d3;border-radius:8px;background:#fff;padding:10px}.credential-item>span{color:#4d7b5c;font-size:12px;font-weight:800;text-transform:uppercase}.credential-item strong{min-width:0;overflow-x:auto;border-radius:6px;background:#f7faf8;padding:8px 10px;color:#173d26;white-space:nowrap}.form-panel{display:grid;gap:18px;border:1px solid #d9e1e5;border-radius:8px;background:#fff;padding:18px}.form-panel label{display:grid;gap:7px;color:#334852;font-weight:700}.form-guidance{margin:0;color:#5f7078;font-size:14px}.required-marker{color:var(--state-alarm-ink)}.field-requirement,.field-help{color:#657780;font-weight:500}.field-help{font-size:13px;line-height:1.4}.form-panel input,.form-panel select,.form-panel textarea{width:100%;min-height:44px;border:1px solid #cbd5da;border-radius:6px;padding:8px 10px;background:#fff;color:#17202a}.form-panel textarea{resize:vertical}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.toggle-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.toggle-grid label{min-height:52px;grid-template-columns:18px minmax(0,1fr);align-items:center;border:1px solid #d9e1e5;border-radius:8px;padding:10px;font-weight:700}.toggle-grid input{width:18px;min-height:18px;padding:0}.form-actions{min-height:44px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.state-line.success{gap:10px;flex-wrap:wrap;color:var(--state-healthy-ink);background:var(--state-healthy-surface);border-color:var(--state-healthy-border)}.pagination-bar{min-height:44px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.pagination-bar button{width:42px;padding:0}.pagination-bar button:disabled{opacity:.52;cursor:default}.public-shell{min-height:100vh;background:#f7f9fb;color:#17202a}.public-nav{min-height:68px;position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 28px;background:#fffffff0;border-bottom:1px solid #dce5ea;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.public-brand,.public-nav nav,.public-nav nav a,.public-login{display:inline-flex;align-items:center}.public-brand{min-height:44px;gap:10px;font-weight:800;text-decoration:none;color:#183642}.public-nav nav{gap:8px;flex-wrap:wrap;justify-content:flex-end}.public-nav nav a{min-height:38px;border-radius:6px;padding:0 11px;color:#294451;font-weight:700;text-decoration:none}.public-nav nav a.active,.public-nav nav a:hover{background:#e9f5f7;color:#1f7a8c}.public-login{gap:7px;border:1px solid #c8d5dc;background:#fff}.public-page{display:grid}.public-hero{min-height:calc(100vh - 68px);min-height:calc(100svh - 68px);display:grid;align-items:end;background:linear-gradient(90deg,#091b27e6,#091b2794,#091b273d),url(https://images.unsplash.com/photo-1569263979104-865ab7cd8d13?auto=format&fit=crop&w=1800&q=82);background-position:center;background-size:cover;color:#fff}.public-hero-inner{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:0 0 72px;display:grid;gap:22px}.public-hero h1{max-width:780px;font-size:clamp(42px,7vw,76px);line-height:1.02}.public-hero p{max-width:620px;color:#d8e9ee;font-size:20px;line-height:1.55}.public-actions,.split{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.public-primary,.public-secondary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;padding:0 16px;font-weight:800;text-decoration:none}.public-primary{border:1px solid #1f7a8c;background:#1f7a8c;color:#fff}.public-secondary{border:1px solid rgba(255,255,255,.58);color:#fff}.public-secondary.dark{border-color:#bdccd3;color:#183642;background:#fff}.public-section{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:64px 0}.section-heading{display:grid;place-items:center;margin-bottom:26px}.section-heading.left{place-items:start}.public-section h2,.public-simple-hero h1{font-size:32px;line-height:1.15}.public-section p,.public-card p,.product-card p,.step-card p{color:#5f6f7a;line-height:1.55}.public-card-grid{display:grid;gap:16px}.public-card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.public-card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.public-card,.product-card,.step-card,.application-form{border:1px solid #d9e1e5;border-radius:8px;background:#fff;box-shadow:0 14px 34px #122a3714}.public-card{min-height:210px;display:grid;align-content:start;gap:12px;padding:22px}.public-card svg,.step-head svg{color:#1f7a8c}.public-card.horizontal{min-height:150px;grid-template-columns:34px minmax(0,1fr)}.public-card h3,.product-card h3,.step-card h2{margin:0}.public-band{background:#183642;color:#fff}.public-band p{color:#d1e4ea}.muted-band{background:#eaf2f4;color:#17202a}.muted-band p{color:#5f6f7a}.split{justify-content:space-between}.split>div:first-child{max-width:680px;display:grid;gap:12px}.public-signal{display:flex;align-items:center;gap:12px;color:#27a37f}.advantage-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.advantage-list>div{min-height:86px;border:1px solid #d9e1e5;border-radius:8px;background:#fff;padding:14px;display:grid;gap:8px;align-content:start;font-weight:700}.advantage-list svg{color:#27a37f}.registration-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(320px,1fr);gap:24px;align-items:start}.application-form{display:grid;gap:14px;padding:22px}.application-form label{display:grid;gap:7px;font-weight:700}.application-form input,.application-form textarea{min-height:44px;border:1px solid #cbd5da;border-radius:6px;background:#fff;padding:10px 12px}.application-form textarea{resize:vertical}.form-success{color:var(--state-healthy-ink)}.form-notice{color:var(--state-warning-ink)}.public-simple-hero{min-height:310px;display:grid;place-items:center;align-content:center;gap:12px;padding:64px 20px;text-align:center;color:#fff;background:linear-gradient(#102e3cbd,#102e3cbd),url(https://images.unsplash.com/photo-1516417156595-3ca5df62a3a4?auto=format&fit=crop&w=1800&q=82);background-position:center;background-size:cover}.public-simple-hero.works{background:linear-gradient(#102e3cc7,#102e3cc7),url(https://images.unsplash.com/photo-1547036967-23d11aacaee0?auto=format&fit=crop&w=1800&q=82);background-position:center;background-size:cover}.product-section{display:grid;gap:16px}.product-card{min-height:270px;position:relative;display:grid;gap:12px;align-content:start;padding:22px}.device-badge{width:fit-content;min-height:28px;display:inline-flex;align-items:center;border-radius:6px;padding:0 9px;color:#fff;font-size:12px;font-weight:800;text-transform:uppercase}.device-badge.copper{background:#a86a3b}.device-badge.silver,.device-badge.platinum{background:#6d7b84}.device-badge.gold{background:#b8871d}.device-badge.custom{background:#1f7a8c}.product-card ul,.step-card ul{display:grid;gap:10px;padding:0;margin:0;list-style:none}.product-card li{display:flex;align-items:center;gap:8px;color:#334852}.product-card li svg{color:#27a37f;flex:0 0 auto}.step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.step-card{display:grid;align-content:start;gap:14px;padding:22px}.step-head{display:flex;align-items:center;justify-content:space-between}.step-head span{width:36px;height:36px;display:inline-grid;place-items:center;border-radius:50%;background:#1f7a8c;color:#fff;font-weight:800}.step-card li{position:relative;padding-left:18px;color:#334852}.step-card li:before{content:"";width:6px;height:6px;position:absolute;top:.68em;left:0;border-radius:50%;background:#27a37f}.step-footer{font-weight:700}.public-footer{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 28px;background:#102631;color:#d6eef3}@media(max-width:860px){.app-shell{display:block;min-height:100dvh}.side-nav{display:none}.mobile-app-bar{min-height:calc(60px + env(safe-area-inset-top));position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:env(safe-area-inset-top) 14px 0;border-bottom:1px solid #2a505d;background:#183642;color:#f7fbfc;box-shadow:0 5px 18px #091b271f}.mobile-brand{min-width:0;min-height:44px;display:inline-flex;align-items:center;gap:9px;color:inherit;font-weight:800;text-decoration:none}.mobile-bottom-nav{min-height:calc(66px + env(safe-area-inset-bottom));position:fixed;right:0;bottom:0;left:0;z-index:19;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:env(safe-area-inset-bottom);border-top:1px solid #cbd5da;background:#fffffffa;box-shadow:0 -8px 24px #1836421a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-bottom-nav a{min-width:0;min-height:66px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px 3px;color:#5f6f7a;font-size:11px;font-weight:750;line-height:1.05;text-align:center;text-decoration:none}.mobile-bottom-nav a.active{color:#176779;background:#e9f5f7}.content{padding:16px 16px calc(84px + env(safe-area-inset-bottom))}.dashboard-master-detail{display:block}.dashboard-expand-actions{display:flex}.form-grid.two,.form-grid.four,.toggle-grid{grid-template-columns:1fr}.channel-config-header{flex-direction:column}.credential-item{grid-template-columns:1fr}.public-nav{min-height:calc(60px + env(safe-area-inset-top));align-items:center;flex-direction:row;padding:env(safe-area-inset-top) 14px 0}.public-desktop-nav{display:none!important}.public-menu-button{display:inline-flex;border-color:#c8d5dc;color:#183642}.public-mobile-drawer{background:#fff;color:#183642}.public-mobile-drawer .mobile-menu-button{border-color:#c8d5dc}.public-mobile-drawer .mobile-drawer-nav a.active,.public-mobile-drawer .mobile-drawer-nav a:hover,.public-mobile-drawer .mobile-drawer-action:hover{background:#e9f5f7;color:#1f7a8c}.public-mobile-drawer .language-selector select{color:#183642}.public-hero{min-height:min(720px,calc(100svh - 60px))}.public-hero h1{font-size:42px}.public-card-grid.three,.public-card-grid.two,.advantage-list,.registration-section,.step-grid{grid-template-columns:minmax(0,1fr)}.public-section{padding:42px 0}.public-footer{align-items:flex-start;flex-direction:column;justify-content:center;padding:18px}}@media(max-width:640px){.page-header{min-height:0;align-items:stretch;flex-direction:column}.dashboard-status-stack{width:100%;display:block;padding-top:10px;border-top:1px solid #d9e1e5}.dashboard-trust-status{width:100%;min-width:0}.metric-strip{display:flex;gap:0;overflow:hidden}.metric-strip>button{min-width:0;min-height:56px;flex:1 1 0;grid-template-columns:minmax(0,1fr);align-content:center;gap:2px;border-right:1px solid #edf1f3;padding:8px}.metric-strip>:last-child{border-right:0}.metric-strip svg{display:none}.metric-strip strong{font-size:1.125rem;line-height:1.1}.metric-strip span{font-size:.75rem;line-height:1.25}.dashboard-notice{grid-template-columns:auto minmax(0,1fr)}.dashboard-retry-button{width:100%;grid-column:1 / -1}.dashboard-attention-item{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-incident-severity,.dashboard-attention-asset,.dashboard-incident-reason{grid-column:1 / -1}.dashboard-attention-asset strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.dashboard-incident-age{grid-column:1}.dashboard-incident-verified{grid-column:2}.dashboard-attention-item .secondary-button{width:100%;grid-column:1 / -1;grid-row:auto}.dashboard-explorer-heading{align-items:stretch;flex-direction:column}.dashboard-expand-actions{justify-content:flex-start}.dashboard-triage-controls{grid-template-columns:minmax(0,1fr)}.dashboard-filter-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-filter-group button{justify-content:space-between}.page-header>.primary-button,.page-header>.secondary-button,.page-header>.icon-button-text{width:100%}.history-toolbar{display:grid;grid-template-columns:1fr}.history-toolbar .toolbar-field,.history-toolbar select,.history-toolbar input{width:100%}.tabs{flex-wrap:nowrap;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}.tabs a{flex:0 0 auto;scroll-snap-align:start}.admin-filter-disclosure{border:1px solid #d9e1e5;border-radius:10px;background:#fff;overflow:hidden}.admin-filter-disclosure>summary{min-height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;color:#183642;font-weight:800;cursor:pointer}.admin-filter-disclosure>.admin-filter-panel{border:0;border-top:1px solid #edf1f3;border-radius:0;box-shadow:none}.admin-filter-disclosure:not([open])>.admin-filter-panel{display:none}.responsive-table-wrap{overflow:visible;border:0;background:transparent}.responsive-table{min-width:0;display:block}.responsive-table thead{display:none}.responsive-table tbody{display:grid;gap:12px}.responsive-table tr{min-width:0;position:relative;display:grid;overflow:hidden;border:1px solid #d9e1e5;border-radius:10px;background:#fff;box-shadow:0 8px 20px #122a370f}.responsive-table td{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:10px 12px;overflow-wrap:anywhere;border-bottom:1px solid #edf1f3;text-align:right}.responsive-table td:last-child{border-bottom:0}.responsive-table td:before{content:attr(data-label);flex:0 0 min(42%,150px);color:#5f6f7a;font-size:11px;font-weight:800;line-height:1.35;text-align:left;text-transform:uppercase}.responsive-table td:first-child{padding-right:64px;font-weight:700}.responsive-table td.row-actions{width:auto;position:absolute;top:8px;right:8px;display:block;padding:0;border:0}.responsive-table td.row-actions:before,.responsive-table td.channel-row-actions:before,.dashboard-table .voltage-chart-row td:before{display:none}.responsive-table td.admin-row-actions{width:auto;position:static;display:flex;justify-content:flex-end;gap:8px;padding:10px 12px;border-bottom:0}.responsive-table td.admin-row-actions:before{display:block;flex:1 1 auto;margin-right:auto}.responsive-table .mono{overflow-wrap:anywhere;word-break:break-word}.dashboard-table td:first-child{display:block;padding-right:12px;text-align:left}.dashboard-table td:first-child:before{display:none;content:none}.dashboard-table td:before{display:none;content:none}.dashboard-cell-label{flex:0 0 min(42%,150px);display:block;color:#5f6f7a;font-size:11px;font-weight:800;line-height:1.35;text-align:left;text-transform:uppercase}.dashboard-table td:first-child .dashboard-cell-label{margin-bottom:8px}.dashboard-table .device-cell{width:100%;align-items:center;text-align:left}.device-configuration{display:none}.dashboard-device-row{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-device-row>.dashboard-device-primary-cell,.dashboard-device-row>.dashboard-device-status-cell,.dashboard-device-row>.dashboard-device-updated-cell{grid-column:1 / -1}.dashboard-device-row>.dashboard-device-voltage-cell{min-height:66px;display:grid;align-content:start;justify-content:stretch;gap:4px;text-align:left}.dashboard-device-row>.dashboard-device-voltage-cell .dashboard-cell-label{max-width:none}.dashboard-device-row.is-healthy>.dashboard-device-secondary-cell{display:none}.dashboard-device-row.is-healthy .dashboard-mobile-secondary-disclosure{display:block;margin-top:10px;border-top:1px solid #edf1f3}.dashboard-mobile-secondary-disclosure>summary{min-height:44px;display:flex;align-items:center;color:#176779;font-size:13px;font-weight:800;cursor:pointer}.dashboard-mobile-secondary-readings{display:grid;gap:0;margin:0}.dashboard-mobile-secondary-readings>div{min-width:0;display:grid;grid-template-columns:minmax(88px,.55fr) minmax(0,1fr);gap:12px;padding:9px 0;border-top:1px solid #edf1f3}.dashboard-mobile-secondary-readings dt,.dashboard-mobile-secondary-readings dd{min-width:0;margin:0;overflow-wrap:anywhere}.dashboard-mobile-secondary-readings dt{color:#5f6f7a;font-size:11px;font-weight:800;text-transform:uppercase}.dashboard-mobile-secondary-readings dd{text-align:right}.dashboard-table tr.is-expanded{border-radius:10px 10px 0 0}.dashboard-table .voltage-chart-row{margin-top:-12px;border-top:0;border-radius:0 0 10px 10px}.dashboard-table .voltage-chart-row td{display:block;padding:0;border:0;text-align:left}.voltage-chart-panel,.chart-data-disclosure{scroll-margin-bottom:calc(84px + env(safe-area-inset-bottom))}.dashboard-table .voltage-chart-row .dashboard-cell-label{display:none}.responsive-form-table td{display:grid;grid-template-columns:minmax(100px,.75fr) minmax(0,1fr);align-items:center;text-align:left}.responsive-form-table td:first-child{padding-right:64px}.responsive-form-table select,.responsive-form-table input:not([type=checkbox]){width:100%;min-width:0}.responsive-form-table input[type=checkbox]{justify-self:end}.responsive-form-table td.channel-row-actions{position:absolute;top:8px;right:8px;display:block;padding:0;border:0}}@media(max-width:480px){.content{padding:12px 12px calc(82px + env(safe-area-inset-bottom))}.mobile-bottom-nav a{font-size:10px}.public-brand{gap:8px;font-size:14px}.public-hero{min-height:calc(100svh - 60px)}.public-hero-inner{width:min(100% - 28px,1120px);padding-bottom:42px}.public-section{width:min(1120px,calc(100% - 28px));padding:34px 0}.public-actions{display:grid;grid-template-columns:1fr}.public-actions a{width:100%}.public-card,.product-card,.step-card,.application-form{min-width:0;padding:18px}.step-card{overflow-wrap:anywhere}.public-hero h1{font-size:clamp(34px,12vw,42px)}.public-hero p{font-size:17px}}@media(prefers-reduced-motion:reduce){.dashboard-page *,.dashboard-page *:before,.dashboard-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.vessel-detail-page{width:min(100%,1320px);margin:0 auto;gap:24px;color:#17202a;font-size:var(--dashboard-text-body);line-height:1.5}.vessel-detail-back{width:fit-content;min-height:44px;display:inline-flex;align-items:center;gap:8px;color:#176779;font-weight:750;text-decoration:none}.vessel-detail-back:hover{color:#0f4f5d;text-decoration:underline;text-underline-offset:3px}.vessel-detail-header{min-width:0;display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,auto) minmax(260px,auto);align-items:center;gap:24px;border-bottom:1px solid var(--dashboard-panel-border);padding:0 0 24px}.vessel-detail-identity,.vessel-detail-health,.vessel-detail-live{min-width:0;display:flex;align-items:center;gap:12px}.vessel-detail-vessel-icon{width:52px;min-width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--state-active-surface);color:var(--state-active-ink)}.vessel-detail-identity>div,.vessel-detail-health>div{min-width:0;display:grid;gap:4px}.vessel-detail-identity h1{margin:0;overflow-wrap:anywhere;font-size:2rem;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.vessel-detail-identity p,.vessel-detail-health span,.vessel-detail-live{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-support)}.vessel-detail-health{color:var(--state-unknown-ink)}.vessel-detail-health.is-healthy{color:var(--state-healthy-ink)}.vessel-detail-health.is-warning{color:var(--state-warning-ink)}.vessel-detail-health.is-alarm{color:var(--state-alarm-ink)}.vessel-detail-health strong{color:currentColor;font-size:1rem}.vessel-detail-live{justify-content:flex-end;color:var(--state-active-ink)}.vessel-detail-live.is-delayed{color:var(--state-warning-ink)}.vessel-detail-live button{width:44px;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-control-radius);background:var(--dashboard-surface);color:currentColor;cursor:pointer}.vessel-detail-live button:hover:not(:disabled){border-color:var(--state-active-border);background:var(--state-active-surface)}.vessel-detail-live button:disabled{opacity:.6;cursor:default}.vessel-detail-voltage,.vessel-detail-history,.vessel-detail-systems{min-width:0;overflow:hidden;border:1px solid var(--dashboard-panel-border);border-radius:12px;background:var(--dashboard-surface)}.vessel-detail-section-header{min-width:0;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;border-bottom:1px solid var(--dashboard-divider);padding:20px}.vessel-detail-section-header>div:first-child,.vessel-detail-section-heading,.vessel-detail-diagnostics-intro{min-width:0;display:grid;gap:4px}.vessel-detail-section-header h2,.vessel-detail-section-heading h2,.vessel-detail-diagnostics h3{margin:0;font-size:1.25rem;line-height:1.25;text-wrap:balance}.vessel-detail-section-header p,.vessel-detail-section-heading p,.vessel-detail-diagnostics p,.vessel-detail-empty-history p,.vessel-detail-state p{max-width:70ch;margin:0;color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-support);text-wrap:pretty}.vessel-detail-chart-controls{min-width:0;display:flex;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap;gap:12px}.vessel-detail-chart-controls label{min-width:min(240px,100%);display:grid;gap:4px;color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption);font-weight:700}.vessel-detail-chart-controls select{min-width:0;min-height:44px;border:1px solid #b9c8cf;border-radius:var(--dashboard-control-radius);background:var(--dashboard-surface);color:#17202a;padding:0 36px 0 12px}.vessel-detail-periods{min-width:0;display:inline-flex;border:1px solid #b9c8cf;border-radius:var(--dashboard-control-radius);overflow:hidden}.vessel-detail-periods button{min-height:44px;border:0;border-right:1px solid #b9c8cf;background:var(--dashboard-surface);color:#334852;padding:0 16px;font-weight:700;cursor:pointer}.vessel-detail-periods button:last-child{border-right:0}.vessel-detail-periods button:hover{background:#f4fafb}.vessel-detail-periods button[aria-pressed=true]{background:#145665;color:#fff}.vessel-detail-chart-loading,.vessel-detail-chart-error{min-height:340px;display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--dashboard-text-secondary)}.vessel-detail-chart-loading span{width:20px;height:20px;border:3px solid #cbd5da;border-top-color:#1f7a8c;border-radius:50%;animation:vessel-detail-spin .7s linear infinite}.vessel-detail-chart-error{color:var(--state-alarm-ink)}.vessel-detail-chart-error button{min-height:44px;border:1px solid var(--state-alarm-border);border-radius:var(--dashboard-control-radius);background:var(--state-alarm-surface);color:var(--state-alarm-ink);padding:0 12px;font-weight:750;cursor:pointer}.vessel-detail-diagnostics{border-top:1px solid var(--dashboard-divider)}.vessel-detail-diagnostics>summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;color:#176779;font-weight:800;cursor:pointer}.vessel-detail-diagnostics>summary::marker{content:""}.vessel-detail-diagnostics>summary svg{transition:transform var(--dashboard-motion-fast)}.vessel-detail-diagnostics[open]>summary svg{transform:rotate(180deg)}.vessel-detail-diagnostics-body{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,2fr);gap:24px;border-top:1px solid var(--dashboard-divider);background:var(--dashboard-surface-subtle);padding:20px}.vessel-detail-diagnostics dl{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 24px;margin:0}.vessel-detail-diagnostics dl>div{min-width:0;display:grid;align-content:start;gap:4px}.vessel-detail-diagnostics dt{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption);font-weight:700}.vessel-detail-diagnostics dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:var(--dashboard-text-support);font-variant-numeric:tabular-nums;font-weight:700}.vessel-detail-lower{min-width:0;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);align-items:start;gap:24px}.vessel-detail-section-heading{border-bottom:1px solid var(--dashboard-divider);padding:20px}.vessel-detail-alarm-list,.vessel-detail-systems ul{margin:0;padding:0;list-style:none}.vessel-detail-alarm-list li{min-width:0;min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(190px,auto);align-items:center;gap:12px;border-bottom:1px solid var(--dashboard-divider);padding:12px 20px}.vessel-detail-alarm-list li:last-child{border-bottom:0}.vessel-detail-alarm-list li.is-alarm{background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.vessel-detail-alarm-list li.is-recovered{color:var(--state-healthy-ink)}.vessel-detail-alarm-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,currentColor 10%,transparent);color:currentColor}.vessel-detail-alarm-copy,.vessel-detail-alarm-meta{min-width:0;display:grid;gap:4px}.vessel-detail-alarm-copy strong{overflow-wrap:anywhere;color:#17202a}.vessel-detail-alarm-copy span,.vessel-detail-alarm-meta span,.vessel-detail-alarm-meta time{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption)}.vessel-detail-alarm-meta{justify-items:end;text-align:right;font-variant-numeric:tabular-nums}.vessel-detail-alarm-meta strong{color:currentColor}.vessel-detail-ongoing{width:fit-content;border:1px solid var(--state-alarm-border);border-radius:999px;background:#fff;color:var(--state-alarm-ink)!important;padding:2px 8px;font-weight:800}.vessel-detail-empty-history{min-height:180px;display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--state-healthy-ink)}.vessel-detail-empty-history>div{display:grid;gap:4px}.vessel-detail-system-row{min-width:0;min-height:72px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid var(--dashboard-divider);padding:12px 20px}.vessel-detail-system-row:last-child{border-bottom:0}.vessel-detail-system-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--state-unknown-surface);color:var(--state-unknown-ink)}.vessel-detail-system-row.is-healthy .vessel-detail-system-icon,.vessel-detail-system-row.is-healthy .vessel-detail-system-state{background:var(--state-healthy-surface);color:var(--state-healthy-ink)}.vessel-detail-system-row.is-active .vessel-detail-system-icon,.vessel-detail-system-row.is-active .vessel-detail-system-state{background:var(--state-active-surface);color:var(--state-active-ink)}.vessel-detail-system-row.is-warning .vessel-detail-system-icon,.vessel-detail-system-row.is-warning .vessel-detail-system-state{background:var(--state-warning-surface);color:var(--state-warning-ink)}.vessel-detail-system-row.is-alarm .vessel-detail-system-icon,.vessel-detail-system-row.is-alarm .vessel-detail-system-state{background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.vessel-detail-system-copy{min-width:0;display:grid;gap:4px}.vessel-detail-system-copy small{color:var(--dashboard-text-secondary);font-variant-numeric:tabular-nums}.vessel-detail-system-state{min-height:34px;display:inline-flex;align-items:center;gap:6px;border-radius:999px;background:var(--state-unknown-surface);color:var(--state-unknown-ink);padding:0 10px;font-size:var(--dashboard-text-caption);font-weight:800}.vessel-detail-state{min-height:220px;display:flex;align-items:center;justify-content:center;gap:16px;border:1px solid var(--dashboard-panel-border);border-radius:12px;background:var(--dashboard-surface);padding:24px}.vessel-detail-state.is-error{border-color:var(--state-alarm-border);background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.vessel-detail-state>div{min-width:0;display:grid;gap:4px}.vessel-detail-state h1,.vessel-detail-state h2{margin:0;font-size:1.25rem}.vessel-detail-skeleton{min-height:520px;display:grid;align-content:start;gap:24px}.vessel-detail-skeleton span{display:block;height:84px;border-radius:12px;background:#e8edef}.vessel-detail-skeleton span:nth-child(2){height:410px}.vessel-detail-skeleton span:nth-child(3){width:70%;height:220px}@keyframes vessel-detail-spin{to{transform:rotate(360deg)}}@media(max-width:1360px){.vessel-detail-header{grid-template-columns:minmax(240px,1fr) minmax(260px,auto)}.vessel-detail-live{grid-column:1 / -1;justify-content:flex-start;border-top:1px solid var(--dashboard-divider);padding-top:12px}}@media(max-width:1100px){.vessel-detail-diagnostics dl{grid-template-columns:repeat(2,minmax(0,1fr))}.vessel-detail-lower{grid-template-columns:minmax(0,1fr)}.vessel-detail-alarm-list li{grid-template-columns:auto minmax(0,1fr)}.vessel-detail-alarm-meta{grid-column:2;justify-items:start;text-align:left}}@media(max-width:760px){.vessel-detail-page{gap:20px}.vessel-detail-header,.vessel-detail-section-header,.vessel-detail-diagnostics-body{grid-template-columns:minmax(0,1fr)}.vessel-detail-header{align-items:start}.vessel-detail-health,.vessel-detail-live{grid-column:1}.vessel-detail-section-header{display:grid;gap:16px;padding:16px}.vessel-detail-chart-controls{justify-content:stretch}.vessel-detail-chart-controls label,.vessel-detail-chart-controls select,.vessel-detail-periods{width:100%}.vessel-detail-periods button{min-width:0;flex:1;padding:0 8px}.voltage-chart-panel.is-prominent{padding:16px 8px}.vessel-detail-diagnostics-body,.vessel-detail-section-heading{padding:16px}.vessel-detail-alarm-list li{padding:12px 16px}.vessel-detail-state{min-height:0;align-items:flex-start;flex-direction:column}}@media(max-width:480px){.vessel-detail-identity h1{font-size:1.5rem}.vessel-detail-health{align-items:flex-start}.vessel-detail-live span{flex:1}.vessel-detail-diagnostics dl{grid-template-columns:minmax(0,1fr)}.vessel-detail-system-row{grid-template-columns:auto minmax(0,1fr);padding:12px 16px}.vessel-detail-system-state{grid-column:2;justify-self:start}}@media(prefers-reduced-motion:reduce){.vessel-detail-page *,.vessel-detail-page *:before,.vessel-detail-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(max-width:360px){.dashboard-attention-item{grid-template-columns:minmax(0,1fr)}.dashboard-attention-item .secondary-button{width:100%;grid-column:1;grid-row:auto}.dashboard-incident-severity,.dashboard-attention-asset,.dashboard-incident-reason,.dashboard-incident-age,.dashboard-incident-verified{grid-column:1}}@media(max-height:480px)and (max-width:860px){.public-hero{min-height:auto}.public-hero-inner{padding-top:54px;padding-bottom:54px}}@media(forced-colors:active){:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid Highlight;box-shadow:none}.channel-chip,.status-badge,.voltage-alarm-badge,.chart-selection,.chart-data-table-wrap{border:1px solid CanvasText}.channel-chip.alarm,.status-badge.danger{font-weight:900}.voltage-chart-line{stroke:CanvasText}.voltage-chart-alarm-marker{fill:Canvas;stroke:CanvasText}.activity-segment,.activity-change,.activity-hover-dot{fill:CanvasText}}.sr-only{width:1px;height:1px;position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.asset-management-page{width:min(100%,1280px);margin:0 auto;gap:var(--dashboard-space-6);color:#17202a;font-size:var(--dashboard-text-body);line-height:1.5}.asset-page-header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-6)}.asset-page-header>div,.asset-editor-header>div{min-width:0;display:grid;gap:var(--dashboard-space-2)}.asset-page-header h1,.asset-editor-header h1{color:#17202a;font-size:1.75rem;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.asset-page-header p,.asset-editor-header p{max-width:65ch;color:var(--dashboard-text-secondary)}.asset-summary-bar{min-width:0;display:grid;grid-template-columns:minmax(130px,.45fr) minmax(130px,.45fr) minmax(260px,1.6fr);margin:0;overflow:hidden;border:1px solid var(--dashboard-panel-border);border-radius:12px;background:var(--dashboard-surface)}.asset-summary-bar>div{min-width:0;display:grid;gap:2px;padding:var(--dashboard-space-4) var(--dashboard-space-6);border-right:1px solid var(--dashboard-divider)}.asset-summary-bar>div:last-child{border-right:0}.asset-summary-bar dt{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption);font-weight:700}.asset-summary-bar dd{min-width:0;margin:0;color:#17202a;font-size:1.125rem;font-weight:750;overflow-wrap:anywhere}.asset-summary-bar .asset-summary-scope dd{font-size:var(--dashboard-text-body);font-weight:650}.asset-list-panel,.asset-editor,.asset-danger-zone,.asset-credential-panel{min-width:0;border:1px solid var(--dashboard-panel-border);border-radius:12px;background:var(--dashboard-surface)}.asset-list-panel{overflow:hidden}.asset-list-toolbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-4);padding:var(--dashboard-space-4) var(--dashboard-space-6)}.asset-list-toolbar>div{min-width:0;display:grid;gap:2px}.asset-list-toolbar h2,.asset-form-section-header h2,.asset-danger-zone h2,.asset-credential-panel h2{color:#17202a;font-size:1.125rem;line-height:1.3}.asset-list-toolbar p,.asset-form-section-header p,.asset-danger-zone p,.asset-credential-panel p{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-support)}.asset-search-field{width:min(100%,360px);min-height:44px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--dashboard-space-2);border:1px solid #cbd5da;border-radius:var(--dashboard-control-radius);background:var(--dashboard-surface);color:var(--dashboard-text-secondary);padding-left:var(--dashboard-space-3)}.asset-search-field:focus-within{border-color:#1f7a8c;box-shadow:0 0 0 3px #1f7a8c1f}.asset-search-field input{width:100%;min-width:0;min-height:42px;border:0;outline:0;background:transparent;color:#17202a}.asset-search-field input::placeholder{color:#5f6f7a;opacity:1}.asset-search-field button{width:44px;height:44px;display:inline-grid;place-items:center;border:0;background:transparent;color:#40535d;cursor:pointer}.asset-table-wrap{border:0;border-top:1px solid var(--dashboard-divider);border-radius:0}.asset-table{table-layout:fixed}.asset-table th{padding:10px var(--dashboard-space-6);color:#53646e;background:var(--dashboard-surface-subtle);font-size:var(--dashboard-text-caption);letter-spacing:0;text-transform:none}.asset-table td{padding:var(--dashboard-space-4) var(--dashboard-space-6);vertical-align:middle}.asset-table tbody tr:last-child td{border-bottom:0}.asset-table tbody tr:hover{background:#fbfcfd}.asset-table th:first-child,.asset-table td:first-child{width:28%}.asset-table th:last-child,.asset-table td:last-child{width:300px}.asset-identity{min-width:0;display:flex;align-items:center;gap:var(--dashboard-space-3)}.asset-identity-icon,.asset-editor-icon,.asset-empty-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--state-active-border);background:var(--state-active-surface);color:var(--state-active-ink)}.asset-identity-icon{width:38px;height:38px;border-radius:50%}.asset-identity>div{min-width:0}.asset-identity strong,.asset-vessel-name,.asset-description,.asset-table .mono{overflow-wrap:anywhere}.asset-identity span,.asset-secondary-line{margin-top:2px;color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption)}.asset-description{max-width:56ch;color:#40535d;line-height:1.45}.asset-count-badge{width:fit-content;min-width:30px;min-height:30px;display:inline-grid;place-items:center;border-radius:999px;background:var(--state-unknown-surface);color:var(--state-unknown-ink);font-weight:750}.asset-row-actions{width:auto;display:flex;align-items:center;justify-content:flex-end;gap:var(--dashboard-space-2)}.asset-row-actions .secondary-button{white-space:nowrap}.asset-row-actions .secondary-button:hover,.asset-back-link:hover{border-color:var(--state-active-border);background:var(--state-active-surface);color:var(--state-active-ink)}.asset-empty-state,.asset-no-matches{min-height:240px;display:flex;align-items:center;justify-content:center;gap:var(--dashboard-space-4);border:1px solid var(--dashboard-panel-border);border-radius:12px;background:var(--dashboard-surface);padding:var(--dashboard-space-6);text-align:left}.asset-empty-state>div,.asset-no-matches>div{max-width:52ch;display:grid;gap:var(--dashboard-space-1)}.asset-empty-state h2,.asset-no-matches h3{font-size:1.125rem;line-height:1.3}.asset-empty-state p,.asset-no-matches p{color:var(--dashboard-text-secondary)}.asset-empty-icon{width:52px;height:52px;border-radius:50%}.asset-no-matches{min-height:220px;border:0;border-top:1px solid var(--dashboard-divider);border-radius:0;color:var(--dashboard-text-secondary)}.asset-state{min-width:0;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-4);border:1px solid var(--state-unknown-border);border-radius:var(--dashboard-panel-radius);background:var(--state-unknown-surface);color:var(--state-unknown-ink);padding:var(--dashboard-space-3) var(--dashboard-space-4)}.asset-state>div{min-width:0;display:grid;gap:2px}.asset-state span{font-size:var(--dashboard-text-support);overflow-wrap:anywhere}.asset-state-error{border-color:var(--state-alarm-border);background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.asset-state-warning{border-color:var(--state-warning-border);background:var(--state-warning-surface);color:var(--state-warning-ink)}.asset-list-skeleton,.asset-form-skeleton{display:grid;gap:1px;overflow:hidden;border:1px solid var(--dashboard-panel-border);border-radius:12px;background:var(--dashboard-divider)}.asset-list-skeleton span,.asset-form-skeleton span{min-height:68px;background:linear-gradient(90deg,#f8fafb,#edf2f4,#f8fafb);background-size:200% 100%;animation:asset-loading 1.4s ease-in-out infinite}.asset-form-skeleton span:first-child{min-height:110px}@keyframes asset-loading{0%{background-position:100% 0}to{background-position:-100% 0}}.asset-form-page{width:min(100%,1060px)}.asset-back-link{width:fit-content;min-height:44px;display:inline-flex;align-items:center;gap:var(--dashboard-space-2);border-radius:var(--dashboard-control-radius);color:#40535d;padding:0 var(--dashboard-space-2);font-weight:700;text-decoration:none}.asset-editor-header{min-height:64px;display:flex;align-items:center;gap:var(--dashboard-space-4)}.asset-editor-icon{width:52px;height:52px;border-radius:50%}.asset-editor.form-panel{gap:0;padding:0;overflow:hidden}.asset-form-section{display:grid;gap:var(--dashboard-space-6);padding:var(--dashboard-space-6);border-bottom:1px solid var(--dashboard-divider)}.asset-form-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--dashboard-space-6)}.asset-form-section-header>div:first-child{min-width:0;display:grid;gap:var(--dashboard-space-1)}.asset-inline-metadata{min-width:min(100%,300px);display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--dashboard-space-4);margin:0}.asset-inline-metadata>div{min-width:0;display:grid;gap:1px}.asset-inline-metadata dt{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption)}.asset-inline-metadata dd{min-width:0;margin:0;color:#40535d;font-size:var(--dashboard-text-support);font-weight:700;overflow-wrap:anywhere}.asset-form-fields,.asset-form-grid-two{display:grid;gap:var(--dashboard-space-4)}.asset-form-fields{width:min(100%,720px)}.asset-form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-editor.form-panel .asset-field{min-width:0;display:grid;align-content:start;gap:var(--dashboard-space-2)}.asset-field-label{color:#334852;font-size:var(--dashboard-text-support);font-weight:700}.asset-field-help{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption);font-weight:500;text-align:right}.asset-editor.form-panel input,.asset-editor.form-panel select,.asset-editor.form-panel textarea{border-color:#bfcbd1;transition:border-color var(--dashboard-motion-fast),box-shadow var(--dashboard-motion-fast)}.asset-editor.form-panel input:hover,.asset-editor.form-panel select:hover,.asset-editor.form-panel textarea:hover{border-color:#8ca0aa}.asset-editor.form-panel input:focus,.asset-editor.form-panel select:focus,.asset-editor.form-panel textarea:focus{border-color:#1f7a8c;outline:0;box-shadow:0 0 0 3px #1f7a8c1f}.asset-switch-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--dashboard-space-3)}.asset-switch-list-two{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-editor.form-panel .asset-switch-row{min-width:0;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-3);border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-panel-radius);background:var(--dashboard-surface-subtle);padding:var(--dashboard-space-3);cursor:pointer}.asset-switch-row>span{min-width:0;display:grid;gap:2px}.asset-switch-row strong{color:#263a44;font-size:var(--dashboard-text-support)}.asset-switch-row small{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption);font-weight:500;line-height:1.35}.asset-editor.form-panel .asset-switch-row input[type=checkbox]{width:44px;min-width:44px;height:24px;min-height:24px;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #9eabb2;border-radius:999px;background:#dce2e5;padding:0;cursor:pointer}.asset-switch-row input[type=checkbox]:after{content:"";width:18px;height:18px;position:absolute;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #17202a3d;transition:transform var(--dashboard-motion-fast)}.asset-editor.form-panel .asset-switch-row input[type=checkbox]:checked{border-color:#1f7a8c;background:#1f7a8c}.asset-editor.form-panel .asset-switch-row input[type=checkbox]:checked:after{transform:translate(20px)}.asset-voltage-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dashboard-space-4)}.asset-voltage-group{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dashboard-space-3);margin:0;border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-panel-radius);background:var(--dashboard-surface-subtle);padding:var(--dashboard-space-4)}.asset-voltage-group legend{grid-column:1 / -1;padding:0 var(--dashboard-space-1);color:#263a44;font-size:var(--dashboard-text-support);font-weight:750}.asset-voltage-group:disabled{opacity:.55}.asset-unit-input{position:relative;display:block}.asset-unit-input input{padding-right:38px}.asset-unit-input>span{position:absolute;top:50%;right:var(--dashboard-space-3);color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-support);transform:translateY(-50%);pointer-events:none}.asset-form-footer{min-height:76px;display:flex;align-items:center;justify-content:flex-end;gap:var(--dashboard-space-3);background:var(--dashboard-surface-subtle);padding:var(--dashboard-space-4) var(--dashboard-space-6)}.asset-danger-zone{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-6);border-color:#e4c4c1;padding:var(--dashboard-space-4) var(--dashboard-space-6)}.asset-danger-zone>div{min-width:0;display:grid;gap:var(--dashboard-space-1)}.asset-danger-zone h2{color:var(--state-alarm-ink)}.asset-credential-panel{display:grid;gap:var(--dashboard-space-4);border-color:var(--state-healthy-border);background:var(--state-healthy-surface);padding:var(--dashboard-space-6)}.asset-credential-heading{display:flex;align-items:flex-start;gap:var(--dashboard-space-3)}.asset-credential-heading>span{width:34px;height:34px;flex:0 0 auto;display:inline-grid;place-items:center;border-radius:50%;background:#fff;color:var(--state-healthy-ink)}.asset-credential-heading>div{display:grid;gap:var(--dashboard-space-1)}.asset-credential-panel dl{display:grid;gap:var(--dashboard-space-2);margin:0}.asset-credential-panel dl>div{min-width:0;display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:var(--dashboard-space-3)}.asset-credential-panel dt{color:var(--state-healthy-ink);font-size:var(--dashboard-text-support);font-weight:700}.asset-credential-panel dd{min-width:0;display:flex;align-items:center;gap:var(--dashboard-space-2);margin:0}.asset-credential-panel code{min-width:0;flex:1 1 auto;overflow-x:auto;border:1px solid #cce4d3;border-radius:var(--dashboard-control-radius);background:#fff;color:#173d26;padding:10px 12px;white-space:nowrap}.asset-channel-editor.form-panel{overflow:visible}.asset-channel-editor .channel-config-header{padding:var(--dashboard-space-6);border-bottom:1px solid var(--dashboard-divider)}.asset-channel-editor .channel-kind-buttons{padding:0 var(--dashboard-space-6)}.asset-channel-editor .channel-config-table{margin:0 var(--dashboard-space-6) var(--dashboard-space-6)}@media(max-width:980px){.asset-summary-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-summary-bar .asset-summary-scope{grid-column:1 / -1;border-top:1px solid var(--dashboard-divider)}.asset-summary-bar>div:nth-child(2){border-right:0}.asset-form-section-header{flex-direction:column}.asset-inline-metadata{justify-content:flex-start}.asset-switch-list,.asset-voltage-groups{grid-template-columns:minmax(0,1fr)}.asset-switch-list-two{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.asset-page-header{align-items:stretch;flex-direction:column;gap:var(--dashboard-space-4)}.asset-page-header>.primary-button{width:100%}.asset-list-toolbar{align-items:stretch;flex-direction:column}.asset-search-field{width:100%}.asset-form-grid-two,.asset-switch-list-two{grid-template-columns:minmax(0,1fr)}.asset-danger-zone{align-items:stretch;flex-direction:column}.asset-danger-zone .danger-button{width:100%}.asset-credential-panel dl>div{grid-template-columns:minmax(0,1fr)}.asset-credential-panel dd{align-items:stretch;flex-direction:column}.asset-credential-panel dd .secondary-button{width:100%}}@media(max-width:640px){.asset-management-page{gap:var(--dashboard-space-4)}.asset-page-header h1,.asset-editor-header h1{font-size:1.5rem}.asset-summary-bar>div{padding:var(--dashboard-space-3) var(--dashboard-space-4)}.asset-summary-bar dd{font-size:1rem}.asset-list-panel{border:0;background:transparent;overflow:visible}.asset-list-toolbar{border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-panel-radius);background:var(--dashboard-surface);padding:var(--dashboard-space-4)}.asset-table-wrap{margin-top:var(--dashboard-space-3);border:0;overflow:visible;background:transparent}.asset-table tbody{gap:var(--dashboard-space-3)}.asset-table tr{border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-panel-radius);background:var(--dashboard-surface);box-shadow:none}.asset-table td,.asset-table td:first-child,.asset-table td:last-child{width:100%;padding:var(--dashboard-space-3) var(--dashboard-space-4)}.asset-table td:first-child{display:grid;justify-content:stretch;gap:var(--dashboard-space-2);background:var(--dashboard-surface-subtle);text-align:left}.asset-table td:first-child:before{width:100%;flex:none}.asset-table .asset-identity{width:100%;text-align:left}.asset-table td:before{color:#53646e;font-size:var(--dashboard-text-caption);text-transform:none}.asset-table td.asset-row-actions{width:100%;position:static;top:auto;right:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dashboard-space-2);padding:var(--dashboard-space-3) var(--dashboard-space-4);border:0}.asset-table td.asset-row-actions:before{display:none;grid-column:1 / -1}.asset-row-actions .secondary-button{width:100%}.asset-row-actions .secondary-button:only-child{grid-column:1 / -1}.asset-empty-state,.asset-no-matches{min-height:0;align-items:flex-start;flex-direction:column;padding:var(--dashboard-space-6) var(--dashboard-space-4)}.asset-empty-state .primary-button{width:100%}.asset-state{align-items:stretch;flex-direction:column}.asset-state .secondary-button{width:100%}.asset-editor-header{align-items:flex-start}.asset-editor-icon{width:44px;height:44px}.asset-form-section,.asset-channel-editor .channel-config-header{padding:var(--dashboard-space-4)}.asset-voltage-group{grid-template-columns:minmax(0,1fr)}.asset-form-footer{align-items:stretch;flex-direction:column-reverse;padding:var(--dashboard-space-4)}.asset-form-footer .primary-button,.asset-form-footer .secondary-button{width:100%}.asset-channel-editor .channel-kind-buttons{padding:0 var(--dashboard-space-4)}.asset-channel-editor .channel-config-table{margin:0 var(--dashboard-space-4) var(--dashboard-space-4)}}@media(prefers-reduced-motion:reduce){.asset-management-page *,.asset-management-page *:before,.asset-management-page *:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(forced-colors:active){.asset-summary-bar,.asset-list-panel,.asset-editor,.asset-danger-zone,.asset-credential-panel,.asset-switch-row,.asset-voltage-group{border-color:CanvasText}}.admin-v2-page{width:min(100%,1280px);margin:0 auto;gap:var(--dashboard-space-6);color:#17202a;font-size:var(--dashboard-text-body);line-height:1.5}.admin-resource-nav{min-width:0;display:flex;gap:var(--dashboard-space-1);overflow-x:auto;border-bottom:1px solid var(--dashboard-divider);scrollbar-width:thin}.admin-resource-nav a{min-height:46px;flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--dashboard-space-2);border-bottom:2px solid transparent;color:#40535d;padding:0 var(--dashboard-space-3);text-decoration:none;font-weight:700}.admin-resource-nav a:hover{color:#155f6d;background:var(--state-active-surface)}.admin-resource-nav a.active{border-bottom-color:#1f7a8c;color:#155f6d;background:var(--state-active-surface)}.admin-resource-nav a:focus-visible{outline:3px solid rgba(31,122,140,.22);outline-offset:-3px}.admin-v2-summary .asset-summary-scope dd{display:flex;align-items:center;gap:var(--dashboard-space-2)}.admin-v2-filter-disclosure{min-width:0;overflow:hidden;border:1px solid var(--dashboard-panel-border);border-radius:12px;background:var(--dashboard-surface)}.admin-v2-filter-disclosure>summary{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-4);padding:var(--dashboard-space-3) var(--dashboard-space-6);color:#263a44;cursor:pointer;list-style:none}.admin-v2-filter-disclosure>summary::-webkit-details-marker{display:none}.admin-v2-filter-heading{min-width:0;display:flex;align-items:center;gap:var(--dashboard-space-3)}.admin-v2-filter-heading>span{min-width:0;display:grid;gap:1px}.admin-v2-filter-heading strong{font-size:var(--dashboard-text-support)}.admin-v2-filter-heading small{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption);font-weight:500}.admin-v2-filter-panel{display:flex;align-items:end;gap:var(--dashboard-space-3);padding:var(--dashboard-space-4) var(--dashboard-space-6);border-top:1px solid var(--dashboard-divider);background:var(--dashboard-surface-subtle)}.admin-v2-filter-panel .asset-field{min-width:160px;flex:1 1 180px;display:grid;align-content:start;gap:var(--dashboard-space-2)}.admin-v2-filter-panel select{width:100%;min-height:44px;border:1px solid #bfcbd1;border-radius:var(--dashboard-control-radius);background:var(--dashboard-surface);color:#17202a;padding:0 var(--dashboard-space-3)}.admin-v2-search{flex:1.4 1 260px;align-self:end}.admin-v2-filter-panel>.secondary-button{flex:0 0 auto}.admin-v2-editor.form-panel{gap:0;padding:0;overflow:hidden;border-radius:12px}.admin-v2-editor-header{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-6);padding:var(--dashboard-space-4) var(--dashboard-space-6);border-bottom:1px solid var(--dashboard-divider)}.admin-v2-editor-heading{min-width:0;display:flex;align-items:center;gap:var(--dashboard-space-3)}.admin-v2-editor-heading>div{min-width:0;display:grid;gap:var(--dashboard-space-1)}.admin-v2-editor-heading h2{color:#17202a;font-size:1.125rem;line-height:1.3}.admin-v2-editor-heading p{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-support)}.admin-v2-editor-body{display:grid;gap:var(--dashboard-space-6);padding:var(--dashboard-space-6)}.admin-v2-editor-narrow{width:min(100%,520px)}.admin-v2-switch-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--dashboard-space-3)}.admin-v2-single-switch{width:min(100%,520px)}.admin-v2-role-group{display:grid;gap:var(--dashboard-space-3);margin:0;border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-panel-radius);background:var(--dashboard-surface-subtle);padding:var(--dashboard-space-4)}.admin-v2-role-group legend{padding:0 var(--dashboard-space-1);color:#334852;font-weight:700}.admin-v2-role-group>div{display:flex;flex-wrap:wrap;gap:var(--dashboard-space-2)}.admin-v2-role-group label{min-height:44px;display:inline-flex;align-items:center;gap:var(--dashboard-space-2);border:1px solid #cbd5da;border-radius:var(--dashboard-control-radius);background:var(--dashboard-surface);padding:0 var(--dashboard-space-3);cursor:pointer}.admin-v2-role-group input{width:18px;min-height:18px}.admin-v2-role-group:disabled label{background:#edf2f4;color:#586b74;cursor:not-allowed}.admin-v2-role-group>.field-help{margin:0}.admin-v2-editor-footer{min-height:76px;display:flex;align-items:center;justify-content:flex-end;gap:var(--dashboard-space-3);padding:var(--dashboard-space-4) var(--dashboard-space-6);border-top:1px solid var(--dashboard-divider);background:var(--dashboard-surface-subtle)}.admin-v2-result-count{flex:0 0 auto;border-radius:999px;background:var(--state-unknown-surface);color:var(--state-unknown-ink);padding:6px var(--dashboard-space-3);font-size:var(--dashboard-text-caption);font-weight:750}.admin-v2-table th:first-child,.admin-v2-table td:first-child{width:24%}.admin-v2-table:not(.admin-v2-table-audit) th:last-child,.admin-v2-table:not(.admin-v2-table-audit) td:last-child{width:196px}.admin-v2-gateway-table th:last-child,.admin-v2-gateway-table td:last-child{width:76px}.admin-v2-row-primary{min-width:0;display:flex;align-items:center;gap:var(--dashboard-space-3)}.admin-v2-row-primary>span{width:34px;height:34px;flex:0 0 34px;display:inline-grid;place-items:center;border:1px solid var(--state-active-border);border-radius:50%;background:var(--state-active-surface);color:var(--state-active-ink)}.admin-v2-row-primary strong{min-width:0;color:#263a44;overflow-wrap:anywhere}.admin-v2-status{width:fit-content;min-height:28px;display:inline-flex;align-items:center;border:1px solid var(--state-unknown-border);border-radius:999px;background:var(--state-unknown-surface);color:var(--state-unknown-ink);padding:0 10px;font-size:var(--dashboard-text-caption);font-weight:750}.admin-v2-status.healthy{border-color:var(--state-healthy-border);background:var(--state-healthy-surface);color:var(--state-healthy-ink)}.admin-v2-status.warning{border-color:var(--state-warning-border);background:var(--state-warning-surface);color:var(--state-warning-ink)}.admin-v2-status.alarm{border-color:var(--state-alarm-border);background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.admin-v2-table .admin-row-actions{justify-content:flex-end}.admin-v2-table .table-icon-button,.admin-v2-gateway-table .table-icon-button{text-decoration:none}.admin-v2-pagination{min-height:52px;display:flex;align-items:center;justify-content:flex-end;gap:var(--dashboard-space-3)}.admin-v2-pagination span{min-width:120px;color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-support);text-align:center}.admin-v2-copy-status{color:var(--state-healthy-ink);font-size:var(--dashboard-text-support);font-weight:700}@media(max-width:980px){.admin-v2-filter-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-v2-search{width:100%;grid-column:1 / -1}.admin-v2-filter-panel>.secondary-button{width:fit-content}}@media(max-width:720px){.admin-v2-filter-disclosure:not([open])>.admin-v2-filter-panel{display:none}.admin-v2-filter-panel{grid-template-columns:minmax(0,1fr);padding:var(--dashboard-space-4)}.admin-v2-search{grid-column:auto}.admin-v2-filter-panel>.secondary-button{width:100%}.admin-v2-editor-header{align-items:stretch;flex-direction:column;padding:var(--dashboard-space-4)}.admin-v2-editor-header>.secondary-button{width:100%}.admin-v2-editor-body{padding:var(--dashboard-space-4)}.admin-v2-editor-footer{align-items:stretch;flex-direction:column-reverse;padding:var(--dashboard-space-4)}.admin-v2-editor-footer .primary-button,.admin-v2-editor-footer .secondary-button{width:100%}.admin-v2-pagination{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-v2-pagination span{grid-column:1 / -1;grid-row:1}.admin-v2-pagination .secondary-button{width:100%}}@media(max-width:640px){.admin-resource-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--dashboard-space-1);overflow:visible;border:0}.admin-resource-nav a{width:100%;min-width:0;border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-control-radius);background:var(--dashboard-surface)}.admin-resource-nav a.active{border-color:var(--state-active-border)}.admin-v2-filter-disclosure>summary{padding:var(--dashboard-space-3) var(--dashboard-space-4)}.admin-v2-table tr{box-shadow:none}.admin-v2-table td:first-child{width:100%;padding-right:var(--dashboard-space-4)}.admin-v2-table:not(.admin-v2-table-audit) td:last-child,.admin-v2-gateway-table td:last-child{width:100%}.admin-v2-table .admin-row-actions{display:flex}.admin-v2-result-count{align-self:flex-start}}.dashboard-version-link,.owner-dashboard-version-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--dashboard-space-2);border:1px solid var(--state-active-border);border-radius:var(--dashboard-control-radius);background:var(--state-active-surface);color:var(--state-active-ink);padding:0 var(--dashboard-space-3);font-size:var(--dashboard-text-support);font-weight:700;line-height:1.25;text-decoration:none;transition:background-color var(--dashboard-motion-fast),border-color var(--dashboard-motion-fast)}.dashboard-version-link:hover,.owner-dashboard-version-link:hover{border-color:#4f929f;background:#dceff2}.owner-dashboard-page{width:min(100%,1280px);margin:0 auto;gap:calc(var(--dashboard-space-6) * 2);color:#17202a;font-size:var(--dashboard-text-body);line-height:1.5}.owner-dashboard-page-header{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-6)}.owner-dashboard-page-header>div{display:grid;gap:var(--dashboard-space-2)}.owner-dashboard-page-header h1{font-size:1.75rem;line-height:1.15}.owner-dashboard-page-header p{max-width:65ch;color:var(--dashboard-text-secondary)}.owner-dashboard-overall{min-width:0;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,auto);align-items:center;gap:var(--dashboard-space-4);overflow:hidden;border:1px solid var(--state-unknown-border);border-radius:12px;background:var(--state-unknown-surface);color:var(--state-unknown-ink);padding:var(--dashboard-space-6)}.owner-dashboard-overall.is-healthy{border-color:var(--state-healthy-border);background:var(--state-healthy-surface);color:var(--state-healthy-ink)}.owner-dashboard-overall.is-warning{border-color:var(--state-warning-border);background:var(--state-warning-surface);color:var(--state-warning-ink)}.owner-dashboard-overall.is-alarm{border-color:var(--state-alarm-border);background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.owner-dashboard-overall-icon{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:50%;background:#ffffff8f}.owner-dashboard-overall-copy{min-width:0;display:grid;gap:var(--dashboard-space-1)}.owner-dashboard-overall-copy h2{color:currentColor;font-size:1.375rem;line-height:1.2;text-wrap:balance}.owner-dashboard-overall-copy p{color:currentColor;font-size:var(--dashboard-text-support)}.owner-dashboard-update-state{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:var(--dashboard-space-2);color:currentColor;font-size:var(--dashboard-text-support);font-weight:600}.owner-dashboard-update-state button{min-height:44px;border:0;border-radius:var(--dashboard-control-radius);background:#ffffffa3;color:currentColor;padding:0 var(--dashboard-space-3);font:inherit;font-weight:700;cursor:pointer}.owner-dashboard-update-state button:disabled{opacity:.64;cursor:default}.owner-dashboard-horizon{grid-column:1 / -1;display:flex;align-items:center;gap:var(--dashboard-space-2);color:var(--state-active-ink);opacity:.78}.owner-dashboard-horizon span{height:1px;flex:1;background:currentColor}.owner-dashboard-boat-tabs{display:none}.owner-dashboard-vessels{min-width:0;display:grid;gap:var(--dashboard-space-6)}.owner-dashboard-vessel{min-width:0;overflow:hidden;border:1px solid var(--dashboard-panel-border);border-radius:12px;background:var(--dashboard-surface)}.owner-dashboard-vessel.is-alarm{border-color:var(--state-alarm-border)}.owner-dashboard-vessel.is-warning{border-color:var(--state-warning-border)}.owner-dashboard-vessel-header{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--dashboard-space-4);padding:var(--dashboard-space-6)}.owner-dashboard-vessel-identity{min-width:0;display:flex;align-items:center;gap:var(--dashboard-space-3)}.owner-dashboard-vessel-icon{width:44px;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--state-active-surface);color:var(--state-active-ink)}.owner-dashboard-vessel-identity>div{min-width:0;display:grid;gap:var(--dashboard-space-1)}.owner-dashboard-vessel-identity h2{min-width:0;overflow-wrap:anywhere;font-size:1.375rem;line-height:1.2}.owner-dashboard-vessel-identity p{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-support)}.owner-dashboard-status-badge{min-height:36px;display:inline-flex;align-items:center;gap:var(--dashboard-space-2);border:1px solid var(--state-unknown-border);border-radius:999px;background:var(--state-unknown-surface);color:var(--state-unknown-ink);padding:0 var(--dashboard-space-3);font-size:var(--dashboard-text-support);font-weight:700}.owner-dashboard-status-badge.is-healthy{border-color:var(--state-healthy-border);background:var(--state-healthy-surface);color:var(--state-healthy-ink)}.owner-dashboard-status-badge.is-warning{border-color:var(--state-warning-border);background:var(--state-warning-surface);color:var(--state-warning-ink)}.owner-dashboard-status-badge.is-alarm{border-color:var(--state-alarm-border);background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.owner-dashboard-guidance{display:grid;grid-template-columns:minmax(240px,1.1fr) minmax(280px,1.5fr) auto;align-items:center;gap:var(--dashboard-space-6);border-block:1px solid var(--state-warning-border);background:var(--state-warning-surface);color:var(--state-warning-ink);padding:var(--dashboard-space-6)}.owner-dashboard-vessel.is-alarm .owner-dashboard-guidance{border-color:var(--state-alarm-border);background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.owner-dashboard-guidance-summary{min-width:0;display:flex;align-items:flex-start;gap:var(--dashboard-space-3)}.owner-dashboard-guidance-summary>div{min-width:0;display:grid;gap:var(--dashboard-space-2)}.owner-dashboard-guidance h3{margin:0;font-size:1.125rem;line-height:1.33;text-wrap:balance}.owner-dashboard-guidance p{color:currentColor;font-size:var(--dashboard-text-support);font-weight:600}.owner-dashboard-guidance ol{margin:0;padding-left:var(--dashboard-space-6)}.owner-dashboard-guidance li+li{margin-top:var(--dashboard-space-2)}.owner-dashboard-primary-action{min-width:220px;display:inline-flex;align-items:center;justify-content:center;gap:var(--dashboard-space-2);background:#145665;padding:0 var(--dashboard-space-4);text-decoration:none}.owner-dashboard-primary-action:hover{background:#0f4653}.owner-dashboard-checks{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}.owner-dashboard-check{min-width:0;min-height:116px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--dashboard-space-3);border-right:1px solid var(--dashboard-divider);padding:var(--dashboard-space-4)}.owner-dashboard-check:last-child{border-right:0}.owner-dashboard-check-icon{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--state-unknown-surface);color:var(--state-unknown-ink)}.owner-dashboard-check.is-healthy .owner-dashboard-check-icon,.owner-dashboard-check.is-healthy>svg{background:var(--state-healthy-surface);color:var(--state-healthy-ink)}.owner-dashboard-check.is-active .owner-dashboard-check-icon,.owner-dashboard-check.is-active>svg{background:var(--state-active-surface);color:var(--state-active-ink)}.owner-dashboard-check.is-warning .owner-dashboard-check-icon,.owner-dashboard-check.is-warning>svg{background:var(--state-warning-surface);color:var(--state-warning-ink)}.owner-dashboard-check.is-alarm .owner-dashboard-check-icon,.owner-dashboard-check.is-alarm>svg{background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.owner-dashboard-check-copy{min-width:0;display:grid;gap:var(--dashboard-space-1)}.owner-dashboard-check-copy>span{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-support)}.owner-dashboard-check-copy strong{min-width:0;overflow-wrap:anywhere;font-size:1rem;line-height:1.35}.owner-dashboard-check-copy small{color:var(--dashboard-text-secondary);font-size:var(--dashboard-text-caption);line-height:1.35;font-variant-numeric:tabular-nums}.owner-dashboard-vessel-footer{display:flex;justify-content:flex-end;border-top:1px solid var(--dashboard-divider);padding:var(--dashboard-space-4) var(--dashboard-space-6)}.owner-dashboard-loading,.owner-dashboard-error,.owner-dashboard-empty{min-height:180px;display:flex;align-items:center;justify-content:center;gap:var(--dashboard-space-4);border:1px solid var(--dashboard-panel-border);border-radius:12px;background:var(--dashboard-surface);padding:var(--dashboard-space-6);text-align:left}.owner-dashboard-loading>div:first-child,.owner-dashboard-error>div,.owner-dashboard-empty>div{min-width:0;display:grid;gap:var(--dashboard-space-2)}.owner-dashboard-loading p,.owner-dashboard-error p,.owner-dashboard-empty p{max-width:65ch;color:var(--dashboard-text-secondary)}.owner-dashboard-error{border-color:var(--state-alarm-border);background:var(--state-alarm-surface);color:var(--state-alarm-ink)}.owner-dashboard-loading-lines{width:min(42%,360px);display:grid;gap:var(--dashboard-space-2)}.owner-dashboard-loading-lines span{height:12px;border-radius:var(--dashboard-control-radius);background:#e4eaed}.owner-dashboard-loading-lines span:nth-child(2){width:78%}.owner-dashboard-loading-lines span:nth-child(3){width:56%}@media(max-width:1080px){.owner-dashboard-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-dashboard-check{min-height:92px;border-right:0;border-bottom:1px solid var(--dashboard-divider)}.owner-dashboard-check:nth-child(odd){border-right:1px solid var(--dashboard-divider)}.owner-dashboard-check:last-child{border-bottom:0}.owner-dashboard-guidance{grid-template-columns:minmax(220px,1fr) minmax(260px,1.25fr)}.owner-dashboard-primary-action{width:100%;grid-column:1 / -1}}@media(max-width:860px){.dashboard-version-link{display:none}.owner-dashboard-page{gap:calc(var(--dashboard-space-6) + var(--dashboard-space-2))}.owner-dashboard-page-header{align-items:stretch;flex-direction:column;gap:var(--dashboard-space-4)}.owner-dashboard-version-link{width:100%}.owner-dashboard-overall{grid-template-columns:auto minmax(0,1fr);padding:var(--dashboard-space-4)}.owner-dashboard-update-state{grid-column:1 / -1;justify-content:flex-start;flex-wrap:wrap;border-top:1px solid currentColor;padding-top:var(--dashboard-space-3)}.owner-dashboard-boat-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border:1px solid var(--dashboard-panel-border);border-radius:var(--dashboard-control-radius);background:var(--dashboard-surface);padding:var(--dashboard-space-1)}.owner-dashboard-boat-tabs button{min-width:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--dashboard-space-2);border:0;border-radius:var(--dashboard-control-radius);background:transparent;color:var(--dashboard-text-secondary);padding:0 var(--dashboard-space-3);font:inherit;font-weight:700;cursor:pointer}.owner-dashboard-boat-tabs button[aria-selected=true]{background:var(--state-active-surface);color:var(--state-active-ink)}.owner-dashboard-boat-tabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.owner-dashboard-vessel:not(.is-selected){display:none}.owner-dashboard-vessel-header{align-items:flex-start;padding:var(--dashboard-space-4)}.owner-dashboard-guidance{grid-template-columns:minmax(0,1fr);gap:var(--dashboard-space-4);padding:var(--dashboard-space-4)}.owner-dashboard-primary-action{grid-column:1}.owner-dashboard-checks{grid-template-columns:minmax(0,1fr)}.owner-dashboard-check,.owner-dashboard-check:nth-child(odd){min-height:76px;border-right:0;border-bottom:1px solid var(--dashboard-divider);padding:var(--dashboard-space-4)}.owner-dashboard-check:last-child{border-bottom:0}.owner-dashboard-vessel-footer{padding:var(--dashboard-space-4)}.owner-dashboard-vessel-footer .secondary-button{width:100%}}@media(max-width:480px){.owner-dashboard-page{gap:var(--dashboard-space-6)}.owner-dashboard-overall{align-items:start}.owner-dashboard-overall-icon{width:44px;height:44px}.owner-dashboard-overall-copy h2{font-size:1.125rem}.owner-dashboard-horizon{display:none}.owner-dashboard-vessel-header{flex-direction:column}.owner-dashboard-status-badge{align-self:flex-start}.owner-dashboard-loading,.owner-dashboard-error,.owner-dashboard-empty{min-height:0;align-items:flex-start;flex-direction:column;padding:var(--dashboard-space-4)}.owner-dashboard-loading-lines{width:100%}}@media(prefers-reduced-motion:reduce){.owner-dashboard-page *,.owner-dashboard-page *:before,.owner-dashboard-page *:after,.dashboard-version-link{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(forced-colors:active){.owner-dashboard-overall,.owner-dashboard-vessel,.owner-dashboard-status-badge,.owner-dashboard-check,.owner-dashboard-boat-tabs,.dashboard-version-link,.owner-dashboard-version-link{border-color:CanvasText}}
