.voice-open{white-space:nowrap;min-height:36px;padding:7px 12px}.voice-panel{box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;border:1px solid var(--stroke,#505354);border-radius:16px;background:var(--surface,#1c2226);color:var(--text,#f4f3eb);overflow:auto}.voice-panel::backdrop{background:#0008}.voice-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.voice-panel h2,.voice-panel h3,.voice-panel p{margin:0}.voice-panel h2{font-size:1.25rem}.voice-panel h3{font-size:1rem}.voice-panel label{display:flex;gap:8px;align-items:center}.voice-panel select{width:100%;min-width:0;margin:8px 0}.voice-panel button{min-height:40px;white-space:normal}.voice-panel .voice-ptt{width:100%;min-height:58px;margin:10px 0;touch-action:none;user-select:none;background:#e6c550;color:#161616;font-weight:700;border:2px solid transparent}.voice-panel .voice-ptt[aria-pressed=true]{background:#bd3944;color:#fff;border-color:#f7a7ad}.voice-panel .voice-ptt:disabled{opacity:.45}.voice-actions{display:flex;gap:8px;flex-wrap:wrap}.voice-status{margin:10px 0!important;font-size:.9rem;line-height:1.35;min-height:1.3em}.voice-speakers{font-size:.9rem;line-height:1.4;min-height:1.4em}.voice-atc{border-top:1px solid var(--stroke,#505354);margin-top:14px;padding-top:12px;display:grid;gap:8px}.voice-atc audio{width:100%;max-width:100%;height:38px}.voice-panel details{margin-top:12px}.voice-panel small{font-size:.8rem;line-height:1.35}.voice-admin{display:grid;gap:10px;margin-top:10px}.voice-admin input:not([type=checkbox]),.voice-admin select{width:100%;box-sizing:border-box}.voice-admin select[multiple]{min-height:100px}.voice-admin fieldset{border:1px solid var(--stroke,#505354);border-radius:8px;max-height:150px;overflow:auto;padding:10px}.voice-admin fieldset label{margin:5px 0}.voice-panel [hidden]{display:none!important}html[data-theme=light] .voice-panel{background:#fff;color:#202528}@media(max-height:450px){.voice-panel{padding:12px;width:min(560px,calc(100vw - 20px))}.voice-panel .voice-ptt{min-height:42px;margin:6px 0}.voice-panel header{margin-bottom:6px}}

/* Keep voice controls compact within the existing workspace header. */
.voice-tools{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap;grid-column:1;grid-row:2}
html[data-theme] .workspace-header .voice-tools #workspace-find{margin:0}
html[data-theme] body .voice-panel label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;font-size:.9rem;line-height:1.3}
html[data-theme] body .voice-panel input[type=checkbox]{width:18px;height:18px;min-width:18px;min-height:18px;margin:0;padding:0;flex:0 0 18px}
html[data-theme] body .voice-panel .voice-ptt{background:#e6c550!important;color:#161616!important;border:2px solid transparent;min-height:50px;margin:10px 0}
html[data-theme] body .voice-panel .voice-ptt[aria-pressed=true]{background:#bd3944!important;color:#fff!important;border-color:#f7a7ad}
.voice-speakers:empty{display:none}
@media(max-width:900px){.voice-tools{grid-column:1/3;grid-row:2}.voice-tools button{font-size:12px;padding:7px 9px}}
@media(max-height:450px){html[data-theme] body .voice-panel .voice-ptt{min-height:40px;margin:6px 0}.voice-panel details{margin-top:8px}}

.live-viewer .uas-wall-toolbar .voice-open{flex-shrink:0}
@media(max-width:620px){.live-viewer .uas-wall-toolbar .voice-open{max-width:74px;font-size:11px!important;padding:5px!important;white-space:normal;line-height:1.1}.live-viewer .uas-wall-toolbar .compact-viewer-brand{display:none}}

/* ===== BEGIN SLFD visual redesign (presentation only; not voice behavior). Source: ui-redesign.css. Move to its own file once gateway.cjs serves it. ===== */
/* SLFD UAS Manager · approved visual redesign (presentation only).
   Loaded last on the workspace and the live viewer. It changes colors, type,
   spacing and layout of existing elements. It does not change IDs, data
   attributes, routes, timers, fetches, thresholds or event wiring.
   Later phase (separate approval): retire the superseded layered sheets so
   these rules no longer need !important. */

/* ---------- 1. Tokens ---------- */
html[data-theme]{
  --rd-font:Inter,"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  --rd-mono:ui-monospace,"SF Mono","Cascadia Mono",Consolas,monospace;
  --rd-r-sm:8px;--rd-r-md:12px;--rd-r-lg:14px;
  --rd-ctl:38px;--rd-touch:44px;
  --rd-toolbar:56px;--rd-wx-depth:25px;
}
html[data-theme=dark]{
  --rd-bg:#0A0C0F;--rd-s1:#11151A;--rd-s2:#161B21;--rd-s3:#1D232A;--rd-s4:#262D36;
  --rd-line:rgba(170,186,204,.13);--rd-line2:rgba(170,186,204,.24);
  --rd-hi:inset 0 1px 0 rgba(255,255,255,.04);
  --rd-t1:#EEF1F4;--rd-t2:#B4BCC6;--rd-t3:#8F9AA7;
  --rd-accent:#F5B942;--rd-accent-ink:#14110A;--rd-accent-soft:rgba(245,185,66,.13);--rd-accent-line:rgba(245,185,66,.45);--rd-accent-text:#F7C963;
  --rd-ok:#3FD68F;--rd-ok-soft:rgba(63,214,143,.13);
  --rd-warn:#FF9F45;--rd-warn-soft:rgba(255,159,69,.14);
  --rd-bad:#FF6B6B;--rd-bad-soft:rgba(255,107,107,.14);--rd-bad-fill:#D93636;
  --rd-info:#5CC8FF;--rd-info-soft:rgba(92,200,255,.12);
  --rd-unk:#94A0AE;--rd-unk-soft:rgba(148,160,174,.12);
  --rd-glass:rgba(14,18,23,.80);--rd-glass-line:rgba(190,205,220,.16);
  --rd-shadow:0 8px 28px rgba(0,0,0,.42);
  --rd-focus:#F5B942;--rd-focus-halo:rgba(10,12,15,.9);
  /* existing app tokens, re-pointed */
  --page:var(--rd-bg);--surface:var(--rd-s2);--surface-soft:var(--rd-s3);--surface-raised:var(--rd-s4);
  --stroke:#2A323B;--text:var(--rd-t1);--text-muted:var(--rd-t2);
  --accent:var(--rd-accent);--accent-soft:#2E2715;--accent-text:var(--rd-accent-text);
  --brand:var(--rd-accent);--blue-dark:#C9922A;
  --good-bg:#12291F;--good-text:#8FE6BB;--warn-bg:#33240F;--warn-text:#FFC58A;
  --bad-bg:#3A1A1C;--bad-text:#FFB3B3;--info-bg:#2E2715;--info-text:#F7C963;
  --glass:var(--rd-glass);--glass-edge:var(--rd-glass-line);
  --shadow-soft:none;--surface-shadow:none;--nav-shadow:none;
}
html[data-theme=light]{
  --rd-bg:#F3F4F1;--rd-s1:#FBFBF9;--rd-s2:#FFFFFF;--rd-s3:#ECEEEA;--rd-s4:#E2E5E0;
  --rd-line:rgba(30,40,50,.12);--rd-line2:rgba(30,40,50,.24);
  --rd-hi:inset 0 1px 0 rgba(255,255,255,.8);
  --rd-t1:#14181D;--rd-t2:#46505C;--rd-t3:#5F6A77;
  --rd-accent:#8A5A00;--rd-accent-ink:#1A1405;--rd-accent-soft:rgba(240,180,58,.18);--rd-accent-line:rgba(160,110,0,.45);--rd-accent-text:#7A4F00;
  --rd-ok:#11734A;--rd-ok-soft:rgba(17,115,74,.10);
  --rd-warn:#A8520A;--rd-warn-soft:rgba(168,82,10,.10);
  --rd-bad:#C42B2B;--rd-bad-soft:rgba(196,43,43,.09);--rd-bad-fill:#C42B2B;
  --rd-info:#0A6A9E;--rd-info-soft:rgba(10,106,158,.09);
  --rd-unk:#5B6673;--rd-unk-soft:rgba(91,102,115,.10);
  --rd-glass:rgba(251,251,249,.86);--rd-glass-line:rgba(30,40,50,.14);
  --rd-shadow:0 8px 24px rgba(20,24,29,.12);
  --rd-focus:#8A5A00;--rd-focus-halo:#FFFFFF;
  --page:var(--rd-bg);--surface:var(--rd-s2);--surface-soft:var(--rd-s3);--surface-raised:var(--rd-s4);
  --stroke:#D6DAD4;--text:var(--rd-t1);--text-muted:var(--rd-t2);
  --accent:var(--rd-accent);--accent-soft:#FBEFD2;--accent-text:var(--rd-accent-text);
  --brand:#8A5A00;--blue-dark:#6E4800;
  --good-bg:#E4F3EB;--good-text:#0D5C3B;--warn-bg:#FBEBDC;--warn-text:#7F3E07;
  --bad-bg:#FBE6E6;--bad-text:#9E2222;--info-bg:#FBEFD2;--info-text:#6E4800;
  --glass:var(--rd-glass);--glass-edge:var(--rd-glass-line);
  --shadow-soft:none;--surface-shadow:none;--nav-shadow:none;
}

/* ---------- 2. Base ---------- */
html[data-theme] body{font-family:var(--rd-font)!important;background:var(--rd-bg)!important;color:var(--rd-t1);-webkit-font-smoothing:antialiased;line-height:1.42}
html[data-theme] body :is(h1,h2,h3){letter-spacing:-.01em}
html[data-theme] body :focus-visible{outline:2px solid var(--rd-focus)!important;outline-offset:2px!important;box-shadow:0 0 0 5px var(--rd-focus-halo)!important}
html[data-theme] body :is(small,.muted,.breadcrumb,.wx-sources){color:var(--rd-t3)}
html[data-theme] body .eyebrow{font-size:11px!important;font-weight:650!important;letter-spacing:.09em!important;text-transform:uppercase;color:var(--rd-t3)!important}
html[data-theme] body :is(.num,.value-updated,.weather-temp){font-variant-numeric:tabular-nums}

/* Buttons: gold for the primary action, neutral for the rest, red only for alerts. */
html[data-theme] body :is(button,.button,a.button,summary.button){border-radius:var(--rd-r-sm)!important;font-weight:600}
html[data-theme] body :is(button,.button):not(.primary):not(.voice-ptt):not(.leaflet-control *):not(.uas-source):not(.rd-tab):not([class*=cardinal]){background:var(--rd-s3)!important;border:1px solid var(--rd-line2)!important;color:var(--rd-t1)!important;box-shadow:var(--rd-hi)!important}
html[data-theme] body :is(button,.button):not(.primary):not(.voice-ptt):not(.leaflet-control *):not(.uas-source):not(.rd-tab):hover{background:var(--rd-s4)!important}
html[data-theme] body :is(button.primary,.button.primary,a.button.primary){background:var(--rd-accent)!important;border-color:var(--rd-accent)!important;color:var(--rd-accent-ink)!important;box-shadow:none!important}
html[data-theme=light] body :is(button.primary,.button.primary,a.button.primary){background:#F0B43A!important;border-color:#D79A1E!important;color:#1A1405!important}
html[data-theme] body :is(button.primary,.button.primary):hover{filter:brightness(1.06)}
html[data-theme] body :is(button,.button).delete-action,html[data-theme] body button[data-danger]{color:var(--rd-bad)!important;border-color:color-mix(in srgb,var(--rd-bad) 45%,transparent)!important;background:var(--rd-bad-soft)!important}
html[data-theme] body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){background:var(--rd-s1)!important;border:1px solid var(--rd-line2)!important;border-radius:var(--rd-r-sm)!important;color:var(--rd-t1)!important}
html[data-theme] body :is(input,select,textarea):focus-visible{border-color:var(--rd-accent)!important}
html[data-theme] body a:not(.button):not(.nav-primary-link):not(.nav-group-links a):not(.operation-metric):not(.leaflet-control-zoom a){color:var(--rd-accent-text)}

/* Cards: one surface, one border, no heavy shadows. */
html[data-theme] body :is(.card,.operation-metric,.overview-flight-card,.map-card,.message-rail,.message-thread,.wx-day-card,.forecast-slot){background:var(--rd-s2)!important;border:1px solid var(--rd-line)!important;box-shadow:var(--rd-hi)!important;border-radius:var(--rd-r-lg)!important}
html[data-theme] body :is(.wx-day-card,.forecast-slot){border-radius:var(--rd-r-md)!important;background:var(--rd-s1)!important}
html[data-theme] body details > summary{cursor:pointer}

/* ---------- 3. Shell: sidebar ---------- */
@media (min-width:851px){
  html[data-theme] body #workspace-sidebar.sidebar{top:0!important;left:0!important;bottom:0!important;height:100vh!important;width:248px!important;border-radius:0!important;border:0!important;border-right:1px solid var(--rd-line)!important;background:var(--rd-s1)!important;box-shadow:none!important;padding:14px 10px 12px!important}
  html[data-theme] body .program-main{margin-left:248px!important}
}
html[data-theme] body #workspace-sidebar .program-brand{padding:4px 8px 14px!important;margin:0 0 6px!important;min-height:0!important;border-bottom:1px solid var(--rd-line);gap:10px!important}
html[data-theme] body #workspace-sidebar .program-brand .department-logo{width:36px!important;height:36px!important}
html[data-theme] body #workspace-sidebar .program-brand strong{font-size:16px!important;letter-spacing:.02em}
html[data-theme] body #workspace-sidebar .program-brand small{font-size:10.5px!important;letter-spacing:.14em!important;color:var(--rd-t3)!important}
html[data-theme] body #workspace-sidebar nav{gap:2px!important;overflow-y:auto;scrollbar-width:thin}
html[data-theme] body #workspace-sidebar :is(.nav-primary-link,.nav-group > summary){min-height:38px!important;height:auto!important;padding:8px 10px!important;border-radius:var(--rd-r-sm)!important;border:1px solid transparent!important;background:transparent!important;color:var(--rd-t2)!important;font-size:13.5px!important;font-weight:550!important;box-shadow:none!important;gap:10px!important;white-space:nowrap!important;line-height:1.25!important}
html[data-theme] body #workspace-sidebar :is(.nav-primary-link,.nav-group > summary) svg{width:18px!important;height:18px!important;color:var(--rd-t3)}
html[data-theme] body #workspace-sidebar :is(.nav-primary-link,.nav-group > summary):hover{background:var(--rd-s3)!important;color:var(--rd-t1)!important}
html[data-theme] body #workspace-sidebar .nav-group{margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
html[data-theme] body #workspace-sidebar .nav-group-links{padding:2px 0 6px 18px!important;margin:0 0 0 18px!important;border-left:1px solid var(--rd-line)!important;gap:1px!important}
html[data-theme] body #workspace-sidebar .nav-group-links a{min-height:34px!important;padding:7px 10px!important;border-radius:var(--rd-r-sm)!important;color:var(--rd-t2)!important;font-size:13.5px!important;font-weight:500!important;background:transparent!important;border:0!important}
html[data-theme] body #workspace-sidebar .nav-group-links a:hover{background:var(--rd-s3)!important;color:var(--rd-t1)!important}
html[data-theme] body #workspace-sidebar [aria-current=page]{background:var(--rd-accent-soft)!important;color:var(--rd-t1)!important;box-shadow:inset 3px 0 0 var(--rd-accent)!important;border-color:transparent!important}
html[data-theme] body #workspace-sidebar [aria-current=page] svg{color:var(--rd-accent)!important}
html[data-theme] body #workspace-sidebar .sidebar-bottom{border-top:1px solid var(--rd-line)!important;padding-top:10px!important;gap:8px!important}
html[data-theme] body #workspace-sidebar .video-link{min-height:38px!important;padding:8px 12px!important;border-radius:var(--rd-r-sm)!important;background:var(--rd-s3)!important;border:1px solid var(--rd-line2)!important;color:var(--rd-t1)!important;box-shadow:none!important}
html[data-theme] body #workspace-sidebar .sidebar-bottom p{font-size:11.5px!important;line-height:1.35!important;color:var(--rd-t3)!important;margin:0!important;padding:0 4px!important}

/* ---------- 4. Shell: one-row toolbar ---------- */
html[data-theme] body .workspace-header{position:sticky!important;top:0!important;z-index:30!important;display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:10px!important;height:var(--rd-toolbar)!important;min-height:0!important;padding:0 20px!important;background:color-mix(in srgb,var(--rd-bg) 88%,transparent)!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:0!important;border-bottom:1px solid var(--rd-line)!important;box-shadow:none!important;border-radius:0!important}
html[data-theme] body .workspace-header > *{flex:0 0 auto!important}
html[data-theme] body .workspace-header > .workspace-heading{flex:1 1 auto!important;min-width:0!important;margin-right:auto!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:0!important}
html[data-theme] body .workspace-heading .breadcrumb{font-size:11px!important;line-height:1.2!important;margin:0!important;color:var(--rd-t3)!important}
html[data-theme] body .workspace-heading h1{font-size:18px!important;line-height:1.25!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme] body .workspace-header .voice-tools{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;width:auto!important;height:auto!important;order:1}
html[data-theme] body .workspace-header :is(button,.appearance-control select){min-height:var(--rd-ctl)!important;height:var(--rd-ctl)!important;padding:0 12px!important;font-size:13px!important;white-space:nowrap}
html[data-theme] body #workspace-find{min-width:220px;justify-content:flex-start!important;gap:8px!important;color:var(--rd-t3)!important;font-weight:500!important}
html[data-theme] body #workspace-find .finder-shortcut{margin-left:auto!important;font:600 11px/1 var(--rd-mono)!important;padding:3px 6px!important;border:1px solid var(--rd-line2);border-radius:5px;color:var(--rd-t3)!important;background:transparent!important}
html[data-theme] body #workspace-location{order:2}
html[data-theme] body .workspace-header .appearance-control{order:3;height:var(--rd-ctl)!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;position:relative}
html[data-theme] body .workspace-header .appearance-control .appearance-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--rd-t2)}
html[data-theme] body .workspace-header .appearance-control select{padding-left:28px!important;width:104px!important}
html[data-theme] body .workspace-header .account{order:4;display:flex!important;align-items:center!important;gap:8px!important;flex:0 1 auto!important;min-width:0!important;padding-left:10px!important;border-left:1px solid var(--rd-line)!important}
html[data-theme] body .workspace-header .account-dot{width:30px!important;height:30px!important;flex:none}
html[data-theme] body #profile-shortcut{display:flex!important;flex-direction:column!important;min-width:0!important;max-width:190px!important;line-height:1.2!important;text-decoration:none!important}
html[data-theme] body #profile-shortcut #identity{font-size:12.5px!important;font-weight:600!important;color:var(--rd-t1)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;height:auto!important}
html[data-theme] body #profile-shortcut .profile-shortcut-label{font-size:11.5px!important;color:var(--rd-accent-text)!important;height:auto!important}
html[data-theme] body #content{padding:20px 24px 28px!important;color:var(--rd-t1)!important}

/* Mid widths: the toolbar keeps one row by dropping labels, never wrapping. */
@media (max-width:1250px){
  html[data-theme] body #workspace-find{min-width:0}
  html[data-theme] body #workspace-find .finder-shortcut{display:none!important}
  html[data-theme] body #profile-shortcut{max-width:140px!important}
}
@media (max-width:1100px){
  html[data-theme] body .workspace-header :is(#workspace-find,#workspace-location,#voice-open,#signout){font-size:0!important;gap:0!important;padding:0!important;width:var(--rd-ctl)!important;min-width:var(--rd-ctl)!important;justify-content:center!important}
  html[data-theme] body .workspace-header :is(#workspace-find,#voice-open,#workspace-location,#signout)>*:not(svg){display:none!important}
  html[data-theme] body #workspace-find svg{width:18px!important;height:18px!important}
  html[data-theme] body :is(#voice-open,#workspace-location,#signout)::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:var(--rd-ico) center/contain no-repeat;mask:var(--rd-ico) center/contain no-repeat}
  html[data-theme] body #voice-open{--rd-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3'/%3E%3C/svg%3E")}
  html[data-theme] body #workspace-location{--rd-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 5-8 12-8 12s-8-7-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
  html[data-theme] body #signout{--rd-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpath d='m16 17 5-5-5-5'/%3E%3Cpath d='M21 12H9'/%3E%3C/svg%3E")}
  html[data-theme] body .workspace-header .appearance-control select{width:var(--rd-ctl)!important;padding:0!important;color:transparent!important;text-indent:-999px;cursor:pointer}
  html[data-theme] body .workspace-header .appearance-control .appearance-icon{left:50%;transform:translate(-50%,-50%)}
  html[data-theme] body #profile-shortcut #identity{display:none!important}
}
@media (min-width:851px) and (max-width:1100px){
  html[data-theme] body #workspace-sidebar.sidebar{width:208px!important}
  html[data-theme] body .program-main{margin-left:208px!important}
}

/* ---------- 5. Phone: compact bar + bottom tabs ---------- */
.rd-tabbar{display:none}
@media (max-width:850px){
  html[data-theme] body .workspace-header{height:52px!important;padding:0 10px!important;gap:6px!important;display:flex!important;grid-template-columns:none!important}
  html[data-theme] body #workspace-menu{order:-1;font-size:0!important;gap:0!important;justify-content:center!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important}
  html[data-theme] body .workspace-heading .breadcrumb{display:none!important}
  html[data-theme] body .workspace-heading h1{font-size:17px!important}
  html[data-theme] body .workspace-header :is(#workspace-find,#workspace-location,#voice-open,#signout,.appearance-control select){width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
  html[data-theme] body .workspace-header .appearance-control{width:40px!important}
  html[data-theme] body .workspace-header .account{padding-left:6px!important;gap:6px!important;border-left:0!important}
  html[data-theme] body .workspace-header .account-dot{display:none!important}
  html[data-theme] body #profile-shortcut{width:40px;height:40px;max-width:40px!important;align-items:center;justify-content:center;border-radius:50%;background:var(--rd-s3);border:1px solid var(--rd-line2);overflow:hidden}
  html[data-theme] body #profile-shortcut .profile-shortcut-label{display:block!important;font-size:0!important;width:18px!important;height:18px!important;flex:none;background:currentColor;color:var(--rd-t1)!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E") center/contain no-repeat}
  html[data-theme] body #content{padding:12px 12px 20px!important}
  html[data-theme] body .workspace-header > *,html[data-theme] body .workspace-header .voice-tools > *{margin:0!important}
  html[data-theme] body .workspace-header .appearance-control select{-webkit-appearance:none;appearance:none;background-image:none!important}
  html[data-theme] body #workspace-sidebar.sidebar{background:var(--rd-s1)!important;border-right:1px solid var(--rd-line)!important;border-radius:0!important}
}
@media (max-width:850px) and (min-height:521px){
  html[data-theme] body .workspace-header #workspace-menu{display:none!important}
  html[data-theme] body:not(.workspace-nav-open) .rd-tabbar:not([hidden]){display:grid;position:fixed;left:0;right:0;bottom:0;z-index:40;grid-auto-flow:column;grid-auto-columns:1fr;height:calc(60px + env(safe-area-inset-bottom,0px));padding:0 4px env(safe-area-inset-bottom,0px);background:color-mix(in srgb,var(--rd-s1) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--rd-line)}
  html[data-theme] body #workspace:not([hidden]) .program-main{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}
  html[data-theme] body .rd-tab[hidden]{display:none!important}
  html[data-theme] body .rd-tab:not([hidden]){display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-height:52px!important;height:auto!important;margin:4px 0!important;padding:0!important;border:0!important;border-radius:var(--rd-r-md)!important;background:transparent!important;box-shadow:none!important;color:var(--rd-t3)!important;font:600 11px/1.1 var(--rd-font)!important;text-decoration:none!important}
  html[data-theme] body .rd-tab svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  html[data-theme] body .rd-tab[aria-current=page]{color:var(--rd-accent-text)!important}
  html[data-theme] body .rd-tab[aria-current=page] svg{stroke:var(--rd-accent)}
  html[data-theme] body .rd-tab[aria-current=page]::after{content:"";position:absolute;margin-top:-44px;width:24px;height:3px;border-radius:0 0 3px 3px;background:var(--rd-accent)}
}
@media (orientation:landscape) and (max-height:520px){
  html[data-theme] body .workspace-header{height:44px!important}
  html[data-theme] body .workspace-header :is(button,#profile-shortcut,.appearance-control select){height:36px!important;min-height:36px!important;width:36px!important;min-width:36px!important}
  html[data-theme] body .workspace-heading h1{font-size:15px!important}
  html[data-theme] body #content{padding:8px 12px 16px!important}
}

/* ---------- 6. Overview ---------- */
html[data-theme] body .operation-metrics{gap:12px!important;margin-bottom:14px!important}
html[data-theme] body .operation-metric{min-height:0!important;height:auto!important;padding:14px 16px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;grid-template-rows:auto auto auto;column-gap:12px!important;row-gap:1px!important;align-items:center}
html[data-theme] body .operation-metric > :is(strong,span,small){grid-column:2!important}
html[data-theme] body .operation-metric > svg{grid-column:1!important;grid-row:1 / span 3;width:38px!important;height:38px!important;padding:9px;border-radius:10px;background:var(--rd-s3);border:1px solid var(--rd-line);color:var(--rd-t2)}
html[data-theme] body .operation-metric strong{font-size:22px!important;line-height:1.15!important;letter-spacing:-.01em;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme] body .operation-metric span{font-size:13px!important;font-weight:600!important;color:var(--rd-t1)!important}
html[data-theme] body .operation-metric small{grid-column:2!important;font-size:12px!important;color:var(--rd-t3)!important;line-height:1.3!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html[data-theme] body .overview-flight-card{padding:16px 20px!important;border-left:3px solid var(--rd-accent)!important}
html[data-theme] body .overview-flight-card h3{font-size:18px!important}
html[data-theme] body .command-steps li{position:relative;padding-top:10px!important;font-size:13px!important;color:var(--rd-t2)!important;border-top:3px solid var(--rd-s4)!important}
html[data-theme] body .command-steps li span{font:600 11px/1 var(--rd-mono)!important;color:var(--rd-t3)!important;background:transparent!important;border:0!important;width:auto!important;height:auto!important}
html[data-theme] body .overview-flight-actions :is(button,summary){min-height:var(--rd-ctl)!important;padding:0 14px!important}
html[data-theme] body .overview-more-body{background:var(--rd-s2)!important;border:1px solid var(--rd-line2)!important;border-radius:var(--rd-r-md)!important;box-shadow:var(--rd-shadow)!important}
html[data-theme] body .overview-map-card .section-title{margin-bottom:8px!important}
html[data-theme] body #overview-site-caption{font-family:var(--rd-mono);font-size:12px!important;color:var(--rd-t3)!important}
html[data-theme] body :is(#overview-location-map,#planning-map,#preflight-map){border-radius:var(--rd-r-md)!important;border:1px solid var(--rd-line)!important;overflow:hidden}
html[data-theme] body .fleet-readiness-ring{--rd-ring:var(--rd-ok)}
html[data-theme] body .overview-asset{background:var(--rd-s1)!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-r-md)!important;box-shadow:none!important}
html[data-theme] body .overview-asset > a{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
html[data-theme] body :is(.aircraft-reference img,.asset-card img,.aircraft-card img){background:radial-gradient(120% 90% at 50% 40%,var(--rd-s3),var(--rd-s1))!important;border-radius:var(--rd-r-sm)}
html[data-theme] body .record-status-badge{border-radius:999px!important;font-size:11.5px!important;font-weight:650!important;padding:2px 9px!important}

@media (max-width:600px){
  html[data-theme] body .operation-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  html[data-theme] body .operation-metric{grid-template-columns:minmax(0,1fr)!important;padding:12px!important}
  html[data-theme] body .operation-metric > svg{display:none!important}
  html[data-theme] body .operation-metric > :is(strong,span,small){grid-column:1!important}
  html[data-theme] body .operation-metric strong{font-size:20px!important}
}

/* ---------- 7. Weather: status edge, dial, forecast rows ---------- */
html[data-theme] body :is(.flight-weather-banner,.overview-condition){position:relative;isolation:isolate;border-radius:var(--rd-r-lg)!important;border:1px solid var(--rd-line2)!important;background:var(--rd-s2)!important;box-shadow:none!important;--rd-wx:var(--rd-unk)}
html[data-theme] body :is(.flight-weather-banner,.overview-condition)::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:linear-gradient(90deg,color-mix(in srgb,var(--rd-wx) var(--rd-wx-a,28%),transparent),transparent var(--rd-wx-depth)),linear-gradient(270deg,color-mix(in srgb,var(--rd-wx) var(--rd-wx-a,28%),transparent),transparent var(--rd-wx-depth)),linear-gradient(180deg,color-mix(in srgb,var(--rd-wx) var(--rd-wx-a,28%),transparent),transparent var(--rd-wx-depth)),linear-gradient(0deg,color-mix(in srgb,var(--rd-wx) var(--rd-wx-a,28%),transparent),transparent var(--rd-wx-depth))}
html[data-theme] body :is(.flight-weather-banner,.overview-condition):is(.safe,.unsafe,.caution,.unknown,.stale,.marginal,.advisory){background:var(--rd-s2)!important;color:var(--rd-t1)!important;box-shadow:none!important;border-width:1px!important}
html[data-theme] body :is(.flight-weather-banner,.overview-condition).safe{--rd-wx:var(--rd-ok);border-color:color-mix(in srgb,var(--rd-ok) 55%,transparent)!important}
html[data-theme] body :is(.flight-weather-banner,.overview-condition):is(.caution,.marginal,.advisory){--rd-wx:var(--rd-warn);border-color:color-mix(in srgb,var(--rd-warn) 55%,transparent)!important}
html[data-theme] body :is(.flight-weather-banner,.overview-condition):is(.unsafe,.danger,.exceeded,.no-go){--rd-wx:var(--rd-bad);border-color:color-mix(in srgb,var(--rd-bad) 55%,transparent)!important}
html[data-theme] body :is(.flight-weather-banner,.overview-condition):is(.unknown,.stale){--rd-wx:var(--rd-unk);--rd-wx-a:16%;border-style:dashed!important}
html[data-theme] body .flight-weather-banner{display:grid!important;grid-template-columns:minmax(150px,auto) minmax(0,1fr)!important;column-gap:20px!important;row-gap:2px!important;align-items:start!important;padding:16px 20px!important;min-height:0!important}
html[data-theme] body .flight-weather-banner .weather-verdict-heading{grid-row:1 / span 3;display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;width:auto!important;overflow:visible!important}
html[data-theme] body .flight-weather-banner .weather-verdict-heading strong{font-size:20px!important;line-height:1.2!important;white-space:nowrap!important;color:var(--rd-wx)!important}
html[data-theme=light] body .flight-weather-banner .weather-verdict-heading strong{filter:saturate(1.1) brightness(.85)}
html[data-theme] body .flight-weather-banner .weather-verdict-heading small{font-size:12px!important;color:var(--rd-t3)!important;text-transform:none!important}
html[data-theme] body .flight-weather-banner > :is(span,small,details){grid-column:2!important;min-width:0}
html[data-theme] body .flight-weather-banner > span{font-weight:600;color:var(--rd-t1)!important}

/* Current conditions */
html[data-theme] body .current-weather-top{align-items:center!important;gap:16px!important;padding-bottom:22px!important}
html[data-theme] body .weather-temp{font-size:46px!important;font-weight:650!important;letter-spacing:-.03em!important;line-height:1!important}
html[data-theme] body .current-weather-facts{gap:0!important;border-top:1px solid var(--rd-line)}
html[data-theme] body .current-weather-facts > div{background:transparent!important;border:0!important;border-radius:0!important;padding:10px 4px!important;box-shadow:none!important}
html[data-theme] body .current-weather-facts dt{font-size:12px!important;color:var(--rd-t3)!important;font-weight:500!important}
html[data-theme] body .current-weather-facts dd{font-size:16px!important;font-weight:650!important;color:var(--rd-t1)!important;margin:2px 0 0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme] body :is(.current-connection,.weather-updated){font-size:12px!important;color:var(--rd-t3)!important}

/* Hourly slots */
html[data-theme] body .next-four{gap:8px!important}
html[data-theme] body .forecast-slot{padding:10px 12px!important;min-width:0!important}
html[data-theme] body .forecast-slot small{font:600 12px/1.2 var(--rd-font)!important;color:var(--rd-t2)!important}
html[data-theme] body .forecast-slot strong{font-size:20px!important;letter-spacing:-.01em}
html[data-theme] body .forecast-slot > span:not(.weather-rain-meter){font-size:12px!important;color:var(--rd-t2)!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important}
html[data-theme] body .weather-rain-meter{height:3px!important;border-radius:2px!important;background:var(--rd-s4)!important;overflow:hidden}

/* 7-day: rows instead of 66 px cards. */
html[data-theme] body .wx-daily-grid{display:flex!important;flex-direction:column!important;gap:0!important;overflow:visible!important}
html[data-theme] body .wx-daily-grid .wx-day-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"day temp" "cond cond" "rain wind" "more more";align-items:center!important;column-gap:12px!important;row-gap:4px!important;width:auto!important;min-width:0!important;min-height:0!important;padding:8px 4px!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--rd-line)!important;border-radius:0!important;box-shadow:none!important}
html[data-theme] body .wx-daily-grid .wx-day-card:last-child{border-bottom:0!important}
html[data-theme] body .wx-day-card > *{min-width:0!important;width:auto!important;margin:0!important;text-align:left!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
html[data-theme] body .wx-day-card .wx-day-heading{grid-area:day;display:flex!important;align-items:center!important;gap:6px!important;font-weight:650;white-space:nowrap}
html[data-theme] body .wx-day-card .wx-day-heading :is(svg,img){width:20px!important;height:20px!important;position:static!important}
html[data-theme] body .wx-day-card .wx-day-condition{grid-area:cond;font-size:12px!important;color:var(--rd-t3)!important;white-space:normal;overflow-wrap:anywhere!important}
html[data-theme] body .wx-day-card > b{grid-area:temp;font-size:15px!important;font-variant-numeric:tabular-nums;white-space:nowrap}
html[data-theme] body .wx-day-card > span:not(.wx-day-condition):nth-of-type(2){grid-area:rain}
html[data-theme] body .wx-day-card > span:not(.wx-day-condition):nth-of-type(3){grid-area:wind}
html[data-theme] body .wx-day-card > span:not(.wx-day-condition){font-size:12.5px!important;color:var(--rd-t2)!important;line-height:1.4!important;white-space:normal;overflow-wrap:anywhere!important}
html[data-theme] body .wx-day-card > details{grid-area:more;justify-self:stretch;width:100%!important;position:static!important;min-width:0!important}.wx-day-card > details > summary{text-align:right!important;min-height:28px!important}.wx-day-card > details[open] > small{display:block;position:static!important;margin-top:8px!important;padding:10px;background:var(--rd-s3);border-radius:6px;white-space:normal;overflow-wrap:anywhere!important}
html[data-theme] body .wx-day-card > details > summary{font-size:12px!important;color:var(--rd-accent-text)!important}
@media (max-width:600px){
  html[data-theme] body .wx-daily-grid .wx-day-card{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"day temp" "cond cond" "rain rain" "wind wind" "more more"!important;row-gap:2px!important}
  html[data-theme] body .wx-day-card > b{justify-self:end;text-align:right!important}
}
html[data-theme] body .wx-tabs{gap:4px!important;padding:4px!important;background:var(--rd-s1)!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-r-md)!important;overflow-x:auto;scrollbar-width:none}
html[data-theme] body .wx-tabs button{min-height:36px!important;flex:1 0 auto;background:transparent!important;border-color:transparent!important;box-shadow:none!important;color:var(--rd-t2)!important}
html[data-theme] body .wx-tabs button:is([aria-selected=true],[aria-pressed=true],.active,[aria-current]){background:var(--rd-s3)!important;border-color:var(--rd-line2)!important;color:var(--rd-t1)!important;box-shadow:inset 0 -2px 0 var(--rd-accent)!important}
html[data-theme] body .wx-table{font-variant-numeric:tabular-nums}
html[data-theme] body .wx-table :is(th,td){border-color:var(--rd-line)!important}
html[data-theme] body .wx-table thead th{background:var(--rd-s1)!important;color:var(--rd-t3)!important;font-size:11.5px!important;text-transform:uppercase;letter-spacing:.06em}

/* ---------- 8. Airspace & traffic ---------- */
html[data-theme] body .laanc-access{gap:8px!important;margin-bottom:10px!important}
html[data-theme] body .laanc-access > a.button.primary{background:var(--rd-s3)!important;border:1px solid var(--rd-line2)!important;color:var(--rd-t1)!important}
html[data-theme] body .planning-map-header{min-height:0!important;padding:10px 14px!important;border-bottom:1px solid var(--rd-line)!important}
html[data-theme] body .planning-map-actions{padding:8px 14px!important}
html[data-theme] body .map-locations{gap:6px!important;flex-wrap:wrap}
html[data-theme] body .map-locations button{min-height:32px!important;height:32px!important;padding:0 12px!important;border-radius:999px!important;font-size:12.5px!important}
html[data-theme] body .map-locations button[aria-pressed=true]{background:var(--rd-accent-soft)!important;border-color:var(--rd-accent-line)!important;color:var(--rd-t1)!important}
html[data-theme] body .aircraft-alert-panel{padding:8px 14px!important;gap:6px!important;background:transparent!important;border:0!important}
html[data-theme] body .aircraft-alert{border-radius:var(--rd-r-sm)!important;padding:8px 12px!important;font-size:13px!important;background:var(--rd-s2)!important;color:var(--rd-t1)!important;border:1px solid var(--rd-line2)!important}
html[data-theme] body .aircraft-alert[data-level=warning]{background:var(--rd-bad-soft)!important;border-color:var(--rd-bad)!important;color:var(--rd-bad)!important}
html[data-theme] body .aircraft-alert[data-level=unknown]{background:var(--rd-unk-soft)!important;border-color:var(--rd-unk)!important;color:var(--rd-t2)!important}
html[data-theme] body .aircraft-legend{min-height:0!important;gap:14px!important;font-size:12px!important}
html[data-theme] body .aircraft-legend span{font-size:12px!important;color:var(--rd-t2)!important}
html[data-theme] body .aircraft-reference{font-size:11.5px!important;color:var(--rd-t3)!important}
html[data-theme] body .planning-map-stage{height:min(68vh,720px)!important;min-height:420px!important}
html[data-theme] body .planning-map-stage #planning-map{height:100%!important;border-radius:0!important;border:0!important;border-top:1px solid var(--rd-line)!important;border-bottom:1px solid var(--rd-line)!important}
html[data-theme] body :is(.map-layers-menu,.map-utility-menu) > summary{background:var(--rd-glass)!important;border:1px solid var(--rd-glass-line)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:var(--rd-shadow)!important;color:var(--rd-t1)!important;border-radius:var(--rd-r-sm)!important}
html[data-theme] body :is(.map-layers-menu,.map-utility-menu)[open] > :not(summary){background:var(--rd-s2)!important;border:1px solid var(--rd-line2)!important;border-radius:var(--rd-r-md)!important;box-shadow:var(--rd-shadow)!important}
html[data-theme] body .map-selection-row,html[data-theme] body #plan-traffic-status{padding-inline:14px!important;font-size:12.5px!important;color:var(--rd-t2)!important}
html[data-theme] body .map-footer{font-size:11px!important;color:var(--rd-t3)!important;padding-inline:14px!important}
html[data-theme] body .map-footer a{color:var(--rd-t2)!important}
html[data-theme] body .leaflet-bar{border:1px solid var(--rd-glass-line)!important;border-radius:var(--rd-r-sm)!important;box-shadow:var(--rd-shadow)!important;overflow:hidden}
html[data-theme] body .leaflet-bar :is(a,button){background:var(--rd-glass)!important;color:var(--rd-t1)!important;border-color:var(--rd-glass-line)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
html[data-theme] body .leaflet-bar :is(a,button):hover{background:var(--rd-s3)!important}
html[data-theme] body .leaflet-control-attribution{background:var(--rd-glass)!important;color:var(--rd-t2)!important;border-radius:6px 0 0 0;font-size:10.5px!important}
html[data-theme] body .leaflet-control-attribution a{color:var(--rd-t1)!important}
html[data-theme] body .leaflet-container{background:var(--rd-s1)!important;font-family:var(--rd-font)!important}
html[data-theme] body .leaflet-tooltip{background:var(--rd-glass)!important;color:var(--rd-t1)!important;border:1px solid var(--rd-glass-line)!important;border-radius:6px!important;box-shadow:var(--rd-shadow)!important;font:600 11px/1.3 var(--rd-mono)!important}
html[data-theme] body .leaflet-tooltip::before{display:none}
html[data-theme] body .leaflet-popup-content-wrapper,html[data-theme] body .leaflet-popup-tip{background:var(--rd-s2)!important;color:var(--rd-t1)!important;border:1px solid var(--rd-line2);box-shadow:var(--rd-shadow)!important}
html[data-theme] body .mission-area-tools{background:var(--rd-glass)!important;border:1px solid var(--rd-glass-line)!important;border-radius:var(--rd-r-md)!important;box-shadow:var(--rd-shadow)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--rd-t1)!important}
html[data-theme] body .mission-area-tools small{color:var(--rd-t2)!important;font-size:11.5px!important}
html[data-theme] body .mission-area-tools button{min-height:34px!important;height:34px!important;background:var(--rd-s3)!important;color:var(--rd-t1)!important;border:1px solid var(--rd-line2)!important}
html[data-theme] body .leaflet-control-scale-line{background:var(--rd-glass)!important;color:var(--rd-t1)!important;border-color:var(--rd-t2)!important;font:600 10.5px/1.3 var(--rd-mono)!important;text-shadow:none!important}
html[data-theme] body .planning-context .card{padding:14px 16px!important}
html[data-theme] body .planning-context .card h3{font-size:14px!important;margin-bottom:6px!important}
@media (orientation:landscape) and (max-height:520px){
  html[data-theme] body .planning-map-stage{height:calc(100vh - 60px)!important;min-height:280px!important}
  /* Keep launch references available on short screens; compact them rather than hiding controls. */
  html[data-theme] body .laanc-access{gap:6px!important;margin-bottom:6px!important;flex-wrap:wrap}
  html[data-theme] body details.cow-guide{margin-block:6px!important}
  html[data-theme] body .aircraft-alert-panel .aircraft-legend{gap:6px!important;flex-wrap:wrap}
  html[data-theme] body .aircraft-alert-panel .aircraft-reference{margin-block:4px!important}
}

/* ---------- 9. Messages ---------- */
html[data-theme] body .messages-workspace{gap:0!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-r-lg)!important;overflow:hidden;background:var(--rd-s2)!important;min-height:min(72vh,760px)}
html[data-theme] body .messages-workspace :is(.message-rail,.message-thread){border:0!important;border-radius:0!important;box-shadow:none!important}
html[data-theme] body .message-rail{background:var(--rd-s1)!important;border-right:1px solid var(--rd-line)!important}
html[data-theme] body .message-thread-heading{border-bottom:1px solid var(--rd-line)!important;min-height:60px!important;padding:12px 20px!important}
html[data-theme] body .message-empty{color:var(--rd-t2)!important;font-size:13.5px!important}
html[data-theme] body .conversation-list :is(button,a){background:transparent!important;border:1px solid transparent!important;box-shadow:none!important;text-align:left;border-radius:var(--rd-r-md)!important}
html[data-theme] body .conversation-list :is(button,a):hover{background:var(--rd-s3)!important}
html[data-theme] body .conversation-list :is([aria-current],[aria-selected=true],.active,.selected){background:var(--rd-accent-soft)!important;border-color:var(--rd-accent-line)!important}

/* ---------- 10. Audit fixes on other screens ---------- */
/* Media gallery and other empty states were at 1.43:1. */
html[data-theme] body :is(.empty,.empty-state,.library-empty,.message-empty,[class*=empty]){color:var(--rd-t2)!important}
/* Small map/meta labels below 4.5:1 in light theme. */
html[data-theme] body :is(.map-label,.ceiling-label,.map-legend small,.area-draft,.mission-area-status){font-size:max(11px,1em)}
html[data-theme=light] body :is(.map-label,.ceiling-label,.map-legend small,.area-draft,.mission-area-status){color:var(--rd-t2)!important}
/* Long names never push media out of line. */
html[data-theme] body :is(.asset-card,.aircraft-card,.overview-asset) :is(h3,h4,strong,a):first-of-type{overflow-wrap:anywhere}
/* Aircraft cards: two-line name clamp keeps photos and rows aligned; full name stays in the title text. */
html[data-theme] body .aircraft-record-card{background:var(--rd-s2)!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-r-lg)!important;box-shadow:var(--rd-hi)!important}
html[data-theme] body .aircraft-record-card > h3{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;min-height:2.5em;line-height:1.25!important;font-size:16px!important;overflow-wrap:normal!important;word-break:normal!important}
html[data-theme] body .aircraft-record-card .aircraft-reference img{height:150px!important;object-fit:contain!important}
html[data-theme] body .aircraft-record-card dl > div{border-color:var(--rd-line)!important}
html[data-theme] body .aircraft-record-card dt{color:var(--rd-t3)!important;font-size:12.5px!important}
/* Words never split mid-word. */
html[data-theme] body :is(.operation-metric,.forecast-slot,.wx-day-card,.uas-card header){word-break:normal!important;overflow-wrap:normal!important;hyphens:manual!important}

/* ---------- 11. Sign-in ---------- */
html[data-theme] body .login-card{background:var(--rd-s2)!important;border:1px solid var(--rd-line)!important;border-radius:16px!important;box-shadow:var(--rd-shadow)!important;padding:28px!important;position:relative}
html[data-theme] body .login-card h1{font-size:24px!important}
html[data-theme] body .login-card .appearance-control{position:absolute!important;top:14px!important;right:14px!important;margin:0!important}
html[data-theme] body .login-card label{font-size:13px!important;font-weight:600!important;color:var(--rd-t2)!important}

/* ---------- 12. Live video ---------- */
html[data-theme] body.live-viewer{background:var(--rd-bg)!important}
html[data-theme] body .uas-wall-toolbar{min-height:44px!important;padding:4px 6px!important;gap:6px!important;background:var(--rd-s1)!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-r-md)!important}
html[data-theme] body .uas-wall-toolbar :is(button,select){min-height:36px!important;height:36px!important;font-size:13px!important}
html[data-theme] body .uas-grid{gap:8px!important}
html[data-theme] body .uas-card{background:var(--rd-s1)!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-r-md)!important;box-shadow:none!important;overflow:hidden}
html[data-theme] body .uas-card > header{min-height:40px!important;padding:4px 6px 4px 12px!important;gap:8px!important;background:var(--rd-s2)!important;border-bottom:1px solid var(--rd-line)!important}
html[data-theme] body .uas-card > header h3{font-size:13.5px!important;font-weight:650!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html[data-theme] body .uas-card > header button{min-height:32px!important;height:32px!important;padding:0 10px!important;font-size:12px!important}
html[data-theme] body .uas-card > header > [data-uas-feed-status]{display:inline-flex!important;align-items:center;gap:6px;font-size:11.5px!important;font-weight:650!important;letter-spacing:.02em;padding:3px 8px!important;border-radius:999px!important;background:var(--rd-unk-soft)!important;color:var(--rd-t2)!important;border:1px solid var(--rd-line)!important;white-space:nowrap}
html[data-theme] body .uas-card > header > [data-uas-feed-status]::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--rd-unk)}
html[data-theme] body .uas-card[data-source-status=online]:not(.uas-stale) > header > [data-uas-feed-status]{background:var(--rd-ok-soft)!important;color:var(--rd-t1)!important;border-color:color-mix(in srgb,var(--rd-ok) 40%,transparent)!important}
html[data-theme] body .uas-card[data-source-status=online]:not(.uas-stale) > header > [data-uas-feed-status]::before{background:var(--rd-ok);box-shadow:0 0 0 3px var(--rd-ok-soft)}
html[data-theme] body .uas-card[data-source-status=offline] > header > [data-uas-feed-status]{background:var(--rd-bad-soft)!important;border-color:color-mix(in srgb,var(--rd-bad) 40%,transparent)!important}
html[data-theme] body .uas-card[data-source-status=offline] > header > [data-uas-feed-status]::before{background:var(--rd-bad)}
html[data-theme] body .uas-card[data-source-status=online].uas-stale > header > [data-uas-feed-status]::before{background:var(--rd-accent)}
html[data-theme] body .uas-video{background:#050607!important}
html[data-theme] body .uas-old-frame{background:rgba(5,6,7,.78)!important;color:#EEF1F4!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:6px!important;font-size:11.5px!important;font-weight:600!important;padding:4px 8px!important}
html[data-theme] body .command-sources{background:var(--rd-s1)!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-r-md)!important;box-shadow:none!important}
html[data-theme] body .uas-source{background:var(--rd-s2)!important;border:1px solid var(--rd-line)!important;border-radius:var(--rd-r-sm)!important;color:var(--rd-t1)!important;box-shadow:none!important;text-align:left}
html[data-theme] body .uas-source:hover{background:var(--rd-s3)!important}
html[data-theme] body .uas-source:is([aria-pressed=true],.active,.selected){border-color:var(--rd-accent-line)!important;background:var(--rd-accent-soft)!important}
html[data-theme] body .uas-source small{font:600 11px/1 var(--rd-mono)!important;color:var(--rd-t3)!important}

html[data-theme] body .topbar{background:var(--rd-s1)!important;border-bottom:1px solid var(--rd-line)!important;box-shadow:none!important}
html[data-theme] body :is(.viewer-menu-body,.compact-viewer-menu,.uas-feed-controls,dialog){background:var(--rd-s2)!important;color:var(--rd-t1)!important;border:1px solid var(--rd-line2)!important;border-radius:var(--rd-r-lg)!important;box-shadow:var(--rd-shadow)!important}
html[data-theme] body dialog::backdrop{background:rgba(5,7,10,.6);backdrop-filter:blur(2px)}

/* ---------- 13. Motion & transparency preferences ---------- */
@media (prefers-reduced-motion:reduce){
  html[data-theme] body *,html[data-theme] body *::before,html[data-theme] body *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}
@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){
  html[data-theme]{--rd-glass:var(--rd-s2)}
}

/* Preserve PTT state against both the earlier appearance layer and neutral controls. */
html[data-theme] body .voice-panel button.voice-ptt[aria-pressed]:is(:hover,:not(:hover)){background:#e6c550!important;color:#161616!important;border:2px solid transparent!important}
html[data-theme] body .voice-panel button.voice-ptt[aria-pressed=true]:is(:hover,:not(:hover)){background:#bd3944!important;color:#fff!important;border-color:#f7a7ad!important}
/* ===== END SLFD visual redesign ===== */
