.public-layout{background:radial-gradient(1100px 600px at 100% -10%, #ff6a1a1a, transparent 60%), radial-gradient(900px 500px at -10% 110%, #ff6a1a0f, transparent 60%), var(--shell-bg);min-height:100dvh;color:var(--shell-fg);grid-template-rows:auto 1fr auto;display:grid}.public-layout__header{border-bottom:1px solid var(--shell-divider);justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem clamp(1rem,3vw,2rem);display:flex}.public-layout__brand{color:var(--shell-fg);letter-spacing:-.01em;min-height:var(--shell-tap,56px);align-items:center;gap:.6rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.public-layout__home{color:var(--shell-fg-dim);height:var(--shell-tap,56px);border-radius:var(--shell-radius-sm,8px);align-items:center;padding:0 .75rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.public-layout__home:hover{background:var(--shell-card);color:var(--shell-fg)}@media (width<=560px){.public-layout__home{display:none}}.public-layout__main{place-items:center;padding:clamp(2rem,5vw,4rem) 1rem;display:grid}.public-layout__footer{color:var(--shell-fg-dim);border-top:1px solid var(--shell-divider);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .75rem;padding:1.5rem 1rem 2rem;font-size:.9rem;display:flex}.public-layout__footer a{color:var(--shell-fg-dim);height:var(--shell-tap,56px);border-radius:var(--shell-radius-sm,8px);align-items:center;padding:0 .5rem;text-decoration:none;display:inline-flex}.public-layout__footer a:hover{color:var(--shell-fg);background:var(--shell-card)}.public-layout__footer span{-webkit-user-select:none;user-select:none}.public-layout__main .legal-page{background:var(--shell-bg-elev,var(--shell-card));border:1px solid var(--shell-divider);border-radius:var(--shell-radius,12px);width:100%;max-width:70ch;padding:clamp(1.75rem,4vw,2.5rem);box-shadow:0 12px 40px #0000002e}.incident-map{border-radius:8px;width:100%;height:100%;min-height:60vh;position:relative;overflow:hidden}.incident-map--missing-token{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;justify-content:center;align-items:center;padding:2rem;display:flex}.incident-map--missing-token code{background:#fff;border-radius:3px;padding:.1em .3em;font-size:.9em}.incident-map__styles{z-index:1;background:#fffffff2;border-radius:4px;gap:2px;padding:2px;display:flex;position:absolute;top:.75rem;right:.75rem;box-shadow:0 1px 3px #0003}.incident-map__style-btn{font:inherit;cursor:pointer;color:#111;background:0 0;border:0;border-radius:3px;padding:.4rem .75rem;font-size:.8rem}.incident-map__style-btn:hover{background:#f3f4f6}.incident-map__style-btn.is-active{color:#fff;background:#1f2937}.incident-map__overlay-controls{z-index:1;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;top:3rem;right:.75rem}.incident-map__overlay-btn{font:inherit;cursor:pointer;color:#111;background:#fffffff2;border:1px solid #0000001a;border-radius:4px;padding:.4rem .75rem;font-size:.8rem;box-shadow:0 1px 3px #0003}.incident-map__overlay-btn:hover{background:#f3f4f6}.incident-map__overlay-btn.is-active{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.incident-map__overlay-btn:disabled{opacity:.7;cursor:progress}.incident-map__overlay-error{color:#991b1b;text-align:right;background:#fee2e2f2;border-radius:4px;max-width:18rem;padding:.3rem .6rem;font-size:.75rem}.incident-map__ir-timestamp{z-index:1;color:#1f2937;font-variant-numeric:tabular-nums;pointer-events:auto;background:#fffffff2;border:1px solid #fb923c99;border-radius:4px;align-items:center;gap:.4rem;padding:.3rem .6rem;font-size:.75rem;display:inline-flex;position:absolute;top:7.5rem;left:.625rem;box-shadow:0 1px 3px #0003}.incident-map__ir-timestamp-dot{background:#fb923c;border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;display:inline-block}.incident-map__redflag{z-index:2;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:.75rem;right:12rem}.incident-map__redflag-pill{color:#fff;font:inherit;letter-spacing:.05em;cursor:pointer;background:#dc2626;border:1px solid #991b1b;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .75rem;font-size:.78rem;font-weight:700;animation:2s ease-in-out infinite incident-map-redflag-pulse;display:inline-flex;box-shadow:0 2px 6px #0000004d}.incident-map__redflag-pill:hover,.incident-map__redflag-pill[aria-pressed=true]{background:#b91c1c}.incident-map__redflag-pill-dot{background:#fff;border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem}@keyframes incident-map-redflag-pulse{0%,to{box-shadow:0 2px 6px #dc262666}50%{box-shadow:0 2px 14px #dc2626d9}}.incident-map__redflag-popup{color:#1f2937;background:#fff;border:1px solid #fecaca;border-radius:6px;width:22rem;max-width:90vw;padding:.75rem .9rem;font-size:.8rem;box-shadow:0 4px 12px #00000040}.incident-map__redflag-popup h4{color:#991b1b;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .35rem;font-size:.85rem}.incident-map__redflag-headline{color:#1f2937;margin:0 0 .6rem;line-height:1.4}.incident-map__redflag-popup dl{font-variant-numeric:tabular-nums;grid-template-columns:max-content 1fr;gap:.2rem .6rem;margin:0 0 .6rem;display:grid}.incident-map__redflag-popup dt{color:#4b5563;font-weight:500}.incident-map__redflag-popup dd{color:#111;margin:0}.incident-map__redflag-popup-close{color:#1f2937;font:inherit;cursor:pointer;background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;padding:.3rem .7rem;font-size:.75rem}.incident-map__redflag-popup-close:hover{background:#e5e7eb}.incident-map__staging{color:#fff;cursor:pointer;background:#1f2937;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:14px;line-height:1;display:flex;box-shadow:0 1px 2px #0006}.incident-map__staging--command-post{background:#dc2626}.incident-map__staging--medical{background:#ef4444}.incident-map__staging--helibase,.incident-map__staging--helispot{background:#1d4ed8}.incident-map__staging--water-source{background:#0ea5e9}.incident-map__staging--drop-point{background:#f59e0b}.incident-map__staging--ics-area{background:#6b21a8}.incident-map__staging--supply{background:#4b5563}.incident-map__staging--lookout-tower{background:#0ea5e9}.incident-map__staging--structure-protection{background:#92400e}.incident-map__staging--work-center{background:#1f2937}.incident-map__safety-zone{color:#0e151c;letter-spacing:.05em;background:#fbbf24;border:2px solid #0e151c;border-radius:4px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 4px;font-size:10px;font-weight:800;display:inline-flex;box-shadow:0 1px 3px #00000080}.incident-map__safety-zone--black{color:#fff;background:#16a34a}.incident-map__safety-zone--compromised{color:#991b1b;background:#fee2e2;border-color:#dc2626}.incident-map__assignment{cursor:pointer;text-shadow:0 1px 1px #00000059;justify-content:center;align-items:center;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;font-weight:700;line-height:1;display:inline-flex;box-shadow:0 1px 3px #0000008c}.incident-map__assignment--circle{border-radius:50%}.incident-map__assignment--square{border-radius:2px}.incident-map__assignment--diamond{border-radius:2px;transform:rotate(45deg)}.incident-map__assignment--diamond>span{transform:rotate(-45deg)}.incident-map__assignment--triangle{clip-path:polygon(50% 0%,100% 100%,0% 100%);border-radius:0}.incident-map__assignment--star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.incident-map__popup{font-family:inherit}.incident-map__popup h4{margin:0 0 .5rem;font-size:.95rem}.incident-map__popup dl{grid-template-columns:auto 1fr;gap:2px 8px;margin:0;font-size:.85rem;display:grid}.incident-map__popup dt{color:#4b5563;font-weight:500}.incident-map__popup dd{margin:0}.incident-detail__header{margin-bottom:1rem}.incident-detail__title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.incident-detail__title-row h1{margin:0}.incident-detail__meta{color:#4b5563;align-items:center;gap:1rem;font-size:.9rem;display:flex}.incident-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.incident-status--active{color:#991b1b;background:#fee2e2}.incident-status--contained{color:#92400e;background:#fef3c7}.incident-status--controlled{color:#1e40af;background:#dbeafe}.incident-status--out{color:#065f46;background:#d1fae5}.incident-detail__layout{grid-template-columns:minmax(0,1fr) 280px;gap:1rem;height:calc(100vh - 200px);display:grid}@media (width<=768px){.incident-detail__layout{grid-template-columns:1fr;height:auto}}.incident-detail__map{height:100%;min-height:400px}.incident-detail__sidebar{padding-right:.5rem;overflow-y:auto}.incident-detail__sidebar h2{margin:.5rem 0;font-size:.95rem}.incident-detail__sidebar ul{margin:0;padding:0;font-size:.85rem;list-style:none}.incident-detail__sidebar li{border-bottom:1px solid #f3f4f6;padding:.4rem .5rem}.status-switcher{border:0;margin:0 0 1rem;padding:0}.status-switcher__legend{color:#4b5563;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem;font-size:.75rem}.status-switcher__grid{grid-template-columns:1fr 1fr;gap:6px;display:grid}.status-switcher__btn{cursor:pointer;text-align:left;font:inherit;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #d1d5db;border-radius:6px;flex-direction:column;padding:.6rem .5rem;display:flex}.status-switcher__btn input{opacity:0;pointer-events:none;position:absolute}.status-switcher__btn-label{pointer-events:none;font-size:.9rem;font-weight:600}.status-switcher__btn-sub{color:#4b5563;pointer-events:none;margin-top:2px;font-size:.7rem}.status-switcher__btn.is-active{color:#fff;border-color:#0000}.status-switcher__btn.is-active .status-switcher__btn-sub{color:#ffffffd9}.status-switcher__btn--ok.is-active{background:#16a34a}.status-switcher__btn--warn.is-active{color:#1f2937;background:#f59e0b}.status-switcher__btn--info.is-active{background:#0ea5e9}.status-switcher__btn--off.is-active{background:#6b7280}.status-switcher__btn--neutral.is-active{background:#1f2937}.status-switcher__btn--danger.is-active{background:#dc2626}.presence-pill{color:#fff;background:#6b7280;border:1px solid #0000;border-radius:999px;align-items:center;padding:.25rem .6rem;font-size:.8rem;font-weight:600;display:inline-flex}.presence-pill--assigned{background:#7280a0}.presence-pill--en-route{color:#1f2937;background:#f5b300}.presence-pill--on-scene{background:#16a34a}.presence-pill--rest{background:#0ea5e9}.presence-pill--off-shift{color:#1f2937;background:#9ca3af}.presence-pill--off-call{background:#6b7280}.incident-detail__need-pill{color:#991b1b;background:#fee2e2;border-radius:4px;margin-left:.25rem;padding:0 .4rem;font-size:.75rem;display:inline-block}.incident-detail__stale-pill{border-radius:4px;margin-left:.25rem;padding:0 .4rem;font-size:.75rem;display:inline-block}.incident-detail__stale-pill--amber{color:#92400e;background:#fef3c7}.incident-detail__stale-pill--red{color:#991b1b;background:#fee2e2}.checkin-banner{color:#1f2937;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .75rem;padding:.75rem 1rem;font-size:.9rem;display:flex}.checkin-banner__text{flex-direction:column;flex:auto;gap:.125rem;min-width:0;display:flex}.checkin-banner__text strong{font-size:.95rem}.checkin-banner__actions{flex-shrink:0;gap:.5rem;display:flex}.checkin-banner__confirm,.checkin-banner__snooze{min-height:44px;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:6px;padding:.5rem .875rem;font-weight:600}.checkin-banner__confirm{color:#fff;background:#16a34a;border:1px solid #15803d}.checkin-banner__snooze{color:#1f2937;background:#fff;border:1px solid #d1d5db}.battery-saver{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #d1d5db;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .7rem;font-size:.8rem;display:inline-flex}.battery-saver:hover{background:#f3f4f6}.battery-saver.is-on{color:#92400e;background:#fef3c7;border-color:#d97706;font-weight:600}.battery-saver.is-suggested:not(.is-on){border-style:dashed;border-color:#d97706}.battery-saver__level{color:#4b5563;font-size:.75rem}.proximity-join{max-width:28rem;font:inherit;margin:2rem auto;padding:1.5rem}.proximity-join h1{margin:0 0 .5rem;font-size:1.4rem}.proximity-join__hint{color:#4b5563;margin:0 0 1rem;font-size:.9rem}.proximity-join__form{flex-direction:column;gap:.75rem;display:flex}.proximity-join__form label{color:#374151;flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.proximity-join__form input,.proximity-join__form select{font:inherit;border:1px solid #d1d5db;border-radius:6px;padding:.65rem .75rem;font-size:1rem}.proximity-join__actions{gap:.5rem;margin-top:.5rem;display:flex}.proximity-join__actions button{font:inherit;cursor:pointer;border:1px solid #d1d5db;border-radius:8px;flex:1;padding:.85rem 1rem;font-size:1rem;font-weight:600}.proximity-join__actions button.primary{background:var(--shell-accent);color:var(--shell-accent-fg);border-color:var(--shell-accent)}.proximity-join__actions button.ghost{color:var(--shell-fg-dim);background:0 0}.incident-qr{max-width:64rem}.incident-qr__layout{grid-template-columns:1fr 1fr;gap:2rem;margin:1.5rem 0;display:grid}@media (width<=720px){.incident-qr__layout{grid-template-columns:1fr}}.incident-qr__panel{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.incident-qr__panel h2{margin:0 0 1rem;font-size:1.05rem}.incident-qr__code{justify-content:center;padding:1rem 0;display:flex}.incident-qr__form{text-align:left;flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.incident-qr__expiry{color:#4b5563;font-size:.85rem}.incident-qr__error{color:#b91c1c}.incident-qr__url code{word-break:break-all;font-size:.7rem}.incident-qr__footer{background:#fef3c7;border-radius:6px;padding:.75rem 1rem;font-size:.9rem}.dispatch-dashboard{max-width:80rem}.dispatch-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0 1.5rem;display:grid}@media (width<=768px){.dispatch-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.dispatch-stat{background:var(--shell-card);color:var(--shell-fg);border-radius:var(--shell-radius-sm,8px);border:1px solid var(--shell-divider);flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.dispatch-stat__label{text-transform:uppercase;letter-spacing:.06em;color:var(--shell-fg-dim);font-size:.7rem}.dispatch-stat__value{font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.dispatch-dashboard__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}@media (width<=768px){.dispatch-dashboard__columns{grid-template-columns:1fr}}.dispatch-list{margin:0 0 .5rem;padding:0;font-size:.9rem;list-style:none}.dispatch-list li{border-bottom:1px solid #f3f4f6;padding:.5rem 0}.dispatch-list__sub{color:#4b5563;margin-top:2px;font-size:.8rem}.dispatch-units{flex-direction:column;height:calc(100vh - 140px);display:flex}.dispatch-units__header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.5rem;display:flex}.dispatch-units__map{flex:1;min-height:400px}.dispatch-calls__row{cursor:pointer}.dispatch-calls__expand{font:inherit;cursor:pointer;color:inherit;text-align:left;background:0 0;border:0;padding:0}.dispatch-calls__expand:hover{text-decoration:underline}.dispatch-calls__detail-row td{background:#f8fafc;padding:1rem}.dispatch-calls__detail dl{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0 0 .75rem;font-size:.85rem;display:grid}.dispatch-calls__detail dt{color:#4b5563;font-weight:500}.dispatch-calls__detail dd{margin:0}.dispatch-calls__actions{border-top:1px solid #e5e7eb;align-items:center;gap:.75rem;padding-top:.5rem;display:flex}.dispatch-call-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.dispatch-call-status--assigned{color:#065f46;background:#d1fae5}.dispatch-call-status--unassigned{color:#991b1b;background:#fee2e2}.dispatch-agreements__form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:1rem 0 1.5rem;padding:1rem;display:flex}.dispatch-agreements__form label{color:#374151;flex-direction:column;flex:1;gap:.25rem;min-width:14rem;font-size:.8rem;display:flex}.dispatch-agreements__form input{font:inherit;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem}.dispatch-agreements__form button{color:#fff;cursor:pointer;font:inherit;background:#1f2937;border:1px solid #1f2937;border-radius:6px;padding:.6rem 1rem;font-weight:600}.dispatch-agreements__form button:disabled{opacity:.6;cursor:not-allowed}.dispatch-agreement-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.dispatch-agreement-status--active{color:#065f46;background:#d1fae5}.dispatch-agreement-status--suspended{color:#92400e;background:#fef3c7}.legal-page{color:#1f2937;max-width:45rem;margin:2rem auto;padding:0 1.5rem 3rem;font-size:1rem;line-height:1.65}.legal-page h1{margin:0 0 .5rem;font-size:1.6rem}.legal-page h2{color:#111827;margin:1.75rem 0 .5rem;font-size:1.1rem}.legal-page p{color:#374151;margin:0 0 .85rem}.legal-page a{color:#1d4ed8}.legal-page code{background:#f3f4f6;border-radius:3px;padding:.05em .3em;font-size:.9em}.legal-page__updated{color:#4b5563;margin:0 0 1.5rem;font-size:.85rem}.legal-footer{color:#4b5563;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.8rem;display:flex}.legal-footer a{color:#374151;text-decoration:none}.legal-footer a:hover{color:#1f2937;text-decoration:underline}.onboarding__choice{text-align:left;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex-direction:column;align-items:flex-start;gap:.25rem;padding:1rem 1.25rem;font-size:1rem;display:flex}.onboarding__choice:hover{background:#f9fafb;border-color:#1f2937}.onboarding__choice strong{color:#1f2937;font-size:1rem}.onboarding__choice span{color:#4b5563;font-size:.85rem}.onboarding__error{color:#b91c1c;margin:0;font-size:.85rem}.auth-page{max-width:28rem;color:var(--shell-fg);flex-direction:column;gap:1rem;margin:2rem auto;padding:1.5rem;display:flex}.auth-page h1{margin:0;font-size:1.5rem}.auth-page__hint{color:var(--shell-fg-dim,#8c97a3);margin:0}.auth-page__form{flex-direction:column;gap:1rem;display:flex}.auth-page__form label{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.auth-page__form input{border:1px solid var(--shell-divider-2,#2a3641);background:var(--shell-bg-elev,#0e151c);color:var(--shell-fg,#f5f1ea);border-radius:8px;padding:.5rem .75rem;font-size:1rem}.auth-page__form button.primary{background:var(--shell-accent,#ff6a1a);color:var(--shell-accent-fg,#fff);cursor:pointer;border:none;border-radius:10px;padding:.625rem 1rem;font-size:1rem;font-weight:600}.auth-page__form button.primary:disabled{opacity:.5;cursor:not-allowed}.auth-page__preview{color:var(--shell-fg-dim,#8c97a3);margin:0;font-size:.875rem}.auth-page__error{color:var(--shell-bad,#ff5252);margin:0}.auth-page__footer{margin:0;font-size:.875rem}.auth-page__prefill{background:var(--shell-card,#ffffff08);border:1px solid var(--shell-divider,#1f2a35);border-radius:10px;grid-template-columns:max-content 1fr;gap:.25rem 1rem;margin:0;padding:.75rem 1rem;display:grid}.auth-page__prefill dt{color:var(--shell-fg-dim,#8c97a3);font-weight:600}.auth-page__prefill dd{margin:0}.install-page__sent{border:1px solid var(--shell-accent,#ff6a1a);color:var(--shell-fg,#f5f1ea);background:#ff6a1a1f;border-radius:10px;margin:0;padding:.75rem 1rem}.install-page__steps{flex-direction:column;gap:.5rem;display:flex}.install-page__steps h2{margin:0;font-size:1.05rem}.install-page__steps ol{flex-direction:column;gap:.5rem;margin:0;padding-left:1.25rem;display:flex}.daily-contact-prompt__backdrop{z-index:1000;background:#080c10b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.daily-contact-prompt{background:var(--shell-card,#16222d);color:var(--shell-fg,#f5f1ea);border:1px solid var(--shell-divider,#1f2a35);border-radius:12px;flex-direction:column;gap:1rem;width:100%;max-width:28rem;padding:1.5rem;display:flex}.daily-contact-prompt h2{margin:0;font-size:1.25rem}.daily-contact-prompt p{margin:0}.daily-contact-prompt__form{flex-direction:column;gap:.75rem;display:flex}.daily-contact-prompt__form label{flex-direction:column;gap:.25rem;font-weight:600;display:flex}.daily-contact-prompt__form input{border:1px solid var(--shell-divider-2,#2a3641);background:var(--shell-bg-elev,#0e151c);color:var(--shell-fg,#f5f1ea);border-radius:8px;padding:.5rem .75rem;font-size:1rem}.daily-contact-prompt__hint{color:var(--shell-fg-dim,#8c97a3);font-size:.875rem}.daily-contact-prompt__error{color:var(--shell-bad,#ff5252);margin:0}.daily-contact-prompt__actions{justify-content:flex-end;gap:.5rem;display:flex}.daily-contact-prompt__actions button{cursor:pointer;border:1px solid var(--shell-divider-2,#2a3641);color:var(--shell-fg,#f5f1ea);background:0 0;border-radius:8px;padding:.5rem .875rem;font-size:.95rem}.daily-contact-prompt__actions button.primary{background:var(--shell-accent,#ff6a1a);color:var(--shell-accent-fg,#fff);border-color:var(--shell-accent,#ff6a1a);font-weight:600}.daily-contact-prompt__actions button.primary:disabled{opacity:.5;cursor:not-allowed}:root{--shell-bg:#0e151c;--shell-bg-elev:#16222d;--shell-fg:#f5f1ea;--shell-fg-dim:#8c97a3;--shell-accent:#ff6a1a;--shell-accent-hi:#ff8a4a;--shell-accent-fg:#fff;--shell-divider:#1f2a35;--shell-divider-2:#2a3641;--shell-warn:#f0a500;--shell-ok:#3acc78;--shell-bad:#ff5252;--shell-card:#16222d;--shell-card-elev:#1f2a35;--shell-focus:#ff8a4a;--shell-radius:12px;--shell-radius-sm:8px;--shell-tap:56px}@media (prefers-color-scheme:light){:root{--shell-bg:#fbf7f2;--shell-bg-elev:#fff;--shell-fg:#0a141d;--shell-fg-dim:#3d4d5c;--shell-divider:#e6dfd5;--shell-divider-2:#c9c0b3;--shell-card:#fff;--shell-card-elev:#f3ece2;--shell-accent-hi:#d8520b;--shell-focus:#ff6a1a;--shell-warn:#b45309;--shell-ok:#047857;--shell-bad:#b91c1c}}.app-shell{background:var(--shell-bg);min-height:100dvh;color:var(--shell-fg);padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.app-shell__header{border-bottom:1px solid var(--shell-divider);background:var(--shell-bg);z-index:10;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.app-shell__brand{letter-spacing:.02em;color:var(--shell-fg);font-size:1.125rem;font-weight:700;text-decoration:none}.app-shell__brand:focus-visible{outline:2px solid var(--shell-accent);outline-offset:2px}.app-shell__header-right{align-items:center;gap:.5rem;display:flex}.app-shell__role-switch{background:var(--shell-card);border:1px solid var(--shell-divider);border-radius:8px;display:inline-flex;overflow:hidden}.app-shell__role-switch button{color:var(--shell-fg-dim);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;min-height:40px;padding:.5rem .75rem;font-size:.8125rem;font-weight:600}.app-shell__role-switch button[aria-pressed=true]{background:var(--shell-accent);color:var(--shell-accent-fg)}.app-shell__role-switch button:focus-visible{outline:2px solid var(--shell-accent);outline-offset:-2px}.app-shell__main{padding-bottom:calc(76px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;flex:auto;overflow-y:auto}.app-shell__content{padding:1rem}.app-shell__bottom-nav{background:var(--shell-bg);border-top:2px solid var(--shell-divider);padding-bottom:env(safe-area-inset-bottom);z-index:20;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.app-shell__bottom-nav a{min-height:64px;color:var(--shell-fg-dim);letter-spacing:.02em;-webkit-tap-highlight-color:#dc26264d;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:.75rem;font-weight:600;text-decoration:none;display:flex}.app-shell__bottom-nav a[aria-current=page]{color:var(--shell-fg);background:var(--shell-card);box-shadow:inset 0 3px 0 var(--shell-accent)}.app-shell__bottom-nav a:focus-visible{outline:2px solid var(--shell-accent);outline-offset:-2px}.app-shell__bottom-nav svg{stroke:currentColor;stroke-width:2px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.app-shell__icon-label{white-space:nowrap}@media (width<=340px){.app-shell__icon-label{display:none}}.app-stub{text-align:center;min-height:50vh;color:var(--shell-fg);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.app-stub h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.app-stub p{color:var(--shell-fg-dim);max-width:28ch;line-height:1.5}.app-stub__cta{background:var(--shell-accent);min-height:48px;color:var(--shell-accent-fg);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;margin-top:1.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.app-stub__cta:focus-visible{outline:3px solid var(--shell-fg);outline-offset:2px}.settings-hub{color:var(--shell-fg)}.settings-hub h1{margin:0 0 1rem;font-size:1.5rem}.settings-hub__tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.settings-hub__tile{background:var(--shell-card);border:1px solid var(--shell-divider);min-height:72px;color:var(--shell-fg);border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;text-decoration:none;transition:border-color .1s;display:flex}.settings-hub__tile:hover,.settings-hub__tile:focus-visible{border-color:var(--shell-accent);outline:none}.settings-hub__tile-label{font-size:1rem;font-weight:700}.settings-hub__tile-desc{color:var(--shell-fg-dim);font-size:.8125rem}.messages-stub{color:var(--shell-fg)}.messages-stub h1{margin:0 0 .5rem;font-size:1.5rem}.messages-stub__lede{color:var(--shell-fg-dim);margin:0 0 1rem}.messages-stub__cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:.75rem;display:grid}.messages-stub__card{background:var(--shell-card);border:1px solid var(--shell-divider);min-height:80px;color:var(--shell-fg);border-radius:8px;flex-direction:column;gap:.25rem;padding:1rem;text-decoration:none;display:flex}.messages-stub__card strong{font-size:1rem}.messages-stub__card span{color:var(--shell-fg-dim);font-size:.8125rem}.messages-stub__card--soon{opacity:.55;cursor:not-allowed}.status-page{color:var(--shell-fg);flex-direction:column;gap:1.25rem;display:flex}.status-page h1{margin:0;font-size:1.5rem}.status-page__legend{letter-spacing:.06em;text-transform:uppercase;color:var(--shell-fg-dim);margin-bottom:.5rem;font-size:.75rem;display:block}.status-page__shift{border:0;margin:0;padding:0}.status-page__shift-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.status-card{background:var(--shell-card);border:2px solid var(--shell-divider);cursor:pointer;-webkit-tap-highlight-color:#dc26264d;border-radius:10px;flex-direction:column;gap:.25rem;min-height:72px;padding:.875rem 1rem;display:flex}.status-card input{opacity:0;pointer-events:none;position:absolute}.status-card__label{font-size:1.0625rem;font-weight:700}.status-card__sub{color:var(--shell-fg-dim);font-size:.8125rem}.status-card.is-active{background:var(--shell-accent);border-color:var(--shell-fg);color:var(--shell-accent-fg);box-shadow:0 0 0 3px #ffffff26}.status-card.is-active .status-card__sub{color:#ffffffd9}.status-card:focus-within{outline:3px solid var(--shell-accent);outline-offset:2px}.status-page__row{background:var(--shell-card);border:1px solid var(--shell-divider);border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;min-height:56px;padding:.75rem 1rem;display:flex}.status-page__row-label{font-size:1rem;font-weight:700}.status-page__gps{font-variant-numeric:tabular-nums;color:var(--shell-fg);font-weight:600}.status-page__gps.is-stale{color:var(--shell-accent);letter-spacing:.02em;font-weight:800}.status-page__incident{flex-direction:column;display:flex}.status-page__incident-tile{background:var(--shell-accent);min-height:80px;color:var(--shell-accent-fg);border-radius:10px;flex-direction:column;gap:.25rem;padding:1rem;font-size:1rem;text-decoration:none;display:flex}.status-page__incident-tile strong{font-size:1.125rem}.status-page__incident-empty{background:var(--shell-card);border:1px solid var(--shell-divider);color:var(--shell-fg-dim);border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.status-page__hint{color:var(--shell-fg-dim);font-size:.875rem}.status-page__hint-link{color:var(--shell-fg);font-weight:600;text-decoration:underline}.status-page__signout{margin-top:.5rem}.status-page__signout-btn{width:100%;min-height:56px;color:var(--shell-fg);border:2px solid var(--shell-divider);cursor:pointer;background:0 0;border-radius:10px;padding:1rem;font-size:1rem;font-weight:700}.status-page__signout-btn:focus-visible{outline:3px solid var(--shell-accent);outline-offset:2px}.messages{color:var(--shell-fg);flex-direction:column;flex:auto;gap:1rem;min-height:0;display:flex}.messages__title{margin:0;font-size:1.5rem}.messages__hint{color:var(--shell-fg-dim);margin:0;font-size:.875rem}.messages__hint-link{color:var(--shell-fg);font-weight:600;text-decoration:underline}.messages__empty{background:var(--shell-card);border:1px solid var(--shell-divider);color:var(--shell-fg-dim);border-radius:10px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.messages__thread{background:var(--shell-card);border:1px solid var(--shell-divider);scrollbar-gutter:stable;border-radius:10px;flex:auto;min-height:12rem;max-height:60vh;padding:.75rem;overflow-y:auto}.messages__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.messages__row{background:var(--shell-bg);border:1px solid var(--shell-divider);border-radius:8px;padding:.625rem .75rem}.messages__row-head{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.25rem;display:flex}.messages__sender{color:var(--shell-fg);font-size:.875rem;font-weight:700}.messages__time{color:var(--shell-fg-dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}.messages__body{color:var(--shell-fg);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:1rem;line-height:1.4}.messages__composer{background:var(--shell-card);border:1px solid var(--shell-divider);border-radius:10px;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.messages__input{background:var(--shell-bg);width:100%;min-height:3rem;color:var(--shell-fg);border:2px solid var(--shell-divider);font:inherit;resize:vertical;border-radius:8px;padding:.75rem;font-size:1rem}.messages__input:focus-visible{outline:3px solid var(--shell-accent);outline-offset:1px;border-color:var(--shell-accent)}.messages__composer-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.messages__send{background:var(--shell-accent);min-height:44px;color:var(--shell-accent-fg);cursor:pointer;border:0;border-radius:8px;padding:.625rem 1.25rem;font-size:1rem;font-weight:700}.messages__send:disabled{opacity:.5;cursor:not-allowed}.messages__send:focus-visible{outline:3px solid var(--shell-fg);outline-offset:2px}.messages__error{color:var(--shell-accent);font-size:.875rem;font-weight:700}.messages__roadmap{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.messages__roadmap-title{text-transform:uppercase;letter-spacing:.06em;color:var(--shell-fg-dim);margin:0;font-size:.875rem}.messages__roadmap-note{color:var(--shell-fg-dim);margin:0;font-size:.8125rem}.messages__cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:.5rem;display:grid}.messages__card{background:var(--shell-card);border:1px solid var(--shell-divider);min-height:80px;color:var(--shell-fg);border-radius:8px;flex-direction:column;gap:.25rem;padding:.875rem;text-decoration:none;display:flex;position:relative}.messages__card strong{font-size:.9375rem}.messages__card span{color:var(--shell-fg-dim);font-size:.8125rem}.messages__card--soon{opacity:.55;cursor:not-allowed}.messages__badge{text-transform:uppercase;letter-spacing:.04em;background:var(--shell-divider);border-radius:999px;padding:.125rem .5rem;position:absolute;top:.375rem;right:.5rem;color:var(--shell-fg)!important;font-size:.6875rem!important}.messages__sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.aircraft-view{color:#e6ebf2;background:#0e151c;flex-direction:column;height:100dvh;display:flex}.aircraft-view__header{background:#0e151c;border-bottom:1px solid #233040;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.aircraft-view__header h1{margin:0;font-size:1.05rem;font-weight:600}.aircraft-view__back{color:#9aaec5;font-size:.95rem;text-decoration:none}.aircraft-view__back:hover{color:#ff6a1a}.aircraft-view__layout{flex:1;grid-template-columns:minmax(280px,360px) 1fr;min-height:0;display:grid}.aircraft-view__sidebar{border-right:1px solid #233040;padding:1rem;overflow-y:auto}.aircraft-view__sidebar h2{color:#9aaec5;text-transform:uppercase;letter-spacing:.04em;margin:1.25rem 0 .5rem;font-size:.95rem;font-weight:600}.aircraft-view__sidebar h2:first-of-type{margin-top:0}.aircraft-view__alert{color:#fee2e2;background:#4c0519;border:1px solid #dc2626;border-radius:6px;margin-bottom:1rem;padding:.75rem .85rem;font-size:.9rem}.aircraft-view__alert strong{color:#fff;margin-bottom:.25rem;display:block}.aircraft-view__alert p{margin:0}.aircraft-view__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.aircraft-view__item{background:#1a2330;border-radius:6px;align-items:flex-start;gap:.6rem;padding:.5rem .7rem;display:flex}.aircraft-view__item span[aria-hidden]{flex-shrink:0;font-size:1.1rem;line-height:1}.aircraft-view__item strong{font-size:.95rem}.aircraft-view__item small{color:#9aaec5;margin-top:.15rem;font-size:.8rem;display:block}.aircraft-view__item--conflict{background:#4c0519;border-left:3px solid #dc2626}.aircraft-view__item--clear{border-left:3px solid #0ea5e9}.aircraft-view__item--pending{border-left:3px solid #f59e0b}.aircraft-view__swatch{border:1px solid;border-radius:3px;width:14px;height:14px;margin-top:4px}.aircraft-view__conflicts{color:#fca5a5;margin:.4rem 0 0;padding:0;font-size:.85rem;list-style:none}.aircraft-view__conflicts li:before{content:"⚠ "}.aircraft-view__empty{color:#6b7e96;margin:0;font-size:.9rem;font-style:italic}.aircraft-view__map{min-height:300px;position:relative}.aircraft-view__map>div{width:100%;height:100%}.aircraft-view__marker{text-shadow:0 0 4px #000000e6,0 0 8px #0009;cursor:default;font-size:1.5rem;line-height:1}@media (width<=720px){.aircraft-view__layout{grid-template-rows:50vh 1fr;grid-template-columns:1fr}.aircraft-view__sidebar{border-top:1px solid #233040;border-right:0;order:2}.aircraft-view__map{order:1}}
