﻿/*
 * FlightOps Operations Console Theme
 *
 * Purpose:
 * - Layer a dark, map-first visual system over the existing FlightOps shell.
 * - Preserve all current IDs, bindings, and realtime behavior.
 *
 * Does not:
 * - Change backend routes or data flow.
 * - Rename JavaScript-driven elements.
 * - Replace panel logic or panel ownership.
 */

html {
  overflow-x: clip;
}

:root {
  --fo-font-sans: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
  --fo-bp-sm: 960px;
  --fo-bp-md: 1180px;
  --fo-bp-lg: 1440px;
  --fo-bp-xl: 1680px;
  --fo-bp-2xl: 1920px;
  --fo-font-scale-min: 0.85;
  --fo-font-scale-max: 1;
  --fo-topbar-height-default: 64px;
  --fo-topbar-height-stacked: 118px;
  --auth-topbar-height: var(--fo-topbar-height-default);

  --fo-bg-page: #111214;
  --fo-bg-map: #111214;
  --fo-bg-topbar: linear-gradient(180deg, #1e2024, #191b1f);
  --fo-bg-overlay: rgba(17, 18, 20, 0.74);
  --fo-bg-surface: #191b1f;
  --fo-bg-surface-2: #1e2024;
  --fo-bg-surface-3: #24262b;
  --fo-bg-card: #1e2024;
  --fo-bg-card-soft: #24262b;
  --fo-bg-card-hover: #24262b;
  --fo-bg-input: #15171a;
  --fo-bg-elevated: #28292e;

  --fo-text-primary: #e8e4df;
  --fo-text-secondary: #9e9890;
  --fo-text-muted: #6b6660;
  --fo-text-strong: #f5f2ee;

  --fo-border-subtle: rgba(180, 170, 155, 0.12);
  --fo-border-medium: rgba(180, 170, 155, 0.20);
  --fo-border-strong: rgba(210, 170, 90, 0.34);

  --fo-accent: #d4a84a;
  --fo-accent-hover: #e0b85e;
  --fo-accent-soft: rgba(212, 168, 74, 0.10);
  --fo-success: #34b866;
  --fo-warning: #e8a832;
  --fo-danger: #e05454;

  --fo-shadow-1: 0 12px 30px rgba(0, 0, 0, 0.22);
  --fo-shadow-2: 0 22px 48px rgba(0, 0, 0, 0.34);

  --fo-radius-xs: 6px;
  --fo-radius-sm: 8px;
  --fo-radius-md: 12px;
  --fo-radius-lg: 16px;
  --fo-radius-pill: 999px;

  --fo-space-1: 4px;
  --fo-space-2: 8px;
  --fo-space-3: 12px;
  --fo-space-4: 16px;
  --fo-space-5: 20px;
  --fo-space-6: 24px;
  --fo-space-7: 32px;

  --fo-topbar-height: 64px;
  --fo-panel-width: 360px;
  --fo-panel-gap: 14px;
}

html,
body {
  background: var(--fo-bg-page);
  color: var(--fo-text-primary);
  font-family: var(--fo-font-sans);
  min-height: 100%;
}

body.flightops-ops-console {
  --mission-telemetry-shell-height: 0px;
  min-height: 100svh;
  background: linear-gradient(180deg, #111214 0%, #0f1012 100%);
  color: var(--fo-text-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.flightops-ops-console #map,
body.flightops-ops-console .leaflet-container {
  background:
    linear-gradient(180deg, rgba(7, 15, 26, 0.84), rgba(5, 10, 18, 0.84)),
    var(--fo-bg-map);
}

body.flightops-ops-console a {
  color: var(--fo-accent-hover);
}

body.flightops-ops-console button,
body.flightops-ops-console input,
body.flightops-ops-console select,
body.flightops-ops-console textarea {
  font-family: inherit;
}

body.flightops-ops-console button {
  border-radius: var(--fo-radius-pill);
  border: 1px solid var(--fo-border-subtle);
  background: linear-gradient(180deg, rgba(212, 168, 74, 0.18), rgba(184, 145, 46, 0.28));
  color: var(--fo-text-primary);
  box-shadow: none;
  transition:
    border-color 140ms ease,
    background-color 140ms ease,
    transform 140ms ease,
    opacity 140ms ease;
}

body.flightops-ops-console button:hover {
  background: linear-gradient(180deg, rgba(212, 168, 74, 0.28), rgba(184, 145, 46, 0.38));
  border-color: var(--fo-border-strong);
  transform: none;
}

body.flightops-ops-console button.secondary,
body.flightops-ops-console button.ghost,
body.flightops-ops-console .authUtilityBtn,
body.flightops-ops-console .topNavBtn,
body.flightops-ops-console .sectionToggle,
body.flightops-ops-console .sensorBlockToggle {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(180, 170, 155, 0.14);
  color: var(--fo-text-secondary);
}

body.flightops-ops-console button.secondary:hover,
body.flightops-ops-console button.ghost:hover,
body.flightops-ops-console .authUtilityBtn:hover,
body.flightops-ops-console .topNavBtn:hover,
body.flightops-ops-console .sectionToggle:hover,
body.flightops-ops-console .sensorBlockToggle:hover {
  color: var(--fo-text-primary);
  background: rgba(255, 255, 255, 0.08);
}

body.flightops-ops-console button:focus-visible,
body.flightops-ops-console input:focus-visible,
body.flightops-ops-console select:focus-visible,
body.flightops-ops-console textarea:focus-visible {
  outline: none;
  border-color: var(--fo-accent);
  box-shadow: 0 0 0 2px rgba(212, 168, 74, 0.25);
}

body.flightops-ops-console input[type="text"],
body.flightops-ops-console input[type="password"],
body.flightops-ops-console input[type="email"],
body.flightops-ops-console input[type="number"],
body.flightops-ops-console input[type="file"],
body.flightops-ops-console select,
body.flightops-ops-console textarea {
  background: var(--fo-bg-input);
  border: 1px solid rgba(180, 170, 155, 0.18);
  border-radius: var(--fo-radius-sm);
  color: var(--fo-text-primary);
}

body.flightops-ops-console input[type="range"] {
  accent-color: var(--fo-accent);
}

body.flightops-ops-console .phase1Check {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(180, 170, 155, 0.18);
  border-radius: var(--fo-radius-sm);
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .phase1Check input {
  accent-color: var(--fo-accent);
}

body.flightops-ops-console .label {
  color: var(--fo-text-muted);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body.flightops-ops-console .value,
body.flightops-ops-console .name {
  color: var(--fo-text-primary);
}

body.flightops-ops-console .sub,
body.flightops-ops-console .error,
body.flightops-ops-console .phase1SaveStatus,
body.flightops-ops-console .authGateHint,
body.flightops-ops-console .authGatePasswordStatus {
  color: var(--fo-text-muted);
}

body.flightops-ops-console .error,
body.flightops-ops-console .phase1SaveStatus.error,
body.flightops-ops-console .authGatePasswordStatus.error {
  color: #ff8d8d;
}

body.flightops-ops-console .badge {
  min-width: 30px;
  border-radius: var(--fo-radius-pill);
  background: rgba(58, 130, 247, 0.14);
  color: #a8ccff;
}

body.flightops-ops-console .pill {
  border-radius: var(--fo-radius-pill);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 10px;
  letter-spacing: 0.08em;
}

body.flightops-ops-console .pill.ok,
body.flightops-ops-console .pill.empty {
  background: rgba(34, 197, 94, 0.14);
  color: #86efac;
}

body.flightops-ops-console .pill.stale {
  background: rgba(245, 158, 11, 0.14);
  color: #fcd34d;
}

body.flightops-ops-console .pill.disabled,
body.flightops-ops-console .pill.offline {
  background: rgba(239, 68, 68, 0.14);
  color: #fca5a5;
}

body.flightops-ops-console .pill.idle {
  background: rgba(148, 163, 184, 0.14);
  color: #cbd5e1;
}

body.flightops-ops-console #authTopbar {
  height: var(--fo-topbar-height);
  padding: 0 18px;
  gap: 18px;
  background:
    linear-gradient(180deg, rgba(16, 29, 48, 0.98), rgba(9, 18, 31, 0.98));
  border-bottom: 1px solid rgba(121, 149, 187, 0.18);
  box-shadow: var(--fo-shadow-1);
  backdrop-filter: none;
}

body.flightops-ops-console .authTopbarTitle {
  gap: 14px;
}

body.flightops-ops-console .topoLegendControl {
  margin-top: 70px;
  margin-right: 10px;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(12, 18, 28, 0.22);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.22);
  color: #0f1723;
}

body.flightops-ops-console .topoLegendShell {
  min-width: 92px;
}

body.flightops-ops-console .topoLegendTitle {
  padding: 8px 10px 6px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(15, 23, 35, 0.72);
  background: rgba(255, 255, 255, 0.96);
}

body.flightops-ops-console .topoLegendScale {
  display: flex;
  flex-direction: column;
}

body.flightops-ops-console .topoLegendStep {
  min-height: 28px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  font-size: 10px;
  font-weight: 800;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.22);
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

body.flightops-ops-console .topoLegendMeta {
  padding: 7px 10px 8px;
  font-size: 10px;
  font-weight: 600;
  color: rgba(15, 23, 35, 0.68);
  background: rgba(255, 255, 255, 0.96);
}

body.flightops-ops-console .authTopbarMenuBtn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

body.flightops-ops-console .authTopbarMenuBtn span {
  width: 18px;
  height: 2px;
}

body.flightops-ops-console .authTopbarTitleText {
  position: relative;
  gap: 3px;
}

body.flightops-ops-console .authTopbarTitleText strong {
  color: var(--fo-text-strong);
  font-size: 15px;
  letter-spacing: 0.01em;
}

body.flightops-ops-console .authTopbarSubtitle {
  color: var(--fo-text-muted);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

body.flightops-ops-console .releaseVersionBadge {
  color: #c8d9ee;
  text-shadow: 0 1px 2px rgba(3, 10, 18, 0.72);
}

body.flightops-ops-console #topNav {
  justify-content: center;
  gap: 10px;
  flex-wrap: nowrap;
}

body.flightops-ops-console .topNavBtn {
  min-height: 38px;
  padding: 0 15px;
  border-radius: var(--fo-radius-pill);
  background: rgba(255, 255, 255, 0.04);
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .topNavBtn.active {
  background: linear-gradient(180deg, var(--fo-accent-hover), var(--fo-accent));
  border-color: rgba(130, 176, 255, 0.58);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

/* Keep active/open command states visually obvious even under the broader theme button rules. */
body.flightops-ops-console button.topNavBtn.active,
body.flightops-ops-console button.authUtilityBtn.active,
body.flightops-ops-console button.authAccountMenuBtn.active,
body.flightops-ops-console .authAccountMenuBtn.open {
  background: linear-gradient(180deg, var(--fo-accent-hover), var(--fo-accent));
  border-color: rgba(130, 176, 255, 0.58);
  color: #fff;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.12),
    0 0 0 1px rgba(58, 130, 247, 0.18);
}

body.flightops-ops-console .authTopbarRight,
body.flightops-ops-console .authTopSignedIn {
  gap: 10px;
}

body.flightops-ops-console #authTopSignedIn {
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: 0;
  overflow: visible;
}

body.flightops-ops-console .authUtilityBtn {
  min-width: 40px;
  min-height: 40px;
  padding: 0 12px;
  font-size: 13px;
}

body.flightops-ops-console .authQuickLogoutBtn {
  min-height: 40px;
  padding: 0 14px;
  font-size: 12px;
}

body.flightops-ops-console .authAccountMenuBtn {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  column-gap: 10px;
  row-gap: 1px;
  align-items: center;
  min-width: 122px;
  min-height: 40px;
  padding: 7px 10px 7px 11px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}

body.flightops-ops-console .authAccountMenuBtn::after {
  content: "";
  grid-column: 2;
  grid-row: 1 / span 2;
  justify-self: end;
  align-self: center;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  margin-left: 10px;
  opacity: 0.78;
}

body.flightops-ops-console .authAccountName {
  grid-column: 1;
  grid-row: 1;
  max-width: 84px;
  font-size: 11px;
  line-height: 1.05;
  color: var(--fo-text-primary);
}

body.flightops-ops-console .authAccountRole {
  grid-column: 1;
  grid-row: 2;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--fo-text-muted);
}

body.flightops-ops-console .authAccountMenu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 226px;
  padding: 8px;
  background: var(--fo-bg-surface-2);
  border: 1px solid rgba(121, 149, 187, 0.18);
  border-radius: var(--fo-radius-md);
  box-shadow: var(--fo-shadow-2);
  z-index: 2305;
  gap: 6px;
}

body.flightops-ops-console .authAccountMenuItem {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  min-height: 38px;
  padding: 0 11px;
  border-radius: var(--fo-radius-sm);
  background: transparent;
  border: 1px solid transparent;
  color: var(--fo-text-primary);
  font-size: 12px;
  text-align: left;
}

body.flightops-ops-console .authAccountMenuItem:hover,
body.flightops-ops-console .authAccountMenuItem:focus-visible {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(121, 149, 187, 0.18);
  color: var(--fo-text-strong);
}

body.flightops-ops-console .authAccountMenuItem.active {
  background: rgba(58, 130, 247, 0.16);
  border-color: rgba(96, 165, 250, 0.2);
  box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.16);
}

body.flightops-ops-console #settingsGearBtn.authAccountMenuItem::before,
body.flightops-ops-console #runtimeHealthNavBtn.authAccountMenuItem::before,
body.flightops-ops-console #legendNavBtn.authAccountMenuItem::before,
body.flightops-ops-console #downloadsMenuBtn.authAccountMenuItem::before,
body.flightops-ops-console #authQuickLogoutBtn.authAccountMenuItem::before {
  font-size: 14px;
  opacity: 0.82;
}

body.flightops-ops-console #settingsGearBtn.authAccountMenuItem::before {
  content: "⚙";
}

body.flightops-ops-console #runtimeHealthNavBtn.authAccountMenuItem::before {
  content: "◌";
}

body.flightops-ops-console #legendNavBtn.authAccountMenuItem::before {
  content: "◈";
}

body.flightops-ops-console #downloadsMenuBtn.authAccountMenuItem::before {
  content: "⤓";
}

body.flightops-ops-console #authQuickLogoutBtn.authAccountMenuItem::before {
  content: "↗";
}

body.flightops-ops-console #authGate {
  top: 0;
  z-index: 2300;
  background: #111214;
}

body.flightops-ops-console #authGate::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 28% 22%, rgba(212, 168, 74, 0.08), transparent 34%),
    radial-gradient(circle at 78% 76%, rgba(52, 184, 102, 0.05), transparent 30%),
    linear-gradient(180deg, #111214 0%, #0e0f11 100%);
  pointer-events: none;
}

body.flightops-ops-console .authGateCard {
  position: relative;
  background: rgba(25, 27, 31, 0.92);
  border: 1px solid rgba(180, 170, 155, 0.14);
  border-radius: 12px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35), 0 0 0 1px rgba(180, 170, 155, 0.06) inset;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

body.flightops-ops-console .authGateCard h2 {
  color: #f5f2ee;
}

body.flightops-ops-console .authGateCard p {
  color: #9e9890;
}

body.flightops-ops-console .authGateCard .phase1Field {
  gap: 6px;
}

body.flightops-ops-console .authGateCard .phase1Field span {
  color: var(--fo-text-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
}

body.flightops-ops-console .authGateCard input[type="text"],
body.flightops-ops-console .authGateCard input[type="password"] {
  min-height: 46px;
  border: 1px solid rgba(180, 170, 155, 0.14);
  border-radius: 10px;
  background: rgba(21, 23, 26, 0.78);
  color: #f5f2ee;
}

body.flightops-ops-console .authGateCard input::placeholder {
  color: #6b6660;
}

body.flightops-ops-console #authGateSignInActions,
body.flightops-ops-console #authMagicLinkActions,
body.flightops-ops-console #authGatePasswordActions {
  grid-template-columns: 1fr auto;
  gap: 10px;
}

body.flightops-ops-console #authGateLoginBtn,
body.flightops-ops-console #authMagicLinkBtn,
body.flightops-ops-console #authGatePasswordBtn {
  border-color: rgba(210, 170, 90, 0.34);
  background: linear-gradient(180deg, var(--fo-accent), #b8912e);
  color: #1a1408;
  box-shadow: 0 12px 28px rgba(212, 168, 74, 0.22);
}

body.flightops-ops-console #authGateRecoveryBtn {
  border-color: rgba(180, 170, 155, 0.14);
  background: rgba(255, 255, 255, 0.05);
  color: var(--fo-text-primary);
}

body.flightops-ops-console.authLocked #authTopbar,
body.flightops-ops-console.authLocked #sidebar,
body.flightops-ops-console.authLocked #map {
  opacity: 0;
  pointer-events: none;
  filter: none;
}

body.flightops-ops-console #sidebar {
  background: transparent;
}

body.flightops-ops-console .shell,
body.flightops-ops-console .body {
  background: transparent;
  pointer-events: none;
}

body.flightops-ops-console .panelSection {
  top: 88px;
  left: 16px;
  width: min(360px, calc(100vw - 32px));
  max-height: calc(100vh - 108px);
  overflow: auto;
  border-radius: var(--fo-radius-lg);
}

body.flightops-ops-console .card {
  background: linear-gradient(180deg, rgba(18, 35, 56, 0.95), rgba(11, 22, 37, 0.95));
  border: 1px solid rgba(121, 149, 187, 0.16);
  border-radius: var(--fo-radius-lg);
  box-shadow: var(--fo-shadow-1);
}

body.flightops-ops-console .head {
  padding: 14px 16px 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent),
    rgba(255, 255, 255, 0.02);
  border-top: 0;
  border-bottom: 1px solid rgba(121, 149, 187, 0.12);
}

body.flightops-ops-console .head h2 {
  color: var(--fo-text-strong);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

body.flightops-ops-console .headActions {
  gap: 8px;
}

body.flightops-ops-console .sectionBody {
  display: grid;
  gap: 12px;
  padding: 14px 16px 16px;
}

body.flightops-ops-console .grid,
body.flightops-ops-console .controls,
body.flightops-ops-console .stats,
body.flightops-ops-console .details,
body.flightops-ops-console .list {
  gap: 10px;
}

body.flightops-ops-console .stats,
body.flightops-ops-console .details {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.flightops-ops-console .row,
body.flightops-ops-console .item,
body.flightops-ops-console .sensorBlock,
body.flightops-ops-console .alertClosestCard,
body.flightops-ops-console .alertCountCard,
body.flightops-ops-console .monitorCard,
body.flightops-ops-console .monitorMini,
body.flightops-ops-console .phase1Check,
body.flightops-ops-console #accountSettingsCard,
body.flightops-ops-console #smtpSettingsCard,
body.flightops-ops-console #mpu5SettingsCard,
body.flightops-ops-console #downloadsAdminCard,
body.flightops-ops-console #videoPlayerCard {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(121, 149, 187, 0.14);
  box-shadow: none;
}

body.flightops-ops-console .row {
  padding: 10px 12px;
  border-radius: var(--fo-radius-sm);
}

body.flightops-ops-console .value {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 600;
  color: var(--fo-text-primary);
}

body.flightops-ops-console .value.muted,
body.flightops-ops-console .empty {
  color: var(--fo-text-muted);
}

body.flightops-ops-console .empty {
  padding: 10px 0 2px;
}

body.flightops-ops-console .sensorBlock {
  padding: 12px;
  border-radius: var(--fo-radius-md);
}

body.flightops-ops-console .sensorBlockHead {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(121, 149, 187, 0.12);
}

body.flightops-ops-console .sensorBlockBody {
  display: grid;
  gap: 10px;
  padding-top: 10px;
}

body.flightops-ops-console .sensorBlockTitleText {
  color: var(--fo-text-primary);
  font-size: 12px;
  letter-spacing: 0.08em;
}

body.flightops-ops-console .phase1Toolbar {
  padding: 4px 0 0;
}

body.flightops-ops-console .phase1Config {
  gap: 10px;
}

body.flightops-ops-console .trail,
body.flightops-ops-console .upload {
  gap: 10px;
}

body.flightops-ops-console .controls.settingsControls {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.flightops-ops-console .mergeControl,
body.flightops-ops-console #accountSettingsCard,
body.flightops-ops-console #smtpSettingsCard,
body.flightops-ops-console #mpu5SettingsCard,
body.flightops-ops-console #videoIngestSettingsCard,
body.flightops-ops-console #viewAccessCard {
  padding: 12px;
  border-radius: var(--fo-radius-md);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(121, 149, 187, 0.14);
}

body.flightops-ops-console .alertCardOptionB,
body.flightops-ops-console .alertHeroPanel,
body.flightops-ops-console .alertClosestCard,
body.flightops-ops-console .alertCountCard {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(121, 149, 187, 0.14);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .alertHeroPanel {
  border-bottom: 1px solid rgba(121, 149, 187, 0.12);
}

body.flightops-ops-console .alertHeroLabel,
body.flightops-ops-console .alertClosestLabel,
body.flightops-ops-console .alertWindowMeta,
body.flightops-ops-console .alertTrafficMeta {
  color: var(--fo-text-muted);
}

body.flightops-ops-console .alertClosestName,
body.flightops-ops-console .alertCountValue,
body.flightops-ops-console .alertListTitle {
  color: var(--fo-text-strong);
}

body.flightops-ops-console .alertTrafficChip.advisory {
  background: rgba(245, 158, 11, 0.16);
  color: #fcd34d;
}

body.flightops-ops-console .alertTrafficChip.warning {
  background: rgba(251, 146, 60, 0.16);
  color: #fdba74;
}

body.flightops-ops-console .alertTrafficChip.critical {
  background: rgba(239, 68, 68, 0.16);
  color: #fca5a5;
}

body.flightops-ops-console .alertTrafficChip.clear {
  background: rgba(34, 197, 94, 0.16);
  color: #86efac;
}

body.flightops-ops-console .panelSection[data-panel="video"] {
  min-width: 420px;
  min-height: 180px;
}

body.flightops-ops-console .panelSection[data-panel="video"] #videoPlayerCard {
  border-radius: var(--fo-radius-md);
  overflow: hidden;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineShell {
  background: rgba(3, 8, 15, 0.82);
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineBar {
  padding: 12px 14px;
  background: rgba(16, 29, 48, 0.96);
  border-bottom: 1px solid rgba(121, 149, 187, 0.14);
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineLabel {
  color: var(--fo-text-muted);
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineSource {
  color: var(--fo-text-strong);
  font-size: 15px;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoPlayerHint {
  background: rgba(239, 68, 68, 0.1);
  border-bottom: 1px solid rgba(239, 68, 68, 0.16);
  color: #fca5a5;
}

body.flightops-ops-console .panelSection[data-panel="video"] #videoInlinePlayer {
  background: #000;
}

body.flightops-ops-console .videoInlineSelectWrap {
  color: var(--fo-text-secondary);
}

body.flightops-ops-console #videoInlineSelect {
  background: var(--fo-bg-input);
  color: var(--fo-text-primary);
  border: 1px solid rgba(121, 149, 187, 0.18);
  border-radius: var(--fo-radius-pill);
  min-height: 38px;
  padding: 0 12px;
}

body.flightops-ops-console #monitoringDock {
  top: calc(var(--auth-topbar-height, 64px) + 24px);
  transform: translateX(calc(100% - 38px));
  z-index: 2142 !important;
}

/* The JS toggles .open; the theme must preserve that state with matching specificity. */
body.flightops-ops-console #monitoringDock.open {
  transform: translateX(0);
}

body.flightops-ops-console #monitoringDockToggle {
  width: 38px;
  min-width: 38px;
  height: 42px;
  border-radius: var(--fo-radius-sm) 0 0 var(--fo-radius-sm);
  border: 1px solid rgba(121, 149, 187, 0.18);
  border-right: 0;
  background: rgba(10, 20, 33, 0.96);
  color: var(--fo-text-primary);
  box-shadow: var(--fo-shadow-1);
}

body.flightops-ops-console #monitoringDockRail {
  width: 300px;
  gap: 10px;
  padding-left: 10px;
}

body.flightops-ops-console #monitoringDock .monitorCard {
  gap: 8px;
  padding: 12px 14px;
  border-radius: var(--fo-radius-md);
  background: linear-gradient(180deg, rgba(18, 35, 56, 0.98), rgba(10, 20, 33, 0.98));
  border: 1px solid rgba(121, 149, 187, 0.18);
  box-shadow: var(--fo-shadow-1);
}

body.flightops-ops-console #monitoringDock .monitorTitle,
body.flightops-ops-console .monitorTitle {
  color: var(--fo-text-strong);
}

body.flightops-ops-console #monitoringDock .monitorStatus,
body.flightops-ops-console .monitorStatus,
body.flightops-ops-console .monitorMeta .sub,
body.flightops-ops-console .monitorMiniMeta,
body.flightops-ops-console .monitorMiniLabel {
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .monitorMini,
body.flightops-ops-console .monitorSubgrid .monitorMini {
  border-radius: var(--fo-radius-sm);
}

body.flightops-ops-console .monitorLamp.ok,
body.flightops-ops-console .monitorLamp.up,
body.flightops-ops-console .monitorMiniLamp.up,
body.flightops-ops-console .monitorFortemPanelLamp.up {
  background: var(--fo-success);
}

body.flightops-ops-console .monitorLamp.down,
body.flightops-ops-console .monitorMiniLamp.down,
body.flightops-ops-console .monitorFortemPanelLamp.down {
  background: var(--fo-danger);
}

body.flightops-ops-console #mapUtilityDrawer {
  top: calc(var(--auth-topbar-height, 64px) + 74px);
  transform: translateX(calc(100% - 40px));
  z-index: 2140 !important;
}

/* The drawer still uses the legacy .open state, so keep the theme in sync with that contract. */
body.flightops-ops-console #mapUtilityDrawer.open {
  transform: translateX(0);
}

body.flightops-ops-console #mapUtilityDrawerToggle {
  width: 40px;
  min-width: 40px;
  height: 42px;
  border-radius: var(--fo-radius-sm) 0 0 var(--fo-radius-sm);
  border: 1px solid rgba(121, 149, 187, 0.18);
  border-right: 0;
  background: rgba(10, 20, 33, 0.96);
  color: var(--fo-text-primary);
  box-shadow: var(--fo-shadow-1);
}

body.flightops-ops-console #mapUtilityDrawerPanel,
body.flightops-ops-console .mapUtilityDrawerPanel {
  width: 172px;
  padding: 12px;
  background: linear-gradient(180deg, rgba(18, 35, 56, 0.98), rgba(10, 20, 33, 0.98));
  border: 1px solid rgba(121, 149, 187, 0.18);
  box-shadow: var(--fo-shadow-1);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .mapUtilityDrawerHeader {
  padding: 10px 8px;
  border-radius: var(--fo-radius-sm);
  border: 1px solid rgba(121, 149, 187, 0.14);
  background: rgba(255, 255, 255, 0.03);
}

body.flightops-ops-console .mapUtilityDrawerTitle {
  color: var(--fo-text-strong);
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console .mapUtilityDrawerSection {
  gap: 8px;
}

body.flightops-ops-console #mapUtilityLayersButtons,
body.flightops-ops-console #mapUtilityOverlayControls,
body.flightops-ops-console #mapUtilityAttachmentMount,
body.flightops-ops-console #mapUtilityReloadMount {
  gap: 8px;
}

body.flightops-ops-console #mapUtilityDrawer .item,
body.flightops-ops-console #mapUtilityDrawer .field,
body.flightops-ops-console #mapUtilityDrawer .upload {
  border-radius: var(--fo-radius-sm);
}

body.flightops-ops-console .leaflet-control-zoom a,
body.flightops-ops-console .basemapBtn,
body.flightops-ops-console .clearPinsBtn {
  background: rgba(10, 20, 33, 0.96);
  border: 1px solid rgba(121, 149, 187, 0.18);
  color: var(--fo-text-primary);
  box-shadow: var(--fo-shadow-1);
}

/*
 * Map utility controls need stable hit targets. Avoid hover motion here and
 * explicitly keep pointer events enabled so the first interaction acts on the
 * control rather than just establishing focus.
 */
body.flightops-ops-console .measureControl,
body.flightops-ops-console .measureControl *,
body.flightops-ops-console .basemapControl,
body.flightops-ops-console .basemapControl *,
body.flightops-ops-console .clearPinsControl,
body.flightops-ops-console .clearPinsControl * {
  pointer-events: auto;
}

body.flightops-ops-console .measureControl,
body.flightops-ops-console .basemapBtn,
body.flightops-ops-console .clearPinsBtn {
  background: rgba(10, 20, 33, 0.96);
  border: 1px solid rgba(121, 149, 187, 0.18);
  color: var(--fo-text-primary);
  box-shadow: var(--fo-shadow-1);
}

body.flightops-ops-console .measureControl.compact {
  width: 46px !important;
  height: 34px !important;
  min-width: 46px !important;
  min-height: 34px !important;
  max-width: 46px !important;
  max-height: 34px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: stretch !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.flightops-ops-console .measureControl.compact .measureCompactBtn {
  width: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  pointer-events: auto !important;
  box-sizing: border-box !important;
}

body.flightops-ops-console .measureControl.compact .measureCompactBtn svg {
  pointer-events: none !important;
}

body.flightops-ops-console .measureControl button:hover,
body.flightops-ops-console .basemapBtn:hover,
body.flightops-ops-console .clearPinsBtn:hover,
body.flightops-ops-console .leaflet-control-zoom a:hover {
  transform: none;
}

body.flightops-ops-console .mapCoordinateToast {
  position: fixed;
  left: 50%;
  bottom: 26px;
  z-index: 2195;
  transform: translateX(-50%);
  min-width: 220px;
  max-width: min(88vw, 420px);
  padding: 10px 14px;
  border-radius: 6px;
  background: rgba(10, 20, 33, 0.98);
  border: 1px solid rgba(121, 149, 187, 0.22);
  box-shadow: var(--fo-shadow-1);
  color: var(--fo-text-primary);
  pointer-events: none;
  backdrop-filter: blur(10px);
}

body.flightops-ops-console .mapCoordinateToast[data-state="error"] {
  border-color: rgba(239, 68, 68, 0.34);
  color: #fecaca;
}

body.flightops-ops-console .mapCoordinateToastText {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.35;
  text-align: center;
}

body.flightops-ops-console .mapContextMenu {
  position: fixed;
  z-index: 2196;
  min-width: 248px;
  max-width: min(86vw, 292px);
  padding: 10px;
  border-radius: 6px;
  background: rgba(10, 20, 33, 0.98);
  border: 1px solid rgba(121, 149, 187, 0.22);
  box-shadow: var(--fo-shadow-1);
  color: var(--fo-text-primary);
  backdrop-filter: blur(10px);
  display: grid;
  gap: 8px;
}

body.flightops-ops-console .mapContextMenu[hidden],
body.flightops-ops-console .mapContextMenuFlyout[hidden] {
  display: none !important;
}

body.flightops-ops-console .mapContextMenuHead {
  display: grid;
  gap: 4px;
  padding: 2px 2px 8px;
  border-bottom: 1px solid rgba(121, 149, 187, 0.12);
}

body.flightops-ops-console .mapContextMenuTitleRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body.flightops-ops-console .mapContextMenuTitle {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: var(--fo-text-muted);
}

body.flightops-ops-console .mapContextMenuClose {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  border: 1px solid rgba(121, 149, 187, 0.16);
  background: rgba(12, 25, 38, 0.92);
  color: var(--fo-text-muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

body.flightops-ops-console .mapContextMenuClose:hover,
body.flightops-ops-console .mapContextMenuClose:focus-visible {
  border-color: rgba(92, 161, 255, 0.44);
  background: rgba(18, 38, 60, 0.98);
  color: var(--fo-text-primary);
  outline: none;
}

body.flightops-ops-console .mapContextMenuCoords {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--fo-text-primary);
  word-break: break-word;
}

body.flightops-ops-console .mapContextMenuChips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 2px;
}

body.flightops-ops-console .mapContextMenuChip {
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(121, 149, 187, 0.18);
  background: rgba(13, 28, 43, 0.92);
  color: #dbeeff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}

body.flightops-ops-console .mapContextMenuActions {
  display: grid;
  gap: 6px;
}

body.flightops-ops-console .mapContextMenuBtn {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 38px;
  padding: 9px 10px;
  border-radius: 6px;
  border: 1px solid rgba(121, 149, 187, 0.18);
  background: rgba(16, 32, 50, 0.94);
  color: var(--fo-text-primary);
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

body.flightops-ops-console .mapContextMenuBtn:hover,
body.flightops-ops-console .mapContextMenuBtn:focus-visible {
  border-color: rgba(92, 161, 255, 0.44);
  background: rgba(18, 38, 60, 0.98);
  outline: none;
}

body.flightops-ops-console .mapContextMenuBtn.primary {
  border-color: rgba(92, 161, 255, 0.32);
  background: rgba(18, 38, 60, 0.98);
}

body.flightops-ops-console .mapContextMenuBtnContent {
  min-width: 0;
}

body.flightops-ops-console .mapContextMenuBtnContent strong {
  display: block;
  font-size: 12px;
  line-height: 1.1;
}

body.flightops-ops-console .mapContextMenuBtnContent small {
  display: block;
  font-size: 11px;
  line-height: 1.25;
  color: var(--fo-text-muted);
  margin-top: 3px;
}

body.flightops-ops-console .mapContextMenuIcon {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  border: 1px solid rgba(121, 149, 187, 0.14);
  background: rgba(7, 18, 30, 0.8);
  color: #d8ebff;
  font-size: 11px;
  font-weight: 800;
}

body.flightops-ops-console .mapContextMenuChevron {
  min-width: 10px;
  color: var(--fo-text-muted);
  font-size: 11px;
  font-weight: 800;
  text-align: right;
}

body.flightops-ops-console .mapContextMenuFooter {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 2px 4px 0;
  font-size: 11px;
  line-height: 1.35;
  color: var(--fo-text-muted);
}

body.flightops-ops-console .mapContextMenuFlyout {
  position: absolute;
  top: 10px;
  left: calc(100% + 10px);
  min-width: 220px;
  max-width: 248px;
  padding: 8px;
  border-radius: 6px;
  border: 1px solid rgba(121, 149, 187, 0.22);
  background: rgba(10, 20, 33, 0.98);
  box-shadow: var(--fo-shadow-1);
  backdrop-filter: blur(10px);
  display: grid;
  gap: 6px;
}

body.flightops-ops-console .mapContextMenu.flyoutLeft .mapContextMenuFlyout {
  left: auto;
  right: calc(100% + 10px);
}

body.flightops-ops-console .mapContextMenuFlyoutTitle {
  padding: 2px 4px 6px;
  border-bottom: 1px solid rgba(121, 149, 187, 0.12);
  color: var(--fo-text-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

body.flightops-ops-console .mapContextMenuFlyoutActions {
  display: grid;
  gap: 6px;
}

body.flightops-ops-console .mapContextMenuHint {
  margin-top: 10px;
  font-size: 11px;
  line-height: 1.35;
  color: var(--fo-text-muted);
}

body.flightops-ops-console .basemapControl {
  margin-bottom: 8px !important;
}

body.flightops-ops-console .basemapControlShell {
  position: relative;
  display: grid;
  justify-items: end;
  gap: 8px;
}

body.flightops-ops-console .basemapBtn {
  position: relative;
  z-index: 2;
  min-width: 112px;
}

body.flightops-ops-console .basemapBtn.open {
  border-color: rgba(92, 161, 255, 0.44);
  background: rgba(14, 28, 45, 0.98);
}

body.flightops-ops-console .basemapPopover {
  min-width: 206px;
  padding: 10px;
  border-radius: 6px;
  background: rgba(10, 20, 33, 0.98);
  border: 1px solid rgba(121, 149, 187, 0.22);
  box-shadow: var(--fo-shadow-1);
  backdrop-filter: blur(10px);
}

body.flightops-ops-console .basemapPopover[hidden] {
  display: none !important;
}

body.flightops-ops-console .basemapPopoverHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console .basemapPopoverTitle {
  color: var(--fo-text-muted);
  font-weight: 700;
}

body.flightops-ops-console .basemapPopoverCurrent {
  color: var(--fo-text-secondary);
  font-weight: 700;
}

body.flightops-ops-console .basemapThumbGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.flightops-ops-console .basemapThumb {
  display: grid;
  gap: 5px;
  padding: 6px;
  border-radius: 6px;
  min-width: 0;
  background: rgba(248, 250, 252, 0.06);
  border: 1px solid rgba(121, 149, 187, 0.16);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .basemapThumb[hidden] {
  display: none !important;
}

body.flightops-ops-console .basemapThumb:hover {
  background: rgba(248, 250, 252, 0.1);
  border-color: rgba(92, 161, 255, 0.3);
}

body.flightops-ops-console .basemapThumb.active {
  background: rgba(58, 130, 247, 0.16);
  border-color: rgba(92, 161, 255, 0.44);
}

body.flightops-ops-console .basemapThumbPreview {
  position: relative;
  height: 48px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

body.flightops-ops-console .basemapThumbPreview::after {
  content: "";
  position: absolute;
  right: 5px;
  bottom: 5px;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(248, 250, 252, 0.84);
  box-shadow: 0 0 0 2px rgba(15, 23, 42, 0.28);
}

body.flightops-ops-console .basemapThumbPreview-street {
  background:
    linear-gradient(rgba(100, 116, 139, 0.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100, 116, 139, 0.22) 1px, transparent 1px),
    linear-gradient(180deg, #e2e8f0, #cbd5e1);
  background-size: 16px 16px, 16px 16px, 100% 100%;
}

body.flightops-ops-console .basemapThumbPreview-dark {
  background:
    linear-gradient(rgba(100, 116, 139, 0.2) 1px, transparent 1px),
    linear-gradient(90deg, rgba(100, 116, 139, 0.2) 1px, transparent 1px),
    linear-gradient(180deg, #0f172a, #1f2937);
  background-size: 16px 16px, 16px 16px, 100% 100%;
}

body.flightops-ops-console .basemapThumbPreview-vfr {
  background:
    linear-gradient(35deg, rgba(34, 197, 94, 0.15), transparent 34%),
    linear-gradient(125deg, rgba(244, 114, 182, 0.16), transparent 42%),
    linear-gradient(180deg, #fef9c3, #d9f99d);
}

body.flightops-ops-console .basemapThumbPreview-satellite {
  background:
    radial-gradient(circle at 18% 30%, rgba(34, 197, 94, 0.44), transparent 18%),
    radial-gradient(circle at 70% 36%, rgba(132, 204, 22, 0.44), transparent 22%),
    radial-gradient(circle at 58% 66%, rgba(120, 113, 108, 0.28), transparent 18%),
    linear-gradient(180deg, #365314, #1f2937);
}

body.flightops-ops-console .basemapThumbPreview-flightops {
  background:
    linear-gradient(25deg, transparent 0 39%, rgba(244, 201, 91, 0.95) 40% 43%, transparent 44%),
    linear-gradient(115deg, transparent 0 48%, rgba(94, 234, 212, 0.42) 49% 52%, transparent 53%),
    linear-gradient(180deg, #101728 0%, #15213a 48%, #07111f 100%);
}

body.flightops-ops-console .basemapThumbLabel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  min-width: 0;
  font-size: 11px;
  font-weight: 700;
}

body.flightops-ops-console .basemapThumbLabel span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.flightops-ops-console .basemapThumbStatus {
  font-size: 9px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--fo-text-muted);
}

body.flightops-ops-console .leaflet-tooltip.tip::before {
  border-top-color: rgba(121, 149, 187, 0.18);
}

body.flightops-ops-console .leaflet-tooltip.tip,
body.flightops-ops-console .leaflet-popup.tip .leaflet-popup-content-wrapper,
body.flightops-ops-console .leaflet-popup.tip .leaflet-popup-tip {
  background: rgba(10, 20, 33, 0.96);
  border: 1px solid rgba(121, 149, 187, 0.18);
  color: var(--fo-text-primary);
  box-shadow: var(--fo-shadow-1);
}

body.flightops-ops-console .leaflet-popup.tip .leaflet-popup-content {
  color: var(--fo-text-primary);
}

body.flightops-ops-console .leaflet-tooltip.tip.trackDetailTip {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  color: inherit;
}

body.flightops-ops-console .leaflet-tooltip.tip.trackDetailTip::before {
  border-top-color: rgba(77, 100, 129, 0.96);
}

body.flightops-ops-console .trackTooltipCard {
  min-width: 220px;
  max-width: 238px;
  display: grid;
  gap: 7px;
  padding: 7px 8px 8px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(10, 21, 37, 0.96), rgba(8, 17, 31, 0.98));
  border: 1px solid rgba(120, 150, 188, 0.28);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.34);
  color: #edf5ff;
}

body.flightops-ops-console .trackTooltipHeader {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}

body.flightops-ops-console .trackTooltipHeader.compact {
  gap: 6px;
  align-items: center;
}

body.flightops-ops-console .trackTooltipTitleBlock {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.flightops-ops-console .trackTooltipTitle {
  font-size: 12px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #f8fbff;
  word-break: break-word;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

body.flightops-ops-console .trackTooltipSourceChip {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  width: fit-content;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #a9bfd8;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

body.flightops-ops-console .trackTooltipExpandBtn {
  width: 22px;
  height: 22px;
  min-width: 22px;
  padding: 0;
  border-radius: 7px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #edf5ff;
  box-shadow: none;
}

body.flightops-ops-console .trackTooltipExpandBtn:hover {
  background: rgba(58, 130, 247, 0.22);
  border-color: rgba(97, 162, 255, 0.42);
}

body.flightops-ops-console .trackTooltipMetricGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 6px;
}

body.flightops-ops-console .trackTooltipMetric {
  min-width: 0;
  padding: 4px 6px 5px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

body.flightops-ops-console .trackTooltipMetricLabel {
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8ea6c2;
}

body.flightops-ops-console .trackTooltipMetricValue {
  margin-top: 2px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.15;
  color: #f8fbff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .trackExpandedDetailCard {
  position: fixed;
  top: 96px;
  left: calc(100vw - 380px);
  width: 356px;
  z-index: 2148;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(8, 18, 31, 0.98), rgba(5, 12, 21, 0.98));
  border: 1px solid rgba(120, 150, 188, 0.24);
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.42);
  color: #edf5ff;
  user-select: none;
}

body.flightops-ops-console .trackExpandedDetailCard[hidden] {
  display: none !important;
}

body.flightops-ops-console .trackExpandedDetailInner {
  display: grid;
  gap: 0;
}

body.flightops-ops-console .trackExpandedDetailHead {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  cursor: grab;
}

body.flightops-ops-console .trackExpandedDetailCard.is-dragging .trackExpandedDetailHead {
  cursor: grabbing;
}

body.flightops-ops-console .trackExpandedDetailTitleBlock {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.flightops-ops-console .trackExpandedDetailKicker {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #bfd3e8;
}

body.flightops-ops-console .trackExpandedDetailTitle {
  font-size: 22px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #f8fbff;
  word-break: break-word;
}

body.flightops-ops-console .trackExpandedDetailSub {
  font-size: 11px;
  color: #8ea6c2;
}

body.flightops-ops-console .trackExpandedDetailActions {
  display: flex;
  align-items: center;
  gap: 8px;
}

body.flightops-ops-console .trackExpandedDetailState {
  min-width: 46px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #bfd3e8;
  text-align: center;
}

body.flightops-ops-console .trackExpandedDetailState.live {
  background: rgba(34, 197, 94, 0.14);
  border-color: rgba(74, 222, 128, 0.22);
  color: #8df0b3;
}

body.flightops-ops-console .trackExpandedDetailClose {
  width: 28px;
  height: 28px;
  min-width: 28px;
  padding: 0;
  border-radius: 9px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #edf5ff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

body.flightops-ops-console .trackExpandedDetailClose:hover {
  background: rgba(239, 68, 68, 0.18);
  border-color: rgba(248, 113, 113, 0.28);
}

body.flightops-ops-console .trackExpandedDetailBody {
  display: grid;
  gap: 14px;
  padding: 14px 16px 16px;
}

body.flightops-ops-console .trackExpandedMetricGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.flightops-ops-console .trackExpandedMetric {
  padding: 10px 11px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

body.flightops-ops-console .trackExpandedMetricLabel {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #8ea6c2;
}

body.flightops-ops-console .trackExpandedMetricValue {
  margin-top: 5px;
  font-size: 14px;
  font-weight: 800;
  color: #f8fbff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .trackExpandedRows {
  display: grid;
  gap: 8px;
}

body.flightops-ops-console .trackExpandedRow {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

body.flightops-ops-console .trackExpandedRowLabel {
  font-size: 11px;
  font-weight: 700;
  color: #8ea6c2;
}

body.flightops-ops-console .trackExpandedRowValue {
  font-size: 12px;
  line-height: 1.35;
  color: #edf5ff;
  word-break: break-word;
}

body.flightops-ops-console .leaflet-marker-icon.flightopsExpandedTrackPulseMarker {
  overflow: visible !important;
}

body.flightops-ops-console .leaflet-marker-icon.flightopsExpandedTrackPulseMarker::before {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 18px;
  border: 2px solid rgba(74, 222, 128, 0.92);
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.16), 0 0 18px rgba(34, 197, 94, 0.28);
  pointer-events: none;
  animation: expandedTrackMarkerPulse 1.38s ease-out infinite;
}

body.flightops-ops-console .leaflet-marker-icon.flightopsExpandedTrackPulseMarker > div {
  animation: expandedTrackMarkerCoreFlash 1.38s ease-in-out infinite;
}

@keyframes expandedTrackMarkerPulse {
  0% {
    transform: scale(0.86);
    opacity: 0.94;
  }
  76% {
    transform: scale(1.56);
    opacity: 0;
  }
  100% {
    transform: scale(1.66);
    opacity: 0;
  }
}

@keyframes expandedTrackMarkerCoreFlash {
  0%,
  100% {
    opacity: 1;
    filter: none;
  }
  50% {
    opacity: 1;
    filter: brightness(1.16) saturate(1.22);
  }
}

body.flightops-ops-console .panelSection::-webkit-scrollbar,
body.flightops-ops-console #monitoringDockRail::-webkit-scrollbar,
body.flightops-ops-console #mapUtilityDrawerPanel::-webkit-scrollbar,
body.flightops-ops-console .mapUtilityDrawerPanel::-webkit-scrollbar {
  width: 10px;
}

body.flightops-ops-console .panelSection::-webkit-scrollbar-thumb,
body.flightops-ops-console #monitoringDockRail::-webkit-scrollbar-thumb,
body.flightops-ops-console #mapUtilityDrawerPanel::-webkit-scrollbar-thumb,
body.flightops-ops-console .mapUtilityDrawerPanel::-webkit-scrollbar-thumb {
  background: rgba(121, 149, 187, 0.28);
  border-radius: 999px;
}

@media (max-width: 1100px) {
  body.flightops-ops-console #topNav {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  body.flightops-ops-console #authTopbar {
    height: auto;
    align-items: flex-start;
    padding: 10px 14px 12px;
  }

  body.flightops-ops-console #authTopSignedIn {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  body.flightops-ops-console .panelSection {
    left: 12px !important;
    width: min(360px, calc(100vw - 24px)) !important;
  }
}

@media (max-width: 720px) {
  body.flightops-ops-console .stats,
  body.flightops-ops-console .details,
  body.flightops-ops-console .controls.settingsControls,
  body.flightops-ops-console .phase1Config {
    grid-template-columns: 1fr;
  }

  body.flightops-ops-console #monitoringDockRail {
    width: min(76vw, 300px);
  }

  body.flightops-ops-console #mapUtilityDrawerPanel,
  body.flightops-ops-console .mapUtilityDrawerPanel {
    width: min(60vw, 190px);
  }
}

/* -----------------------------------------------------------------------------
 * Panel readability and density refinement
 * -----------------------------------------------------------------------------
 * Keep this pass CSS-only so the existing panel DOM, IDs, and JS bindings stay
 * intact. The goal is to make the left rail and support cards easier to scan
 * under load without changing panel ownership or behavior.
 */
body.flightops-ops-console .panelSection .head {
  gap: 10px;
  padding: 12px 14px 10px;
}

body.flightops-ops-console .panelSection .head h2,
body.flightops-ops-console .monitorTitle {
  font-size: 14px;
  line-height: 1.15;
  letter-spacing: 0.02em;
}

body.flightops-ops-console .panelSection .sectionBody {
  gap: 10px !important;
  padding: 12px 14px 14px !important;
}

body.flightops-ops-console .panelSection .grid,
body.flightops-ops-console .panelSection .controls,
body.flightops-ops-console .panelSection .stats,
body.flightops-ops-console .panelSection .details,
body.flightops-ops-console .panelSection .list,
body.flightops-ops-console .panelSection .trail,
body.flightops-ops-console .panelSection .upload,
body.flightops-ops-console .panelSection .phase1Config,
body.flightops-ops-console .panelSection .contextCheckGroup {
  gap: 8px;
}

body.flightops-ops-console .panelSection .row,
body.flightops-ops-console .panelSection .item,
body.flightops-ops-console .panelSection .sensorBlock,
body.flightops-ops-console .panelSection .phase1Check,
body.flightops-ops-console .panelSection #accountSettingsCard,
body.flightops-ops-console .panelSection #smtpSettingsCard,
body.flightops-ops-console .panelSection #mpu5SettingsCard,
body.flightops-ops-console .panelSection #videoIngestSettingsCard,
body.flightops-ops-console .panelSection #viewAccessCard,
body.flightops-ops-console .panelSection #downloadsAdminCard {
  padding: 11px 12px;
  border-radius: var(--fo-radius-sm);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.025));
  border-color: rgba(132, 161, 202, 0.18);
}

body.flightops-ops-console .panelSection .itemMain,
body.flightops-ops-console .panelSection .sensorBlockBody,
body.flightops-ops-console .panelSection .phase1Toolbar,
body.flightops-ops-console .panelSection .headActions {
  gap: 6px;
}

body.flightops-ops-console .panelSection .sensorBlockHead {
  padding-bottom: 8px;
}

body.flightops-ops-console .panelSection .sensorBlockBody {
  padding-top: 8px;
}

body.flightops-ops-console .panelSection .label,
body.flightops-ops-console .panelSection .phase1Field > span,
body.flightops-ops-console .panelSection .field .label,
body.flightops-ops-console .panelSection .colorField span,
body.flightops-ops-console .panelSection .sensorBlockTitleText,
body.flightops-ops-console .panelSection .monitorMiniLabel {
  color: #cfdced;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console .panelSection .value,
body.flightops-ops-console .panelSection .name,
body.flightops-ops-console .panelSection .monitorTitle,
body.flightops-ops-console .panelSection .alertListTitle {
  margin-top: 4px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25;
}

body.flightops-ops-console .panelSection .sub,
body.flightops-ops-console .panelSection .error,
body.flightops-ops-console .panelSection .phase1SaveStatus,
body.flightops-ops-console .panelSection .monitorMiniMeta,
body.flightops-ops-console .panelSection .monitorStatus,
body.flightops-ops-console .panelSection .monitorMeta .sub {
  font-size: 11px;
  line-height: 1.35;
}

body.flightops-ops-console .panelSection .phase1Field,
body.flightops-ops-console .panelSection .field,
body.flightops-ops-console .panelSection .colorField {
  display: grid;
  gap: 5px;
}

body.flightops-ops-console .panelSection input[type="text"],
body.flightops-ops-console .panelSection input[type="password"],
body.flightops-ops-console .panelSection input[type="email"],
body.flightops-ops-console .panelSection input[type="number"],
body.flightops-ops-console .panelSection input[type="file"],
body.flightops-ops-console .panelSection select,
body.flightops-ops-console .panelSection textarea {
  min-height: 38px;
  padding-left: 11px;
  padding-right: 11px;
}

body.flightops-ops-console .panelSection textarea {
  min-height: 88px;
  padding-top: 10px;
}

body.flightops-ops-console .panelSection .controls.settingsControls {
  align-items: start;
}

body.flightops-ops-console .panelSection .contextCheckGroup {
  display: grid;
}

body.flightops-ops-console .panelSection .contextCheckGroup .phase1Check {
  min-height: 38px;
}

body.flightops-ops-console #monitoringDockRail {
  gap: 8px;
}

body.flightops-ops-console #monitoringDock .monitorCard {
  gap: 7px;
  padding: 11px 12px;
}

body.flightops-ops-console .monitorMini,
body.flightops-ops-console .monitorSubgrid .monitorMini {
  gap: 7px;
  padding: 6px 8px;
  min-height: 34px;
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(132, 161, 202, 0.18);
}

body.flightops-ops-console #mapUtilityDrawerPanel,
body.flightops-ops-console .mapUtilityDrawerPanel {
  width: 186px;
  gap: 8px;
  padding: 10px;
}

body.flightops-ops-console .mapUtilityDrawerHeader {
  padding: 9px 8px;
}

body.flightops-ops-console .mapUtilityDrawerTitle {
  font-size: 13px;
  letter-spacing: 0.06em;
}

body.flightops-ops-console #mapUtilityDrawer .controls button,
body.flightops-ops-console #mapUtilityDrawer #mapUtilityOverlayControls button,
body.flightops-ops-console #mapUtilityDrawer .mapUtilitySectionToggle,
body.flightops-ops-console #mapUtilityReloadMount button,
body.flightops-ops-console #mapUtilityDrawer #uploadOverlayBtn {
  min-height: 34px;
  padding: 7px 8px;
  font-size: 11px;
}

body.flightops-ops-console #mapUtilityDrawer .item,
body.flightops-ops-console #mapUtilityDrawer .field,
body.flightops-ops-console #mapUtilityDrawer .upload {
  padding: 8px 9px;
  background: rgba(255, 255, 255, 0.045);
  border-color: rgba(132, 161, 202, 0.18);
}

body.flightops-ops-console #mapUtilityDrawer .label,
body.flightops-ops-console #mapUtilityDrawer .field .label,
body.flightops-ops-console #mapUtilityDrawer .colorField span {
  color: #d1deee;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console #mapUtilityDrawer .name,
body.flightops-ops-console #mapUtilityDrawer .value {
  font-size: 13px;
  line-height: 1.25;
}

body.flightops-ops-console #mapUtilityDrawer .sub,
body.flightops-ops-console #mapUtilityDrawer .phase1SaveStatus {
  font-size: 10px;
  line-height: 1.3;
}

@media (max-width: 720px) {
  body.flightops-ops-console #mapUtilityDrawerPanel,
  body.flightops-ops-console .mapUtilityDrawerPanel {
    width: min(62vw, 196px);
  }
}

/* -----------------------------------------------------------------------------
 * Fixed sidebar panel theme ownership pass
 * -----------------------------------------------------------------------------
 * Keep Display Controls visually owned by the main stylesheet so runtime panel
 * JS only has to manage geometry/open state. Settings is owned by its workspace
 * stylesheet.
 */
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] {
  left: 0 !important;
  top: var(--auth-topbar-height, var(--fo-topbar-height)) !important;
  width: 360px !important;
  max-height: calc(100vh - var(--auth-topbar-height, var(--fo-topbar-height))) !important;
  resize: none !important;
  border-radius: 0 !important;
  overflow: auto !important;
  box-shadow: 0 24px 46px rgba(2, 6, 23, 0.38) !important;
  background: linear-gradient(180deg, rgba(18, 29, 44, 0.985), rgba(10, 18, 30, 0.992)) !important;
  border: 1px solid rgba(89, 118, 151, 0.42) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] {
  border-left: 0 !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .head {
  cursor: default;
  align-items: center;
  padding: 12px 14px !important;
  border-top: 0 !important;
  background: linear-gradient(180deg, rgba(35, 50, 74, 0.99), rgba(25, 39, 58, 0.99)) !important;
  border-bottom: 1px solid rgba(82, 110, 142, 0.34) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .head h2 {
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  color: #f8feff !important;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .sectionBody {
  display: grid !important;
  gap: 12px !important;
  padding: 12px !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .grid,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .list {
  gap: 8px !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] button,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] button.secondary {
  border-radius: 12px !important;
  border-color: rgba(148, 163, 184, 0.18) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.04)) !important;
  color: #eef8fb !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] button:hover,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] button.secondary:hover {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.06)) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .item,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .row {
  background: rgba(236, 244, 250, 0.08) !important;
  border-color: rgba(120, 151, 186, 0.18) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .label,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .value,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .name,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .phase1SaveStatus {
  color: #e7f3ff !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .sub,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .phase1SaveStatus {
  font-size: 11px !important;
  color: #9fb7d0 !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .phase1Field span,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerBlockTitle {
  color: #9fc0de !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] select,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] input[type="number"],
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] input[type="text"],
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] input[type="password"],
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] input[type="file"] {
  border-radius: 10px !important;
  border-color: rgba(125, 155, 192, 0.26) !important;
  background: rgba(248, 250, 252, 0.98) !important;
  color: #0f172a !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .phase1Toolbar button {
  white-space: nowrap !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #opsDrawerCloseBtn {
  min-width: 34px !important;
  padding: 7px 9px !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerBlock {
  display: grid;
  gap: 10px;
  padding: 12px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(28, 41, 61, 0.98), rgba(18, 28, 43, 0.995));
  border: 1px solid rgba(97, 126, 160, 0.24);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerBlock.opsDrawerUtilityBlock {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerBlockTitle {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerBlock.opsDrawerUtilityBlock .opsDrawerBlockTitle {
  padding: 0 2px;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerMount {
  display: grid;
  gap: 10px;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerActionRow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .trail {
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 10px;
  align-items: center;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .mapUtilityDrawerSection {
  display: grid;
  gap: 8px;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .mapUtilitySectionToggle,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #mapUtilityOverlayControls button,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #mapUtilityReloadMount button {
  width: 100%;
  min-height: 44px;
  padding: 11px 14px;
  font-size: 12px;
  color: #eef8fb;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.03));
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .mapUtilitySectionToggle:hover,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #mapUtilityOverlayControls button:hover,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #mapUtilityReloadMount button:hover {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));
  border-color: rgba(148, 163, 184, 0.26);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .mapUtilitySectionToggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-weight: 700;
  letter-spacing: 0.01em;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #uploadOverlayBtn {
  width: 100%;
  min-height: 46px;
  padding: 12px 16px;
  font-size: 12px;
  color: #f3fffd;
  background: linear-gradient(180deg, #1aa39a, #0e6f69);
  border: 1px solid rgba(78, 205, 196, 0.34);
  border-radius: 14px;
  box-shadow: 0 14px 28px rgba(9, 68, 63, 0.28);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #uploadOverlayBtn:hover {
  background: linear-gradient(180deg, #22b5ab, #107d76);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #mapUtilityTopoBody,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #mapUtilityAttachmentsBody {
  display: grid;
  gap: 10px;
  min-height: 0;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #mapUtilityOverlayControls,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #mapUtilityAttachmentsBody {
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(29, 41, 58, 0.98), rgba(21, 31, 44, 0.995));
  border: 1px solid rgba(111, 145, 184, 0.18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 14px 30px rgba(2, 6, 23, 0.24);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .mapUtilityAttachmentsHeader {
  margin-bottom: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 96px;
  gap: 10px;
  align-items: start;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #mapUtilityReloadMount {
  display: grid;
  width: 96px;
}

@media (max-width: 900px) {
  body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] {
    width: min(88vw, 360px);
  }

  body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerActionRow {
    grid-template-columns: 1fr;
  }

  body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .mapUtilityAttachmentsHeader {
    grid-template-columns: 1fr;
  }

  body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] #mapUtilityReloadMount {
    width: 100%;
  }
}

body.flightops-ops-console .casiaPreviewDock {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 2144;
  width: min(176px, calc(100vw - 44px));
  display: grid;
  gap: 8px;
  padding: 8px;
  border-radius: var(--fo-radius-md);
  background: rgba(9, 16, 28, 0.96);
  border: 1px solid rgba(129, 157, 198, 0.28);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.36);
  color: #eef5ff;
  backdrop-filter: blur(10px);
  transition: width 180ms ease, padding 180ms ease;
}

body.flightops-ops-console .casiaPreviewDock.is-expanded {
  width: min(360px, calc(100vw - 44px));
  gap: 10px;
  padding: 12px;
}

body.flightops-ops-console .casiaPreviewDock[hidden] {
  display: none !important;
}

body.flightops-ops-console .casiaPreviewDetails[hidden] {
  display: none !important;
}

body.flightops-ops-console .casiaPreviewHead,
body.flightops-ops-console .casiaPreviewHeadActions,
body.flightops-ops-console .casiaPreviewMeta,
body.flightops-ops-console .casiaPreviewDetails {
  display: grid;
  gap: 8px;
}

body.flightops-ops-console .casiaPreviewHead {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

body.flightops-ops-console .casiaPreviewHeadMain {
  display: grid;
  gap: 4px;
}

body.flightops-ops-console .casiaPreviewTitle {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.15;
  color: #f8fbff;
  word-break: break-word;
}

body.flightops-ops-console .casiaPreviewSub,
body.flightops-ops-console .casiaPreviewStatus {
  font-size: 11px;
  line-height: 1.35;
  color: #b8c9df;
}

body.flightops-ops-console .casiaPreviewMeta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.flightops-ops-console .casiaPreviewMeta .diagRow {
  margin: 0;
  padding: 8px 10px;
  border-radius: var(--fo-radius-sm);
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(129, 157, 198, 0.16);
}

body.flightops-ops-console .casiaPreviewMeta .diagRow span:first-child {
  color: #9eb4cf;
}

body.flightops-ops-console .casiaPreviewMeta .diagRow span:last-child {
  color: #f8fbff;
  font-weight: 700;
}

body.flightops-ops-console .casiaPreviewBadge[data-state="live"] {
  background: rgba(34, 197, 94, 0.18);
  color: #86efac;
}

body.flightops-ops-console .casiaPreviewBadge[data-state="loading"] {
  background: rgba(59, 130, 246, 0.18);
  color: #bfdbfe;
}

body.flightops-ops-console .casiaPreviewBadge[data-state="stale"],
body.flightops-ops-console .casiaPreviewBadge[data-state="no-image"] {
  background: rgba(245, 158, 11, 0.18);
  color: #fde68a;
}

body.flightops-ops-console .casiaPreviewBadge[data-state="error"] {
  background: rgba(239, 68, 68, 0.18);
  color: #fecaca;
}

body.flightops-ops-console .casiaPreviewHero {
  display: grid;
  place-items: center;
  position: relative;
  min-height: 144px;
  padding: 4px;
  border-radius: var(--fo-radius-sm);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(129, 157, 198, 0.16);
  overflow: hidden;
}

body.flightops-ops-console .casiaPreviewDock.is-expanded .casiaPreviewHero {
  min-height: 180px;
  padding: 8px;
}

body.flightops-ops-console .casiaPreviewHeroImg {
  width: 100%;
  max-height: 144px;
  object-fit: contain;
  border-radius: var(--fo-radius-sm);
  background: #02060c;
}

body.flightops-ops-console .casiaPreviewDock.is-expanded .casiaPreviewHeroImg {
  max-height: 280px;
}

body.flightops-ops-console .casiaPreviewHeroEmpty {
  width: 100%;
  padding: 18px 16px;
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
  color: #b8c9df;
}

body.flightops-ops-console .casiaPreviewHeroCaption {
  position: absolute;
  left: 8px;
  bottom: 8px;
  max-width: calc(100% - 16px);
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(6, 12, 21, 0.78);
  border: 1px solid rgba(148, 163, 184, 0.24);
  color: #e6f0fb;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: 0 6px 16px rgba(2, 6, 12, 0.28);
}

body.flightops-ops-console .casiaPreviewOverlay {
  position: absolute;
  top: 8px;
  right: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

body.flightops-ops-console .casiaPreviewOverlayBtn {
  width: 28px;
  height: 28px;
  min-width: 28px;
  padding: 0;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(6, 12, 21, 0.82);
  border: 1px solid rgba(148, 163, 184, 0.32);
  color: #f8fbff;
  font-size: 14px;
  line-height: 1;
  box-shadow: 0 6px 16px rgba(2, 6, 12, 0.34);
}

body.flightops-ops-console .casiaPreviewOverlayBtn:hover {
  background: rgba(15, 23, 42, 0.92);
}

body.flightops-ops-console .casiaPreviewCloseBtn {
  font-size: 16px;
}

body.flightops-ops-console .casiaPreviewThumbs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 8px;
}

body.flightops-ops-console .casiaPreviewThumb {
  display: grid;
  gap: 6px;
  padding: 8px;
  border-radius: var(--fo-radius-sm);
  border: 1px solid rgba(129, 157, 198, 0.16);
  background: rgba(255, 255, 255, 0.035);
  color: inherit;
}

body.flightops-ops-console .casiaPreviewThumb.active {
  border-color: rgba(56, 189, 248, 0.72);
  box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.32);
}

body.flightops-ops-console .casiaPreviewThumbImg {
  width: 100%;
  height: 84px;
  object-fit: contain;
  border-radius: var(--fo-radius-sm);
  background: #02060c;
}

body.flightops-ops-console .casiaPreviewThumbCaption {
  font-size: 10px;
  line-height: 1.3;
  color: #c9d8ea;
  text-align: left;
  word-break: break-word;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerCasiaStatus {
  display: grid;
  gap: 5px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(8, 16, 27, 0.74);
  border: 1px solid rgba(92, 126, 166, 0.2);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerCasiaStatusTitle {
  font-size: 14px;
  font-weight: 800;
  color: #eef8fb;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerCasiaStatusSub,
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerCasiaStatusMeta {
  font-size: 11px;
  line-height: 1.35;
  color: #9fb7d0;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerCasiaStatusPills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerStatusPill {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 0 9px;
  border-radius: 999px;
  border: 1px solid rgba(112, 143, 182, 0.22);
  background: rgba(255, 255, 255, 0.045);
  color: #d8e7f5;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerStatusPill.live {
  background: rgba(34, 197, 94, 0.16);
  border-color: rgba(34, 197, 94, 0.26);
  color: #86efac;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerStatusPill.info {
  background: rgba(56, 189, 248, 0.16);
  border-color: rgba(56, 189, 248, 0.28);
  color: #bae6fd;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerStatusPill.warn {
  background: rgba(245, 158, 11, 0.16);
  border-color: rgba(245, 158, 11, 0.3);
  color: #fde68a;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerStatusPill.danger {
  background: rgba(239, 68, 68, 0.16);
  border-color: rgba(239, 68, 68, 0.3);
  color: #fecaca;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerStatusPill.active {
  background: rgba(59, 130, 246, 0.18);
  border-color: rgba(96, 165, 250, 0.34);
  color: #dbeafe;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] button.active {
  color: #e9f6ff;
  border-color: rgba(56, 189, 248, 0.76);
  background: linear-gradient(180deg, rgba(14, 116, 144, 0.92), rgba(10, 74, 112, 0.94));
  box-shadow: inset 0 0 0 1px rgba(125, 211, 252, 0.18), 0 12px 24px rgba(2, 8, 23, 0.16);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerCasiaSummaryGrid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerCasiaSummaryCard {
  display: grid;
  gap: 2px;
  padding: 9px 10px;
  border-radius: 12px;
  background: rgba(8, 16, 27, 0.62);
  border: 1px solid rgba(92, 126, 166, 0.18);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerCasiaSummaryLabel {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8ea6c2;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"] .opsDrawerCasiaSummaryValue {
  font-size: 17px;
  font-weight: 800;
  color: #eef8fb;
}

body.flightops-ops-console .casiaSensorMarkerShell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px 4px 4px;
  border-radius: 999px;
  background: rgba(8, 17, 29, 0.9);
  border: 1px solid rgba(191, 219, 254, 0.18);
  box-shadow: 0 10px 24px rgba(2, 8, 23, 0.26);
  color: #e2e8f0;
  white-space: nowrap;
}

body.flightops-ops-console .casiaSensorMarkerCore {
  width: 12px;
  height: 12px;
  display: inline-block;
  border-radius: 2px;
  background: var(--casia-sensor-color, #38bdf8);
  border: 2px solid rgba(255, 255, 255, 0.92);
  transform: rotate(45deg);
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.42);
}

body.flightops-ops-console .casiaSensorMarkerLabel {
  font: 700 10px/1 "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console .casiaSensorMarkerShell--compact {
  gap: 0;
  padding: 4px;
  background: rgba(8, 17, 29, 0.78);
}

body.flightops-ops-console .opsSiteMarker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px 3px 4px;
  border-radius: 999px;
  background: rgba(8, 17, 29, 0.88);
  border: 1px solid rgba(191, 219, 254, 0.16);
  box-shadow: 0 10px 24px rgba(2, 8, 23, 0.22);
  color: #e2e8f0;
  white-space: nowrap;
}

body.flightops-ops-console .opsSiteMarker--icon {
  padding-right: 4px;
}

body.flightops-ops-console .opsSiteMarker--label-only {
  padding-left: 8px;
}

body.flightops-ops-console .opsSiteMarkerSvg {
  width: 18px;
  height: 18px;
  display: block;
}

body.flightops-ops-console .opsSiteMarkerLabel {
  font: 700 10px/1 "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.flightops-ops-console .remoteIdOperatorMarkerShell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 8px 3px 4px;
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.92);
  border: 1px solid rgba(251, 146, 60, 0.28);
  box-shadow: 0 8px 20px rgba(2, 8, 23, 0.24);
  color: #fff7ed;
  white-space: nowrap;
}

body.flightops-ops-console .remoteIdOperatorMarkerCore {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 999px;
  background: var(--rid-operator-color, #fb923c);
  border: 2px solid rgba(255, 255, 255, 0.92);
  box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.42);
}

body.flightops-ops-console .remoteIdOperatorMarkerLabel {
  font: 700 10px/1 "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console {
  --auth-topbar-height: var(--fo-topbar-height-default);
}

body.flightops-ops-console #authTopbar {
  min-height: var(--auth-topbar-height);
  height: var(--auth-topbar-height);
  padding: 10px 16px;
  gap: 14px;
  background: linear-gradient(180deg, rgba(6, 18, 29, 0.97), rgba(10, 24, 38, 0.94));
  border-bottom: 1px solid rgba(150, 184, 216, 0.16);
  box-shadow: 0 16px 40px rgba(2, 9, 18, 0.34);
  backdrop-filter: blur(16px);
}

body.flightops-ops-console .authTopbarTitle {
  min-width: 280px;
  flex: 0 0 auto;
  gap: 14px;
}

body.flightops-ops-console .authTopbarTitleText strong {
  color: var(--fo-text-primary);
  font-size: 17px;
  letter-spacing: -0.02em;
}

body.flightops-ops-console .authTopbarSubtitle {
  color: rgba(175, 197, 221, 0.72);
}

body.flightops-ops-console .releaseVersionBadge {
  color: rgba(148, 174, 203, 0.76);
  text-shadow: none;
}

body.flightops-ops-console .authTopbarMenuBtn,
body.flightops-ops-console .topbarIconBtn,
body.flightops-ops-console .topNavBtn,
body.flightops-ops-console .authAccountMenuBtn {
  border-radius: 14px;
}

body.flightops-ops-console .authTopbarMenuBtn,
body.flightops-ops-console .topbarIconBtn {
  width: 44px;
  height: 44px;
  min-width: 44px;
  padding: 0;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(150, 184, 216, 0.18);
  color: var(--fo-text-primary);
  box-shadow: 0 10px 26px rgba(2, 8, 23, 0.18);
}

body.flightops-ops-console .authTopbarMenuBtn:hover,
body.flightops-ops-console .topbarIconBtn:hover,
body.flightops-ops-console .topNavBtn:hover,
body.flightops-ops-console .authAccountMenuBtn:hover,
body.flightops-ops-console .authAccountMenuBtn.open {
  background: rgba(255, 255, 255, 0.08);
}

body.flightops-ops-console .authTopbarMenuBtn.active,
body.flightops-ops-console .topbarWorkspaceGridBtn.active,
body.flightops-ops-console .topbarIconBtn.active,
body.flightops-ops-console .topNavBtn.active {
  background: linear-gradient(180deg, rgba(58, 130, 247, 0.98), rgba(37, 99, 235, 0.96));
  border-color: rgba(88, 153, 255, 0.86);
  color: #ffffff;
  box-shadow: 0 14px 30px rgba(37, 99, 235, 0.32);
}

body.flightops-ops-console .authTopbarCenter {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  min-width: 0;
}

body.flightops-ops-console .weatherTopbarStrip {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 0;
  width: 100%;
  min-width: 0;
  padding: 4px;
  border-radius: 20px;
  border: 1px solid rgba(148, 184, 221, 0.18);
  background: linear-gradient(180deg, rgba(16, 33, 53, 0.97), rgba(10, 22, 36, 0.97));
  box-shadow: 0 16px 36px rgba(2, 9, 18, 0.22);
}

body.flightops-ops-console .connectionDegradeBanner {
  position: fixed;
  top: calc(var(--runtime-health-top, var(--auth-topbar-height, 56px)) + var(--runtime-health-height, 0px) + 10px);
  right: 14px;
  z-index: 2170;
  display: flex;
  align-items: center;
  gap: 12px;
  width: min(620px, calc(100vw - 28px));
  padding: 10px 14px;
  border-radius: 16px;
  border: 1px solid rgba(245, 158, 11, 0.28);
  background: rgba(17, 25, 39, 0.94);
  color: #f8fafc;
  box-shadow: 0 16px 38px rgba(2, 9, 18, 0.28);
  backdrop-filter: blur(14px);
  pointer-events: none;
}

body.flightops-ops-console .connectionDegradeBanner[hidden] {
  display: none !important;
}

body.flightops-ops-console .connectionDegradeBanner[data-state="degraded"] {
  border-color: rgba(245, 158, 11, 0.38);
  background: linear-gradient(180deg, rgba(72, 44, 12, 0.96), rgba(39, 27, 10, 0.95));
}

body.flightops-ops-console .connectionDegradeBanner[data-state="offline"] {
  border-color: rgba(248, 113, 113, 0.44);
  background: linear-gradient(180deg, rgba(86, 22, 31, 0.97), rgba(50, 13, 19, 0.96));
}

body.flightops-ops-console .connectionDegradeBannerState {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff7ed;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console .connectionDegradeBanner[data-state="offline"] .connectionDegradeBannerState {
  color: #fff1f2;
}

body.flightops-ops-console .connectionDegradeBannerBody {
  display: grid;
  gap: 3px;
  min-width: 0;
}

body.flightops-ops-console .connectionDegradeBannerText {
  color: #f8fafc;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

body.flightops-ops-console .connectionDegradeBannerMeta {
  color: rgba(226, 232, 240, 0.82);
  font-size: 11px;
  line-height: 1.35;
}

body.authLocked .connectionDegradeBanner {
  display: none !important;
}

body.flightops-ops-console .weatherTopbarStrip.is-collapsed .weatherTopbarDetails {
  display: none;
}

body.flightops-ops-console .weatherTopbarStrip:not(.is-collapsed) .weatherTopbarCollapsedSummary {
  display: none;
}

body.flightops-ops-console .weatherTopbarStatusBtn,
body.flightops-ops-console .weatherTopbarSourceBtn,
body.flightops-ops-console .weatherTopbarCollapseBtn {
  border: 0;
  box-shadow: none;
}

body.flightops-ops-console .weatherTopbarStatusBtn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 156px;
  padding: 0 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(148, 184, 221, 0.14);
  color: var(--fo-text-primary);
  transition: background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

body.flightops-ops-console .weatherTopbarStatusBtn:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(148, 184, 221, 0.22);
}

body.flightops-ops-console .weatherTopbarStatusBtn.is-active {
  background: rgba(58, 130, 247, 0.18);
  border-color: rgba(96, 165, 250, 0.24);
  box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.12);
}

body.flightops-ops-console .weatherTopbarStatusIcon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: #b7d2ff;
  flex: 0 0 auto;
}

body.flightops-ops-console .weatherTopbarStatusIcon svg {
  width: 20px;
  height: 20px;
}

body.flightops-ops-console .weatherTopbarStatusTextWrap {
  display: grid;
  gap: 2px;
  min-width: 0;
  justify-items: start;
  text-align: left;
}

body.flightops-ops-console .weatherTopbarStatusTextWrap strong {
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console .weatherTopbarStatusTextWrap small {
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(226, 236, 247, 0.72);
}

body.flightops-ops-console .weatherTopbarSourceWrap {
  position: relative;
  flex: 0 1 178px;
  min-width: 0;
}

body.flightops-ops-console .weatherTopbarSourceBtn,
body.flightops-ops-console .weatherTopbarCollapsedSummary,
body.flightops-ops-console .weatherTopbarCell {
  min-height: 46px;
}

body.flightops-ops-console .weatherTopbarSourceBtn,
body.flightops-ops-console .weatherTopbarCollapsedSummary,
body.flightops-ops-console .weatherTopbarCell {
  display: grid;
  align-content: center;
  gap: 2px;
}

body.flightops-ops-console .weatherTopbarSourceBtn,
body.flightops-ops-console .weatherTopbarCollapsedSummary {
  padding: 0 14px;
}

body.flightops-ops-console .weatherTopbarSourceBtn {
  position: relative;
  width: 100%;
  min-width: 0;
  text-align: left;
  background: transparent;
  color: var(--fo-text-primary);
}

body.flightops-ops-console .weatherTopbarSourceNote {
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(148, 184, 221, 0.72);
}

body.flightops-ops-console .weatherTopbarSourceBtn::after {
  content: "v";
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -6px;
  font-size: 11px;
  color: var(--fo-text-muted);
}

body.flightops-ops-console .weatherTopbarCellLabel {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fo-text-muted);
}

body.flightops-ops-console .weatherTopbarCellValue,
body.flightops-ops-console .weatherTopbarCollapsedSummary {
  font-size: 12px;
  font-weight: 700;
  color: var(--fo-text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .weatherTopbarCollapsedSummary {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .weatherTopbarDetails {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(86px, 1fr);
  align-items: stretch;
  flex: 1 1 auto;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  padding-right: 4px;
}

body.flightops-ops-console .weatherTopbarDetails::-webkit-scrollbar {
  display: none;
}

body.flightops-ops-console .weatherTopbarCell {
  min-width: 0;
  min-height: 46px;
  padding: 0 12px;
  border-left: 1px solid rgba(148, 184, 221, 0.12);
}

body.flightops-ops-console .weatherTopbarWideOptional {
  min-width: 108px;
}

body.flightops-ops-console .weatherTopbarCell[data-tone="good"] .weatherTopbarCellValue {
  color: #99f6b2;
}

body.flightops-ops-console .weatherTopbarCell[data-tone="watch"] .weatherTopbarCellValue {
  color: #ffd58b;
}

body.flightops-ops-console .weatherTopbarCell[data-tone="stop"] .weatherTopbarCellValue {
  color: #ffb0b0;
}

body.flightops-ops-console .weatherTopbarFlightCategoryCell {
  flex: 0 0 92px;
}

body.flightops-ops-console .weatherTopbarChip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--fo-text-primary);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console .weatherTopbarChip.is-vfr {
  background: rgba(34, 197, 94, 0.16);
  color: #9ef3c1;
}

body.flightops-ops-console .weatherTopbarChip.is-mvfr {
  background: rgba(59, 130, 246, 0.18);
  color: #abd7ff;
}

body.flightops-ops-console .weatherTopbarChip.is-ifr,
body.flightops-ops-console .weatherTopbarChip.is-lifr {
  background: rgba(239, 68, 68, 0.18);
  color: #ffb0b0;
}

body.flightops-ops-console .weatherTopbarCollapseBtn {
  min-width: 36px;
  padding: 0 10px;
  background: transparent;
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .weatherTopbarCollapseBtn:hover {
  color: var(--fo-text-primary);
}

body.flightops-ops-console .weatherTopbarSourceMenu,
body.flightops-ops-console .topbarWorkspaceMenu,
body.flightops-ops-console .authAccountMenu {
  background: linear-gradient(180deg, rgba(10, 25, 40, 0.99), rgba(7, 18, 29, 0.99));
  border: 1px solid rgba(148, 184, 221, 0.18);
  box-shadow: 0 24px 56px rgba(1, 9, 18, 0.42);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .weatherTopbarSourceMenu[hidden],
body.flightops-ops-console .topbarWorkspaceMenu[hidden],
body.flightops-ops-console .authAccountMenu[hidden],
body.flightops-ops-console .topbarIconBadge[hidden] {
  display: none !important;
}

body.flightops-ops-console .weatherTopbarSourceMenu {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  width: 220px;
  padding: 8px;
  border-radius: 16px;
  display: grid;
  gap: 4px;
  z-index: 2215;
}

body.flightops-ops-console .weatherTopbarSourceMenu button,
body.flightops-ops-console .topbarWorkspaceMenuItem {
  border-radius: 14px;
  text-align: left;
}

body.flightops-ops-console .weatherTopbarSourceMenu button {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  background: transparent;
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .weatherTopbarSourceMenu button strong {
  color: var(--fo-text-primary);
  font-size: 13px;
}

body.flightops-ops-console .weatherTopbarSourceMenu button span {
  font-size: 11px;
}

body.flightops-ops-console .weatherTopbarSourceMenu button small {
  font-size: 10px;
  line-height: 1.3;
  color: rgba(148, 184, 221, 0.76);
  font-variant-numeric: tabular-nums;
}

body.flightops-ops-console .weatherTopbarSourceMenu button.active,
body.flightops-ops-console .weatherTopbarSourceMenu button:hover {
  background: rgba(255, 255, 255, 0.06);
}

body.flightops-ops-console .topNav {
  flex: 0 0 auto;
  justify-content: flex-end;
  gap: 8px;
}

body.flightops-ops-console .topNavBtn {
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid rgba(148, 184, 221, 0.16);
  background: rgba(255, 255, 255, 0.04);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .authTopbarRight {
  flex: 0 0 auto;
  gap: 12px;
}

body.flightops-ops-console .authTopSignedIn {
  gap: 10px;
}

body.flightops-ops-console .topbarIconBtn {
  position: relative;
  display: grid;
  place-items: center;
}

body.flightops-ops-console .topbarIconBtn svg,
body.flightops-ops-console .topbarWorkspaceMenuIcon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.flightops-ops-console .topbarIconBadge {
  position: absolute;
  top: -5px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #ef4444;
  color: #ffffff;
  font-size: 10px;
  font-weight: 900;
  box-shadow: 0 0 0 3px rgba(7, 18, 29, 0.96);
}

body.flightops-ops-console .topbarWorkspaceMenuWrap {
  position: relative;
  --topbar-workspace-menu-width: 326px;
  --topbar-workspace-menu-gap: 28px;
}

body.flightops-ops-console .topbarWorkspaceDots {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  width: 16px;
  height: 16px;
}

body.flightops-ops-console .topbarWorkspaceDots span {
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: currentColor;
}

body.flightops-ops-console .topbarWorkspaceMenu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: var(--topbar-workspace-menu-width);
  padding: 14px;
  border-radius: 22px;
  display: grid;
  gap: 12px;
  z-index: 2215;
}

body.flightops-ops-console .topbarTrackLegendPanel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 312px;
  padding: 14px;
  border-radius: 22px;
  display: grid;
  gap: 12px;
  z-index: 2214;
  background: linear-gradient(180deg, rgba(10, 25, 40, 0.99), rgba(7, 18, 29, 0.99));
  border: 1px solid rgba(148, 184, 221, 0.18);
  box-shadow: 0 24px 56px rgba(1, 9, 18, 0.42);
  color: var(--fo-text-primary);
  opacity: 0;
  transform: translateX(18px) scale(0.97);
  transform-origin: top right;
  pointer-events: none;
  transition: opacity 0.22s ease, transform 0.24s ease;
}

body.flightops-ops-console .topbarTrackLegendPanel[hidden] {
  display: none !important;
}

body.flightops-ops-console .topbarTrackLegendPanel.is-open {
  opacity: 1;
  transform: translateX(0) scale(1);
  pointer-events: auto;
}

body.flightops-ops-console .topbarWorkspaceMenuHeader {
  display: grid;
  gap: 4px;
}

body.flightops-ops-console .topbarTrackLegendHeader {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
}

body.flightops-ops-console .topbarTrackLegendHeaderCopy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.flightops-ops-console .topbarTrackLegendCloseBtn {
  min-width: 34px;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-size: 22px;
  line-height: 1;
  background: rgba(255, 255, 255, 0.06);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .topbarTrackLegendCloseBtn:hover {
  background: rgba(255, 255, 255, 0.12);
}

body.flightops-ops-console .topbarWorkspaceMenuTitle {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--fo-text-primary);
}

body.flightops-ops-console .topbarTrackLegendTitle {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--fo-text-primary);
}

body.flightops-ops-console .topbarWorkspaceMenuMeta {
  font-size: 12px;
  line-height: 1.4;
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .topbarTrackLegendMeta,
body.flightops-ops-console .topbarTrackLegendFoot {
  font-size: 12px;
  line-height: 1.45;
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .topbarWorkspaceMenuList {
  display: grid;
  gap: 10px;
}

body.flightops-ops-console .topbarTrackLegendList {
  display: grid;
  gap: 8px;
}

body.flightops-ops-console .topbarWorkspaceMenuItem {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 12px 13px;
  border: 1px solid rgba(148, 184, 221, 0.12);
  background: linear-gradient(180deg, rgba(17, 36, 58, 0.96), rgba(12, 26, 42, 0.98));
  color: var(--fo-text-primary);
}

body.flightops-ops-console .topbarWorkspaceMenuItem:hover {
  background: linear-gradient(180deg, rgba(21, 43, 68, 0.98), rgba(14, 30, 48, 0.99));
}

body.flightops-ops-console .topbarWorkspaceMenuItem.active {
  border-color: rgba(96, 165, 250, 0.34);
  box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.16);
}

body.flightops-ops-console .topbarWorkspaceMenuIcon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
}

body.flightops-ops-console .topbarTrackLegendItem {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  padding: 11px 12px;
  border-radius: 16px;
  border: 1px solid rgba(148, 184, 221, 0.12);
  background: linear-gradient(180deg, rgba(17, 36, 58, 0.9), rgba(12, 26, 42, 0.96));
}

body.flightops-ops-console .topbarTrackLegendSwatch {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
  flex: 0 0 auto;
}

body.flightops-ops-console .topbarTrackLegendSvg {
  width: 22px;
  height: 22px;
  overflow: visible;
}

body.flightops-ops-console .topbarTrackLegendBody {
  display: grid;
  gap: 3px;
  min-width: 0;
}

body.flightops-ops-console .topbarTrackLegendBody strong {
  font-size: 14px;
  color: var(--fo-text-primary);
}

body.flightops-ops-console .topbarTrackLegendBody small {
  font-size: 11px;
  line-height: 1.38;
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .topbarWorkspaceMenuBody {
  display: grid;
  gap: 3px;
  min-width: 0;
}

body.flightops-ops-console .topbarWorkspaceMenuBody strong {
  font-size: 15px;
  color: var(--fo-text-primary);
}

body.flightops-ops-console .topbarWorkspaceMenuBody small {
  font-size: 11px;
  line-height: 1.35;
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .topbarWorkspaceMenuBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--fo-text-secondary);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console .authAccountMenuBtn {
  min-width: 170px;
  padding: 9px 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(148, 184, 221, 0.16);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .authAccountRole {
  color: var(--fo-text-muted);
}

body.flightops-ops-console .authAccountMenu {
  min-width: 226px;
  padding: 8px;
  border-radius: 18px;
  gap: 4px;
}

body.flightops-ops-console .authAccountMenu button {
  color: var(--fo-text-primary);
  background: transparent;
  border: 0;
  border-radius: 12px;
  padding: 10px 12px;
}

body.flightops-ops-console .authAccountMenu button.active {
  background: rgba(58, 130, 247, 0.16);
  box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.16);
}

body.flightops-ops-console .authAccountMenu button:hover {
  background: rgba(255, 255, 255, 0.06);
}

@media (max-width: 1460px) {
  body.flightops-ops-console .weatherTopbarWideOptional {
    display: none;
  }
}

@media (max-width: 1024px) {
  body.flightops-ops-console .topbarTrackLegendPanel {
    right: 0;
    top: calc(100% + 10px);
    width: 326px;
    transform: translateY(-18px) scale(0.97);
    transform-origin: top center;
  }

  body.flightops-ops-console .topbarTrackLegendPanel.is-open {
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 1320px) {
  body.flightops-ops-console .weatherTopbarOptional {
    display: grid;
  }
}

@media (max-width: 1280px) {
  body.flightops-ops-console .weatherTopbarStrip {
    flex-wrap: wrap;
    row-gap: 4px;
  }

  body.flightops-ops-console .weatherTopbarStatusBtn {
    min-width: 48px;
    padding: 0 12px;
  }

  body.flightops-ops-console .weatherTopbarStatusTextWrap {
    display: none;
  }

  body.flightops-ops-console .weatherTopbarSourceWrap {
    flex: 0 1 132px;
  }

  body.flightops-ops-console .weatherTopbarCollapsedSummary {
    order: 4;
    flex: 1 1 100%;
  }

  body.flightops-ops-console .weatherTopbarDetails {
    order: 3;
    flex: 1 1 100%;
    grid-auto-columns: minmax(72px, 1fr);
    padding-right: 0;
    scrollbar-width: thin;
  }

  body.flightops-ops-console .weatherTopbarDetails::-webkit-scrollbar {
    display: block;
    height: 5px;
  }

  body.flightops-ops-console .weatherTopbarCellValue,
  body.flightops-ops-console .weatherTopbarCollapsedSummary {
    white-space: normal;
    text-overflow: clip;
  }
}

@media (max-width: 1180px) {
  body.flightops-ops-console #authTopbar {
    gap: 10px;
    padding: 10px 12px;
  }

  body.flightops-ops-console .authTopbarTitle {
    min-width: 240px;
  }

  body.flightops-ops-console .weatherTopbarStatusBtn {
    min-width: 148px;
  }

  body.flightops-ops-console .weatherTopbarSourceBtn {
    min-width: 0;
  }

  body.flightops-ops-console .weatherTopbarSourceWrap {
    flex-basis: 166px;
  }

  body.flightops-ops-console .weatherTopbarCellLabel {
    font-size: 8px;
    letter-spacing: 0.12em;
  }

  body.flightops-ops-console .weatherTopbarCellValue {
    font-size: 11px;
  }
}

@media (max-width: 1024px) {
  body.flightops-ops-console .weatherTopbarSourceWrap {
    display: none;
  }
}

/* BP: sm-plus (980) - stacked topbar */
@media (max-width: 980px) {
  body.flightops-ops-console {
    --auth-topbar-height: var(--fo-topbar-height-stacked);
  }

  body.flightops-ops-console #authTopbar {
    height: auto;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  body.flightops-ops-console .authTopbarCenter {
    order: 3;
    flex: 1 1 100%;
  }

  body.flightops-ops-console .topNav {
    justify-content: flex-start;
  }

  body.flightops-ops-console .weatherTopbarStrip {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  body.flightops-ops-console .weatherTopbarDetails {
    grid-auto-columns: minmax(78px, 1fr);
  }

  body.flightops-ops-console .connectionDegradeBanner {
    left: 10px;
    right: 10px;
    width: auto;
    padding: 10px 12px;
    border-radius: 14px;
  }

  body.flightops-ops-console .connectionDegradeBannerState {
    min-width: 78px;
    font-size: 10px;
  }

  body.flightops-ops-console .connectionDegradeBannerText {
    font-size: 12px;
  }
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] {
  left: 0 !important;
  right: 0 !important;
  top: var(--auth-topbar-height, 64px) !important;
  bottom: 0 !important;
  width: 100% !important;
  min-width: 0 !important;
  height: calc(100vh - var(--auth-topbar-height, 64px)) !important;
  max-width: none !important;
  max-height: calc(100vh - var(--auth-topbar-height, 64px)) !important;
  resize: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  grid-template-rows: auto minmax(0, 1fr);
  background: #08101c !important;
  transition:
    width 160ms ease,
    max-width 160ms ease,
    left 160ms ease,
    right 160ms ease,
    box-shadow 160ms ease;
  --comms-safe-bottom: 18px;
  --comms-bg-page: #08101c;
  --comms-bg-surface: #0b1728;
  --comms-bg-surface2: #0f1d2f;
  --comms-bg-surface3: #12253c;
  --comms-bg-card: #0e1b2c;
  --comms-bg-input: #0b1828;
  --comms-text-pri: #edf4fb;
  --comms-text-sec: #b6c6d8;
  --comms-text-muted: #8192a8;
  --comms-accent: #3a82f7;
  --comms-accent-dim: #1e4482;
  --comms-success: #22c55e;
  --comms-warning: #f59e0b;
  --comms-danger: #ef4444;
  --comms-border-sub: #1e2837;
  --comms-border-med: #28374b;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"]:not(.panelOpen) {
  display: none !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"].panelOpen {
  display: grid !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"][data-comms-view-mode="split"] {
  left: auto !important;
  right: 0 !important;
  width: clamp(560px, 50vw, 920px) !important;
  min-width: 560px !important;
  max-width: 920px !important;
  box-shadow: -18px 0 42px rgba(0, 0, 0, 0.34) !important;
  border-left: 1px solid rgba(121, 149, 187, 0.2) !important;
  background: rgba(8, 16, 28, 0.985) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .head {
  cursor: default;
  padding: 0;
  border: 0;
  background: transparent;
  min-height: 0;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .sectionBody {
  padding: 0;
  min-height: 0;
  height: auto;
  min-width: 0;
  overflow: hidden;
  background: var(--comms-bg-page);
}

body.flightops-ops-console .commsVoiceBar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 18px 18px 12px;
  background: linear-gradient(180deg, #152538, #101d2d);
  border-top: 1px solid rgba(58, 130, 247, 0.24);
  border-bottom: 1px solid var(--comms-border-sub);
  color: var(--comms-text-pri);
}

body.flightops-ops-console .commsVoiceBarMain {
  display: flex;
  align-items: center;
  gap: 18px;
  min-width: 0;
  padding-top: 2px;
}

body.flightops-ops-console .commsVoiceBarBrand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

body.flightops-ops-console .commsVoicePulse {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #64748b;
  box-shadow: 0 0 0 0 rgba(100, 116, 139, 0.22);
  flex: 0 0 auto;
}

body.flightops-ops-console .commsVoicePulse.is-live {
  background: var(--comms-success);
  box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.14);
}

body.flightops-ops-console .commsVoiceBrandCopy,
body.flightops-ops-console .commsVoiceSpeakerCopy,
body.flightops-ops-console .commsSidebarIdentityCopy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

body.flightops-ops-console .commsVoiceBrandTop {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}

body.flightops-ops-console .commsVoiceBrandLabel {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #d9e7f6;
}

body.flightops-ops-console .commsVoiceStatusBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(129, 146, 168, 0.16);
  border: 1px solid rgba(129, 146, 168, 0.24);
  color: #dce6f1;
}

body.flightops-ops-console .commsVoiceStatusBadge.is-live {
  background: rgba(34, 197, 94, 0.18);
  border-color: rgba(34, 197, 94, 0.32);
  color: #d9ffe6;
}

body.flightops-ops-console .commsVoiceParticipantCount,
body.flightops-ops-console .commsVoiceBrandSub {
  font-size: 13px;
  color: var(--comms-text-sec);
}

body.flightops-ops-console .commsVoiceBrandSub {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .commsVoiceSpeakerState {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding-left: 4px;
}

body.flightops-ops-console .commsVoiceSpeakerState[hidden] {
  display: none !important;
}

body.flightops-ops-console .commsVoiceSpeakerDot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--comms-success);
  box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.12);
}

body.flightops-ops-console .commsVoiceSpeakerName {
  font-size: 17px;
  font-weight: 700;
  color: #f4fbff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .commsVoiceSpeakerLabel {
  font-size: 12px;
  color: var(--comms-success);
  font-weight: 700;
  letter-spacing: 0.02em;
}

body.flightops-ops-console .commsVoiceParticipantStrip {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}

body.flightops-ops-console .commsVoiceBarActions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  padding-top: 2px;
}

body.flightops-ops-console .commsVoiceActionBtn,
body.flightops-ops-console .commsVoiceCloseBtn {
  min-height: 40px;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  border: 1px solid var(--comms-border-med) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--comms-text-pri) !important;
  white-space: nowrap;
}

body.flightops-ops-console .commsVoiceActionBtn[hidden] {
  display: none !important;
}

body.flightops-ops-console .commsVoiceActionBtn.is-active {
  background: rgba(58, 130, 247, 0.2) !important;
  border-color: rgba(58, 130, 247, 0.44) !important;
}

body.flightops-ops-console .commsVoiceActionBtn.is-live {
  background: rgba(239, 68, 68, 0.14) !important;
  border-color: rgba(239, 68, 68, 0.32) !important;
  color: #ffe4e4 !important;
}

body.flightops-ops-console .commsVoiceActionBtn.is-ready {
  background: rgba(34, 197, 94, 0.12) !important;
  border-color: rgba(34, 197, 94, 0.28) !important;
}

body.flightops-ops-console .commsVoiceActionBtn:disabled {
  opacity: 0.48;
}

body.flightops-ops-console .commsVoiceCloseBtn {
  min-width: 42px;
  padding: 10px 0 !important;
  font-size: 18px;
  line-height: 1;
}

body.flightops-ops-console .commsSplitViewBtn {
  min-width: 112px;
}

body.flightops-ops-console .commsPrimaryLayout {
  display: grid;
  grid-template-columns: clamp(240px, 24vw, 290px) minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"][data-comms-view-mode="split"] .commsPrimaryLayout {
  grid-template-columns: clamp(190px, 23vw, 248px) minmax(0, 1fr);
}

body.flightops-ops-console .commsSidebar {
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  min-height: 0;
  min-width: 0;
  background: linear-gradient(180deg, #0c1726, #0a1422);
  border-right: 1px solid var(--comms-border-sub);
}

body.flightops-ops-console .commsSidebarIdentity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  padding: 18px 18px 14px;
}

body.flightops-ops-console .commsSidebarName {
  font-size: 16px;
  font-weight: 800;
  color: var(--comms-text-pri);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .commsSidebarRole {
  font-size: 12px;
  color: var(--comms-text-sec);
}

body.flightops-ops-console .commsSidebarSearch {
  padding: 0 18px 16px;
}

body.flightops-ops-console .commsSidebarSearch input,
body.flightops-ops-console .commsSidebarFooter select,
body.flightops-ops-console .commsCompose textarea,
body.flightops-ops-console .commsCompact textarea {
  width: 100%;
  border: 1px solid var(--comms-border-med);
  border-radius: 14px;
  padding: 11px 12px;
  background: var(--comms-bg-input);
  color: var(--comms-text-pri);
  box-sizing: border-box;
  font: inherit;
}

body.flightops-ops-console .commsSidebarSearch input::placeholder,
body.flightops-ops-console .commsCompose textarea::placeholder,
body.flightops-ops-console .commsCompact textarea::placeholder {
  color: var(--comms-text-muted);
}

body.flightops-ops-console .commsSidebarSection {
  display: grid;
  gap: 10px;
  padding: 0 18px 18px;
}

body.flightops-ops-console .commsSidebarSection.commsDirectSection {
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  padding-top: 4px;
}

body.flightops-ops-console .commsSidebarLabel,
body.flightops-ops-console .commsSidebarFooterLabel {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #89a3bf;
}

body.flightops-ops-console .commsPrimaryThreadSection,
body.flightops-ops-console .commsDirectoryList,
body.flightops-ops-console .commsMessages {
  display: grid;
  gap: 10px;
  align-content: start;
}

body.flightops-ops-console .commsDirectoryScroll {
  min-height: 0;
  overflow-y: auto;
  padding-right: 6px;
}

body.flightops-ops-console .commsSidebarFooter {
  display: grid;
  gap: 10px;
  padding: 14px 18px 18px;
  border-top: 1px solid var(--comms-border-sub);
  background: rgba(6, 13, 21, 0.84);
}

body.flightops-ops-console .commsAudioDeviceGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

body.flightops-ops-console .commsAudioField {
  display: grid;
  gap: 6px;
}

body.flightops-ops-console .commsAudioField span {
  font-size: 12px;
  color: var(--comms-text-sec);
}

body.flightops-ops-console .commsSidebarFooterActions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

body.flightops-ops-console .commsSidebarStatus {
  min-height: 16px;
  font-size: 12px;
  line-height: 1.35;
  color: var(--comms-text-muted);
}

body.flightops-ops-console .commsThreadCard {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: flex-start;
  padding: 13px 14px;
  border-radius: 18px !important;
  border: 1px solid rgba(40, 55, 75, 0.9);
  background: rgba(17, 31, 49, 0.82);
  color: var(--comms-text-pri);
  text-align: left;
  transition: border-color 0.16s ease, background 0.16s ease, transform 0.16s ease;
}

body.flightops-ops-console .commsThreadCard:hover {
  border-color: rgba(58, 130, 247, 0.34);
  background: rgba(19, 35, 56, 0.92);
}

body.flightops-ops-console .commsThreadCard.active {
  background: rgba(41, 83, 144, 0.58);
  border-color: rgba(58, 130, 247, 0.48);
  box-shadow: inset 0 0 0 1px rgba(58, 130, 247, 0.08);
}

body.flightops-ops-console .commsThreadCard.voiceActive {
  box-shadow: inset 0 0 0 1px rgba(34, 197, 94, 0.1);
}

body.flightops-ops-console .commsThreadCard.offline .commsThreadTitle,
body.flightops-ops-console .commsThreadCard.offline .commsThreadPreview,
body.flightops-ops-console .commsThreadCard.offline .commsThreadTimestamp {
  opacity: 0.74;
}

body.flightops-ops-console .commsThreadLead {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
}

body.flightops-ops-console .commsThreadCopy {
  display: grid;
  gap: 5px;
  min-width: 0;
}

body.flightops-ops-console .commsThreadTop {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

body.flightops-ops-console .commsThreadTitle {
  font-size: 15px;
  font-weight: 700;
  color: var(--comms-text-pri);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .commsThreadPreview {
  font-size: 12px;
  color: var(--comms-text-sec);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .commsThreadMeta {
  display: grid;
  justify-items: end;
  gap: 8px;
  align-content: start;
}

body.flightops-ops-console .commsThreadTimestamp {
  font-size: 11px;
  color: var(--comms-text-muted);
}

body.flightops-ops-console .commsThreadVoicePill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(34, 197, 94, 0.18);
  border: 1px solid rgba(34, 197, 94, 0.28);
  color: #dcffe8;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.flightops-ops-console .commsChannelDot {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  flex: 0 0 auto;
}

body.flightops-ops-console .commsChannelDot.is-live {
  background: var(--comms-success);
  box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12);
}

body.flightops-ops-console .commsChannelDot.is-idle {
  background: #64748b;
}

body.flightops-ops-console .commsBadge {
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(58, 130, 247, 0.22);
  color: #eff6ff;
  font-size: 11px;
  font-weight: 800;
}

body.flightops-ops-console .commsOverflowBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 26px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.06);
  color: var(--comms-text-sec);
  font-size: 11px;
  font-weight: 700;
}

body.flightops-ops-console .commsPaneTitle {
  font-size: 14px;
  font-weight: 800;
  color: var(--comms-text-pri);
}

body.flightops-ops-console .commsPaneSub {
  font-size: 12px;
  color: var(--comms-text-muted);
}

body.flightops-ops-console .commsAvatar {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  color: #f8fbff;
  font-size: 15px;
  font-weight: 800;
  overflow: hidden;
  flex: 0 0 auto;
  background: #64748b;
}

body.flightops-ops-console .commsAvatar.small {
  width: 26px;
  height: 26px;
  font-size: 12px;
}

body.flightops-ops-console .commsAvatar[data-role="range_controller"] {
  background: #3a82f7;
}

body.flightops-ops-console .commsAvatar[data-role="pilot"] {
  background: #22c55e;
}

body.flightops-ops-console .commsAvatar[data-role="observer"] {
  background: #8192a8;
}

body.flightops-ops-console .commsAvatar[data-role="comms_supervisor"] {
  background: #f59e0b;
}

body.flightops-ops-console .commsAvatar.is-speaking {
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.24);
}

body.flightops-ops-console .commsPresenceDot {
  position: absolute;
  right: 1px;
  bottom: 1px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 2px solid #08101c;
  background: #64748b;
}

body.flightops-ops-console .commsPresenceDot.is-online {
  background: var(--comms-success);
}

body.flightops-ops-console .commsPresenceDot.is-offline {
  background: #64748b;
}

body.flightops-ops-console .commsAvatarSlash {
  position: absolute;
  inset: 5px 16px;
  background: rgba(239, 68, 68, 0.96);
  border-radius: 999px;
  transform: rotate(45deg);
}

body.flightops-ops-console .commsRoleBadge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #e6eff8;
}

body.flightops-ops-console .commsRoleBadge[data-role="range_controller"] {
  background: rgba(58, 130, 247, 0.2);
  border-color: rgba(58, 130, 247, 0.3);
  color: #dcebff;
}

body.flightops-ops-console .commsRoleBadge[data-role="pilot"] {
  background: rgba(34, 197, 94, 0.2);
  border-color: rgba(34, 197, 94, 0.3);
  color: #dcffe8;
}

body.flightops-ops-console .commsRoleBadge[data-role="observer"] {
  background: rgba(129, 146, 168, 0.18);
  border-color: rgba(129, 146, 168, 0.26);
  color: #dde7f2;
}

body.flightops-ops-console .commsRoleBadge[data-role="comms_supervisor"] {
  background: rgba(245, 158, 11, 0.2);
  border-color: rgba(245, 158, 11, 0.32);
  color: #fff0cf;
}

body.flightops-ops-console .commsMessagePane {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 0;
  min-width: 0;
  background:
    radial-gradient(circle at top left, rgba(58, 130, 247, 0.09), transparent 32%),
    linear-gradient(180deg, #09111d, #08121e 82%);
}

body.flightops-ops-console .commsThreadHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 22px 12px;
  border-bottom: 1px solid rgba(30, 40, 55, 0.95);
}

body.flightops-ops-console .commsThreadHeading {
  display: grid;
  gap: 6px;
  min-width: 0;
}

body.flightops-ops-console #commsActiveThreadTitle {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.04;
  color: var(--comms-text-pri);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .commsThreadMetaRow {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

body.flightops-ops-console #commsActiveThreadSub {
  font-size: 13px;
  color: var(--comms-text-sec);
}

body.flightops-ops-console .commsThreadHeaderMeta,
body.flightops-ops-console .commsThreadAudience,
body.flightops-ops-console .commsComposeActions,
body.flightops-ops-console .commsCompactActions,
body.flightops-ops-console .commsChipRow {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

body.flightops-ops-console .commsThreadMetaPill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.05);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--comms-text-sec);
}

body.flightops-ops-console .commsThreadMetaPill.is-live {
  background: rgba(34, 197, 94, 0.18);
  border-color: rgba(34, 197, 94, 0.28);
  color: #dcffe8;
}

body.flightops-ops-console .commsThreadHeaderSide {
  display: grid;
  justify-items: end;
  gap: 10px;
}

body.flightops-ops-console #commsMainContent {
  padding: 18px 22px 10px;
  overflow: hidden;
  min-height: 0;
}

body.flightops-ops-console #commsMessageList {
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  padding-right: 10px;
}

body.flightops-ops-console .commsMessages {
  gap: 12px;
  padding: 2px 0 10px;
}

body.flightops-ops-console .commsMessage {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: flex-end;
  max-width: min(820px, 86%);
}

body.flightops-ops-console .commsMessage.outbound {
  grid-template-columns: minmax(0, 1fr);
  margin-left: auto;
}

body.flightops-ops-console .commsMessage.stacked {
  margin-top: -4px;
  grid-template-columns: minmax(0, 1fr);
}

body.flightops-ops-console .commsMessage.stacked:not(.outbound) {
  margin-left: 50px;
}

body.flightops-ops-console .commsMessage.stacked .commsAvatar,
body.flightops-ops-console .commsMessage.stacked .commsMessageMeta {
  display: none;
}

body.flightops-ops-console .commsMessageBubble {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(13, 25, 42, 0.92);
  border: 1px solid rgba(74, 101, 136, 0.35);
  box-shadow: 0 12px 22px rgba(0, 0, 0, 0.18);
}

body.flightops-ops-console .commsMessage.outbound .commsMessageBubble {
  background: rgba(20, 45, 80, 0.98);
  border-color: rgba(58, 130, 247, 0.36);
}

body.flightops-ops-console .commsMessage.rangeControl .commsMessageBubble {
  border-color: rgba(58, 130, 247, 0.34);
}

body.flightops-ops-console .commsMessageMeta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

body.flightops-ops-console .commsMessageIdentity {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

body.flightops-ops-console .commsMessageSender {
  font-size: 15px;
  font-weight: 800;
  color: #f4f9ff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.flightops-ops-console .commsMessageStamp {
  font-size: 12px;
  color: var(--comms-text-muted);
}

body.flightops-ops-console .commsMessageBody {
  font-size: 15px;
  line-height: 1.52;
  color: #d7e3f1;
  word-break: break-word;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageBody {
  color: #eaf4ff;
}

body.flightops-ops-console .commsSystemEvent {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 10px 0 4px;
  color: var(--comms-text-muted);
  font-size: 12px;
}

body.flightops-ops-console .commsSystemLine {
  flex: 1 1 42px;
  height: 1px;
  background: rgba(129, 146, 168, 0.22);
}

body.flightops-ops-console .commsSystemLabel {
  white-space: nowrap;
}

body.flightops-ops-console .commsCompose {
  display: grid;
  gap: 10px;
  padding: 16px 22px calc(18px + var(--comms-safe-bottom)) 22px;
  border-top: 1px solid rgba(30, 40, 55, 0.95);
  background: linear-gradient(180deg, rgba(8, 14, 24, 0.84), rgba(8, 14, 24, 0.98));
}

body.flightops-ops-console .commsCompose textarea {
  min-height: 68px;
  resize: vertical;
}

body.flightops-ops-console .commsComposeHint {
  margin-right: auto;
  max-width: 70%;
  font-size: 12px;
  line-height: 1.4;
  color: var(--comms-text-sec);
}

body.flightops-ops-console #commsSendBtn {
  min-width: 112px;
  height: 42px;
  padding: 0 18px;
  border-radius: 12px;
  border: 1px solid rgba(58, 130, 247, 0.38);
  background: linear-gradient(180deg, rgba(58, 130, 247, 0.3), rgba(30, 68, 130, 0.42));
  color: #eef6ff;
  font-weight: 800;
}

body.flightops-ops-console .commsEmpty {
  padding: 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px dashed rgba(255, 255, 255, 0.1);
  color: var(--comms-text-muted);
  font-size: 13px;
}

body.flightops-ops-console .commsLogCard,
body.flightops-ops-console .commsAssignmentRow,
body.flightops-ops-console .commsSpeaker {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #dbe7f3;
}

body.flightops-ops-console .commsLogTop,
body.flightops-ops-console .commsSpeakerControls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body.flightops-ops-console .commsArchiveActionRow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

body.flightops-ops-console .commsArchiveDetail {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}

body.flightops-ops-console .commsArchiveThreadCard {
  background: rgba(9, 18, 29, 0.72);
}

body.flightops-ops-console .commsArchiveMessageList {
  display: grid;
  gap: 8px;
  max-height: 260px;
  padding-right: 4px;
  overflow: auto;
}

body.flightops-ops-console .commsArchiveMessageRow {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

body.flightops-ops-console .commsSpeakerTag {
  padding: 6px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  font-size: 11px;
  color: #dbe7f3;
}

body.flightops-ops-console .commsSpeakerTag.controller {
  background: rgba(58, 130, 247, 0.18);
  border-color: rgba(58, 130, 247, 0.28);
}

body.flightops-ops-console .commsSpeakerTag.live {
  background: rgba(34, 197, 94, 0.18);
  border-color: rgba(34, 197, 94, 0.26);
}

body.flightops-ops-console .commsSettingsSlider {
  display: grid;
  gap: 6px;
}

body.flightops-ops-console .commsSettingsSlider .sub {
  margin: 0;
}

body.flightops-ops-console .commsSettingsGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

body.flightops-ops-console .commsAssignmentRow {
  grid-template-columns: minmax(0, 1fr) 150px 180px;
  align-items: center;
}

body.flightops-ops-console .commsAssignmentMeta {
  display: grid;
  gap: 2px;
}

body.flightops-ops-console .commsAssignmentMeta .sub {
  margin: 0;
  color: #97aac0;
}

body.flightops-ops-console .commsChip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #d5e3f4;
  font-size: 12px;
}

body.flightops-ops-console .commsChip.selected,
body.flightops-ops-console .commsChip.controller {
  background: rgba(58, 130, 247, 0.18);
  border-color: rgba(58, 130, 247, 0.3);
}

body.flightops-ops-console .commsCompact {
  position: fixed;
  left: 18px;
  bottom: 18px;
  z-index: 2144;
  display: flex;
  align-items: flex-end;
  gap: 0;
  max-width: min(420px, calc(100vw - 36px));
}

body.flightops-ops-console .commsCompact[hidden] {
  display: none !important;
}

body.flightops-ops-console .commsCompactLauncher {
  display: none;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 62px;
  height: 62px;
  padding: 0;
  border-radius: 16px;
  border: 1px solid rgba(95, 131, 167, 0.22);
  background: linear-gradient(180deg, rgba(15, 28, 45, 0.98), rgba(8, 17, 30, 0.99));
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
  color: #edf6ff;
}

body.flightops-ops-console .commsCompactLauncher svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.flightops-ops-console .commsCompactMain {
  width: min(374px, calc(100vw - 36px));
  display: grid;
  grid-template-rows: auto 1fr auto;
  background: linear-gradient(180deg, rgba(15, 28, 45, 0.98), rgba(8, 17, 30, 0.99));
  border: 1px solid rgba(95, 131, 167, 0.22);
  border-radius: 18px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

body.flightops-ops-console .commsCompact.collapsed .commsCompactLauncher {
  display: flex;
}

body.flightops-ops-console .commsCompact.collapsed .commsCompactMain {
  display: none;
}

body.flightops-ops-console .commsCompactHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(95, 131, 167, 0.18);
}

body.flightops-ops-console .commsCompactBody {
  display: grid;
  gap: 10px;
  padding: 12px 14px 10px;
  min-height: 0;
}

body.flightops-ops-console .commsCompactFooter {
  display: grid;
  gap: 8px;
  padding: 12px 14px;
  border-top: 1px solid rgba(95, 131, 167, 0.18);
}

body.flightops-ops-console .commsCompactTop {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  align-items: start;
}

body.flightops-ops-console .commsCompactTopCard {
  padding: 9px 10px;
  border: 1px solid rgba(95, 131, 167, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
}

body.flightops-ops-console .commsCompactVoicePill {
  padding: 10px 11px;
  border: 1px solid rgba(95, 131, 167, 0.18);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  min-width: 84px;
  text-align: center;
  font-size: 12px;
  color: #dbe7f3;
}

body.flightops-ops-console .commsCompactMessages {
  height: 152px;
  overflow-y: auto;
  display: grid;
  gap: 8px;
  padding-right: 4px;
}

body.flightops-ops-console .commsCompactVoiceBtn {
  min-width: 98px;
  padding: 11px 12px !important;
}

body.flightops-ops-console .commsCompactSendPrimary {
  flex: 1;
  padding: 12px 14px !important;
  border: 1px solid rgba(109, 183, 255, 0.42) !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, rgba(109, 183, 255, 0.28), rgba(40, 97, 158, 0.36)) !important;
  color: #edf6ff !important;
  font-weight: 700;
}

body.flightops-ops-console .commsCompact .commsMessage {
  max-width: 100%;
  gap: 8px;
}

body.flightops-ops-console .commsCompact .commsMessage.stacked:not(.outbound) {
  margin-left: 32px;
}

body.flightops-ops-console .commsCompact .commsMessageBubble {
  padding: 10px 12px;
  border-radius: 14px;
}

body.flightops-ops-console .commsCompact .commsMessageSender {
  font-size: 13px;
}

body.flightops-ops-console .commsCompact .commsMessageBody {
  font-size: 13px;
}

body.flightops-ops-console .commsCompact .commsAvatar {
  width: 24px;
  height: 24px;
  font-size: 11px;
}

body.flightops-ops-console .commsHidden {
  display: none !important;
}

body.flightops-ops-console .commsMapToastHost {
  position: fixed;
  top: 74px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2146;
  width: min(520px, calc(100vw - 28px));
  display: grid;
  pointer-events: none;
}

body.flightops-ops-console .commsMapToastHost[hidden] {
  display: none !important;
}

body.flightops-ops-console .commsMapToast {
  pointer-events: auto;
  display: grid;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(15, 28, 45, 0.98), rgba(8, 17, 30, 0.99));
  border: 1px solid rgba(95, 131, 167, 0.28);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
  color: #edf6ff;
}

body.flightops-ops-console .commsMapToastTop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

body.flightops-ops-console .commsMapToastLabel {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8fb5de;
}

body.flightops-ops-console .commsMapToastClose {
  min-width: 30px;
  height: 30px;
  padding: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  color: #edf6ff !important;
  display: grid;
  place-items: center;
  font-size: 18px;
  line-height: 1;
}

body.flightops-ops-console .commsMapToastClose:hover {
  background: rgba(255, 255, 255, 0.14) !important;
}

body.flightops-ops-console .commsMapToastSender {
  font-size: 13px;
  font-weight: 700;
  color: #eef7ff;
}

body.flightops-ops-console .commsMapToastBody {
  font-size: 14px;
  line-height: 1.35;
  color: #dce9f8;
  word-break: break-word;
}

body.flightops-ops-console .commsMapToastMeta {
  font-size: 12px;
  color: #8ea8c0;
}

body.commsPanelActive #commsCompact {
  display: none !important;
}

body.commsPanelActive:not(.commsSplitViewActive) #mapUtilityDrawer,
body.commsPanelActive:not(.commsSplitViewActive) #monitoringDock {
  display: none !important;
}

@media (max-width: 1250px) {
  body.flightops-ops-console .commsVoiceBar {
    grid-template-columns: 1fr;
  }

  body.flightops-ops-console .commsVoiceBarActions {
    justify-content: flex-start;
  }

  body.flightops-ops-console .commsVoiceParticipantStrip {
    order: 3;
  }

  body.flightops-ops-console .commsVoiceSpeakerState {
    order: 2;
    width: 100%;
  }
}

@media (max-width: 980px) {
  body.flightops-ops-console #sidebar .panelSection[data-panel="comms"][data-comms-view-mode="split"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-shadow: none !important;
    border-left: 0 !important;
  }

  body.flightops-ops-console .commsPrimaryLayout {
    grid-template-columns: 1fr;
  }

  body.flightops-ops-console .commsSidebar {
    grid-template-rows: auto auto auto minmax(200px, 32vh) auto;
    border-right: 0;
    border-bottom: 1px solid var(--comms-border-sub);
  }

  body.flightops-ops-console .commsAudioDeviceGrid {
    grid-template-columns: 1fr;
  }

  body.flightops-ops-console .commsComposeHint {
    max-width: none;
  }
}

@media (max-width: 720px) {
  body.flightops-ops-console .commsVoiceBar {
    padding: 15px 14px 11px;
  }

  body.flightops-ops-console .commsSidebarIdentity,
  body.flightops-ops-console .commsSidebarSearch,
  body.flightops-ops-console .commsSidebarSection,
  body.flightops-ops-console .commsSidebarFooter,
  body.flightops-ops-console .commsThreadHeader,
  body.flightops-ops-console #commsMainContent,
  body.flightops-ops-console .commsCompose {
    padding-left: 14px;
    padding-right: 14px;
  }

  body.flightops-ops-console .commsMessage {
    max-width: 100%;
  }

  body.flightops-ops-console .commsMessage.stacked:not(.outbound) {
    margin-left: 34px;
  }

  body.flightops-ops-console .commsThreadHeaderSide {
    justify-items: start;
  }

  body.flightops-ops-console .commsThreadHeader {
    flex-direction: column;
    align-items: flex-start;
  }

  body.flightops-ops-console .commsVoiceBarActions {
    width: 100%;
  }

  body.flightops-ops-console .commsVoiceActionBtn {
    flex: 1 1 auto;
  }

  body.flightops-ops-console .commsSplitViewBtn {
    min-width: 0;
  }

  body.flightops-ops-console .commsVoiceCloseBtn {
    flex: 0 0 42px;
  }
}

.telemetryMissionWaypointShell{
  background:transparent;
  border:none;
}

.telemetryMissionWaypointIcon{
  width:22px;
  height:22px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(8,19,33,.92);
  border:1px solid rgba(125,211,252,.7);
  box-shadow:0 8px 18px rgba(2,6,23,.36);
}

.telemetryMissionWaypointIcon.is-active{
  background:rgba(59,130,246,.96);
  border-color:rgba(191,219,254,.96);
  box-shadow:0 0 0 2px rgba(96,165,250,.28),0 10px 22px rgba(30,64,175,.38);
}

.telemetryMissionWaypointNumber{
  color:#e0f2fe;
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.01em;
}

body.flightops-ops-console .telemetryMissionPanel{
  display:grid;
  gap:12px;
  margin-top:10px;
  padding:12px;
  border-radius:14px;
  background:rgba(8,19,33,.68);
  border:1px solid rgba(125,211,252,.16);
}

body.flightops-ops-console .telemetryMissionTelemetryCard{
  display:grid;
  gap:10px;
  margin-top:10px;
  padding:12px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(9,24,39,.84), rgba(8,19,33,.72));
  border:1px solid rgba(125,211,252,.16);
}

body.flightops-ops-console .telemetryMissionTelemetryHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

body.flightops-ops-console .telemetryMissionTelemetryTop{
  display:grid;
  gap:3px;
  min-width:0;
}

body.flightops-ops-console .telemetryMissionTelemetryKicker{
  color:#8ea8c0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.flightops-ops-console .telemetryMissionTelemetryTitle{
  color:#eef7ff;
  font-size:18px;
  font-weight:800;
  line-height:1.05;
  overflow-wrap:anywhere;
}

body.flightops-ops-console .telemetryMissionTelemetryMeta{
  color:#9fb7d0;
  font-size:12px;
  line-height:1.4;
}

body.flightops-ops-console .missionWorkspaceBody{
  padding:12px;
}

body.flightops-ops-console .missionWorkspaceShell{
  display:grid;
  grid-template-columns:minmax(236px,268px) minmax(0,1fr);
  gap:12px;
  align-items:start;
}

body.flightops-ops-console .missionWorkspaceMenu{
  display:grid;
  gap:10px;
  align-content:start;
}

body.flightops-ops-console .missionWorkspaceMenuCard,
body.flightops-ops-console .missionWorkspaceOwnshipCard{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(9,24,39,.84), rgba(8,19,33,.72));
  border:1px solid rgba(125,211,252,.16);
}

body.flightops-ops-console .missionWorkspaceMenuLabel{
  color:#8ea8c0;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.flightops-ops-console .missionWorkspaceMenu select{
  width:100%;
}

body.flightops-ops-console .missionWorkspaceButtonStack{
  display:grid;
  gap:8px;
}

body.flightops-ops-console .missionWorkspaceButtonStack button{
  min-width:0;
}

body.flightops-ops-console .missionWorkspaceMenu button.is-active{
  background:#1d4ed8 !important;
  border-color:#1d4ed8 !important;
  color:#fff !important;
  box-shadow:0 0 0 1px rgba(29,78,216,.18),0 10px 22px rgba(37,99,235,.18);
}

body.flightops-ops-console .missionWorkspaceMenu button:disabled{
  opacity:.55;
  cursor:default;
}

body.flightops-ops-console .missionWorkspaceStage{
  position:relative;
  display:grid;
  gap:10px;
  min-width:0;
  align-content:start;
}

body.flightops-ops-console .telemetryMissionTelemetryToggle{
  min-width:118px;
  align-self:start;
}

body.flightops-ops-console .telemetryMissionTelemetryGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"]{
  margin-top:0;
  padding:10px 12px;
  gap:10px;
  grid-template-columns:minmax(200px, 248px) minmax(0, 1fr);
  align-items:stretch;
  position:relative;
  z-index:2;
}

body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"] .telemetryMissionTelemetryHead{
  align-items:center;
  padding-right:10px;
  border-right:1px solid rgba(154,179,214,.12);
}

body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"] .telemetryMissionTelemetryTop{
  gap:2px;
}

body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"] .telemetryMissionTelemetryTitle{
  font-size:16px;
}

body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"] .telemetryMissionTelemetryMeta{
  font-size:11px;
}

body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"] .telemetryMissionTelemetryToggle{
  min-width:132px;
}

body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"] .telemetryMissionTelemetryGrid{
  grid-template-columns:repeat(6, minmax(0, 1fr));
}

body.flightops-ops-console .telemetryMissionTelemetryCell{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(154,179,214,.1);
}

body.flightops-ops-console .telemetryMissionTelemetryValue{
  color:var(--fo-text-primary);
  font-size:15px;
  font-weight:700;
  line-height:1.2;
  overflow-wrap:anywhere;
}

body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"] .telemetryMissionTelemetryCell{
  min-height:0;
  padding:8px 10px;
}

body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"] .telemetryMissionTelemetryValue{
  font-size:14px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.flightops-ops-console .telemetryMissionToggleRow{
  align-items:center;
  gap:12px;
}

body.flightops-ops-console .telemetryMissionToggleButtons{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  min-width:min(320px,100%);
}

body.flightops-ops-console .telemetryMissionToggleButtons button{
  min-width:0;
}

body.flightops-ops-console .telemetryMissionPanelHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

body.flightops-ops-console .telemetryMissionSummaryGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

body.flightops-ops-console .telemetryMissionSummaryCard{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(154,179,214,.1);
}

body.flightops-ops-console .telemetryMissionSummaryValue{
  color:var(--fo-text-primary);
  font-size:18px;
  font-weight:700;
  line-height:1.1;
}

body.flightops-ops-console .telemetryMissionCommandList{
  display:grid;
  gap:8px;
  max-height:196px;
  overflow:auto;
}

body.flightops-ops-console .telemetryMissionCommandItem{
  align-items:center;
}

body.flightops-ops-console .telemetryMissionCommandBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(58,130,247,.18);
  border:1px solid rgba(96,165,250,.24);
  color:#bfdbfe;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
}

body.flightops-ops-console .telemetryRtkMissionSummaryGrid{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

body.flightops-ops-console .telemetryRtkMissionActions{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

body.flightops-ops-console .telemetryRtkMissionActions button{
  min-width:0;
}

body.flightops-ops-console .telemetryRtkMissionSelectedShell{
  display:grid;
  gap:8px;
}

body.flightops-ops-console .telemetryRtkMissionSelectedCard{
  display:grid;
  gap:7px;
  padding:12px 12px 11px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(9,24,39,.96), rgba(5,16,28,.94));
  border:1px solid rgba(96,126,158,.22);
  box-shadow:0 14px 32px rgba(1,9,18,.26);
}

body.flightops-ops-console .telemetryRtkMissionSelectedTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

body.flightops-ops-console .telemetryRtkMissionModeToggle{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:2px;
  border-radius:999px;
  background:rgba(15,23,42,.5);
  border:1px solid rgba(96,126,158,.2);
}

body.flightops-ops-console .telemetryRtkMissionModeButton,
body.flightops-ops-console .telemetryRtkMissionSelectedState{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 9px;
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.flightops-ops-console .telemetryRtkMissionModeButton{
  cursor:pointer;
  background:transparent;
  border:0;
  color:#8ea8c0;
}

body.flightops-ops-console .telemetryRtkMissionModeButton[data-rtk-mission-active="1"]{
  color:#bfdbfe;
  background:rgba(58,130,247,.18);
  box-shadow:inset 0 0 0 1px rgba(96,165,250,.24);
}

body.flightops-ops-console .telemetryRtkMissionSelectedState{
  color:#e2e8f0;
  background:rgba(71,85,105,.28);
  border:1px solid rgba(148,163,184,.2);
}

body.flightops-ops-console .telemetryRtkMissionSelectedCard[data-rtk-mission-selected-tone="up"] .telemetryRtkMissionSelectedState{
  color:#dcfce7;
  background:rgba(34,197,94,.16);
  border-color:rgba(34,197,94,.26);
}

body.flightops-ops-console .telemetryRtkMissionSelectedCard[data-rtk-mission-selected-tone="survey"] .telemetryRtkMissionSelectedState{
  color:#fef3c7;
  background:rgba(245,158,11,.16);
  border-color:rgba(245,158,11,.24);
}

body.flightops-ops-console .telemetryRtkMissionSelectedCard[data-rtk-mission-selected-tone="stale"] .telemetryRtkMissionSelectedState{
  color:#fed7aa;
  background:rgba(249,115,22,.16);
  border-color:rgba(249,115,22,.24);
}

body.flightops-ops-console .telemetryRtkMissionSelectedCard[data-rtk-mission-selected-tone="down"] .telemetryRtkMissionSelectedState{
  color:#fecaca;
  background:rgba(239,68,68,.16);
  border-color:rgba(239,68,68,.24);
}

body.flightops-ops-console .telemetryRtkMissionSelectedName{
  color:#eef7ff;
  font-size:17px;
  font-weight:800;
  line-height:1.08;
}

body.flightops-ops-console .telemetryRtkMissionSelectedRoute{
  color:#d7e7f8;
  font-size:12px;
  font-weight:700;
  line-height:1.2;
}

body.flightops-ops-console .telemetryRtkMissionSelectedNote,
body.flightops-ops-console .telemetryRtkMissionSelectedMeta{
  color:#9fb7d0;
  font-size:11px;
  line-height:1.35;
}

body.flightops-ops-console .telemetryRtkMissionBaseSection{
  display:grid;
  gap:8px;
}

body.flightops-ops-console .telemetryRtkMissionBaseGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(118px, 1fr));
  gap:8px;
}

body.flightops-ops-console .telemetryRtkMissionBaseCard{
  display:grid;
  gap:4px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(154,179,214,.1);
}

body.flightops-ops-console .telemetryRtkMissionBaseTop{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

body.flightops-ops-console .telemetryRtkMissionBaseState{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#64748b;
  box-shadow:0 0 0 4px rgba(100,116,139,.12);
  flex:0 0 auto;
}

body.flightops-ops-console .telemetryRtkMissionBaseState.up{
  background:#22c55e;
  box-shadow:0 0 0 4px rgba(34,197,94,.14);
}

body.flightops-ops-console .telemetryRtkMissionBaseState.stale{
  background:#f59e0b;
  box-shadow:0 0 0 4px rgba(245,158,11,.15);
}

body.flightops-ops-console .telemetryRtkMissionBaseState.survey{
  background:#facc15;
  box-shadow:0 0 0 4px rgba(250,204,21,.14);
}

body.flightops-ops-console .telemetryRtkMissionBaseState.down{
  background:#ef4444;
  box-shadow:0 0 0 4px rgba(239,68,68,.14);
}

body.flightops-ops-console .telemetryRtkMissionBaseName{
  color:#eef7ff;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  overflow-wrap:anywhere;
}

body.flightops-ops-console .telemetryRtkMissionBaseMeta{
  color:#9fb7d0;
  font-size:11px;
  line-height:1.35;
}

body.flightops-ops-console .telemetryRtkMissionInfoCard{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:14px;
  background:rgba(3,13,24,.72);
  border:1px solid rgba(96,126,158,.2);
}

body.flightops-ops-console .telemetryRtkMissionInfoGrid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryMissionToggleButtons{
  grid-template-columns:1fr;
  min-width:0;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionPanel{
  margin-top:0;
  padding:10px;
  gap:10px;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionSummaryGrid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionBaseGrid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionActions{
  grid-template-columns:1fr;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionSelectedCard{
  gap:6px;
  padding:10px 11px;
  border-radius:12px;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionModeToggle{
  gap:3px;
  padding:2px;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionModeButton,
body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionSelectedState{
  min-height:20px;
  padding:0 8px;
  font-size:9px;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionSelectedName{
  font-size:15px;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionSelectedRoute{
  font-size:11px;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionInfoGrid{
  grid-template-columns:1fr;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionInfoCard{
  padding:10px;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionUrlList input{
  font-size:11px;
}

body.flightops-ops-console .missionTelemetryInspector{
  position:absolute;
  top:86px;
  right:0;
  width:min(380px, calc(100% - 12px));
  max-height:min(460px, calc(100vh - 260px));
  overflow:auto;
  z-index:4;
  padding:12px;
  border-radius:14px;
  background:rgba(3,13,24,.96);
  border:1px solid rgba(96,126,158,.24);
  box-shadow:0 24px 56px rgba(1,9,18,.42);
}

body.flightops-ops-console .missionTelemetryInspector .row{
  background:rgba(255,255,255,.03);
  border:1px solid rgba(154,179,214,.08);
  border-radius:10px;
  padding:8px 10px;
}

body.flightops-ops-console .missionWorkspaceStage > [hidden]{
  display:none !important;
}

body.flightops-ops-console .telemetryMissionPanel[hidden],
body.flightops-ops-console .telemetryRtkMissionInfoCard[hidden]{
  display:none !important;
}

@media (max-width: 1100px){
  body.flightops-ops-console .telemetryMissionTelemetryGrid,
  body.flightops-ops-console .telemetryRtkMissionSummaryGrid,
  body.flightops-ops-console .telemetryRtkMissionInfoGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.flightops-ops-console .missionWorkspaceShell{
    grid-template-columns:1fr;
  }

  body.flightops-ops-console .missionTelemetryInspector{
    position:relative;
    top:auto;
    right:auto;
    width:100%;
    max-height:none;
  }
}

@media (max-width: 900px){
  body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"] .telemetryMissionTelemetryGrid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"]{
    grid-template-columns:1fr;
  }

  body.flightops-ops-console .telemetryMissionTelemetryCard[data-telemetry-summary-surface="main"] .telemetryMissionTelemetryHead{
    border-right:0;
    padding-right:0;
  }
}

body.flightops-ops-console .missionWorkspaceBody{
  padding:10px 10px 12px;
}

body.flightops-ops-console .missionWorkspaceShell{
  grid-template-columns:minmax(180px,190px) minmax(0,1fr);
  gap:10px;
}

body.flightops-ops-console .missionWorkspaceMenu{
  gap:8px;
}

body.flightops-ops-console .missionWorkspaceMenuCard,
body.flightops-ops-console .missionWorkspaceOwnshipCard{
  gap:8px;
  padding:10px 11px;
  border-radius:12px;
}

body.flightops-ops-console .missionWorkspaceMenuLabel{
  font-size:9px;
  letter-spacing:.14em;
}

body.flightops-ops-console .missionWorkspaceMenu .sub{
  display:none;
}

body.flightops-ops-console .missionWorkspaceButtonStack{
  gap:6px;
}

body.flightops-ops-console .missionWorkspaceButtonStack button{
  min-width:0;
  padding:8px 10px;
  border-radius:10px;
  font-size:12px;
}

body.flightops-ops-console .missionWorkspaceStage{
  gap:8px;
}

body.flightops-ops-console .missionWorkspaceStage .missionTelemetryInspector{
  display:none !important;
}

body.flightops-ops-console .telemetryMissionPanel{
  margin-top:0;
  padding:10px 11px;
  border-radius:12px;
}

body.flightops-ops-console .telemetryMissionPanelHead{
  gap:10px;
}

body.flightops-ops-console .telemetryMissionSummaryGrid{
  gap:6px;
}

body.flightops-ops-console .telemetryMissionSummaryCard{
  padding:8px 10px;
  border-radius:10px;
}

body.flightops-ops-console .telemetryMissionSummaryValue{
  font-size:16px;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryMissionToggleButtons{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionPanel{
  margin-top:0;
  padding:0;
  gap:8px;
  background:transparent;
  border:0;
  overflow:visible;
}

body.flightops-ops-console .missionWorkspaceMenu .telemetryRtkMissionPanel > .telemetryMissionPanelHead{
  gap:8px;
}

body.flightops-ops-console .telemetryRtkMissionActions{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px;
}

body.flightops-ops-console .telemetryRtkMissionActions button{
  min-width:0;
  padding:8px 10px;
  border-radius:10px;
  font-size:12px;
}

body.flightops-ops-console .telemetryRtkMissionBaseSection{
  gap:6px;
}

body.flightops-ops-console .telemetryRtkMissionBaseGrid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:6px;
}

body.flightops-ops-console .telemetryRtkMissionBaseCard.telemetryRtkMissionBaseChip{
  display:flex;
  align-items:center;
  min-height:0;
  padding:7px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(154,179,214,.12);
}

body.flightops-ops-console button.telemetryRtkMissionBaseCard.telemetryRtkMissionBaseChip{
  width:100%;
  appearance:none;
  cursor:pointer;
  color:inherit;
  text-align:left;
}

body.flightops-ops-console .telemetryRtkMissionBaseCard.telemetryRtkMissionBaseChip[data-rtk-mission-base-tone="stale"]{
  background:rgba(245,158,11,.12);
  border-color:rgba(245,158,11,.22);
}

body.flightops-ops-console .telemetryRtkMissionBaseCard.telemetryRtkMissionBaseChip[data-rtk-mission-base-tone="survey"]{
  background:rgba(250,204,21,.12);
  border-color:rgba(250,204,21,.22);
}

body.flightops-ops-console .telemetryRtkMissionBaseCard.telemetryRtkMissionBaseChip[data-rtk-mission-base-tone="down"]{
  background:rgba(239,68,68,.1);
  border-color:rgba(239,68,68,.18);
}

body.flightops-ops-console .telemetryRtkMissionBaseCard.telemetryRtkMissionBaseChip[data-rtk-mission-selected="1"]{
  background:rgba(37,99,235,.16);
  border-color:rgba(96,165,250,.3);
  box-shadow:0 0 0 1px rgba(96,165,250,.14);
}

body.flightops-ops-console .telemetryRtkMissionBaseCard.telemetryRtkMissionBaseChip .telemetryRtkMissionBaseTop{
  width:100%;
  gap:7px;
}

body.flightops-ops-console .telemetryRtkMissionBaseCard.telemetryRtkMissionBaseChip .telemetryRtkMissionBaseState{
  width:8px;
  height:8px;
  box-shadow:none;
}

body.flightops-ops-console .telemetryRtkMissionBaseCard.telemetryRtkMissionBaseChip .telemetryRtkMissionBaseName{
  font-size:11px;
  font-weight:700;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.flightops-ops-console .telemetryRtkMissionBaseCard.telemetryRtkMissionBaseChip .telemetryRtkMissionBaseMeta{
  display:none;
}

body.flightops-ops-console .telemetryRtkMissionInfoCard{
  gap:8px;
  padding:10px 11px;
  border-radius:12px;
  background:rgba(3,13,24,.94);
  border:1px solid rgba(96,126,158,.22);
  box-shadow:0 16px 34px rgba(1,9,18,.34);
}

body.flightops-ops-console .telemetryRtkMissionSummaryGrid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:6px;
}

body.flightops-ops-console .telemetryRtkMissionInfoGrid{
  grid-template-columns:1fr;
  gap:6px;
}

body.flightops-ops-console .telemetryRtkMissionUrlList{
  grid-template-columns:1fr;
}

body.flightops-ops-console .telemetryRtkMissionUrlList input{
  font-size:11px;
  padding:7px 9px;
}

body.flightops-ops-console .missionTelemetryFloatingShell{
  position:fixed;
  top:calc(var(--runtime-health-top, var(--auth-topbar-height, 56px)) + var(--runtime-health-height, 0px));
  left:0;
  right:0;
  z-index:2190;
  display:grid;
  gap:0;
  padding:0;
  pointer-events:none;
}

body.flightops-ops-console .missionTelemetryFloatingShell[hidden]{
  display:none !important;
}

body.flightops-ops-console .missionTelemetryFloatingRibbon{
  display:grid;
  grid-template-columns:minmax(220px, 300px) minmax(0, 1fr);
  gap:8px;
  align-items:stretch;
  width:100%;
  padding:10px 14px 12px;
  border-radius:0 0 16px 0;
  background:linear-gradient(180deg, rgba(9,24,39,.98), rgba(6,18,31,.96));
  border:1px solid rgba(125,211,252,.18);
  border-top:0;
  box-shadow:0 18px 40px rgba(2,8,18,.28);
  pointer-events:auto;
}

body.flightops-ops-console .missionTelemetryFloatingIdentity{
  display:grid;
  gap:4px;
  min-width:0;
  padding-right:10px;
  align-content:center;
}

body.flightops-ops-console .missionTelemetryFloatingKicker{
  color:#8ea8c0;
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

body.flightops-ops-console .missionTelemetryFloatingTitle{
  color:#eef7ff;
  font-size:16px;
  font-weight:800;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.flightops-ops-console .missionTelemetryFloatingMeta{
  color:#9fb7d0;
  font-size:11px;
  line-height:1.35;
  overflow-wrap:anywhere;
}

body.flightops-ops-console .missionTelemetryFloatingMetrics{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(92px, 1fr));
  gap:6px;
  min-width:0;
}

body.flightops-ops-console .missionTelemetryFloatingMetric{
  display:grid;
  gap:4px;
  min-width:0;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(154,179,214,.1);
}

body.flightops-ops-console .missionTelemetryFloatingMetricLabel{
  color:#8ea8c0;
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

body.flightops-ops-console .missionTelemetryFloatingMetricValue{
  color:#eef7ff;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.flightops-ops-console .missionTelemetryFloatingMetric.is-muted .missionTelemetryFloatingMetricValue{
  color:#8ea8c0;
}

body.flightops-ops-console .missionTelemetryFloatingCard{
  display:none !important;
}

body.flightops-ops-console.authLocked .missionTelemetryFloatingShell{
  display:none !important;
}

@media (max-width: 1340px){
  body.flightops-ops-console .missionTelemetryFloatingRibbon{
    grid-template-columns:minmax(208px, 260px) minmax(0, 1fr);
  }
}

@media (max-width: 1180px){
  body.flightops-ops-console .missionWorkspaceShell{
    grid-template-columns:1fr;
  }

  body.flightops-ops-console .telemetryRtkMissionBaseGrid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  body.flightops-ops-console .missionTelemetryFloatingShell{
    padding:0;
  }
}

@media (max-width: 900px){
  body.flightops-ops-console .missionWorkspaceMenu .telemetryMissionToggleButtons,
  body.flightops-ops-console .telemetryRtkMissionActions,
  body.flightops-ops-console .telemetryMissionSummaryGrid{
    grid-template-columns:1fr;
  }

  body.flightops-ops-console .missionTelemetryFloatingRibbon{
    grid-template-columns:1fr;
  }

  body.flightops-ops-console .missionTelemetryFloatingIdentity{
    padding-right:0;
    padding-bottom:6px;
    border-bottom:1px solid rgba(154,179,214,.12);
  }
}

body.flightops-ops-console{
  --flightops-comms-drawer-width:clamp(320px,21vw,392px);
  --flightops-comms-drawer-gap:16px;
  --flightops-comms-control-offset:0px;
  --flightops-comms-map-edge-gap:0px;
}

body.flightops-ops-console.commsPanelActive{
  --flightops-comms-control-offset:calc(var(--flightops-comms-drawer-width) + var(--flightops-comms-drawer-gap));
  --flightops-comms-map-edge-gap:10px;
}

body.flightops-ops-console #commsCompact{
  display:none !important;
}

body.flightops-ops-console.commsPanelActive #mapUtilityDrawer,
body.flightops-ops-console.commsPanelActive #monitoringDock{
  display:flex !important;
  right:var(--flightops-comms-control-offset) !important;
}

body.flightops-ops-console.commsPanelActive #monitoringDock.monitoringHidden{
  display:none !important;
}

body.flightops-ops-console .leaflet-right{
  right:calc(var(--flightops-comms-control-offset) + var(--flightops-comms-map-edge-gap)) !important;
  transition:right .24s ease;
}

body.flightops-ops-console .leaflet-top{
  top:calc(var(--auth-topbar-height,64px) + 10px);
  transition:top .24s ease;
}

body.flightops-ops-console #mapUtilityDrawer,
body.flightops-ops-console #monitoringDock{
  right:0;
  transition:transform .24s ease,right .24s ease,top .24s ease;
}

body.flightops-ops-console.commsPanelActive #sidebar{
  z-index:2190 !important;
}

body.flightops-ops-console .connectionDegradeBanner{
  right:calc(14px + var(--flightops-comms-control-offset));
  transition:right .24s ease;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"],
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"]:not(.panelOpen),
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"].panelOpen{
  display:grid !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"]{
  position:fixed;
  left:auto !important;
  right:0 !important;
  top:calc(var(--auth-topbar-height,64px) + 16px) !important;
  bottom:16px !important;
  width:var(--flightops-comms-drawer-width) !important;
  min-width:0 !important;
  height:auto !important;
  max-width:none !important;
  max-height:calc(100vh - var(--auth-topbar-height,64px) - 32px) !important;
  border:1px solid rgba(120,150,188,.22) !important;
  border-right:0 !important;
  border-radius:0 !important;
  box-shadow:-24px 0 46px rgba(2,9,18,.34) !important;
  background:linear-gradient(180deg,rgba(7,18,31,.985),rgba(8,17,29,.992)) !important;
  overflow:hidden !important;
  opacity:0;
  pointer-events:none;
  transform:translateX(24px);
  transition:opacity .2s ease,transform .24s ease;
  z-index:2191 !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"].panelOpen{
  opacity:1;
  transform:translateX(0);
  pointer-events:auto;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .head{
  min-height:0;
  padding:calc(var(--auth-topbar-height,64px) + 12px) 12px 6px;
  background:linear-gradient(180deg,rgba(15,32,52,.94),rgba(10,21,35,.78));
  border-bottom:1px solid rgba(120,150,188,.14);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .sectionBody{
  padding:0 12px 20px;
  min-height:0;
  overflow:hidden;
  background:transparent;
}

body.flightops-ops-console .commsDrawerHeader{
  display:grid;
  gap:10px;
}

body.flightops-ops-console .commsDrawerPrimaryRow{
  display:grid;
  gap:10px;
}

body.flightops-ops-console .commsDrawerBrand{
  display:grid;
  gap:4px;
  min-width:0;
}

body.flightops-ops-console .commsDrawerControls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto auto auto;
  gap:8px;
  align-items:end;
}

body.flightops-ops-console .commsMicField{
  display:grid;
  gap:4px;
  min-width:0;
}

body.flightops-ops-console .commsMicField span{
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--fo-text-muted);
}

body.flightops-ops-console .commsMicField select{
  min-width:0;
  min-height:36px;
  border-radius:12px;
}

body.flightops-ops-console .commsDrawerVoiceRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

body.flightops-ops-console .commsDrawerVoiceMeta{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

body.flightops-ops-console .commsDrawerModeRow{
  display:grid;
  gap:10px;
}

body.flightops-ops-console .commsLaneStrip{
  display:flex;
  align-items:center;
  gap:8px;
}

body.flightops-ops-console .commsLaneBtn{
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:96px;
  min-height:34px;
  padding:0 12px !important;
  border-radius:999px !important;
}

body.flightops-ops-console .commsLaneLead{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

body.flightops-ops-console .commsLaneLabel{
  font-size:12px;
  font-weight:700;
  color:inherit;
}

body.flightops-ops-console .commsLaneDot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--fo-success);
  box-shadow:0 0 0 4px rgba(34,197,94,.12);
}

body.flightops-ops-console .commsDirectQuickStrip{
  display:flex;
  align-items:center;
  gap:8px;
  overflow:auto;
  min-height:36px;
  padding:2px 0;
}

body.flightops-ops-console .commsDirectQuickStrip::-webkit-scrollbar{
  height:6px;
}

body.flightops-ops-console .commsQuickRecipientBtn{
  position:relative;
  width:34px;
  height:34px;
  min-width:34px;
  padding:0 !important;
  display:grid;
  place-items:center;
  border-radius:999px !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(148,184,221,.14) !important;
}

body.flightops-ops-console .commsQuickRecipientBtn.active{
  border-color:rgba(96,165,250,.52) !important;
  box-shadow:0 0 0 1px rgba(96,165,250,.24);
}

body.flightops-ops-console .commsQuickRecipientBtn .commsAvatar{
  width:30px;
  height:30px;
  font-size:12px;
}

body.flightops-ops-console .commsQuickRecipientBadge{
  position:absolute;
  top:-3px;
  right:-2px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(58,130,247,.96);
  color:#fff;
  font-size:9px;
  font-weight:800;
  box-shadow:0 6px 12px rgba(2,9,18,.2);
}

body.flightops-ops-console .commsQuickRecipientEmpty{
  font-size:11px;
  color:var(--fo-text-muted);
}

body.flightops-ops-console .commsDrawerMessagePane{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-height:0;
  border:1px solid rgba(148,184,221,.12);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(10,21,36,.96),rgba(7,16,27,.98));
  overflow:hidden;
}

body.flightops-ops-console .commsDrawerMessagePane .commsThreadHeader{
  display:grid;
  gap:10px;
  padding:12px 14px 10px;
  border-bottom:1px solid rgba(148,184,221,.12);
  background:rgba(255,255,255,.02);
}

body.flightops-ops-console .commsThreadHeading{
  display:grid;
  gap:6px;
  min-width:0;
}

body.flightops-ops-console .commsThreadMetaRow{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

body.flightops-ops-console .commsThreadHeaderSide{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

body.flightops-ops-console #commsActiveThreadTitle{
  font-size:18px;
  font-weight:800;
  color:var(--fo-text-primary);
  letter-spacing:-.02em;
}

body.flightops-ops-console #commsActiveThreadSub{
  font-size:12px;
  color:var(--fo-text-secondary);
}

body.flightops-ops-console .commsThreadHeaderMeta{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

body.flightops-ops-console .commsThreadMetaPill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:0 9px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(148,184,221,.14);
  color:var(--fo-text-secondary);
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.flightops-ops-console .commsThreadMetaPill.is-live{
  background:rgba(34,197,94,.16);
  border-color:rgba(34,197,94,.24);
  color:#dcfce7;
}

body.flightops-ops-console .commsThreadAudience{
  display:flex;
  align-items:center;
  gap:6px;
}

body.flightops-ops-console .commsMessageStage{
  min-height:0;
  overflow:hidden;
  padding:0 12px 0 14px;
}

body.flightops-ops-console #commsMessageList{
  height:100%;
  min-height:0;
  overflow-y:auto;
  padding:12px 2px 12px 0;
}

body.flightops-ops-console .commsMessages{
  display:grid;
  gap:9px;
  align-content:start;
}

body.flightops-ops-console .commsMessage{
  max-width:92%;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(148,184,221,.14);
}

body.flightops-ops-console .commsMessage.outbound{
  margin-left:auto;
  background:rgba(58,130,247,.18);
  border-color:rgba(96,165,250,.24);
}

body.flightops-ops-console .commsMessageMeta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
  font-size:11px;
  color:var(--fo-text-muted);
}

body.flightops-ops-console .commsMessageMeta strong{
  color:var(--fo-text-primary);
}

body.flightops-ops-console .commsMessage.rangeControl .commsMessageMeta strong{
  color:#bfdbfe;
}

body.flightops-ops-console .commsMessageBody{
  font-size:13px;
  line-height:1.45;
  color:var(--fo-text-primary);
}

body.flightops-ops-console .commsCompose{
  display:grid;
  gap:10px;
  padding:12px 14px 14px;
  border-top:1px solid rgba(148,184,221,.12);
  background:rgba(255,255,255,.02);
}

body.flightops-ops-console .commsDrawerStatus{
  font-size:11px;
  color:var(--fo-text-secondary);
  line-height:1.35;
}

body.flightops-ops-console .commsCompose textarea{
  min-height:74px;
  max-height:180px;
  border-radius:14px;
}

body.flightops-ops-console .commsComposeActions{
  display:flex;
  align-items:flex-start;
  gap:10px;
}

body.flightops-ops-console #commsSendBtn{
  min-width:88px;
  min-height:38px;
  padding:0 14px;
}

body.flightops-ops-console .commsComposeHint{
  margin-right:auto;
  font-size:11px;
  line-height:1.35;
  color:var(--fo-text-muted);
}

body.flightops-ops-console .commsVoiceActionBtn,
body.flightops-ops-console .commsVoiceCloseBtn{
  min-height:36px;
  padding:0 12px !important;
  border-radius:12px !important;
  font-size:12px;
  white-space:nowrap;
}

body.flightops-ops-console .commsVoiceCloseBtn{
  width:36px;
  min-width:36px;
  padding:0 !important;
}

body.flightops-ops-console .commsVoiceParticipantStrip{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  min-height:30px;
}

body.flightops-ops-console .commsVoiceParticipantStrip .commsAvatar{
  width:28px;
  height:28px;
  font-size:11px;
}

body.flightops-ops-console .commsVoiceSpeakerState{
  display:flex;
  align-items:center;
  gap:8px;
}

body.flightops-ops-console .commsVoiceSpeakerName{
  font-size:13px;
  line-height:1.1;
}

body.flightops-ops-console .commsVoiceSpeakerLabel,
body.flightops-ops-console .commsVoiceParticipantCount{
  font-size:11px;
}

body.flightops-ops-console .commsCondensedHeader{
  display:grid;
  gap:4px;
}

body.flightops-ops-console .commsCondensedTopbar{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:6px;
}

body.flightops-ops-console .commsCondensedStatus{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  min-width:0;
  width:100%;
}

body.flightops-ops-console .commsCondensedActions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  flex-wrap:wrap;
  width:100%;
  min-width:0;
  position:relative;
  overflow:visible;
}

body.flightops-ops-console .commsCondensedActions > *{
  flex:0 0 auto;
}

body.flightops-ops-console .commsConversationSwitch{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}

body.flightops-ops-console .commsLaneBtn{
  min-width:58px;
}

body.flightops-ops-console .commsLaneBtn.active{
  background:rgba(58,130,247,.14) !important;
  border-color:rgba(96,165,250,.42) !important;
  color:#f5fbff !important;
  box-shadow:0 0 0 1px rgba(96,165,250,.18) !important;
}

body.flightops-ops-console .commsCondensedMuteBtn,
body.flightops-ops-console .commsCondensedVoiceBtn{
  min-width:auto;
}

body.flightops-ops-console .commsAudioPopover{
  position:relative;
}

body.flightops-ops-console .commsDirectPicker{
  position:relative;
  overflow:visible;
  z-index:20;
}

body.flightops-ops-console .commsDirectPicker > summary{
  list-style:none;
}

body.flightops-ops-console .commsDirectPicker > summary::-webkit-details-marker{
  display:none;
}

body.flightops-ops-console .commsDirectPickerPanel{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  right:auto;
  z-index:18;
  width:min(236px,calc(var(--flightops-comms-drawer-width) - 16px));
  max-width:calc(var(--flightops-comms-drawer-width) - 16px);
  max-height:min(320px,calc(100vh - var(--auth-topbar-height,64px) - 72px));
  overflow:auto;
  display:grid;
  gap:6px;
  padding:8px;
  border-radius:14px;
  border:1px solid rgba(120,150,188,.22);
  background:linear-gradient(180deg,rgba(16,31,49,.98),rgba(10,20,34,.99));
  box-shadow:0 18px 32px rgba(2,9,18,.36);
}

body.flightops-ops-console .commsDirectPickerList{
  display:grid;
  gap:6px;
}

body.flightops-ops-console .commsDirectPickerItem{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(148,184,221,.12);
  background:rgba(255,255,255,.03);
  color:#eaf4ff;
  text-align:left;
}

body.flightops-ops-console .commsDirectPickerItem:hover{
  border-color:rgba(96,165,250,.28);
  background:rgba(58,130,247,.09);
}

body.flightops-ops-console .commsDirectPickerItem.active{
  border-color:rgba(96,165,250,.42);
  background:rgba(58,130,247,.14);
}

body.flightops-ops-console .commsDirectPickerMain{
  min-width:0;
  flex:1 1 auto;
}

body.flightops-ops-console .commsDirectPickerName{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:12px;
  font-weight:700;
}

body.flightops-ops-console .commsDirectPickerMeta{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

body.flightops-ops-console .commsDirectPickerPresence{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#64748b;
}

body.flightops-ops-console .commsDirectPickerPresence.is-online{
  background:#22c55e;
}

body.flightops-ops-console .commsDirectPickerPresence.is-offline{
  background:#64748b;
}

body.flightops-ops-console .commsDirectPickerLive{
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  color:#4ade80;
}

body.flightops-ops-console .commsDirectPickerUnread{
  min-width:18px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#ef4444;
  color:#fff;
  font-size:10px;
  font-weight:800;
}

body.flightops-ops-console .commsDirectPickerEmpty{
  padding:10px 12px;
  font-size:11px;
  color:var(--fo-text-muted);
}

body.flightops-ops-console .commsAudioPopover > summary{
  list-style:none;
}

body.flightops-ops-console .commsAudioPopover > summary::-webkit-details-marker{
  display:none;
}

body.flightops-ops-console .commsAudioPopoverPanel{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  z-index:8;
  width:232px;
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(120,150,188,.22);
  background:linear-gradient(180deg,rgba(16,31,49,.98),rgba(10,20,34,.99));
  box-shadow:0 18px 32px rgba(2,9,18,.36);
}

body.flightops-ops-console .commsAudioPopoverField{
  display:grid;
  gap:4px;
}

body.flightops-ops-console .commsAudioPopoverField span{
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--fo-text-muted);
}

body.flightops-ops-console .commsAudioPopoverField select{
  min-width:0;
  min-height:36px;
  border-radius:10px;
}

body.flightops-ops-console .commsVoiceDeviceRefreshBtn{
  min-height:34px;
  justify-content:center;
  width:100%;
}

body.flightops-ops-console .commsSwitchboardStrip{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  min-height:0;
}

body.flightops-ops-console .commsSwitchboardBtn{
  position:relative;
  width:34px;
  min-width:34px;
  height:34px;
  min-height:34px;
  padding:0 !important;
  display:grid;
  place-items:center;
  border-radius:999px !important;
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(148,184,221,.14) !important;
  box-shadow:none !important;
  overflow:hidden;
}

body.flightops-ops-console .commsSwitchboardBtn.active{
  border-color:rgba(96,165,250,.46) !important;
  box-shadow:0 0 0 1px rgba(96,165,250,.2) !important;
  background:rgba(58,130,247,.1) !important;
}

body.flightops-ops-console .commsSwitchboardBtn.is-speaking{
  box-shadow:0 0 0 1px rgba(34,197,94,.2), 0 0 0 4px rgba(34,197,94,.08) !important;
}

body.flightops-ops-console .commsSwitchboardBtn.is-range{
  width:auto;
  min-width:auto;
  height:30px;
  min-height:30px;
  padding:0 12px !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.flightops-ops-console .commsSwitchboardBtn[data-role="range_controller"]{
  background:rgba(58,130,247,.12) !important;
}

body.flightops-ops-console .commsSwitchboardBtn[data-role="pilot"]{
  background:rgba(34,197,94,.12) !important;
}

body.flightops-ops-console .commsSwitchboardBtn[data-role="observer"]{
  background:rgba(129,146,168,.12) !important;
}

body.flightops-ops-console .commsSwitchboardBtn[data-role="comms_supervisor"]{
  background:rgba(245,158,11,.12) !important;
}

body.flightops-ops-console .commsSwitchboardToken{
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  line-height:1;
  color:#f5fbff;
}

body.flightops-ops-console .commsSwitchboardPresence{
  position:absolute;
  right:6px;
  bottom:6px;
  width:8px;
  height:8px;
  border-radius:999px;
  border:1px solid rgba(8,17,29,.92);
  background:#64748b;
}

body.flightops-ops-console .commsSwitchboardPresence.is-online{
  background:var(--fo-success);
}

body.flightops-ops-console .commsSwitchboardPresence.is-offline{
  background:#64748b;
}

body.flightops-ops-console .commsSwitchboardSlash{
  position:absolute;
  inset:10px 20px;
  background:rgba(239,68,68,.96);
  border-radius:999px;
  transform:rotate(45deg);
}

body.flightops-ops-console .commsSwitchboardBadge{
  position:absolute;
  top:-4px;
  right:-4px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(58,130,247,.98);
  color:#fff;
  font-size:9px;
  font-weight:800;
  box-shadow:0 6px 12px rgba(2,9,18,.22);
}

body.flightops-ops-console .commsThreadHeaderCondensed{
  padding:4px 2px 6px 2px !important;
  gap:2px;
  background:transparent !important;
  border-bottom:1px solid rgba(148,184,221,.08) !important;
}

body.flightops-ops-console .commsThreadHeaderCondensed #commsActiveThreadTitle{
  font-size:14px;
  line-height:1.04;
}

body.flightops-ops-console .commsThreadHeaderCondensed .commsThreadHeaderSide{
  justify-items:end;
  align-content:start;
}

body.flightops-ops-console .commsThreadHeaderCondensed .commsThreadMetaRow{
  gap:6px;
}

body.flightops-ops-console .commsThreadHeaderCondensed .commsThreadHeaderMeta{
  gap:4px;
}

body.flightops-ops-console .commsThreadHeaderCondensed .commsThreadMetaPill{
  padding:3px 7px;
  font-size:10px;
  letter-spacing:.03em;
}

body.flightops-ops-console .commsVoiceBrandSub,
body.flightops-ops-console #commsActiveThreadSub,
body.flightops-ops-console .commsComposeHint{
  display:none !important;
}

body.flightops-ops-console .commsThreadAudience{
  display:none;
}

body.flightops-ops-console .commsDrawerMessagePane{
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-height:0;
  height:100%;
  width:100%;
  flex:1 1 auto;
  min-width:0;
}

body.flightops-ops-console .commsMessageStage{
  padding:0;
  min-height:0;
}

body.flightops-ops-console #commsMessageList{
  padding:4px 0 8px;
  scrollbar-gutter:stable;
  overflow-y:auto;
  overflow-x:hidden;
}

body.flightops-ops-console .commsMessages{
  gap:6px;
  padding:0;
}

body.flightops-ops-console .commsMessage{
  display:block;
  width:100%;
  max-width:100%;
  padding:0;
  border-radius:0;
  background:transparent;
  border:0;
}

body.flightops-ops-console .commsMessage.outbound{
  margin-left:auto;
  background:transparent;
  border:0;
}

body.flightops-ops-console .commsMessage.stacked{
  margin-top:-3px;
}

body.flightops-ops-console .commsMessage.stacked:not(.outbound){
  margin-left:0;
}

body.flightops-ops-console .commsMessageHeader{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  margin:0 0 2px;
  color:var(--fo-text-muted);
  width:fit-content;
  max-width:min(100%,90%);
  padding:0 2px;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageHeader{
  justify-content:flex-end;
  margin-left:auto;
}

body.flightops-ops-console .commsMessageBubble{
  display:block;
  padding:8px 12px;
  border-radius:12px;
  width:fit-content;
  max-width:min(100%,90%);
  background:rgba(241,245,249,.92);
  border:1px solid rgba(203,213,225,.96);
  box-shadow:none;
  color:#0f172a;
}

body.flightops-ops-console .commsMessageSender{
  display:inline-block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  max-width:calc(100% - 64px);
  font-size:11px;
  font-weight:700;
  color:rgba(226,232,240,.94);
}

body.flightops-ops-console .commsMessageStamp{
  flex:0 0 auto;
  margin-left:auto;
  font-size:10px;
  color:rgba(148,163,184,.96);
}

body.flightops-ops-console .commsMessage.outbound .commsMessageBubble{
  margin-left:auto;
  background:rgba(226,232,255,.96);
  border-color:rgba(191,201,255,.98);
}

body.flightops-ops-console .commsMessage.rangeControl:not(.outbound) .commsMessageBubble{
  background:rgba(232,240,255,.96);
  border-color:rgba(191,219,254,.98);
}

body.flightops-ops-console .commsMessage.stacked .commsMessageHeader{
  display:none;
}

body.flightops-ops-console .commsCompose{
  gap:6px;
  padding:8px 0 0;
  border-top:1px solid rgba(148,184,221,.08);
  background:transparent;
}

body.flightops-ops-console .commsCompose textarea{
  min-height:54px;
  max-height:150px;
  padding:10px 12px;
  border-radius:10px;
  resize:none;
}

body.flightops-ops-console .commsComposeActions{
  justify-content:flex-end;
  gap:6px;
}

body.flightops-ops-console .commsComposeActions #commsSendBtn{
  min-width:78px;
  padding:0 14px !important;
  min-height:34px;
}

body.flightops-ops-console .commsVoiceActionBtn,
body.flightops-ops-console .commsVoiceCloseBtn{
  min-height:32px;
  padding:0 10px !important;
  border-radius:10px !important;
  font-size:11px;
}

body.flightops-ops-console .commsVoiceCloseBtn{
  width:32px;
  min-width:32px;
  font-size:16px;
}

body.flightops-ops-console .commsVoiceParticipantCount{
  color:var(--fo-text-muted);
}

body.flightops-ops-console .commsVoiceSpeakerState{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:transparent;
}

body.flightops-ops-console .commsVoiceSpeakerLabel{
  display:none;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"]{
  grid-template-rows:auto minmax(0,1fr);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .head{
  padding:calc(var(--auth-topbar-height,64px) + 6px) 4px 4px;
  overflow:visible;
  position:relative;
  z-index:6;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .sectionBody{
  display:flex;
  padding:0 4px 8px;
  min-width:0;
}

body.flightops-ops-console #commsPanelCloseBtn{
  margin-left:auto;
}

@media (max-width: 1400px){
  body.flightops-ops-console .commsCondensedStatus{
    width:100%;
  }

  body.flightops-ops-console .commsCondensedActions{
    width:100%;
    justify-content:flex-start;
  }
}

@media (max-width: 1120px){
  body.flightops-ops-console{
    --flightops-comms-drawer-width:min(350px,calc(100vw - 12px));
  }

  body.flightops-ops-console .commsVoiceParticipantCount{
    display:none;
  }

  body.flightops-ops-console .commsVoiceSpeakerState{
    display:none !important;
  }

  body.flightops-ops-console .commsVoiceActionBtn,
  body.flightops-ops-console .commsVoiceCloseBtn{
    font-size:10px;
    padding:0 8px !important;
  }

  body.flightops-ops-console .commsLaneBtn{
    min-width:52px;
  }

  body.flightops-ops-console .commsMessage{
    max-width:100%;
  }

  body.flightops-ops-console .commsCompose textarea{
    min-height:52px;
  }

  body.flightops-ops-console .commsDirectPickerPanel{
    width:min(228px,calc(var(--flightops-comms-drawer-width) - 12px));
    max-width:calc(var(--flightops-comms-drawer-width) - 12px);
  }
}

@media (max-width:1180px){
  body.flightops-ops-console{
    --flightops-comms-drawer-width:min(360px,calc(100vw - 18px));
  }

  body.flightops-ops-console #sidebar .panelSection[data-panel="comms"][data-comms-view-mode="split"]{
    width:min(100%,760px) !important;
    min-width:0 !important;
    max-width:760px !important;
  }

  body.flightops-ops-console #sidebar .panelSection[data-panel="comms"][data-comms-view-mode="split"] .commsPrimaryLayout{
    grid-template-columns:220px minmax(0,1fr);
  }

  body.flightops-ops-console .commsDrawerControls{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  body.flightops-ops-console .commsMicField{
    grid-column:1 / -1;
  }
}

@media (max-width:900px){
  body.flightops-ops-console{
    --flightops-comms-drawer-width:min(360px,calc(100vw - 10px));
  }

  body.flightops-ops-console #sidebar .panelSection[data-panel="comms"]{
    top:0 !important;
    bottom:0 !important;
    border-radius:0 !important;
  }

  body.flightops-ops-console .commsComposeActions{
    flex-direction:column;
  }

  body.flightops-ops-console #commsSendBtn{
    width:100%;
  }

  body.flightops-ops-console .commsCondensedActions{
    gap:4px;
  }

  body.flightops-ops-console .commsConversationSwitch{
    width:100%;
  }

  body.flightops-ops-console .commsLaneBtn{
    flex:1 1 0;
  }

  body.flightops-ops-console .commsAudioPopoverPanel{
    left:0;
    right:auto;
    width:min(228px,calc(var(--flightops-comms-drawer-width) - 12px));
  }
}

/* Comms Drawer Option 2 Reset */
body.flightops-ops-console{
  --flightops-comms-drawer-width:min(404px,calc(100vw - 12px));
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"].panelOpen{
  left:auto !important;
  right:0 !important;
  top:var(--auth-topbar-height,64px) !important;
  bottom:0 !important;
  width:var(--flightops-comms-drawer-width) !important;
  min-width:320px !important;
  max-width:calc(100vw - 6px) !important;
  height:calc(100vh - var(--auth-topbar-height,64px)) !important;
  max-height:calc(100vh - var(--auth-topbar-height,64px)) !important;
  background:#f5f7fb !important;
  border-left:1px solid rgba(191,201,219,.9) !important;
  border-top:0 !important;
  border-radius:0 !important;
  box-shadow:-12px 0 34px rgba(15,23,42,.16) !important;
  overflow:hidden !important;
  z-index:2141 !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .head{
  padding:0 10px 0 !important;
  background:#f5f7fb !important;
  border:0 !important;
  min-height:0;
  overflow:visible;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .sectionBody{
  display:flex;
  padding:0 10px 10px !important;
  min-width:0;
  background:#f5f7fb !important;
}

body.flightops-ops-console .commsCondensedHeader{
  display:grid;
  width:100%;
  gap:0;
}

body.flightops-ops-console .commsCondensedTopbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:8px 0;
  border-bottom:1px solid rgba(203,213,225,.92);
  background:rgba(255,255,255,.78);
}

body.flightops-ops-console .commsCondensedActions{
  order:1;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
  min-width:0;
  overflow:visible;
}

body.flightops-ops-console .commsCondensedActions > *{
  flex:0 0 auto;
}

body.flightops-ops-console .commsConversationSwitch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-width:0;
  padding:3px;
  border-radius:999px;
  background:rgba(207,215,231,.68);
}

body.flightops-ops-console .commsCondensedStatus{
  order:2;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
  width:auto;
}

body.flightops-ops-console .commsVoiceBrandTop{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
}

body.flightops-ops-console .commsVoiceBrandLabel{
  font-size:11px;
  font-weight:700;
  color:#5f7187;
}

body.flightops-ops-console .commsVoicePulse{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#94a3b8;
}

body.flightops-ops-console .commsVoicePulse.is-live{
  background:#35c76f;
  box-shadow:0 0 0 4px rgba(53,199,111,.16);
}

body.flightops-ops-console .commsVoiceStatusBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:22px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid rgba(203,213,225,.98);
  background:rgba(241,245,249,.92);
  color:#41536a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

body.flightops-ops-console .commsVoiceStatusBadge.is-live{
  border-color:rgba(134,239,172,.96);
  background:rgba(220,252,231,.94);
  color:#166534;
}

body.flightops-ops-console .commsVoiceParticipantCount{
  color:#718399;
  font-size:10px;
  font-weight:700;
  white-space:nowrap;
}

body.flightops-ops-console .commsVoiceBrandSub,
body.flightops-ops-console .commsVoiceSpeakerState,
body.flightops-ops-console #commsActiveThreadSub,
body.flightops-ops-console .commsThreadAudience,
body.flightops-ops-console .commsComposeHint{
  display:none !important;
}

body.flightops-ops-console .commsVoiceActionBtn,
body.flightops-ops-console .commsVoiceCloseBtn,
body.flightops-ops-console .commsLaneBtn,
body.flightops-ops-console .commsAudioPopover > summary,
body.flightops-ops-console .commsDirectPicker > summary{
  min-height:30px;
  padding:0 10px !important;
  border-radius:10px !important;
  border:1px solid rgba(203,213,225,.96) !important;
  background:#ffffff !important;
  box-shadow:none !important;
  color:#122033 !important;
  font-size:11px;
  font-weight:700;
}

body.flightops-ops-console .commsConversationSwitch .commsLaneBtn,
body.flightops-ops-console .commsConversationSwitch .commsDirectPicker > summary{
  border-color:transparent !important;
  background:transparent !important;
}

body.flightops-ops-console .commsLaneBtn{
  min-width:58px;
}

body.flightops-ops-console .commsLaneBtn.active,
body.flightops-ops-console .commsDirectPicker > summary.active{
  background:#ffffff !important;
  border-color:#ffffff !important;
  color:#0f172a !important;
  box-shadow:0 1px 4px rgba(15,23,42,.08) !important;
}

body.flightops-ops-console .commsVoiceActionBtn.is-live,
body.flightops-ops-console .commsVoiceActionBtn.is-ready,
body.flightops-ops-console .commsVoiceActionBtn.is-active{
  border-color:rgba(79,140,255,.9) !important;
  background:rgba(79,140,255,.1) !important;
  color:#214a93 !important;
}

body.flightops-ops-console .commsVoiceActionBtn[disabled],
body.flightops-ops-console .commsVoiceCloseBtn[disabled]{
  opacity:.56;
}

body.flightops-ops-console .commsVoiceCloseBtn{
  width:30px;
  min-width:30px;
  font-size:15px;
}

body.flightops-ops-console .commsDirectPicker{
  position:relative;
  z-index:12;
}

body.flightops-ops-console .commsDirectPickerPanel,
body.flightops-ops-console .commsAudioPopoverPanel{
  top:calc(100% + 8px);
  z-index:20;
  border-radius:14px;
  border:1px solid rgba(203,213,225,.98);
  background:rgba(255,255,255,.98);
  box-shadow:0 16px 32px rgba(15,23,42,.16);
}

body.flightops-ops-console .commsDirectPickerPanel{
  left:0;
  right:auto;
  width:min(236px,calc(var(--flightops-comms-drawer-width) - 28px));
  max-width:calc(var(--flightops-comms-drawer-width) - 28px);
}

body.flightops-ops-console .commsAudioPopoverPanel{
  right:0;
  width:226px;
}

body.flightops-ops-console .commsAudioPopoverField span{
  color:#718399;
}

body.flightops-ops-console .commsAudioPopoverField select{
  min-height:34px;
  border-radius:10px;
  border:1px solid rgba(203,213,225,.96);
  background:#ffffff;
  color:#122033;
}

body.flightops-ops-console .commsDrawerStatus{
  font-size:11px;
  line-height:1.35;
  color:#6b7b91;
}

body.flightops-ops-console .commsDirectPickerItem{
  border-radius:10px;
  border:1px solid rgba(226,232,240,.96);
  background:rgba(248,250,252,.96);
  color:#122033;
}

body.flightops-ops-console .commsDirectPickerItem:hover{
  border-color:rgba(79,140,255,.34);
  background:rgba(79,140,255,.08);
}

body.flightops-ops-console .commsDirectPickerItem.active{
  border-color:rgba(79,140,255,.42);
  background:rgba(79,140,255,.14);
}

body.flightops-ops-console .commsDirectPickerName{
  color:#122033;
}

body.flightops-ops-console .commsDirectPickerUnread{
  background:#ef4444;
}

body.flightops-ops-console .commsThreadHeaderCondensed{
  padding:8px 2px 8px !important;
  gap:4px;
  background:transparent !important;
  border-bottom:1px solid rgba(203,213,225,.92) !important;
}

body.flightops-ops-console .commsThreadHeaderCondensed #commsActiveThreadTitle{
  font-size:15px;
  line-height:1.08;
  color:#0f172a;
}

body.flightops-ops-console .commsThreadHeaderCondensed .commsThreadMetaRow{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

body.flightops-ops-console .commsThreadHeaderCondensed .commsThreadHeaderMeta{
  display:flex;
  align-items:center;
  gap:4px;
}

body.flightops-ops-console .commsThreadHeaderCondensed .commsThreadMetaPill{
  min-height:20px;
  padding:0 7px;
  border-radius:999px;
  border:1px solid rgba(203,213,225,.96);
  background:rgba(241,245,249,.96);
  color:#526377;
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
}

body.flightops-ops-console .commsThreadHeaderCondensed .commsThreadMetaPill.is-live{
  border-color:rgba(134,239,172,.98);
  background:rgba(220,252,231,.96);
  color:#166534;
}

body.flightops-ops-console #commsUnreadBadge{
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(79,140,255,.12);
  border:1px solid rgba(79,140,255,.24);
  color:#214a93;
  font-size:10px;
  font-weight:800;
}

body.flightops-ops-console .commsDrawerMessagePane{
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  min-height:0;
  height:100%;
  width:100%;
  flex:1 1 auto;
  min-width:0;
  border:0;
  border-radius:0;
  background:#f5f7fb;
  box-shadow:none;
}

body.flightops-ops-console #commsMainContent.commsMessageStage,
body.flightops-ops-console .commsMessageStage{
  padding:0;
  min-height:0;
  overflow:hidden;
}

body.flightops-ops-console #commsMessageList{
  height:100%;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  padding:10px 4px 10px 0;
  scrollbar-gutter:stable;
}

body.flightops-ops-console .commsMessages{
  display:grid;
  align-content:start;
  gap:7px;
  padding:0 2px 0 0;
}

body.flightops-ops-console .commsMessage{
  display:grid;
  justify-items:start;
  width:100%;
  max-width:100%;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
}

body.flightops-ops-console .commsMessage.outbound{
  justify-items:end;
  margin-left:0;
  background:transparent;
  border:0;
}

body.flightops-ops-console .commsMessage.stacked{
  margin-top:-1px;
}

body.flightops-ops-console .commsMessageHeader{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:auto;
  max-width:calc(100% - 10px);
  margin:0 0 2px;
  padding:0 2px;
  color:#718399;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageHeader{
  justify-content:flex-end;
  margin-left:0;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageSender{
  display:none;
}

body.flightops-ops-console .commsMessage.stacked .commsMessageHeader{
  display:none;
}

body.flightops-ops-console .commsMessageBubble{
  display:block;
  width:auto;
  max-width:calc(100% - 8px);
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(203,213,225,.96);
  background:#ffffff;
  box-shadow:none;
  color:#122033;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageBubble{
  margin-left:0;
  background:#e8edff;
  border-color:rgba(191,201,255,.98);
}

body.flightops-ops-console .commsMessage.rangeControl:not(.outbound) .commsMessageBubble{
  background:#edf4ff;
  border-color:rgba(191,219,254,.98);
}

body.flightops-ops-console .commsMessageSender{
  display:inline-block;
  min-width:0;
  max-width:calc(100% - 64px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#5c6d83;
  font-size:11px;
  font-weight:700;
}

body.flightops-ops-console .commsMessageStamp{
  flex:0 0 auto;
  margin-left:auto;
  color:#8796ab;
  font-size:10px;
}

body.flightops-ops-console .commsMessageBody{
  color:#122033;
  font-size:14px;
  line-height:1.44;
  word-break:break-word;
}

body.flightops-ops-console .commsCompose{
  display:grid;
  gap:8px;
  padding:10px 0 0;
  border-top:1px solid rgba(203,213,225,.92);
  background:rgba(255,255,255,.9);
}

body.flightops-ops-console .commsCompose textarea{
  min-height:46px;
  max-height:120px;
  padding:11px 12px;
  border-radius:10px;
  border:1px solid rgba(203,213,225,.96);
  background:#ffffff;
  color:#122033;
  resize:none;
}

body.flightops-ops-console .commsCompose textarea::placeholder{
  color:#718399;
}

body.flightops-ops-console .commsComposeActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}

body.flightops-ops-console #commsSendBtn{
  min-width:72px;
  height:34px;
  padding:0 14px;
  border-radius:10px;
  border:1px solid rgba(79,140,255,.95) !important;
  background:#4f8cff !important;
  color:#ffffff !important;
  font-size:12px;
  font-weight:800;
  box-shadow:none !important;
}

@media (max-width:1180px){
  body.flightops-ops-console{
    --flightops-comms-drawer-width:min(392px,calc(100vw - 8px));
  }

  body.flightops-ops-console .commsCondensedTopbar{
    grid-template-columns:1fr;
    gap:6px;
  }

  body.flightops-ops-console .commsCondensedStatus{
    justify-content:flex-start;
  }

  body.flightops-ops-console .commsCondensedActions{
    flex-wrap:wrap;
  }
}

@media (max-width:900px){
  body.flightops-ops-console{
    --flightops-comms-drawer-width:calc(100vw - 6px);
  }

  body.flightops-ops-console #sidebar .panelSection[data-panel="comms"].panelOpen{
    top:calc(var(--auth-topbar-height,64px) + 12px) !important;
    width:var(--flightops-comms-drawer-width) !important;
    min-width:0 !important;
  }

  body.flightops-ops-console .commsConversationSwitch{
    width:auto;
  }

  body.flightops-ops-console .commsAudioPopoverPanel,
  body.flightops-ops-console .commsDirectPickerPanel{
    width:min(232px,calc(100vw - 28px));
    max-width:calc(100vw - 28px);
  }
}

/* Comms Drawer Option 2 Refinement */
body.flightops-ops-console{
  --flightops-comms-drawer-gap:16px;
  --flightops-comms-map-edge-gap:8px;
}

body.flightops-ops-console.commsPanelActive{
  --flightops-comms-control-offset:calc(var(--flightops-comms-drawer-width) + var(--flightops-comms-drawer-gap));
}

body.flightops-ops-console #mapChatLauncher{
  position:fixed;
  top:calc(var(--auth-topbar-height,64px) + 122px);
  right:0;
  z-index:2140 !important;
  width:40px;
  min-width:40px;
  height:42px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:var(--fo-radius-sm) 0 0 var(--fo-radius-sm);
  border:1px solid rgba(121,149,187,.18);
  border-right:0;
  background:rgba(10,20,33,.96);
  color:var(--fo-text-primary);
  box-shadow:var(--fo-shadow-1);
  transition:right .24s ease,top .24s ease,background .18s ease,color .18s ease,box-shadow .18s ease,opacity .18s ease;
}

body.flightops-ops-console #mapChatLauncher.workspaceSuppressed{
  display:none !important;
}

body.flightops-ops-console #mapChatLauncher svg{
  width:20px;
  height:20px;
  stroke:currentColor;
  fill:none;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.flightops-ops-console #mapChatLauncher.active{
  background:linear-gradient(180deg,rgba(59,130,246,.96),rgba(29,78,216,.98));
  color:#fff;
  box-shadow:0 12px 28px rgba(37,99,235,.28);
}

body.flightops-ops-console.commsPanelActive #mapUtilityDrawer,
body.flightops-ops-console.commsPanelActive #monitoringDock,
body.flightops-ops-console.commsPanelActive #mapChatLauncher{
  right:calc(var(--flightops-comms-control-offset) + 5px) !important;
}

body.flightops-ops-console .commsCondensedTopbar{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:10px;
  padding:8px 0 6px;
}

body.flightops-ops-console .commsCondensedStatus{
  min-width:0;
  gap:3px;
}

body.flightops-ops-console .commsCondensedStatus .commsVoiceBrandTop{
  min-width:0;
  flex-wrap:wrap;
  gap:6px;
}

body.flightops-ops-console .commsCondensedActions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:6px;
  min-width:0;
}

body.flightops-ops-console .commsCondensedActions > *{
  flex:0 0 auto;
}

body.flightops-ops-console .commsCondensedActions .commsVoiceActionBtn,
body.flightops-ops-console .commsCondensedActions .commsAudioPopoverBtn,
body.flightops-ops-console .commsCondensedActions .commsVoiceCloseBtn{
  min-width:auto;
  padding:7px 10px;
}

body.flightops-ops-console .commsThreadHeaderCondensed{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:8px;
  padding:7px 0 8px !important;
}

body.flightops-ops-console .commsThreadHeaderPrimary{
  min-width:0;
  display:grid;
  gap:4px;
}

body.flightops-ops-console .commsThreadLaneBar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-width:0;
}

body.flightops-ops-console .commsConversationSwitch{
  flex:0 0 auto;
  width:auto;
}

body.flightops-ops-console .commsThreadLaneBar .commsThreadMetaRow{
  flex:1 1 auto;
  min-width:0;
  justify-content:flex-end;
}

body.flightops-ops-console .commsThreadLaneBar #commsActiveThreadTitle{
  flex:0 1 auto;
  min-width:0;
  max-width:160px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.flightops-ops-console #commsActiveThreadSub{
  font-size:11px;
  line-height:1.25;
  color:#6b7d92;
}

body.flightops-ops-console .commsThreadHeaderSide{
  align-items:flex-start;
  gap:6px;
}

body.flightops-ops-console .commsDirectPicker{
  position:relative;
}

body.flightops-ops-console .commsThreadHeaderCondensed .commsDirectPickerPanel{
  left:auto;
  right:0;
  top:calc(100% + 6px);
}

body.flightops-ops-console .commsMessage{
  width:100%;
}

body.flightops-ops-console .commsMessageHeader{
  width:100%;
  max-width:none;
  padding:0 2px;
}

body.flightops-ops-console .commsMessageSender{
  max-width:calc(100% - 78px);
}

body.flightops-ops-console .commsMessageBubble{
  max-width:calc(100% - 2px);
}

body.flightops-ops-console .commsMessage.outbound .commsMessageBubble{
  background:#e8edff;
  color:#122033;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageBody{
  color:#122033 !important;
}

body.flightops-ops-console .commsCompose{
  padding:8px 0 0;
}

body.flightops-ops-console .commsCompose textarea{
  width:100%;
}

@media (max-width:1180px){
  body.flightops-ops-console .commsCondensedTopbar{
    grid-template-columns:1fr;
  }

  body.flightops-ops-console .commsCondensedActions{
    justify-content:flex-start;
  }

  body.flightops-ops-console .commsThreadHeaderCondensed{
    grid-template-columns:1fr;
  }

  body.flightops-ops-console .commsThreadLaneBar{
    flex-wrap:wrap;
    justify-content:flex-start;
  }

  body.flightops-ops-console .commsThreadLaneBar .commsThreadMetaRow{
    justify-content:flex-start;
  }
}

@media (max-width:900px){
  body.flightops-ops-console #mapChatLauncher{
    top:calc(var(--auth-topbar-height,64px) + 118px);
  }

  body.flightops-ops-console .commsCondensedActions{
    gap:5px;
  }

  body.flightops-ops-console .commsCondensedActions .commsVoiceActionBtn,
  body.flightops-ops-console .commsCondensedActions .commsAudioPopoverBtn,
  body.flightops-ops-console .commsCondensedActions .commsVoiceCloseBtn{
    padding:7px 9px;
  }

  body.flightops-ops-console .commsThreadLaneBar #commsActiveThreadTitle{
    max-width:100%;
  }
}

/* Comms Drawer Density Polish */
body.flightops-ops-console .commsCondensedTopbar{
  gap:8px;
  padding:6px 0 4px;
}

body.flightops-ops-console .commsCondensedStatus{
  gap:2px;
}

body.flightops-ops-console #commsVoiceStatusSub{
  font-size:10px;
  line-height:1.18;
}

body.flightops-ops-console .commsCondensedActions{
  gap:5px;
}

body.flightops-ops-console .commsCondensedActions .commsVoiceActionBtn,
body.flightops-ops-console .commsCondensedActions .commsAudioPopoverBtn,
body.flightops-ops-console .commsCondensedActions .commsVoiceCloseBtn{
  min-height:34px;
  padding:6px 10px;
}

body.flightops-ops-console .commsThreadHeaderCondensed{
  gap:6px;
  padding:5px 0 6px !important;
}

body.flightops-ops-console .commsThreadHeaderPrimary{
  gap:3px;
}

body.flightops-ops-console .commsThreadLaneBar{
  gap:6px;
}

body.flightops-ops-console #commsActiveThreadSub{
  font-size:10px;
  line-height:1.18;
}

body.flightops-ops-console #commsUnreadBadge{
  min-width:20px;
  height:20px;
  padding:0 6px;
}

body.flightops-ops-console #commsMessageList{
  padding:8px 2px 8px 0;
}

body.flightops-ops-console .commsMessages{
  gap:5px;
  padding:0;
}

body.flightops-ops-console .commsMessageHeader{
  width:min(88%,520px);
  max-width:calc(100% - 4px);
  margin:0 0 1px;
  padding:0 1px;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageHeader{
  margin-right:0;
}

body.flightops-ops-console .commsMessageBubble{
  max-width:min(88%,520px);
  padding:7px 10px;
  border-radius:9px;
}

body.flightops-ops-console .commsMessageSender{
  flex:1 1 auto;
  min-width:0;
  max-width:none;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageBubble{
  margin-left:auto;
}

body.flightops-ops-console .commsMessageBody{
  font-size:13px;
  line-height:1.38;
}

body.flightops-ops-console .commsCompose{
  padding:6px 0 10px;
}

body.flightops-ops-console .commsCompose textarea{
  min-height:44px;
  max-height:104px;
  padding:10px 12px;
}

body.flightops-ops-console .commsComposeActions{
  gap:6px;
}

body.flightops-ops-console .commsComposeActions #commsSendBtn{
  min-width:86px;
  height:40px;
}

/* Final Comms Drawer Layout Audit */
body.flightops-ops-console{
  --flightops-comms-side-rail-offset:calc(var(--flightops-comms-control-offset) + 8px);
}

body.flightops-ops-console .leaflet-right{
  right:var(--flightops-comms-side-rail-offset) !important;
}

body.flightops-ops-console.commsPanelActive #mapUtilityDrawer,
body.flightops-ops-console.commsPanelActive #monitoringDock,
body.flightops-ops-console.commsPanelActive #mapChatLauncher{
  right:var(--flightops-comms-side-rail-offset) !important;
}

body.flightops-ops-console .connectionDegradeBanner{
  right:calc(14px + var(--flightops-comms-side-rail-offset));
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .head{
  padding:calc(var(--auth-topbar-height,64px) + 18px) 12px 8px;
  overflow:visible;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .sectionBody{
  padding:0 12px 24px;
  overflow:visible;
}

body.flightops-ops-console .commsCondensedHeader,
body.flightops-ops-console .commsCondensedTopbar,
body.flightops-ops-console .commsThreadHeaderCondensed,
body.flightops-ops-console .commsThreadHeaderPrimary,
body.flightops-ops-console .commsConversationSwitch,
body.flightops-ops-console .commsAudioPopover,
body.flightops-ops-console .commsDirectPicker,
body.flightops-ops-console .commsDrawerMessagePane{
  overflow:visible;
}

body.flightops-ops-console .commsCondensedTopbar{
  padding:12px 0 8px;
}

body.flightops-ops-console #commsPanelCloseBtn{
  display:none !important;
}

body.flightops-ops-console .commsAudioPopover{
  position:relative;
}

body.flightops-ops-console .commsAudioPopoverPanel{
  left:auto !important;
  right:0 !important;
  width:min(248px,calc(var(--flightops-comms-drawer-width) - 32px));
  max-width:calc(var(--flightops-comms-drawer-width) - 32px);
}

body.flightops-ops-console .commsThreadHeaderCondensed .commsDirectPickerPanel{
  left:0 !important;
  right:auto !important;
  width:min(248px,calc(var(--flightops-comms-drawer-width) - 32px));
  max-width:calc(var(--flightops-comms-drawer-width) - 32px);
}

body.flightops-ops-console #commsMainContent.commsMessageStage,
body.flightops-ops-console .commsMessageStage{
  overflow:hidden;
}

body.flightops-ops-console .commsMessage{
  display:grid !important;
  grid-template-columns:1fr;
  row-gap:2px;
  justify-items:start;
}

body.flightops-ops-console .commsMessage.outbound{
  justify-items:end;
}

body.flightops-ops-console .commsMessageHeader{
  display:flex !important;
  align-items:center;
  gap:8px;
  width:min(88%,520px);
  max-width:100%;
  margin:0;
  padding:0 1px;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageHeader{
  justify-content:flex-end;
}

body.flightops-ops-console .commsMessageSender{
  flex:1 1 auto;
  min-width:0;
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:nowrap;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageSender{
  display:none;
}

body.flightops-ops-console .commsMessageBubble{
  display:block;
  width:min(88%,520px);
  max-width:100%;
  margin:0;
}

body.flightops-ops-console .commsCompose{
  padding:8px 0 14px;
}

body.flightops-ops-console .commsAudioPopoverBtn{
  min-width:74px;
  padding:4px 8px;
}

body.flightops-ops-console .commsAudioButtonLabel{
  display:grid;
  justify-items:center;
  line-height:1.02;
  font-size:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
}

body.flightops-ops-console .commsAudioButtonLabel span{
  display:block;
}

body.flightops-ops-console .commsMessageHeader{
  width:fit-content !important;
  max-width:min(88%,520px);
  gap:6px;
}

body.flightops-ops-console .commsMessageStamp{
  margin-left:0 !important;
  flex:0 0 auto;
}

body.flightops-ops-console .commsMessageBubble{
  width:fit-content;
  max-width:min(88%,520px);
}

body.flightops-ops-console .commsMessage.outbound .commsMessageBubble{
  justify-self:end;
  margin-left:0;
}

body.flightops-ops-console .commsMessage.rangeControl:not(.outbound) .commsMessageBubble{
  background:#dbeafe;
  border-color:#60a5fa;
  box-shadow:0 0 0 1px rgba(96,165,250,.18) inset;
}

body.flightops-ops-console .commsMessage.rangeControl:not(.outbound) .commsMessageSender{
  color:#1d4ed8;
}

body.flightops-ops-console .commsCondensedActions{
  margin-left:auto;
  justify-content:flex-end;
  align-items:center;
  gap:6px;
}

body.flightops-ops-console .commsCondensedActions .commsAudioPopoverBtn{
  display:grid;
  place-items:center;
  min-width:78px;
  text-align:center;
  padding:0 10px !important;
}

body.flightops-ops-console .commsAudioButtonLabel{
  width:100%;
  min-height:100%;
  align-content:center;
  justify-content:center;
  justify-items:center;
  text-align:center;
}

body.flightops-ops-console .commsCondensedMuteBtn{
  width:38px;
  min-width:38px;
  padding:0 !important;
  display:grid;
  place-items:center;
}

body.flightops-ops-console .commsMicIcon{
  position:relative;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  color:currentColor;
}

body.flightops-ops-console .commsMicIcon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.flightops-ops-console .commsCondensedMuteBtn.is-muted .commsMicIcon::after{
  content:"";
  position:absolute;
  left:-1px;
  top:7px;
  width:21px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform:rotate(45deg);
  transform-origin:center;
}

body.flightops-ops-console .commsThreadLaneBar .commsThreadMetaRow{
  justify-content:flex-start;
  gap:6px;
}

body.flightops-ops-console .commsThreadLaneBar #commsActiveThreadTitle{
  flex:1 1 auto;
  max-width:none;
}

body.flightops-ops-console .commsThreadHeaderMeta{
  flex:0 0 auto;
}

body.flightops-ops-console .commsThreadPeoplePill{
  min-width:0;
  padding:0 9px;
  white-space:nowrap;
}

body.flightops-ops-console #commsUnreadBadge{
  display:none !important;
}

body.flightops-ops-console .commsCondensedActions{
  position:relative;
  width:100%;
  min-height:38px;
  margin-left:0;
  justify-content:flex-start;
  align-items:center;
  gap:6px;
}

body.flightops-ops-console .commsCondensedMuteBtn{
  width:54px;
  min-width:54px;
}

body.flightops-ops-console .commsCondensedVoiceBtn{
  min-width:64px;
}

body.flightops-ops-console #commsVoiceMonitorBtn{
  margin-left:2px;
}

body.flightops-ops-console .commsCondensedStatus{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:8px 10px;
  width:100%;
  padding-right:0;
}

body.flightops-ops-console .commsVoiceStatusMain{
  min-width:0;
  display:grid;
  gap:4px;
}

body.flightops-ops-console .commsStatusAudioPopover{
  position:relative;
  align-self:start;
  justify-self:end;
  z-index:4;
}

body.flightops-ops-console .commsStatusAudioPopover .commsAudioPopoverBtn{
  width:66px;
  min-width:66px;
  padding:0 8px !important;
}

body.flightops-ops-console .commsStatusAudioPopover .commsAudioPopoverPanel{
  left:auto !important;
  right:0 !important;
  transform:none;
  width:min(220px,calc(var(--flightops-comms-drawer-width) - 36px));
  max-width:calc(var(--flightops-comms-drawer-width) - 36px);
}

body.flightops-ops-console .leaflet-top{
  top:calc(var(--auth-topbar-height,64px) + 10px + var(--mission-telemetry-shell-height, 0px));
}

body.flightops-ops-console #monitoringDock{
  top:calc(var(--auth-topbar-height,64px) + 24px + var(--mission-telemetry-shell-height, 0px));
}

body.flightops-ops-console #mapUtilityDrawer{
  top:calc(var(--auth-topbar-height,64px) + 74px + var(--mission-telemetry-shell-height, 0px));
}

body.flightops-ops-console #mapChatLauncher{
  top:calc(var(--auth-topbar-height,64px) + 122px + var(--mission-telemetry-shell-height, 0px));
}

body.flightops-ops-console .connectionDegradeBanner{
  top:calc(var(--runtime-health-top, var(--auth-topbar-height,56px)) + var(--runtime-health-height, 0px) + 10px + var(--mission-telemetry-shell-height, 0px));
}

body.flightops-ops-console #sidebar .panelSection.overlaySurface:not([data-panel="opsdrawer"]):not([data-panel="comms"]):not([data-panel="alerts"]){
  translate:0 var(--mission-telemetry-shell-height, 0px);
  max-height:calc(100vh - 110px - var(--mission-telemetry-shell-height, 0px)) !important;
  transition:translate .24s ease,opacity .2s ease,transform .24s ease;
}

body.flightops-ops-console #sidebar .panelSection.workspaceSurface,
body.flightops-ops-console #sidebar .panelSection.sectionSurface,
body.flightops-ops-console #sidebar .panelSection[data-panel="alerts"],
body.flightops-ops-console #sidebar .panelSection[data-panel="settings"],
body.flightops-ops-console #sidebar .panelSection[data-panel="opsdrawer"],
body.flightops-ops-console #sidebar .panelSection[data-panel="notes"],
body.flightops-ops-console #sidebar .panelSection[data-panel="weather"]{
  top:calc(var(--auth-topbar-height,64px) + var(--mission-telemetry-shell-height, 0px)) !important;
  height:calc(100vh - var(--auth-topbar-height,64px) - var(--mission-telemetry-shell-height, 0px)) !important;
  max-height:calc(100vh - var(--auth-topbar-height,64px) - var(--mission-telemetry-shell-height, 0px)) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="alerts"] .sectionBody{
  height:calc(100vh - var(--auth-topbar-height,64px) - var(--mission-telemetry-shell-height, 0px) - 60px) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"]{
  top:calc(var(--auth-topbar-height,64px) + 16px + var(--mission-telemetry-shell-height, 0px)) !important;
  max-height:calc(100vh - var(--auth-topbar-height,64px) - var(--mission-telemetry-shell-height, 0px) - 32px) !important;
}

body.flightops-ops-console .commsMessage.attention-needed .commsMessageBubble{
  border-color:#f59e0b !important;
  box-shadow:0 0 0 1px rgba(245,158,11,.28) inset,0 0 0 0 rgba(245,158,11,.28);
  animation:commsMessageAttentionPulse 1.15s ease-in-out infinite;
  cursor:pointer;
}

body.flightops-ops-console .commsMessage.attention-requested .commsMessageBubble{
  border-color:#f59e0b !important;
  box-shadow:0 0 0 1px rgba(245,158,11,.2) inset;
}

body.flightops-ops-console .commsAttentionBadge{
  display:inline-grid;
  place-items:center;
  width:16px;
  height:16px;
  flex:0 0 16px;
  border-radius:999px;
  background:#f59e0b;
  color:#111827;
  font-size:11px;
  font-weight:900;
  line-height:1;
}

body.flightops-ops-console .commsMessageContextMenu{
  position:fixed;
  z-index:2600;
  width:244px;
  min-width:244px;
  padding:8px;
  border:1px solid rgba(148,163,184,.35);
  border-radius:6px;
  background:#0f172a;
  box-shadow:0 18px 36px rgba(15,23,42,.24);
  display:grid;
  gap:6px;
}

body.flightops-ops-console .commsMessageContextMenu[hidden]{
  display:none !important;
}

body.flightops-ops-console .commsMessageContextMenu button{
  width:100%;
  min-width:0;
  justify-content:flex-start;
  padding:8px 10px;
  border:0;
  border-radius:4px;
  background:transparent;
  color:#f8fafc;
  box-shadow:none;
  text-align:left;
}

body.flightops-ops-console .commsMessageContextMenu button:hover,
body.flightops-ops-console .commsMessageContextMenu button:focus-visible{
  background:rgba(59,130,246,.24);
}

body.flightops-ops-console .commsMessageContextMenu button[hidden]{
  display:none !important;
}

body.flightops-ops-console .commsAttentionTargetField{
  position:relative;
  display:grid;
  gap:4px;
}

body.flightops-ops-console .commsAttentionTargetField input{
  width:100%;
  min-width:0;
  height:32px;
  padding:6px 8px;
  border:1px solid rgba(148,163,184,.38);
  border-radius:4px;
  background:#f8fafc;
  color:#0f172a;
  font-size:12px;
  line-height:1.2;
  outline:none;
}

body.flightops-ops-console .commsAttentionTargetField input:focus{
  border-color:#60a5fa;
  box-shadow:0 0 0 2px rgba(96,165,250,.22);
}

body.flightops-ops-console .commsAttentionSuggestions{
  display:grid;
  gap:2px;
  max-height:148px;
  overflow:auto;
  padding:3px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:4px;
  background:#111827;
}

body.flightops-ops-console .commsAttentionSuggestions[hidden]{
  display:none !important;
}

body.flightops-ops-console .commsAttentionSuggestions button{
  padding:6px 8px;
  font-size:12px;
}

body.flightops-ops-console .commsAttentionActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}

body.flightops-ops-console .commsAttentionActions button{
  justify-content:center;
  text-align:center;
}

body.flightops-ops-console .commsThreadMetaPill.is-typing{
  border-color:rgba(14,165,233,.42);
  background:rgba(14,165,233,.12);
  color:#0369a1;
}

body.flightops-ops-console .commsTypingIndicator{
  display:flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  max-width:min(88%,520px);
  margin:2px 0 0;
  padding:6px 10px;
  border:1px solid rgba(148,163,184,.28);
  border-radius:12px;
  background:rgba(248,250,252,.92);
  color:#475569;
  font-size:12px;
  line-height:1.2;
}

body.flightops-ops-console .commsTypingDots{
  display:inline-flex;
  align-items:center;
  gap:3px;
  flex:0 0 auto;
}

body.flightops-ops-console .commsTypingDots span{
  width:5px;
  height:5px;
  border-radius:999px;
  background:#0ea5e9;
  animation:commsTypingDot 1.05s ease-in-out infinite;
}

body.flightops-ops-console .commsTypingDots span:nth-child(2){
  animation-delay:.14s;
}

body.flightops-ops-console .commsTypingDots span:nth-child(3){
  animation-delay:.28s;
}

body.flightops-ops-console .commsCompact .commsTypingIndicator{
  max-width:100%;
  font-size:11px;
  padding:5px 8px;
}

@keyframes commsMessageAttentionPulse{
  0%,100%{
    transform:translateZ(0) scale(1);
    box-shadow:0 0 0 1px rgba(245,158,11,.28) inset,0 0 0 0 rgba(245,158,11,.28);
  }
  50%{
    transform:translateZ(0) scale(1.015);
    box-shadow:0 0 0 1px rgba(245,158,11,.48) inset,0 0 0 8px rgba(245,158,11,0);
  }
}

@keyframes commsTypingDot{
  0%,70%,100%{transform:translateY(0);opacity:.45}
  35%{transform:translateY(-3px);opacity:1}
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"].panelOpen{
  height:calc(100vh - var(--auth-topbar-height,64px) - var(--mission-telemetry-shell-height,0px) - 32px) !important;
  min-height:0;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .sectionBody{
  min-height:0;
  height:100%;
}

body.flightops-ops-console .commsDrawerMessagePane,
body.flightops-ops-console #commsMainContent.commsMessageStage,
body.flightops-ops-console .commsMessageStage{
  min-height:0;
}

body.flightops-ops-console #commsMessageList{
  box-sizing:border-box;
  scroll-padding-bottom:calc(96px + var(--comms-safe-bottom,0px));
  padding-bottom:calc(34px + var(--comms-safe-bottom,0px));
}

body.flightops-ops-console #commsMessageList > .commsMessage:last-child,
body.flightops-ops-console #commsMessageList > .commsTypingIndicator:last-child{
  scroll-margin-bottom:calc(96px + var(--comms-safe-bottom,0px));
}

body.flightops-ops-console .commsCompactMessages{
  box-sizing:border-box;
  scroll-padding-bottom:20px;
  padding-bottom:16px;
}

body.flightops-ops-console .commsMessageEditedNote{
  margin-top:4px;
  font-size:10px;
  line-height:1.1;
  color:rgba(226,232,240,.68);
}

body.flightops-ops-console .commsMessage.outbound .commsMessageEditedNote{
  text-align:right;
  color:rgba(255,255,255,.72);
}

/* Comms drawer motion stabilizer */
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"]{
  display:block !important;
  left:auto !important;
  right:0 !important;
  top:calc(var(--auth-topbar-height,64px) + var(--mission-telemetry-shell-height,0px) + 16px) !important;
  bottom:16px !important;
  width:var(--flightops-comms-drawer-width) !important;
  min-width:320px !important;
  max-width:calc(100vw - 6px) !important;
  height:calc(100vh - var(--auth-topbar-height,64px) - var(--mission-telemetry-shell-height,0px) - 32px) !important;
  max-height:calc(100vh - var(--auth-topbar-height,64px) - var(--mission-telemetry-shell-height,0px) - 32px) !important;
  visibility:hidden;
  opacity:.98;
  pointer-events:none;
  transform:translate3d(var(--flightops-comms-drawer-travel,calc(100% + 18px)),0,0);
  transition:transform var(--flightops-comms-motion-duration,.32s) var(--flightops-comms-motion-ease,cubic-bezier(.22,.68,.25,1)),opacity .22s ease,visibility 0s linear var(--flightops-comms-motion-duration,.32s);
  will-change:transform;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"].panelOpen{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translate3d(0,0,0);
  transition:transform var(--flightops-comms-motion-duration,.32s) var(--flightops-comms-motion-ease,cubic-bezier(.22,.68,.25,1)),opacity .22s ease,visibility 0s;
}

body.flightops-ops-console #mapChatLauncher{
  transform:translate3d(0,0,0);
  transition:right .28s cubic-bezier(.22,.68,.25,1),top .28s cubic-bezier(.22,.68,.25,1),background .18s ease,color .18s ease,box-shadow .18s ease,opacity .18s ease;
  will-change:right,top;
}

/* Warm Glass comms/mobile reskin */
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"],
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"].panelOpen{
  background:rgba(25,27,31,.92) !important;
  border-left:1px solid rgba(180,170,155,.13) !important;
  box-shadow:-12px 0 34px rgba(0,0,0,.3) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .head,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .sectionBody,
body.flightops-ops-console .commsDrawerMessagePane,
body.flightops-ops-console .commsCondensedTopbar,
body.flightops-ops-console .commsCompose{
  background:transparent !important;
}

body.flightops-ops-console .commsCondensedTopbar,
body.flightops-ops-console .commsThreadHeaderCondensed{
  border-bottom:1px solid rgba(180,170,155,.12) !important;
}

body.flightops-ops-console .commsVoiceBrandLabel,
body.flightops-ops-console .commsVoiceParticipantCount,
body.flightops-ops-console .commsThreadMetaPill,
body.flightops-ops-console .commsMessageHeader,
body.flightops-ops-console .commsMessageStamp{
  color:#6b6660 !important;
}

body.flightops-ops-console .commsDrawerStatus,
body.flightops-ops-console #commsActiveThreadSub,
body.flightops-ops-console .commsMessageSender,
body.flightops-ops-console .commsTypingIndicator{
  color:#9e9890 !important;
}

body.flightops-ops-console .commsVoicePulse{
  background:#6b6660 !important;
}

body.flightops-ops-console .commsVoicePulse.is-live{
  background:#35c76f !important;
  box-shadow:0 0 0 4px rgba(53,199,111,.16) !important;
}

body.flightops-ops-console .commsVoiceStatusBadge,
body.flightops-ops-console .commsThreadMetaPill{
  border:1px solid rgba(180,170,155,.2) !important;
  background:rgba(180,170,155,.06) !important;
  color:#6b6660 !important;
}

body.flightops-ops-console .commsVoiceStatusBadge.is-live,
body.flightops-ops-console .commsThreadMetaPill.is-live{
  border-color:rgba(52,184,102,.32) !important;
  background:rgba(52,184,102,.12) !important;
  color:#86efac !important;
}

body.flightops-ops-console .commsConversationSwitch{
  background:rgba(180,170,155,.08) !important;
}

body.flightops-ops-console .commsVoiceActionBtn,
body.flightops-ops-console .commsVoiceCloseBtn,
body.flightops-ops-console .commsLaneBtn,
body.flightops-ops-console .commsAudioPopover > summary,
body.flightops-ops-console .commsDirectPicker > summary{
  border:1px solid rgba(180,170,155,.2) !important;
  background:rgba(180,170,155,.06) !important;
  color:#e8e4df !important;
}

body.flightops-ops-console .commsConversationSwitch .commsLaneBtn,
body.flightops-ops-console .commsConversationSwitch .commsDirectPicker > summary{
  border-color:transparent !important;
  background:transparent !important;
}

body.flightops-ops-console .commsLaneBtn.active,
body.flightops-ops-console .commsDirectPicker > summary.active{
  border-color:transparent !important;
  background:rgba(212,168,74,.12) !important;
  color:#d4a84a !important;
  box-shadow:0 1px 4px rgba(0,0,0,.15) !important;
}

body.flightops-ops-console .commsVoiceActionBtn.is-live,
body.flightops-ops-console .commsVoiceActionBtn.is-ready,
body.flightops-ops-console .commsVoiceActionBtn.is-active{
  border-color:rgba(212,168,74,.4) !important;
  background:rgba(212,168,74,.1) !important;
  color:#d4a84a !important;
}

body.flightops-ops-console .commsDirectPickerPanel,
body.flightops-ops-console .commsAudioPopoverPanel,
body.flightops-ops-console .commsStatusAudioPopover .commsAudioPopoverPanel{
  border:1px solid rgba(180,170,155,.2) !important;
  background:rgba(25,27,31,.96) !important;
  box-shadow:0 16px 32px rgba(0,0,0,.35) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

body.flightops-ops-console .commsAudioPopoverField span{
  color:#9e9890 !important;
}

body.flightops-ops-console .commsAudioPopoverField select{
  border:1px solid rgba(180,170,155,.2) !important;
  background:rgba(21,23,26,.9) !important;
  color:#e8e4df !important;
}

body.flightops-ops-console .commsAudioPopoverField select:focus{
  border-color:rgba(212,168,74,.4) !important;
  outline:none;
}

body.flightops-ops-console .commsVoiceDeviceRefreshBtn{
  border:1px solid rgba(180,170,155,.22) !important;
  background:rgba(36,38,42,.94) !important;
  color:#e8e4df !important;
}

body.flightops-ops-console .commsDirectPickerItem{
  border:1px solid rgba(180,170,155,.14) !important;
  background:rgba(30,32,36,.88) !important;
  color:#e8e4df !important;
}

body.flightops-ops-console .commsDirectPickerItem:hover{
  border-color:rgba(212,168,74,.34) !important;
  background:rgba(212,168,74,.08) !important;
}

body.flightops-ops-console .commsDirectPickerItem.active{
  border-color:rgba(212,168,74,.42) !important;
  background:rgba(212,168,74,.14) !important;
}

body.flightops-ops-console .commsDirectPickerName,
body.flightops-ops-console .commsThreadHeaderCondensed #commsActiveThreadTitle{
  color:#f5f2ee !important;
}

body.flightops-ops-console .commsDirectPickerUnread{
  background:#ef4444 !important;
}

body.flightops-ops-console #commsUnreadBadge{
  background:rgba(212,168,74,.12) !important;
  border:1px solid rgba(212,168,74,.24) !important;
  color:#d4a84a !important;
}

body.flightops-ops-console .commsMessageBubble{
  border:1px solid rgba(180,170,155,.12) !important;
  background:rgba(30,32,36,.88) !important;
  color:#e8e4df !important;
  box-shadow:none !important;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageBubble{
  background:rgba(212,168,74,.1) !important;
  border-color:rgba(212,168,74,.2) !important;
  color:#f5f2ee !important;
}

body.flightops-ops-console .commsMessage.rangeControl:not(.outbound) .commsMessageBubble{
  background:rgba(30,34,42,.92) !important;
  border-color:rgba(180,170,155,.16) !important;
  box-shadow:none !important;
}

body.flightops-ops-console .commsMessageBody{
  color:#e8e4df !important;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageBody{
  color:#f5f2ee !important;
}

body.flightops-ops-console .commsCompose{
  border-top:1px solid rgba(180,170,155,.12) !important;
}

body.flightops-ops-console .commsCompose textarea{
  border:1px solid rgba(180,170,155,.2) !important;
  background:rgba(21,23,26,.9) !important;
  color:#e8e4df !important;
}

body.flightops-ops-console .commsCompose textarea::placeholder{
  color:#6b6660 !important;
}

body.flightops-ops-console .commsCompose textarea:focus{
  border-color:rgba(212,168,74,.4) !important;
  outline:none;
}

body.flightops-ops-console #commsSendBtn{
  border:1px solid rgba(212,168,74,.8) !important;
  background:linear-gradient(135deg,#d4a84a,#b8912e) !important;
  color:#111214 !important;
  box-shadow:0 2px 8px rgba(212,168,74,.2) !important;
}

body.flightops-ops-console #mapChatLauncher{
  border:1px solid rgba(180,170,155,.14) !important;
  border-right:0 !important;
  background:rgba(17,18,20,.96) !important;
}

body.flightops-ops-console #mapChatLauncher.active{
  background:linear-gradient(135deg,#d4a84a,#b8912e) !important;
  color:#111214 !important;
  box-shadow:0 12px 28px rgba(212,168,74,.3) !important;
}

body.flightops-ops-console .commsMapToast{
  background:rgba(25,27,31,.92) !important;
  border:1px solid rgba(180,170,155,.13) !important;
  box-shadow:0 18px 36px rgba(0,0,0,.4) !important;
  color:#e8e4df !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

body.flightops-ops-console .commsMapToastLabel{
  color:#6b6660 !important;
}

body.flightops-ops-console .commsMapToastClose{
  background:rgba(180,170,155,.06) !important;
  border:1px solid rgba(180,170,155,.2) !important;
  color:#e8e4df !important;
}

body.flightops-ops-console .commsMapToastClose:hover{
  background:rgba(180,170,155,.12) !important;
}

body.flightops-ops-console .commsMapToastSender{
  color:#f5f2ee !important;
}

body.flightops-ops-console .commsMapToastBody{
  color:#e8e4df !important;
}

body.flightops-ops-console .commsMapToastMeta{
  color:#9e9890 !important;
}

body.flightops-ops-console .commsMessageContextMenu{
  border:1px solid rgba(180,170,155,.2) !important;
  background:rgba(25,27,31,.96) !important;
  box-shadow:0 18px 36px rgba(0,0,0,.35) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

body.flightops-ops-console .commsMessageContextMenu button{
  color:#e8e4df !important;
}

body.flightops-ops-console .commsMessageContextMenu button:hover,
body.flightops-ops-console .commsMessageContextMenu button:focus-visible{
  background:rgba(212,168,74,.14) !important;
}

body.flightops-ops-console .commsAttentionTargetField input{
  border:1px solid rgba(180,170,155,.2) !important;
  background:rgba(21,23,26,.9) !important;
  color:#e8e4df !important;
}

body.flightops-ops-console .commsAttentionTargetField input:focus{
  border-color:rgba(212,168,74,.4) !important;
  box-shadow:0 0 0 2px rgba(212,168,74,.15) !important;
}

body.flightops-ops-console .commsAttentionSuggestions{
  border:1px solid rgba(180,170,155,.16) !important;
  background:rgba(21,23,26,.9) !important;
}

body.flightops-ops-console .commsThreadMetaPill.is-typing{
  border-color:rgba(212,168,74,.34) !important;
  background:rgba(212,168,74,.1) !important;
  color:#d4a84a !important;
}

body.flightops-ops-console .commsTypingIndicator{
  border:1px solid rgba(180,170,155,.16) !important;
  background:rgba(30,32,36,.88) !important;
}

body.flightops-ops-console .commsTypingDots span{
  background:#d4a84a !important;
}

body.flightops-ops-console .commsMessageEditedNote{
  color:rgba(232,228,223,.6) !important;
}

body.flightops-ops-console .commsMessage.outbound .commsMessageEditedNote{
  color:rgba(245,242,238,.7) !important;
}

/* Right rail motion sync */
body.flightops-ops-console{
  --flightops-comms-motion-duration:.32s;
  --flightops-comms-motion-ease:cubic-bezier(.22,.68,.25,1);
  --flightops-comms-drawer-travel:calc(var(--flightops-comms-drawer-width) + var(--flightops-comms-drawer-gap) + 8px);
  --flightops-comms-rail-shift:0px;
  --flightops-comms-leaflet-shift:0px;
}

body.flightops-ops-console.commsPanelActive{
  --flightops-comms-rail-shift:var(--flightops-comms-drawer-travel);
  --flightops-comms-leaflet-shift:calc(var(--flightops-comms-drawer-width) + var(--flightops-comms-drawer-gap));
}

body.flightops-ops-console #mapChatLauncher,
body.flightops-ops-console.commsPanelActive #mapChatLauncher{
  right:0 !important;
  translate:calc(0px - var(--flightops-comms-rail-shift)) 0;
  transition:translate var(--flightops-comms-motion-duration) var(--flightops-comms-motion-ease),top var(--flightops-comms-motion-duration) var(--flightops-comms-motion-ease),background .18s ease,color .18s ease,box-shadow .18s ease,opacity .18s ease;
  will-change:translate,top;
}

body.flightops-ops-console #mapUtilityDrawer,
body.flightops-ops-console #monitoringDock,
body.flightops-ops-console.commsPanelActive #mapUtilityDrawer,
body.flightops-ops-console.commsPanelActive #monitoringDock{
  right:0 !important;
  translate:calc(0px - var(--flightops-comms-rail-shift)) 0;
  transition:translate var(--flightops-comms-motion-duration) var(--flightops-comms-motion-ease),top var(--flightops-comms-motion-duration) var(--flightops-comms-motion-ease),transform var(--flightops-comms-motion-duration) var(--flightops-comms-motion-ease),opacity .18s ease;
  will-change:translate,top,transform;
}

body.flightops-ops-console .leaflet-right{
  right:8px !important;
  translate:calc(0px - var(--flightops-comms-leaflet-shift)) 0;
  transition:translate var(--flightops-comms-motion-duration) var(--flightops-comms-motion-ease) !important;
  will-change:translate;
}

body.flightops-ops-console .connectionDegradeBanner{
  right:22px;
  translate:calc(0px - var(--flightops-comms-leaflet-shift)) 0;
  transition:translate var(--flightops-comms-motion-duration) var(--flightops-comms-motion-ease),top var(--flightops-comms-motion-duration) var(--flightops-comms-motion-ease),opacity .18s ease;
  will-change:translate,top;
}

@media (max-width:900px){
  body.flightops-ops-console #sidebar .panelSection[data-panel="comms"]{
    top:calc(var(--auth-topbar-height,64px) + var(--mission-telemetry-shell-height,0px) + 12px) !important;
    bottom:0 !important;
    width:var(--flightops-comms-drawer-width) !important;
    min-width:0 !important;
    height:calc(100vh - var(--auth-topbar-height,64px) - var(--mission-telemetry-shell-height,0px) - 12px) !important;
    max-height:calc(100vh - var(--auth-topbar-height,64px) - var(--mission-telemetry-shell-height,0px) - 12px) !important;
  }
}

/* Warm Ops beta topbar */
body.flightops-ops-console #authTopbar {
  font-family: var(--fo-font-sans);
  background: var(--fo-bg-topbar);
  border-bottom: 1px solid var(--fo-border-subtle);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.32);
}

body.flightops-ops-console .authTopbarTitle {
  min-width: 248px;
}

body.flightops-ops-console .authTopbarTitleText strong {
  color: var(--fo-text-strong);
  font-size: 15px;
  letter-spacing: 0;
}

body.flightops-ops-console .authTopbarSubtitle,
body.flightops-ops-console .releaseVersionBadge {
  color: var(--fo-text-muted);
}

body.flightops-ops-console .authTopbarMenuBtn,
body.flightops-ops-console .topbarIconBtn,
body.flightops-ops-console .topNavBtn,
body.flightops-ops-console .authAccountMenuBtn {
  border-radius: var(--fo-radius-sm);
  border-color: var(--fo-border-subtle);
  background: transparent;
  color: var(--fo-text-secondary);
  box-shadow: none;
}

body.flightops-ops-console .authTopbarMenuBtn:hover,
body.flightops-ops-console .topbarIconBtn:hover,
body.flightops-ops-console .topNavBtn:hover,
body.flightops-ops-console .authAccountMenuBtn:hover,
body.flightops-ops-console .authAccountMenuBtn.open {
  background: var(--fo-bg-card);
  border-color: var(--fo-border-medium);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .authTopbarMenuBtn.active,
body.flightops-ops-console .topbarWorkspaceGridBtn.active,
body.flightops-ops-console .topbarIconBtn.active,
body.flightops-ops-console .topNavBtn.active {
  background: var(--fo-accent-soft);
  border-color: var(--fo-border-strong);
  color: var(--fo-accent-hover);
  box-shadow: inset 0 0 0 1px rgba(212, 168, 74, 0.10);
}

body.flightops-ops-console .weatherTopbarStrip {
  padding: 3px;
  border-radius: var(--fo-radius-md);
  border-color: var(--fo-border-subtle);
  background: transparent;
  box-shadow: none;
}

body.flightops-ops-console .weatherTopbarStatusBtn {
  min-width: 148px;
  padding: 0 14px;
  border-radius: var(--fo-radius-sm);
  background: linear-gradient(180deg, rgba(13, 148, 136, 0.18), rgba(13, 148, 136, 0.08));
  border: 1px solid rgba(13, 148, 136, 0.32);
  color: #5eead4;
}

body.flightops-ops-console .weatherTopbarStatusBtn:hover,
body.flightops-ops-console .weatherTopbarStatusBtn.is-active {
  background: linear-gradient(180deg, rgba(13, 148, 136, 0.28), rgba(13, 148, 136, 0.14));
  border-color: rgba(13, 148, 136, 0.48);
  box-shadow: none;
}

body.flightops-ops-console .weatherTopbarStatusIcon {
  width: 20px;
  height: 20px;
  border-radius: 5px;
  background: #0d9488;
  color: #ffffff;
}

body.flightops-ops-console .weatherTopbarStatusIcon svg {
  width: 16px;
  height: 16px;
}

body.flightops-ops-console .weatherTopbarStatusTextWrap strong {
  color: #5eead4;
  font-size: 12px;
  letter-spacing: 0.03em;
  text-transform: none;
}

body.flightops-ops-console .weatherTopbarStatusTextWrap small {
  color: rgba(94, 234, 212, 0.60);
  font-size: 8px;
  letter-spacing: 0.04em;
}

body.flightops-ops-console .weatherTopbarSourceWrap {
  flex: 0 1 164px;
}

body.flightops-ops-console .weatherTopbarSourceBtn {
  padding: 0 26px 0 10px;
  border-radius: var(--fo-radius-xs);
  background: var(--fo-bg-card);
  border: 1px solid var(--fo-border-subtle);
}

body.flightops-ops-console .weatherTopbarSourceBtn:hover,
body.flightops-ops-console .weatherTopbarSourceBtn[aria-expanded="true"] {
  background: var(--fo-bg-card-hover);
  border-color: var(--fo-border-medium);
}

body.flightops-ops-console .weatherTopbarSourceBtn::after {
  right: 10px;
  color: var(--fo-text-muted);
}

body.flightops-ops-console #weatherTopbarSourceValue {
  color: var(--fo-accent);
  font-weight: 800;
}

body.flightops-ops-console .weatherTopbarCell {
  justify-items: center;
  text-align: center;
  border-left: 1px solid rgba(180, 170, 155, 0.10);
}

body.flightops-ops-console .weatherTopbarCellLabel {
  color: var(--fo-text-muted);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.10em;
}

body.flightops-ops-console .weatherTopbarCellValue,
body.flightops-ops-console .weatherTopbarCollapsedSummary {
  color: var(--fo-text-primary);
  font-size: 12px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

body.flightops-ops-console .weatherTopbarCell[data-tone="good"] .weatherTopbarCellValue {
  color: #7edba4;
}

body.flightops-ops-console .weatherTopbarCell[data-tone="watch"] .weatherTopbarCellValue {
  color: #f5cc6e;
}

body.flightops-ops-console .weatherTopbarCell[data-tone="stop"] .weatherTopbarCellValue {
  color: #f09898;
}

body.flightops-ops-console .weatherTopbarCollapseBtn {
  min-width: 32px;
  color: var(--fo-text-muted);
}

body.flightops-ops-console .weatherTopbarCollapseBtn:hover {
  color: var(--fo-text-primary);
  background: var(--fo-bg-card);
}

body.flightops-ops-console .weatherTopbarSourceMenu,
body.flightops-ops-console .topbarWorkspaceMenu,
body.flightops-ops-console .authAccountMenu,
body.flightops-ops-console .topbarTrackLegendPanel {
  border-color: var(--fo-border-subtle);
  background: linear-gradient(180deg, #1e2024, #191b1f);
  box-shadow: 0 22px 44px rgba(0, 0, 0, 0.38);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .weatherTopbarSourceMenu button,
body.flightops-ops-console .topbarWorkspaceMenuItem,
body.flightops-ops-console .authAccountMenuItem {
  border-radius: var(--fo-radius-sm);
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .weatherTopbarSourceMenu button strong,
body.flightops-ops-console .topbarWorkspaceMenuItem strong,
body.flightops-ops-console .authAccountName {
  color: var(--fo-text-strong);
}

body.flightops-ops-console .weatherTopbarSourceMenu button span,
body.flightops-ops-console .weatherTopbarSourceMenu button small,
body.flightops-ops-console .topbarWorkspaceMenuMeta,
body.flightops-ops-console .topbarWorkspaceMenuItem small,
body.flightops-ops-console .authAccountRole {
  color: var(--fo-text-muted);
}

body.flightops-ops-console .weatherTopbarSourceMenu button.active,
body.flightops-ops-console .weatherTopbarSourceMenu button:hover,
body.flightops-ops-console .topbarWorkspaceMenuItem.active,
body.flightops-ops-console .topbarWorkspaceMenuItem:hover,
body.flightops-ops-console .authAccountMenuItem:hover {
  background: var(--fo-bg-card-hover);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .topbarWorkspaceMenuBadge,
body.flightops-ops-console .topbarIconBadge {
  background: var(--fo-accent-soft);
  border-color: var(--fo-border-strong);
  color: var(--fo-accent-hover);
}

/* Beta23 track legend and ruler theme cleanup. */
body.flightops-ops-console .topbarTrackLegendPanel {
  border-color: var(--fo-border-subtle);
  background: linear-gradient(180deg, var(--fo-bg-surface-2), var(--fo-bg-surface));
  box-shadow: var(--fo-shadow-2);
}

body.flightops-ops-console .topbarTrackLegendItem {
  border-color: var(--fo-border-subtle);
  background: var(--fo-bg-card);
  color: var(--fo-text-primary);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

body.flightops-ops-console .topbarTrackLegendItem:hover {
  border-color: var(--fo-border-medium);
  background: var(--fo-bg-card-hover);
}

body.flightops-ops-console .topbarTrackLegendSwatch {
  border: 1px solid var(--fo-border-subtle);
  background: var(--fo-bg-card-soft);
}

body.flightops-ops-console .topbarTrackLegendCloseBtn,
body.flightops-ops-console .measureControl.compact .measureCompactBtn {
  border-color: var(--fo-border-subtle) !important;
  background: var(--fo-bg-card) !important;
  color: var(--fo-accent) !important;
  box-shadow: none !important;
}

body.flightops-ops-console .topbarTrackLegendCloseBtn:hover,
body.flightops-ops-console .measureControl.compact .measureCompactBtn:hover,
body.flightops-ops-console .measureControl.compact .measureCompactBtn.active {
  border-color: var(--fo-border-strong) !important;
  background: var(--fo-accent-soft) !important;
  color: var(--fo-accent-hover) !important;
}

@media (min-width: 1024px) {
  /* Warm Ops Option 3 weather topbar: two-deck micro strip */
  body.flightops-ops-console .weatherTopbarStrip {
    display: grid !important;
    grid-template-columns: 148px minmax(0, 1fr) 34px !important;
    grid-template-rows: 25px 27px !important;
    align-items: stretch !important;
    gap: 2px 4px !important;
    height: 60px !important;
    min-height: 60px !important;
    flex-wrap: initial !important;
  }

  body.flightops-ops-console .weatherTopbarStatusBtn {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    height: 100% !important;
    min-width: 148px !important;
    padding: 0 12px !important;
  }

  body.flightops-ops-console .weatherTopbarStatusTextWrap {
    display: grid !important;
  }

  body.flightops-ops-console .weatherTopbarSourceWrap {
    grid-column: 2 !important;
    grid-row: 1 !important;
    flex: initial !important;
    min-width: 0 !important;
    height: 25px !important;
  }

  body.flightops-ops-console .weatherTopbarSourceBtn {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 0 !important;
    height: 100% !important;
    padding: 0 28px 0 10px !important;
    background: rgba(212, 168, 74, 0.08) !important;
    border-color: rgba(212, 168, 74, 0.16) !important;
  }

  body.flightops-ops-console .weatherTopbarSourceBtn .weatherTopbarCellLabel {
    flex: 1 1 auto !important;
    color: var(--fo-text-strong) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  body.flightops-ops-console #weatherTopbarSourceValue {
    flex: 0 1 auto !important;
    max-width: 46% !important;
    color: var(--fo-accent) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
  }

  body.flightops-ops-console .weatherTopbarCollapsedSummary,
  body.flightops-ops-console .weatherTopbarDetails {
    order: 0 !important;
  }

  body.flightops-ops-console .weatherTopbarCollapsedSummary {
    grid-column: 2 !important;
    grid-row: 2 !important;
    min-height: 0 !important;
    height: 27px !important;
    padding: 0 10px !important;
    border-radius: var(--fo-radius-xs) !important;
    background: var(--fo-bg-card) !important;
    border: 1px solid var(--fo-border-subtle) !important;
    align-content: center !important;
  }

  body.flightops-ops-console .weatherTopbarDetails {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 2px !important;
    flex: 1 1 auto !important;
    grid-auto-columns: initial !important;
    overflow-x: hidden !important;
    padding-right: 0 !important;
    scrollbar-width: none !important;
  }

  body.flightops-ops-console .weatherTopbarDetails::-webkit-scrollbar {
    display: none !important;
    height: 0 !important;
  }

  body.flightops-ops-console .weatherTopbarCell {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    min-height: 0 !important;
    height: 27px !important;
    padding: 0 6px !important;
    border: 1px solid var(--fo-border-subtle) !important;
    border-radius: var(--fo-radius-xs) !important;
    background: var(--fo-bg-card) !important;
    text-align: center !important;
  }

  body.flightops-ops-console .weatherTopbarCellLabel {
    max-width: 42%;
    font-size: 8px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  body.flightops-ops-console .weatherTopbarCellValue {
    max-width: 58%;
    font-size: 10px !important;
    font-weight: 900 !important;
  }

  body.flightops-ops-console .weatherTopbarWideOptional {
    min-width: 0 !important;
  }

  body.flightops-ops-console #weatherTopbarDewpointCell,
  body.flightops-ops-console #weatherTopbarAltimeterCell {
    display: none !important;
  }

  body.flightops-ops-console .weatherTopbarCollapseBtn {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    min-width: 0 !important;
    height: 100% !important;
    align-self: stretch !important;
    border-radius: var(--fo-radius-sm) !important;
    background: var(--fo-bg-card) !important;
    border: 1px solid var(--fo-border-subtle) !important;
  }
}

/* Warm Ops beta6 weather topbar: stacked Weather/Source controls with full wind text */
body.flightops-ops-console .weatherTopbarCollapseBtn,
body.flightops-ops-console .weatherTopbarCollapsedSummary {
  display: none !important;
}

@media (min-width: 1024px) {
  body.flightops-ops-console .weatherTopbarStrip {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, 28px) !important;
    align-items: stretch !important;
    gap: 3px !important;
    height: 62px !important;
    min-height: 62px !important;
    padding: 3px !important;
    border-radius: var(--fo-radius-md) !important;
    overflow: visible !important;
  }

  body.flightops-ops-console .weatherTopbarStrip.is-collapsed .weatherTopbarDetails,
  body.flightops-ops-console .weatherTopbarDetails {
    display: contents !important;
  }

  body.flightops-ops-console .weatherTopbarStatusBtn,
  body.flightops-ops-console .weatherTopbarSourceWrap,
  body.flightops-ops-console .weatherTopbarSourceBtn,
  body.flightops-ops-console .weatherTopbarCell {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 28px !important;
  }

  body.flightops-ops-console .weatherTopbarStatusBtn {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 0 8px !important;
    border-radius: var(--fo-radius-xs) !important;
  }

  body.flightops-ops-console .weatherTopbarStatusIcon {
    width: 16px !important;
    height: 16px !important;
    border-radius: 4px !important;
  }

  body.flightops-ops-console .weatherTopbarStatusIcon svg {
    width: 13px !important;
    height: 13px !important;
  }

  body.flightops-ops-console .weatherTopbarStatusTextWrap {
    display: block !important;
    min-width: 0 !important;
    text-align: left !important;
  }

  body.flightops-ops-console .weatherTopbarStatusTextWrap strong {
    display: block !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  body.flightops-ops-console .weatherTopbarStatusTextWrap small {
    display: none !important;
  }

  body.flightops-ops-console .weatherTopbarSourceWrap {
    grid-column: 1 !important;
    grid-row: 2 !important;
    flex: initial !important;
    position: relative !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    width: 100% !important;
  }

  body.flightops-ops-console .weatherTopbarSourceBtn {
    display: grid !important;
    align-content: center !important;
    gap: 0 !important;
    padding: 0 18px 0 8px !important;
    border-radius: var(--fo-radius-xs) !important;
    background: rgba(212, 168, 74, 0.08) !important;
    border: 1px solid rgba(212, 168, 74, 0.18) !important;
    text-align: left !important;
    width: 100% !important;
  }

  body.flightops-ops-console .weatherTopbarSourceBtn::after {
    right: 7px !important;
    margin-top: -7px !important;
    font-size: 10px !important;
  }

  body.flightops-ops-console .weatherTopbarSourceBtn .weatherTopbarCellLabel,
  body.flightops-ops-console .weatherTopbarCellLabel {
    max-width: none !important;
    color: var(--fo-text-muted) !important;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }

  body.flightops-ops-console #weatherTopbarSourceValue,
  body.flightops-ops-console .weatherTopbarCellValue {
    max-width: none !important;
    color: var(--fo-text-primary) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.flightops-ops-console #weatherTopbarSourceValue {
    color: var(--fo-accent) !important;
  }

  body.flightops-ops-console .weatherTopbarCell {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    padding: 0 8px !important;
    border: 1px solid var(--fo-border-subtle) !important;
    border-left: 1px solid var(--fo-border-subtle) !important;
    border-radius: var(--fo-radius-xs) !important;
    background: var(--fo-bg-card) !important;
    text-align: left !important;
  }

  body.flightops-ops-console #weatherTopbarWindCell {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.flightops-ops-console #weatherTopbarVisibilityCell {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  body.flightops-ops-console #weatherTopbarCeilingCell {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }

  body.flightops-ops-console #weatherTopbarTempCell {
    grid-column: 5 !important;
    grid-row: 1 !important;
  }

  body.flightops-ops-console #weatherTopbarDewpointCell {
    grid-column: 2 !important;
    grid-row: 2 !important;
    display: flex !important;
  }

  body.flightops-ops-console #weatherTopbarAltimeterCell {
    grid-column: 3 !important;
    grid-row: 2 !important;
    display: flex !important;
  }

  body.flightops-ops-console #weatherTopbarDensityCell {
    grid-column: 4 !important;
    grid-row: 2 !important;
    display: flex !important;
  }

  body.flightops-ops-console #weatherTopbarAloftCell {
    grid-column: 5 !important;
    grid-row: 2 !important;
    display: flex !important;
  }

  body.flightops-ops-console .weatherTopbarWideOptional,
  body.flightops-ops-console .weatherTopbarOptional {
    min-width: 0 !important;
  }
}

/* Warm Ops beta weather layout */
body.flightops-ops-console #sidebar .panelSection[data-panel="weather"] {
  background: var(--fo-bg-page) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="weather"] .sectionBody {
  overflow: hidden !important;
}

body.flightops-ops-console .weatherHeroStats,
body.flightops-ops-console .weatherWorkspaceUtilities,
body.flightops-ops-console .weatherReferenceBlock,
body.flightops-ops-console .weatherMapControlsBlock,
body.flightops-ops-console .weatherRadarFocusBlock,
body.flightops-ops-console .weatherReferenceSummaryBlock {
  display: none !important;
}

body.flightops-ops-console .weatherShell {
  display: grid !important;
  grid-template-rows: 1fr !important;
  gap: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  align-content: stretch !important;
  background: var(--fo-bg-page) !important;
}

body.flightops-ops-console .weatherWorkspace {
  display: grid !important;
  grid-template-columns: 236px minmax(0, 1fr) !important;
  gap: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  align-items: stretch !important;
}

body.flightops-ops-console .weatherWorkspacePrimary {
  display: contents !important;
}

body.flightops-ops-console .weatherOpsColumn.weatherOpsLeft {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: var(--fo-bg-surface) !important;
  border-right: 1px solid var(--fo-border-subtle) !important;
}

body.flightops-ops-console .weatherOpsColumn.weatherOpsCenter {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: var(--fo-bg-page) !important;
}

body.flightops-ops-console .weatherQuickActions {
  margin-top: auto;
  padding: 10px 12px 12px;
  border-top: 1px solid var(--fo-border-subtle);
  background: var(--fo-bg-card);
}

body.flightops-ops-console .weatherQuickActions .weatherSectionHeader {
  padding: 0 0 7px !important;
}

body.flightops-ops-console .weatherQuickActionsList {
  display: grid;
  gap: 5px;
}

body.flightops-ops-console .weatherQuickActionBtn {
  width: 100%;
  min-height: 32px;
  padding: 7px 10px;
  border-radius: var(--fo-radius-sm);
  border: 1px solid var(--fo-border-subtle);
  background: var(--fo-bg-surface);
  color: var(--fo-text-primary);
  font-size: 11px;
  font-weight: 700;
  text-align: left;
}

body.flightops-ops-console .weatherQuickActionBtn:hover {
  background: var(--fo-bg-card-hover);
  border-color: var(--fo-border-medium);
  color: var(--fo-text-strong);
}

body.flightops-ops-console .weatherOpsLeft::-webkit-scrollbar,
body.flightops-ops-console .weatherOpsCenter::-webkit-scrollbar {
  width: 4px;
}

body.flightops-ops-console .weatherOpsLeft::-webkit-scrollbar-thumb,
body.flightops-ops-console .weatherOpsCenter::-webkit-scrollbar-thumb {
  background: rgba(180, 170, 155, 0.18);
  border-radius: 999px;
}

@media (max-width: 980px) {
  body.flightops-ops-console .weatherWorkspace {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
  }

  body.flightops-ops-console .weatherOpsColumn.weatherOpsCenter {
    grid-row: 1 !important;
  }

  body.flightops-ops-console .weatherOpsColumn.weatherOpsLeft {
    grid-row: 2 !important;
    max-height: 42vh;
    border-right: 0 !important;
    border-top: 1px solid var(--fo-border-subtle) !important;
  }
}

/* Warm Ops beta weather content */
body.flightops-ops-console .weatherBlock {
  gap: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.flightops-ops-console .weatherSensorNetworkBlock,
body.flightops-ops-console .weatherStationComparisonBlock {
  flex: 0 0 auto;
}

body.flightops-ops-console .weatherSelectedReportBlock {
  flex: 0 0 auto;
  padding: 10px 20px 12px !important;
  border-bottom: 1px solid var(--fo-border-subtle) !important;
  background: var(--fo-bg-surface) !important;
}

body.flightops-ops-console .weatherFieldSummaryWideBlock {
  flex: 1 1 auto;
  min-height: 0;
  padding: 0 !important;
}

body.flightops-ops-console .weatherSectionHeader {
  padding: 10px 12px 5px !important;
}

body.flightops-ops-console .weatherSelectedReportBlock .weatherSectionHeader,
body.flightops-ops-console .weatherFieldSummaryWideBlock .weatherSectionHeader {
  padding: 4px 0 10px !important;
}

body.flightops-ops-console .weatherFieldSummaryWideBlock .weatherSectionHeader {
  padding: 14px 20px 8px !important;
}

body.flightops-ops-console .weatherBlockTitle {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--fo-text-muted) !important;
  font-family: var(--fo-font-sans) !important;
  font-size: 9px !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

body.flightops-ops-console .weatherSelectedReportBlock .weatherBlockTitle {
  color: var(--fo-accent) !important;
  font-size: 11px !important;
  letter-spacing: 0.08em !important;
}

body.flightops-ops-console .weatherFieldSummaryWideBlock .weatherBlockTitle {
  color: var(--fo-text-strong) !important;
  font-size: 13px !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.flightops-ops-console .weatherBlockMeta {
  margin: 1px 0 0 !important;
  color: var(--fo-text-secondary) !important;
  font-size: 11px !important;
}

body.flightops-ops-console .weatherSelectedReportList,
body.flightops-ops-console .weatherSensorList,
body.flightops-ops-console .weatherStationComparisonList {
  gap: 0 !important;
}

body.flightops-ops-console .weatherSensorList .empty,
body.flightops-ops-console .weatherStationComparisonList .empty,
body.flightops-ops-console .weatherSelectedReportList .empty {
  margin: 8px 12px 12px;
  padding: 10px 12px;
  border: 1px solid var(--fo-border-subtle);
  border-radius: var(--fo-radius-sm);
  background: var(--fo-bg-card);
  color: var(--fo-text-secondary);
}

body.flightops-ops-console #weatherSensorHealthBadge,
body.flightops-ops-console #weatherPinnedAviationCount,
body.flightops-ops-console #weatherSelectedReportBadge {
  border: 1px solid var(--fo-border-subtle);
  border-radius: var(--fo-radius-pill);
  background: var(--fo-bg-card);
  color: var(--fo-text-secondary);
  font-size: 10px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

body.flightops-ops-console #weatherPinnedAviationCount {
  color: #7edba4;
}

body.flightops-ops-console .weatherCompactCompareItem,
body.flightops-ops-console #weatherList .weatherSensorCompareItem {
  display: grid !important;
  gap: 5px !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 10px 12px !important;
  border: 0 !important;
  border-left: 2px solid transparent !important;
  border-bottom: 1px solid rgba(180, 170, 155, 0.06) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background 120ms ease, border-color 120ms ease;
}

body.flightops-ops-console .weatherCompactCompareItem:hover,
body.flightops-ops-console #weatherList .weatherSensorCompareItem:hover {
  background: var(--fo-bg-card) !important;
  transform: none !important;
}

body.flightops-ops-console .weatherCompactCompareItem.is-selected,
body.flightops-ops-console .weatherCompactCompareItem.active,
body.flightops-ops-console #weatherList .weatherSensorCompareItem.is-selected {
  background: var(--fo-accent-soft) !important;
  border-left-color: var(--fo-accent) !important;
  border-bottom-color: rgba(212, 168, 74, 0.16) !important;
  box-shadow: none !important;
}

body.flightops-ops-console .weatherCompactCompareTop {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
  align-items: center;
  min-width: 0 !important;
}

body.flightops-ops-console .weatherCompactCompareTitle {
  min-width: 0 !important;
  color: var(--fo-text-strong) !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.18;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

body.flightops-ops-console .weatherCompactCompareBadge {
  max-width: 86px !important;
  min-width: 0 !important;
  min-height: 20px !important;
  padding: 2px 7px !important;
  border-radius: var(--fo-radius-pill) !important;
  border-color: rgba(94, 234, 212, 0.22) !important;
  background: rgba(13, 148, 136, 0.14) !important;
  color: #99f6e4 !important;
  font-size: 8px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.flightops-ops-console .weatherCompactCompareSummary {
  min-width: 0 !important;
  color: var(--fo-text-secondary) !important;
  font-size: 11px !important;
  line-height: 1.36;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
  word-break: break-word !important;
}

body.flightops-ops-console .weatherCompactCompareMeta {
  min-width: 0 !important;
  color: var(--fo-text-muted) !important;
  font-size: 10px !important;
  line-height: 1.35;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
  word-break: break-word !important;
}

body.flightops-ops-console .weatherPinnedManagerCompact {
  margin: 10px 12px 12px;
  border-color: var(--fo-border-subtle) !important;
  border-radius: var(--fo-radius-sm) !important;
  background: var(--fo-bg-card) !important;
}

body.flightops-ops-console .weatherSelectedReportPanel {
  gap: 8px !important;
}

body.flightops-ops-console .weatherSelectedReportDecoded {
  gap: 8px !important;
  padding: 10px 12px !important;
  border-radius: var(--fo-radius-sm) !important;
  border: 1px solid var(--fo-border-subtle) !important;
  background: rgba(255, 255, 255, 0.02) !important;
}

body.flightops-ops-console .weatherSelectedReportDecoded strong,
body.flightops-ops-console .weatherSelectedReportMetricLabel {
  color: var(--fo-text-muted) !important;
  font-size: 9px !important;
}

body.flightops-ops-console .weatherSelectedReportDecodedBody {
  color: var(--fo-text-primary) !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}

body.flightops-ops-console .weatherSelectedReportCopyBtn {
  min-height: 26px;
  border-radius: var(--fo-radius-sm);
  border-color: var(--fo-border-subtle);
  background: var(--fo-bg-card);
  color: var(--fo-text-secondary);
}

body.flightops-ops-console .weatherSelectedReportCopyBtn:hover {
  border-color: var(--fo-border-medium);
  background: var(--fo-bg-card-hover);
  color: var(--fo-text-primary);
}

body.flightops-ops-console .weatherSelectedReportMetaGrid {
  grid-template-columns: repeat(auto-fit, minmax(156px, 1fr)) !important;
  gap: 6px !important;
}

body.flightops-ops-console .weatherSelectedReportMetricCard {
  gap: 2px !important;
  padding: 6px 10px !important;
  border-radius: var(--fo-radius-xs) !important;
  border: 1px solid rgba(180, 170, 155, 0.05) !important;
  background: rgba(255, 255, 255, 0.025) !important;
}

body.flightops-ops-console .weatherSelectedReportMetricValue {
  color: var(--fo-text-strong) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

body.flightops-ops-console .weatherSelectedReportMetricDetail {
  color: var(--fo-text-secondary) !important;
  font-size: 10px !important;
}

body.flightops-ops-console .weatherSelectedReportRaw {
  padding: 9px 10px !important;
  border-radius: var(--fo-radius-sm) !important;
  border-color: var(--fo-border-subtle) !important;
  background: var(--fo-bg-input) !important;
  color: var(--fo-text-secondary) !important;
  font-size: 11px !important;
  overflow-wrap: anywhere !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

body.flightops-ops-console .weatherStationCard,
body.flightops-ops-console .weatherStationCardHead,
body.flightops-ops-console .weatherStationHeadMain,
body.flightops-ops-console .weatherStationSummaryStrip,
body.flightops-ops-console .weatherStationRawSection,
body.flightops-ops-console .weatherStationRawBody {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.flightops-ops-console .weatherStationRawBody {
  overflow-x: hidden !important;
  overflow-wrap: anywhere !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
}

body.flightops-ops-console #weatherFieldSummaryList {
  padding: 0 0 18px;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixPanel {
  gap: 8px !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseLegendChips,
body.flightops-ops-console #weatherFieldSummaryList .weatherForecastMatrixModeSwitch,
body.flightops-ops-console #weatherFieldSummaryList .weatherForecastMatrixModeActions,
body.flightops-ops-console #weatherFieldSummaryList .weatherForecastMatrixActions,
body.flightops-ops-console #weatherFieldSummaryList .weatherForecastMatrixMeta {
  display: none !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixLegend {
  justify-content: flex-start !important;
  padding: 0 20px;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseLegendNote {
  color: var(--fo-text-muted) !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherForecastMatrixSection {
  gap: 8px !important;
  padding: 0 20px 16px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherForecastMatrixSectionTitle {
  color: var(--fo-text-muted) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherForecastMatrixSectionNote {
  color: var(--fo-text-secondary) !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixTable {
  overflow: hidden !important;
  border: 1px solid var(--fo-border-subtle) !important;
  border-radius: var(--fo-radius-sm) !important;
  background: var(--fo-bg-card) !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixTable th,
body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixTable td {
  border-color: rgba(180, 170, 155, 0.05) !important;
  color: var(--fo-text-primary) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixTable th {
  background: var(--fo-bg-elevated) !important;
  color: var(--fo-text-muted) !important;
  font-size: 9px !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixHeadLabel,
body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixLabel {
  background: var(--fo-bg-card) !important;
  box-shadow: 1px 0 0 rgba(180, 170, 155, 0.08) !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixLabel strong,
body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixTime strong {
  color: var(--fo-text-primary) !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixTime span,
body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixCell .detail,
body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixCell .unit {
  color: var(--fo-text-muted) !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixCell {
  background: var(--fo-bg-card) !important;
  color: var(--fo-text-primary) !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixCell .metric {
  color: inherit !important;
}

body.flightops-ops-console .weatherToneGood,
body.flightops-ops-console td.weatherToneGood,
body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixCell.weatherToneGood {
  background: rgba(52, 184, 102, 0.08) !important;
  color: #7edba4 !important;
}

body.flightops-ops-console .weatherToneWatch,
body.flightops-ops-console td.weatherToneWatch,
body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixCell.weatherToneWatch {
  background: rgba(232, 168, 50, 0.08) !important;
  color: #f5cc6e !important;
}

body.flightops-ops-console .weatherToneStop,
body.flightops-ops-console td.weatherToneStop,
body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixCell.weatherToneStop {
  background: rgba(224, 84, 84, 0.08) !important;
  color: #f09898 !important;
}

body.flightops-ops-console #weatherFieldSummaryList .weatherDenseMatrixCell.weatherToneInfo {
  background: rgba(158, 152, 144, 0.08) !important;
  color: var(--fo-text-secondary) !important;
}

/* Warm Ops beta4 popouts and alert workspace. */
body.flightops-ops-console {
  --fo-warm-panel: rgba(23, 22, 20, 0.98);
  --fo-warm-panel-deep: rgba(14, 14, 13, 0.995);
  --fo-warm-panel-soft: rgba(255, 255, 255, 0.045);
  --fo-warm-line: rgba(214, 181, 111, 0.26);
  --fo-warm-line-soft: rgba(225, 214, 191, 0.13);
  --fo-warm-text: #f1eee7;
  --fo-warm-strong: #fff6da;
  --fo-warm-muted: #b9ad98;
  --fo-warm-dim: #8f8676;
  --fo-warm-accent: #d4a84a;
}

body.flightops-ops-console #monitoringDockToggle,
body.flightops-ops-console #mapUtilityDrawerToggle,
body.flightops-ops-console .leaflet-control-zoom a,
body.flightops-ops-console .basemapBtn,
body.flightops-ops-console .clearPinsBtn,
body.flightops-ops-console .measureControl {
  border-color: var(--fo-warm-line) !important;
  background: linear-gradient(180deg, rgba(28, 27, 24, 0.98), rgba(14, 14, 13, 0.985)) !important;
  color: var(--fo-warm-text) !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

body.flightops-ops-console #monitoringDock .monitorCard,
body.flightops-ops-console #monitoringDock .empty,
body.flightops-ops-console #mapUtilityDrawerPanel,
body.flightops-ops-console .mapUtilityDrawerPanel,
body.flightops-ops-console .basemapPopover,
body.flightops-ops-console .mapCoordinateToast {
  border-color: var(--fo-warm-line) !important;
  background: linear-gradient(180deg, var(--fo-warm-panel), var(--fo-warm-panel-deep)) !important;
  color: var(--fo-warm-text) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

body.flightops-ops-console .mapUtilityDrawerHeader,
body.flightops-ops-console .basemapThumb {
  border-color: var(--fo-warm-line-soft) !important;
  background: rgba(255, 255, 255, 0.04) !important;
}

body.flightops-ops-console .basemapBtn.open,
body.flightops-ops-console .basemapThumb.active {
  border-color: rgba(212, 168, 74, 0.56) !important;
  background: rgba(212, 168, 74, 0.14) !important;
}

body.flightops-ops-console .basemapThumb:hover,
body.flightops-ops-console .basemapBtn:hover,
body.flightops-ops-console .clearPinsBtn:hover,
body.flightops-ops-console .measureControl button:hover,
body.flightops-ops-console .leaflet-control-zoom a:hover {
  border-color: rgba(212, 168, 74, 0.42) !important;
  background: rgba(212, 168, 74, 0.12) !important;
}

body.flightops-ops-console .mapUtilityDrawerTitle,
body.flightops-ops-console #monitoringDock .monitorTitle,
body.flightops-ops-console .monitorTitle,
body.flightops-ops-console .basemapPopoverCurrent,
body.flightops-ops-console .measureTitle,
body.flightops-ops-console .measureValue {
  color: var(--fo-warm-strong) !important;
}

body.flightops-ops-console #monitoringDock .monitorStatus,
body.flightops-ops-console .monitorStatus,
body.flightops-ops-console #monitoringDock .monitorMeta .sub,
body.flightops-ops-console .monitorMeta .sub,
body.flightops-ops-console .monitorMiniMeta,
body.flightops-ops-console .monitorMiniLabel,
body.flightops-ops-console .basemapPopoverTitle,
body.flightops-ops-console .measureStatus {
  color: var(--fo-warm-muted) !important;
}

body.flightops-ops-console .panelSection[data-panel="alerts"] {
  background: linear-gradient(180deg, rgba(17, 17, 16, 0.995), rgba(10, 10, 9, 0.998)) !important;
  border-color: rgba(214, 181, 111, 0.24) !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.48) !important;
  color: var(--fo-warm-text) !important;
}

body.flightops-ops-console .panelSection[data-panel="alerts"] .head {
  background: linear-gradient(180deg, rgba(28, 27, 24, 0.98), rgba(17, 16, 15, 0.99)) !important;
  border-top-color: rgba(212, 168, 74, 0.52) !important;
  border-bottom-color: var(--fo-warm-line) !important;
}

body.flightops-ops-console .panelSection[data-panel="alerts"] .head h2,
body.flightops-ops-console .panelSection[data-panel="alerts"] .name,
body.flightops-ops-console .panelSection[data-panel="alerts"] .value,
body.flightops-ops-console .panelSection[data-panel="alerts"] .alertClosestName,
body.flightops-ops-console .panelSection[data-panel="alerts"] .alertListTitle,
body.flightops-ops-console #alertDetachedHost .name,
body.flightops-ops-console #alertDetachedHost .alertClosestName,
body.flightops-ops-console #alertDetachedHost .alertListTitle {
  color: var(--fo-warm-text) !important;
}

body.flightops-ops-console .panelSection[data-panel="alerts"] .label,
body.flightops-ops-console .panelSection[data-panel="alerts"] .sub,
body.flightops-ops-console .panelSection[data-panel="alerts"] .empty,
body.flightops-ops-console .panelSection[data-panel="alerts"] .alertWorkspaceListCounts,
body.flightops-ops-console .panelSection[data-panel="alerts"] .alertClosestLabel,
body.flightops-ops-console .panelSection[data-panel="alerts"] .alertClosestMeta,
body.flightops-ops-console .panelSection[data-panel="alerts"] .alertWindowMeta,
body.flightops-ops-console .panelSection[data-panel="alerts"] .alertTrafficMeta,
body.flightops-ops-console .panelSection[data-panel="alerts"] .phase1SaveStatus,
body.flightops-ops-console #alertDetachedHost .sub,
body.flightops-ops-console #alertDetachedHost .empty,
body.flightops-ops-console #alertDetachedHost .alertClosestLabel,
body.flightops-ops-console #alertDetachedHost .alertClosestMeta,
body.flightops-ops-console #alertDetachedHost .alertWindowMeta,
body.flightops-ops-console #alertDetachedHost .alertTrafficMeta {
  color: var(--fo-warm-muted) !important;
}

body.flightops-ops-console .alertWorkspaceBlock,
body.flightops-ops-console .alertWorkspaceEditor,
body.flightops-ops-console .alertWorkspaceListItem,
body.flightops-ops-console .alertWorkspaceFocusPanel,
body.flightops-ops-console .alertWorkspaceMetricChip,
body.flightops-ops-console .alertWorkspaceSourceSummary,
body.flightops-ops-console .alertSignalCard,
body.flightops-ops-console .alertSignalSlider,
body.flightops-ops-console .alertSignalPreviewPill,
body.flightops-ops-console .alertAreaLibraryItem,
body.flightops-ops-console .alertDetachedCard,
body.flightops-ops-console .alertDetachedCardOption2,
body.flightops-ops-console .alertDetachedCardOption3 {
  border-color: var(--fo-warm-line-soft) !important;
  background: linear-gradient(180deg, rgba(23, 22, 20, 0.96), rgba(14, 14, 13, 0.985)) !important;
  color: var(--fo-warm-text) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
}

body.flightops-ops-console .alertWorkspaceListItem.active,
body.flightops-ops-console .alertDetachedCardOption3 .alertDetachedThreatQueueRow.selected,
body.flightops-ops-console .alertDetachedCardOption3 .alertEtaCountPill.alertEtaSettingsBtn {
  border-color: rgba(212, 168, 74, 0.48) !important;
  background: rgba(212, 168, 74, 0.12) !important;
  box-shadow: 0 0 0 1px rgba(212, 168, 74, 0.08) !important;
}

body.flightops-ops-console .alertWorkspaceFocusKicker,
body.flightops-ops-console .alertWorkspaceMetricChip span,
body.flightops-ops-console .alertWorkspaceEditorMeta,
body.flightops-ops-console .alertWorkspaceEditorNote,
body.flightops-ops-console .alertWorkspaceListHint,
body.flightops-ops-console .alertSignalSliderLabel span,
body.flightops-ops-console .alertSignalSelectMeta,
body.flightops-ops-console .alertSignalPreviewPill span,
body.flightops-ops-console .alertDetachedCardOption3 .alertDetachedThreatQueueTitle,
body.flightops-ops-console .alertDetachedCardOption3 .alertDetachedThreatQueueHint,
body.flightops-ops-console .alertDetachedCardOption3 .alertDetachedThreatQueueMeta,
body.flightops-ops-console .alertDetachedCardOption3 .alertEtaPromotedMeta,
body.flightops-ops-console .alertDetachedCardOption3 .alertEtaPromotedSubmeta {
  color: var(--fo-warm-muted) !important;
}

body.flightops-ops-console .alertWorkspaceFocusTitle,
body.flightops-ops-console .alertWorkspaceMetricChip strong,
body.flightops-ops-console .alertSignalSliderLabel strong,
body.flightops-ops-console .alertSignalSliderValue,
body.flightops-ops-console .alertSignalPreviewPill strong,
body.flightops-ops-console .alertDetachedCardOption3 .alertEtaMonitorLabel,
body.flightops-ops-console .alertDetachedCardOption3 .alertEtaPromotedTitle,
body.flightops-ops-console .alertDetachedCardOption3 .alertEtaPromotedEta,
body.flightops-ops-console .alertDetachedCardOption3 .alertDetachedThreatQueueName,
body.flightops-ops-console .alertDetachedCardOption3 .alertDetachedThreatQueueEta {
  color: var(--fo-warm-strong) !important;
}

body.flightops-ops-console .panelSection[data-panel="alerts"] select,
body.flightops-ops-console .panelSection[data-panel="alerts"] input,
body.flightops-ops-console #alertDetachedHost select,
body.flightops-ops-console #alertDetachedHost input,
body.flightops-ops-console .alertSignalControls input[type="number"],
body.flightops-ops-console .alertSignalControls select {
  border-color: rgba(214, 181, 111, 0.28) !important;
  background: rgba(11, 11, 10, 0.92) !important;
  color: var(--fo-warm-text) !important;
}

body.flightops-ops-console .alertSignalControls input[type="range"] {
  accent-color: var(--fo-warm-accent) !important;
}

body.flightops-ops-console .panelSection[data-panel="alerts"] .badge,
body.flightops-ops-console .alertWorkspaceStatePill,
body.flightops-ops-console .alertWorkspaceSignalPill,
body.flightops-ops-console .alertWorkspaceCountPill,
body.flightops-ops-console .alertDetachedCardOption3 .alertEtaCountPill,
body.flightops-ops-console .alertDetachedCardOption3 .alertDetachedThreatQueueIndex {
  border-color: var(--fo-warm-line-soft) !important;
  background: rgba(255, 255, 255, 0.055) !important;
  color: var(--fo-warm-text) !important;
}

body.flightops-ops-console .alertCardOptionB,
body.flightops-ops-console .alertCardOptionB.idle,
body.flightops-ops-console .alertCardOptionB.standby,
body.flightops-ops-console .alertCardOptionB.clear {
  border-color: var(--fo-warm-line-soft) !important;
  background: rgba(17, 16, 15, 0.96) !important;
}

body.flightops-ops-console .alertCardOptionB.advisory,
body.flightops-ops-console .alertWorkspaceFocusPanel.advisory,
body.flightops-ops-console .alertWorkspaceMetricChip.advisory,
body.flightops-ops-console .alertWorkspaceStatePill.advisory,
body.flightops-ops-console .alertWorkspaceSignalPill.projected {
  border-color: rgba(245, 158, 11, 0.34) !important;
  background: rgba(161, 98, 7, 0.16) !important;
  color: #fde68a !important;
}

body.flightops-ops-console .alertCardOptionB.warning,
body.flightops-ops-console .alertWorkspaceFocusPanel.warning,
body.flightops-ops-console .alertWorkspaceMetricChip.warning,
body.flightops-ops-console .alertWorkspaceStatePill.warning {
  border-color: rgba(249, 115, 22, 0.38) !important;
  background: rgba(154, 52, 18, 0.18) !important;
  color: #fdba74 !important;
}

body.flightops-ops-console .alertCardOptionB.critical,
body.flightops-ops-console .alertWorkspaceFocusPanel.critical,
body.flightops-ops-console .alertWorkspaceMetricChip.critical,
body.flightops-ops-console .alertWorkspaceStatePill.critical {
  border-color: rgba(239, 68, 68, 0.42) !important;
  background: rgba(127, 29, 29, 0.2) !important;
  color: #fecaca !important;
}

body.flightops-ops-console .alertWorkspaceMetricChip.clear,
body.flightops-ops-console .alertWorkspaceStatePill.clear,
body.flightops-ops-console .alertWorkspaceSignalPill.current {
  border-color: rgba(34, 197, 94, 0.32) !important;
  background: rgba(22, 163, 74, 0.15) !important;
  color: #dcfce7 !important;
}

body.flightops-ops-console .panelSection[data-panel="alerts"] .alertHeroPanel,
body.flightops-ops-console #alertDetachedHost .alertHeroPanel,
body.flightops-ops-console .panelSection[data-panel="alerts"] .alertClosestCard,
body.flightops-ops-console .panelSection[data-panel="alerts"] .alertCountCard,
body.flightops-ops-console .panelSection[data-panel="alerts"] .alertListCompact .item,
body.flightops-ops-console #alertDetachedHost .alertClosestCard,
body.flightops-ops-console #alertDetachedHost .alertCountCard,
body.flightops-ops-console #alertDetachedHost .alertListCompact .item,
body.flightops-ops-console #aircraftAlertCard .alertClosestCard {
  border-color: var(--fo-warm-line-soft) !important;
  background: rgba(15, 14, 13, 0.9) !important;
  color: var(--fo-warm-text) !important;
}

body.flightops-ops-console #aircraftAlertCard.warning .alertClosestCard {
  background: rgba(45, 34, 16, 0.96) !important;
}

body.flightops-ops-console #aircraftAlertCard.critical .alertClosestCard {
  background: rgba(42, 18, 20, 0.96) !important;
}

body.flightops-ops-console .alertGuidanceBadge {
  border-color: rgba(214, 181, 111, 0.24) !important;
  background: rgba(16, 15, 14, 0.94) !important;
  color: var(--fo-warm-text) !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.32) !important;
}

/* Warm Glass beta9 audit completion surfaces. */
body.flightops-ops-console {
  --fo-audit-panel: rgba(25, 27, 31, 0.94);
  --fo-audit-panel-strong: rgba(17, 18, 20, 0.96);
  --fo-audit-panel-soft: rgba(30, 32, 36, 0.88);
  --fo-audit-line: rgba(180, 170, 155, 0.16);
  --fo-audit-line-strong: rgba(210, 170, 90, 0.34);
  --fo-audit-text: #e8e4df;
  --fo-audit-strong: #f5f2ee;
  --fo-audit-muted: #9e9890;
  --fo-audit-dim: #6b6660;
  --fo-audit-accent: #d4a84a;
  --fo-audit-accent-strong: #b8912e;
}

body.flightops-ops-console .sensorHistoryIntro,
body.flightops-ops-console .sensorHistoryToolbar,
body.flightops-ops-console .sensorHistoryWeatherArchive,
body.flightops-ops-console .sensorHistoryTimeline,
body.flightops-ops-console .sensorHistoryPane,
body.flightops-ops-console .sensorHistorySensorRow,
body.flightops-ops-console .sensorHistoryIncidentRow,
body.flightops-ops-console .sensorHistoryEmpty,
body.flightops-ops-console .sensorHistorySettingsStats .row,
body.flightops-ops-console .trackHistorySurface,
body.flightops-ops-console .trackHistorySurface.soft,
body.flightops-ops-console .trackHistoryHeroMetric,
body.flightops-ops-console .trackHistoryExportPanel,
body.flightops-ops-console .trackHistoryExportSummary > div,
body.flightops-ops-console .trackHistoryDetailRow,
body.flightops-ops-console .trackHistoryWarningsEmpty {
  border-color: var(--fo-audit-line) !important;
  background: linear-gradient(180deg, var(--fo-audit-panel), var(--fo-audit-panel-strong)) !important;
  color: var(--fo-audit-text) !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.26) !important;
}

body.flightops-ops-console .sensorHistoryIntroTitle,
body.flightops-ops-console .sensorHistoryToolbarTitle,
body.flightops-ops-console .sensorHistoryWeatherTitle,
body.flightops-ops-console .sensorHistoryPaneTitle,
body.flightops-ops-console .sensorHistoryTimelineLabel,
body.flightops-ops-console .sensorHistoryRowTitle,
body.flightops-ops-console .sensorHistorySettingsStats .value,
body.flightops-ops-console .trackHistorySurfaceHeaderMain h3,
body.flightops-ops-console .trackHistoryHeroMetricValue,
body.flightops-ops-console .trackHistoryDetailValue,
body.flightops-ops-console .trackHistoryControlsSurface .trackHistorySurfaceHeaderMain h3,
body.flightops-ops-console .trackHistoryControlsSurface .phase1CheckText {
  color: var(--fo-audit-strong) !important;
}

body.flightops-ops-console .sensorHistoryIntroSub,
body.flightops-ops-console .sensorHistoryMetaRow,
body.flightops-ops-console .sensorHistoryToolbarSub,
body.flightops-ops-console .sensorHistoryWeatherSub,
body.flightops-ops-console .sensorHistoryWeatherStatLabel,
body.flightops-ops-console .sensorHistoryTimelineMeta,
body.flightops-ops-console .sensorHistoryRowSub,
body.flightops-ops-console .sensorHistoryRowMeta,
body.flightops-ops-console .sensorHistorySettingsStats .label,
body.flightops-ops-console .trackHistorySurfaceHeaderMain p,
body.flightops-ops-console .trackHistoryHeroMetricLabel,
body.flightops-ops-console .trackHistoryCommandDeck .phase1Field span,
body.flightops-ops-console .trackHistoryExportNote,
body.flightops-ops-console .trackHistoryDetailLabel,
body.flightops-ops-console .trackHistorySectionNote,
body.flightops-ops-console .trackHistoryControlsSurface .trackHistorySurfaceHeaderMain p,
body.flightops-ops-console .trackHistoryControlsSurface .phase1Field span,
body.flightops-ops-console .trackHistoryControlsSurface .trackHistorySectionNote {
  color: var(--fo-audit-muted) !important;
}

body.flightops-ops-console .sensorHistoryGroupCard,
body.flightops-ops-console .sensorHistoryCountCard,
body.flightops-ops-console .sensorHistoryWeatherStat,
body.flightops-ops-console .trackHistoryCommandDeck input,
body.flightops-ops-console .trackHistoryCommandDeck select,
body.flightops-ops-console .trackHistoryCommandDeck textarea,
body.flightops-ops-console .trackHistoryCommandDeck .phase1Check,
body.flightops-ops-console .trackHistoryCommandDeck .phase1SaveStatus,
body.flightops-ops-console .trackHistorySourceOption,
body.flightops-ops-console .trackHistoryControlsSurface .phase1Check {
  border-color: var(--fo-audit-line) !important;
  background: rgba(17, 18, 20, 0.72) !important;
  color: var(--fo-audit-text) !important;
  box-shadow: none !important;
}

body.flightops-ops-console .sensorHistoryGroupCard:hover,
body.flightops-ops-console .trackHistorySourceOption:hover,
body.flightops-ops-console .panelSection[data-panel="settings"] .trackHistoryCommandDeck .trackHistoryPresetBtn:hover,
body.flightops-ops-console .panelSection[data-panel="settings"] .trackHistoryCommandDeck button.secondary:hover {
  border-color: rgba(212, 168, 74, 0.42) !important;
  background: rgba(212, 168, 74, 0.12) !important;
  color: var(--fo-audit-strong) !important;
  -webkit-text-fill-color: var(--fo-audit-strong) !important;
}

body.flightops-ops-console .sensorHistoryGroupCard.active,
body.flightops-ops-console .trackHistorySourceOption.active,
body.flightops-ops-console .panelSection[data-panel="settings"] .trackHistoryCommandDeck .trackHistoryPresetBtn.active {
  border-color: rgba(52, 184, 102, 0.34) !important;
  background: rgba(52, 184, 102, 0.14) !important;
  color: #dcfce7 !important;
  -webkit-text-fill-color: #dcfce7 !important;
}

body.flightops-ops-console .sensorHistoryGroupCard.active::before {
  background: #34b866 !important;
}

body.flightops-ops-console .sensorHistoryGroupCard::before {
  background: rgba(212, 168, 74, 0.62) !important;
}

body.flightops-ops-console .sensorHistoryGroupTitle,
body.flightops-ops-console .sensorHistoryCountValue,
body.flightops-ops-console .sensorHistoryWeatherStatValue {
  color: var(--fo-audit-strong) !important;
}

body.flightops-ops-console .sensorHistoryGroupSub,
body.flightops-ops-console .sensorHistoryCountLabel {
  color: var(--fo-audit-muted) !important;
}

body.flightops-ops-console .sensorHistoryTimelineRow {
  border-top-color: rgba(180, 170, 155, 0.12) !important;
}

body.flightops-ops-console .sensorHistoryTimelineBar,
body.flightops-ops-console .trackHistoryExportProgress {
  background: rgba(180, 170, 155, 0.14) !important;
}

body.flightops-ops-console .sensorHistoryTimelineFill {
  background: linear-gradient(90deg, #e05454, #e8a832) !important;
}

body.flightops-ops-console .trackHistoryCommandDeck {
  color: var(--fo-audit-text) !important;
}

body.flightops-ops-console .trackHistoryLeadSurface,
body.flightops-ops-console .trackHistoryControlsSurface {
  border-color: var(--fo-audit-line-strong) !important;
  background: linear-gradient(180deg, rgba(30, 32, 36, 0.94), rgba(17, 18, 20, 0.98)) !important;
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.32) !important;
}

body.flightops-ops-console .trackHistorySurfaceTag,
body.flightops-ops-console .trackHistoryExportChip {
  border-color: rgba(212, 168, 74, 0.34) !important;
  background: rgba(212, 168, 74, 0.12) !important;
  color: var(--fo-audit-accent) !important;
}

body.flightops-ops-console .panelSection[data-panel="settings"] .trackHistoryCommandDeck .trackHistoryPresetBtn,
body.flightops-ops-console .panelSection[data-panel="settings"] .trackHistoryCommandDeck button.secondary {
  border-color: var(--fo-audit-line) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: var(--fo-audit-text) !important;
  -webkit-text-fill-color: var(--fo-audit-text) !important;
}

body.flightops-ops-console .panelSection[data-panel="settings"] .trackHistoryCommandDeck .trackHistoryPresetBtn.recommended {
  border-color: rgba(212, 168, 74, 0.34) !important;
  background: rgba(212, 168, 74, 0.12) !important;
  color: var(--fo-audit-accent) !important;
  -webkit-text-fill-color: var(--fo-audit-accent) !important;
}

body.flightops-ops-console .trackHistoryCommandDeck #trackHistoryExportBtn,
body.flightops-ops-console .trackHistoryCommandDeck #trackHistorySaveBtn,
body.flightops-ops-console .trackHistoryExportDownload a {
  border-color: rgba(210, 170, 90, 0.34) !important;
  background: linear-gradient(135deg, #d4a84a, #b8912e) !important;
  color: #111214 !important;
  -webkit-text-fill-color: #111214 !important;
  box-shadow: 0 14px 28px rgba(212, 168, 74, 0.18) !important;
}

body.flightops-ops-console .trackHistoryExportProgressBar {
  background: linear-gradient(90deg, #d4a84a, #b8912e) !important;
}

body.flightops-ops-console .trackHistoryWarning {
  border-color: rgba(232, 168, 50, 0.34) !important;
  background: rgba(232, 168, 50, 0.12) !important;
  color: #f7d68b !important;
}

body.flightops-ops-console .trackHistoryWarning.critical {
  border-color: rgba(224, 84, 84, 0.38) !important;
  background: rgba(224, 84, 84, 0.12) !important;
  color: #fecaca !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineShell,
body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineBar {
  background: rgba(25, 27, 31, 0.96) !important;
  border-color: rgba(180, 170, 155, 0.16) !important;
  color: var(--fo-audit-text) !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineLabel {
  color: var(--fo-audit-dim) !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineSource {
  color: var(--fo-audit-strong) !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoPlayerHint {
  background: rgba(224, 84, 84, 0.12) !important;
  border-color: rgba(224, 84, 84, 0.26) !important;
  color: #fecaca !important;
}

/* Warm Glass beta21 camera-style video bezel cleanup. */
body.flightops-ops-console .panelSection[data-panel="video"].videoPlaybackActive {
  width: min(96vw, 1220px) !important;
  min-width: 640px;
  height: min(82vh, 820px) !important;
  min-height: 360px;
}

body.flightops-ops-console .panelSection[data-panel="video"] .sectionBody {
  padding: 0 !important;
  background: #111214 !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] #videoPlayerCard {
  position: relative !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #111214 !important;
  box-shadow: none !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineShell {
  position: relative !important;
  background: #04070a !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineBar {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  right: 10px !important;
  z-index: 4;
  display: flex !important;
  align-items: center;
  gap: 6px;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  pointer-events: none;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineMeta,
body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineSelectWrap {
  min-width: 0;
  padding: 6px 7px !important;
  border-radius: 5px !important;
  border: 1px solid rgba(180, 170, 155, 0.18) !important;
  background: rgba(25, 27, 31, 0.84) !important;
  color: #e8e4df !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  pointer-events: auto;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineMeta {
  flex: 0 1 min(260px, 34vw);
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineSelectWrap {
  flex: 0 1 210px;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineLabel {
  font-size: 8px !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #b8afa4 !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineSource {
  font-size: 11px !important;
  color: #f5f2ee !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineActions {
  margin-left: auto;
  pointer-events: auto;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineActions .secondary {
  min-height: 27px !important;
  padding: 0 8px !important;
  border-radius: 6px !important;
  border-color: rgba(180, 170, 155, 0.18) !important;
  background: rgba(25, 27, 31, 0.84) !important;
  color: #e8e4df !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineActions .secondary:hover {
  border-color: rgba(210, 170, 90, 0.36) !important;
  background: rgba(212, 168, 74, 0.12) !important;
  color: #f5f2ee !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] #videoInlineSelect {
  min-height: 27px !important;
  padding: 0 8px !important;
  border-radius: 6px !important;
  border-color: rgba(180, 170, 155, 0.18) !important;
  background: rgba(17, 18, 20, 0.92) !important;
  color: #f5f2ee !important;
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoPlayerHint {
  position: absolute !important;
  top: 52px !important;
  left: 50% !important;
  z-index: 5;
  transform: translateX(-50%);
  max-width: min(560px, calc(100% - 32px));
  padding: 8px 11px !important;
  border-radius: 6px;
  background: rgba(7, 12, 16, 0.78) !important;
  border: 1px solid rgba(224, 84, 84, 0.28) !important;
  box-shadow: 0 10px 24px rgba(2, 8, 18, 0.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineViewer,
body.flightops-ops-console .panelSection[data-panel="video"] #videoInlinePlayer {
  background: #04070a !important;
}

@media (max-width: 960px) {
  body.flightops-ops-console .panelSection[data-panel="video"].videoPlaybackActive {
    min-width: unset;
    left: 10px !important;
    right: 10px !important;
  }

  body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineBar {
    flex-wrap: wrap;
  }

  body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineActions {
    width: 100%;
  }

  body.flightops-ops-console .panelSection[data-panel="video"] .videoInlineActions .secondary {
    flex: 1 1 0;
  }
}

/* Warm Glass beta10 contrast and remaining-blue cleanup. */
body.flightops-ops-console {
  --fo-beta10-panel: #191b1f;
  --fo-beta10-panel-raised: #1e2024;
  --fo-beta10-panel-soft: rgba(30, 32, 36, 0.92);
  --fo-beta10-line: rgba(180, 170, 155, 0.18);
  --fo-beta10-line-strong: rgba(210, 170, 90, 0.36);
  --fo-beta10-text: #e8e4df;
  --fo-beta10-strong: #f5f2ee;
  --fo-beta10-muted: #b8afa4;
  --fo-beta10-dim: #9e9890;
  --fo-beta10-accent: #d4a84a;
  --fo-beta10-accent-deep: #b8912e;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"],
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"].panelOpen {
  background: var(--fo-beta10-panel) !important;
  border-left: 1px solid rgba(180, 170, 155, 0.16) !important;
  box-shadow: -1px 0 0 rgba(180, 170, 155, 0.12), 0 18px 38px rgba(0, 0, 0, 0.28) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .sectionBody,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDrawerMessagePane,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessageStage,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] #commsMainContent,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] #commsMessageList,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessages {
  background: var(--fo-beta10-panel) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .head,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsCondensedTopbar,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsThreadHeader,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsCompose {
  background: var(--fo-beta10-panel-raised) !important;
  border-color: var(--fo-beta10-line) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDirectPickerPanel,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDirectPickerItem,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsThreadMetaPill {
  background: rgba(255, 255, 255, 0.045) !important;
  border-color: var(--fo-beta10-line) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage.outbound,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsLaneBtn.active,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsQuickRecipientBtn.active,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDirectPickerItem.active,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDirectPickerItem:hover {
  background: rgba(212, 168, 74, 0.14) !important;
  border-color: rgba(212, 168, 74, 0.38) !important;
  color: var(--fo-beta10-strong) !important;
  box-shadow: 0 0 0 1px rgba(212, 168, 74, 0.12) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsQuickRecipientBadge {
  background: linear-gradient(135deg, var(--fo-beta10-accent), var(--fo-beta10-accent-deep)) !important;
  color: #111214 !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceBrandLabel,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceSpeakerLabel,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceParticipantCount,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsThreadMetaPill,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessageMeta,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessageStamp,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessageHeader,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsComposeHint,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMapToastLabel,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsAudioPopoverField span,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessageEditedNote,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsQuickRecipientEmpty,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDirectPickerMeta,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsCompose textarea::placeholder {
  color: var(--fo-beta10-muted) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] #commsActiveThreadSub,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDrawerStatus,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsTypingIndicator,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessageBody {
  color: var(--fo-beta10-text) !important;
}

/* ----------------------------------------------------------------
   Dark theme comms chat fix - Option 1 "Clean Warm Glass"
   Completes the beta10 dark override for remaining light controls
   inside the comms drawer.
   ---------------------------------------------------------------- */

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceActionBtn,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceCloseBtn,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsLaneBtn,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsAudioPopover > summary,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsAudioPopoverBtn,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDirectPicker > summary {
  border: 1px solid var(--fo-beta10-line) !important;
  background: rgba(30, 32, 36, 0.9) !important;
  color: var(--fo-beta10-text) !important;
  box-shadow: none !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceActionBtn:hover,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceCloseBtn:hover,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsLaneBtn:hover,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsAudioPopover > summary:hover,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsAudioPopoverBtn:hover,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDirectPicker > summary:hover {
  background: rgba(40, 42, 48, 0.95) !important;
  border-color: rgba(180, 170, 155, 0.28) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsConversationSwitch {
  background: rgba(30, 32, 36, 0.7) !important;
  border: 1px solid rgba(180, 170, 155, 0.1) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsConversationSwitch .commsLaneBtn,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsConversationSwitch .commsDirectPicker > summary {
  border-color: transparent !important;
  background: transparent !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsConversationSwitch .commsLaneBtn.active,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsConversationSwitch .commsDirectPicker > summary.active {
  background: rgba(212, 168, 74, 0.14) !important;
  border-color: rgba(212, 168, 74, 0.28) !important;
  color: var(--fo-beta10-strong) !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceStatusBadge {
  border: 1px solid var(--fo-beta10-line) !important;
  background: rgba(30, 32, 36, 0.8) !important;
  color: var(--fo-beta10-muted) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceStatusBadge.is-live {
  border-color: rgba(134, 239, 172, 0.34) !important;
  background: rgba(34, 184, 102, 0.12) !important;
  color: #86efac !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceActionBtn.is-live,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceActionBtn.is-ready,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsVoiceActionBtn.is-active {
  border-color: rgba(212, 168, 74, 0.38) !important;
  background: rgba(212, 168, 74, 0.14) !important;
  color: var(--fo-beta10-strong) !important;
  box-shadow: 0 0 0 1px rgba(212, 168, 74, 0.12) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDirectPickerPanel,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsAudioPopoverPanel {
  border: 1px solid var(--fo-beta10-line) !important;
  background: rgba(25, 27, 31, 0.96) !important;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.35) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsAudioPopoverField select {
  border: 1px solid var(--fo-beta10-line) !important;
  background: rgba(21, 23, 26, 0.9) !important;
  color: var(--fo-beta10-text) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDirectPickerName {
  color: var(--fo-beta10-text) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] #commsActiveThreadTitle {
  color: var(--fo-beta10-strong) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsThreadHeaderCondensed {
  border-color: var(--fo-beta10-line) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] #commsUnreadBadge {
  background: rgba(212, 168, 74, 0.12) !important;
  border: 1px solid rgba(212, 168, 74, 0.24) !important;
  color: var(--fo-beta10-accent) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessageBubble {
  border-color: var(--fo-beta10-line) !important;
  background: rgba(180, 170, 155, 0.045) !important;
  color: var(--fo-beta10-text) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage.outbound .commsMessageBubble {
  background: rgba(212, 168, 74, 0.12) !important;
  border-color: rgba(212, 168, 74, 0.24) !important;
  color: var(--fo-beta10-strong) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage.rangeControl:not(.outbound) .commsMessageBubble {
  background: rgba(147, 187, 252, 0.06) !important;
  border-color: rgba(147, 187, 252, 0.18) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsCompose textarea {
  border: 1px solid var(--fo-beta10-line) !important;
  background: rgba(21, 23, 26, 0.9) !important;
  color: var(--fo-beta10-text) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsCompose textarea:focus {
  border-color: rgba(212, 168, 74, 0.4) !important;
  box-shadow: 0 0 0 2px rgba(212, 168, 74, 0.1) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] #commsSendBtn {
  border: 1px solid rgba(212, 168, 74, 0.6) !important;
  background: linear-gradient(135deg, var(--fo-beta10-accent), var(--fo-beta10-accent-deep)) !important;
  color: #111214 !important;
  box-shadow: 0 8px 20px rgba(212, 168, 74, 0.18) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessageSender {
  color: var(--fo-beta10-muted) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsTypingIndicator {
  color: var(--fo-beta10-muted) !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsDirectPickerItem {
  color: var(--fo-beta10-text) !important;
}

/* Dark theme comms bubble-only refinement. */
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage.outbound,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage.rangeControl,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage.stacked {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessageHeader {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage[data-role="range_controller"] .commsMessageSender,
body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage.rangeControl:not(.outbound) .commsMessageSender {
  color: #93bbfc !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage[data-role="pilot"] .commsMessageSender {
  color: #86efac !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage[data-role="observer"] .commsMessageSender {
  color: #c4d0dc !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsMessage[data-role="comms_supervisor"] .commsMessageSender {
  color: #fbbf24 !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsStatusAudioPopover .commsAudioPopoverBtn {
  justify-content: center !important;
  text-align: center !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsAudioButtonLabel {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  line-height: 1 !important;
}

body.flightops-ops-console #sidebar .panelSection[data-panel="comms"] .commsAudioButtonLabel span {
  display: inline !important;
}

body.flightops-ops-console .weatherTopbarSourceBtn .weatherTopbarCellLabel,
body.flightops-ops-console .weatherTopbarCellLabel,
body.flightops-ops-console .weatherTopbarStatusTextWrap small,
body.flightops-ops-console .weatherTopbarCollapseBtn,
body.flightops-ops-console .weatherTopbarSourceBtn::after,
body.flightops-ops-console .weatherTopbarSourceMenu button small,
body.flightops-ops-console .authTopbarSubtitle,
body.flightops-ops-console .releaseVersionBadge,
body.flightops-ops-console .authAccountRole,
body.flightops-ops-console .topbarWorkspaceMenuMeta,
body.flightops-ops-console .topbarWorkspaceMenuItem small {
  color: var(--fo-beta10-muted) !important;
}

body.flightops-ops-console #weatherTopbarSourceValue,
body.flightops-ops-console .weatherTopbarCellValue,
body.flightops-ops-console .weatherTopbarCollapsedSummary,
body.flightops-ops-console .weatherTopbarStatusTextWrap strong {
  color: var(--fo-beta10-strong) !important;
}

body.flightops-ops-console #weatherTopbarDewpointCell .weatherTopbarCellValue,
body.flightops-ops-console #weatherTopbarVisibilityCell .weatherTopbarCellValue,
body.flightops-ops-console #weatherTopbarCeilingCell .weatherTopbarCellValue,
body.flightops-ops-console #weatherTopbarDensityCell .weatherTopbarCellValue,
body.flightops-ops-console #weatherTopbarAltimeterCell .weatherTopbarCellValue {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.42) !important;
}

body.flightops-ops-console .telemetryRtkMissionActions button[data-rtk-mission-busy="1"],
body.flightops-ops-console .telemetryRtkMissionActions button[data-rtk-mission-flash="1"],
body.flightops-ops-console .missionWorkspaceMenu button.is-active {
  background: linear-gradient(135deg, var(--fo-beta10-accent), var(--fo-beta10-accent-deep)) !important;
  border-color: var(--fo-beta10-line-strong) !important;
  color: #111214 !important;
  box-shadow: 0 0 0 1px rgba(212, 168, 74, 0.16), 0 12px 24px rgba(212, 168, 74, 0.16) !important;
}

body.flightops-ops-console .telemetryRtkMissionCopyFeedback[data-rtk-mission-copy-state="ok"] {
  background: rgba(34, 184, 102, 0.16) !important;
  border-color: rgba(34, 184, 102, 0.32) !important;
  color: #dcfce7 !important;
}

body.flightops-ops-console .telemetryRtkMissionCopyFeedback[data-rtk-mission-copy-state="error"] {
  background: rgba(224, 84, 84, 0.14) !important;
  border-color: rgba(224, 84, 84, 0.3) !important;
  color: #fecaca !important;
}

body.flightops-ops-console .panelSection[data-panel="opsdrawer"] .opsDrawerStatusPill.active,
body.flightops-ops-console .panelSection[data-panel="opsdrawer"] .opsDrawerStatusPill.info,
body.flightops-ops-console .panelSection[data-panel="opsdrawer"] button.active,
body.flightops-ops-console .casiaSensorMarkerShell,
body.flightops-ops-console .opsSiteMarker {
  border-color: rgba(212, 168, 74, 0.34) !important;
  background: rgba(25, 27, 31, 0.9) !important;
  color: var(--fo-beta10-strong) !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.24) !important;
}

body.flightops-ops-console .casiaSensorMarkerCore {
  background: var(--casia-sensor-color, var(--fo-beta10-accent)) !important;
  border-color: rgba(245, 242, 238, 0.9) !important;
}

body.flightops-ops-console #casiaPreviewDock,
body.flightops-ops-console .casiaPreviewShell,
body.flightops-ops-console .casiaPreviewCard,
body.flightops-ops-console .casiaPreviewTile,
body.flightops-ops-console .casiaPreviewStatus,
body.flightops-ops-console .casiaPreviewThumb {
  border-color: var(--fo-beta10-line) !important;
  background: rgba(25, 27, 31, 0.94) !important;
  color: var(--fo-beta10-text) !important;
}

body.flightops-ops-console .casiaPreviewThumbCaption,
body.flightops-ops-console .casiaPreviewMeta,
body.flightops-ops-console .casiaPreviewSub {
  color: var(--fo-beta10-muted) !important;
}

body.flightops-ops-console .launchOpsTabBtn.active,
body.flightops-ops-console .launchOpsItem.active,
body.flightops-ops-console .launchOpsBadge.survey,
body.flightops-ops-console .launchOpsBadge.preview {
  border-color: var(--fo-beta10-line-strong) !important;
  background: rgba(212, 168, 74, 0.14) !important;
  color: var(--fo-beta10-strong) !important;
  box-shadow: inset 0 0 0 1px rgba(212, 168, 74, 0.12) !important;
}

body.flightops-ops-console .launchOpsKicker,
body.flightops-ops-console .launchOpsNotice,
body.flightops-ops-console .launchOpsLabel,
body.flightops-ops-console .launchOpsMeta,
body.flightops-ops-console .launchOpsField span,
body.flightops-ops-console .launchOpsStat span {
  color: var(--fo-beta10-muted) !important;
}

body.flightops-ops-console .launchOpsTitle,
body.flightops-ops-console .launchOpsValue,
body.flightops-ops-console .launchOpsStat strong {
  color: var(--fo-beta10-strong) !important;
}
