:root{--color-canvas:#030712;--color-surface:#111827;--color-border:#1f2937;--color-border-control:#374151;--color-text:#e5e7eb;--color-text-muted:#cbd5e1;--color-accent:#93c5fd;--control-target:44px;--radius-panel:1rem;color:var(--color-text);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--color-canvas);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}.app-shell{grid-template-rows:auto auto 1fr;min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem;display:flex}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:1.75rem}.eyebrow{color:var(--color-accent);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.35rem;font-size:.72rem;font-weight:700}.identity{text-align:right;font-size:.85rem;display:grid}.identity span{color:#9ca3af}nav{border-bottom:1px solid var(--color-border);gap:.5rem;padding:.75rem 1.25rem;display:flex;overflow-x:auto}nav a{min-height:var(--control-target);border:1px solid var(--color-border-control);color:#d1d5db;white-space:nowrap;background:#111827;border-radius:999px;align-items:center;padding:.55rem .85rem;text-decoration:none;display:inline-flex}nav a:hover{color:#fff;border-color:#6b7280}nav a[aria-current=page]{color:#fff;border-color:#60a5fa}nav a:focus-visible,.return-link:focus-visible,.logout:focus-visible,.remember-control input:focus-visible{outline-offset:3px;outline:3px solid #93c5fd}main{padding:clamp(1rem,4vw,3rem)}.welcome{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);max-width:48rem;padding:clamp(1.25rem,4vw,2.5rem)}.welcome p{color:var(--color-text-muted);line-height:1.6}.return-link{min-width:var(--control-target);min-height:var(--control-target);color:var(--color-accent);align-items:center;font-weight:700;display:inline-flex}.status-panel{place-items:center;min-height:100vh;display:grid}.status-panel>div{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);width:min(32rem,100%);padding:2rem}.empty-state{border:1px dashed var(--color-border-control);border-radius:.75rem;margin-top:1.5rem;padding:1.25rem}.empty-state h3{margin:0 0 .5rem;font-size:1rem}.empty-state p:last-child{margin-bottom:0}.request-id{color:#9ca3af;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}@media (width<=640px){.topbar{align-items:flex-start}.identity{text-align:left}}.account-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1rem;display:flex}.remember-control{min-width:var(--control-target);min-height:var(--control-target);color:#d1d5db;align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.logout{min-width:var(--control-target);min-height:var(--control-target);color:#f9fafb;cursor:pointer;background:#1f2937;border:1px solid #4b5563;border-radius:.5rem;padding:.5rem .75rem}.logout:disabled{opacity:.55;cursor:progress}@media (width<=640px){.account-controls{justify-content:flex-start}}.home{width:min(92rem,100%);margin:0 auto}.home-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.home-heading h2{margin-bottom:.25rem;font-size:clamp(1.75rem,4vw,2.4rem)}.home-heading p:last-child{color:var(--color-text-muted);margin-bottom:0}.refresh-home{min-height:var(--control-target);color:#dbeafe;cursor:pointer;background:#0b2a52;border:1px solid #2563eb;border-radius:.65rem;padding:.55rem .9rem}.refresh-home:disabled{opacity:.6;cursor:progress}.home-grid{grid-template-columns:minmax(0,1.15fr) minmax(20rem,.85fr);align-items:start;gap:1rem;display:grid}.home-card{background:linear-gradient(145deg,#071629,#081d35);border:1px solid #1e3a5f;border-radius:.9rem;min-width:0;box-shadow:0 1rem 3rem #00000024}.attention-card{grid-row:span 2}.system-card,.freshness{grid-column:1/-1}.card-heading{border-bottom:1px solid #1e3a5f;justify-content:space-between;align-items:center;gap:1rem;min-height:3.5rem;padding:.8rem 1rem;display:flex}.card-heading h3{margin:0;font-size:1.05rem}.card-heading>span:first-of-type:not(.overall){text-align:center;color:#fff;background:#b91c1c;border-radius:999px;min-width:1.75rem;padding:.2rem .45rem}.attention-list{padding:0 1rem}.attention-item{border-bottom:1px solid #1e3a5f;grid-template-columns:5.25rem minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:4.7rem;padding:.75rem 0;display:grid}.attention-item:last-child{border-bottom:0}.attention-item strong,.attention-item p{overflow-wrap:anywhere}.attention-item p{color:var(--color-text-muted);margin:.25rem 0 0;line-height:1.35}.source-label{color:#93c5fd;text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:700}.domain-priority{color:#dbeafe;background:#0b2a52;border-radius:.35rem;padding:.3rem .5rem;font-size:.8rem}.home-empty{color:var(--color-text-muted);margin:0;padding:2rem 1rem}.overall{border-radius:999px;padding:.3rem .6rem;font-size:.82rem;font-weight:700}.overall--healthy{color:#86efac;background:#052e16}.overall--degraded{color:#fcd34d;background:#422006}.overall--unavailable{color:#fca5a5;background:#450a0a}.system-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:.5rem 1rem 1rem;display:grid}.status-value{border-bottom:1px solid #1e3a5f;gap:.2rem;min-width:0;padding:.7rem 0;display:grid}.status-value:nth-last-child(-n+2){border-bottom:0}.status-value span{color:var(--color-text-muted);font-size:.8rem}.status-value strong{overflow-wrap:anywhere;font-size:.9rem}.freshness{color:var(--color-text-muted);background:#0b1322;border-radius:.65rem;padding:.75rem 1rem;font-size:.83rem}.scanner-incident-list{padding:0 1rem}.scanner-incident{border-bottom:1px solid #1e3a5f;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.85rem 0;display:grid}.scanner-incident:last-child{border-bottom:0}.scanner-incident strong,.scanner-incident p{overflow-wrap:anywhere}.scanner-incident p{color:var(--color-text-muted);margin:.3rem 0 0;font-size:.86rem;line-height:1.4}.scanner-priority{border-radius:999px;padding:.25rem .5rem;font-size:.72rem;font-weight:700}.scanner-priority--urgent{color:#fecaca;background:#450a0a}.scanner-priority--important{color:#fde68a;background:#422006}.scanner-uncertainty{color:#fcd34d!important}.scanner-warning,.scanner-freshness{color:#fcd34d;background:#422006;margin:0;padding:.75rem 1rem;font-size:.83rem}.scanner-play{min-width:var(--control-target);min-height:var(--control-target);color:#dbeafe;cursor:pointer;background:#0b2a52;border:1px solid #2563eb;border-radius:.55rem;padding:.45rem .7rem}.scanner-play:disabled{opacity:.6;cursor:progress}.scanner-player{border-top:1px solid #1e3a5f;padding:1rem}.scanner-player ol{color:var(--color-text-muted);margin:0 0 .75rem;padding-left:1.4rem;font-size:.82rem}.scanner-player li+li{margin-top:.3rem}.clip-unavailable{color:#fca5a5}.playback-position{color:#dbeafe;margin-bottom:.45rem;font-size:.85rem}.scanner-player audio{width:100%;min-height:var(--control-target);display:block}.scanner-playback-error{color:#fecaca;background:#450a0a;border-top:1px solid #7f1d1d;margin:0;padding:.8rem 1rem}.home-loading,.home-error,.home-warning{background:var(--color-surface);border:1px solid #1e3a5f;border-radius:.75rem;padding:1rem}.home-error{border-color:#7f1d1d;gap:.35rem;display:grid}.home-warning{color:#fcd34d;border-color:#92400e;margin-bottom:1rem}@media (width<=800px){.home-grid{grid-template-columns:1fr}.attention-card{grid-row:auto}.freshness,.system-card{grid-column:1}}@media (width<=520px){main{padding:1rem}.home-heading{align-items:flex-start}.attention-item{grid-template-columns:1fr auto}.source-label{grid-column:1/-1}.system-summary{grid-template-columns:1fr}.status-value:nth-last-child(-n+2){border-bottom:1px solid #1e3a5f}.status-value:last-child{border-bottom:0}.scanner-incident{grid-template-columns:auto minmax(0,1fr)}.scanner-play{grid-column:1/-1;width:100%}}.tasks-calendar-page{width:min(96rem,100%);margin:0 auto}.tasks-calendar-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.tasks-calendar-heading h2{margin-bottom:.25rem;font-size:clamp(1.75rem,4vw,2.4rem)}.tasks-calendar-heading p:last-child{color:var(--color-text-muted);margin-bottom:0}.tasks-calendar-grid{grid-template-columns:minmax(0,.95fr) minmax(24rem,1.05fr);align-items:start;gap:1rem;display:grid}.tasks-panel,.calendar-panel{background:linear-gradient(145deg,#071629,#081d35);border:1px solid #1e3a5f;border-radius:.9rem;min-width:0;overflow:hidden;box-shadow:0 1rem 3rem #00000024}.tc-panel-heading{border-bottom:1px solid #1e3a5f;justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;padding:.85rem 1rem;display:flex}.tc-panel-heading h3{margin:0;font-size:1.08rem}.tc-panel-heading span{color:var(--color-text-muted);font-size:.82rem}.task-create{gap:.45rem;padding:.9rem 1rem .5rem;display:grid}.task-create label{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.task-create>div{gap:.5rem;display:flex}.task-create input,.date-controls input{min-width:0;min-height:var(--control-target);color:var(--color-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#07111f;border:1px solid #294464;border-radius:.55rem;padding:.55rem .7rem}.task-create input{flex:1}.task-create button,.date-controls button,.task-approval button{min-height:var(--control-target);color:#dbeafe;cursor:pointer;background:#0b2a52;border:1px solid #2563eb;border-radius:.55rem;padding:.5rem .75rem}.task-create button:disabled,.date-controls button:disabled,.task-approval button:disabled{opacity:.55;cursor:progress}.task-tabs{border-bottom:1px solid #1e3a5f;gap:.25rem;padding:.35rem 1rem 0;display:flex;overflow-x:auto}.task-tabs button{min-height:var(--control-target);color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:.5rem .7rem}.task-tabs button[aria-selected=true]{color:#bfdbfe;border-bottom-color:#3b82f6}.task-list{padding:.2rem 1rem}.task-row{border-bottom:1px solid #1e3a5f;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:4.35rem;padding:.65rem 0;display:grid}.task-row:last-child{border-bottom:0}.task-row--completed{opacity:.8}.task-complete{width:var(--control-target);height:var(--control-target);color:#bfdbfe;cursor:pointer;background:0 0;border:1px solid #64748b;border-radius:999px;place-items:center;font-size:1.15rem;display:grid}.task-complete--done{color:#86efac;background:#052e16;border-color:#166534}.task-copy{gap:.2rem;min-width:0;display:grid}.task-copy strong{overflow-wrap:anywhere}.task-copy span{color:var(--color-text-muted);font-size:.8rem}.task-meta{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.task-chip{color:#bfdbfe;background:#0b2a52;border-radius:999px;padding:.28rem .5rem;font-size:.72rem;font-weight:700}.task-chip--p1{color:#fecaca;background:#450a0a}.task-chip--p2{color:#fde68a;background:#422006}.task-chip--p3{color:#bbf7d0;background:#052e16}.task-action-message,.calendar-warning,.tc-freshness{color:var(--color-text-muted);border-top:1px solid #1e3a5f;margin:0;padding:.7rem 1rem;font-size:.82rem}.task-approval{background:#241804;border-top:1px solid #92400e;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.task-approval>div{gap:.4rem;display:flex}.calendar-panel-heading{align-items:center}.calendar-panel-heading>div:first-child{gap:.2rem;display:grid}.date-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;display:flex}.date-controls input{width:9.5rem}.calendar-events{padding:.4rem 1rem}.calendar-event{border-bottom:1px solid #1e3a5f;grid-template-columns:5.5rem minmax(0,1fr) auto;align-items:center;gap:.8rem;min-height:4.8rem;padding:.75rem 0;display:grid}.calendar-event:last-child{border-bottom:0}.calendar-event time{color:#bfdbfe;font-weight:700}.calendar-event>div{background:#0b1e37;border-left:3px solid #3b82f6;border-radius:.35rem;gap:.25rem;min-width:0;padding:.55rem .7rem;display:grid}.calendar-event strong{overflow-wrap:anywhere}.calendar-event span{color:var(--color-text-muted);font-size:.8rem}.tc-empty{color:var(--color-text-muted);margin:0;padding:1.4rem 0}@media (width<=980px){.tasks-calendar-grid{grid-template-columns:1fr}}@media (width<=620px){.tasks-calendar-heading,.tc-panel-heading,.task-approval{flex-direction:column;align-items:flex-start}.task-create>div{flex-direction:column}.task-create button{width:100%}.date-controls{justify-content:flex-start}.calendar-event{grid-template-columns:4.7rem minmax(0,1fr)}.calendar-event>span{grid-column:2}.task-row{grid-template-columns:auto minmax(0,1fr)}.task-meta{grid-column:2;justify-content:flex-start}}.memory-page{width:min(88rem,100%);margin:0 auto}.memory-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.memory-heading h2{margin-bottom:.25rem;font-size:clamp(1.75rem,4vw,2.4rem)}.memory-heading p:last-child{color:var(--color-text-muted);margin-bottom:0}.memory-updated{color:var(--color-text-muted);white-space:nowrap;font-size:.82rem}.memory-status{background:var(--color-surface);border:1px solid #1e3a5f;border-radius:.75rem;margin-bottom:1rem;padding:.85rem 1rem}.memory-status--warning{color:#fcd34d;border-color:#92400e}.memory-status--error{color:#fecaca;border-color:#7f1d1d}.memory-grid{grid-template-columns:minmax(0,1.25fr) minmax(22rem,.9fr);align-items:start;gap:1rem;display:grid}.memory-panel{background:linear-gradient(145deg,#071629,#081d35);border:1px solid #1e3a5f;border-radius:.9rem;min-width:0;overflow:hidden;box-shadow:0 1rem 3rem #00000024}.memory-panel--recent{grid-row:span 2}.memory-panel-heading{border-bottom:1px solid #1e3a5f;justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;padding:.85rem 1rem;display:flex}.memory-panel-heading h3{margin:0;font-size:1.08rem}.memory-panel-heading span{color:#93c5fd;font-size:.8rem;font-weight:700}.memory-list,.memory-review-list{padding:.2rem 1rem}.memory-row{border-bottom:1px solid #1e3a5f;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;padding:.9rem 0;display:grid}.memory-row:last-child,.memory-review-row:last-child{border-bottom:0}.memory-dot{background:#3b82f6;border-radius:999px;width:.65rem;height:.65rem;margin-top:.38rem;box-shadow:0 0 0 .25rem #3b82f61f}.memory-row>div,.memory-review-copy{gap:.3rem;min-width:0;display:grid}.memory-row strong,.memory-review-copy strong{overflow-wrap:anywhere;line-height:1.4}.memory-row time,.memory-review-copy time{color:var(--color-text-muted);font-size:.78rem}.memory-review-row{border-bottom:1px solid #1e3a5f;gap:.8rem;padding:.9rem 0;display:grid}.memory-review-actions{flex-wrap:wrap;gap:.55rem;display:flex}.memory-review-choice{min-height:var(--control-target);color:var(--color-text);cursor:pointer;background:#0b1e37;border:1px solid #315273;border-radius:999px;align-items:center;gap:.4rem;padding:.45rem .75rem;font-weight:700;display:inline-flex}.memory-review-choice span{border:1px solid;border-radius:999px;place-items:center;width:1.4rem;height:1.4rem;display:grid}.memory-review-choice--approve{color:#bbf7d0;border-color:#166534}.memory-review-choice--reject{color:#fecaca;border-color:#7f1d1d}.memory-review-choice:disabled{opacity:.55;cursor:progress}.memory-review-message{color:var(--color-text-muted);border-top:1px solid #1e3a5f;margin:0;padding:.7rem 1rem;font-size:.82rem}.memory-empty{color:var(--color-text-muted);margin:0;padding:1.35rem 0}.photos-coming-soon{align-content:center;gap:.45rem;min-height:9rem;padding:1.25rem;display:grid}.photos-coming-soon strong{font-size:1.05rem}.photos-coming-soon p{color:var(--color-text-muted);margin:0;line-height:1.45}@media (width<=900px){.memory-grid{grid-template-columns:1fr}.memory-panel--recent{grid-row:auto}}@media (width<=620px){.memory-heading{flex-direction:column;align-items:flex-start}.memory-updated{white-space:normal}.memory-review-actions{flex-direction:column}.memory-review-choice{justify-content:center;width:100%}}.system-page{width:min(96rem,100%);margin:0 auto}.system-heading{justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:1rem;display:flex}.system-heading h2{letter-spacing:-.025em;margin:0 0 .22rem;font-size:clamp(1.55rem,3vw,2rem)}.system-heading p{color:var(--color-text-muted);margin:0;font-size:.82rem;line-height:1.45}.system-heading-freshness{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:1.1rem;display:flex}.system-freshness{grid-template-columns:auto auto;align-items:baseline;gap:.05rem .42rem;min-width:0;font-size:.7rem;display:grid}.system-freshness-label{color:#8fa2b8}.system-freshness strong{font-size:.7rem}.system-freshness small{color:#6f849d;grid-column:1/-1;font-size:.64rem}.system-freshness--fresh strong{color:#86efac}.system-freshness--stale strong{color:#fcd34d}.system-freshness--unavailable strong{color:#fca5a5}.system-freshness--loading strong{color:#93c5fd}.system-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:.72rem;display:grid}.system-summary-card{--system-tone:#93c5fd;background:linear-gradient(#091a2f 0%,#07172a 100%);border:1px solid #1d3856;border-radius:.72rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.76rem;min-width:0;min-height:7.55rem;padding:.92rem .95rem;display:grid;box-shadow:inset 0 1px #ffffff06}.system-summary-card--positive{--system-tone:#86efac}.system-summary-card--warning{--system-tone:#fcd34d}.system-summary-card--danger{--system-tone:#f87171;border-color:#5f2b32}.system-summary-card--neutral{--system-tone:#60a5fa}.system-summary-card--stale{border-color:#6b4b17}.system-summary-icon{border:1px solid color-mix(in srgb, var(--system-tone) 48%, #1e3a5f);width:2.7rem;height:2.7rem;color:var(--system-tone);background:color-mix(in srgb, var(--system-tone) 7%, #071629);border-radius:999px;place-items:center;display:grid}.system-summary-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.62rem;height:1.62rem}.system-summary-copy{align-content:center;min-width:0;display:grid}.system-summary-title{color:#aebfd2;font-size:.72rem;font-weight:600;line-height:1.18}.system-summary-value{overflow-wrap:anywhere;color:var(--system-tone);margin-top:.22rem;font-size:clamp(1.08rem,1.28vw,1.32rem);line-height:1.08}.system-summary-copy p{color:#7f93aa;margin:.3rem 0 0;font-size:.67rem;line-height:1.28}.system-summary-stale{color:#fcd34d;margin-top:.3rem;font-size:.62rem;font-weight:700}.system-hardware-region{grid-template-columns:1fr 1.05fr 1.08fr;align-items:stretch;gap:.78rem;margin-top:.78rem;display:grid}.hardware-panel{background:linear-gradient(#091a2f 0%,#07172a 100%);border:1px solid #1d3856;border-radius:.72rem;min-width:0;min-height:14.5rem;overflow:hidden;box-shadow:inset 0 1px #ffffff06}.hardware-panel--stale{border-color:#6b4b17}.hardware-panel-heading{border-bottom:1px solid #1d3856;align-items:center;gap:.55rem;min-height:2.55rem;margin:0 .8rem;display:flex}.hardware-panel-heading h3{color:#d8e3ef;letter-spacing:-.012em;margin:0;font-size:.93rem;font-weight:600}.hardware-panel-icon{color:#7aa7ff;place-items:center;width:1.55rem;height:1.55rem;display:grid}.hardware-panel-icon--gpu{color:#9ce35a}.hardware-panel-icon--memory{color:#a58cff}.hardware-panel-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.35rem;height:1.35rem}.hardware-stale-label{color:#fcd34d;text-transform:uppercase;letter-spacing:.06em;margin-left:auto;font-size:.62rem;font-weight:700}.hardware-cpu-layout,.hardware-gpu-layout{grid-template-columns:minmax(0,1.45fr) minmax(7.4rem,.82fr);min-height:11.85rem;display:grid}.hardware-primary-column{min-width:0;padding:.7rem .76rem .5rem}.hardware-primary-row{justify-content:space-between;align-items:flex-start;gap:.6rem;min-height:3.65rem;display:flex}.hardware-primary-row>div:first-child{align-content:start;display:grid}.hardware-primary-value{color:#edf5ff;font-variant-numeric:tabular-nums;font-size:clamp(1.58rem,2vw,2rem);line-height:1}.hardware-primary-label,.hardware-detail-label{color:#8398af;margin-top:.23rem;font-size:.65rem;line-height:1.2}.hardware-trend{color:#8da0b6;justify-items:end;min-width:4.8rem;font-size:.58rem;line-height:1.15;display:grid}.hardware-trend strong{color:#8da0b6;margin-top:.12rem;font-size:.78rem;font-weight:700}.hardware-trend small{color:#637a93;white-space:nowrap;margin-top:.12rem;font-size:.53rem}.hardware-trend--up strong{color:#f87171}.hardware-trend--down strong{color:#86efac}.hardware-trend--flat strong{color:#93c5fd}.hardware-chart{color:#5c98ff;width:100%;height:7.2rem;display:block;overflow:visible}.hardware-chart--gpu{color:#83d94a}.hardware-chart--memory{color:#6d9fff}.hardware-chart--disk{color:#f97316}.hardware-chart-grid{stroke:#1a3552;stroke-width:1px}.hardware-chart-line{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.hardware-chart text{fill:#657b94;font-family:inherit;font-size:7px}.hardware-core-list{border-left:1px solid #1d3856;grid-template-rows:auto repeat(8,1fr);gap:.08rem;min-width:0;padding:.72rem .66rem .58rem;display:grid}.hardware-core-row{color:#9fb0c2;font-variant-numeric:tabular-nums;grid-template-columns:2.55rem minmax(1.8rem,1fr) 2.15rem;align-items:center;gap:.34rem;min-width:0;font-size:.58rem;display:grid}.hardware-core-row strong{color:#b9c8d8;text-align:right;font-size:.58rem;font-weight:500}.hardware-core-bar{background:#183453;height:2px;display:block;overflow:hidden}.hardware-core-bar i{background:#5c98ff;height:100%;display:block}.hardware-gpu-details{border-left:1px solid #1d3856;align-content:start;padding:.7rem .72rem;display:grid}.hardware-metric-block{border-bottom:1px solid #183453;gap:.15rem;padding:.58rem 0 .72rem;display:grid}.hardware-metric-block:first-child{padding-top:0}.hardware-metric-block:last-child{border-bottom:0}.hardware-metric-block>span{color:#8398af;font-size:.64rem}.hardware-metric-block>div{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.hardware-metric-block strong{color:#dce8f5;font-variant-numeric:tabular-nums;font-size:.96rem;font-weight:500}.hardware-metric-block em{color:#86efac;font-size:.72rem;font-style:normal;font-weight:700}.hardware-memory-layout{grid-template-columns:1fr 1fr;min-height:11.85rem;display:grid}.hardware-capacity-column{min-width:0;padding:.72rem .78rem .5rem}.hardware-capacity-column+.hardware-capacity-column{border-left:1px solid #1d3856}.hardware-capacity-column>.hardware-detail-label{color:#a3b3c4;margin:0 0 .36rem;display:block}.hardware-capacity-value{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.hardware-capacity-value strong{color:#dce8f5;font-variant-numeric:tabular-nums;font-size:.96rem;font-weight:500}.hardware-capacity-value em{color:#86efac;font-size:.72rem;font-style:normal;font-weight:700}.hardware-capacity-column--disk .hardware-capacity-value em{color:#fb923c}.hardware-progress{background:#183453;border-radius:999px;height:3px;margin:.48rem 0 .1rem;overflow:hidden}.hardware-progress i{border-radius:inherit;background:#5c98ff;height:100%;display:block}.hardware-capacity-column--disk .hardware-progress i{background:#f97316}@media (width<=1280px){.system-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.system-hardware-region{grid-template-columns:repeat(2,minmax(0,1fr))}.hardware-panel--memory{grid-column:1/-1}}@media (width<=800px){.system-heading{flex-direction:column;align-items:flex-start}.system-heading-freshness{justify-content:flex-start}.system-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-hardware-region{grid-template-columns:1fr}.hardware-panel--memory{grid-column:auto}}@media (width<=620px){.hardware-cpu-layout,.hardware-gpu-layout,.hardware-memory-layout{grid-template-columns:1fr}.hardware-core-list,.hardware-gpu-details,.hardware-capacity-column+.hardware-capacity-column{border-top:1px solid #1d3856;border-left:0}.hardware-core-list{min-height:10rem}}@media (width<=560px){.system-summary-grid{grid-template-columns:1fr}.system-summary-card{min-height:0}}main:has(.scanner-page){min-width:0}.scanner-page{width:min(100rem,100%);margin:0 auto}.scanner-heading-row{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.8rem;display:flex}.scanner-heading-row h2{margin:0;font-size:clamp(1.7rem,3vw,2.15rem)}.scanner-heading-row p{color:var(--color-text-muted);margin:.2rem 0;font-size:.82rem}.scanner-title-line{align-items:center;gap:.6rem;display:flex}.scanner-live-pill{background:#0a203a;border:1px solid #24466b;border-radius:.4rem;padding:.22rem .5rem;font-size:.68rem;font-weight:800}.scanner-alerts-card .scanner-live-pill{font-size:clamp(1.08rem,1.28vw,1.32rem);line-height:1.08}.scanner-live-pill--live{color:#86efac}.scanner-live-pill--degraded{color:#fcd34d}.scanner-live-pill--offline{color:#fca5a5}.scanner-root-cause,.scanner-refresh-state{color:#8297ae;font-size:.7rem}.scanner-banner{background:#091a2f;border:1px solid #24466b;border-radius:.6rem;margin-bottom:.7rem;padding:.65rem .8rem}.scanner-banner--warning{color:#fde68a;border-color:#6b4b17}.scanner-banner--error{color:#fecaca;border-color:#6b2730}.scanner-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(15rem,1.4fr);gap:.55rem;margin-bottom:.7rem;display:grid}.scanner-metric-card,.scanner-alerts-card{background:linear-gradient(#081b31,#06162a);border:1px solid #173857;border-radius:.65rem;min-height:7rem;padding:.8rem}.scanner-metric-card h3,.scanner-alerts-card h3{color:#b8c8da;margin:0;font-size:.72rem}.scanner-metric-card strong{color:#edf5ff;overflow-wrap:anywhere;margin-top:.8rem;font-size:clamp(1.15rem,1.7vw,1.6rem);display:block}.scanner-metric-card p,.scanner-alerts-card p{color:#7890aa;margin:.4rem 0 0;font-size:.66rem}.scanner-alerts-card strong{margin-top:.7rem;display:block}.scanner-alerts-card>span{color:#8fa6bf;border:1px solid #315273;border-radius:999px;margin-top:.55rem;padding:.15rem .4rem;font-size:.58rem;display:inline-block}.scanner-transmissions-panel,.scanner-map-panel{background:linear-gradient(#071a30,#061528);border:1px solid #173857;border-radius:.72rem;overflow:hidden}.scanner-transmissions-panel{margin-bottom:.7rem}.scanner-panel-heading{justify-content:space-between;align-items:center;padding:.75rem .9rem .45rem;display:flex}.scanner-panel-heading h3{margin:0;font-size:.92rem;display:inline}.scanner-panel-heading small{color:#86efac;margin-left:.65rem}.scanner-panel-heading button{color:#55708d;background:0 0;border:0}.scanner-toolbar{grid-template-columns:13rem minmax(0,1fr);gap:.5rem;padding:.35rem .9rem .6rem;display:grid}.scanner-toolbar select,.scanner-toolbar input{color:#d9e7f5;background:#07172a;border:1px solid #173857;border-radius:.45rem;width:100%;min-height:2.3rem;padding:0 .7rem}.scanner-toolbar form{min-width:0}.scanner-search-field{position:relative}.scanner-search-field input{padding-right:2.65rem}.scanner-search-clear{color:#a9bfd5;cursor:pointer;background:#091d33;border:1px solid #315273;border-radius:.35rem;width:1.75rem;height:1.75rem;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.scanner-search-clear:hover,.scanner-search-clear:focus-visible{color:#e5f2ff;border-color:#60a5fa}.scanner-search-more{border-top:1px solid #173857;justify-content:center;padding:.6rem .9rem;display:flex}.scanner-search-more button{color:#dcecff;cursor:pointer;background:#0b2c4e;border:1px solid #2b5f91;border-radius:.4rem;min-height:2.25rem;padding:0 .8rem}.scanner-search-more button:hover,.scanner-search-more button:focus-visible{background:#0d3965;border-color:#60a5fa}.scanner-search-more button:disabled{cursor:wait;opacity:.7}.scanner-transmission-list{scrollbar-width:none;border-top:1px solid #173857;grid-template-rows:1fr;grid-auto-columns:16.6667%;grid-auto-flow:column;max-height:none;display:grid;overflow:auto hidden}.scanner-transmission-list::-webkit-scrollbar{display:none}.scanner-transmission{color:#d8e3ef;background:0 0;border-bottom:1px solid #173857;border-right:1px solid #173857;grid-template-rows:1fr auto;min-height:10rem;display:grid}.scanner-transmission:hover{background:#0a2039}.scanner-transmission--selected{background:#0b2748;box-shadow:inset 0 0 0 1px #3275cc}.scanner-transmission-main{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;gap:.35rem;padding:.75rem .75rem .45rem;display:grid}.scanner-transmission-main:focus-visible{outline-offset:-2px;outline:2px solid #60a5fa}.scanner-transmission-main>div{color:#95aac0;justify-content:space-between;gap:.4rem;font-size:.62rem;display:flex}.scanner-transmission-main>div span{color:#93c5fd;background:#0c2a50;border-radius:.25rem;padding:.15rem .3rem}.scanner-transmission-main strong{font-size:.78rem}.scanner-transmission-main em{color:#a4b4c6;font-size:.68rem;font-style:normal;line-height:1.4}.scanner-transmission-main small{color:#6f849d;font-size:.61rem}.scanner-playback{align-items:center;gap:.4rem;padding:.35rem .75rem .65rem;display:flex}.scanner-playback button{color:#dcecff;cursor:pointer;background:#0b2c4e;border:1px solid #2b5f91;border-radius:.4rem;min-width:3.7rem;min-height:2rem;padding:0 .55rem}.scanner-playback button:hover,.scanner-playback button:focus-visible{background:#0d3965;border-color:#60a5fa}.scanner-playback button:disabled{cursor:wait;opacity:.7}.scanner-playback audio{display:none}.scanner-playback small{color:#fca5a5;font-size:.62rem}.scanner-empty{color:#7f93aa;grid-column:1/-1;padding:1.5rem}.scanner-map-panel{min-height:31rem}.scanner-map-controls{scrollbar-width:none;border-bottom:1px solid #173857;align-items:center;gap:.55rem;padding:.55rem .75rem;display:flex;overflow-x:auto}.scanner-map-controls::-webkit-scrollbar{display:none}.scanner-map-control-group{flex:none;gap:.32rem;display:flex}.scanner-map-control-divider{background:#173857;flex:none;width:1px;height:2rem}.scanner-map-controls button{color:#8ca1b8;cursor:pointer;white-space:nowrap;background:#08192b;border:1px solid #24405e;border-radius:.4rem;min-height:2.25rem;padding:0 .65rem}.scanner-map-controls button:hover,.scanner-map-controls button:focus-visible{color:#d8e8f8;border-color:#3d6b99}.scanner-map-controls .scanner-map-control--active{color:#e5f2ff;background:#0c3764;border-color:#2f78c8;box-shadow:inset 0 0 0 1px #60a5fa2e}.scanner-map-stage{background:#06111f;min-height:27rem;position:relative}.scanner-map-canvas{min-height:27rem;position:absolute;inset:0}.scanner-map-empty{z-index:4;color:#9db1c6;pointer-events:none;white-space:nowrap;background:#051221e6;border:1px solid #284765;border-radius:999px;padding:.4rem .75rem;font-size:.7rem;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.scanner-map-card{z-index:6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#051424f5;border:1px solid #315b84;border-radius:.7rem;width:min(20rem,100% - 2rem);padding:.8rem 2.35rem .8rem .85rem;position:absolute;bottom:1rem;right:1rem;box-shadow:0 12px 32px #00000073}.scanner-map-card-close{color:#a9bfd5;cursor:pointer;background:#091d33;border:1px solid #315273;border-radius:.35rem;width:1.75rem;height:1.75rem;position:absolute;top:.45rem;right:.45rem}.scanner-map-card-meta{color:#88a2bc;justify-content:space-between;gap:.75rem;font-size:.65rem;display:flex}.scanner-map-card>strong{color:#edf6ff;margin-top:.45rem;font-size:1rem;display:block}.scanner-map-card>p{color:#c3d3e3;margin:.3rem 0;font-size:.8rem;line-height:1.35}.scanner-map-card>small{color:#7189a2;text-transform:capitalize;font-size:.6rem;display:block}.scanner-map-card .scanner-playback{padding:.65rem 0 0}.scanner-playback-unavailable{color:#7f93aa;margin-top:.65rem;font-size:.65rem;display:inline-block}.scanner-map-marker{color:#fff;cursor:pointer;background:#50657b;border:2px solid #d4e4f5;border-radius:999px;place-items:center;width:2.15rem;height:2.15rem;font-size:.72rem;font-weight:900;display:grid;box-shadow:0 3px 12px #00000073}.scanner-map-marker:hover,.scanner-map-marker:focus-visible{outline-offset:2px;outline:2px solid #bfdbfe}.scanner-map-marker--selected{border-color:#fff;box-shadow:0 0 0 4px #60a5fa59,0 4px 14px #00000080}.scanner-map-marker--police{background:#2563a8}.scanner-map-marker--fire-rescue{background:#b33a3a}.scanner-map-marker--ems{background:#7c3fb0}.scanner-map-marker--traffic{background:#b7791f}.scanner-map-marker--other{background:#597083}.scanner-map-marker--mixed{background:#3f596d}.scanner-map-canvas .maplibregl-ctrl-attrib{color:#bdcad8;background:#051221d1;font-size:10px}.scanner-map-canvas .maplibregl-ctrl-attrib a{color:#bfdbfe}.scanner-map-canvas .maplibregl-ctrl-group{background:#071a30;border:1px solid #24405e}.scanner-map-canvas .maplibregl-ctrl button{background-color:#071a30}.scanner-map-canvas .maplibregl-ctrl button .maplibregl-ctrl-icon{filter:invert()opacity(.75)}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=1180px){.scanner-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scanner-alerts-card{grid-column:span 2}.scanner-transmission-list{grid-auto-columns:33.3333%}}@media (width<=760px){.scanner-heading-row{flex-direction:column;align-items:flex-start}.scanner-toolbar{grid-template-columns:1fr}.scanner-transmission-list{grid-auto-columns:50%}.scanner-map-controls{flex-direction:column;align-items:flex-start}.scanner-map-control-divider{width:100%;height:1px}.scanner-map-stage,.scanner-map-canvas{min-height:24rem}.scanner-map-card{width:min(18rem,100% - 1.3rem);padding:.7rem 2.2rem .7rem .75rem;bottom:.65rem;right:.65rem}}@media (width<=480px){.scanner-overview-grid{grid-template-columns:1fr}.scanner-alerts-card{grid-column:auto}.scanner-transmission-list{grid-auto-columns:min(82vw,18rem)}.scanner-map-controls{padding:.5rem}.scanner-map-stage,.scanner-map-canvas{min-height:22rem}.scanner-map-empty{white-space:normal;text-align:center;max-width:calc(100% - 2rem)}.scanner-map-card{width:auto;max-height:10.5rem;bottom:.5rem;left:.5rem;right:.5rem;overflow:auto}.scanner-map-card>p{margin:.25rem 0}.scanner-map-card .scanner-playback{padding-top:.45rem}}.login-page{background:radial-gradient(circle at 50% 0%, #0b1e37 0, var(--color-canvas) 46%);place-items:center;min-height:100vh;padding:1.25rem;display:grid}.login-card{background:linear-gradient(145deg,#071629,#081d35);border:1px solid #1e3a5f;border-radius:1.1rem;width:min(28rem,100%);padding:clamp(1.5rem,6vw,2.5rem);box-shadow:0 1.5rem 5rem #0000004d}.login-brand{color:#dbeafe;background:#0b2a52;border:1px solid #3b82f6;border-radius:.85rem;place-items:center;width:3rem;height:3rem;margin-bottom:1.25rem;font-size:1.35rem;font-weight:800;display:grid}.login-card h1{margin-bottom:.35rem;font-size:2rem}.login-intro{color:var(--color-text-muted);margin-bottom:1.5rem}.login-form{gap:1rem;display:grid}.login-form>label:not(.remember-control){color:var(--color-text-muted);gap:.4rem;font-size:.86rem;font-weight:700;display:grid}.login-form input[type=text],.login-form input[type=password],.login-form input:not([type]){width:100%;min-height:var(--control-target);color:var(--color-text);font:inherit;background:#050f1d;border:1px solid #315273;border-radius:.6rem;padding:.65rem .75rem}.login-form input:focus-visible,.login-submit:focus-visible{outline-offset:2px;outline:3px solid #93c5fd}.login-submit{min-height:var(--control-target);color:#fff;cursor:pointer;background:#1d4ed8;border:1px solid #2563eb;border-radius:.6rem;padding:.65rem .9rem;font-weight:800}.login-submit:disabled{opacity:.6;cursor:progress}.login-error{color:#fecaca;background:#2a0d12;border:1px solid #7f1d1d;border-radius:.65rem;gap:.35rem;margin-bottom:1rem;padding:.75rem;display:grid}.login-notice{color:#bbf7d0;background:#052e16;border:1px solid #166534;border-radius:.65rem;margin-bottom:1rem;padding:.7rem .75rem}.login-remember{justify-self:start}.scanner-map-marker--attention{isolation:isolate;animation:1.8s ease-in-out infinite scanner-attention-pulse;position:relative;box-shadow:0 0 0 3px #ffcd5ce0,0 0 18px #ffcd5cb3}.scanner-map-marker--attention:after{content:"";pointer-events:none;border:2px solid #ffcd5cbf;border-radius:999px;position:absolute;inset:-7px}@keyframes scanner-attention-pulse{0%,to{box-shadow:0 0 0 3px #ffcd5cc7,0 0 12px #ffcd5c73}50%{box-shadow:0 0 0 5px #ffcd5cf2,0 0 22px #ffcd5cc7}}.scanner-attention{background:#ffcd5c14;border:1px solid #ffcd5c73;border-radius:.55rem;flex-direction:column;gap:.35rem;padding:.65rem;display:flex}.scanner-attention>button{align-self:flex-start}@media (prefers-reduced-motion:reduce){.scanner-map-marker--attention{animation:none;box-shadow:0 0 0 4px #ffcd5cf2,0 0 10px #ffcd5c8c}}
