:root{color-scheme:dark;--bg:#030508;--surface:#0c1017;--muted:#8a98aa;--text:#edf3fa;--red:#ff3549;--blue:#449cff;--gold:#ffbf47;--green:#3de19a;--line:rgba(172,198,231,.13)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% -40%,#172436 0,transparent 65%),var(--bg);color:var(--text);font:14px/1.5 'Segoe UI',system-ui,sans-serif;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer;color:var(--text);border:1px solid #52627666;background:linear-gradient(165deg,#d9ebff1a,#101620 45%,#070b12);border-radius:10px;padding:10px 15px;box-shadow:inset 0 1px 0 #ffffff17,0 3px 8px #0008;transition:background .16s,transform .16s,border-color .16s}button:hover{border-color:#90afda88;background:linear-gradient(165deg,#d9ebff2b,#161f2e 55%,#0d131d)}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:2px solid #82c8ff;outline-offset:4px}button:disabled{cursor:default;opacity:.65}button.primary{background:linear-gradient(155deg,#ff7c8244,#8f142a 50%,#410a15);border-color:#e54c63}button.small{font-size:12px;padding:6px 10px}.muted{color:var(--muted)}.fine{font-size:12px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px;color:var(--gold)}[hidden]{display:none!important}header{display:flex;align-items:center;gap:20px;margin:0 36px;padding:24px 0 20px;border-bottom:1px solid var(--line)}.patch{width:76px;height:90px;object-fit:contain;filter:drop-shadow(0 0 14px #ffc33815)}h1{font-size:32px;font-weight:800;letter-spacing:1px;line-height:1.1;margin:7px 0}h1 span{font-weight:300;color:#b9c9dd}.brand-sub{font-size:12px;color:#8b9aad}.header-right{margin-left:auto;text-align:right}.clock{font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:2px;font-weight:300}.account{display:flex;justify-content:flex-end;gap:10px;align-items:center;font-size:11px;color:var(--muted);margin-top:5px}main{margin:0 36px}#preview-banner{padding:7px 20px;text-align:center;background:#33280f;border-bottom:1px solid #c8953744;color:#ffe0a5;font-size:12px;letter-spacing:.5px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0}.view-label{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:2px;font-weight:700;color:#b8c7d9}.live-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;box-shadow:0 0 10px #ffbf4766}.toolbar-actions{display:flex;gap:9px;align-items:center}.toolbar-actions button{font-size:12px}.toggle-track{display:inline-block;width:25px;height:13px;vertical-align:middle;margin-left:8px;background:#3f8a70;border:1px solid #56caa2;border-radius:20px;position:relative}.toggle-track:after{content:'';position:absolute;top:2px;right:2px;width:7px;height:7px;border-radius:50%;background:#c0ffe2}button[aria-pressed=false] .toggle-track{background:#202b3b;border-color:#455267}button[aria-pressed=false] .toggle-track:after{right:13px;background:#97a5b7}.source-alerts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.source-alert{border:1px solid #ff43545c;background:linear-gradient(160deg,#801c2e69,#270b13);color:#ffbac2;padding:9px 13px;border-radius:9px;font-size:12px}.source-alert strong{color:#fff;margin-right:6px}.source-alert.deferred{border-color:#ac7a384d;background:linear-gradient(160deg,#48341666,#1c160e);color:#e0bf83}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:12px}.section-heading h2{font-size:11px;letter-spacing:1.8px;margin:0;font-weight:750;color:#b9c7d9}.section-heading>.muted{font-size:11px}.unit-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.unit{--color:var(--green);position:relative;isolation:isolate;border-radius:13px;padding:16px 17px 14px;border:1px solid color-mix(in srgb,var(--color),transparent 50%);background:linear-gradient(145deg,color-mix(in srgb,var(--color),transparent 83%),#101820 50%,#050a0e);box-shadow:inset 0 1px 0 #ffffff28,inset 0 -10px 25px #0007,0 8px 22px #0008;overflow:hidden}.unit:before,.card:before{content:'';position:absolute;inset:0;background:linear-gradient(150deg,#ffffff19,transparent 45%);pointer-events:none;border-radius:inherit}.unit.yellow{--color:var(--gold)}.unit.red{--color:var(--red)}.unit.gray{--color:#9da5af;animation:gray-pulse 1.6s infinite}.unit-label{font-size:10px;color:#a9b9cb;letter-spacing:1px}.unit-id{font-size:29px;line-height:1.2;font-weight:700;letter-spacing:1px;margin:8px 0;color:var(--color)}.unit-status{display:flex;gap:7px;align-items:center;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot{display:inline-block;flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--color);box-shadow:0 0 8px var(--color)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;margin-top:28px}.calls-section>.section-heading{min-height:34px}.count{background:#1b2635;color:#e5eef8;padding:2px 7px;border-radius:5px;margin-left:6px;letter-spacing:0}.filters{display:flex;gap:5px}.filter{padding:5px 12px;font-size:11px;border-radius:6px;box-shadow:none;color:var(--muted)}.filter.selected{color:#fff;background:#25344a;border-color:#547195}.call-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-content:start}.card{--accent:var(--red);--tint:#541120;position:relative;width:100%;text-align:left;padding:19px;border-radius:13px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent),transparent 55%);border-top:3px solid var(--accent);background:linear-gradient(135deg,color-mix(in srgb,var(--tint),transparent 25%),#0c111a 62%,#080b11);box-shadow:inset 0 1px 0 #ffffff1a,0 8px 25px #0008;min-height:195px}.card:hover{background:linear-gradient(135deg,var(--tint),#101722 65%);border-color:var(--accent)}.card.police{--accent:#449cff;--tint:#102b4f}.card.ambulance{--accent:#e7edf6;--tint:#303a48}.card-top{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:14px}.discipline{font-size:10px;letter-spacing:1.5px;font-weight:700;color:var(--accent)}.elapsed{font-size:12px;font-variant-numeric:tabular-nums;color:#b6c3d4}.card h3{font-size:20px;line-height:1.2;letter-spacing:.2px;margin:0 0 9px}.card .address{color:#d5e0ee;font-size:13px;margin-bottom:12px}.card .summary{font-size:12px;color:#9cacc0;line-height:1.6;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.card-bottom{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;color:#a4b2c3}.source-badges{display:flex;gap:5px;flex-wrap:wrap}.source-badge,.tag{padding:2px 6px;border:1px solid #9cafc92b;border-radius:4px;font-size:9px;letter-spacing:.4px;color:#b7c5d6;background:#ffffff05}.retained{font-size:10px;color:#ffb9c1;margin-top:9px}.priority-zone{padding:16px;border:1px solid #ff354973;border-radius:14px;background:radial-gradient(ellipse at top,#5e0b202e,transparent 70%);margin-bottom:16px}.priority-label{font-size:10px;letter-spacing:2px;color:#ff7b88;font-weight:800;margin-bottom:12px}.priority-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.priority-grid .card{min-height:230px}.card.flash-red{animation:red-pulse 1.6s infinite}.card.flash-orange{animation:orange-pulse 1.6s infinite;--accent:#ff9d32;--tint:#4c2911}.glass{border:1px solid var(--line);border-radius:14px;padding:20px;background:linear-gradient(145deg,#c4ddff0c,#0b1018 45%,#070b11);box-shadow:inset 0 1px 0 #ffffff0c,0 8px 25px #0006}aside{display:flex;flex-direction:column;gap:17px}.shift-rule{height:1px;background:var(--line);margin:15px 0}.shift-row{margin:14px 0}.shift-position{font-size:10px;letter-spacing:1px;color:#b7c8dc;margin-bottom:4px}.shift-name{font-size:14px;font-weight:600}.shift-time{font-size:11px;color:var(--muted)}.shift-vacancy{color:var(--gold)}.burn-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #ffffff08}.burn-row:last-child{border:0}.burn-button{font-size:10px;padding:5px 9px;min-width:87px}.burn-button.active{color:#ffd5ad;border-color:#ff9b4666;background:linear-gradient(150deg,#c17e362e,#442313);box-shadow:inset 0 1px 0 #ffffff18,0 0 15px #ff8a150d}.district-panel{padding-bottom:16px}#boundary-map{display:block;width:100%;height:175px;filter:drop-shadow(0 0 10px #4fbeff1a)}#boundary-map path{fill:#14476644;stroke:#58b4d6;stroke-width:1.5}.district-stats{display:flex;justify-content:space-between;align-items:center;margin:6px 0}.district-stats strong{font-size:19px;font-weight:500}.district-stats strong span{font-size:10px;color:var(--muted)}.district-stats>.muted{font-size:10px}.empty{text-align:center;padding:65px 25px}.empty-symbol{font-size:50px;color:#425a72}.empty h3{font-size:20px;font-weight:400}.weather{display:flex;align-items:center;gap:20px;background:linear-gradient(110deg,#a9142e,#5c0b19);border:1px solid #ff778b88;border-radius:10px;padding:11px 15px;margin-top:20px;box-shadow:0 0 28px #ff253914}.weather-label{font-size:11px;font-weight:800;letter-spacing:1px;white-space:nowrap}.ticker-window{overflow:hidden;flex:1}.ticker{white-space:nowrap;animation:ticker 35s linear infinite;font-size:13px}.weather:hover .ticker{animation-play-state:paused}footer{display:flex;justify-content:space-between;gap:12px;padding:22px 0;color:#607187;font-size:10px;border-top:1px solid var(--line);margin-top:25px;letter-spacing:.5px}dialog{background:linear-gradient(145deg,#142033,#070c14 65%);color:var(--text);border:1px solid #7088aa66;border-radius:17px;width:min(880px,calc(100% - 30px));max-height:88vh;padding:26px;box-shadow:0 30px 120px #000d}dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px;border-bottom:1px solid var(--line);padding-bottom:15px}.dialog-header h2{font-size:23px;margin:5px 0}.close{font-size:26px;line-height:1;padding:5px 10px}.detail-section{padding:13px 0;border-bottom:1px solid var(--line)}.detail-section h3{font-size:11px;letter-spacing:1.5px;color:#9fb5d0}.note{margin:10px 0;background:#ffffff04;padding:12px;border-left:2px solid #55789f;white-space:pre-wrap;overflow-wrap:anywhere}.note-meta{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;color:#adc2db}details{margin:12px 0}summary{cursor:pointer}.login{max-width:440px;margin:60px auto}.login h2{font-size:28px;font-weight:400}.login label,form label{display:block;font-size:12px;color:#b7c5d9;margin:15px 0 5px}input,select{display:block;width:100%;background:#050910;border:1px solid #475c78;border-radius:8px;color:#fff;padding:11px;margin-top:7px}form .primary{width:100%;margin-top:18px}#login-error,#admin-message{color:#ffacb6;font-size:12px}.preview-link{color:#a6bfdc;display:block;text-align:center;font-size:12px;margin-top:23px}.scenario-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px}output{display:block;overflow-wrap:anywhere;margin:15px 0;font-family:monospace}#new-role{margin-bottom:12px}
@keyframes red-pulse{0%,100%{box-shadow:inset 0 0 30px #ff35490b,0 0 8px #ff35491a;background-color:#170810}50%{box-shadow:inset 0 0 60px #ff35494d,0 0 25px #ff354955;background-color:#701528}}@keyframes orange-pulse{0%,100%{box-shadow:inset 0 0 25px #ff93220b,0 0 8px #ff932222}50%{box-shadow:inset 0 0 60px #ff93225a,0 0 22px #ff932255}}@keyframes gray-pulse{0%,100%{filter:brightness(.7)}50%{filter:brightness(1.5)}}@keyframes ticker{from{transform:translateX(15%)}to{transform:translateX(-100%)}}
@media(min-width:1800px){header,main{margin-left:50px;margin-right:50px}.workspace{grid-template-columns:minmax(0,1fr) 330px;gap:32px}.call-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.unit-grid{gap:16px}.card{min-height:220px}header{padding-top:28px}}
@media(min-width:1400px){header{padding:16px 0 13px}.patch{width:60px;height:70px}h1{font-size:27px}.clock{font-size:26px}.toolbar{padding:13px 0}.weather{margin-top:13px;padding:8px 13px}.source-alerts{margin-bottom:13px}.source-alert{padding:7px 12px}.unit{padding:12px 16px}.unit-id{font-size:26px;margin:5px 0}.workspace{margin-top:20px;gap:25px}.card{padding:15px;min-height:180px}.card h3{font-size:20px}.card-top{margin-bottom:10px}.card .summary{margin-bottom:12px}.priority-grid .card{min-height:170px}.priority-zone{padding:12px;margin-bottom:13px}.priority-label{margin-bottom:8px}.glass{padding:16px}aside{gap:12px}.burn-row{padding:8px 0}.burn-panel .fine{margin:5px 0}.shift-rule{margin:11px 0}#boundary-map{height:100px}.district-stats strong{font-size:16px}footer{padding:15px 0;margin-top:18px}}
@media(max-width:1100px){header,main{margin-left:22px;margin-right:22px}.workspace{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.unit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.call-grid{grid-template-columns:1fr}h1{font-size:26px}.toolbar{align-items:flex-start}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end}.unit{padding:12px}.unit-id{font-size:25px}}
@media(max-width:700px){header,main{margin-left:15px;margin-right:15px}header{gap:12px;padding:16px 0}.patch{width:50px;height:64px}.brand .eyebrow{font-size:7px;letter-spacing:1.5px}h1{font-size:20px;letter-spacing:0}.brand-sub{display:none}.header-right .clock{font-size:18px;letter-spacing:.5px}.header-right #date{font-size:9px}.account{font-size:9px}.toolbar{display:block;padding:17px 0}.view-label{margin-bottom:13px}.toolbar-actions{justify-content:flex-start;gap:7px}.toolbar-actions button{font-size:10px;padding:8px 10px}.workspace{grid-template-columns:1fr;gap:22px;margin-top:22px}.unit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.unit-grid .unit:last-child{grid-column:span 2}.unit{padding:12px 15px}.unit-id{font-size:27px}.unit-status{font-size:11px}.unit-label{font-size:9px}.source-alerts{gap:6px}.source-alert{font-size:10px;padding:7px 9px}.section-heading h2{font-size:10px}.section-heading>.muted{font-size:10px}.filters{gap:3px}.filter{padding:5px 9px;font-size:10px}.card{min-height:190px}.card h3{font-size:19px}.priority-zone{padding:10px}.priority-label{font-size:8px}.priority-grid{grid-template-columns:1fr}.weather{gap:10px;padding:9px}.weather-label{font-size:9px;white-space:normal;max-width:70px}.ticker{font-size:11px}.weather .small{font-size:9px;padding:5px}.district-panel{display:none}.scenario-buttons{grid-template-columns:1fr}footer{font-size:9px;display:block}footer span{display:block;margin:4px 0}dialog{padding:18px}.dialog-header h2{font-size:20px}.login{margin-top:30px}.section-heading{gap:6px}#preview-banner{font-size:10px;padding:7px 12px}}
.operations-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:20px}.operations-grid .section-heading{min-height:28px}.staffed-apparatus{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:12px;max-height:none;overflow:visible}.staffed-unit{background:linear-gradient(145deg,#d2e6ff0d,#0c1520);border:1px solid #5a86b33b;border-radius:10px;padding:12px}.apparatus-name{color:#8fc4fa;margin:0 0 7px;font-size:18px;letter-spacing:1px}.crew-row{display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:12px;border-top:1px solid #ffffff0a;padding:7px 0}.crew-row:first-of-type{border:0}.crew-hours{font-variant-numeric:tabular-nums;color:#d2e2f4}.crew-schedule{grid-column:1/-1;color:#7f93ad;font-size:10px}.daily-notes{white-space:pre-wrap;overflow-wrap:anywhere;max-height:165px;overflow:auto;font-size:13px;margin:10px 0 14px}.staffing-review{color:#ffd195;font-size:11px;margin-top:8px}.calendar-events{max-height:185px;overflow:auto;margin-top:10px}.calendar-event{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:10px;margin:7px 0;text-align:left;font-size:12px;background:linear-gradient(140deg,#ddc48614,#0b131e);border-color:#97835640}.event-time{color:#e6c982;font-size:10px;letter-spacing:.8px;margin-bottom:3px}.event-description{white-space:pre-wrap;overflow-wrap:anywhere}.day-label{display:flex;align-items:center;gap:7px;font-size:10px;color:#9baec6}.day-label input{padding:7px 9px;font-size:12px;margin:0;width:145px}textarea{font:inherit;display:block;resize:vertical;width:100%;background:#050910;border:1px solid #475c78;border-radius:8px;color:#fff;padding:12px;margin-top:8px}.form-error{color:#ffacb6;font-size:12px;white-space:pre-wrap}.full-shift-controls{display:flex;align-items:flex-end;gap:12px;margin:15px 0}.full-shift-controls label{flex:1;font-size:12px;color:#b3c4db}.full-shift-controls button{margin-bottom:0}.person-schedule{margin:10px 0;font-size:12px;color:#aec8e5}.assignment-segment{display:grid;grid-template-columns:85px 1fr 20px 1fr 75px;align-items:center;gap:8px;margin:12px 0}.assignment-segment select{font-size:12px;margin:0;padding:9px 7px}.assignment-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.user-role-row{display:grid;grid-template-columns:1fr 150px 90px;align-items:center;gap:12px;font-size:12px;margin:12px 0}.user-role-row select{margin:0;padding:8px}.daily-notes-panel #notes-meta{font-size:9px}.staffing-panel #shift-window{font-size:10px}
@media(max-width:1100px){.operations-grid{grid-template-columns:1fr 1fr}.staffing-panel{grid-column:1/-1}.day-label input{width:135px}.operations-grid .glass{padding:16px}}
@media(max-width:700px){.operations-grid{grid-template-columns:1fr;gap:12px}.staffing-panel{grid-column:auto}.staffed-apparatus{grid-template-columns:1fr}.daily-notes,.calendar-events{max-height:210px}.day-label{width:100%;margin-bottom:3px}.day-label input{width:150px}.assignment-segment{grid-template-columns:1fr 1fr;gap:7px;padding:12px;border:1px solid var(--line);border-radius:9px}.assignment-segment .segment-unit{grid-column:1/-1}.assignment-segment>span{display:none}.assignment-segment>button{grid-column:1/-1}.full-shift-controls{display:block}.full-shift-controls>button{margin-top:10px}.user-role-row{grid-template-columns:1fr 1fr}.user-role-row>span{grid-column:1/-1}.assignment-actions button{font-size:12px}.operations-grid .section-heading h2{font-size:10px}.operations-grid .small{font-size:10px}}
.assignment-segment{grid-template-columns:75px 125px 1fr 16px 1fr auto}@media(max-width:700px){.assignment-segment{grid-template-columns:1fr 1fr}.assignment-segment .segment-start,.assignment-segment .segment-end{grid-column:span 2}}
@media(min-width:1400px) and (max-height:1100px){header{padding:10px 0}.patch{width:48px;height:56px}h1{font-size:24px}.brand .eyebrow{margin-bottom:4px}.tagline{margin-top:4px}.toolbar{padding:10px 0}.weather{margin-top:10px;padding:6px 12px}.source-alerts{margin-bottom:10px}.unit{padding:10px 14px}.unit-id{font-size:24px;margin:3px 0}.operations-grid{margin-top:14px;gap:12px}.operations-grid .glass{padding:12px}.staffed-apparatus{margin-top:8px}.staffed-unit{padding:8px}.apparatus-name{margin-bottom:3px;font-size:16px}.crew-row{font-size:11px;padding:4px 0}.workspace{margin-top:14px}.card{min-height:140px;padding:12px}.priority-grid .card{min-height:135px}.card h3{font-size:18px}.card .summary{margin-bottom:8px}.priority-zone{padding:9px;margin-bottom:10px}.card-top{margin-bottom:7px}footer{margin-top:10px;padding:10px 0}}
.connection-buttons{display:flex;gap:7px}.connection-button{font-size:11px;white-space:nowrap}.connection-button.online{color:#72e9b0;border-color:#39c88b88}.connection-button.offline{color:#ff8997;border-color:#ed334b99;background:#50121b66}.connection-button.unknown{color:#c3c8d0;border-color:#929aa466}.connection-button.deferred{color:#edc273;border-color:#a47f3c}.connection-detail-row{padding:12px 0;border-bottom:1px solid #ffffff18}.staffed-unit.green{border-color:#36d39988;box-shadow:inset 0 0 20px #36d39910}.staffed-unit.green .apparatus-name,.staffed-unit.green .apparatus-status{color:#56e4a9}.staffed-unit.red{border-color:#ff445e99;box-shadow:inset 0 0 20px #ff445e14}.staffed-unit.red .apparatus-name,.staffed-unit.red .apparatus-status{color:#ff7084}.staffed-unit.yellow{border-color:#f1bf5588}.staffed-unit.yellow .apparatus-name,.staffed-unit.yellow .apparatus-status{color:#f1cf70}.staffed-unit.gray{border-color:#a1a7b477;animation:gray-pulse 2.6s ease-in-out infinite}.staffed-unit.gray .apparatus-name,.staffed-unit.gray .apparatus-status{color:#b9bec7}.apparatus-status{font-size:10px;margin:0 0 7px}.toolbar-actions{flex-wrap:wrap}@media(max-width:700px){.connection-buttons{width:100%}.connection-button{flex:1;font-size:10px}}
body.command-offline::after{content:"";position:fixed;inset:0;z-index:2147483646;pointer-events:none;box-sizing:border-box;border:7px solid #ff304b;border-radius:10px;box-shadow:inset 0 0 5px #fff0f3,inset 0 0 24px #ff203c,inset 0 0 65px #ff163b99,0 0 24px #ff173d;animation:command-border-pulse 1.8s ease-in-out infinite}body.command-offline dialog::backdrop{box-sizing:border-box;border:7px solid #ff304b;box-shadow:inset 0 0 5px #fff0f3,inset 0 0 24px #ff203c,inset 0 0 65px #ff163b99;animation:command-border-pulse 1.8s ease-in-out infinite}@keyframes command-border-pulse{0%,100%{border-color:#a81028;box-shadow:inset 0 0 4px #ffc2cc,inset 0 0 16px #ff203c88,inset 0 0 35px #ff163b66}50%{border-color:#ff526d;box-shadow:inset 0 0 7px #fff0f3,inset 0 0 32px #ff203c,inset 0 0 85px #ff163baa}}@media(prefers-reduced-motion:reduce){body.command-offline::after,body.command-offline dialog::backdrop{animation:none}}

.firstdue-panel{margin-top:16px;padding:14px 18px}.firstdue-panel .section-heading{margin-bottom:5px;min-height:22px}.firstdue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-top:10px;max-height:155px;overflow:auto}.duty-person{min-width:0;padding:9px 11px;border:1px solid #6e96bc40;border-radius:9px;background:linear-gradient(145deg,#b7d9f510,#08111d)}.duty-position{font-size:9px;color:#91a9c1;line-height:1.35;margin-bottom:5px}.duty-name{display:block;font-size:12px;overflow-wrap:anywhere}.duty-hours{font-size:11px;color:#b7d5ef;margin-top:4px;font-variant-numeric:tabular-nums}.duty-vacancy{border-color:#c99a4d66}.duty-vacancy .duty-name,.duty-vacancy .duty-hours{color:#e4c285}.schedule-offline{color:#ff8997}@media(max-width:700px){.firstdue-panel{padding:13px;margin-top:13px}.firstdue-panel .section-heading{align-items:flex-start;flex-direction:column;gap:5px}.firstdue-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:245px}.duty-person{padding:9px}.duty-name{font-size:12px}.duty-hours{font-size:10px}}

.phone-sound-control{display:none}#audio-status{max-width:160px;font-size:10px}@media(max-width:767px){.phone-sound-control{display:flex;align-items:center;gap:6px}#audio-status{max-width:120px}}

.duty-vacancy{border:1px solid #ffad45;background:linear-gradient(145deg,#753b10,#28170c);box-shadow:inset 0 2px 2px #ffe0a577,inset 0 -3px 6px #0009,0 0 6px #ff9d3299,0 0 15px #ff8a224d;animation:none}.duty-vacancy .duty-position,.duty-vacancy .duty-name,.duty-vacancy .duty-hours{color:#ffe4b8}
.operations-grid.schedule-compact{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,2fr);align-items:start}.firstdue-panel.firstdue-compact{margin-top:0;padding:20px}.firstdue-compact .section-heading{flex-wrap:wrap}.firstdue-compact .firstdue-grid{grid-template-columns:1fr;max-height:none;overflow:visible}@media(max-width:1100px){.operations-grid.schedule-compact{grid-template-columns:1fr 1fr}}@media(max-width:700px){.operations-grid.schedule-compact{grid-template-columns:1fr}}

.crew-actions{grid-column:1/-1;display:flex;gap:6px;margin-top:5px}.crew-actions button{padding:4px 8px;font-size:10px}
.unit.pafford-zero{grid-column:span 2;animation:pafford-zero-border 2.6s ease-in-out infinite}
@keyframes pafford-zero-border{0%,100%{border-color:#8f2135;box-shadow:inset 0 0 12px #ff354910,0 0 4px #ff354920}50%{border-color:#ff526d;box-shadow:inset 0 0 24px #ff354930,0 0 18px #ff354980}}
@media(prefers-reduced-motion:reduce){.unit.pafford-zero{animation:none;border-color:#ff526d;box-shadow:0 0 14px #ff354960}}

.schedule-calendar-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.schedule-calendar-pair>.glass{min-width:0}.schedule-calendar-pair>.firstdue-panel{margin-top:0;padding:20px}.schedule-calendar-pair .section-heading{flex-wrap:wrap}.operations-grid.schedule-compact{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr))}@media(max-width:1100px){.operations-grid.schedule-compact{grid-template-columns:1fr 1fr}}@media(max-width:700px){.operations-grid.schedule-compact{grid-template-columns:1fr}}
.workspace>aside>.operations-grid{display:flex;flex-direction:column;gap:17px;margin:0;min-width:0}.workspace>aside>.operations-grid>*{width:100%;min-width:0}.workspace>aside .staffed-apparatus{grid-template-columns:minmax(0,1fr)}.workspace>aside .section-heading{flex-wrap:wrap}
.workspace{grid-template-columns:minmax(0,1fr) minmax(420px,.95fr) 300px;gap:20px;align-items:start}.workspace>.staffing-panel{min-width:0}.workspace>.staffing-panel .staffed-apparatus{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}.workspace>.staffing-panel .section-heading{flex-wrap:wrap}@media(max-width:1200px){.workspace{grid-template-columns:minmax(0,1fr) minmax(360px,1fr)}.workspace>.calls-section{grid-column:1;grid-row:1/span 2}.workspace>.staffing-panel,.workspace>aside{grid-column:2}.workspace>aside{display:flex}}@media(max-width:800px){.workspace{grid-template-columns:minmax(0,1fr)}.workspace>.calls-section,.workspace>.staffing-panel,.workspace>aside{grid-column:auto;grid-row:auto}}@media(max-width:480px){.workspace>.staffing-panel .staffed-apparatus{grid-template-columns:minmax(0,1fr)}}

/* Operational shift labels and full-column incident cards. */
.call-grid{grid-template-columns:minmax(0,1fr)}
.header-shifts{display:flex;justify-content:center;flex:1;gap:12px;flex-wrap:wrap}
.header-shift{--shift-color:#8a98aa;display:flex;flex-direction:column;text-align:center;min-width:115px;padding:7px 15px;border:1px solid var(--shift-color);border-radius:10px;background:linear-gradient(150deg,color-mix(in srgb,var(--shift-color),transparent 65%),#080c13 70%);box-shadow:inset 0 1px 2px #ffffff66,inset 0 -5px 10px #0008,0 0 15px color-mix(in srgb,var(--shift-color),transparent 60%);color:var(--shift-color)}
.header-shift strong{font-size:18px;text-shadow:0 0 10px var(--shift-color)}.header-shift span,.header-shift small{font-size:10px;color:#e0e9f4}
.crew-name,.duty-name,.shift-name,#account-label,#staffing-person,#person-schedule,.user-role-row>span,.user-role-row select,#new-role,#notes-meta{text-transform:uppercase}
.crew-qualifiers{grid-column:1/-1;display:flex;gap:5px;flex-wrap:wrap;margin:4px 0}
.qualification-badge{--qualification-color:#8a98aa;font-size:9px;font-weight:750;padding:2px 6px;border-radius:4px;border:1px solid var(--qualification-color);background:color-mix(in srgb,var(--qualification-color),transparent 80%);box-shadow:inset 0 1px 0 #ffffff33;color:#fff}
@media(max-width:800px){header{flex-wrap:wrap}.header-shifts{order:4;flex-basis:100%}.header-shift{padding:5px 12px}.header-shift strong{font-size:15px}}
/* Command header weather and shared notes. */
.header-weather{flex:0 1 390px;min-width:300px;padding:8px 14px;border:1px solid #3daaff6b;border-radius:12px;background:linear-gradient(145deg,#16324b99,#060d17 70%);box-shadow:inset 0 1px 2px #b5eaff5c,inset 0 -4px 10px #0009,0 0 20px #169bff26}
.weather-caption{font-size:9px;letter-spacing:1.2px;color:#86cfff;margin-bottom:5px;text-shadow:0 0 8px #219bff}
.weather-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px 18px}.weather-metric{display:flex;align-items:baseline;justify-content:space-between;gap:6px;white-space:nowrap}.weather-metric span{font-size:9px;color:#a5c5df}.weather-metric strong{font-size:16px;font-weight:650;color:#65d9ff;text-shadow:0 0 5px #14b8ff,0 0 13px #14b8ff99}.weather-metric.temp-high strong{color:#ffbb91;text-shadow:0 0 7px #ff682b99}.weather-metric.temp-low strong{color:#a4bcff;text-shadow:0 0 7px #6789ff}.weather-metric.humidity strong{color:#68f4d6;text-shadow:0 0 7px #20dab5aa}.weather-stale{border-color:#ff65768a}.weather-stale .weather-caption{color:#ff99a4;text-shadow:0 0 7px #e33d51}
#daily-notes:not(.muted),#notes-text{color:#51cfff;text-shadow:0 0 5px #16a7ff80,0 0 12px #168aff50}
.unit-incident{display:flex;flex-direction:column;gap:3px;margin-top:9px;padding-top:8px;border-top:1px solid #ffffff25;font-size:11px;overflow-wrap:anywhere;line-height:1.35}.unit-incident strong{font-size:11px;color:#f3f7ff}.unit-incident span{color:#dce9f8}.unit-incident small{font-size:9px;color:#c0c7d3}.calendar-day-heading{font-size:10px;letter-spacing:1px;color:#7bd3ff;margin:12px 0 5px;text-shadow:0 0 8px #2c9cff65}.calendar-day-heading:first-child{margin-top:0}
@media(max-width:1200px){header{flex-wrap:wrap}.header-weather{flex:1 1 300px;order:4}.header-shifts{order:5}.header-right{margin-left:auto}.header-weather .weather-metric strong{font-size:14px}}
@media(max-width:700px){.header-weather{flex-basis:100%;min-width:0;order:4}.header-shifts{order:5}.weather-metrics{gap:5px 15px}.weather-caption{font-size:8px}.weather-metric span{font-size:8px}.unit-incident{font-size:10px}.unit-incident strong{font-size:10px}}
