:root {
  color-scheme: dark;
  --bg: var(--theme-canvas);
  --panel: var(--theme-surface-primary);
  --panel-strong: var(--theme-surface-secondary);
  --panel-soft: var(--theme-surface-elevated);
  --text: var(--theme-text-primary);
  --muted: var(--theme-text-secondary);
  --dim: var(--theme-text-muted);
  --blue: var(--theme-brand-primary);
  --blue-strong: var(--theme-brand-deep);
  --green: var(--operational-success);
  --amber: var(--operational-caution);
  --red: var(--operational-critical);
  --border: var(--theme-border-strong);
  --border-soft: var(--theme-border-subtle);
  --shadow: var(--theme-effect-shadow);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
  min-height: 100%;
  margin: 0;
  color: var(--text);
  font-family: Manrope, ui-sans-serif, system-ui, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  background:
    radial-gradient(circle at 25% -10%, rgba(28, 101, 158, 0.14), transparent 35rem),
    linear-gradient(155deg, #061725 0%, var(--bg) 58%, #061522 100%);
}

button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.container { width: min(1500px, calc(100% - 2rem)); margin-inline: auto; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid rgba(193, 199, 210, 0.26);
  background: rgba(0, 9, 27, 0.97);
  box-shadow: 0 12px 34px rgba(0, 9, 27, 0.22);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.header-inner { display: flex; align-items: center; justify-content: space-between; gap: clamp(1rem, 4vw, 6rem); min-height: clamp(64px, 5vw, 80px); }
.brand-lockup, .heading-lockup, .header-actions, .airport-selector-group, .notam-actions, .product-nav { display: flex; align-items: center; }
.brand-lockup { gap: clamp(0.45rem, 0.7vw, 0.9rem); }
.brand-icon { display: block; width: clamp(32px, 2vw, 48px); height: auto; object-fit: contain; object-position: center; }
.site-header h1 { margin: 0; font-size: clamp(1rem, 0.9vw, 1.25rem); line-height: 1.2; font-family: Inter, Manrope, "Segoe UI", sans-serif; letter-spacing: 0.085em; font-weight: 740; color: #f2f3f5; }
.site-header h1 em { color: #c1c7d2; font-style: normal; font-weight: 620; }
.product-nav { align-self: stretch; gap: clamp(0.2rem, 1.5vw, 2.5rem); padding: 0; border: 0; border-radius: 0; background: transparent; }
.product-nav-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding-inline: 0.35rem; color: #bac8dc; border: 0; border-radius: 0; background: transparent; font-size: clamp(0.68rem, 0.62vw, 0.88rem); font-weight: 720; letter-spacing: 0.09em; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: color 180ms ease, background 180ms ease; position: relative; }
.product-nav-link:hover { color: #ffffff; background: rgba(255, 255, 255, 0.08); }
.product-nav-link.active { color: #ffffff; background: transparent; }
.product-nav-link.active::after { content: ""; position: absolute; bottom: 0; left: 0.35rem; right: 0.35rem; height: 2px; background: #ffffff; box-shadow: 0 -2px 8px rgba(255, 255, 255, 0.4); }
.product-nav-link[data-pilotcb-account-link] { min-width: auto; }
.header-actions { gap: 1rem; }
.header-actions p { margin: 0; color: #94a3b8; font-size: 0.76rem; }
.refresh-label-short { display: none; }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 36px;
  padding: 0.55rem 1rem;
  color: white;
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  font-weight: 800;
  text-decoration: none;
  background: linear-gradient(135deg, #289cf5, #1476d6);
  box-shadow: 0 6px 16px rgba(21, 113, 199, 0.19);
  transition: transform 150ms ease, filter 150ms ease, border-color 150ms ease;
}
.button:hover { filter: brightness(1.09); transform: translateY(-1px); }
.button:active { transform: translateY(0); }
.button:disabled { cursor: wait; opacity: 0.65; }
.secondary-button { color: #9cd8ff; border-color: rgba(63, 158, 231, 0.45); background: rgba(19, 94, 153, 0.2); box-shadow: none; }
.ghost-button { color: #d7e8f7; border-color: var(--border); background: rgba(5, 19, 32, 0.55); box-shadow: none; }

.dashboard { display: grid; gap: 0.8rem; padding-block: 0.85rem 1.6rem; }
.dashboard[hidden] { display: none; }
.dashboard-card, .airport-bar {
  min-width: 0;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(8, 30, 49, 0.96), rgba(5, 23, 38, 0.96));
  box-shadow: var(--shadow);
}
.dashboard-card { padding: 0.9rem; }

.pro-page { display: grid; gap: 1rem; padding-block: 1rem 2.2rem; }
.pro-page[hidden] { display: none; }
.pro-hero, .pro-section {
  border: 1px solid rgba(104, 168, 216, 0.12);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(8, 30, 49, 0.78), rgba(5, 23, 38, 0.66));
  box-shadow: 0 22px 62px rgba(0, 5, 12, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.035);
}
.pro-hero { display: block; padding: 1.45rem 1.55rem; }
.pro-kicker { margin: 0 0 0.25rem; color: #8bd2ff; font-size: 0.68rem; font-weight: 900; letter-spacing: 0.12em; text-transform: uppercase; }
.pro-hero h2 { max-width: 820px; margin: 0; font-size: clamp(2.1rem, 4vw, 3.65rem); line-height: 1; }
.pro-subtitle { max-width: 680px; margin: 0.65rem 0 0; color: #dcebf8; font-size: 1.02rem; }
.pro-philosophy { margin: 0.55rem 0 0; color: var(--muted); font-size: 0.78rem; }
.pro-section { padding: 0.85rem; }
.pro-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 0.8rem; border-bottom: 0; padding-bottom: 0; }
.pro-section-heading h3 { margin: 0; color: #f4fbff; font-size: 1rem; letter-spacing: 0; text-transform: none; }
.pro-section-heading p { max-width: 560px; margin: 0; color: var(--muted); font-size: 0.7rem; text-align: right; }
.pro-brief-builder { border-color: rgba(139, 210, 255, 0.16); }
.pro-flight-result { display: grid; grid-template-columns: 0.7fr 0.8fr 1fr 1.2fr; gap: 0.5rem; align-items: center; width: 100%; padding: 0.65rem; border: 1px solid var(--border-soft); border-radius: 7px; color: var(--text); background: rgba(5, 23, 38, 0.72); cursor: pointer; text-align: left; }
.pro-flight-result:hover { border-color: rgba(139, 210, 255, 0.42); background: rgba(12, 39, 62, 0.72); }
.pro-flight-result strong { color: #f4fbff; font-size: 0.8rem; }
.pro-flight-result span, .pro-flight-result em { color: var(--muted); font-size: 0.66rem; font-style: normal; }
.pro-brief-form { display: grid; grid-template-columns: minmax(190px, 0.95fr) minmax(140px, 0.85fr) repeat(2, minmax(120px, 0.85fr)) auto; gap: 0.55rem; align-items: end; }
.pro-entry-mode { display: flex; gap: 0.35rem; align-items: center; min-height: 38px; margin: 0; padding: 0.25rem; border: 1px solid rgba(104, 168, 216, 0.12); border-radius: 11px; background: rgba(2, 14, 25, 0.38); }
.pro-entry-mode label { flex: 1; display: flex; align-items: center; justify-content: center; min-height: 29px; padding: 0 0.55rem; border-radius: 8px; cursor: pointer; }
.pro-entry-mode input { position: absolute; opacity: 0; pointer-events: none; }
.pro-entry-mode span { color: var(--muted); font-size: 0.62rem; font-weight: 900; }
.pro-entry-mode label:has(input:checked) { background: rgba(42, 121, 218, 0.9); box-shadow: 0 8px 20px rgba(42, 121, 218, 0.18); }
.pro-entry-mode label:has(input:checked) span { color: #fff; }
.pro-brief-form label, .pro-checklist label { display: grid; gap: 0.25rem; }
.pro-brief-form .pro-entry-mode label { display: flex; gap: 0; }
.pro-lookup-section { border-color: rgba(139, 210, 255, 0.12); }
.pro-lookup-tabs { display: flex; gap: 0.25rem; margin-bottom: 0.75rem; border: 1px solid var(--border-soft); border-radius: 8px; padding: 0.2rem; background: rgba(2, 14, 25, 0.38); }
.pro-lookup-tab { flex: 1; border: 0; border-radius: 6px; padding: 0.4rem 0.75rem; background: transparent; color: var(--muted); font-size: 0.68rem; font-weight: 800; cursor: pointer; text-transform: uppercase; letter-spacing: 0.03em; }
.pro-lookup-tab:hover { color: var(--text); background: rgba(69, 174, 245, 0.08); }
.pro-lookup-tab.active { color: #06141e; background: linear-gradient(135deg, #8bd2ff, #89ff4a); }
.pro-lookup-panel { margin-bottom: 0.5rem; }
.pro-lookup-row { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: end; }
.pro-lookup-row label { display: grid; gap: 0.2rem; flex: 1; min-width: 120px; }
.pro-lookup-row span { color: #a8bed0; font-size: 0.6rem; font-weight: 800; text-transform: uppercase; }
.pro-lookup-row input { min-height: 36px; padding: 0.45rem 0.6rem; border: 1px solid rgba(104, 168, 216, 0.12); border-radius: 8px; background: rgba(2, 14, 25, 0.46); color: var(--text); font-weight: 800; text-transform: uppercase; }
.pro-lookup-row input[type="date"] { text-transform: none; }
.pro-lookup-row .button { min-height: 36px; padding-inline: 0.85rem; white-space: nowrap; min-width: 120px; }
.pro-lookup-results { min-height: 2.5rem; margin-top: 0.5rem; padding: 0.5rem; border-radius: 8px; border: 1px solid var(--border-soft); background: rgba(2, 14, 25, 0.25); font-size: 0.72rem; }
.pro-lookup-results.loading { border-color: rgba(69, 174, 245, 0.3); background: rgba(69, 174, 245, 0.06); }
.pro-lookup-results.error { border-color: rgba(255, 95, 113, 0.35); background: rgba(255, 95, 113, 0.06); }
.pro-lookup-results.empty { border-color: rgba(104, 168, 216, 0.12); }
.pro-lookup-results.fallback { border-color: rgba(248, 184, 60, 0.25); background: rgba(248, 184, 60, 0.05); }
.pro-lookup-results.has-results { border-color: rgba(59, 216, 137, 0.2); background: rgba(59, 216, 137, 0.04); }
.pro-lookup-results strong { color: #f4fbff; }
.pro-lookup-results p { margin: 0; }
.pro-lookup-results.operation-selector { border-color: rgba(139, 210, 255, 0.34); background: rgba(7, 28, 46, 0.76); }
.pro-operation-selector { display: grid; gap: 0.75rem; }
.pro-operation-selector-heading { display: grid; gap: 0.18rem; }
.pro-operation-selector-heading h4, .pro-operation-selector-heading p { margin: 0; }
.pro-operation-selector-heading h4 { color: #f4fbff; font-size: 1rem; text-transform: uppercase; letter-spacing: 0.07em; }
.pro-operation-selector-heading p { color: var(--muted); font-size: 0.7rem; line-height: 1.4; }
.pro-operation-selector-heading .pro-operation-selector-kicker { color: #8bd2ff; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.pro-operation-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.pro-operation-option { display: grid; gap: 0.55rem; min-width: 0; min-height: 148px; padding: 0.8rem; border: 1px solid rgba(139, 210, 255, 0.24); border-radius: 10px; color: var(--text); background: rgba(2, 14, 25, 0.5); cursor: pointer; text-align: left; }
.pro-operation-option:hover { border-color: rgba(139, 210, 255, 0.64); background: rgba(12, 39, 62, 0.74); }
.pro-operation-option:focus-visible { outline: 3px solid #8bd2ff; outline-offset: 3px; border-color: #dcebf8; }
.pro-operation-option:disabled { cursor: wait; opacity: 0.76; }
.pro-operation-option.is-loading { border-color: #8bd2ff; background: rgba(38, 105, 151, 0.34); }
.pro-operation-option-top { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
.pro-operation-option-top strong { color: #f4fbff; font-size: 0.85rem; }
.pro-operation-option-top b { padding: 0.18rem 0.42rem; border: 1px solid rgba(139, 210, 255, 0.28); border-radius: 99px; color: #cfe8fa; font-size: 0.58rem; font-weight: 800; line-height: 1.2; text-transform: uppercase; }
.pro-operation-option-route { color: #f4fbff; font-size: 1rem; font-weight: 900; letter-spacing: 0.035em; }
.pro-operation-option-route i { padding-inline: 0.25rem; color: #8bd2ff; font-style: normal; }
.pro-operation-option-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.45rem; }
.pro-operation-option-facts span { display: grid; gap: 0.13rem; min-width: 0; color: #dcebf8; font-size: 0.67rem; overflow-wrap: anywhere; }
.pro-operation-option-facts small { color: var(--dim); font-size: 0.54rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
.pro-operation-option-action { color: #8bd2ff; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.04em; text-transform: uppercase; }
.pro-lookup-section .pro-section-heading { align-items: flex-start; }
.pro-lookup-heading-actions { display: flex; gap: 0.4rem; align-items: flex-start; }
.pro-lookup-heading-actions .button { min-height: 36px; padding-inline: 0.85rem; white-space: nowrap; min-width: 120px; }
.pro-reset-button { background: #5c1018; box-shadow: 0 2px 8px rgba(92, 16, 24, 0.4); }
.pro-reset-button:hover { background: #7a1520; }
.pro-search-results { border-color: rgba(59, 216, 137, 0.16); }
.pro-search-results[hidden] { display: none; }
.pro-search-results-content { margin-bottom: 0.75rem; }
.pro-search-result-card { border: 1px solid var(--border-soft); border-radius: 10px; background: rgba(5, 23, 38, 0.62); overflow: hidden; }
.pro-search-result-header { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.75rem 1rem; border-bottom: 1px solid var(--border-soft); background: rgba(2, 14, 25, 0.38); }
.pro-search-result-header strong { color: #f4fbff; font-size: 1rem; }
.pro-search-result-status { padding: 0.15rem 0.5rem; border-radius: 999px; font-size: 0.6rem; font-weight: 800; background: rgba(104, 168, 216, 0.15); color: var(--muted); }
.pro-search-result-body { padding: 0.85rem 1rem; }
.pro-search-result-route { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.85rem; }
.pro-search-result-point { flex: 1; }
.pro-search-result-point .pro-search-result-label { display: block; color: var(--dim); font-size: 0.55rem; font-weight: 800; text-transform: uppercase; }
.pro-search-result-point strong { display: block; color: #f4fbff; font-size: 1.1rem; letter-spacing: 0.02em; }
.pro-search-result-point em { display: block; color: var(--muted); font-size: 0.62rem; font-style: normal; margin-top: 0.1rem; }
.pro-search-result-route-icon { color: var(--dim); font-size: 0.85rem; flex-shrink: 0; }
.pro-search-result-details { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 0.45rem; }
.pro-search-result-details div { padding: 0.5rem 0.6rem; border-radius: 7px; background: rgba(2, 14, 25, 0.3); }
.pro-search-result-details span { display: block; color: var(--dim); font-size: 0.55rem; font-weight: 800; text-transform: uppercase; }
.pro-search-result-details strong { display: block; margin-top: 0.1rem; color: #dcebf8; font-size: 0.66rem; overflow-wrap: anywhere; }
.pro-search-results-actions { display: flex; gap: 0.5rem; align-items: center; }
.pro-search-results-actions .button { min-height: 36px; padding-inline: 0.85rem; font-size: 0.72rem; }
.pro-brief-form span, .pro-checklist span { color: #a8bed0; font-size: 0.62rem; font-weight: 800; text-transform: none; letter-spacing: 0; }
.pro-brief-form input, .pro-checklist select, #pro-brief-notes { width: 100%; border: 1px solid rgba(104, 168, 216, 0.12); border-radius: 10px; background: rgba(2, 14, 25, 0.46); color: var(--text); }
.pro-brief-form input { min-height: 38px; padding: 0.5rem 0.65rem; font-weight: 800; text-transform: uppercase; }
.pro-brief-form input:disabled { color: rgba(185, 208, 228, 0.42); background: rgba(2, 14, 25, 0.24); cursor: not-allowed; }
.pro-brief-actions { display: flex; gap: 0.4rem; white-space: nowrap; }
.pro-brief-actions .button { min-height: 38px; padding-inline: 0.85rem; }
.pro-brief-error { min-height: 1rem; margin: 0.6rem 0 0; color: #ffbec6; font-size: 0.7rem; }
.pro-brief-status { min-height: 1rem; margin: 0.25rem 0 0; color: #a7f5cf; font-size: 0.7rem; font-weight: 800; }
.pro-brief-workspace { display: grid; gap: 1.15rem; padding-bottom: 0.5rem; }
.pro-brief-workspace[hidden] { display: none; }
.pro-brief-header, .pro-comparison-strip, .pro-brief-panel, .pro-airport-card, .pro-route-hero, .pro-attention-strip, .pro-route-status { border: 1px solid rgba(126, 190, 237, 0.12); border-radius: 12px; background: rgba(5, 23, 38, 0.72); box-shadow: 0 24px 70px rgba(0, 6, 14, 0.28); }
.pro-brief-header { display: grid; grid-template-columns: minmax(220px, 0.36fr) minmax(0, 1fr); gap: 1rem; padding: 0.95rem; }
.pro-brief-header span { color: #8bd2ff; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.pro-brief-header h3 { margin: 0.25rem 0; font-size: 1.25rem; }
.pro-brief-header p, .pro-brief-header em { margin: 0; color: var(--muted); font-size: 0.7rem; font-style: normal; }
.pro-brief-header strong { display: block; margin-bottom: 0.2rem; font-size: 0.75rem; text-transform: uppercase; }
.pro-brief-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.55rem; }
.pro-comparison-strip, .pro-route-overview { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.65rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
.pro-attention-panel, .pro-comparison-panel, .pro-route-overview-panel, .pro-etops-panel, .pro-oceanic-panel, .pro-flow-panel, .pro-inbound-panel, .pro-flight-map-panel, .pro-notam-panel { border: 1px solid rgba(104, 168, 216, 0.12); border-radius: 14px; background: linear-gradient(145deg, rgba(8, 31, 50, 0.68), rgba(3, 15, 27, 0.5)); box-shadow: 0 22px 56px rgba(0, 6, 14, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.035); padding: 1.05rem; }
.pro-workspace-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 0.7rem; }
.pro-workspace-heading h3 { margin: 0; color: #f4fbff; font-size: 0.9rem; letter-spacing: 0.05em; text-transform: uppercase; }
.pro-workspace-heading p { margin: 0; color: var(--muted); font-size: 0.68rem; }
.pro-attention-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.65rem; border: 0; background: transparent; box-shadow: none; }
.pro-attention-strip article { display: grid; grid-template-columns: auto 1fr; gap: 0.7rem; min-width: 0; min-height: 116px; padding: 0.9rem; border: 1px solid rgba(139, 210, 255, 0.08); border-radius: 12px; background: linear-gradient(145deg, rgba(139, 210, 255, 0.075), rgba(255, 255, 255, 0.02)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045); }
.pro-attention-strip article.weather { border-color: rgba(255, 184, 60, 0.22); background: linear-gradient(145deg, rgba(248, 184, 60, 0.12), rgba(255, 255, 255, 0.02)); }
.pro-attention-strip article.data { border-color: rgba(255, 95, 113, 0.2); background: linear-gradient(145deg, rgba(255, 95, 113, 0.1), rgba(255, 255, 255, 0.018)); }
.pro-attention-strip article > span { display: grid; place-items: center; width: 2rem; height: 2rem; color: #071522; border-radius: 999px; background: #8bd2ff; font-size: 0.78rem; font-weight: 900; line-height: 1; box-shadow: 0 0 24px rgba(139, 210, 255, 0.24); }
.pro-attention-strip strong { display: block; color: #f4fbff; font-size: 0.78rem; }
.pro-attention-strip p { margin: 0.22rem 0 0; color: #a9bdd0; font-size: 0.66rem; line-height: 1.45; }
.pro-route-status { padding: 0.75rem 0.85rem; }
.pro-comparison-strip div, .pro-airport-facts div, .pro-brief-summary-grid div, .pro-attention-strip div, .pro-route-status div, .pro-fact-grid div, .pro-etops-facts div, .pro-oceanic-summary div, .pro-oceanic-card-grid article, .pro-flow-grid div, .pro-inbound-grid div, .pro-route-flow article, .pro-route-detail-grid div, .pro-notam-summary-grid div { min-width: 0; }
.pro-comparison-strip span, .pro-airport-facts span, .pro-brief-summary-grid span, .pro-attention-strip span, .pro-route-status span, .pro-fact-grid span, .pro-etops-facts span, .pro-oceanic-summary span, .pro-oceanic-card-grid span, .pro-flow-grid span, .pro-inbound-grid span, .pro-route-flow span, .pro-route-detail-grid span, .pro-notam-summary-grid span { display: block; color: var(--dim); font-size: 0.58rem; font-weight: 800; text-transform: uppercase; }
.pro-comparison-strip strong, .pro-airport-facts strong, .pro-brief-summary-grid strong, .pro-attention-strip strong, .pro-route-status strong, .pro-fact-grid strong, .pro-etops-facts strong, .pro-oceanic-summary strong, .pro-oceanic-card-grid strong, .pro-flow-grid strong, .pro-inbound-grid strong, .pro-route-flow strong, .pro-route-detail-grid strong, .pro-notam-summary-grid strong { display: block; margin-top: 0.18rem; color: #dcebf8; font-size: 0.68rem; overflow-wrap: anywhere; }
.pro-comparison-strip article { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0.5rem; align-items: center; min-width: 0; min-height: 92px; padding: 0.85rem; border: 1px solid rgba(139, 210, 255, 0.08); border-radius: 11px; background: rgba(2, 14, 25, 0.3); }
.pro-comparison-strip article span { grid-column: 1 / -1; color: #8bd2ff; font-size: 0.58rem; font-weight: 900; letter-spacing: 0.04em; text-transform: uppercase; }
.pro-comparison-strip article strong { color: #dcebf8; font-size: 0.72rem; overflow-wrap: anywhere; }
.pro-comparison-strip article em { color: var(--dim); font-style: normal; }
.pro-route-hero { position: relative; display: grid; grid-template-columns: minmax(180px, 0.26fr) minmax(420px, 1fr) minmax(180px, 0.26fr); gap: clamp(1rem, 2vw, 2.2rem); align-items: center; min-height: clamp(410px, 40vw, 560px); padding: clamp(1.5rem, 3vw, 3rem); overflow: hidden; border-color: rgba(139, 210, 255, 0.16); border-radius: 18px; background:
  radial-gradient(circle at 50% 24%, rgba(139, 210, 255, 0.18), transparent 18rem),
  linear-gradient(180deg, rgba(2, 9, 18, 0.86), rgba(4, 18, 32, 0.95) 58%, rgba(1, 8, 16, 0.98));
  box-shadow: 0 34px 92px rgba(0, 6, 14, 0.46), inset 0 1px 0 rgba(255, 255, 255, 0.055);
}
.pro-route-hero::before { content: ""; position: absolute; left: -22%; right: -22%; bottom: -68%; height: 86%; pointer-events: none; border-radius: 50% 50% 0 0; background:
  radial-gradient(ellipse at 38% 18%, rgba(88, 126, 104, 0.16), transparent 16%),
  radial-gradient(ellipse at 58% 16%, rgba(78, 112, 96, 0.13), transparent 14%),
  radial-gradient(ellipse at 72% 20%, rgba(70, 104, 92, 0.1), transparent 11%),
  radial-gradient(ellipse at 50% 8%, rgba(139, 210, 255, 0.11), transparent 18%),
  linear-gradient(180deg, rgba(26, 63, 95, 0.2), rgba(7, 24, 37, 0.82));
  box-shadow: inset 0 20px 48px rgba(139, 210, 255, 0.08), 0 -10px 42px rgba(139, 210, 255, 0.08);
  opacity: 0.9; }
.pro-route-hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; background-image:
  radial-gradient(circle, rgba(255, 255, 255, 0.14) 0 1px, transparent 1px),
  linear-gradient(115deg, transparent 0 42%, rgba(139, 210, 255, 0.035) 42% 43%, transparent 43% 100%);
  background-size: 120px 90px, 180px 180px; opacity: 0.07; }
.pro-earth-glow { position: absolute; left: 0; right: 0; bottom: 18%; height: 54px; background: radial-gradient(ellipse at center, rgba(139, 210, 255, 0.18), rgba(255, 171, 74, 0.07) 42%, transparent 72%); filter: blur(9px); opacity: 0.62; }
.pro-earth-texture { position: absolute; left: -15%; right: -15%; bottom: -45%; height: 54%; pointer-events: none; border-radius: 50% 50% 0 0; background:
  radial-gradient(ellipse at 28% 18%, rgba(95, 124, 93, 0.16), transparent 12%),
  radial-gradient(ellipse at 48% 11%, rgba(92, 121, 95, 0.13), transparent 10%),
  radial-gradient(ellipse at 64% 18%, rgba(92, 121, 95, 0.11), transparent 12%),
  repeating-linear-gradient(8deg, rgba(139, 210, 255, 0.025) 0 1px, transparent 1px 13px);
  mask-image: linear-gradient(180deg, rgba(0,0,0,0.7), transparent 72%);
  opacity: 0.75; }
.pro-route-endpoint, .pro-route-arc { position: relative; z-index: 1; }
.pro-route-label { display: block; margin-bottom: 0.35rem; color: #8bd2ff; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.pro-route-endpoint h3 { margin: 0; font-size: clamp(2.3rem, 4.4vw, 4rem); line-height: 0.95; letter-spacing: 0; }
.pro-category-badge { display: inline-block; margin: 0.55rem 0; padding: 0.18rem 0.5rem; border-radius: 999px; color: #dcebf8; border: 1px solid rgba(196, 214, 230, 0.18); background: rgba(101, 127, 150, 0.2); font-size: 0.64rem; font-weight: 900; letter-spacing: 0.03em; }
.pro-category-badge.vfr { color: #b8f7d5; border-color: rgba(59, 216, 137, 0.38); background: rgba(27, 133, 84, 0.28); }
.pro-category-badge.mvfr { color: #ffe48b; border-color: rgba(248, 210, 72, 0.42); background: rgba(146, 116, 18, 0.28); }
.pro-category-badge.ifr { color: #ffc0c8; border-color: rgba(255, 95, 113, 0.42); background: rgba(164, 42, 57, 0.28); }
.pro-category-badge.lifr { color: #e5c6ff; border-color: rgba(182, 104, 255, 0.42); background: rgba(88, 47, 138, 0.32); }
.pro-route-endpoint p { margin: 0.1rem 0; color: #dcebf8; font-size: 0.78rem; }
.pro-route-endpoint em, .pro-route-endpoint strong { display: block; margin: 0.12rem 0; color: var(--muted); font-size: 0.68rem; font-style: normal; }
.pro-route-endpoint strong { margin-top: 1rem; color: #f4fbff; font-size: 0.9rem; letter-spacing: 0.02em; }
.pro-route-endpoint.right { text-align: right; }
.pro-route-arc svg { width: 100%; height: auto; display: block; margin-top: 0.2rem; overflow: visible; }
.pro-route-line { stroke: url(#proRouteGradient); stroke-width: 5; stroke-linecap: round; stroke-dasharray: 14 10; }
.pro-earth-horizon { stroke: rgba(139, 210, 255, 0.2); stroke-width: 2; }
.pro-route-origin { fill: #3eb6ff; stroke: rgba(244, 251, 255, 0.9); stroke-width: 2; filter: drop-shadow(0 0 10px rgba(62, 182, 255, 0.72)); }
.pro-route-destination { fill: #ffab4a; stroke: rgba(255, 238, 212, 0.9); stroke-width: 2; filter: drop-shadow(0 0 10px rgba(255, 171, 74, 0.72)); }
.pro-route-aircraft { fill: #f4fbff; font-size: 42px; filter: drop-shadow(0 0 12px rgba(139, 210, 255, 0.6)); }
.pro-route-context { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.45rem 0.85rem; color: rgba(185, 208, 228, 0.82); font-size: 0.62rem; font-weight: 800; text-transform: uppercase; }
.pro-route-context span { padding: 0.2rem 0.55rem; border-radius: 999px; background: rgba(2, 14, 25, 0.34); }
.pro-route-meta { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; max-width: 620px; margin: 0.15rem auto 0; }
.pro-route-meta div { padding: 0.5rem 0.6rem; border-radius: 7px; background: rgba(2, 14, 25, 0.32); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025); }
.pro-route-meta div span { display: block; color: var(--dim); font-size: 0.55rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; }
.pro-route-meta div strong { display: block; margin-top: 0.15rem; color: #dcebf8; font-size: 0.68rem; overflow-wrap: anywhere; }
.pro-route-flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 0.35rem; }
.pro-route-flow.compact { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; max-width: 560px; }
.pro-route-flow article { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; min-height: 54px; padding: 0.55rem 0.65rem; border-radius: 10px; background: rgba(2, 14, 25, 0.3); }
.pro-route-flow.compact article { grid-template-columns: 1fr; }
.pro-route-flow article em { justify-self: center; color: #8bd2ff; font-style: normal; font-weight: 900; }
.pro-route-flow-arrow { color: #8bd2ff; font-style: normal; font-weight: 900; }
.pro-filed-route-block { margin-top: 0.65rem; padding: 0.8rem 0.9rem; border-radius: 10px; background: rgba(2, 14, 25, 0.38); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025); }
.pro-filed-route-block span { display: block; color: var(--dim); font-size: 0.58rem; font-weight: 800; text-transform: uppercase; }
.pro-filed-route-block strong { display: block; margin-top: 0.2rem; color: #f4fbff; font-size: 0.9rem; line-height: 1.45; overflow-wrap: anywhere; }
.pro-route-token-list { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-top: 0.45rem; }
.pro-route-token-list strong { display: inline-flex; margin: 0; padding: 0.28rem 0.48rem; border-radius: 999px; background: rgba(139, 210, 255, 0.08); color: #dcebf8; font-size: 0.72rem; }
.pro-route-detail-grid, .pro-inbound-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin-top: 0.65rem; }
.pro-route-detail-grid div, .pro-inbound-grid div { padding: 0.62rem; border-radius: 9px; background: rgba(2, 14, 25, 0.32); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025); }
.pro-airport-pair-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
.pro-airport-card { overflow: hidden; border-color: rgba(104, 168, 216, 0.12); border-radius: 14px; background: linear-gradient(145deg, rgba(7, 29, 48, 0.78), rgba(3, 15, 27, 0.62)); }
.pro-airport-card-heading { padding: 1rem 1rem 0.55rem; border-bottom: 0; background: transparent; }
.pro-airport-card-heading span { color: #8bd2ff; font-size: 0.6rem; font-weight: 900; text-transform: uppercase; }
.pro-airport-card-heading h4 { margin: 0.15rem 0; font-size: 1.9rem; line-height: 1; }
.pro-airport-card-heading p, .pro-airport-card-heading em { display: block; margin: 0; color: var(--muted); font-size: 0.68rem; font-style: normal; }
.pro-airport-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.45rem; padding: 0.75rem 0.85rem; border-bottom: 1px solid var(--border-soft); }
.pro-report-block { padding: 0.85rem 1rem; border-bottom: 1px solid rgba(104, 168, 216, 0.11); }
.pro-report-block:last-child { border-bottom: 0; }
.pro-report-block h5 { display: flex; justify-content: space-between; gap: 0.6rem; margin: 0 0 0.45rem; color: #dcebf8; font-size: 0.75rem; text-transform: uppercase; }
.pro-report-block h5 span { color: var(--dim); font-size: 0.6rem; font-weight: 700; text-transform: none; }
.pro-report-block pre { max-height: 120px; margin: 0 0 0.45rem; padding: 0.55rem; overflow: auto; color: #a7dfff; border: 1px solid var(--border-soft); border-radius: 5px; background: rgba(2, 14, 25, 0.72); font-family: "Cascadia Mono", Consolas, monospace; font-size: 0.67rem; white-space: pre-wrap; }
.pro-report-block ul { margin: 0; padding-left: 1rem; color: var(--muted); font-size: 0.66rem; }
.pro-report-block p { margin: 0.25rem 0; color: var(--muted); font-size: 0.66rem; }
.pro-fact-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
.pro-fact-grid div, .pro-route-meta div, .pro-etops-facts div, .pro-oceanic-summary div, .pro-oceanic-card-grid article, .pro-flow-grid div, .pro-notam-summary-grid div { padding: 0.62rem; border-radius: 9px; background: rgba(2, 14, 25, 0.32); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025); }
.pro-fact-grid strong { font-size: 0.74rem; }
.pro-airport-report-lines { display: grid; gap: 0.45rem; margin-top: 0.6rem; }
.pro-airport-report-lines div { padding: 0.62rem; border-radius: 9px; background: rgba(2, 14, 25, 0.26); }
.pro-airport-report-lines span { display: block; color: var(--dim); font-size: 0.58rem; font-weight: 800; text-transform: uppercase; }
.pro-airport-report-lines strong { display: block; margin-top: 0.18rem; color: #dcebf8; font-size: 0.68rem; line-height: 1.45; overflow-wrap: anywhere; }
.pro-report-details { border-bottom: 1px solid rgba(104, 168, 216, 0.11); }
.pro-report-details summary { padding: 0.65rem 1rem; color: #8bd2ff; cursor: pointer; font-size: 0.68rem; font-weight: 900; text-transform: uppercase; }
.pro-airport-actions { display: flex; flex-wrap: wrap; gap: 0.45rem; padding: 0.8rem 1rem 1rem; }
.pro-airport-actions .button { min-height: 31px; padding: 0.35rem 0.6rem; font-size: 0.62rem; }
.pro-arrival-metering-slot { min-width: 0; }
.pro-arrival-metering-card { width: 100%; display: grid; grid-template-columns: minmax(150px, 0.22fr) minmax(150px, 0.2fr) minmax(220px, 1fr); gap: 0.75rem 1rem; align-items: center; padding: 0.9rem 1rem; text-align: left; color: var(--text); border: 1px solid rgba(139, 210, 255, 0.14); border-radius: 14px; background: linear-gradient(110deg, rgba(7, 29, 48, 0.9), rgba(4, 20, 34, 0.7)); box-shadow: 0 18px 46px rgba(0, 6, 14, 0.22), inset 3px 0 0 rgba(139, 210, 255, 0.5); cursor: pointer; }
.pro-arrival-metering-card:hover { border-color: rgba(139, 210, 255, 0.32); transform: translateY(-1px); }
.pro-arrival-metering-card:focus-visible { outline: 2px solid #8bd2ff; outline-offset: 3px; }
.pro-arrival-metering-card.live { box-shadow: 0 18px 46px rgba(0, 6, 14, 0.22), inset 3px 0 0 #5bd6a0; }
.pro-arrival-metering-card.stale { box-shadow: 0 18px 46px rgba(0, 6, 14, 0.22), inset 3px 0 0 #ffca67; }
.pro-arrival-metering-card.feed_offline, .pro-arrival-metering-card.unavailable { box-shadow: 0 18px 46px rgba(0, 6, 14, 0.22), inset 3px 0 0 #ff6f80; }
.pro-arrival-metering-card.no_current_data, .pro-arrival-metering-card.unsupported { box-shadow: 0 18px 46px rgba(0, 6, 14, 0.22), inset 3px 0 0 #7da1bd; }
.pro-arrival-metering-eyebrow { color: #8bd2ff; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }
.pro-arrival-metering-eyebrow em { display: block; margin-top: 0.12rem; color: var(--dim); font-size: 0.58rem; font-style: normal; }
.pro-arrival-metering-status { color: #f4fbff; font-size: 0.92rem; }
.pro-arrival-metering-card.live .pro-arrival-metering-status { color: #a7f5cf; }
.pro-arrival-metering-card.feed_offline .pro-arrival-metering-status, .pro-arrival-metering-card.unavailable .pro-arrival-metering-status { color: #ffc0c8; }
.pro-arrival-metering-card.stale .pro-arrival-metering-status { color: #ffe3a3; }
.pro-arrival-metering-message { color: #b6c9d9; font-size: 0.68rem; line-height: 1.4; }
.pro-arrival-metering-facts { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem; }
.pro-arrival-metering-facts > span { min-width: 0; padding: 0.52rem 0.6rem; border-radius: 8px; background: rgba(2, 14, 25, 0.34); }
.pro-arrival-metering-facts em { display: block; color: var(--dim); font-size: 0.55rem; font-style: normal; font-weight: 800; text-transform: uppercase; }
.pro-arrival-metering-facts b { display: block; margin-top: 0.12rem; color: #dcebf8; font-size: 0.7rem; overflow-wrap: anywhere; }
.pro-arrival-metering-card small { grid-column: 1 / -1; color: rgba(185, 208, 228, 0.68); font-size: 0.58rem; }
.tbfm-modal-panel { width: min(920px, 100%); max-height: min(86vh, 920px); overflow: auto; padding: 1.05rem; border: 1px solid rgba(139, 210, 255, 0.18); border-radius: 16px; background: linear-gradient(150deg, #071e32, #03101d); box-shadow: 0 36px 96px rgba(0, 5, 12, 0.6); }
.tbfm-modal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; margin-top: 0.85rem; }
.tbfm-modal-grid div { min-width: 0; padding: 0.68rem; border-radius: 9px; background: rgba(2, 14, 25, 0.42); }
.tbfm-modal-grid span { display: block; color: var(--dim); font-size: 0.56rem; font-weight: 800; text-transform: uppercase; }
.tbfm-modal-grid strong { display: block; margin-top: 0.18rem; color: #e7f4ff; font-size: 0.72rem; overflow-wrap: anywhere; }
.tbfm-modal-grid small { display: block; margin-top: 0.18rem; color: #718da2; font-size: 0.55rem; }
.tbfm-modal-source { margin: 0.8rem 0 0; color: #9ec5df; font-size: 0.65rem; }
.tbfm-status-banner, .tbfm-modal-note, .tbfm-unsupported { margin: 0.75rem 0 0; padding: 0.65rem 0.75rem; border-radius: 9px; font-size: 0.68rem; line-height: 1.45; }
.tbfm-status-banner { color: #d9ecf9; border: 1px solid rgba(139, 210, 255, 0.2); background: rgba(43, 103, 145, 0.16); }
.tbfm-status-banner.stale { color: #ffe3a3; border-color: rgba(255, 202, 103, 0.3); background: rgba(132, 87, 11, 0.2); }
.tbfm-status-banner.feed_offline, .tbfm-status-banner.unavailable { color: #ffc0c8; border-color: rgba(255, 111, 128, 0.3); background: rgba(130, 28, 42, 0.2); }
.tbfm-modal-section { margin-top: 1rem; padding-top: 0.85rem; border-top: 1px solid rgba(139, 210, 255, 0.13); }
.tbfm-modal-section h4 { margin: 0; color: #b9e2fb; font-size: 0.68rem; letter-spacing: 0.05em; text-transform: uppercase; }
.tbfm-modal-note { color: #b6c9d9; background: rgba(2, 14, 25, 0.3); }
.tbfm-unsupported { color: #9bb4c7; border: 1px solid rgba(155, 180, 199, 0.15); background: rgba(2, 14, 25, 0.24); }
.airport-flow-source-list { display: grid; gap: 0.45rem; margin-top: 0.65rem; }
.airport-flow-source-list div { display: grid; grid-template-columns: 1fr auto; gap: 0.15rem 0.65rem; padding: 0.58rem 0.65rem; border: 1px solid rgba(139, 210, 255, 0.12); border-radius: 8px; background: rgba(2, 14, 25, 0.32); }
.airport-flow-source-list strong { color: #dcebf8; font-size: 0.68rem; }
.airport-flow-source-list span { color: #e9919b; font-size: 0.58rem; font-weight: 800; }
.airport-flow-source-list span.live { color: #71d8aa; }
.airport-flow-source-list span.stale { color: #e5b95c; }
.airport-flow-source-list small { grid-column: 1 / -1; color: #718da2; font-size: 0.57rem; }
.airport-flow-modal-panel .notam-full-heading > div { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem 0.5rem; }
.airport-flow-modal-panel .notam-full-heading strong { flex-basis: 100%; }
.tbfm-flow-status { color: #9ec5df; font-size: 0.65rem; font-weight: 700; }
.tbfm-flow-status.live { color: #71d8aa; }
.tbfm-flow-status.stale { color: #e5b95c; }
.tbfm-flow-summary { margin: 0.75rem 0 0; padding: 0.72rem 0.85rem; border-radius: 9px; background: rgba(43, 103, 145, 0.18); border: 1px solid rgba(139, 210, 255, 0.18); color: #d9ecf9; font-size: 0.82rem; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.tbfm-flow-freshness { margin: 0.4rem 0 0; color: #9ec5df; font-size: 0.65rem; line-height: 1.5; }
.airport-flow-modal-panel .tbfm-flow-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tbfm-flow-primary strong { font-size: 1.25rem; }
.airport-flow-modal-panel .tbfm-flow-secondary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tbfm-flow-secondary div { background: transparent; padding-top: 0.2rem; padding-bottom: 0.2rem; }
.tbfm-flow-secondary strong { color: #b6c9d9; }
.tbfm-flow-source-details > summary { cursor: pointer; color: #9ec5df; font-size: 0.72rem; }
.tbfm-flow-source-details > summary:focus-visible { outline: 2px solid #8bd2ff; outline-offset: 3px; }
.tbfm-flow-source-details { overflow-wrap: anywhere; }
.pro-etops-layout { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr); gap: 0.9rem; align-items: stretch; }
.pro-etops-map { position: relative; min-height: 260px; overflow: hidden; border-radius: 14px; background:
  radial-gradient(circle at 50% 52%, rgba(69, 174, 245, 0.18), transparent 12rem),
  linear-gradient(160deg, rgba(2, 14, 25, 0.74), rgba(7, 31, 50, 0.5)); }
.pro-etops-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.pro-etops-map path { fill: none; stroke: #8bd2ff; stroke-width: 3; stroke-linecap: round; filter: drop-shadow(0 0 12px rgba(139, 210, 255, 0.42)); }
.pro-etops-map circle { fill: #f4fbff; }
.pro-etops-airport, .pro-etops-point { position: absolute; z-index: 1; padding: 0.25rem 0.55rem; border-radius: 999px; color: #071522; background: #8bd2ff; font-size: 0.62rem; font-weight: 900; }
.pro-etops-airport.dep { left: 8%; bottom: 20%; }
.pro-etops-airport.arr { right: 8%; bottom: 20%; background: #ffcf74; }
.pro-etops-point { left: 50%; top: 22%; transform: translateX(-50%); background: #f4fbff; }
.pro-etops-circle { position: absolute; left: 50%; top: 55%; transform: translate(-50%, -50%); border: 1px dashed rgba(139, 210, 255, 0.4); border-radius: 999px; }
.pro-etops-circle.inner { width: 34%; aspect-ratio: 1; }
.pro-etops-circle.outer { width: 58%; aspect-ratio: 1; border-color: rgba(255, 171, 74, 0.38); }
.pro-etops-facts, .pro-oceanic-summary, .pro-oceanic-card-grid, .pro-flow-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0.5rem; }
.pro-notam-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.5rem; }
.pro-notam-controls { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(140px, 0.35fr)); gap: 0.5rem; margin-top: 0.7rem; }
.pro-notam-controls input, .pro-notam-controls select { min-height: 34px; border: 1px solid rgba(139, 210, 255, 0.14); border-radius: 8px; background: rgba(2, 14, 25, 0.42); color: #dcebf8; padding: 0.45rem 0.55rem; font-size: 0.68rem; }
.pro-notam-briefing { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 0.5rem; margin-top: 0.75rem; }
.pro-notam-briefing article { padding: 0.62rem; border-radius: 9px; background: rgba(2, 14, 25, 0.3); border: 1px solid rgba(139, 210, 255, 0.08); }
.pro-notam-briefing strong { color: #f4fbff; font-size: 0.68rem; text-transform: uppercase; }
.pro-notam-briefing p { margin: 0.25rem 0 0; color: #bdd3e5; font-size: 0.66rem; line-height: 1.45; }
.pro-notam-groups { display: grid; gap: 0.55rem; margin-top: 0.75rem; }
.pro-notam-group { border: 1px solid rgba(139, 210, 255, 0.08); border-radius: 10px; background: rgba(2, 14, 25, 0.24); }
.pro-notam-group summary { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.7rem 0.8rem; cursor: pointer; color: #f4fbff; font-size: 0.72rem; font-weight: 900; text-transform: uppercase; }
.pro-notam-group summary em { color: var(--muted); font-style: normal; }
.pro-notam-list { display: grid; gap: 0.45rem; padding: 0 0.75rem 0.75rem; }
.pro-notam-item { display: grid; grid-template-columns: auto 1fr; gap: 0.55rem; padding: 0.62rem; border-radius: 9px; background: rgba(2, 14, 25, 0.36); }
.pro-notam-item > span { display: grid; place-items: center; width: 1.35rem; height: 1.35rem; border-radius: 999px; color: #071522; background: #8bd2ff; font-size: 0.68rem; font-weight: 900; }
.pro-notam-item.critical > span { background: #ff7b8b; }
.pro-notam-item.important > span { background: #ffcf74; }
.pro-notam-item strong { color: #f4fbff; font-size: 0.7rem; }
.pro-notam-item em { display: block; margin-top: 0.08rem; color: var(--dim); font-size: 0.58rem; font-style: normal; overflow-wrap: anywhere; }
.pro-notam-item p { margin: 0.12rem 0 0; color: #dcebf8; font-size: 0.68rem; line-height: 1.45; }
.pro-notam-item details { margin-top: 0.35rem; color: #8bd2ff; font-size: 0.62rem; }
.pro-notam-item details summary { display: block; padding: 0; color: #8bd2ff; font-size: 0.62rem; text-transform: none; }
.pro-notam-item pre { max-height: 150px; margin: 0.35rem 0 0; padding: 0.5rem; overflow: auto; border-radius: 6px; background: rgba(2, 14, 25, 0.7); color: #acd9f7; white-space: pre-wrap; overflow-wrap: anywhere; }
.pro-oceanic-panel { display: grid; gap: 0.75rem; }
.pro-oceanic-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 0.55rem; color: var(--muted); font-size: 0.66rem; }
.pro-planning-authority { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.45rem 0.55rem; border-radius: 10px; background: rgba(2, 14, 25, 0.38); }
.pro-planning-authority span { color: var(--dim); font-size: 0.58rem; font-weight: 900; text-transform: uppercase; }
.pro-planning-authority select { height: 30px; border: 1px solid rgba(139, 210, 255, 0.18); border-radius: 8px; color: #f4fbff; background: rgba(4, 18, 32, 0.92); font-weight: 800; }
.pro-oceanic-map { position: relative; min-height: 300px; overflow: hidden; border-radius: 16px; background: linear-gradient(180deg, rgba(2, 10, 20, 0.7), rgba(2, 13, 25, 0.95)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 24px 60px rgba(0, 5, 12, 0.26); }
.pro-oceanic-map svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.pro-oceanic-horizon { fill: none; stroke: rgba(184, 226, 255, 0.2); stroke-width: 1.8; }
.pro-oceanic-continent { fill: none; stroke: rgba(178, 214, 191, 0.12); stroke-width: 10; stroke-linecap: round; filter: blur(0.4px); }
.pro-oceanic-route { fill: none; stroke: url(#proOceanicRouteGradient); stroke-width: 3; stroke-linecap: round; stroke-dasharray: 10 8; filter: drop-shadow(0 0 12px rgba(139, 210, 255, 0.35)); }
.pro-oceanic-airport-dot { fill: #061625; stroke: #8bd2ff; stroke-width: 4; }
.pro-oceanic-airport-dot.arr { stroke: #ffbd6e; }
.pro-oceanic-etp-dot { fill: #f4fbff; stroke: rgba(139, 210, 255, 0.5); stroke-width: 4; }
.pro-oceanic-aircraft { fill: #f4fbff; font-size: 34px; filter: drop-shadow(0 0 12px rgba(244, 251, 255, 0.38)); }
.pro-oceanic-airport, .pro-oceanic-etp { position: absolute; z-index: 1; padding: 0.3rem 0.6rem; border-radius: 999px; color: #061625; background: #8bd2ff; font-size: 0.64rem; font-weight: 900; }
.pro-oceanic-airport.dep { left: 7%; bottom: 24%; }
.pro-oceanic-airport.arr { right: 7%; bottom: 24%; background: #ffbd6e; }
.pro-oceanic-etp { left: 50%; top: 26%; transform: translateX(-50%); color: #dcebf8; background: rgba(4, 18, 32, 0.82); border: 1px solid rgba(139, 210, 255, 0.18); }
.pro-oceanic-etp em { display: block; color: var(--muted); font-style: normal; font-weight: 700; }
.pro-oceanic-map-meta { position: absolute; left: 1rem; right: 1rem; top: 0.9rem; z-index: 1; display: flex; align-items: center; flex-wrap: wrap; gap: 0.45rem; color: var(--muted); font-size: 0.66rem; }
.pro-oceanic-map-meta strong, .pro-oceanic-map-meta span { padding: 0.28rem 0.55rem; border-radius: 999px; background: rgba(2, 14, 25, 0.58); }
.pro-oceanic-card-grid em { display: block; margin-top: 0.2rem; color: var(--muted); font-size: 0.62rem; font-style: normal; }
.pro-inbound-card { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0.35rem; }
.pro-inbound-card-row { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; min-height: 38px; padding: 0.42rem 0.58rem; border-radius: 8px; background: rgba(2, 14, 25, 0.3); }
.pro-inbound-card-row span { color: var(--dim); font-size: 0.6rem; font-weight: 800; text-transform: uppercase; }
.pro-inbound-card-row strong { color: var(--muted); font-size: 0.68rem; }
.pro-flight-map { min-height: 320px; margin-top: 0.75rem; overflow: hidden; border-radius: 12px; background: rgba(2, 14, 25, 0.52); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025); }
.pro-flight-map .leaflet-tile { filter: saturate(0.75) brightness(0.62) contrast(1.12); }
.pro-flight-map .leaflet-control-container { display: none; }
.pro-brief-lower-grid { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 0.9rem; }
.pro-brief-panel { padding: 1rem; border-color: rgba(104, 168, 216, 0.1); background: linear-gradient(145deg, rgba(5, 23, 38, 0.62), rgba(3, 15, 27, 0.48)); box-shadow: 0 18px 48px rgba(0, 6, 14, 0.16); }
.pro-checklist { display: grid; gap: 0.5rem; }
.pro-checklist label { grid-template-columns: minmax(0, 1fr) 150px; align-items: center; }
.pro-checklist select { min-height: 31px; padding: 0.3rem 0.45rem; }
.pro-checklist-panel { padding: 0; }
.pro-checklist-panel summary { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; padding: 0.9rem 1rem; cursor: pointer; }
.pro-checklist-panel summary span { color: #f4fbff; font-size: 0.82rem; font-weight: 900; letter-spacing: 0.04em; text-transform: uppercase; }
.pro-checklist-panel summary em { color: var(--muted); font-size: 0.66rem; font-style: normal; }
.pro-checklist-panel .pro-checklist { padding: 0 1rem 1rem; }
.pro-airport-snapshot { border-bottom: 1px solid var(--border-soft); }
.pro-airport-snapshot summary { padding: 0.65rem 1rem; color: #8bd2ff; cursor: pointer; font-size: 0.68rem; font-weight: 900; text-transform: uppercase; list-style: none; display: flex; align-items: center; gap: 0.4rem; }
.pro-airport-snapshot summary::-webkit-details-marker { display: none; }
.pro-airport-snapshot summary::before { content: '\25B6'; font-size: 0.55rem; transition: transform 120ms; display: inline-block; }
.pro-airport-snapshot[open] summary::before { transform: rotate(90deg); }
.pro-airport-snapshot summary:hover { color: #c5eaff; }
#pro-brief-notes { min-height: 118px; padding: 0.9rem; resize: vertical; border-radius: 9px; background: rgba(2, 14, 25, 0.48); font: inherit; line-height: 1.55; }
#pro-clear-notes { margin-top: 0.55rem; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.7rem; }
.heading-lockup { gap: 0.65rem; }
.panel-heading h2 { margin: 0; font-size: 1rem; text-transform: uppercase; letter-spacing: 0.03em; }
.panel-heading p { margin: 0; color: var(--muted); font-size: 0.72rem; }
.panel-icon { color: #8acfff; font-size: 1.2rem; }
.nas-source { color: #8fd2ff; font-size: 0.66rem; font-weight: 700; text-decoration: none; }
.nas-source:hover { color: #c5eaff; }
.nas-heading-actions { display: flex; align-items: center; justify-content: flex-end; gap: 0.85rem; }
.nas-heading-actions p { white-space: nowrap; }
.nas-heading-actions #nas-status-message { color: #bdd3e5; }
.nas-heading-actions #nas-status-message.error { color: #ffbec6; }
.nas-full-link { min-height: 31px; padding: 0.38rem 0.65rem; font-size: 0.64rem; }

.nas-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.65rem; }
.nas-item { display: grid; grid-template-columns: auto 1fr; gap: 0.65rem; align-items: center; min-height: 72px; padding: 0.65rem 0.8rem; border: 1px solid var(--border); border-radius: 6px; background: rgba(3, 18, 30, 0.56); }
.nas-item.danger { border-color: rgba(255, 95, 113, 0.72); }
.nas-item.warning { border-color: rgba(248, 184, 60, 0.64); }
.nas-item.normal { border-color: rgba(59, 216, 137, 0.55); }
.nas-item.neutral { border-color: var(--border); }
.nas-symbol { display: grid; place-items: center; width: 27px; height: 27px; color: currentColor; border: 1px solid currentColor; border-radius: 50%; font-size: 0.95rem; }
.danger .nas-symbol, .danger h3 { color: var(--red); }
.warning .nas-symbol, .warning h3 { color: var(--amber); }
.normal .nas-symbol, .normal h3 { color: var(--green); }
.neutral .nas-symbol, .neutral h3 { color: #8fc9f2; }
.nas-item h3 { margin: 0; font-size: 0.69rem; text-transform: uppercase; }
.nas-item strong { display: block; margin-top: 0.12rem; font-size: 0.82rem; }
.nas-item p { margin: 0.15rem 0 0; color: var(--muted); font-size: 0.64rem; }

.airport-bar { display: grid; grid-template-columns: minmax(460px, 0.72fr) 1fr; gap: 1rem; padding: 0.7rem 0.85rem; }
.airport-selector-group { display: grid; grid-template-columns: auto 1fr; gap: 0.6rem; align-items: center; }
.compact-label { align-self: center; color: #c1d4e6; font-size: 0.65rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }

/* 鈹€鈹€ Airport Combobox 鈹€鈹€ */
.airport-combobox { position: relative; }
.combobox-input-wrap { display: flex; align-items: center; gap: 0; border: 1px solid var(--border); border-radius: 5px; background: rgba(2, 15, 26, 0.76); transition: border-color 150ms, box-shadow 150ms; height: 39px; }
.combobox-input-wrap:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(69, 174, 245, 0.12); }
#airport-combo-input {
  flex: 1;
  border: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  color: var(--text);
  padding: 0 2.6rem 0 0.7rem;
  font-size: 0.85rem;
  line-height: 1.15;
}
#airport-combo-input::placeholder { color: #607d95; }
.combo-clear {
  display: none;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 32px;
  border: none;
  border-radius: 0 5px 5px 0;
  background: transparent;
  color: var(--dim);
  font-size: 1.1rem;
  cursor: pointer;
  line-height: 1;
  padding: 0;
}
.combo-clear:hover { color: var(--text); }
.combobox-input-wrap:has(#airport-combo-input:not(:placeholder-shown)) .combo-clear { display: flex; }
.combo-chevron {
  position: absolute;
  right: 0.55rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--dim);
  font-size: 0.7rem;
  pointer-events: none;
  transition: transform 150ms;
  z-index: 1;
}
.airport-combobox.is-open .combo-chevron { transform: translateY(-50%) rotate(180deg); }

.airport-combo-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 999;
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: var(--panel-strong);
  box-shadow: 0 12px 32px rgba(0, 5, 12, 0.45);
  scrollbar-gutter: stable;
}
.airport-combo-dropdown::-webkit-scrollbar { width: 6px; }
.airport-combo-dropdown::-webkit-scrollbar-track { background: transparent; }
.airport-combo-dropdown::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }

.combo-group { border-bottom: 1px solid var(--border-soft); }
.combo-group:last-child { border-bottom: none; }
.combo-group-heading { position: sticky; top: 0; z-index: 1; padding: 0.35rem 0.65rem; background: rgba(4, 20, 34, 0.96); color: #8bd2ff; font-size: 0.56rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; border-bottom: 1px solid rgba(69, 174, 245, 0.16); }
.combo-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 0.7rem;
  padding: 0.65rem 0.72rem 0.65rem 0.82rem;
  cursor: pointer;
  border-bottom: 1px solid var(--border-soft);
  transition: background 120ms, box-shadow 120ms;
  min-height: 58px;
  align-items: center;
}
.combo-option:last-child { border-bottom: none; }
.combo-option:hover, .combo-option.combo-highlighted { background: rgba(69, 174, 245, 0.12); }
.combo-option.selected { background: rgba(137, 255, 74, 0.09); box-shadow: inset 3px 0 0 rgba(137, 255, 74, 0.82); }
.combo-option.combo-highlighted { outline: 2px solid var(--blue); outline-offset: -2px; }
.combo-favorite { width: 34px; height: 34px; display: grid; place-items: center; justify-self: end; padding: 0; border: 1px solid rgba(139, 210, 255, 0.22); border-radius: 6px; background: rgba(2, 15, 26, 0.72); color: var(--dim); cursor: pointer; }
.combo-favorite:hover, .combo-favorite.active { color: #d7b35c; border-color: rgba(215, 179, 92, 0.42); background: rgba(120, 87, 10, 0.2); }
.combo-favorite:focus-visible { outline: 2px solid #8bd2ff; outline-offset: 2px; }
.combo-favorite svg { display: block; }
.combo-option-text { min-width: 0; }
.combo-option-icao { font-weight: 700; color: var(--blue); font-size: 0.82rem; letter-spacing: 0.02em; }
.combo-option-name { color: var(--text); font-size: 0.72rem; margin-top: 0.1rem; }
.combo-option-city { color: var(--muted); font-size: 0.65rem; margin-top: 0.05rem; }
.combo-option-no-results { padding: 1.2rem; text-align: center; color: var(--dim); font-size: 0.78rem; }
.airport-details { display: grid; grid-template-columns: minmax(230px, 1.1fr) minmax(320px, 1.25fr) 1fr; gap: 1rem; align-items: center; border-left: 1px solid var(--border-soft); padding-left: 1rem; padding-right: 1.25rem; }
.airport-title-block { min-width: 0; }
.airport-title-row { display: flex; align-items: center; gap: 0.5rem; min-width: 0; }
.airport-details h2 { margin: 0; font-size: 1rem; letter-spacing: 0.01em; white-space: nowrap; }
.flight-category-badge { flex: 0 0 auto; padding: 0.16rem 0.42rem; border-radius: 999px; font-size: 0.62rem; font-weight: 900; letter-spacing: 0.02em; border: 1px solid rgba(196, 214, 230, 0.18); background: rgba(101, 127, 150, 0.2); color: #d7e3ed; }
.flight-category-badge.vfr { color: #b8f7d5; border-color: rgba(59, 216, 137, 0.42); background: rgba(27, 133, 84, 0.26); }
.flight-category-badge.mvfr { color: #ffe48b; border-color: rgba(248, 210, 72, 0.46); background: rgba(146, 116, 18, 0.28); }
.flight-category-badge.ifr { color: #ffc0c8; border-color: rgba(255, 95, 113, 0.48); background: rgba(164, 42, 57, 0.28); }
.flight-category-badge.lifr { color: #e5c6ff; border-color: rgba(182, 104, 255, 0.48); background: rgba(88, 47, 138, 0.32); }
.airport-title-block p { margin: 0.12rem 0 0; }
#airport-full-name { color: #d2e4f4; font-size: 0.72rem; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.airport-details #station-meta { color: var(--muted); font-size: 0.66rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.airport-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.45rem 0.7rem; align-items: center; min-width: 0; }
.airport-facts div { min-width: 72px; padding-left: 0.7rem; border-left: 1px solid var(--border-soft); }
.airport-facts span, .airport-context span { display: block; color: var(--dim); font-size: 0.55rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.airport-label-two-line { line-height: 1.03; }
.airport-label-two-line span { display: block; }
.airport-facts strong { display: block; margin-top: 0.12rem; color: #d2e4f4; font-size: 0.68rem; font-weight: 800; white-space: nowrap; }
.airport-context { grid-column: 3; margin-left: auto; display: flex; align-items: center; justify-content: flex-end; gap: 0.95rem; text-align: right; justify-self: end; }
.airport-context p { margin: 0; min-width: max-content; }
.airport-time-grid { display: grid; grid-template-columns: repeat(2, minmax(82px, max-content)); gap: 0.95rem; align-items: start; justify-content: end; }
.airport-context strong { display: block; margin-top: 0.08rem; color: #d2e4f4; font-size: 0.7rem; font-weight: 800; }
.airport-context em { display: block; margin-top: 0.08rem; color: var(--muted); font-size: 0.62rem; font-style: normal; white-space: nowrap; }

.weather-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.8rem; }
.weather-card { min-height: 315px; padding: 0; overflow: hidden; }
.card-heading { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.7rem 0.85rem; border-bottom: 1px solid var(--border-soft); background: rgba(12, 39, 62, 0.42); }
.card-heading h2 { display: flex; align-items: center; gap: 0.55rem; margin: 0; font-size: 0.88rem; }
.weather-icon { display: inline-grid; place-items: center; width: 20px; color: #8bd2ff; font-size: 1rem; }
.report-time { margin: 0; color: var(--muted); font-size: 0.66rem; }
.report-text { min-height: 78px; max-height: 125px; margin: 0; padding: 0.85rem; overflow: auto; color: #a7dfff; font-family: "Cascadia Mono", "SFMono-Regular", Consolas, monospace; font-size: 0.77rem; font-weight: 700; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
#atis-text.atis-live-text {
  max-height: 420px;
  overflow: auto;
  color: #c9e6ff;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  font-size: 0.74rem;
  font-weight: 740;
  line-height: 1.55;
  padding-block: 0.95rem;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
}
#metar-text { color: #48e493; }

.decoded-report { padding: 0 0.85rem 0.85rem; }
.decoded-topline { display: flex; align-items: center; gap: 0.45rem; margin-bottom: 0.5rem; }
.condition-badge { padding: 0.2rem 0.48rem; border-radius: 5px; font-size: 0.67rem; font-weight: 900; letter-spacing: 0.04em; }
.condition-badge.vfr { color: #a7f5cf; background: rgba(27, 133, 84, 0.34); }
.condition-badge.mvfr { color: #a8dcff; background: rgba(28, 110, 175, 0.34); }
.condition-badge.ifr { color: #ffd486; background: rgba(156, 101, 17, 0.36); }
.condition-badge.lifr { color: #ffb7bf; background: rgba(164, 42, 57, 0.38); }
.condition-badge.neutral { color: #c4d6e6; background: rgba(101, 127, 150, 0.25); }
.decoded-summary { color: var(--muted); font-size: 0.68rem; }
.decoded-grid { display: grid; grid-template-columns: minmax(86px, 0.42fr) 1fr; gap: 0.25rem 0.75rem; margin: 0; }
.decoded-grid dt { color: #b6c9da; font-size: 0.69rem; }
.decoded-grid dd { margin: 0; color: #dcebf8; font-size: 0.7rem; overflow-wrap: anywhere; }
.cloud-layer { display: inline-block; padding: 0.02rem 0.22rem; border-radius: 4px; font-weight: 800; line-height: 1.45; }
.cloud-neutral { padding-inline: 0; color: #dcebf8; font-weight: 700; }
.cloud-attention { color: #f6d98d; background: rgba(248, 184, 60, 0.12); }
.cloud-warning { color: #ffd486; background: rgba(248, 184, 60, 0.2); border: 1px solid rgba(248, 184, 60, 0.28); }
.cloud-critical { color: #ffbec6; background: rgba(255, 95, 113, 0.22); border: 1px solid rgba(255, 95, 113, 0.38); }

.operations-grid { display: grid; grid-template-columns: minmax(360px, 1.16fr) minmax(320px, 0.9fr) minmax(360px, 1.04fr); gap: 0.8rem; align-items: stretch; }
.operations-grid > .dashboard-card { min-height: 560px; padding: 0; overflow: hidden; display: flex; flex-direction: column; }
.wind-analyzer-card { display: flex; flex-direction: column; }
/* 鈹€鈹€ NOTAM card: isolate internal layout from global margins 鈹€鈹€ */
.notam-input-card > :not(.card-heading):not(.notam-header-actions):not(.results-heading):not(.notam-results):not(.notam-alerts-footer) {
  margin-left: 0;
  margin-right: 0;
}

.airport-badge { padding: 0.18rem 0.46rem; color: #baf4d7; border: 1px solid rgba(59, 216, 137, 0.35); border-radius: 999px; background: rgba(26, 125, 80, 0.28); font-size: 0.62rem; font-weight: 900; }

/* 鈹€鈹€ NOTAM header actions 鈹€鈹€ */
.notam-header-actions { display: flex; align-items: center; gap: 0.35rem; flex-wrap: wrap; }
.notam-refresh-button { width: 28px; height: 28px; padding: 0; font-size: 0.85rem; line-height: 1; border-radius: 6px; }

.results-heading { display: flex; align-items: center; justify-content: space-between; margin-top: 0.55rem !important; margin-bottom: 0.3rem; }
.results-heading h3 { margin: 0; font-size: 0.7rem; }
.results-heading span { color: var(--muted); font-size: 0.6rem; }

/* 鈹€鈹€ NOTAM results list 鈹€鈹€ */
.notam-results { display: grid; align-content: start; gap: 0.42rem; flex: 1; min-height: 0; overflow-y: auto; padding: 0.5rem 0.5rem 0.35rem; }
.notam-alerts-footer { display: grid; gap: 0.45rem; padding: 0.65rem 0.75rem 0.75rem; border-top: 1px solid rgba(104, 168, 216, 0.08); background: rgba(2, 14, 25, 0.18); }
.notam-alert-actions { display: grid; gap: 0.35rem; }
.notam-alerts-footer .notam-full-button { width: 100%; justify-content: center; min-height: 32px; font-size: 0.64rem; }
.notam-brief-actions { display: flex; align-items: center; justify-content: flex-end; gap: 0.35rem; flex-wrap: wrap; }
.notam-brief-button { min-height: 28px; padding: 0.2rem 0.48rem; font-size: 0.58rem; white-space: nowrap; }
.notam-full-overlay { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 1.2rem; background: rgba(0, 8, 16, 0.76); backdrop-filter: blur(8px); }
.notam-full-panel { width: min(1120px, 96vw); max-height: 88vh; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; border: 1px solid rgba(139, 210, 255, 0.2); border-radius: 12px; background: #061827; box-shadow: 0 30px 90px rgba(0, 0, 0, 0.5); overflow: hidden; }
.notam-full-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.9rem 1rem; border-bottom: 1px solid var(--border-soft); background: rgba(12, 39, 62, 0.72); }
.notam-full-heading strong { color: #f4fbff; font-size: 0.95rem; }
.notam-full-heading p { margin: 0.15rem 0 0; color: var(--muted); font-size: 0.68rem; }
.notam-full-heading-actions { display: flex; align-items: center; gap: 0.45rem; flex-wrap: wrap; }
.notam-full-list { display: grid; gap: 0.55rem; min-height: 0; padding: 0.85rem; overflow: auto; }
.notam-raw-panel .notam-full-list { padding-top: 1rem; }
.notam-raw-modal-pre { margin: 0; padding: 0.9rem 1rem; overflow: auto; border-radius: 10px; background: rgba(2, 14, 25, 0.78); color: #bddbf0; font-family: "Cascadia Mono", Consolas, monospace; font-size: 0.72rem; line-height: 1.62; white-space: pre-wrap; overflow-wrap: anywhere; }

/* 鈹€鈹€ NOTAM card 鈥?compact EFB style 鈹€鈹€ */
.notam-result { padding: 0.45rem 0.55rem; border: 1px solid rgba(104, 168, 216, 0.07); border-radius: 6px; border-left-width: 3px; background: rgba(2, 16, 28, 0.35); transition: background 150ms ease; }
.notam-result:hover { background: rgba(6, 24, 40, 0.55); }
.notam-result.critical { border-left-color: var(--red); }
.notam-result.important { border-left-color: var(--amber); }
.notam-result.informational { border-left-color: var(--blue); }
.operational-alert { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); gap: 0.5rem; padding: 0.55rem 0.62rem; }
.operational-alert-icon { display: grid; place-items: center; min-width: 3.1rem; height: 1.45rem; padding: 0 0.35rem; border-radius: 6px; background: rgba(139, 210, 255, 0.11); color: #a9ddff; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.04em; }
.operational-alert-body { min-width: 0; display: grid; gap: 0.28rem; }
.operational-alert-meta { display: flex; align-items: center; justify-content: space-between; gap: 0.38rem; min-width: 0; }
.operational-alert-summary { margin: 0; color: #d2e5f4; font-size: 0.68rem; line-height: 1.42; overflow-wrap: anywhere; }
.operational-alert-timing { margin: 0; color: #8fb9d3; font-size: 0.58rem; font-weight: 800; line-height: 1.35; overflow-wrap: anywhere; }
.operational-alert.critical .operational-alert-icon { color: #ffb6bf; background: rgba(174, 42, 58, 0.16); }
.operational-alert.important .operational-alert-icon { color: #ffdb8b; background: rgba(157, 103, 17, 0.16); }
.itws-operational-alert { display: grid; gap: 0.14rem; padding: 0.52rem 0.62rem; border: 1px solid rgba(89, 204, 231, 0.42); border-left: 3px solid #65d5e8; border-radius: 7px; background: rgba(34, 127, 151, 0.14); }
.itws-operational-alert strong { color: #b9f0f7; font-size: 0.62rem; letter-spacing: 0.05em; }
.itws-operational-alert span { color: #e2f2f5; font-size: 0.71rem; font-weight: 700; overflow-wrap: anywhere; }

/* 鈹€鈹€ Priority badges 鈥?compact 鈹€鈹€ */
.priority-badge { padding: 0.08rem 0.3rem; border-radius: 999px; font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em; }
.priority-badge.critical { color: #ffb6bf; background: rgba(174, 42, 58, 0.22); }
.priority-badge.important { color: #ffdb8b; background: rgba(157, 103, 17, 0.22); }
.priority-badge.informational { color: #a9ddff; background: rgba(27, 110, 176, 0.22); }

/* 鈹€鈹€ Category badges 鈥?with icons 鈹€鈹€ */
.notam-cat-badge { padding: 0.08rem 0.3rem; border-radius: 999px; font-size: 0.5rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.03em; background: rgba(69, 174, 245, 0.12); color: #8bd2ff; white-space: nowrap; }

/* 鈹€鈹€ Summary panel 鈥?operational brief 鈹€鈹€ */
.analysis-card { display: flex; flex-direction: column; }
.notam-summary { flex: 1; padding: 0.75rem 0.85rem 0; color: #d5e4f1; font-size: 0.74rem; line-height: 1.6; }

/* Status line under header */
.notam-summary .briefing-status { color: var(--dim); font-size: 0.66rem; margin: 0 0 0.75rem; font-weight: 700; letter-spacing: 0.02em; }

/* Priority overview row */
.notam-summary .briefing-priority-counts { display: flex; gap: 0.9rem; margin: 0 0 0.9rem; flex-wrap: wrap; }
.notam-summary .priority-count-pill { display: inline-flex; align-items: center; gap: 0.28rem; padding: 0; border-radius: 0; font-size: 0.68rem; font-weight: 900; color: #d5e4f1; background: transparent; }
.notam-summary .priority-count-pill::before { content: ""; width: 0.52rem; height: 0.52rem; border-radius: 50%; background: #8bd2ff; box-shadow: 0 0 0 2px rgba(139, 210, 255, 0.1); }
.notam-summary .priority-count-pill.critical::before { background: #ff7b8b; }
.notam-summary .priority-count-pill.important::before { background: #ffcf74; }
.notam-summary .priority-count-pill.informational::before { background: #8bd2ff; }

/* Section headers */
.notam-summary .briefing-section-title { color: #9ad8ff; font-size: 0.65rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.07em; margin: 1rem 0 0.38rem; padding-bottom: 0.22rem; border-bottom: 1px solid rgba(104, 168, 216, 0.1); }
.notam-summary .briefing-section-title:first-of-type { margin-top: 0.2rem; }

/* Item lists */
.notam-summary .briefing-items { margin: 0; padding: 0; list-style: none; }
.notam-summary .briefing-items li { color: #c7dced; font-size: 0.71rem; padding: 0.2rem 0 0.2rem 0.95rem; position: relative; line-height: 1.58; }
.notam-summary .briefing-items li::before { content: ">"; position: absolute; left: 0; color: var(--blue); font-weight: 700; font-size: 0.7rem; }
.notam-summary .briefing-show-more { margin-top: 0.22rem; padding: 0; border: 0; background: transparent; color: #8bd2ff; font: inherit; font-size: 0.62rem; font-weight: 800; cursor: pointer; }
.notam-summary .briefing-show-more:hover { color: #c5eaff; }

/* Category chips row */
.notam-summary .briefing-categories { margin-top: 1rem; padding-top: 0.65rem; border-top: 1px solid rgba(104, 168, 216, 0.06); }
.notam-summary .briefing-categories-grid { display: flex; flex-wrap: wrap; gap: 0.28rem; }
.notam-summary .category-chip { padding: 0.12rem 0.38rem; border-radius: 999px; font-size: 0.58rem; font-weight: 700; background: rgba(69, 174, 245, 0.08); color: #7ab8e0; }

/* 鈹€鈹€ Header priority count badges 鈹€鈹€ */
.notam-count-badge { display: inline-flex; align-items: center; justify-content: flex-start; gap: 0.42rem; width: 100%; min-height: 30px; border: 1px solid rgba(104, 168, 216, 0.1); font: inherit; cursor: pointer; font-size: 0.62rem; font-weight: 900; padding: 0.28rem 0.48rem; border-radius: 6px; text-align: left; white-space: nowrap; background: rgba(2, 14, 25, 0.26); }
.notam-count-badge::before { content: ""; width: 0.48rem; height: 0.48rem; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.notam-count-badge:hover { filter: brightness(1.12); }
.notam-count-badge:disabled { cursor: default; opacity: 0.55; filter: none; }
.notam-count-badge:focus-visible { outline: 2px solid rgba(139, 210, 255, 0.7); outline-offset: 2px; }
.notam-count-badge.notam-count-critical { color: #ffb6bf; }
.notam-count-badge.notam-count-important { color: #ffdb8b; }
.notam-count-badge.notam-count-informational { color: #a9ddff; }

/* 鈹€鈹€ Scrollbar 鈥?thinner 鈹€鈹€ */
.notam-results::-webkit-scrollbar { width: 4px; }
.notam-results::-webkit-scrollbar-track { background: transparent; }
.notam-results::-webkit-scrollbar-thumb { background: rgba(104, 168, 216, 0.15); border-radius: 3px; }
.notam-results::-webkit-scrollbar-thumb:hover { background: rgba(104, 168, 216, 0.3); }
.notam-raw-modal-pre::-webkit-scrollbar { width: 6px; }
.notam-raw-modal-pre::-webkit-scrollbar-track { background: transparent; }
.notam-raw-modal-pre::-webkit-scrollbar-thumb { background: rgba(104, 168, 216, 0.15); border-radius: 3px; }

/* 鈹€鈹€ Misc 鈹€鈹€ */
.briefing-disclaimer { margin-top: auto !important; padding: 0.8rem 0.85rem 0.9rem; color: var(--muted); font-size: 0.63rem; }
.empty-state { margin: 0; color: var(--dim); font-size: 0.64rem; padding: 1.2rem 0; text-align: center; line-height: 1.5; }

.analyzer-wind-display { padding: 0.5rem 0.85rem; }
.analyzer-wind-display p { margin: 0; font-size: 0.72rem; color: #d5e4f1; }
.analyzer-wind-display .wind-value { font-size: 1.15rem; font-weight: 800; color: #8bd2ff; margin-bottom: 0.15rem; }
.analyzer-wind-display .wind-detail { font-size: 0.68rem; color: var(--dim); }

.analyzer-compass { display: flex; flex-direction: column; align-items: center; padding: 0.3rem 0 0.4rem; min-height: 280px; }
.analyzer-compass svg { max-width: 380px; width: 100%; height: auto; }
.airport-diagram-stage { position: relative; width: var(--wind-visual-size, 380px); height: var(--wind-visual-size, 380px); overflow: hidden; border: 1px solid rgba(137, 255, 74, 0.28); border-radius: 6px; background: radial-gradient(circle at center, rgba(16, 38, 48, 0.9), rgba(2, 14, 25, 0.95)); }
.airport-diagram-image { position: absolute; z-index: 1; left: var(--wind-inner-left, 66px); top: var(--wind-inner-top, 66px); width: var(--wind-inner-size, 248px); height: var(--wind-inner-size, 248px); object-fit: contain; background: #f7f8f5; border-radius: 50%; box-shadow: 0 0 24px rgba(0, 0, 0, 0.68); filter: grayscale(1) contrast(1.08); }
.airport-diagram-overlay { position: absolute; z-index: 3; inset: 0; width: 100%; height: 100%; pointer-events: none; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.7)); }
.airport-map-stage { position: relative; width: var(--wind-visual-size, 380px); height: var(--wind-visual-size, 380px); overflow: hidden; border: 1px solid rgba(139, 210, 255, 0.28); border-radius: 6px; background: radial-gradient(circle at center, rgba(13, 34, 45, 0.92), rgba(2, 14, 25, 0.98)); }
.wind-map-base { position: absolute; z-index: 1; left: var(--wind-inner-left, 66px); top: var(--wind-inner-top, 66px); width: var(--wind-inner-size, 248px); height: var(--wind-inner-size, 248px); border-radius: 50%; overflow: hidden; box-shadow: 0 0 24px rgba(0, 0, 0, 0.72); filter: grayscale(0.2) saturate(0.85) contrast(1.08) brightness(0.8); background: #172734; }
.wind-map-base .leaflet-control-container { display: none; }
.wind-map-runway-highlight { filter: drop-shadow(0 0 6px rgba(137, 255, 74, 0.82)); stroke-linecap: round; }
.runway-pair-highlight { stroke: rgba(59, 216, 137, 0.9); stroke-width: 8; stroke-linecap: round; opacity: 0.9; filter: drop-shadow(0 0 7px rgba(59, 216, 137, 0.95)); }
.wind-source-line { stroke: #ff5f71; stroke-width: 2.4; stroke-dasharray: 8 5; stroke-linecap: round; }
.wind-center-arrow { fill: #ff5f71; }
.wind-heading-bug path:first-child { fill: none; stroke: #89ff4a; stroke-width: 2; stroke-linejoin: round; }
.wind-heading-bug path:last-child { fill: none; stroke: #89ff4a; stroke-width: 1.4; stroke-linecap: round; }
.airport-diagram-fallback { display: none; place-items: center; width: 100%; height: 100%; padding: 0.6rem; }
.airport-diagram-fallback svg { max-width: 340px; }
.airport-diagram-missing { display: none; padding: 0.3rem 1rem 0.1rem; text-align: center; }
.airport-diagram-stage.diagram-missing .airport-diagram-image,
.airport-diagram-stage.diagram-missing .airport-diagram-overlay { display: none; }
.airport-diagram-stage.diagram-missing .airport-diagram-fallback { display: grid; }
.airport-diagram-stage.diagram-missing .airport-diagram-missing { display: block; }
.analyzer-components-table { padding: 0 0.85rem 0.5rem; }
.analyzer-component-row { display: grid; grid-template-columns: 0.65fr 0.5fr 1.2fr 0.8fr 1.2fr; gap: 0.15rem 0.35rem; padding: 0.4rem 0; border-bottom: 1px solid var(--border-soft); font-size: 0.65rem; align-items: center; }
.analyzer-component-row:last-child { border-bottom: none; }
.analyzer-component-row.header { font-weight: 800; color: var(--dim); text-transform: uppercase; letter-spacing: 0.04em; font-size: 0.55rem; border-bottom: 2px solid var(--border); padding-bottom: 0.45rem; }
.analyzer-component-row.best { background: rgba(59, 216, 137, 0.1); border-radius: 4px; padding: 0.4rem 0.35rem; margin: 0 -0.35rem; }
.badge { display: inline-block; padding: 0.08rem 0.3rem; border-radius: 3px; font-size: 0.58rem; font-weight: 900; margin-right: 0.25rem; }
.hw-positive .badge { background: rgba(59, 216, 137, 0.2); color: var(--green); border: 1px solid rgba(59, 216, 137, 0.3); }
.hw-negative .badge { background: rgba(255, 95, 113, 0.2); color: var(--red); border: 1px solid rgba(255, 95, 113, 0.3); }
.hw-positive { color: var(--green); font-weight: 700; }
.hw-negative { color: var(--red); font-weight: 700; }
.cw-low { color: var(--muted); }
.cw-moderate { color: #f8b83c; font-weight: 700; }
.cw-high { color: var(--red); font-weight: 800; }
.rec-active { color: #a7f5cf; font-weight: 800; font-size: 0.6rem; letter-spacing: 0.02em; }
.rec-separator { color: var(--dim); font-size: 0.58rem; }
.rec-approach { color: var(--muted); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.01em; }
.rec-ots { color: #fbbf24; font-weight: 800; font-size: 0.6rem; letter-spacing: 0.01em; }
.rec-closed { color: var(--red); font-weight: 900; font-size: 0.6rem; letter-spacing: 0.02em; }
.rec-best { color: var(--green); font-weight: 900; font-size: 0.6rem; letter-spacing: 0.02em; }
.runway-status-badges { display: inline-grid; gap: 2px; min-width: 0; }
.runway-status-primary, .runway-status-advisories { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; min-width: 0; }
.runway-status-advisories { color: #fbbf24; }
.analyzer-disclaimer { padding: 0 0.85rem 0.65rem; margin: 0 !important; color: var(--dim); font-size: 0.58rem; font-style: italic; }

/* Future runway highlighting classes (SVG uses inline styles, these are for CSS-driven overlays) */
/* .runway-best, .runway-closed, .runway-notam 鈥?reserved for future use */

.site-footer { border-top: 1px solid var(--border-soft); background: rgba(2, 12, 21, 0.6); }
.footer-inner { padding-block: 0.8rem; text-align: center; }
.footer-inner p { margin: 0; color: var(--muted); font-size: 0.66rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (max-width: 1180px) {
  .nas-grid { grid-template-columns: repeat(3, 1fr); }
  .airport-bar { grid-template-columns: 1fr; }
  .airport-details { border-top: 1px solid var(--border-soft); border-left: 0; padding-top: 0.65rem; padding-left: 0; }
  .operations-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wind-analyzer-card { grid-column: 1 / -1; min-height: auto !important; }
  .pro-brief-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pro-entry-mode { grid-column: 1 / -1; }
  .pro-brief-actions { grid-column: 1 / -1; }
  .pro-comparison-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pro-route-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pro-brief-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pro-attention-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pro-etops-layout { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .header-inner, .header-actions, .airport-details { align-items: flex-start; }
  .header-inner { flex-direction: column; padding-block: 0.7rem; }
  .product-nav { width: 100%; }
  .product-nav-link { flex: 1; }
  .airport-details { grid-template-columns: 1fr; padding-block: 0.7rem; }
  .weather-grid, .operations-grid { grid-template-columns: 1fr; }
  .wind-analyzer-card { grid-column: auto; }
  .operations-grid > .dashboard-card { min-height: auto; }
  .airport-context { text-align: left; grid-column: auto; }
  .panel-heading, .nas-heading-actions { align-items: flex-start; flex-direction: column; }
  .nas-heading-actions { gap: 0.35rem; }
  .pro-section-heading { align-items: flex-start; flex-direction: column; }
  .pro-section-heading p { text-align: left; }
  .pro-brief-form, .pro-airport-pair-grid, .pro-brief-lower-grid, .pro-comparison-strip, .pro-route-overview, .pro-brief-header, .pro-brief-summary-grid, .pro-route-hero, .pro-attention-strip, .pro-route-meta, .pro-flight-result, .pro-etops-facts, .pro-oceanic-summary, .pro-oceanic-card-grid, .pro-route-detail-grid, .pro-inbound-grid, .pro-route-flow, .pro-notam-summary-grid { grid-template-columns: 1fr; }
  .pro-workspace-heading { align-items: flex-start; flex-direction: column; }
  .pro-arrival-metering-card { grid-template-columns: 1fr; }
  .pro-arrival-metering-facts { grid-column: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pro-arrival-metering-card small { grid-column: 1; }
  .tbfm-modal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pro-route-endpoint.right { text-align: left; }
  .pro-operation-options { grid-template-columns: 1fr; }
  .pro-route-hero { min-height: auto; }
  .pro-route-flow article { grid-template-columns: 1fr; gap: 0.15rem; }
  .pro-route-flow article em { display: none; }
  .pro-route-flow-arrow { display: none; }
  .pro-etops-map, .pro-oceanic-map { min-height: 220px; }
}

@media (max-width: 620px) {
  .pro-operation-option { min-height: 0; padding: 0.75rem; }
  .pro-operation-option-facts { grid-template-columns: 1fr; }
  .tbfm-modal-grid { grid-template-columns: 1fr; }
  .container { width: min(100% - 0.8rem, 1500px); }
  .header-actions { width: 100%; justify-content: space-between; }
  .refresh-label-full { display: none; }
  .refresh-label-short { display: inline; }
  .nas-grid { grid-template-columns: 1fr; }
  .airport-selector-group { grid-template-columns: 1fr; }
  .airport-combobox { width: 100%; }
  .airport-combo-dropdown { left: 0; right: auto; width: 100%; }
  .airport-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }
  .airport-facts div { min-width: 0; }
  .airport-context { flex-direction: column; align-items: flex-start; gap: 0.55rem; }
  .airport-time-grid { justify-content: start; }
  .analysis-card .card-heading { align-items: flex-start; flex-direction: column; }
  .notam-brief-actions { width: 100%; justify-content: flex-start; }
  .notam-brief-button { flex: 1 1 auto; }
  .pro-airport-facts { grid-template-columns: 1fr; }
  .pro-fact-grid { grid-template-columns: 1fr; }
  .pro-checklist label { grid-template-columns: 1fr; }
  .analyzer-component-row { grid-template-columns: 1fr; }
  .analyzer-component-row.best { margin: 0; padding: 0.35rem 0.3rem; }
}

/* Pro active brief: one visual hierarchy around the route, not a card wall. */
.pro-page { gap: 1.25rem; padding-block: 1.25rem 2.5rem; }
.pro-landing { position: relative; min-height: 260px; display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(280px, 0.42fr); align-items: center; overflow: hidden; padding: clamp(1.6rem, 4vw, 3.5rem); border-color: rgba(118, 190, 244, 0.2); background: radial-gradient(circle at 78% 36%, rgba(26, 117, 186, 0.33), transparent 17rem), linear-gradient(112deg, #071a2a, #04111d 67%); }
.pro-landing[hidden] { display: none; }
.pro-landing h2 { max-width: 650px; font-family: Outfit, sans-serif; font-size: clamp(2.65rem, 6vw, 5.8rem); letter-spacing: -0.055em; }
.pro-landing-copy { position: relative; z-index: 1; }
.pro-landing-orbit { position: relative; width: min(34vw, 390px); aspect-ratio: 1; justify-self: end; border: 1px solid rgba(139, 210, 255, 0.28); border-radius: 50%; box-shadow: inset 0 0 85px rgba(47, 139, 212, 0.23), 0 0 95px rgba(41, 139, 219, 0.12); }
.pro-landing-orbit::before, .pro-landing-orbit::after { content: ''; position: absolute; border: 1px dashed rgba(139, 210, 255, 0.24); border-radius: 50%; }
.pro-landing-orbit::before { inset: 12%; } .pro-landing-orbit::after { inset: -13%; }
.pro-landing-orbit span { position: absolute; top: 17%; left: -2%; width: 12px; height: 12px; border-radius: 50%; background: #f8b83c; box-shadow: 0 0 22px #f8b83c; }
.pro-landing-orbit i { position: absolute; right: 14%; bottom: 13%; width: 8px; height: 8px; border-radius: 50%; background: #8bd2ff; box-shadow: 0 0 20px #8bd2ff; }
.pro-landing-orbit b { position: absolute; top: 48%; left: 44%; width: 20px; height: 2px; background: #f1f7fb; transform: rotate(-18deg); box-shadow: 0 0 14px #fff; }
.pro-lookup-section { padding: 1.15rem; border-radius: 14px; background: rgba(7, 25, 40, 0.86); }
.pro-lookup-section .pro-section-heading { align-items: center; }.pro-lookup-section .pro-kicker { margin-bottom: 0.15rem; }
.pro-lookup-section .pro-section-heading p { text-align: left; }.pro-lookup-section .pro-section-heading h3 { font-family: Outfit, sans-serif; font-size: 1.25rem; }
.pro-lookup-tabs { width: fit-content; }.pro-lookup-tab { flex: none; min-width: 145px; }.pro-lookup-tab.active { color: #eaf6ff; background: rgba(46, 140, 214, 0.76); }
.pro-lookup-row { display: grid; grid-template-columns: minmax(180px, 1.4fr) minmax(150px, 0.7fr) auto; }.pro-lookup-row .button { min-width: 155px; }
.pro-recent-briefs { display: grid; gap: 0.4rem; margin-top: 0.85rem; padding-top: 0.85rem; border-top: 1px solid rgba(139, 210, 255, 0.1); }.pro-recent-briefs > span { color: var(--dim); font-size: 0.58rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }.pro-recent-briefs > div { display: flex; flex-wrap: wrap; gap: 0.35rem; }.pro-recent-briefs button { padding: 0.35rem 0.55rem; color: #b8d9ed; border: 1px solid rgba(139, 210, 255, 0.17); border-radius: 99px; background: rgba(2, 14, 25, 0.32); cursor: pointer; font-size: 0.61rem; }.pro-recent-briefs button:hover { color: #eaf6ff; border-color: rgba(139, 210, 255, 0.48); }
.pro-active-topbar { display: flex; align-items: center; gap: 0.65rem; color: var(--muted); font-size: 0.65rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }.pro-active-topbar strong { color: #eaf6ff; font-size: 0.75rem; }.pro-active-topbar strong i { color: #f8b83c; font-style: normal; }.pro-active-topbar .button { margin-left: auto; min-height: 31px; padding: 0.35rem 0.65rem; font-size: 0.62rem; }
.pro-active-hero { display: grid; gap: 0.75rem; }.pro-active-hero .pro-route-hero { min-height: 280px; }.pro-active-hero .pro-inbound-panel { padding: 0.8rem 1rem; border-radius: 12px; background: rgba(7, 25, 40, 0.76); }.pro-active-hero .pro-inbound-panel .pro-workspace-heading { margin-bottom: 0.5rem; }
.pro-route-hero { border-radius: 18px; }.pro-route-endpoint h3 { font-family: Outfit, sans-serif; font-size: clamp(2rem, 4vw, 4rem); }.pro-route-meta { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pro-brief-grid { display: grid; grid-template-columns: minmax(230px, 0.68fr) minmax(480px, 1.65fr) minmax(230px, 0.68fr); gap: 0.8rem; align-items: start; }
.pro-brief-column, .pro-brief-center { display: grid; gap: 0.8rem; min-width: 0; }.pro-airport-card { border-radius: 14px; overflow: hidden; padding: 0; background: rgba(7, 25, 40, 0.88); }.pro-airport-card-heading { padding: 1rem 1rem 0.75rem; }.pro-airport-card-heading h4 { font-family: Outfit, sans-serif; font-size: 1.55rem; }
.pro-airport-weather { width: calc(100% - 1.2rem); margin: 0 0.6rem 0.6rem; display: grid; gap: 0.16rem; padding: 0.65rem; color: #eaf6ff; text-align: left; border: 1px solid rgba(139, 210, 255, 0.16); border-radius: 9px; background: rgba(2, 14, 25, 0.46); cursor: pointer; }.pro-airport-weather:hover { border-color: rgba(139, 210, 255, 0.5); }.pro-airport-weather span, .pro-airport-module span { color: #9fc9e4; font-size: 0.58rem; font-weight: 900; letter-spacing: 0.06em; text-transform: uppercase; }.pro-airport-weather em { float: right; color: var(--dim); font-style: normal; font-weight: 600; letter-spacing: 0; text-transform: none; }.pro-airport-weather strong { font-size: 0.7rem; }.pro-airport-weather small { color: var(--muted); font-size: 0.59rem; }
.pro-airport-module { padding: 0.75rem 0.9rem; border-top: 1px solid rgba(139, 210, 255, 0.1); }.pro-airport-module div { display: flex; justify-content: space-between; gap: 0.5rem; }.pro-airport-module strong { color: #dcebf8; font-size: 0.64rem; text-align: right; }.pro-airport-notams strong { color: #ffbec6; }.pro-airport-module p { margin: 0.4rem 0 0; color: var(--muted); font-size: 0.62rem; line-height: 1.45; }.pro-airport-module ul { display: grid; gap: 0.35rem; margin: 0.55rem 0; padding: 0; list-style: none; }.pro-airport-module li { color: #dcebf8; font-size: 0.62rem; line-height: 1.4; }.pro-airport-module li::before { content: '•'; margin-right: 0.35rem; color: #ff7b8b; }.pro-airport-module button { margin-top: 0.5rem; padding: 0; color: #8bd2ff; border: 0; background: transparent; cursor: pointer; font-size: 0.62rem; font-weight: 800; }
.pro-flight-map-panel, .pro-route-overview-panel, .pro-route-coverage { padding: 1rem; border-radius: 14px; border: 1px solid rgba(139, 210, 255, 0.12); background: rgba(7, 25, 40, 0.82); }.pro-flight-map { min-height: 430px; }.pro-route-overview-panel { padding: 0.9rem 1rem; }.pro-route-overview-panel .pro-filed-route-block { margin-top: 0.65rem; }.pro-route-detail-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pro-route-coverage { display: grid; gap: 0.65rem; }.pro-radius-control { display: flex; align-items: center; gap: 0.35rem; }.pro-radius-control span { color: var(--dim); font-size: 0.62rem; font-weight: 800; text-transform: uppercase; }.pro-radius-control button { min-width: 42px; padding: 0.28rem 0.4rem; color: #b7cddd; border: 1px solid rgba(139, 210, 255, 0.17); border-radius: 5px; background: transparent; cursor: pointer; font-size: 0.62rem; }.pro-radius-control button.active { color: #06141e; background: #8bd2ff; }.pro-radius-control em { color: var(--dim); font-size: 0.6rem; font-style: normal; }.pro-coverage-visual { position: relative; min-height: 135px; overflow: hidden; border-radius: 9px; background: radial-gradient(ellipse at center, rgba(37, 117, 178, 0.19), transparent 62%), #04121f; }.pro-coverage-visual::before, .pro-coverage-visual::after { content: ''; position: absolute; left: 50%; top: 52%; border: 1px dashed rgba(139, 210, 255, 0.45); border-radius: 50%; transform: translate(-50%, -50%); }.pro-coverage-visual::before { width: 22%; aspect-ratio: 1; }.pro-coverage-visual::after { width: 54%; aspect-ratio: 1; border-color: rgba(248, 184, 60, 0.42); }.pro-coverage-visual[data-pro-coverage-radius="120"]::after { width: 40%; }.pro-coverage-visual[data-pro-coverage-radius="240"]::after { width: 74%; }.pro-coverage-visual span { position: absolute; bottom: 14px; color: #dcebf8; font-size: 0.62rem; font-weight: 800; }.pro-coverage-visual span:first-of-type { left: 8%; }.pro-coverage-visual span:last-of-type { right: 8%; }.pro-coverage-empty { margin: 0; color: var(--muted); font-size: 0.62rem; line-height: 1.45; }
.pro-arrival-metering-card { grid-template-columns: 1fr; border-radius: 12px; }.pro-arrival-metering-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }.pro-arrival-metering-card small { line-height: 1.45; }.pro-brief-support { margin-top: 0.35rem; }
.pro-detail-overlay { position: fixed; inset: 0; z-index: 2100; display: grid; place-items: center; padding: 1rem; background: rgba(0, 7, 14, 0.74); backdrop-filter: blur(5px); }.pro-detail-modal { width: min(980px, 100%); max-height: 86vh; overflow: auto; padding: 1rem; border: 1px solid rgba(139, 210, 255, 0.2); border-radius: 16px; background: #071b2d; box-shadow: 0 36px 94px rgba(0, 0, 0, 0.48); }.pro-weather-modal-grid { display: grid; gap: 0.65rem; margin-top: 0.85rem; }.pro-weather-modal-grid article { min-width: 0; padding: 0.75rem; border: 1px solid rgba(139, 210, 255, 0.12); border-radius: 9px; background: rgba(2, 14, 25, 0.38); }.pro-weather-modal-grid span { color: #8bd2ff; font-size: 0.6rem; font-weight: 900; text-transform: uppercase; }.pro-weather-modal-grid pre { margin: 0.45rem 0 0; white-space: pre-wrap; overflow-wrap: anywhere; color: #dcebf8; font: 0.7rem/1.55 Manrope, sans-serif; }
@media (max-width: 1180px) { .pro-brief-grid { grid-template-columns: minmax(210px, 0.72fr) minmax(0, 1.4fr); }.arrival-column { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }.pro-landing { grid-template-columns: 1fr 280px; } }
@media (max-width: 820px) { .pro-landing { grid-template-columns: 1fr; min-height: 220px; }.pro-landing-orbit { display: none; }.pro-lookup-row { grid-template-columns: 1fr 1fr; }.pro-lookup-row .button { grid-column: 1 / -1; }.pro-brief-grid, .arrival-column { grid-template-columns: 1fr; }.arrival-column { grid-column: auto; }.pro-flight-map { min-height: 330px; }.pro-route-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .pro-page { padding-top: 0.7rem; }.pro-landing { padding: 1.25rem; }.pro-landing h2 { font-size: 2.7rem; }.pro-lookup-section { padding: 0.8rem; }.pro-lookup-tabs { width: 100%; }.pro-lookup-tab { flex: 1; min-width: 0; }.pro-lookup-row { grid-template-columns: 1fr; }.pro-lookup-row .button { grid-column: auto; }.pro-active-topbar { flex-wrap: wrap; }.pro-active-topbar .button { margin-left: 0; }.pro-route-meta { grid-template-columns: 1fr; }.pro-flight-map { min-height: 270px; }.pro-route-detail-grid { grid-template-columns: 1fr; } }

/* PilotCB Pro active briefing reconstruction. Dashboard styles above remain unchanged. */
.material-symbols-rounded {
  font-family: "Material Symbols Rounded";
  font-weight: normal;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

.brand-lockup {
  padding: 0;
  color: inherit;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.pro-nav-only,
.pro-header-search,
.pro-header-icon,
.pro-profile { display: none; }

body.is-pro-page {
  --pro-ink: #f4f6f9;
  --pro-muted: #929baa;
  --pro-dim: #667486;
  --pro-gold: #e8b452;
  --pro-blue: #6fb5ff;
  --pro-surface: rgba(9, 20, 32, 0.9);
  --pro-surface-raised: rgba(17, 31, 45, 0.88);
  --pro-line: rgba(137, 166, 194, 0.2);
  background: #020b14;
}

.site-header h1 em.pro-em { display: none; }
body.is-pro-page .site-header h1 em.pro-em { display: inline; }

body.is-pro-page .site-header .container { width: calc(100% - clamp(2rem, 5vw, 4rem)); max-width: none; }
body.is-pro-page .brand-lockup { flex: 0 0 auto; }
body.is-pro-page .site-header h1 { color: #f2f3f5; font: 740 clamp(0.9rem, 0.8vw, 1.1rem)/1.2 Inter, Manrope, "Segoe UI", sans-serif; letter-spacing: 0.085em; }
body.is-pro-page .site-header h1 em { color: #c1c7d2; }
body.is-pro-page .product-nav-link[aria-disabled="true"] { opacity: 0.82; cursor: not-allowed; }
body.is-pro-page .pro-nav-only { display: inline-flex; align-items: center; }
body.is-pro-page .header-actions { flex: 0 0 auto; justify-content: flex-end; gap: 0.75rem; }
body.is-pro-page .header-actions > p,
body.is-pro-page #refresh-all { display: none; }
body.is-pro-page .pro-header-search {
  width: 210px;
  height: 34px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0 0.7rem;
  color: #7f8997;
  border: 1px solid rgba(139, 161, 183, 0.16);
  border-radius: 8px;
  background: rgba(4, 12, 21, 0.72);
  cursor: pointer;
  font-size: 0.64rem;
  text-align: left;
}
body.is-pro-page .pro-header-search:hover { color: #d7dee6; border-color: rgba(232, 180, 82, 0.38); }
body.is-pro-page .pro-header-search .material-symbols-rounded { font-size: 1.05rem; }
body.is-pro-page .pro-header-icon,
body.is-pro-page .pro-profile {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #a8b1bd;
  border: 1px solid rgba(139, 161, 183, 0.17);
  border-radius: 50%;
  background: rgba(9, 21, 33, 0.72);
}
body.is-pro-page .pro-header-icon { padding: 0; border-radius: 7px; cursor: not-allowed; }
body.is-pro-page .pro-header-icon .material-symbols-rounded,
body.is-pro-page .pro-profile .material-symbols-rounded { font-size: 1.12rem; }

body.is-pro-page .pro-page {
  width: 100%;
  max-width: none;
  gap: 0.55rem;
  padding: 0.85rem 1rem 1.4rem;
}
body.is-pro-page .pro-page.pro-active { gap: 0.45rem; padding: 0; }
body.is-pro-page .pro-page.pro-active .pro-lookup-section,
body.is-pro-page .pro-page.pro-active .pro-search-results { display: none; }
body.is-pro-page .pro-brief-workspace { gap: 0.45rem; padding: 0; }

body.is-pro-page .pro-route-hero {
  position: relative;
  height: 286px;
  min-height: 286px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  isolation: isolate;
  background: #020a13;
  box-shadow: inset 0 -1px 0 rgba(126, 163, 196, 0.14);
}
body.is-pro-page .pro-earth-visual {
  position: absolute;
  z-index: -2;
  inset: 0;
  background-image: url("assets/pro-earth-night.webp");
  background-position: center 33%;
  background-size: cover;
  filter: saturate(0.78) brightness(0.74) contrast(1.08);
  transform: scale(1.015);
}
body.is-pro-page .pro-route-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(1, 7, 14, 0.65), transparent 30%, transparent 70%, rgba(1, 7, 14, 0.68)),
    linear-gradient(180deg, rgba(1, 8, 16, 0.22), transparent 38%, rgba(1, 7, 13, 0.55));
  pointer-events: none;
}
body.is-pro-page .pro-route-heading { position: absolute; z-index: 4; top: 20px; left: 28px; }
body.is-pro-page .pro-route-heading h2 {
  margin: 0;
  color: #f4f2ed;
  font: 600 2.72rem/0.96 "Barlow Condensed", sans-serif;
  letter-spacing: 0.035em;
}
body.is-pro-page .pro-route-heading h2 span { margin: 0 0.26rem; color: #82baff; font-weight: 400; text-shadow: 0 0 14px rgba(94, 157, 255, 0.52); }
body.is-pro-page .pro-route-heading p { margin: 0.45rem 0 0; color: #adb5c1; font-size: 0.72rem; }
body.is-pro-page .pro-route-badges { display: flex; gap: 0.38rem; margin-top: 0.52rem; }
body.is-pro-page .pro-route-badges span { padding: 0.18rem 0.46rem; color: #e8bc67; border: 1px solid rgba(232, 180, 82, 0.56); border-radius: 4px; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }

body.is-pro-page .pro-hero-weather-card {
  position: absolute;
  z-index: 5;
  top: 135px;
  width: 150px;
  min-height: 122px;
  display: grid;
  gap: 0.16rem;
  padding: 0.7rem 0.8rem;
  color: #dce3eb;
  border: 1px solid rgba(133, 164, 191, 0.28);
  border-radius: 10px;
  background: linear-gradient(145deg, rgba(15, 29, 43, 0.94), rgba(7, 18, 30, 0.9));
  box-shadow: 0 14px 36px rgba(0, 4, 10, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.025);
  cursor: pointer;
  text-align: left;
  backdrop-filter: blur(8px);
}
body.is-pro-page .pro-hero-weather-card.departure { left: 16px; }
body.is-pro-page .pro-hero-weather-card.arrival { right: 16px; }
body.is-pro-page .pro-hero-weather-card:hover { border-color: rgba(232, 180, 82, 0.52); transform: translateY(-1px); }
body.is-pro-page .pro-hero-weather-card > strong { color: #f3f5f7; font: 600 1.28rem/1 "Barlow Condensed", sans-serif; letter-spacing: 0.04em; }
body.is-pro-page .pro-hero-weather-card > span { overflow: hidden; color: #aeb8c4; font-size: 0.64rem; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-hero-weather-card > em { color: #808c9b; font-size: 0.61rem; font-style: normal; }
body.is-pro-page .pro-hero-weather-card div { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; margin-top: 0.35rem; padding-top: 0.36rem; border-top: 1px solid rgba(130, 157, 183, 0.2); }
body.is-pro-page .pro-hero-weather-card div b { padding: 0.11rem 0.3rem; color: #b9c5d2; border-radius: 99px; background: rgba(120, 145, 170, 0.16); font-size: 0.6rem; }
body.is-pro-page .pro-hero-weather-card div b.vfr { color: #7fe4a9; background: rgba(29, 139, 80, 0.24); }
body.is-pro-page .pro-hero-weather-card div b.mvfr { color: #8fc5ff; background: rgba(43, 113, 185, 0.22); }
body.is-pro-page .pro-hero-weather-card div b.ifr,
body.is-pro-page .pro-hero-weather-card div b.lifr { color: #ff9ea9; background: rgba(157, 43, 56, 0.24); }
body.is-pro-page .pro-hero-weather-card div span { color: #dce3ea; font-size: 0.64rem; }
body.is-pro-page .pro-hero-weather-card small { color: #a4aebb; font-size: 0.61rem; }
body.is-pro-page .pro-hero-weather-card small i { margin-left: 0.38rem; color: #788697; font-style: normal; }

body.is-pro-page .pro-route-arc { position: absolute; z-index: 1; top: 26px; right: 9%; left: 9%; height: 160px; pointer-events: none; }
body.is-pro-page .pro-route-arc svg { width: 100%; height: 100%; overflow: visible; }
body.is-pro-page .pro-route-line { fill: none; stroke: var(--pro-gold); stroke-width: 2.1; stroke-dasharray: none; vector-effect: non-scaling-stroke; }
body.is-pro-page .pro-route-origin,
body.is-pro-page .pro-route-destination { fill: #315b92; stroke: #f1f5fa; stroke-width: 3; vector-effect: non-scaling-stroke; }
body.is-pro-page .pro-route-aircraft { fill: #f5f7f9; font-size: 30px; filter: drop-shadow(0 0 8px rgba(129, 190, 255, 0.8)); }

body.is-pro-page .pro-flight-summary {
  position: absolute;
  z-index: 6;
  right: 25%;
  bottom: 69px;
  left: 25%;
  min-height: 58px;
  display: flex;
  align-items: stretch;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(134, 163, 190, 0.25);
  border-radius: 10px;
  background: rgba(5, 15, 25, 0.9);
  box-shadow: 0 18px 44px rgba(0, 3, 8, 0.38);
  backdrop-filter: blur(12px);
}
body.is-pro-page .pro-flight-summary > div { min-width: 0; flex: 1 1 0; display: flex; align-items: center; justify-content: center; gap: 0.45rem; padding: 0.62rem 0.75rem; border-left: 1px solid rgba(126, 153, 179, 0.18); }
body.is-pro-page .pro-flight-summary > div:first-child { border-left: 0; }
body.is-pro-page .pro-flight-summary .material-symbols-rounded { flex: 0 0 auto; color: #b6c0cb; font-size: 1.25rem; }
body.is-pro-page .pro-flight-summary p { min-width: 0; margin: 0; }
body.is-pro-page .pro-flight-summary small { display: block; color: #7f8b9b; font-size: 0.58rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; }
body.is-pro-page .pro-flight-summary strong { display: block; overflow: hidden; margin-top: 0.14rem; color: #eef1f5; font-size: 0.76rem; text-overflow: ellipsis; white-space: nowrap; }

body.is-pro-page .pro-route-hero .pro-inbound-panel {
  position: absolute;
  z-index: 7;
  right: 22%;
  bottom: 8px;
  left: 22%;
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 0.72rem;
  padding: 0.46rem 0.75rem;
  border: 1px solid rgba(134, 163, 190, 0.21);
  border-radius: 9px;
  background: rgba(7, 18, 29, 0.9);
  box-shadow: 0 12px 30px rgba(0, 3, 8, 0.3);
  backdrop-filter: blur(10px);
}
body.is-pro-page .pro-inbound-panel > .material-symbols-rounded { color: #8e9baa; font-size: 1.2rem; }
body.is-pro-page .pro-inbound-panel > strong { color: #8995a3; font-size: 0.61rem; letter-spacing: 0.05em; text-transform: uppercase; }
body.is-pro-page .pro-inbound-panel p { min-width: 0; margin: 0; padding-left: 0.72rem; border-left: 1px solid rgba(125, 152, 178, 0.18); }
body.is-pro-page .pro-inbound-panel small { display: block; color: #738092; font-size: 0.58rem; text-transform: uppercase; }
body.is-pro-page .pro-inbound-panel b { display: block; overflow: hidden; max-width: 135px; margin-top: 0.1rem; color: #e3e8ee; font-size: 0.62rem; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-inbound-panel .pro-inbound-empty { flex: 1; color: #98a4b2; border-left: 1px solid rgba(125, 152, 178, 0.18); font-size: 0.61rem; }

body.is-pro-page .pro-brief-grid {
  display: grid;
  grid-template-areas: "departure center arrival";
  grid-template-columns: minmax(230px, 1fr) minmax(520px, 3fr) minmax(230px, 1fr);
  gap: 0.45rem;
  align-items: stretch;
  min-height: 576px;
}
body.is-pro-page .departure-column { grid-area: departure; }
body.is-pro-page .pro-brief-center { grid-area: center; }
body.is-pro-page .arrival-column { grid-area: arrival; }
body.is-pro-page .pro-brief-column,
body.is-pro-page .pro-brief-center { min-width: 0; display: block; }
body.is-pro-page .pro-airport-card,
body.is-pro-page .pro-flight-map-panel {
  height: 576px;
  border: 1px solid rgba(128, 157, 184, 0.17);
  border-radius: 11px;
  background: linear-gradient(150deg, rgba(13, 28, 42, 0.96), rgba(7, 19, 31, 0.96));
  box-shadow: 0 16px 38px rgba(0, 4, 10, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.02);
}
body.is-pro-page .pro-airport-card { display: grid; grid-template-rows: 51px minmax(150px, 1.25fr) minmax(115px, 0.95fr) minmax(145px, 1.08fr); overflow: hidden; }
body.is-pro-page .pro-airport-card-heading { padding: 0.58rem 0.8rem; border-bottom: 1px solid rgba(128, 157, 184, 0.14); }
body.is-pro-page .pro-airport-card-heading span { display: block; color: #aab4c0; font: 600 0.64rem/1 "Barlow Condensed", sans-serif; letter-spacing: 0.04em; text-transform: uppercase; }
body.is-pro-page .pro-airport-card-heading h4 { float: right; margin: -0.63rem 0 0; color: #e8edf3; font: 600 1rem/1 "Barlow Condensed", sans-serif; }
body.is-pro-page .pro-airport-card-heading p { overflow: hidden; margin: 0.24rem 2.8rem 0 0; color: #718092; font-size: 0.6rem; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-airport-module { min-height: 0; overflow: hidden; padding: 0.72rem 0.78rem; border-top: 0; border-bottom: 1px solid rgba(128, 157, 184, 0.13); }
body.is-pro-page .pro-airport-module:last-child { border-bottom: 0; }
body.is-pro-page .pro-airport-module header { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.38rem; }
body.is-pro-page .pro-airport-module header .material-symbols-rounded { color: var(--pro-blue); font-size: 1rem; }
body.is-pro-page .pro-airport-notams header .material-symbols-rounded { color: #ff6f7f; }
body.is-pro-page .pro-airport-module header b { color: #dbe2ea; font: 600 0.72rem/1 "Barlow Condensed", sans-serif; letter-spacing: 0.035em; text-transform: uppercase; }
body.is-pro-page .pro-airport-module header strong { color: #8f9baa; font-size: 0.58rem; letter-spacing: 0.03em; text-transform: uppercase; }
body.is-pro-page .pro-airport-notams header strong { color: #ff9ba7; }
body.is-pro-page .pro-flow-module .pro-flow-header { grid-template-columns: auto minmax(0, 1fr) auto; min-width: 0; }
body.is-pro-page .pro-flow-module .pro-flow-header b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-flow-title-source { color: inherit; font: inherit; letter-spacing: inherit; white-space: nowrap; }
body.is-pro-page .pro-flow-module .pro-edct-header { grid-column: 3; justify-self: end; min-width: 0; color: #8f9baa; font: 700 0.62rem/1 "Barlow Condensed", sans-serif; letter-spacing: 0.045em; text-transform: uppercase; white-space: nowrap; }
body.is-pro-page .pro-flow-module .pro-edct-header.assigned { color: #e8b452; }
body.is-pro-page .pro-flow-module .pro-edct-header.unavailable { color: #8f9baa; }
body.is-pro-page .pro-airport-module ul { display: grid; gap: 0.38rem; margin: 0.65rem 0 0; padding: 0; list-style: none; }
body.is-pro-page .pro-airport-module li { display: -webkit-box; overflow: hidden; color: #aeb9c6; font-size: 0.63rem; line-height: 1.42; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
body.is-pro-page .pro-airport-module li::before { content: "!"; display: inline-grid; place-items: center; width: 0.75rem; height: 0.75rem; margin-right: 0.35rem; color: #ff7786; border: 1px solid #ff7786; border-radius: 50%; font-size: 0.58rem; font-weight: 800; }
body.is-pro-page .pro-airport-module .pro-open-dashboard { display: flex; justify-content: space-between; width: 100%; margin-top: 0.65rem; padding-top: 0.52rem; color: #8ebcff; border-top: 1px solid rgba(128, 157, 184, 0.14); font-size: 0.62rem; }
body.is-pro-page .pro-amm-empty { height: calc(100% - 1.2rem); display: grid; place-items: center; align-content: center; gap: 0.25rem; margin-top: 0.42rem; border: 1px dashed rgba(130, 156, 181, 0.18); border-radius: 7px; background: rgba(2, 11, 20, 0.28); }
body.is-pro-page .pro-amm-empty .material-symbols-rounded { color: #5e7084; font-size: 1.45rem; }
body.is-pro-page .pro-amm-empty p,
body.is-pro-page .pro-flow-empty { margin: 0.3rem 0 0; color: #738194; font-size: 0.61rem; text-align: center; }
body.is-pro-page .pro-airport-flow-slot { display: block; margin-top: 0.45rem; }
body.is-pro-page .pro-airport-flow { width: 100%; display: grid; gap: 0.38rem; padding: 0.5rem; color: #aab5c1; border: 1px solid rgba(128, 157, 184, 0.16); border-radius: 7px; background: rgba(2, 12, 21, 0.32); cursor: pointer; text-align: left; }
body.is-pro-page .pro-airport-flow-status { color: #71d8aa; font-size: 0.56rem; font-weight: 800; letter-spacing: 0.05em; }
body.is-pro-page .pro-airport-flow.stale .pro-airport-flow-status { color: #e5b95c; }
body.is-pro-page .pro-airport-flow.unavailable .pro-airport-flow-status { color: #e9919b; }
body.is-pro-page .pro-airport-flow-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.28rem; }
body.is-pro-page .pro-airport-flow-metrics > span { min-width: 0; padding: 0.3rem 0.24rem; border-radius: 5px; background: rgba(25, 53, 75, 0.26); text-align: center; }
body.is-pro-page .pro-airport-flow-metrics b { display: block; color: #e4eef6; font-size: 0.78rem; line-height: 1; }
body.is-pro-page .pro-airport-flow-metrics small { display: block; margin-top: 0.2rem; color: #718da2; font-size: 0.6rem; font-weight: 800; letter-spacing: 0.02em; }
body.is-pro-page .pro-airport-flow-source { color: #728195; font-size: 0.54rem; line-height: 1.3; }

body.is-pro-page .pro-flight-map-panel { display: grid; grid-template-rows: 39px minmax(0, 1fr) 46px; padding: 0.45rem; overflow: hidden; }
body.is-pro-page .pro-map-heading { display: flex; align-items: center; justify-content: space-between; padding: 0 0.35rem; }
body.is-pro-page .pro-map-heading h3 { margin: 0; color: #e7ebef; font: 600 0.8rem/1 "Barlow Condensed", sans-serif; letter-spacing: 0.035em; text-transform: uppercase; }
body.is-pro-page .pro-map-heading p { margin: 0; color: #75859a; font-size: 0.61rem; }
body.is-pro-page .pro-map-stage { position: relative; min-height: 0; overflow: hidden; border: 1px solid rgba(138, 163, 188, 0.19); border-radius: 8px; background: #07121d; }
body.is-pro-page .pro-flight-map { width: 100%; height: 100%; min-height: 0; background: #07121d; }
body.is-pro-page .pro-flight-map .leaflet-tile { filter: saturate(0.72) brightness(0.64) contrast(1.08); }
body.is-pro-page .pro-flight-map .leaflet-container { background: #07121d; }
body.is-pro-page .pro-flight-map.has-tile-errors { background: #07121d; }
body.is-pro-page .pro-flight-map .leaflet-control-container { display: block; }
body.is-pro-page .pro-flight-map .leaflet-control-zoom { margin: 8px; border: 1px solid rgba(147, 180, 210, 0.46); border-radius: 5px; box-shadow: 0 3px 12px rgba(0, 0, 0, 0.32); }
body.is-pro-page .pro-flight-map .leaflet-top.leaflet-left { top: 50%; transform: translateY(-50%); }
body.is-pro-page .pro-flight-map .leaflet-top.leaflet-left .leaflet-control { margin-top: 0; margin-left: 8px; }
body.is-pro-page .pro-flight-map .leaflet-control-zoom a { width: 24px; height: 24px; color: #dce8f2; border-bottom-color: rgba(147, 180, 210, 0.28); background: rgba(4, 14, 24, 0.88); font: 600 17px/22px Arial, sans-serif; }
body.is-pro-page .pro-flight-map .leaflet-control-zoom a:hover { color: #ffffff; background: rgba(28, 74, 112, 0.94); }
body.is-pro-page .pro-flight-map .leaflet-control-zoom-expand { display: grid; place-items: center; }
body.is-pro-page .pro-flight-map .leaflet-control-zoom-expand.is-expanded { color: #ffffff; background: rgba(28, 74, 112, 0.94); }
body.is-pro-page .pro-map-expand-glyph {
  width: 13px;
  height: 13px;
  display: block;
  background:
    linear-gradient(currentColor, currentColor) left top / 5px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) left top / 1.5px 5px no-repeat,
    linear-gradient(currentColor, currentColor) right top / 5px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) right top / 1.5px 5px no-repeat,
    linear-gradient(currentColor, currentColor) left bottom / 5px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) left bottom / 1.5px 5px no-repeat,
    linear-gradient(currentColor, currentColor) right bottom / 5px 1.5px no-repeat,
    linear-gradient(currentColor, currentColor) right bottom / 1.5px 5px no-repeat;
  transition: opacity 140ms ease;
}
body.is-pro-page .pro-map-collapse-glyph { display: none; font-size: 17px; line-height: 1; }
body.is-pro-page .leaflet-control-zoom-expand.is-expanded .pro-map-expand-glyph { display: none; }
body.is-pro-page .leaflet-control-zoom-expand.is-expanded .pro-map-collapse-glyph { display: block; }
body.is-pro-page .pro-flight-map .leaflet-control-zoom-recenter { width: 24px; height: 24px; display: grid; place-items: center; padding: 0; color: #dce8f2; border: 0; border-top: 1px solid rgba(147, 180, 210, 0.28); background: rgba(4, 14, 24, 0.88); cursor: pointer; }
body.is-pro-page .pro-flight-map .leaflet-control-zoom-recenter:hover,
body.is-pro-page .pro-flight-map .leaflet-control-zoom-recenter:focus-visible { color: #ffffff; background: rgba(28, 74, 112, 0.94); outline: none; }
body.is-pro-page .pro-flight-map .leaflet-control-zoom-recenter:disabled { color: #536271; background: rgba(4, 14, 24, 0.62); cursor: not-allowed; }
body.is-pro-page .pro-flight-map .leaflet-control-zoom-recenter .material-symbols-rounded { font-size: 17px; line-height: 1; }
body.is-pro-page .pro-flight-map .leaflet-tooltip.pro-waypoint-label,
body.is-pro-page .pro-flight-map .leaflet-tooltip.pro-waypoint-terminal-label { margin-bottom: 0; padding: 1px 4px; color: #f6d889; border: 1px solid rgba(242, 198, 109, 0.65); border-radius: 3px; background: rgba(3, 12, 21, 0.86); box-shadow: none; font: 700 10px/1.15 "Barlow Condensed", sans-serif; letter-spacing: 0; pointer-events: none; }
body.is-pro-page .pro-flight-map .leaflet-tooltip.pro-waypoint-label:before,
body.is-pro-page .pro-flight-map .leaflet-tooltip.pro-waypoint-terminal-label:before { display: none; }
body.is-pro-page .pro-flight-map .leaflet-tooltip.pro-waypoint-terminal-label { color: #e8f5ff; border-color: rgba(133, 191, 241, 0.72); }
body.is-pro-page .pro-map-source-state { position: absolute; z-index: 500; top: 8px; right: 8px; margin: 0; padding: 0.22rem 0.4rem; color: #8c9aac; border: 1px solid rgba(130, 156, 181, 0.18); border-radius: 4px; background: rgba(3, 12, 21, 0.76); font-size: 0.58rem; pointer-events: none; }
body.is-pro-page .pro-map-live-facts { position: absolute; z-index: 500; top: 8px; left: 8px; display: flex; gap: 0.3rem; }
body.is-pro-page .pro-map-live-facts span { min-width: 64px; padding: 0.28rem 0.4rem; border: 1px solid rgba(130, 156, 181, 0.18); border-radius: 5px; background: rgba(3, 12, 21, 0.8); }
body.is-pro-page .pro-map-live-facts small { display: block; color: #718095; font-size: 0.58rem; text-transform: uppercase; }
body.is-pro-page .pro-map-live-facts strong { display: block; margin-top: 0.08rem; color: #d9e1e9; font-size: 0.52rem; }
body.is-pro-page .pro-map-toolbar { position: absolute; z-index: 500; right: 10px; bottom: 9px; left: 10px; display: flex; align-items: center; justify-content: center; gap: 0.18rem; padding: 0.28rem; border: 1px solid rgba(132, 159, 185, 0.2); border-radius: 7px; background: rgba(4, 14, 24, 0.88); backdrop-filter: blur(8px); }
body.is-pro-page .pro-map-toolbar button { min-height: 30px; display: inline-flex; align-items: center; gap: 0.25rem; padding: 0 0.42rem; color: #8491a1; border: 0; border-radius: 4px; background: transparent; font-size: 0.59rem; cursor: pointer; }
body.is-pro-page .pro-map-toolbar button.active { color: #e6ebf0; background: rgba(39, 94, 146, 0.5); }
body.is-pro-page .pro-map-toolbar button:disabled { opacity: 0.46; cursor: not-allowed; }
body.is-pro-page .pro-map-toolbar .material-symbols-rounded { font-size: 0.95rem; }
body.is-pro-page .pro-waypoint-control { display: inline-flex; align-items: center; gap: 0.12rem; padding-left: 0.25rem; border-left: 1px solid rgba(132, 159, 185, 0.22); }
body.is-pro-page .pro-waypoint-control small { padding: 0 0.2rem; color: #8a9aab; font-size: 0.54rem; font-weight: 700; text-transform: uppercase; }
body.is-pro-page .pro-waypoint-control button { min-width: 0; padding: 0 0.34rem; font-size: 0.54rem; }
body.is-pro-page .pro-waypoint-popup { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0.18rem 0.45rem; margin: 0; font-size: 0.72rem; }
body.is-pro-page .pro-waypoint-popup dt { color: #6d7d90; }
body.is-pro-page .pro-waypoint-popup dd { margin: 0; color: #dce5ee; }
body.is-pro-page .pro-map-route-strip { min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; align-items: center; gap: 0.55rem; padding: 0.42rem 0.4rem 0; }
body.is-pro-page .pro-map-route-strip span { color: #718094; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; }
body.is-pro-page .pro-map-route-strip strong { overflow: hidden; color: #b6c2ce; font: 500 0.64rem/1.2 "Barlow Condensed", sans-serif; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-map-route-strip em { min-width: 0; overflow: hidden; color: #d3dae1; font-size: 0.61rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-map-route-strip button { padding: 0.26rem 0.45rem; color: #8bd2ff; border: 1px solid rgba(139, 210, 255, 0.2); border-radius: 5px; background: rgba(8, 30, 48, 0.68); cursor: pointer; font-size: 0.58rem; font-weight: 800; white-space: nowrap; }
body.is-pro-page .pro-map-route-strip button:hover, body.is-pro-page .pro-map-route-strip button:focus-visible { border-color: rgba(139, 210, 255, 0.6); color: #eaf6ff; outline: none; }
body.is-pro-page .pro-route-details-content { display: grid; gap: 0.65rem; margin-top: 0.85rem; color: #b7c6d5; font-size: 0.74rem; line-height: 1.45; }
body.is-pro-page .pro-route-details-content p { margin: 0; }
body.is-pro-page .pro-route-section-heading { display: grid; min-width: 0; gap: 0.08rem; }
body.is-pro-page .pro-route-section-heading small { color: #8fa1b3; font-size: 0.67rem; font-style: italic; font-weight: 400; line-height: 1.35; overflow-wrap: anywhere; }
body.is-pro-page .pro-route-section-heading .pro-route-easter-egg-latest { color: #d98f98; }
body.is-pro-page .pro-route-section-heading .pro-route-easter-egg-active { color: var(--pro-gold); }
body.is-pro-page .pro-route-section-heading .pro-route-easter-egg-initial { color: #b2a0d4; }
html[data-theme="day"] body.is-pro-page .pro-route-section-heading .pro-route-easter-egg-latest { color: #974d58; }
html[data-theme="day"] body.is-pro-page .pro-route-section-heading .pro-route-easter-egg-active { color: #805500; }
html[data-theme="day"] body.is-pro-page .pro-route-section-heading .pro-route-easter-egg-initial { color: #66518a; }
body.is-pro-page .pro-route-diagnostics { display: grid; gap: 0.45rem; margin: 0; padding: 0; list-style: none; }
body.is-pro-page .pro-route-diagnostics li { display: grid; gap: 0.12rem; padding: 0.55rem 0.65rem; border: 1px solid rgba(139, 210, 255, 0.12); border-radius: 7px; background: rgba(2, 14, 25, 0.38); }
body.is-pro-page .pro-route-diagnostics b { color: #dcebf8; }
body.is-pro-page .pro-route-diagnostics span { color: #8fa1b3; }
body.is-pro-page .pro-side-tabs { display: none; }
body.is-pro-page .pro-brief-footer { display: flex; justify-content: center; gap: 0.65rem; min-height: 27px; padding: 0.42rem; color: #748194; font-size: 0.61rem; text-align: center; }
body.is-pro-page .pro-brief-footer span { color: #566477; }
body.is-pro-page .site-footer { display: none; }

body.is-pro-page button:focus-visible,
body.is-pro-page a:focus-visible,
body.is-pro-page input:focus-visible,
body.is-pro-page select:focus-visible { outline: 2px solid #e8b452; outline-offset: 2px; }

@media (max-width: 1180px) {
  body.is-pro-page .pro-nav-only { display: inline-flex; align-items: center; }
  body.is-pro-page .brand-lockup { flex-basis: 190px; }
  body.is-pro-page .header-actions { flex-basis: 300px; }
  body.is-pro-page .pro-flight-summary { right: 20%; left: 20%; }
  body.is-pro-page .pro-route-hero .pro-inbound-panel { right: 16%; left: 16%; }
  body.is-pro-page .pro-brief-grid { grid-template-areas: "center center" "departure arrival"; grid-template-columns: 1fr 1fr; }
  body.is-pro-page .pro-flight-map-panel { height: 520px; }
  body.is-pro-page .pro-airport-card { height: 500px; }
  body.is-pro-page .pro-brief-grid { min-height: 0; }
}

@media (max-width: 820px) {
  body.is-pro-page .site-header { height: auto; }
  body.is-pro-page .header-inner { min-height: 53px; flex-direction: row; align-items: center; padding: 0; }
  body.is-pro-page .brand-lockup { flex: 0 0 auto; }
  body.is-pro-page .product-nav { width: auto; margin-left: auto; }
  body.is-pro-page .product-nav-link { min-height: 53px; padding-inline: 0.45rem; }
  body.is-pro-page .header-actions { flex: 0 0 auto; width: auto; }
  body.is-pro-page .pro-header-search { width: 34px; padding: 0; justify-content: center; }
  body.is-pro-page .pro-header-search > span:last-child,
  body.is-pro-page .pro-header-icon { display: none; }
  body.is-pro-page .pro-route-hero { height: 300px; min-height: 300px; }
  body.is-pro-page .pro-route-heading h2 { font-size: 2.15rem; }
  body.is-pro-page .pro-hero-weather-card { top: 152px; width: 144px; min-height: 116px; }
  body.is-pro-page .pro-flight-summary { right: 19%; bottom: 66px; left: 19%; min-height: 52px; }
  body.is-pro-page .pro-flight-summary > div { padding-inline: 0.45rem; }
  body.is-pro-page .pro-flight-summary > div:nth-child(n+4) { display: none; }
  body.is-pro-page .pro-route-hero .pro-inbound-panel { right: 16%; left: 16%; min-height: 44px; }
  body.is-pro-page .pro-inbound-panel p:not(.pro-inbound-empty):nth-of-type(n+3) { display: none; }
  body.is-pro-page .pro-map-toolbar { overflow-x: auto; justify-content: flex-start; }
}

@media (max-width: 620px) {
  body.is-pro-page .site-header .container { width: calc(100% - 18px); }
  body.is-pro-page .site-header h1 { font-size: 0.82rem; }
  body.is-pro-page .brand-icon { font-size: 1.25rem; }
  body.is-pro-page .product-nav-link:not(.active) { display: none; }
  body.is-pro-page .pro-profile { display: none; }
  body.is-pro-page .pro-page.pro-active { padding-top: 0; }
  body.is-pro-page .pro-route-hero { height: 334px; min-height: 334px; }
  body.is-pro-page .pro-earth-visual { background-position: center 30%; }
  body.is-pro-page .pro-route-heading { top: 16px; left: 16px; }
  body.is-pro-page .pro-route-heading h2 { font-size: 1.85rem; }
  body.is-pro-page .pro-route-heading p { max-width: 240px; font-size: 0.6rem; }
  body.is-pro-page .pro-route-arc { top: 38px; right: -12%; left: -12%; height: 132px; }
  body.is-pro-page .pro-hero-weather-card { top: 196px; width: calc(50% - 14px); min-height: 120px; padding: 0.58rem 0.62rem; }
  body.is-pro-page .pro-hero-weather-card.departure { left: 8px; }
  body.is-pro-page .pro-hero-weather-card.arrival { right: 8px; }
  body.is-pro-page .pro-flight-summary { right: 8px; bottom: 142px; left: 8px; min-height: 48px; }
  body.is-pro-page .pro-flight-summary > div { gap: 0.28rem; padding: 0.4rem 0.35rem; }
  body.is-pro-page .pro-flight-summary > div:nth-child(n+3) { display: none; }
  body.is-pro-page .pro-flight-summary .material-symbols-rounded { font-size: 1rem; }
  body.is-pro-page .pro-flight-summary strong { font-size: 0.6rem; }
  body.is-pro-page .pro-route-hero .pro-inbound-panel { right: 8px; bottom: 136px; left: auto; width: 47%; min-height: 48px; display: none; }
  body.is-pro-page .pro-brief-grid { grid-template-areas: "center" "tabs" "departure"; grid-template-columns: 1fr; padding: 0 0.35rem; }
  body.is-pro-page .pro-brief-center { grid-area: center; }
  body.is-pro-page .pro-side-tabs { grid-area: tabs; display: grid; grid-template-columns: 1fr 1fr; gap: 0.2rem; padding: 0.2rem; border: 1px solid rgba(128, 157, 184, 0.17); border-radius: 8px; background: rgba(7, 18, 30, 0.92); }
  body.is-pro-page .pro-side-tabs button { min-height: 38px; color: #8795a5; border: 0; border-radius: 6px; background: transparent; font-size: 0.62rem; font-weight: 700; }
  body.is-pro-page .pro-side-tabs button.active { color: #07111d; background: #e8b452; }
  body.is-pro-page .departure-column { grid-area: departure; }
  body.is-pro-page .arrival-column { grid-area: departure; display: none; }
  body.is-pro-page .pro-page.show-arrival .departure-column { display: none; }
  body.is-pro-page .pro-page.show-arrival .arrival-column { display: block; }
  body.is-pro-page .pro-flight-map-panel { height: 430px; }
  body.is-pro-page .pro-airport-card { height: 480px; }
  body.is-pro-page .pro-map-heading p { display: none; }
  body.is-pro-page .pro-map-toolbar { right: 6px; bottom: 6px; left: 6px; }
  body.is-pro-page .pro-map-toolbar button { min-width: 42px; justify-content: center; font-size: 0; }
  body.is-pro-page .pro-map-toolbar .material-symbols-rounded { font-size: 1rem; }
  body.is-pro-page .pro-map-route-strip strong { font-size: 0.52rem; }
  body.is-pro-page .pro-brief-footer { display: block; padding-inline: 1rem; line-height: 1.5; }
  body.is-pro-page .pro-brief-footer span { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  body.is-pro-page *,
  body.is-pro-page *::before,
  body.is-pro-page *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Pro Active Brief visual refinement */
body.is-pro-page .pro-active-hero {
  gap: 6px;
  padding: 8px 0 0;
}
body.is-pro-page .pro-route-hero {
  height: clamp(208px, calc((100vw - 24px) / 7.5), 253px);
  min-height: clamp(208px, calc((100vw - 24px) / 7.5), 253px);
  overflow: hidden;
  border: 1px solid rgba(112, 148, 187, 0.18);
  border-radius: 12px;
  background: #020711;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025), 0 16px 44px rgba(0, 4, 12, 0.3);
}
body.is-pro-page .pro-route-hero::before { content: none; }
body.is-pro-page .pro-earth-globe {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  filter: none;
}
body.is-pro-page .pro-earth-image { filter: saturate(0.8) brightness(0.86) contrast(1.16); }
body.is-pro-page .pro-earth-rim { fill: none; stroke: #62adff; stroke-width: 1.05; opacity: 1; vector-effect: non-scaling-stroke; }
body.is-pro-page .pro-route-hero::after {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(1, 5, 12, 0.38), transparent 22%, transparent 78%, rgba(1, 5, 12, 0.38)),
    linear-gradient(180deg, rgba(1, 5, 12, 0.01), transparent 58%, rgba(1, 5, 12, 0.24));
}
body.is-pro-page .pro-flight-identity {
  position: absolute;
  z-index: 5;
  top: 17px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 14px;
  color: #dfe6ef;
  text-shadow: 0 3px 16px rgba(0, 3, 9, 0.9);
}
body.is-pro-page .pro-flight-identity > strong {
  font-size: clamp(1.05rem, 0.42vw, 1.35rem);
  font-weight: 750;
  letter-spacing: 0.015em;
}
body.is-pro-page .pro-flight-identity > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0.28rem 0.68rem;
  color: #9bdb9a;
  border: 1px solid rgba(110, 185, 108, 0.18);
  border-radius: 6px;
  background: rgba(36, 86, 56, 0.24);
  font-size: clamp(0.68rem, 0.25vw, 0.82rem);
  font-weight: 700;
}
body.is-pro-page .pro-flight-identity > span i { width: 7px; height: 7px; border-radius: 50%; background: #8fd891; box-shadow: 0 0 8px rgba(119, 213, 123, 0.48); }

body.is-pro-page .pro-hero-weather-card {
  position: absolute;
  z-index: 5;
  top: 23%;
  width: 184px;
  min-height: 146px;
  display: grid;
  gap: 0.28rem;
  padding: 0.52rem 0.62rem 0.48rem;
  color: #f3f5f8;
  border: 1px solid rgba(130, 165, 199, 0.34);
  border-radius: 10px;
  background: linear-gradient(150deg, rgba(12, 28, 44, 0.9), rgba(4, 15, 27, 0.92));
  box-shadow: 0 18px 42px rgba(0, 3, 9, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.035);
  cursor: pointer;
  text-align: left;
  backdrop-filter: blur(10px);
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
body.is-pro-page .pro-hero-weather-card.departure { left: 20px; }
body.is-pro-page .pro-hero-weather-card.arrival { right: 20px; }
body.is-pro-page .pro-hero-weather-card:hover { border-color: rgba(119, 181, 241, 0.7); box-shadow: 0 18px 42px rgba(0, 3, 9, 0.42), 0 0 22px rgba(73, 148, 224, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.04); transform: translateY(-1px); }
body.is-pro-page .pro-hero-weather-card:focus-visible { outline: 2px solid #80baff; outline-offset: 3px; border-color: rgba(128, 186, 255, 0.9); }
body.is-pro-page .pro-hero-weather-heading { min-width: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 0.42rem; align-items: start; }
body.is-pro-page .pro-weather-icon { margin-top: 0.08rem; color: #aab9c9; font-size: 1.18rem; filter: drop-shadow(0 0 6px rgba(107, 170, 235, 0.2)); }
body.is-pro-page .pro-hero-weather-identity { min-width: 0; display: block; }
body.is-pro-page .pro-hero-weather-identity > strong { display: block; color: #f5f7fa; font: 550 2.1rem/0.9 "Barlow Condensed", sans-serif; letter-spacing: 0.045em; }
body.is-pro-page .pro-hero-weather-identity > span,
body.is-pro-page .pro-hero-weather-identity > em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-hero-weather-identity > span { margin-top: 0.22rem; color: #c1c9d2; font-size: 0.56rem; font-weight: 650; }
body.is-pro-page .pro-hero-weather-identity > em { margin-top: 0.1rem; color: #7f8c9c; font-size: 0.5rem; font-style: normal; }
body.is-pro-page .pro-hero-weather-primary { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; padding-top: 0.24rem; border-top: 1px solid rgba(132, 163, 193, 0.18); }
body.is-pro-page .pro-hero-weather-primary > b { padding: 0.14rem 0.34rem; color: #b8c4d0; border-radius: 99px; background: rgba(112, 137, 164, 0.18); font-size: 0.56rem; letter-spacing: 0.025em; }
body.is-pro-page .pro-hero-weather-primary > b.vfr { color: #7fe4a9; background: rgba(29, 139, 80, 0.24); }
body.is-pro-page .pro-hero-weather-primary > b.mvfr { color: #8fc5ff; background: rgba(43, 113, 185, 0.24); }
body.is-pro-page .pro-hero-weather-primary > b.ifr,
body.is-pro-page .pro-hero-weather-primary > b.lifr { color: #ff9eaa; background: rgba(157, 43, 56, 0.24); }
body.is-pro-page .pro-hero-weather-primary > span { overflow: hidden; color: #e0e6ed; font-size: 0.58rem; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-hero-weather-facts { display: grid; gap: 0.12rem; }
body.is-pro-page .pro-hero-weather-facts > span { min-width: 0; display: flex; align-items: center; gap: 0.33rem; overflow: hidden; color: #aeb9c5; font-size: 0.55rem; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-hero-weather-facts .material-symbols-rounded { flex: 0 0 auto; color: #7f9dba; font-size: 0.82rem; }
body.is-pro-page .pro-hero-weather-itws { display: grid; gap: 0.08rem; padding-top: 0.18rem; border-top: 1px solid rgba(101, 213, 232, 0.25); color: #d9f5f7; font-size: 0.58rem; font-weight: 700; line-height: 1.25; }
body.is-pro-page .pro-hero-weather-itws > span { color: #74cfdc; font-size: 0.48rem; letter-spacing: 0.045em; }
body.is-pro-page .pro-hero-weather-affordance { display: flex; align-items: center; justify-content: space-between; gap: 0.35rem; margin-top: auto; padding-top: 0.24rem; border-top: 1px solid rgba(132, 163, 193, 0.16); }
body.is-pro-page .pro-hero-weather-affordance > span { color: #7892ad; font-size: 0.5rem; font-weight: 700; letter-spacing: 0.035em; }
body.is-pro-page .pro-hero-weather-affordance > strong { display: inline-flex; align-items: center; gap: 0.18rem; color: #9bcbfb; font-size: 0.55rem; white-space: nowrap; }
body.is-pro-page .pro-hero-weather-affordance .material-symbols-rounded { font-size: 0.72rem; }

body.is-pro-page .pro-route-arc { z-index: 2; inset: 0; height: 100%; }
body.is-pro-page .pro-route-arc .pro-route-geometry { position: absolute; inset: 0; display: block; width: 100%; height: 100%; margin: 0; overflow: hidden; }
body.is-pro-page .pro-route-line { fill: none; stroke: url(#proRouteGradient); stroke-width: 1.55; stroke-linecap: round; vector-effect: non-scaling-stroke; mix-blend-mode: screen; }
body.is-pro-page .pro-route-origin,
body.is-pro-page .pro-route-destination { fill: #fbfeff; stroke: #59b4ff; stroke-width: 1.6; vector-effect: non-scaling-stroke; }
body.is-pro-page .pro-route-arc .pro-route-aircraft { position: absolute; z-index: 3; top: 17.5%; left: 50%; display: block; width: clamp(38px, 2.4vw, 46px); height: auto; margin: 0; overflow: visible; transform: translate(-50%, -50%); filter: drop-shadow(0 0 1px rgba(255, 255, 255, 1)) drop-shadow(0 0 3px rgba(190, 232, 255, 0.98)) drop-shadow(0 0 6px rgba(42, 136, 255, 0.84)); }
body.is-pro-page .pro-route-aircraft-body { fill: #fbfdff; }
body.is-pro-page .pro-route-aircraft-engine { fill: #ffffff; }
body.is-pro-page .pro-mobile-route-visual { display: none; }

body.is-pro-page .pro-flight-summary {
  right: auto;
  bottom: 10px;
  left: 50%;
  width: max-content;
  max-width: min(680px, calc(100% - 440px));
  min-height: 42px;
  transform: translateX(-50%);
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: linear-gradient(90deg, transparent, rgba(3, 12, 23, 0.38) 12%, rgba(3, 12, 23, 0.38) 88%, transparent);
  box-shadow: none;
  backdrop-filter: none;
}

/* Compact airport weather tabs: keep the Hero readable without widening the card. */
body.is-pro-page .pro-hero-weather-card {
  box-sizing: border-box;
  top: 24%;
  width: 184px;
  height: 132px;
  min-height: 132px;
  grid-template-rows: minmax(0, 1fr) auto auto auto;
  gap: 0.14rem;
  padding: 0.42rem 0.56rem 0.36rem;
  text-align: left;
}
body.is-pro-page .pro-hero-weather-card.departure { left: 20px; }
body.is-pro-page .pro-hero-weather-card.arrival { right: 20px; }
body.is-pro-page .pro-hero-weather-heading { grid-template-columns: 16px minmax(0, 1fr); gap: 0.28rem; align-items: center; }
body.is-pro-page .pro-weather-icon { margin-top: 0; color: #8fa6bc; font-size: 0.86rem; }
body.is-pro-page .pro-hero-weather-identity { min-width: 0; text-align: left; }
body.is-pro-page .pro-hero-weather-role { display: block; color: #82baff; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.1em; }
body.is-pro-page .pro-hero-weather-identity > strong { display: block; color: #f2f5f8; font: 600 1.65rem/0.86 "Barlow Condensed", sans-serif; letter-spacing: 0.045em; }
body.is-pro-page .pro-hero-weather-identity > span { margin-top: 0.16rem; color: #c2ccd6; font-size: 0.6rem; }
body.is-pro-page .pro-hero-weather-identity > em { margin-top: 0.04rem; color: #8291a0; font-size: 0.58rem; }
body.is-pro-page .pro-hero-weather-primary { min-width: 0; justify-content: space-between; gap: 0.25rem; padding-top: 0.18rem; }
body.is-pro-page .pro-hero-weather-primary > b { padding: 0.1rem 0.26rem; font-size: 0.6rem; }
body.is-pro-page .pro-hero-weather-primary > span { font-size: 0.6rem; }
body.is-pro-page .pro-hero-weather-facts { grid-template-columns: 1fr 1fr; gap: 0.24rem; }
body.is-pro-page .pro-hero-weather-facts > span { gap: 0.18rem; color: #aab8c6; font-size: 0.58rem; }
body.is-pro-page .pro-hero-weather-facts .material-symbols-rounded { font-size: 0.68rem; }
body.is-pro-page .pro-hero-weather-affordance { gap: 0.2rem; padding-top: 0.18rem; }
body.is-pro-page .pro-hero-weather-affordance > span { color: #7892ad; font-size: 0.56rem; }
body.is-pro-page .pro-hero-weather-affordance > strong { font-size: 0.56rem; }

body.is-pro-page .pro-weather-modal-panel { width: min(860px, 100%); max-height: 88vh; }
body.is-pro-page .pro-weather-modal-panel .notam-full-heading { align-items: flex-start; }
body.is-pro-page .pro-weather-modal-panel .notam-full-heading > div { min-width: 0; display: grid; gap: 0.22rem; }
body.is-pro-page .pro-weather-modal-panel .notam-full-heading p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-weather-modal-tabs { display: flex; gap: 0.35rem; margin: 0.85rem 0 0; padding: 0 0.2rem; border-bottom: 1px solid rgba(139, 210, 255, 0.16); }
body.is-pro-page .pro-weather-modal-tabs button { min-height: 36px; padding: 0 0.7rem; color: #8799aa; border: 0; border-bottom: 2px solid transparent; background: transparent; cursor: pointer; font: 700 0.68rem/1 Manrope, sans-serif; }
body.is-pro-page .pro-weather-modal-tabs button.active,
body.is-pro-page .pro-weather-modal-tabs button[aria-selected="true"] { color: #dff2ff; border-bottom-color: #82baff; }
body.is-pro-page .pro-weather-modal-pane { padding-top: 0.8rem; }
body.is-pro-page .pro-weather-report-heading { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; }
body.is-pro-page .pro-weather-report-heading strong,
body.is-pro-page .pro-weather-decoded-heading { color: #82baff; font-size: 0.62rem; letter-spacing: 0.08em; }
body.is-pro-page .pro-weather-report-heading .button { min-height: 30px; padding: 0 0.55rem; font-size: 0.58rem; }
body.is-pro-page .pro-weather-raw { max-height: 130px; overflow: auto; margin: 0.42rem 0 0.8rem; padding: 0.65rem; color: #dcebf8; border: 1px solid rgba(139, 210, 255, 0.14); border-radius: 7px; background: rgba(2, 14, 25, 0.5); font: 0.68rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
body.is-pro-page .pro-weather-decoded { margin-top: 0.42rem; padding: 0.65rem; border: 1px solid rgba(139, 210, 255, 0.12); border-radius: 7px; background: rgba(2, 14, 25, 0.34); }

@media (min-width: 821px) and (max-width: 1180px) {
  body.is-pro-page .pro-hero-weather-card { width: 170px; height: 128px; min-height: 128px; top: 26%; }
  body.is-pro-page .pro-hero-weather-card.departure { left: 14px; }
  body.is-pro-page .pro-hero-weather-card.arrival { right: 14px; }
}

@media (max-width: 820px) {
  body.is-pro-page .pro-hero-weather-card { top: auto; width: 100%; height: 118px; min-height: 118px; padding: 0.38rem 0.48rem 0.32rem; }
  body.is-pro-page .pro-hero-weather-card.departure,
  body.is-pro-page .pro-hero-weather-card.arrival { left: auto; right: auto; }
}

@media (max-width: 620px) {
  body.is-pro-page .pro-hero-weather-card { height: 112px; min-height: 112px; }
  body.is-pro-page .pro-hero-weather-identity > strong { font-size: 1.42rem; }
  body.is-pro-page .pro-hero-weather-identity > span { font-size: 0.58rem; }
  body.is-pro-page .pro-hero-weather-identity > em { display: none; }
  body.is-pro-page .pro-weather-modal-panel { width: 100%; max-height: calc(100vh - 1rem); padding: 0.62rem; }
  body.is-pro-page .pro-weather-modal-panel .notam-full-heading { padding: 0.7rem; }
  body.is-pro-page .pro-weather-modal-panel .notam-full-heading p { max-width: 190px; }
  body.is-pro-page .pro-weather-modal-tabs button { flex: 1 1 0; padding: 0 0.35rem; }
}

/* Final Hero card geometry override after the legacy responsive profiles. */
body.is-pro-page .pro-hero-weather-card {
  top: 24%;
  width: 184px;
  height: 132px;
  min-height: 132px;
  grid-template-rows: minmax(0, 1fr) auto auto auto;
  gap: 0.14rem;
  padding: 0.42rem 0.56rem 0.36rem;
}
body.is-pro-page .pro-hero-weather-card.departure { left: 20px; right: auto; }
body.is-pro-page .pro-hero-weather-card.arrival { right: 20px; left: auto; }
@media (min-width: 821px) and (max-width: 1180px) {
  body.is-pro-page .pro-hero-weather-card { top: 26%; width: 170px; height: 128px; min-height: 128px; }
  body.is-pro-page .pro-hero-weather-card.departure { left: 14px; }
  body.is-pro-page .pro-hero-weather-card.arrival { right: 14px; }
}
@media (max-width: 820px) {
  body.is-pro-page .pro-hero-weather-card { top: auto; width: 100%; height: 118px; min-height: 118px; }
  body.is-pro-page .pro-hero-weather-card.departure,
  body.is-pro-page .pro-hero-weather-card.arrival { left: auto; right: auto; }
}
@media (max-width: 620px) {
  body.is-pro-page .pro-hero-weather-card { height: 112px; min-height: 112px; }
}
body.is-pro-page .pro-flight-summary > div { min-width: 108px; flex: 0 1 auto; justify-content: center; gap: 0.42rem; padding: 0.3rem 0.74rem; }
body.is-pro-page .pro-flight-summary .material-symbols-rounded { color: #9da9b8; font-size: 1rem; }
body.is-pro-page .pro-flight-summary small { color: #7d8999; font-size: 0.49rem; letter-spacing: 0.08em; }
body.is-pro-page .pro-flight-summary strong { color: #eff3f7; font-size: 0.7rem; }

body.is-pro-page .pro-active-hero > .pro-inbound-panel {
  position: relative;
  width: clamp(640px, 56vw, 860px);
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.68rem;
  justify-self: center;
  padding: 0.38rem 0.72rem;
  border-color: rgba(128, 158, 188, 0.18);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(9, 22, 35, 0.88), rgba(4, 15, 25, 0.9));
  box-shadow: 0 12px 30px rgba(0, 3, 8, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.02);
}
body.is-pro-page .pro-inbound-panel > .material-symbols-rounded { color: #99a8b9; font-size: 1.35rem; }
body.is-pro-page .pro-inbound-panel > strong { color: #9aa7b5; }
body.is-pro-page .pro-inbound-panel .pro-inbound-empty { flex: 0 1 auto; display: grid; align-self: stretch; align-content: center; margin: -0.12rem 0; padding-left: 0.9rem; }
body.is-pro-page .pro-inbound-panel .pro-inbound-empty small { color: #657487; font-size: 0.49rem; letter-spacing: 0.07em; }
body.is-pro-page .pro-inbound-panel .pro-inbound-empty b { max-width: none; color: #b9c3ce; font-size: 0.61rem; font-weight: 600; }
body.is-pro-page .pro-inbound-state { margin-left: 0; padding: 0.22rem 0.48rem; color: #8492a2; border: 1px solid rgba(133, 162, 190, 0.18); border-radius: 4px; background: rgba(96, 119, 143, 0.08); font-size: 0.52rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }

body.is-pro-page .pro-brief-grid { gap: 0.52rem; min-height: 688px; }
body.is-pro-page .pro-brief-grid { grid-template-columns: clamp(240px, 20vw, 45.77rem) minmax(520px, 1fr) clamp(240px, 20vw, 45.77rem); }
body.is-pro-page .pro-airport-card,
body.is-pro-page .pro-flight-map-panel {
  height: 688px;
  border-color: rgba(137, 166, 193, 0.22);
  background: linear-gradient(155deg, rgba(13, 29, 44, 0.98), rgba(5, 17, 29, 0.98));
  box-shadow: 0 18px 46px rgba(0, 3, 9, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}
body.is-pro-page .pro-airport-card {
  grid-template-rows: 40px 132px 160px 134px 174px;
  gap: 9px;
  padding: 0 9px 9px;
  align-content: start;
  background:
    radial-gradient(circle at 50% 0, rgba(42, 80, 112, 0.12), transparent 42%),
    linear-gradient(155deg, rgba(11, 27, 42, 0.98), rgba(4, 16, 28, 0.98));
}
body.is-pro-page .pro-airport-card-heading { margin: 0 -9px; padding: 0.43rem 0.82rem; border-bottom-color: rgba(137, 166, 193, 0.16); }
body.is-pro-page .pro-airport-card-heading span { color: #c0c9d3; font-size: 0.62rem; letter-spacing: 0.055em; }
body.is-pro-page .departure-column .pro-airport-card-heading span { color: #f2f4f7; font-weight: 850; }
body.is-pro-page .pro-airport-card-heading h4 { color: #f2f4f7; font-size: 1.04rem; }
body.is-pro-page .pro-airport-card-heading p { color: #8290a0; }
body.is-pro-page .pro-airport-module {
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(134, 163, 190, 0.17);
  border-radius: 8px;
  background: linear-gradient(145deg, rgba(17, 35, 51, 0.72), rgba(7, 21, 34, 0.72));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.018);
}
body.is-pro-page .pro-airport-module:last-child { border-bottom: 1px solid rgba(134, 163, 190, 0.17); }
body.is-pro-page .pro-airport-module header { padding-bottom: 0.36rem; border-bottom: 1px solid rgba(132, 161, 188, 0.12); }
body.is-pro-page .pro-airport-module header b { font-size: 0.78rem; letter-spacing: 0.05em; }
body.is-pro-page .pro-airport-module header strong { font-size: 0.58rem; }
body.is-pro-page .pro-airport-module .pro-open-dashboard { margin-top: 0.42rem; padding-top: 0.36rem; }
body.is-pro-page .pro-queue-module { display: flex; flex-direction: column; }
body.is-pro-page .pro-queue-module header .material-symbols-rounded { color: #a7bbd0; }
body.is-pro-page .pro-queue-empty { margin: 0.45rem 0 0; color: #8798aa; font-size: 0.62rem; line-height: 1.45; }
body.is-pro-page .pro-queue-module .pro-open-queue { flex: 0 0 auto; margin-top: auto; }
body.is-pro-page .pro-queue-leader {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "label flight"
    "meta flight";
  align-items: center;
  column-gap: 0.5rem;
  row-gap: 0.08rem;
  margin-top: 0.38rem;
  padding: 0.32rem 0.48rem;
  border: 1px solid rgba(96, 165, 250, 0.18);
  border-radius: 6px;
  background: rgba(5, 20, 34, 0.42);
}
body.is-pro-page .pro-queue-leader > span { grid-area: label; color: #60a5fa; font-size: 0.5rem; font-weight: 750; text-transform: uppercase; }
body.is-pro-page .pro-queue-leader div {
  grid-area: flight;
  min-width: 0;
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 0.18rem;
  line-height: 1.15;
  text-align: right;
  white-space: nowrap;
}
body.is-pro-page .pro-queue-leader strong { color: #f4f8fc; font-size: 0.72rem; font-weight: 850; }
body.is-pro-page .pro-queue-leader small { color: #91a4b8; font-size: 0.56rem; }
body.is-pro-page .pro-queue-leader em { grid-area: meta; overflow: hidden; color: #7f94a9; font-size: 0.51rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-gate-module { display: flex; flex-direction: column; }
body.is-pro-page .pro-gate-module header .material-symbols-rounded { color: #e8b85a; }
body.is-pro-page .pro-gate-header-status { color: #80c9dc !important; }
body.is-pro-page .pro-gate-assignment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas: "label gate state" "occupant occupant occupant";
  align-items: center;
  gap: 0.08rem 0.38rem;
  margin-top: 0.34rem;
}
body.is-pro-page .pro-gate-assignment-row > span { grid-area: label; color: #77aee6; font-size: 0.55rem; }
body.is-pro-page .pro-gate-assignment-row > strong { grid-area: gate; color: #f4f8fc; font-size: 0.82rem; font-weight: 900; }
body.is-pro-page .pro-gate-assignment-row > em {
  grid-area: state;
  padding: 0.12rem 0.28rem;
  color: #d8c181;
  border: 1px solid rgba(216, 193, 129, 0.25);
  border-radius: 4px;
  background: rgba(112, 85, 27, 0.18);
  font-size: 0.52rem;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
body.is-pro-page .pro-gate-assignment-row > small {
  grid-area: occupant;
  overflow: hidden;
  color: #899aac;
  font-size: 0.57rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.is-pro-page .pro-gate-module[data-gate-availability="occupied"] .pro-gate-assignment-row > em,
body.is-pro-page .pro-gate-module[data-gate-availability="conflict"] .pro-gate-assignment-row > em { color: #ff9aa7; border-color: rgba(255, 105, 125, 0.3); background: rgba(112, 24, 42, 0.2); }
body.is-pro-page .pro-gate-module[data-gate-availability="expected_available"] .pro-gate-assignment-row > em { color: #8ddcb0; border-color: rgba(83, 200, 139, 0.3); background: rgba(25, 105, 68, 0.2); }
body.is-pro-page .pro-gate-candidates-row {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.02rem;
  margin-top: 0.22rem;
}
body.is-pro-page .pro-gate-candidates-row > span { color: #7c91a6; font-size: 0.51rem; }
body.is-pro-page .pro-gate-candidates-row > p { overflow-wrap: anywhere; margin: 0; color: #9eafc0; font-size: 0.56rem; line-height: 1.4; white-space: normal; }
body.is-pro-page .pro-gate-module .pro-open-gates { flex: 0 0 auto; margin-top: auto; }
body.is-pro-page .pro-airport-notams { display: flex; flex-direction: column; }
body.is-pro-page .pro-airport-notams .pro-open-dashboard { margin-top: auto; }
body.is-pro-page .pro-airport-notams ul { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
body.is-pro-page .pro-airport-notams li:nth-child(n + 3) { display: none; }
body.is-pro-page .pro-notam-triage { min-height: 0; display: flex; flex: 1 1 auto; flex-direction: column; gap: 0.24rem; margin-top: 0.3rem; }
body.is-pro-page .pro-notam-triage-counts { display: grid; gap: 0.1rem; }
body.is-pro-page .pro-notam-triage-count { display: grid; grid-template-columns: 0.48rem 1fr auto; align-items: center; gap: 0.28rem; min-height: 0.72rem; color: #aeb9c6; font-size: 0.52rem; letter-spacing: 0.04em; }
body.is-pro-page .pro-notam-triage-count::before,
body.is-pro-page .pro-notam-triage-issue > span { content: ""; display: block; width: 0.42rem; height: 0.42rem; border-radius: 50%; background: #6db8df; }
body.is-pro-page .pro-notam-triage-count.critical::before,
body.is-pro-page .pro-notam-triage-issue.critical > span { background: #ee7182; }
body.is-pro-page .pro-notam-triage-count.important::before,
body.is-pro-page .pro-notam-triage-issue.important > span { background: #e4b85f; }
body.is-pro-page .pro-notam-triage-count strong { color: #dce8f1; font-size: 0.58rem; font-weight: 800; }
body.is-pro-page .pro-notam-triage-count.critical strong { color: #f29aa5; }
body.is-pro-page .pro-notam-triage-count.important strong { color: #e6c77f; }
body.is-pro-page .pro-notam-triage-issues { min-height: 0; display: flex; flex: 1 1 auto; flex-direction: column; gap: 0.16rem; margin-top: 0.1rem; }
body.is-pro-page .pro-notam-triage-label { color: #8999aa; font-size: 0.52rem; font-weight: 800; letter-spacing: 0.09em; }
body.is-pro-page .pro-notam-triage-issues-list { min-height: 0; display: grid; flex: 1 1 auto; align-content: start; gap: 0.16rem; overflow-y: auto; }
body.is-pro-page .pro-notam-triage-issue { display: grid; grid-template-columns: 0.42rem minmax(0, 1fr); align-items: start; gap: 0.3rem; }
body.is-pro-page .pro-notam-triage-issue > span { margin-top: 0.18rem; }
body.is-pro-page .pro-notam-triage-issue p { min-width: 0; margin: 0; color: #b9c5d0; font-size: 0.54rem; line-height: 1.2; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
body.is-pro-page .pro-notam-empty { margin: 0.4rem 0 0; padding: 0.4rem 0.48rem; color: #778698; border: 1px solid rgba(131, 160, 187, 0.12); border-radius: 6px; background: rgba(2, 12, 21, 0.26); font-size: 0.56rem; line-height: 1.34; }
body.is-pro-page .pro-notam-modal-panel {
  width: min(960px, 96vw);
  height: min(90dvh, 900px);
  max-height: min(90dvh, 900px);
  min-height: 0;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  border-color: rgba(123, 174, 216, 0.24);
  background: #071827;
}
body.is-pro-page .pro-notam-modal-panel .notam-full-heading > div { min-width: 0; display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
body.is-pro-page .pro-notam-modal-panel .notam-full-heading p { width: 100%; margin: 0; }
body.is-pro-page .pro-notam-modal-priorities {
  display: flex;
  align-items: center;
  gap: 0.38rem;
  padding: 0.62rem 0.8rem;
  overflow-x: auto;
  border-bottom: 1px solid rgba(123, 174, 216, 0.12);
  background: rgba(4, 18, 31, 0.78);
}
body.is-pro-page .pro-notam-modal-priorities button {
  min-height: 31px;
  padding: 0.3rem 0.58rem;
  color: #8ea4b8;
  border: 1px solid rgba(123, 174, 216, 0.16);
  border-radius: 6px;
  background: rgba(5, 23, 39, 0.72);
  font: 800 0.61rem/1 Manrope, sans-serif;
  white-space: nowrap;
  cursor: pointer;
}
body.is-pro-page .pro-notam-modal-priorities button span { margin-left: 0.28rem; color: #d7e8f6; }
body.is-pro-page .pro-notam-modal-priorities button:hover,
body.is-pro-page .pro-notam-modal-priorities button:focus-visible { color: #d9efff; border-color: rgba(109, 188, 242, 0.42); }
body.is-pro-page .pro-notam-modal-priorities button.active { color: #f4fbff; border-color: rgba(109, 188, 242, 0.5); background: rgba(32, 91, 139, 0.42); }
body.is-pro-page .pro-notam-modal-body { min-height: 0; display: grid; grid-auto-rows: max-content; align-content: start; gap: 0.62rem; padding: 0.72rem 0.8rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
body.is-pro-page .pro-notam-modal-category { border: 1px solid rgba(123, 174, 216, 0.12); border-radius: 8px; background: rgba(3, 16, 28, 0.58); overflow: hidden; }
body.is-pro-page .pro-notam-modal-category > header { display: grid; grid-template-columns: 2.8rem minmax(0, 1fr) auto; align-items: center; gap: 0.48rem; padding: 0.46rem 0.58rem; border-bottom: 1px solid rgba(123, 174, 216, 0.1); background: rgba(12, 38, 58, 0.52); }
body.is-pro-page .pro-notam-modal-category > header > span { color: #8bd2ff; font-size: 0.57rem; font-weight: 900; letter-spacing: 0.04em; }
body.is-pro-page .pro-notam-modal-category > header > strong { color: #e4eff8; font-size: 0.67rem; text-transform: uppercase; }
body.is-pro-page .pro-notam-modal-category > header > em { color: #7f96aa; font-size: 0.6rem; font-style: normal; font-weight: 800; }
body.is-pro-page .pro-notam-modal-category > div { display: grid; }
body.is-pro-page .pro-notam-modal-item { padding: 0.56rem 0.62rem; border-bottom: 1px solid rgba(123, 174, 216, 0.08); border-left: 3px solid #4c9bd5; }
body.is-pro-page .pro-notam-modal-item:last-child { border-bottom: 0; }
body.is-pro-page .pro-notam-modal-item.critical { border-left-color: #ff6f7f; }
body.is-pro-page .pro-notam-modal-item.important { border-left-color: #e8b85a; }
body.is-pro-page .pro-notam-modal-item-heading { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; }
body.is-pro-page .pro-notam-modal-item-heading > div { min-width: 0; display: flex; align-items: center; gap: 0.42rem; }
body.is-pro-page .pro-notam-modal-item-heading strong { overflow: hidden; color: #eef6fc; font-size: 0.66rem; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-notam-modal-item-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 0.38rem; }
body.is-pro-page .pro-notam-modal-item-open { min-height: 25px; padding: 0.22rem 0.42rem; color: #9bd7ff; border: 1px solid rgba(112, 188, 237, 0.3); border-radius: 5px; background: rgba(8, 43, 71, 0.5); font: 800 0.54rem/1 Manrope, sans-serif; letter-spacing: 0.02em; white-space: nowrap; cursor: pointer; }
body.is-pro-page .pro-notam-modal-item-open:hover,
body.is-pro-page .pro-notam-modal-item-open:focus-visible { color: #effaff; border-color: rgba(131, 211, 255, 0.74); background: rgba(25, 86, 128, 0.62); outline: none; }
body.is-pro-page .pro-notam-modal-item-details { min-width: 0; }
body.is-pro-page .pro-notam-modal-summary { margin: 0.35rem 0 0; color: #d3e2ed; font-size: 0.67rem; line-height: 1.45; }
body.is-pro-page .pro-notam-modal-impact { margin: 0.2rem 0 0; color: #9eb7ca; font-size: 0.61rem; line-height: 1.4; }
body.is-pro-page .pro-notam-modal-meta { display: flex; gap: 0.7rem; margin-top: 0.34rem; color: #708da4; font-size: 0.55rem; flex-wrap: wrap; }
body.is-pro-page .pro-notam-modal-meta b { color: #a9c8dc; font-weight: 750; }
body.is-pro-page .pro-notam-modal-item .notam-raw-details { margin-top: 0.35rem; }
body.is-pro-page .pro-notam-modal-item .notam-raw-details summary { color: #7dbce5; font-size: 0.58rem; cursor: pointer; }
body.is-pro-page .pro-notam-modal-item .notam-raw-details pre { max-height: 180px; margin: 0.38rem 0 0; padding: 0.52rem; overflow: auto; color: #a9cadf; border-radius: 5px; background: rgba(1, 10, 18, 0.82); font: 0.59rem/1.5 "Cascadia Mono", Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
body.is-pro-page .pro-amm-empty {
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.38rem;
  border-style: solid;
  background:
    linear-gradient(135deg, transparent 48%, rgba(112, 143, 170, 0.04) 49%, rgba(112, 143, 170, 0.04) 51%, transparent 52%),
    rgba(2, 12, 21, 0.28);
  background-size: 20px 20px;
}
body.is-pro-page .pro-amm-empty .material-symbols-rounded { font-size: 1.25rem; }
body.is-pro-page .pro-amm-empty p { max-width: 130px; margin: 0; text-align: left; line-height: 1.35; }
body.is-pro-page .pro-flow-empty { margin: 0.4rem 0 0; padding: 0.44rem 0.5rem; border: 1px solid rgba(131, 160, 187, 0.13); border-radius: 6px; background: rgba(2, 12, 21, 0.28); text-align: left; line-height: 1.35; }
body.is-pro-page .pro-airport-flow { margin-top: 0.02rem; }

body.is-pro-page .pro-queue-modal-panel {
  width: min(1440px, 96vw);
  max-height: 90dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}
body.is-pro-page .pro-queue-modal-panel .notam-full-heading > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.42rem;
  flex-wrap: wrap;
}
body.is-pro-page .pro-queue-modal-panel .airport-badge { white-space: nowrap; }
body.is-pro-page .pro-queue-modal-body {
  min-height: 0;
  max-height: calc(90dvh - 120px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  touch-action: pan-y;
  padding-right: 0.32rem;
}
body.is-pro-page .pro-queue-main-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 1rem; }
body.is-pro-page .pro-queue-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
body.is-pro-page .pro-queue-columns section, body.is-pro-page .pro-queue-main-grid section { min-width: 0; }
body.is-pro-page .pro-queue-columns h3, body.is-pro-page .pro-queue-main-grid h3 { font-size: 0.8rem; }
body.is-pro-page .pro-queue-columns p, body.is-pro-page .pro-queue-main-grid p, body.is-pro-page .pro-queue-live-basis { font-size: 0.75rem; }
body.is-pro-page .pro-queue-projected-row { padding: 0.6rem 0; border-bottom: 1px solid #334155; font-size: 0.8rem; }
@media (max-width: 900px) {
  body.is-pro-page .pro-queue-main-grid, body.is-pro-page .pro-queue-columns { grid-template-columns: minmax(0, 1fr); }
}
body.is-pro-page .pro-queue-modal-empty {
  min-height: 150px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 0.45rem;
  margin-top: 0.75rem;
  padding: 1rem;
  color: #8798aa;
  border: 1px solid rgba(139, 210, 255, 0.12);
  border-radius: 9px;
  background: rgba(2, 14, 25, 0.38);
  text-align: center;
}
body.is-pro-page .pro-queue-modal-empty .material-symbols-rounded { color: #6f8499; font-size: 1.5rem; }
body.is-pro-page .pro-queue-modal-empty p { margin: 0; font-size: 0.68rem; }
body.is-pro-page .pro-queue-modal-body[data-request-state] .pro-queue-modal-empty {
  color: var(--theme-text-primary);
  border-color: var(--border);
  background: var(--theme-surface-primary);
}
body.is-pro-page .pro-queue-modal-body[data-request-state] .pro-queue-modal-empty p { font-size: 0.875rem; }
body.is-pro-page .pro-queue-modal-body[data-request-state] .pro-queue-modal-empty a { color: inherit; font-weight: 800; }
body.is-pro-page .pro-queue-flight-ident { min-width: 0; }
body.is-pro-page .pro-queue-flight-callsign {
  color: #f3f7fb;
  font-weight: 850;
}
body.is-pro-page .pro-queue-flight-destination {
  color: #94a3b8;
  font-size: 0.7rem;
}
body.is-pro-page .pro-queue-next-row > div:last-child {
  max-width: min(190px, 38vw);
  overflow-wrap: anywhere;
  line-height: 1.35;
}
body.is-pro-page .pro-queue-next-row.has-queue-forecast {
  padding-inline: 0.38rem !important;
  background: rgba(245, 158, 11, 0.045);
  box-shadow: inset 2px 0 0 rgba(245, 158, 11, 0.62);
}
body.is-pro-page .pro-queue-forecast {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.2rem 0.42rem;
  margin-top: 0.18rem;
  line-height: 1.3;
}
body.is-pro-page .pro-queue-forecast strong {
  color: #fbbf24;
  font-size: 0.58rem;
  font-weight: 850;
  letter-spacing: 0;
}
body.is-pro-page .pro-queue-forecast span {
  color: #8fa4b8;
  font-size: 0.58rem;
}
body.is-pro-page .pro-queue-forecast.unknown .queue-release-state { color: #8fa4b8; }
body.is-pro-page .pro-queue-forecast .queue-order-evidence { color: #60a5fa; font-weight: 750; }
body.is-pro-page .pro-queue-forecast .queue-ambiguity-evidence { color: #fbbf24; font-weight: 750; }
body.is-pro-page .pro-queue-next-row .queue-horizon-evidence {
  display: block;
  margin-top: 0.12rem;
  color: #fbbf24;
  font-size: 0.54rem;
  font-weight: 750;
  line-height: 1.25;
}
body.is-pro-page .pro-queue-boundary-note {
  margin: 0.1rem 0 0.35rem;
  color: #fbbf24;
  font-size: 0.56rem;
  line-height: 1.35;
}
body.is-pro-page .pro-queue-forecast.flow_hold strong,
body.is-pro-page .pro-queue-forecast.slot_hold strong,
body.is-pro-page .pro-queue-forecast.procedure_hold strong,
body.is-pro-page .pro-queue-forecast.held strong { color: #f59e0b; }
body.is-pro-page .pro-queue-scheduled { margin-top: 0.75rem; padding-top: 0.65rem; border-top: 1px solid #334155; }
body.is-pro-page .pro-queue-scheduled-heading { color: var(--theme-text-primary); font-size: 0.8rem; font-weight: 700; text-transform: uppercase; }
body.is-pro-page .pro-queue-scheduled > p { margin: 0.15rem 0 0.35rem; color: var(--theme-text-secondary); font-size: 0.75rem; }
body.is-pro-page .pro-queue-scheduled-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 45px;
  padding: 6px 0;
  border-bottom: 1px solid #334155;
  font-size: 0.78rem;
}
body.is-pro-page .pro-queue-scheduled-row > div { min-width: 0; }
body.is-pro-page .pro-queue-scheduled-row b { display: block; color: var(--theme-text-primary); font-weight: 800; }
body.is-pro-page .pro-queue-scheduled-row span { display: block; color: var(--theme-text-secondary); font-size: 0.75rem; }
body.is-pro-page .pro-queue-scheduled-row > div:last-child { text-align: right; }
body.is-pro-page .pro-queue-scheduled-row > div:last-child b { color: var(--theme-text-primary); font-size: 0.7rem; }
body.is-pro-page .pro-queue-load-more {
  width: 100%;
  min-height: 36px;
  margin-top: 0.5rem;
  border: 1px solid rgba(96, 165, 250, 0.3);
  border-radius: 5px;
  background: rgba(30, 64, 105, 0.22);
  color: #93c5fd;
  font: inherit;
  font-size: 0.68rem;
  cursor: pointer;
}
body.is-pro-page .pro-gate-modal-panel {
  width: min(650px, 100%);
  max-height: min(88vh, 720px);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}
body.is-pro-page .pro-gate-modal-panel .notam-full-heading > div:first-child { min-width: 0; display: flex; align-items: center; gap: 0.45rem; flex-wrap: wrap; }
body.is-pro-page .pro-gate-modal-body {
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0.8rem 0.15rem 0.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
body.is-pro-page .pro-gate-assignment-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  grid-template-areas: "label gate state" "message message message";
  align-items: center;
  gap: 0.3rem 0.65rem;
  padding: 0.85rem;
  border: 1px solid rgba(139, 210, 255, 0.17);
  border-radius: 9px;
  background: linear-gradient(145deg, rgba(14, 38, 57, 0.82), rgba(4, 18, 30, 0.82));
}
body.is-pro-page .pro-gate-assignment-detail > span { grid-area: label; color: #8ebcff; font-size: 0.62rem; font-weight: 850; text-transform: uppercase; }
body.is-pro-page .pro-gate-assignment-detail > strong { grid-area: gate; color: #f5f8fb; font: 850 1.35rem/1 "Barlow Condensed", sans-serif; }
body.is-pro-page .pro-gate-assignment-detail > em { grid-area: state; padding: 0.24rem 0.42rem; color: #e8cc83; border: 1px solid rgba(232, 204, 131, 0.25); border-radius: 5px; font-size: 0.56rem; font-style: normal; font-weight: 850; }
body.is-pro-page .pro-gate-assignment-detail > p { grid-area: message; margin: 0; color: #99aabd; font-size: 0.65rem; line-height: 1.45; }
body.is-pro-page .pro-gate-detail-section { margin-top: 0.75rem; padding-top: 0.72rem; border-top: 1px solid rgba(139, 210, 255, 0.13); }
body.is-pro-page .pro-gate-detail-section h4 { margin: 0 0 0.5rem; color: #b9e2fb; font-size: 0.64rem; letter-spacing: 0.05em; text-transform: uppercase; }
body.is-pro-page .pro-gate-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.42rem; }
body.is-pro-page .pro-gate-detail-grid > div { min-width: 0; padding: 0.52rem 0.6rem; border-radius: 7px; background: rgba(2, 14, 25, 0.42); }
body.is-pro-page .pro-gate-detail-grid span { display: block; color: #71869b; font-size: 0.52rem; font-weight: 800; text-transform: uppercase; }
body.is-pro-page .pro-gate-detail-grid strong { display: block; margin-top: 0.16rem; color: #dbe9f5; font-size: 0.66rem; overflow-wrap: anywhere; }
body.is-pro-page .pro-gate-detail-grid .pro-gate-delay strong { color: #ff9aa7; }
body.is-pro-page .pro-gate-coordination-note { margin: 0.55rem 0 0; padding: 0.55rem 0.65rem; color: #f0cf83; border: 1px solid rgba(232, 184, 90, 0.22); border-radius: 7px; background: rgba(96, 65, 18, 0.16); font-size: 0.62rem; line-height: 1.45; }
body.is-pro-page .pro-gate-candidate-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.4rem; align-items: start; }
body.is-pro-page .pro-gate-candidate-list > span { min-width: 0; display: grid; gap: 0.12rem; padding: 0.5rem; border: 1px solid rgba(83, 200, 139, 0.18); border-radius: 7px; background: rgba(15, 82, 56, 0.16); overflow-wrap: anywhere; }
body.is-pro-page .pro-gate-candidate-list small { color: #7890a6; font-size: 0.5rem; line-height: 1.25; }
body.is-pro-page .pro-gate-candidate-list strong { color: #eaf5ee; font-size: 0.76rem; }
body.is-pro-page .pro-gate-candidate-list em { color: #80cfa4; font-size: 0.5rem; font-style: normal; font-weight: 800; }
body.is-pro-page .pro-gate-modal-empty { margin: 0; padding: 0.7rem; color: #8295a8; border: 1px solid rgba(139, 210, 255, 0.12); border-radius: 7px; background: rgba(2, 14, 25, 0.34); font-size: 0.64rem; line-height: 1.48; }
body.is-pro-page .pro-gate-limitations ul { display: grid; gap: 0.28rem; margin: 0; padding-left: 1rem; color: #7f92a4; font-size: 0.61rem; line-height: 1.42; }
body.is-pro-page .pro-amm-module { display: flex; flex-direction: column; }
body.is-pro-page .pro-amm-module header .material-symbols-rounded,
body.is-pro-page .pro-amm-header-status { color: #80c9dc; }
body.is-pro-page .pro-amm-summary {
  min-height: 52px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 0.48rem;
  margin-top: 0.4rem;
  padding: 0.44rem 0.5rem;
  border: 1px solid rgba(117, 175, 191, 0.16);
  border-radius: 6px;
  background: linear-gradient(145deg, rgba(7, 30, 38, 0.62), rgba(4, 17, 27, 0.76));
}
body.is-pro-page .pro-amm-summary .material-symbols-rounded { color: #e8b85a; font-size: 1.1rem; transform: rotate(45deg); }
body.is-pro-page .pro-amm-summary p { margin: 0; color: #8194a6; font-size: 0.57rem; line-height: 1.38; }
body.is-pro-page .pro-amm-module .pro-open-amm { margin-top: auto; }
body.is-pro-page .pro-amm-modal { padding: max(0.55rem, env(safe-area-inset-top)) max(0.55rem, env(safe-area-inset-right)) max(0.55rem, env(safe-area-inset-bottom)) max(0.55rem, env(safe-area-inset-left)); }
body.is-pro-page .pro-amm-modal-panel {
  width: min(1180px, 100%);
  height: min(92dvh, 840px);
  max-height: none;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  padding: 0.75rem;
  border-color: rgba(122, 185, 201, 0.34);
  border-radius: 8px;
  background: #07141e;
}
body.is-pro-page .pro-amm-modal-panel .notam-full-heading { margin: 0; border-radius: 5px 5px 0 0; background: #0b2432; }
body.is-pro-page .pro-amm-modal-panel .notam-full-heading > div:first-child { min-width: 0; display: flex; align-items: center; gap: 0.48rem; }
body.is-pro-page .pro-amm-modal-panel .notam-full-actions { display: flex; gap: 0.42rem; }
body.is-pro-page .pro-amm-modal-panel .notam-full-actions button { min-height: 38px; }
body.is-pro-page .pro-amm-last-known[aria-pressed="true"] { color: #d5f5e5; border-color: rgba(99, 212, 173, 0.7); background: rgba(42, 135, 96, 0.3); }
body.is-pro-page .pro-amm-recenter { display: inline-flex; align-items: center; gap: 0.28rem; }
body.is-pro-page .pro-amm-recenter .material-symbols-rounded { font-size: 1rem; }
body.is-pro-page .pro-amm-live-strip {
  min-height: 34px;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0 0.7rem;
  color: #879aa9;
  border-top: 1px solid rgba(121, 182, 198, 0.14);
  border-bottom: 1px solid rgba(121, 182, 198, 0.2);
  background: #081b27;
  font-size: 0.6rem;
}
body.is-pro-page .pro-amm-live-strip span:first-child { color: #63d4ad; font-weight: 800; }
body.is-pro-page .pro-amm-live-strip span:last-child { margin-left: auto; color: #75b6c9; text-transform: uppercase; }
body.is-pro-page .pro-amm-map-stage { position: relative; min-height: 0; overflow: hidden; background: #101a1d; }
body.is-pro-page .pro-amm-map { width: 100%; height: 100%; min-height: 420px; background: #101a1d; }
body.is-pro-page .pro-amm-map .leaflet-tile { filter: grayscale(0.78) saturate(0.5) brightness(0.48) contrast(1.3) sepia(0.06) hue-rotate(144deg); }
body.is-pro-page .pro-amm-map .leaflet-container { background: #101a1d; }
body.is-pro-page .pro-amm-map .leaflet-control-zoom { border: 1px solid rgba(132, 191, 205, 0.38); border-radius: 4px; box-shadow: 0 5px 16px rgba(0, 0, 0, 0.34); }
body.is-pro-page .pro-amm-map .leaflet-control-zoom a { color: #c7d7dc; border-color: rgba(132, 191, 205, 0.2); background: #102731; }
body.is-pro-page .pro-amm-map .leaflet-control-attribution { color: #73858c; background: rgba(5, 16, 20, 0.78); font-size: 9px; }
body.is-pro-page .pro-amm-map .leaflet-control-attribution a { color: #91b5be; }
body.is-pro-page .pro-amm-map-message {
  position: absolute;
  z-index: 600;
  top: 50%;
  left: 50%;
  max-width: min(420px, calc(100% - 32px));
  padding: 0.72rem 0.9rem;
  color: #a8b8bd;
  border: 1px solid rgba(132, 191, 205, 0.28);
  border-radius: 5px;
  background: rgba(6, 21, 27, 0.92);
  font-size: 0.7rem;
  text-align: center;
  transform: translate(-50%, -50%);
}
body.is-pro-page .pro-amm-map-message[hidden] { display: none; }
body.is-pro-page .pro-amm-legend {
  position: absolute;
  z-index: 600;
  right: 10px;
  bottom: 10px;
  display: flex;
  gap: 0.55rem;
  padding: 0.4rem 0.52rem;
  color: #96a7ac;
  border: 1px solid rgba(132, 191, 205, 0.24);
  border-radius: 4px;
  background: rgba(5, 18, 23, 0.88);
  font-size: 0.56rem;
  backdrop-filter: blur(5px);
}
body.is-pro-page .pro-amm-legend span::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 0.25rem; border-radius: 50%; background: #9aa4a8; }
body.is-pro-page .pro-amm-legend .departure::before { background: #59a8ff; }
body.is-pro-page .pro-amm-legend .arrival::before { background: #5bd6a0; }
body.is-pro-page .pro-amm-legend .maintenance::before { background: #ffc85a; }
body.is-pro-page .pro-amm-legend .unknown::before { background: #d9f5ff; box-shadow: 0 0 4px rgba(161, 228, 255, 0.72); }
body.is-pro-page .pro-amm-legend .surface-object::before { border-radius: 2px; border: 1px solid #d9f5ff; background: rgba(217, 245, 255, 0.2); transform: rotate(45deg); }
body.is-pro-page .pro-amm-legend .vehicle::before { border-radius: 2px; background: #aeb9bc; }
body.is-pro-page .pro-amm-legend .last-known::before { background: #8f999c; opacity: 0.48; }
body.is-pro-page .pro-amm-target-shell { border: 0; background: transparent; }
body.is-pro-page .pro-amm-target { height: 28px; display: flex; align-items: center; gap: 2px; white-space: nowrap; pointer-events: auto; }
body.is-pro-page .pro-amm-target .material-symbols-rounded { width: 28px; color: #d9f5ff; font-size: 25px; line-height: 28px; text-align: center; text-shadow: 0 1px 2px #000, 0 0 5px rgba(161, 228, 255, 0.72); transform: rotate(var(--pro-amm-heading)); }
body.is-pro-page .pro-amm-target .material-symbols-rounded.heading-unavailable { opacity: 1; transform: none; }
body.is-pro-page .pro-amm-target.departure .material-symbols-rounded { color: #59a8ff; }
body.is-pro-page .pro-amm-target.arrival .material-symbols-rounded { color: #5bd6a0; }
body.is-pro-page .pro-amm-target.vehicle .pro-amm-vehicle-symbol { color: #aeb9bc; font-size: 21px; transform: none; }
body.is-pro-page .pro-amm-target.maintenance .material-symbols-rounded { color: #ffc85a; }
body.is-pro-page .pro-amm-target.maintenance .pro-amm-unclassified-symbol { border-color: #ffc85a; background: rgba(255, 200, 90, 0.2); box-shadow: 0 1px 2px #000, 0 0 4px rgba(255, 200, 90, 0.5); }
body.is-pro-page .pro-amm-target.aging { opacity: 0.48; filter: saturate(0.15); }
body.is-pro-page .pro-amm-target.aging .material-symbols-rounded,
body.is-pro-page .pro-amm-target.aging.vehicle .pro-amm-vehicle-symbol { color: #8f999c; text-shadow: 0 1px 2px #000; }
body.is-pro-page .pro-amm-target.aging b { border-style: dashed; }
body.is-pro-page .pro-amm-target.departure.aging { opacity: 0.65; filter: none; }
body.is-pro-page .pro-amm-target.departure.aging .material-symbols-rounded { color: #59a8ff; }
body.is-pro-page .pro-amm-unclassified-symbol {
  width: 11px;
  height: 11px;
  margin: 0 8px;
  border: 2px solid #d9f5ff;
  border-radius: 2px;
  background: rgba(217, 245, 255, 0.24);
  box-shadow: 0 1px 2px #000, 0 0 4px rgba(161, 228, 255, 0.58);
  transform: rotate(45deg);
}
body.is-pro-page .pro-amm-target.aging .pro-amm-unclassified-symbol { border-color: #8f999c; background: rgba(143, 153, 156, 0.16); box-shadow: 0 1px 2px #000; }
body.is-pro-page .pro-amm-target b { overflow: hidden; max-width: 58px; padding: 2px 4px; color: #edf3f1; border: 1px solid rgba(192, 218, 220, 0.18); border-radius: 3px; background: rgba(4, 14, 17, 0.82); font: 700 10px/1.1 Manrope, sans-serif; text-overflow: ellipsis; }
body.is-pro-page .pro-amm-runway-label { color: #c6d2d3; background: transparent; font: 700 9px/1 Manrope, sans-serif; text-align: center; text-shadow: 0 1px 2px #000; }
body.is-pro-page .pro-amm-runway-label span { padding: 1px 3px; border-radius: 2px; background: rgba(7, 19, 22, 0.72); }
body.is-pro-page .pro-amm-leaflet-popup .leaflet-popup-content-wrapper,
body.is-pro-page .pro-amm-leaflet-popup .leaflet-popup-tip { color: #d7e2e3; background: #0a222b; }
body.is-pro-page .pro-amm-leaflet-popup .leaflet-popup-content { margin: 0.72rem; }
body.is-pro-page .pro-amm-popup { display: grid; gap: 0.32rem; min-width: 210px; }
body.is-pro-page .pro-amm-popup > strong { color: #ffd06a; font-size: 0.84rem; }
body.is-pro-page .pro-amm-popup > span { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 0.45rem; }
body.is-pro-page .pro-amm-popup em { color: #78929b; font-size: 0.58rem; font-style: normal; }
body.is-pro-page .pro-amm-popup b { color: #d7e2e3; font-size: 0.61rem; overflow-wrap: anywhere; }
body.is-pro-page .pro-amm-popup small { margin-top: 0.25rem; color: #718890; font-size: 0.52rem; line-height: 1.35; }
body.is-pro-page .pro-amm-footer { min-height: 32px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 0.65rem; color: #758990; background: #081b27; font-size: 0.56rem; }
body.is-pro-page .pro-amm-footer strong { color: #d7a654; text-transform: uppercase; }

@media (max-width: 620px) {
  body.is-pro-page .pro-notam-modal { place-items: stretch; padding: max(0.4rem, env(safe-area-inset-top)) max(0.4rem, env(safe-area-inset-right)) max(0.4rem, env(safe-area-inset-bottom)) max(0.4rem, env(safe-area-inset-left)); }
  body.is-pro-page .pro-notam-modal-panel { width: 100%; height: calc(100dvh - 0.8rem); max-height: calc(100dvh - 0.8rem); border-radius: 8px; }
  body.is-pro-page .pro-notam-modal-panel .notam-full-heading { align-items: flex-start; padding: 0.68rem; }
  body.is-pro-page .pro-notam-modal-priorities { padding: 0.52rem 0.6rem; }
  body.is-pro-page .pro-notam-modal-body { padding: 0.58rem; }
  body.is-pro-page .pro-notam-modal-category > header { grid-template-columns: 2.55rem minmax(0, 1fr) auto; }
  body.is-pro-page .pro-notam-modal-item-heading { align-items: flex-start; }
  body.is-pro-page .pro-notam-modal-item-actions { flex-wrap: wrap; justify-content: flex-end; }
  body.is-pro-page .pro-notam-modal-summary { font-size: 0.65rem; }
  body.is-pro-page .pro-queue-modal-panel {
    max-height: calc(100dvh - 2rem);
    padding: 0.72rem;
  }
  body.is-pro-page .pro-queue-modal-body { max-height: calc(100dvh - 190px); }
  body.is-pro-page .pro-queue-modal-panel .notam-full-heading { align-items: flex-start; gap: 0.55rem; padding: 0.72rem; }
  body.is-pro-page .pro-queue-modal-panel .notam-full-heading > div { display: grid; justify-items: start; gap: 0.28rem; }
  body.is-pro-page .pro-queue-modal-panel .airport-badge { font-size: 0.52rem; }
  body.is-pro-page .pro-queue-next-row {
    grid-template-columns: 32px minmax(0, 1fr) !important;
  }
  body.is-pro-page .pro-queue-next-row > div:last-child {
    grid-column: 2;
    max-width: none;
    text-align: left !important;
  }
  body.is-pro-page .pro-gate-modal { place-items: stretch; padding: max(0.4rem, env(safe-area-inset-top)) max(0.4rem, env(safe-area-inset-right)) max(0.4rem, env(safe-area-inset-bottom)) max(0.4rem, env(safe-area-inset-left)); }
  body.is-pro-page .pro-gate-modal-panel { width: 100%; max-height: calc(100dvh - 0.8rem); padding: 0.7rem; }
  body.is-pro-page .pro-gate-modal-panel .notam-full-heading { align-items: flex-start; gap: 0.55rem; padding: 0.7rem; }
  body.is-pro-page .pro-gate-detail-grid { grid-template-columns: 1fr; }
  body.is-pro-page .pro-gate-candidate-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

body.is-pro-page .pro-flight-map-panel { position: relative; grid-template-rows: 32px minmax(0, 1fr); padding: 0.48rem; }
body.is-pro-page .pro-map-heading { padding: 0 0.42rem; }
body.is-pro-page .pro-map-heading h3 { font-size: 0.83rem; letter-spacing: 0.055em; }
body.is-pro-page .pro-map-heading p { color: #8090a3; }
body.is-pro-page .pro-map-stage { border-color: rgba(148, 178, 205, 0.25); box-shadow: inset 0 0 0 1px rgba(0, 3, 8, 0.25), 0 10px 30px rgba(0, 3, 8, 0.2); }
body.is-pro-page .pro-flight-map .leaflet-tile { filter: saturate(0.72) brightness(0.53) contrast(1.18) hue-rotate(4deg); }
body.is-pro-page .pro-map-source-state { top: 9px; right: 9px; padding: 0.2rem 0.38rem; border-color: rgba(140, 169, 197, 0.22); background: rgba(2, 11, 20, 0.84); }
body.is-pro-page .pro-map-position-state { position: absolute; z-index: 500; top: 36px; right: 9px; margin: 0; padding: 0.22rem 0.4rem; color: #83e7dc; border: 1px solid rgba(92, 210, 197, 0.34); border-radius: 4px; background: rgba(2, 18, 27, 0.88); font-size: 0.58rem; font-weight: 700; pointer-events: none; }
body.is-pro-page .pro-map-position-state[hidden] { display: none; }
body.is-pro-page .pro-radar-overlay-status {
  position: absolute;
  z-index: 500;
  top: 63px;
  right: 9px;
  display: grid;
  width: 178px;
  gap: 0.18rem;
  padding: 0.42rem 0.5rem;
  color: #d9e7f2;
  border: 1px solid rgba(126, 174, 207, 0.34);
  border-radius: 5px;
  background: rgba(2, 14, 24, 0.9);
  box-shadow: 0 6px 20px rgba(0, 3, 8, 0.32);
  pointer-events: none;
}
body.is-pro-page .pro-radar-overlay-status[hidden] { display: none; }
body.is-pro-page .pro-radar-overlay-status strong { display: flex; align-items: center; gap: 0.25rem; font-size: 0.61rem; }
body.is-pro-page .pro-radar-overlay-status strong .material-symbols-rounded { color: #79cce7; font-size: 0.9rem; }
body.is-pro-page .pro-radar-overlay-status > span:not(.pro-radar-color-scale),
body.is-pro-page .pro-radar-overlay-status small { color: #9fb1c1; font-size: 0.5rem; line-height: 1.3; }
body.is-pro-page .pro-radar-color-scale { display: block; height: 5px; overflow: hidden; border-radius: 2px; background: linear-gradient(90deg, #49a8df 0 15%, #50c96c 15% 34%, #f1e85b 34% 52%, #ef9b3a 52% 68%, #dc4050 68% 84%, #ae55c9 84% 100%); }
body.is-pro-page .pro-radar-color-scale i { display: none; }
body.is-pro-page .pro-flight-map .leaflet-pane.pro-weather-radar-pane .leaflet-tile { image-rendering: auto; filter: none; }
body.is-pro-page .pro-weather-overlay-status {
  position: absolute;
  z-index: 500;
  top: 63px;
  right: 9px;
  display: grid;
  width: 206px;
  gap: 0.22rem;
  padding: 0.44rem 0.5rem;
  color: #dceaf4;
  border: 1px solid rgba(120, 184, 218, 0.36);
  border-radius: 5px;
  background: rgba(2, 14, 24, 0.92);
  box-shadow: 0 6px 20px rgba(0, 3, 8, 0.34);
  pointer-events: none;
}
body.is-pro-page .pro-radar-overlay-status:not([hidden]) + .pro-weather-overlay-status { top: 160px; }
body.is-pro-page .pro-weather-overlay-status[hidden] { display: none; }
body.is-pro-page .pro-weather-overlay-status strong { display: flex; align-items: center; gap: 0.25rem; font-size: 0.61rem; }
body.is-pro-page .pro-weather-overlay-status strong .material-symbols-rounded { color: #75d7f1; font-size: 0.9rem; }
body.is-pro-page .pro-weather-overlay-status > span:not(.pro-weather-overlay-legend),
body.is-pro-page .pro-weather-overlay-status small { color: #9fb1c1; font-size: 0.5rem; line-height: 1.35; }
body.is-pro-page .pro-weather-overlay-legend { display: flex; flex-wrap: wrap; gap: 0.22rem 0.38rem; }
body.is-pro-page .pro-weather-overlay-legend span { display: inline-flex; align-items: center; gap: 0.18rem; color: #c6d6e2; font-size: 0.6rem; font-weight: 700; }
body.is-pro-page .pro-weather-overlay-legend i { width: 9px; height: 3px; border-radius: 2px; background: var(--pro-weather-color); box-shadow: 0 0 5px color-mix(in srgb, var(--pro-weather-color) 70%, transparent); }
body.is-pro-page .pro-flight-map .leaflet-pane.pro-weather-hazard-pane path { filter: drop-shadow(0 0 3px rgba(112, 207, 239, 0.18)); }
body.is-pro-page .pro-wind-marker { display: grid; grid-template-columns: 24px 18px; place-items: center; color: #dff8ff; background: transparent; border: 0; }
body.is-pro-page .pro-wind-vector { position: relative; display: block; width: 22px; height: 22px; transform: rotate(var(--pro-wind-bearing)); filter: drop-shadow(0 0 4px rgba(104, 216, 255, 0.78)); }
body.is-pro-page .pro-wind-vector::before { content: ''; position: absolute; top: 2px; left: 10px; width: 2px; height: 17px; border-radius: 2px; background: #dff8ff; }
body.is-pro-page .pro-wind-vector::after { content: ''; position: absolute; top: 1px; left: 7px; width: 7px; height: 7px; border-top: 2px solid #dff8ff; border-left: 2px solid #dff8ff; transform: rotate(45deg); }
body.is-pro-page .pro-wind-vector i { display: none; }
body.is-pro-page .pro-wind-marker b { min-width: 18px; padding: 1px 2px; color: #06202c; border-radius: 3px; background: #7eddf5; font: 800 8px/1.3 "Barlow Condensed", sans-serif; text-align: center; }
body.is-pro-page .pro-flight-map .pro-weather-leaflet-popup .leaflet-popup-content-wrapper,
body.is-pro-page .pro-flight-map .pro-weather-leaflet-popup .leaflet-popup-tip { color: #111827; background: #fff; }
body.is-pro-page .pro-flight-map .pro-weather-leaflet-popup .leaflet-popup-close-button { color: #334155; }
body.is-pro-page .pro-weather-hazard-popup { min-width: 220px; color: #111827; }
body.is-pro-page .pro-weather-hazard-popup header { display: grid; gap: 1px; padding: 0 0 7px; border-bottom: 1px solid #d9e2ea; }
body.is-pro-page .pro-weather-hazard-popup header span { color: #32769b; font-size: 9px; font-weight: 800; }
body.is-pro-page .pro-weather-hazard-popup header strong { font-size: 15px; }
body.is-pro-page .pro-weather-hazard-popup dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 9px; margin: 8px 0 0; }
body.is-pro-page .pro-weather-hazard-popup dt { color: #64748b; font-size: 10px; }
body.is-pro-page .pro-weather-hazard-popup dd { margin: 0; color: #111827; font-size: 10px; font-weight: 700; overflow-wrap: anywhere; }
body.is-pro-page .pro-weather-hazard-popup details { margin-top: 8px; border-top: 1px solid #d9e2ea; padding-top: 6px; }
body.is-pro-page .pro-weather-hazard-popup summary { color: #245f82; font-size: 10px; font-weight: 800; cursor: pointer; }
body.is-pro-page .pro-weather-hazard-popup pre { max-height: 140px; overflow: auto; margin: 6px 0 0; padding: 6px; color: #172033; border-radius: 4px; background: #eef4f8; font: 9px/1.4 Consolas, monospace; white-space: pre-wrap; }
body.is-pro-page .pro-flight-map .pro-live-aircraft-icon { display: grid; place-items: center; box-sizing: border-box; color: #81d8d0; border: 1px solid rgba(129, 216, 208, 0.9); border-radius: 50%; background: rgba(5, 22, 34, 0.92); box-shadow: 0 0 0 3px rgba(129, 216, 208, 0.24), 0 4px 14px rgba(0, 0, 0, 0.48); }
body.is-pro-page .pro-flight-map .pro-live-aircraft-icon { cursor: grab; touch-action: none; }
body.is-pro-page .pro-flight-map .pro-live-aircraft-icon:active { cursor: grabbing; }
body.is-pro-page .pro-flight-map .pro-live-aircraft-icon.leaflet-marker-icon { transition: transform 900ms linear; }
body.is-pro-page .pro-flight-map .pro-live-aircraft-icon.is-estimated { color: #d7c9ff; border-color: rgba(186, 158, 255, 0.96); background: rgba(26, 15, 52, 0.94); box-shadow: 0 0 0 3px rgba(169, 140, 255, 0.25), 0 0 18px rgba(145, 112, 255, 0.5), 0 4px 14px rgba(0, 0, 0, 0.48); }
.pro-map-aircraft-glyph { display: block; overflow: visible; fill: currentColor; transform-origin: 50% 50%; transform-box: fill-box; }
body.is-pro-page .pro-flight-map .pro-live-aircraft-glyph { width: 20px; height: 20px; transform: rotate(var(--pro-live-track, 0deg)); transition: transform 180ms linear; }
body.is-pro-page .pro-flight-map .pro-estimate-last-verified { filter: drop-shadow(0 0 5px rgba(185, 159, 255, 0.9)); }
body.is-pro-page .pro-flight-map .pro-estimate-evidence-line { filter: drop-shadow(0 0 3px rgba(169, 140, 255, 0.66)); }
body.is-pro-page .pro-flight-map .leaflet-tooltip.pro-live-aircraft-tooltip { padding: 2px 5px; color: #fff3c8; border: 1px solid rgba(255, 214, 109, 0.65); border-radius: 3px; background: rgba(3, 14, 23, 0.9); box-shadow: none; font: 700 10px/1.2 "Barlow Condensed", sans-serif; }
body.is-pro-page .pro-flight-map .leaflet-tooltip.pro-live-aircraft-tooltip::before { display: none; }
body.is-pro-page .pro-flight-map .pro-live-aircraft-popup .leaflet-popup-content-wrapper,
body.is-pro-page .pro-flight-map .pro-live-aircraft-popup .leaflet-popup-tip { background: #fff; color: #111827; }
body.is-pro-page .pro-flight-map .pro-live-aircraft-popup .leaflet-popup-close-button { color: #334155; }
body.is-pro-page .pro-flight-map .pro-live-aircraft-popup .leaflet-popup-close-button:hover,
body.is-pro-page .pro-flight-map .pro-live-aircraft-popup .leaflet-popup-close-button:focus-visible { color: #020617; }
body.is-pro-page .pro-flight-map .pro-live-position-popup { display: grid; grid-template-columns: max-content 1fr; gap: 0.25rem 0.65rem; min-width: 210px; margin: 0; }
body.is-pro-page .pro-flight-map .pro-live-position-popup dt { color: #52657a; font-size: 0.68rem; }
body.is-pro-page .pro-flight-map .pro-live-position-popup dd { margin: 0; color: #111827; font-size: 0.7rem; font-weight: 700; }
body.is-pro-page .pro-map-toolbar {
  right: auto;
  bottom: 54px;
  left: 50%;
  width: max-content;
  max-width: calc(100% - 22px);
  gap: 0.12rem;
  padding: 0.25rem;
  transform: translateX(-50%);
  border-color: rgba(143, 173, 201, 0.26);
  background: linear-gradient(180deg, rgba(8, 21, 34, 0.94), rgba(3, 13, 23, 0.95));
  box-shadow: 0 12px 30px rgba(0, 3, 8, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}
body.is-pro-page .pro-map-toolbar button { min-height: 28px; padding: 0 0.45rem; font-size: 0.57rem; }
body.is-pro-page .pro-map-toolbar button.active { color: #eef2f6; background: linear-gradient(180deg, rgba(45, 98, 150, 0.64), rgba(27, 69, 111, 0.62)); box-shadow: inset 0 0 0 1px rgba(111, 175, 231, 0.12); }
body.is-pro-page .pro-map-toolbar button:disabled { opacity: 0.33; }
body.is-pro-page .pro-map-route-strip {
  position: absolute;
  z-index: 500;
  right: 10px;
  bottom: 9px;
  left: 10px;
  min-height: 36px;
  padding: 0.42rem 0.62rem;
  border: 1px solid rgba(143, 173, 201, 0.2);
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(8, 21, 34, 0.92), rgba(3, 13, 23, 0.94));
  box-shadow: 0 10px 26px rgba(0, 3, 8, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(8px);
}
body.is-pro-page .pro-flow-module { display: flex; flex-direction: column; }
body.is-pro-page .pro-flow-module .pro-flow-empty,
body.is-pro-page .pro-flow-module .pro-arrival-metering-slot { margin-top: auto; margin-bottom: auto; }

@media (max-width: 1180px) {
  body.is-pro-page .pro-route-hero { height: 322px; min-height: 322px; }
  body.is-pro-page .pro-hero-weather-card { width: 170px; }
  body.is-pro-page .pro-hero-weather-card.departure { left: 16px; }
  body.is-pro-page .pro-hero-weather-card.arrival { right: 16px; }
  body.is-pro-page .pro-flight-summary { left: 50%; width: max-content; max-width: calc(100% - 388px); }
  body.is-pro-page .pro-active-hero > .pro-inbound-panel { width: min(72vw, 820px); }
  body.is-pro-page .pro-brief-grid { grid-template-areas: "center center" "departure arrival"; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body.is-pro-page .pro-flight-map-panel { height: 600px; }
  body.is-pro-page .pro-airport-card { grid-template-rows: 40px 132px 160px 134px 174px; height: 688px; }
  body.is-pro-page .pro-amm-empty { height: 60px; }
}

@media (max-width: 820px) {
  body.is-pro-page .pro-active-hero { padding-right: 8px; padding-left: 8px; }
  body.is-pro-page .pro-route-hero { height: 340px; min-height: 340px; }
  body.is-pro-page .pro-hero-weather-card { top: 74px; width: 180px; min-height: 190px; }
  body.is-pro-page .pro-hero-weather-card.departure { left: 12px; }
  body.is-pro-page .pro-hero-weather-card.arrival { right: 12px; }
  body.is-pro-page .pro-flight-summary { right: auto; bottom: 68px; left: 50%; width: max-content; max-width: 320px; }
  body.is-pro-page .pro-flight-summary > div { min-width: 96px; padding-right: 0.6rem; padding-left: 0.6rem; }
  body.is-pro-page .pro-active-hero > .pro-inbound-panel { width: 72%; }
  body.is-pro-page .pro-inbound-panel { flex-wrap: wrap; }
  body.is-pro-page .pro-inbound-panel p:not(.pro-inbound-empty),
  body.is-pro-page .pro-inbound-panel p:not(.pro-inbound-empty):nth-of-type(n+3) { display: block; }
  body.is-pro-page .pro-inbound-panel .pro-inbound-route { display: block; }
  body.is-pro-page .pro-inbound-panel b { max-width: none; }
  body.is-pro-page .pro-airport-card { grid-template-rows: auto auto auto auto auto; height: auto; }
  body.is-pro-page .pro-airport-module { overflow: visible; }
  body.is-pro-page .pro-map-toolbar { overflow-x: auto; justify-content: flex-start; }
}

@media (max-width: 620px) {
  body.is-pro-page .pro-route-hero { height: 430px; min-height: 430px; }
  body.is-pro-page .pro-earth-globe { width: 100%; height: 240px; }
  body.is-pro-page .pro-flight-identity { top: 12px; left: 50%; transform: translateX(-50%); }
  body.is-pro-page .pro-flight-identity > strong { font-size: 0.68rem; }
  body.is-pro-page .pro-flight-identity > span { padding: 0.18rem 0.4rem; font-size: 0.52rem; }
  body.is-pro-page .pro-route-arc { top: 0; right: 0; left: 0; height: 240px; }
  body.is-pro-page .pro-route-arc .pro-route-aircraft { width: 34px; }
  body.is-pro-page .pro-hero-weather-card { top: 168px; width: calc(50% - 13px); min-height: 154px; gap: 0.28rem; padding: 0.52rem 0.56rem 0.48rem; }
  body.is-pro-page .pro-hero-weather-card.departure { left: 6px; }
  body.is-pro-page .pro-hero-weather-card.arrival { right: 6px; }
  body.is-pro-page .pro-hero-weather-heading { grid-template-columns: 20px minmax(0, 1fr); gap: 0.34rem; }
  body.is-pro-page .pro-weather-icon { font-size: 1.05rem; }
  body.is-pro-page .pro-hero-weather-identity > strong { font-size: 1.7rem; }
  body.is-pro-page .pro-hero-weather-identity > span { font-size: 0.5rem; }
  body.is-pro-page .pro-hero-weather-identity > em { display: none; }
  body.is-pro-page .pro-hero-weather-primary > span { font-size: 0.5rem; }
  body.is-pro-page .pro-hero-weather-facts > span { font-size: 0.6rem; }
  body.is-pro-page .pro-hero-weather-affordance { gap: 0.2rem; }
  body.is-pro-page .pro-hero-weather-affordance > span { font-size: 0.56rem; }
  body.is-pro-page .pro-hero-weather-affordance > strong { font-size: 0.56rem; }
  body.is-pro-page .pro-flight-summary { right: auto; bottom: 57px; left: 50%; width: calc(100% - 20px); max-width: none; min-height: 40px; }
  body.is-pro-page .pro-flight-summary > div { min-width: 0; flex: 1 1 0; padding: 0.26rem 0.35rem; }
  body.is-pro-page .pro-flight-summary > div:nth-child(n+4) { display: none; }
  body.is-pro-page .pro-flight-summary .material-symbols-rounded { display: none; }
  body.is-pro-page .pro-flight-summary small { font-size: 0.58rem; }
  body.is-pro-page .pro-flight-summary strong { font-size: 0.61rem; }
  body.is-pro-page .pro-active-hero > .pro-inbound-panel { width: calc(100% - 12px); min-height: 42px; }
  body.is-pro-page .pro-inbound-panel > .material-symbols-rounded { display: none; }
  body.is-pro-page .pro-inbound-panel > strong { font-size: 0.54rem; }
  body.is-pro-page .pro-inbound-panel .pro-inbound-empty { padding-left: 0.55rem; }
  body.is-pro-page .pro-brief-grid { grid-template-areas: "center" "tabs" "departure"; grid-template-columns: minmax(0, 1fr); }
  /* Mobile modules have variable real-data summaries; never crop their actions. */
  body.is-pro-page .pro-map-toolbar { right: auto; left: 50%; max-width: calc(100% - 12px); }
  body.is-pro-page .pro-map-toolbar button { min-width: 36px; flex: 0 0 auto; justify-content: center; padding: 0 0.3rem; font-size: 0; }
  body.is-pro-page .pro-map-toolbar .material-symbols-rounded { font-size: 0.95rem; }
  body.is-pro-page .pro-waypoint-control { flex: 0 0 auto; padding-left: 0.16rem; }
  body.is-pro-page .pro-waypoint-control small { display: none; }
  body.is-pro-page .pro-waypoint-control button { min-width: 30px; padding: 0 0.25rem; font-size: 0.5rem; }
}

/* Pro landing launch console */
body.is-pro-page:not(.has-pro-active-brief) .pro-header-search { display: none; }
body.is-pro-page.has-pro-active-brief .pro-header-search {
  width: 108px;
  justify-content: center;
  color: #b8c3cf;
  border-color: rgba(145, 174, 201, 0.22);
  background: rgba(8, 20, 32, 0.84);
}

/* Pro Active Brief mobile composition */
@media (max-width: 820px) {
  body.is-pro-page .site-header {
    height: calc(54px + env(safe-area-inset-top, 0px));
    padding-top: env(safe-area-inset-top, 0px);
  }
  body.is-pro-page .header-inner {
    padding-right: max(0px, env(safe-area-inset-right, 0px));
    padding-left: max(0px, env(safe-area-inset-left, 0px));
  }
  body.is-pro-page.has-pro-active-brief .pro-header-search {
    width: 38px;
    min-width: 38px;
    height: 34px;
    justify-content: center;
    padding: 0;
  }
  body.is-pro-page .pro-active-hero {
    gap: 6px;
    padding-right: max(8px, env(safe-area-inset-right, 0px));
    padding-left: max(8px, env(safe-area-inset-left, 0px));
  }
  body.is-pro-page .pro-route-hero {
    height: auto;
    min-height: 0;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) 180px;
    grid-template-rows: 24px 180px 48px;
    gap: 6px;
    align-items: center;
    padding: 8px;
    overflow: hidden;
  }
  body.is-pro-page .pro-mobile-route-visual { display: none; }
  body.is-pro-page .pro-flight-identity {
    position: static;
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    align-self: center;
    padding: 0 4px;
  }
  body.is-pro-page .pro-flight-identity > strong {
    overflow: hidden;
    font-size: 0.68rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  body.is-pro-page .pro-flight-identity > span {
    flex: 0 0 auto;
    padding: 0.16rem 0.38rem;
    font-size: 0.5rem;
  }
  body.is-pro-page .pro-mobile-route-visual {
    position: relative;
    z-index: 1;
    grid-column: 2;
    grid-row: 2;
    width: 100%;
    height: 180px;
    display: block;
    overflow: hidden;
  }
  body.is-pro-page .pro-mobile-earth,
  body.is-pro-page .pro-mobile-route {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    overflow: visible;
  }
  body.is-pro-page .pro-mobile-earth-image { filter: saturate(0.82) brightness(0.84) contrast(1.14); }
  body.is-pro-page .pro-mobile-earth-rim { fill: none; stroke: #76a6ff; stroke-width: 1.05; vector-effect: non-scaling-stroke; }
  body.is-pro-page .pro-mobile-route-line { fill: none; stroke: url(#proMobileRouteGradient); stroke-width: 1.45; stroke-linecap: round; vector-effect: non-scaling-stroke; }
  body.is-pro-page .pro-mobile-route-point { fill: #f9fcff; stroke: #70a1ff; stroke-width: 1.4; vector-effect: non-scaling-stroke; }
  body.is-pro-page .pro-mobile-route-aircraft { fill: #ffffff; filter: drop-shadow(0 0 4px rgba(101, 147, 255, 0.92)); }
  body.is-pro-page .pro-hero-weather-card {
    position: static;
    width: 100%;
    height: 118px;
    min-height: 118px;
    align-self: center;
    gap: 0.2rem;
    padding: 0.42rem 0.48rem 0.38rem;
  }
  body.is-pro-page .pro-hero-weather-card.departure { grid-column: 1; grid-row: 2; }
  body.is-pro-page .pro-hero-weather-card.arrival { grid-column: 3; grid-row: 2; }
  body.is-pro-page .pro-hero-weather-heading { grid-template-columns: 18px minmax(0, 1fr); gap: 0.3rem; }
  body.is-pro-page .pro-weather-icon { font-size: 0.95rem; }
  body.is-pro-page .pro-hero-weather-identity > strong { font-size: 1.4rem; }
  body.is-pro-page .pro-hero-weather-identity > span { margin-top: 0.14rem; font-size: 0.6rem; }
  body.is-pro-page .pro-hero-weather-identity > em { display: none; }
  body.is-pro-page .pro-hero-weather-primary { padding-top: 0.16rem; }
  body.is-pro-page .pro-hero-weather-primary > b { padding: 0.1rem 0.28rem; font-size: 0.6rem; }
  body.is-pro-page .pro-hero-weather-primary > span { font-size: 0.6rem; }
  body.is-pro-page .pro-hero-weather-facts { grid-template-columns: minmax(0, 1fr); gap: 0.08rem; }
  body.is-pro-page .pro-hero-weather-facts > span { font-size: 0.58rem; }
  body.is-pro-page .pro-hero-weather-facts .material-symbols-rounded { font-size: 0.7rem; }
  body.is-pro-page .pro-hero-weather-affordance { padding-top: 0.16rem; }
  body.is-pro-page .pro-hero-weather-affordance > span { font-size: 0.56rem; }
  body.is-pro-page .pro-hero-weather-affordance > strong { font-size: 0.56rem; }
  body.is-pro-page .pro-flight-summary {
    position: static;
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    max-width: none;
    min-height: 48px;
    display: grid;
    grid-auto-columns: minmax(92px, 1fr);
    grid-auto-flow: column;
    align-items: stretch;
    transform: none;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
  }
  body.is-pro-page .pro-flight-summary::-webkit-scrollbar { display: none; }
  body.is-pro-page .pro-flight-summary > div,
  body.is-pro-page .pro-flight-summary > div:nth-child(n+3),
  body.is-pro-page .pro-flight-summary > div:nth-child(n+4) {
    min-width: 92px;
    display: flex;
    padding: 0.22rem 0.42rem;
  }
  body.is-pro-page .pro-flight-summary .material-symbols-rounded { display: none; }
  body.is-pro-page .pro-flight-summary small { font-size: 0.58rem; }
  body.is-pro-page .pro-flight-summary strong { font-size: 0.58rem; }
  body.is-pro-page .pro-active-hero > .pro-inbound-panel {
    width: min(92vw, 640px);
    min-height: 42px;
  }
}

/* Launch workspace navigation: Dashboard | Pro | ADS-B stays reachable at mobile widths. */
@media (max-width: 620px) {
  .product-nav,
  body.is-pro-page .product-nav { flex-wrap: nowrap; gap: 0; }
  .product-nav-link,
  body.is-pro-page .product-nav-link,
  body.is-pro-page .product-nav-link:not(.active) {
    display: inline-flex;
    min-width: 0;
    padding-inline: 0.32rem;
    font-size: 0.62rem;
    white-space: nowrap;
  }
}

@media (max-width: 620px) {
  body.is-pro-page .pro-route-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: 24px 168px 112px 46px;
    gap: 5px 6px;
    padding: 7px 6px 6px;
  }
  body.is-pro-page .pro-mobile-route-visual {
    grid-column: 1 / -1;
    grid-row: 2;
    height: 168px;
  }
  body.is-pro-page .pro-hero-weather-card {
    height: 112px;
    min-height: 112px;
    padding: 0.34rem 0.4rem 0.3rem;
  }
  body.is-pro-page .pro-hero-weather-card.departure { grid-column: 1; grid-row: 3; }
  body.is-pro-page .pro-hero-weather-card.arrival { grid-column: 2; grid-row: 3; }
  body.is-pro-page .pro-hero-weather-identity > strong { font-size: 1.22rem; }
  body.is-pro-page .pro-hero-weather-identity > span { font-size: 0.58rem; }
  body.is-pro-page .pro-hero-weather-facts > span { font-size: 0.58rem; }
  body.is-pro-page .pro-hero-weather-affordance > span { font-size: 0.56rem; }
  body.is-pro-page .pro-hero-weather-affordance > strong { font-size: 0.56rem; }
  body.is-pro-page .pro-flight-summary { grid-row: 4; min-height: 46px; }
  body.is-pro-page .pro-active-hero > .pro-inbound-panel {
    width: calc(100% - 12px);
    min-height: 40px;
    padding: 0.3rem 0.55rem;
  }
}

body.is-pro-page .pro-page:not(.pro-active) {
  min-height: calc(100vh - 58px);
  display: block;
  padding: 18px 16px 28px;
}

body.is-pro-page .pro-page:not(.pro-active) .pro-landing {
  position: relative;
  min-height: 520px;
  display: block;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(129, 163, 194, 0.22);
  border-radius: 14px;
  isolation: isolate;
  background: #020914;
  box-shadow: 0 28px 70px rgba(0, 3, 9, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

body.is-pro-page .pro-page:not(.pro-active) .pro-landing::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image: url("assets/pro-earth-night.webp");
  background-position: center 25%;
  background-size: 108% auto;
  filter: saturate(0.72) brightness(0.52) contrast(1.14);
  transform: scale(1.01);
}

body.is-pro-page .pro-page:not(.pro-active) .pro-landing::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 22% at 50% 20%, rgba(72, 145, 224, 0.16), transparent 70%),
    linear-gradient(90deg, rgba(1, 7, 14, 0.7), rgba(1, 8, 16, 0.18) 42%, rgba(1, 7, 14, 0.58)),
    linear-gradient(180deg, rgba(1, 7, 14, 0.2), rgba(1, 7, 14, 0.28) 48%, rgba(1, 7, 14, 0.82));
  pointer-events: none;
}

body.is-pro-page .pro-page:not(.pro-active) .pro-landing-copy,
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section,
body.is-pro-page .pro-page:not(.pro-active) .pro-landing-source-note {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100% - 64px));
  margin-inline: auto;
}

body.is-pro-page .pro-page:not(.pro-active) .pro-landing-copy { padding-top: 54px; }
body.is-pro-page .pro-page:not(.pro-active) .pro-kicker {
  margin-bottom: 0.45rem;
  color: var(--pro-gold);
  font-size: 0.62rem;
  letter-spacing: 0.16em;
}
body.is-pro-page .pro-page:not(.pro-active) .pro-landing h2 {
  max-width: none;
  margin: 0;
  color: #f3f5f8;
  font: 600 clamp(2.6rem, 4vw, 3.55rem)/0.98 "Barlow Condensed", sans-serif;
  letter-spacing: 0.025em;
  text-shadow: 0 8px 30px rgba(0, 3, 8, 0.65);
}
body.is-pro-page .pro-page:not(.pro-active) .pro-subtitle {
  max-width: 700px;
  margin-top: 0.72rem;
  color: #a8b5c4;
  font-size: 0.78rem;
  line-height: 1.55;
}

body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section {
  margin-top: 42px;
  padding: 17px;
  border: 1px solid rgba(144, 175, 204, 0.27);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(11, 27, 42, 0.94), rgba(4, 16, 28, 0.95));
  box-shadow: 0 22px 54px rgba(0, 3, 9, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.028);
  backdrop-filter: blur(14px);
}

body.is-pro-page .pro-launch-console-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 15px;
}
body.is-pro-page .pro-launch-console-title { display: flex; align-items: center; gap: 0.62rem; }
body.is-pro-page .pro-launch-console-title > .material-symbols-rounded {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: var(--pro-gold);
  border: 1px solid rgba(232, 180, 82, 0.25);
  border-radius: 8px;
  background: rgba(77, 52, 12, 0.2);
  font-size: 1.15rem;
}
body.is-pro-page .pro-launch-console-title small {
  display: block;
  color: #758597;
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}
body.is-pro-page .pro-launch-console-title h3 {
  margin: 0.15rem 0 0;
  color: #eaf0f6;
  font: 600 0.96rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-tabs {
  width: 326px;
  margin: 0;
  padding: 3px;
  border-color: rgba(137, 168, 197, 0.2);
  border-radius: 8px;
  background: rgba(2, 12, 21, 0.48);
}
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-tab {
  min-width: 0;
  flex: 1;
  min-height: 32px;
  padding: 0 0.72rem;
  color: #7f8d9d;
  border-radius: 6px;
  font-size: 0.58rem;
  letter-spacing: 0.055em;
}
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-tab.active {
  color: #eef3f8;
  background: linear-gradient(180deg, rgba(43, 99, 152, 0.72), rgba(25, 66, 106, 0.74));
  box-shadow: inset 0 0 0 1px rgba(111, 175, 231, 0.12), 0 7px 18px rgba(0, 5, 12, 0.22);
}

body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-panel { margin: 0; }
body.is-pro-page .pro-page:not(.pro-active) #pro-lookup-flight-panel .pro-lookup-row {
  grid-template-columns: minmax(260px, 1fr) 220px 178px;
}
body.is-pro-page .pro-page:not(.pro-active) #pro-lookup-route-panel .pro-lookup-row {
  grid-template-columns: minmax(170px, 1fr) minmax(170px, 1fr) 220px 178px;
}
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row { gap: 10px; }
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row label { gap: 0.35rem; }
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row label > span {
  color: #8494a7;
  font-size: 0.52rem;
  letter-spacing: 0.075em;
}
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row input {
  min-height: 46px;
  padding: 0.55rem 0.72rem;
  color: #eef2f6;
  border-color: rgba(139, 171, 200, 0.23);
  border-radius: 8px;
  background: rgba(2, 12, 21, 0.66);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.015);
  font: 600 0.75rem/1 Manrope, sans-serif;
}
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row input::placeholder { color: #526173; }
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row input:focus {
  border-color: rgba(232, 180, 82, 0.72);
  outline: 2px solid rgba(232, 180, 82, 0.14);
  outline-offset: 1px;
}
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row .button {
  min-width: 0;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  color: #f1f5f8;
  border: 1px solid rgba(103, 168, 226, 0.34);
  border-radius: 8px;
  background: linear-gradient(180deg, #2d76b7, #235f98);
  box-shadow: 0 12px 26px rgba(5, 54, 96, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  font-size: 0.66rem;
  font-weight: 700;
}
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row .button:hover { background: linear-gradient(180deg, #3782c4, #2868a5); }
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row .button .material-symbols-rounded { font-size: 0.95rem; }

body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-results:empty { display: none; }
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-results {
  min-height: 0;
  margin: 12px 0 0;
  padding: 0.65rem 0.75rem;
  border-color: rgba(137, 168, 197, 0.18);
  background: rgba(2, 12, 21, 0.5);
}
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-results p { display: flex; gap: 0.5rem; align-items: center; }
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-results span { color: #8291a3; }

body.is-pro-page .pro-page:not(.pro-active) .pro-recent-briefs {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  margin-top: 14px;
  padding-top: 13px;
  border-top-color: rgba(139, 171, 200, 0.14);
}
body.is-pro-page .pro-page:not(.pro-active) .pro-recent-briefs > span { color: #718195; white-space: nowrap; }
body.is-pro-page .pro-page:not(.pro-active) .pro-recent-briefs > div { min-width: 0; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 2px; }
body.is-pro-page .pro-page:not(.pro-active) .pro-recent-briefs button {
  flex: 0 0 auto;
  min-height: 30px;
  padding: 0.28rem 0.62rem;
  color: #b8c6d4;
  border-color: rgba(138, 170, 199, 0.2);
  border-radius: 6px;
  background: rgba(5, 18, 30, 0.72);
}
body.is-pro-page .pro-page:not(.pro-active) .pro-recent-briefs button:hover,
body.is-pro-page .pro-page:not(.pro-active) .pro-recent-briefs button:focus-visible {
  color: #f0f4f8;
  border-color: rgba(232, 180, 82, 0.52);
  background: rgba(38, 38, 30, 0.74);
}

body.is-pro-page .pro-page:not(.pro-active) .pro-landing-source-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  margin-top: 18px;
  color: #738194;
  font-size: 0.59rem;
  text-align: center;
}
body.is-pro-page .pro-page:not(.pro-active) .pro-landing-source-note .material-symbols-rounded { color: #739bc3; font-size: 0.9rem; }

@media (max-width: 900px) {
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing { min-height: 630px; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing-copy,
  body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section,
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing-source-note { width: calc(100% - 42px); }
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing-copy { padding-top: 42px; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section { margin-top: 34px; }
  body.is-pro-page .pro-page:not(.pro-active) #pro-lookup-flight-panel .pro-lookup-row,
  body.is-pro-page .pro-page:not(.pro-active) #pro-lookup-route-panel .pro-lookup-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body.is-pro-page .pro-page:not(.pro-active) #pro-lookup-flight-panel .button { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  body.is-pro-page .pro-page:not(.pro-active) { min-height: calc(100vh - 54px); padding: 8px; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing { min-height: 750px; border-radius: 10px; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing::before { background-position: center 14%; background-size: auto 96%; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing-copy,
  body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section,
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing-source-note { width: calc(100% - 24px); }
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing-copy { padding-top: 28px; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing h2 { font-size: 2.42rem; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-subtitle { margin-top: 0.58rem; font-size: 0.7rem; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section { margin-top: 26px; padding: 12px; }
  body.is-pro-page .pro-launch-console-top { align-items: stretch; flex-direction: column; gap: 0.8rem; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-tabs { width: 100%; }
  body.is-pro-page .pro-page:not(.pro-active) #pro-lookup-flight-panel .pro-lookup-row,
  body.is-pro-page .pro-page:not(.pro-active) #pro-lookup-route-panel .pro-lookup-row { grid-template-columns: minmax(0, 1fr); }
  body.is-pro-page .pro-page:not(.pro-active) #pro-lookup-flight-panel .button { grid-column: auto; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row .button { width: 100%; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-recent-briefs { grid-template-columns: 1fr; gap: 0.45rem; }
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing-source-note { margin-top: 14px; line-height: 1.4; }
}

@media (max-width: 620px) {
  body.is-pro-page .pro-flight-summary { grid-row: 4; min-height: 46px; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: row; overflow: hidden; }
  body.is-pro-page .pro-flight-summary > div { min-width: 0; }
  body.is-pro-page .pro-flight-summary > div:nth-child(n+4) { display: none; }
}

/* Active Brief hero geometry profiles prevent route and Earth distortion while resizing. */
body.is-pro-page .pro-route-hero {
  width: 100%;
  height: clamp(208px, calc((100vw - 24px) / 7.5), 253px);
  min-height: clamp(208px, calc((100vw - 24px) / 7.5), 253px);
  max-height: 253px;
  display: block;
  padding: 0;
}
body.is-pro-page .pro-hero-visual {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  overflow: hidden;
  pointer-events: none;
}
body.is-pro-page .pro-hero-visual-svg { position: absolute; inset: 0; width: 100%; height: 100%; display: none; }
body.is-pro-page .pro-hero-profile-large { display: block; }
body.is-pro-page .pro-hero-visual .pro-earth-image { filter: saturate(0.8) brightness(0.86) contrast(1.16); }
body.is-pro-page .pro-hero-visual .pro-earth-rim { fill: none; stroke: #62adff; stroke-width: 1.05; vector-effect: non-scaling-stroke; }
body.is-pro-page .pro-hero-visual .pro-route-line { fill: none; stroke-width: 1.55; stroke-linecap: round; vector-effect: non-scaling-stroke; mix-blend-mode: screen; }
body.is-pro-page .pro-hero-profile-large .pro-route-line { stroke: url(#proHeroLargeRouteGradient); }
body.is-pro-page .pro-hero-profile-mid .pro-route-line { stroke: url(#proHeroMidRouteGradient); }
body.is-pro-page .pro-hero-profile-tablet .pro-route-line { stroke: url(#proHeroTabletRouteGradient); }
body.is-pro-page .pro-hero-visual .pro-route-origin,
body.is-pro-page .pro-hero-visual .pro-route-destination { fill: #fbfeff; stroke: #59b4ff; stroke-width: 1.6; vector-effect: non-scaling-stroke; }
body.is-pro-page .pro-hero-visual .pro-route-aircraft { fill: #fbfdff; filter: drop-shadow(0 0 1px rgba(255, 255, 255, 1)) drop-shadow(0 0 3px rgba(190, 232, 255, 0.98)) drop-shadow(0 0 6px rgba(42, 136, 255, 0.84)); }
body.is-pro-page .pro-hero-weather-card {
  position: absolute;
  top: 23%;
  width: 184px;
  max-width: none;
}
body.is-pro-page .pro-hero-weather-card.departure { z-index: 5; left: 20px; }
body.is-pro-page .pro-hero-weather-card.arrival { z-index: 5; right: 20px; }
body.is-pro-page .pro-flight-summary {
  position: absolute;
  z-index: 5;
  right: auto;
  bottom: 10px;
  left: 50%;
  width: max-content;
  max-width: min(680px, calc(100% - 440px));
  transform: translateX(-50%);
}

@media (min-width: 1100px) and (max-width: 1499px) {
  body.is-pro-page .pro-route-hero { height: clamp(208px, calc(253px - 3vw), 220px); min-height: clamp(208px, calc(253px - 3vw), 220px); max-height: 220px; }
  body.is-pro-page .pro-hero-profile-large { display: none; }
  body.is-pro-page .pro-hero-profile-mid { display: block; }
}

@media (min-width: 821px) and (max-width: 1099px) {
  body.is-pro-page .pro-route-hero { height: clamp(220px, calc(259.5px - 3.59vw), 230px); min-height: clamp(220px, calc(259.5px - 3.59vw), 230px); max-height: 230px; }
  body.is-pro-page .pro-hero-profile-large { display: none; }
  body.is-pro-page .pro-hero-profile-tablet { display: block; }
  body.is-pro-page .pro-hero-weather-card { top: 26%; width: 170px; min-height: 142px; }
  body.is-pro-page .pro-hero-weather-card.departure { left: 14px; }
  body.is-pro-page .pro-hero-weather-card.arrival { right: 14px; }
  body.is-pro-page .pro-flight-summary { max-width: calc(100% - 376px); }
}

body.is-pro-page .pro-etops-control {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding-left: 6px;
  border-left: 1px solid rgba(137, 168, 198, 0.2);
}
body.is-pro-page .pro-etops-control select,
body.is-pro-page .pro-etops-control input {
  height: 26px;
  color: #d4e0ec;
  border: 1px solid rgba(129, 162, 194, 0.28);
  border-radius: 4px;
  background: rgba(5, 18, 31, 0.9);
  font: inherit;
}
body.is-pro-page .pro-etops-control select { width: 62px; padding: 0 3px; }
body.is-pro-page .pro-etops-control label { display: inline-flex; align-items: center; gap: 3px; }
body.is-pro-page .pro-etops-control input { width: 48px; padding: 0 4px; }
body.is-pro-page .pro-etops-control small { color: #8fa2b6; font-size: 0.5rem; }
body.is-pro-page .pro-etops-control em { max-width: 150px; overflow: hidden; color: #9eb1c5; font-size: 0.5rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.pro-diversion-airport-icon {
  position: relative;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 28px;
  height: 28px;
  color: #6f7f8d;
  border: 1px solid rgba(117, 140, 160, 0.42);
  border-radius: 50%;
  background: rgba(5, 16, 27, 0.88);
  box-shadow: 0 3px 10px rgba(0, 3, 8, 0.55);
}
.pro-diversion-airport-glyph { position: absolute; top: 50%; left: 50%; display: block; width: 20px; height: 20px; fill: currentColor; transform: translate(-50%, -50%); }
.pro-diversion-airport-icon.is-candidate,
.pro-diversion-airport-icon.is-available { color: #9af5d1; border-color: rgba(121, 239, 194, 0.88); background: rgba(8, 67, 60, 0.92); box-shadow: 0 0 14px rgba(87, 227, 178, 0.58); }
.pro-diversion-airport-icon.is-review { color: #f2ca75; border-color: rgba(242, 202, 117, 0.78); background: rgba(70, 50, 14, 0.92); box-shadow: 0 0 11px rgba(242, 202, 117, 0.36); }
.pro-diversion-airport-icon.is-closed { color: #ff8390; border-color: rgba(255, 103, 121, 0.88); background: rgba(75, 18, 27, 0.94); box-shadow: 0 0 13px rgba(255, 83, 106, 0.48); }
.leaflet-marker-icon.pro-diversion-preview-aircraft {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 34px;
  height: 34px;
  color: #ffffff;
  border: 1px solid rgba(108, 197, 255, 0.82);
  border-radius: 50%;
  background: rgba(12, 77, 117, 0.92);
  box-shadow: 0 0 18px rgba(82, 184, 255, 0.72);
}
.pro-diversion-preview-aircraft .pro-diversion-aircraft-glyph { width: 22px; height: 22px; transform: rotate(var(--pro-diversion-track, 0deg)); transform-box: view-box; transform-origin: 50% 50%; transition: transform 120ms linear; }
.pro-diversion-airport-tooltip { color: #dceaf5; border: 1px solid rgba(127, 168, 201, 0.32); background: rgba(4, 15, 25, 0.94); box-shadow: 0 6px 16px rgba(0, 4, 10, 0.46); font-size: 10px; font-weight: 800; }
body.is-pro-page .pro-flight-map .leaflet-popup:has(.pro-diversion-airport-popup) .leaflet-popup-content-wrapper,
body.is-pro-page .pro-flight-map .leaflet-popup:has(.pro-diversion-airport-popup) .leaflet-popup-tip { color: #dce8f2; border: 1px solid rgba(111, 158, 194, 0.3); background: #071923; }
body.is-pro-page .pro-flight-map .leaflet-popup:has(.pro-diversion-airport-popup) .leaflet-popup-content { margin: 12px 14px; }
body.is-pro-page .pro-flight-map .leaflet-popup:has(.pro-diversion-airport-popup) .leaflet-popup-close-button { color: #9eb8cc; }
body.is-pro-page .pro-flight-map .leaflet-popup:has(.pro-diversion-airport-popup) .leaflet-popup-close-button:hover,
body.is-pro-page .pro-flight-map .leaflet-popup:has(.pro-diversion-airport-popup) .leaflet-popup-close-button:focus-visible { color: #ffffff; }
.pro-diversion-airport-popup { min-width: 220px; color: #dce8f2; }
.pro-diversion-airport-popup header { display: grid; gap: 2px; padding-bottom: 8px; border-bottom: 1px solid rgba(132, 166, 194, 0.2); }
.pro-diversion-airport-popup header span { color: #77c7ff; font-size: 9px; font-weight: 800; }
.pro-diversion-airport-popup header strong { color: #ffffff; font-size: 17px; }
.pro-diversion-airport-popup header small { color: #9daebe; line-height: 1.35; }
.pro-diversion-airport-popup dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 5px 10px; margin: 9px 0 0; }
.pro-diversion-airport-popup dt { color: #8295a8; font-size: 10px; font-weight: 700; }
.pro-diversion-airport-popup dd { margin: 0; color: #dce8f2; font-size: 10px; line-height: 1.35; overflow-wrap: anywhere; }
.pro-diversion-popup-loading { margin: 0; color: #b9c8d5; font-size: 11px; }

@media (max-width: 820px) {
  body.is-pro-page .pro-route-hero {
    height: auto;
    min-height: 0;
    max-height: none;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) 180px;
    grid-template-rows: 24px 180px 48px;
    gap: 6px;
    padding: 8px;
  }
  body.is-pro-page .pro-hero-visual { display: none; }
  body.is-pro-page .pro-flight-identity { position: static; grid-column: 1 / -1; grid-row: 1; }
  body.is-pro-page .pro-mobile-route-visual { display: block; }
  body.is-pro-page .pro-hero-weather-card { position: static; top: auto; width: 100%; max-width: none; height: 118px; min-height: 118px; }
  body.is-pro-page .pro-hero-weather-card.departure { grid-column: 1; grid-row: 2; }
  body.is-pro-page .pro-hero-weather-card.arrival { grid-column: 3; grid-row: 2; }
  body.is-pro-page .pro-flight-summary {
    position: static;
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    max-width: none;
    min-height: 48px;
    transform: none;
  }
}

@media (max-width: 620px) {
  body.is-pro-page .pro-route-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 24px 168px 112px 46px; gap: 5px 6px; padding: 7px 6px 6px; }
  body.is-pro-page .pro-mobile-route-visual { grid-column: 1 / -1; grid-row: 2; height: 168px; }
  body.is-pro-page .pro-hero-weather-card { height: 112px; min-height: 112px; }
  body.is-pro-page .pro-hero-weather-card.departure { grid-column: 1; grid-row: 3; }
  body.is-pro-page .pro-hero-weather-card.arrival { grid-column: 2; grid-row: 3; }
  body.is-pro-page .pro-flight-summary { grid-row: 4; min-height: 46px; }
  body.is-pro-page .pro-etops-control em { display: none; }
  body.is-pro-page .pro-etops-control select { width: 58px; }
}

/* Route map controls use three independent zones: canvas, control dock, and footer. */
body.is-pro-page .pro-flight-map-panel {
  grid-template-rows: 32px minmax(300px, 1fr) 44px auto;
  overflow: visible;
}
body.is-pro-page .pro-map-stage { min-height: 300px; overflow: hidden; }
body.is-pro-page .pro-map-route-legend {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-left: auto;
  margin-right: 0.65rem;
  color: #8a9bad;
  font-size: 0.52rem;
  white-space: nowrap;
}
body.is-pro-page .pro-map-route-legend span { display: inline-flex; align-items: center; gap: 0.22rem; }
body.is-pro-page .pro-map-route-legend span[hidden] { display: none; }
body.is-pro-page .pro-map-route-legend i { width: 18px; height: 2px; border-radius: 2px; background: #75bdff; box-shadow: 0 0 5px rgba(90, 174, 255, 0.45); }
body.is-pro-page .pro-map-route-legend .is-supplemental i { height: 0; border-top: 2px dashed #75bdff; border-radius: 0; background: transparent; box-shadow: none; }
body.is-pro-page .pro-map-route-legend .is-reference i { height: 0; border-top: 1px dashed #d9e5f4; background: transparent; box-shadow: none; }
body.is-pro-page .pro-map-route-legend .is-observed i { background: #9f7cff; box-shadow: 0 0 6px rgba(159, 124, 255, 0.62); }
body.is-pro-page .pro-map-route-legend .is-estimated i { height: 0; border-top: 1px dashed #a98cff; background: transparent; box-shadow: none; }
body.is-pro-page .pro-flight-map .pro-observed-track-line { filter: drop-shadow(0 0 4px rgba(159, 124, 255, 0.78)); }
body.pro-map-modal-open { overflow: hidden; }
.pro-map-expanded-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2200;
  background: rgba(0, 6, 13, 0.82);
  backdrop-filter: blur(7px);
}
body.is-pro-page .pro-map-stage.is-expanded {
  position: fixed;
  inset: max(10px, env(safe-area-inset-top, 0px)) max(10px, env(safe-area-inset-right, 0px)) max(10px, env(safe-area-inset-bottom, 0px)) max(10px, env(safe-area-inset-left, 0px));
  z-index: 2201;
  width: auto;
  height: auto;
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(135, 181, 220, 0.42);
  border-radius: 12px;
  background: #050f19;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.72), inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
body.is-pro-page .pro-map-stage.is-expanded .pro-flight-map {
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  border-radius: inherit;
}
body.is-pro-page .pro-map-expanded-heading {
  position: absolute;
  z-index: 1001;
  top: 10px;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.38rem 0.42rem 0.38rem 0.7rem;
  color: #edf5fb;
  border: 1px solid rgba(133, 170, 202, 0.32);
  border-radius: 7px;
  background: rgba(4, 15, 25, 0.92);
  box-shadow: 0 10px 30px rgba(0, 3, 8, 0.42);
  transform: translateX(-50%);
  backdrop-filter: blur(8px);
}
body.is-pro-page .pro-map-expanded-heading > div { display: grid; gap: 0.1rem; }
body.is-pro-page .pro-map-expanded-heading span { color: #899bad; font-size: 0.52rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
body.is-pro-page .pro-map-expanded-heading strong { color: #edf5fb; font: 700 0.7rem/1.1 "Barlow Condensed", sans-serif; letter-spacing: 0.06em; white-space: nowrap; }
body.is-pro-page .pro-map-expanded-heading strong i { margin: 0 0.28rem; color: #74baff; font-style: normal; }
body.is-pro-page .pro-map-expanded-heading button {
  min-width: 36px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  padding: 0 0.48rem;
  color: #d9e6f0;
  border: 1px solid rgba(133, 170, 202, 0.28);
  border-radius: 5px;
  background: rgba(17, 43, 65, 0.88);
  cursor: pointer;
}
body.is-pro-page .pro-map-expanded-heading button:hover,
body.is-pro-page .pro-map-expanded-heading button:focus-visible { color: #fff; border-color: rgba(116, 186, 255, 0.7); background: rgba(32, 81, 123, 0.94); outline: none; }
body.is-pro-page .pro-map-expanded-heading button .material-symbols-rounded { color: inherit; font-size: 1rem; }
body.is-pro-page .pro-map-expanded-heading button span:last-child { color: inherit; font-size: 0.55rem; }
@media (max-width: 620px) {
  body.is-pro-page .pro-map-stage.is-expanded {
    inset: max(3px, env(safe-area-inset-top, 0px)) max(3px, env(safe-area-inset-right, 0px)) max(3px, env(safe-area-inset-bottom, 0px)) max(3px, env(safe-area-inset-left, 0px));
    border-radius: 8px;
  }
  body.is-pro-page .pro-map-expanded-heading { top: 7px; gap: 0.35rem; padding: 0.28rem; }
  body.is-pro-page .pro-map-expanded-heading > div { display: none; }
  body.is-pro-page .pro-map-expanded-heading button { width: 38px; height: 36px; padding: 0; }
  body.is-pro-page .pro-map-expanded-heading button span:last-child { display: none; }
}
body.is-pro-page .pro-terrain-peak-icon {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #ff6471;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.9));
  white-space: nowrap;
}
body.is-pro-page .pro-terrain-peak-icon strong {
  padding: 2px 4px;
  border-radius: 3px;
  background: rgba(6, 14, 22, 0.84);
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0;
}
body.is-pro-page .pro-terrain-peak-symbol {
  position: relative;
  display: inline-block;
  width: 18px;
  height: 16px;
}
body.is-pro-page .pro-terrain-peak-symbol::before,
body.is-pro-page .pro-terrain-peak-symbol::after {
  content: '';
  position: absolute;
  top: 0;
  left: 8px;
  width: 2px;
  height: 18px;
  border-radius: 2px;
  background: #ff4f60;
  transform-origin: 50% 0;
}
body.is-pro-page .pro-terrain-peak-symbol::before { transform: rotate(31deg); }
body.is-pro-page .pro-terrain-peak-symbol::after { transform: rotate(-31deg); }
body.is-pro-page .pro-map-toolbar {
  right: 8px;
  bottom: 8px;
  left: 8px;
  width: auto;
  max-width: none;
  justify-content: flex-start;
  transform: none;
  overflow: visible;
}
body.is-pro-page .pro-map-toolbar-scroll {
  display: flex;
  flex: 0 1 auto;
  min-width: 0;
  align-items: center;
  gap: 0.18rem;
  overflow-x: auto;
  scrollbar-width: none;
}
body.is-pro-page .pro-map-toolbar-scroll::-webkit-scrollbar { display: none; }
body.is-pro-page .pro-map-menu {
  position: relative;
  flex: 0 0 auto;
}
body.is-pro-page .pro-map-menu-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 7px);
  display: none;
  z-index: 2;
}
body.is-pro-page .pro-map-menu.is-open > .pro-map-menu-panel { display: grid; }
body.is-pro-page .pro-map-menu-chevron {
  font-size: 0.78rem;
  transition: transform 140ms ease;
}
body.is-pro-page .pro-map-menu.is-open > .pro-map-menu-handle .pro-map-menu-chevron { transform: rotate(180deg); }
body.is-pro-page .pro-basemap-control { display: block; padding-left: 0.28rem; }
body.is-pro-page .pro-itws-control { display: block; padding-left: 0.28rem; }
body.is-pro-page .pro-itws-menu-handle { min-width: 116px; justify-content: center; color: #b8c7d5; font-size: 0.56rem; font-weight: 700; text-transform: uppercase; }
body.is-pro-page .pro-itws-menu-panel { right: auto; left: 0; width: 270px; gap: 0.2rem; padding: 0.28rem; border: 1px solid rgba(129, 162, 194, 0.28); border-radius: 7px; background: linear-gradient(180deg, rgba(8, 21, 34, 0.97), rgba(3, 13, 23, 0.98)); box-shadow: 0 12px 30px rgba(0, 3, 8, 0.4); }
body.is-pro-page .pro-itws-layer-list { display: grid; gap: 0.2rem; }
body.is-pro-page .pro-itws-layer-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.12rem; padding-bottom: 0.08rem; }
body.is-pro-page .pro-itws-menu-panel button { width: 100%; min-width: 0; min-height: 34px; justify-content: flex-start; gap: 0.42rem; padding: 0 0.52rem; color: #b6c4d2; }
body.is-pro-page .pro-itws-menu-panel small { color: #9eb3c6; font-size: 0.65rem; line-height: 1.35; }
body.is-pro-page .pro-itws-layer-status { display: block; margin: 0; padding: 0 0.52rem 0.18rem; text-align: left; white-space: nowrap; font-size: 0.5rem; font-weight: 700; line-height: 1.2; letter-spacing: 0.03em; }
body.is-pro-page .pro-itws-layer-status.is-available { color: #7de0bd; }
body.is-pro-page .pro-itws-layer-status.is-empty { color: #8093a5; }
body.is-pro-page .pro-basemap-menu-handle {
  min-width: 82px;
  justify-content: center;
  color: #b8c7d5;
  font-size: 0.56rem;
  font-weight: 700;
  text-transform: uppercase;
}
body.is-pro-page .pro-basemap-menu-panel {
  width: 126px;
  gap: 0.2rem;
  padding: 0.28rem;
  border: 1px solid rgba(129, 162, 194, 0.28);
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(8, 21, 34, 0.97), rgba(3, 13, 23, 0.98));
  box-shadow: 0 12px 30px rgba(0, 3, 8, 0.4);
}
body.is-pro-page .pro-basemap-menu-panel button {
  width: 100%;
  min-height: 34px;
  justify-content: flex-start;
  gap: 0.42rem;
  padding: 0 0.52rem;
  color: #b6c4d2;
}
body.is-pro-page .pro-basemap-menu-panel button.active { color: #d9f4f2; background: rgba(49, 125, 138, 0.34); }
body.is-pro-page .pro-waypoint-control {
  display: block;
  padding-left: 0.28rem;
}
body.is-pro-page .pro-waypoint-menu-handle {
  min-width: 88px;
  justify-content: center;
  color: #a8b5c3;
  font-size: 0.56rem;
  font-weight: 700;
  text-transform: uppercase;
}
body.is-pro-page .pro-waypoint-menu-panel {
  width: 104px;
  gap: 0.2rem;
  padding: 0.28rem;
  border: 1px solid rgba(129, 162, 194, 0.28);
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(8, 21, 34, 0.96), rgba(3, 13, 23, 0.97));
  box-shadow: 0 12px 30px rgba(0, 3, 8, 0.36);
}
body.is-pro-page .pro-waypoint-menu-panel button {
  width: 100%;
  min-height: 32px;
  justify-content: flex-start;
  padding: 0 0.48rem;
  color: #b6c4d2;
  border: 1px solid rgba(129, 162, 194, 0.22);
  background: rgba(5, 18, 31, 0.94);
  font-size: 0.56rem;
}
body.is-pro-page .pro-map-route-strip {
  position: static;
  z-index: auto;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(120px, auto) auto;
  gap: 0.35rem 0.55rem;
  min-height: 0;
  margin: 0;
  padding: 0.46rem 0.42rem 0.04rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
body.is-pro-page .pro-map-route-strip small {
  grid-column: 1 / -1;
  overflow-wrap: anywhere;
  color: #a9b8c7;
  font-size: 0.57rem;
  line-height: 1.35;
}
body.is-pro-page .pro-diversion-timeline {
  display: grid;
  grid-template-columns: 34px auto minmax(140px, 1fr) auto minmax(74px, auto);
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.35rem 0.48rem;
  border-top: 1px solid rgba(117, 155, 188, 0.18);
  border-bottom: 1px solid rgba(117, 155, 188, 0.12);
  background: rgba(3, 14, 24, 0.72);
}
body.is-pro-page .pro-diversion-timeline > button {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #a9bed0;
  border: 1px solid rgba(121, 159, 191, 0.28);
  border-radius: 5px;
  background: rgba(9, 29, 46, 0.9);
  cursor: pointer;
}
body.is-pro-page .pro-diversion-timeline > button:disabled { opacity: 0.38; cursor: default; }
body.is-pro-page .pro-diversion-timeline > button:not(:disabled):hover,
body.is-pro-page .pro-diversion-timeline > button:not(:disabled):focus-visible { color: #ffffff; border-color: rgba(102, 190, 248, 0.72); outline: none; }
body.is-pro-page .pro-diversion-timeline > button .material-symbols-rounded { font-size: 17px; }
body.is-pro-page .pro-diversion-timeline > strong { color: #c7d7e4; font: 700 0.62rem/1 "Barlow Condensed", sans-serif; }
body.is-pro-page .pro-diversion-timeline > em { color: #78c8ff; font-size: 0.52rem; font-style: normal; font-weight: 800; text-align: right; white-space: nowrap; }
body.is-pro-page .pro-diversion-progress-track { position: relative; height: 30px; display: flex; align-items: center; }
body.is-pro-page .pro-diversion-progress-track::before { content: ''; position: absolute; right: 0; left: 0; height: 3px; border-radius: 3px; background: linear-gradient(90deg, #4ab2f0, #806ed8); box-shadow: 0 0 8px rgba(83, 160, 224, 0.34); }
body.is-pro-page .pro-diversion-progress-track input { position: relative; z-index: 2; width: 100%; height: 30px; margin: 0; opacity: 0.001; cursor: ew-resize; }
body.is-pro-page .pro-diversion-progress-track > span { position: absolute; z-index: 1; top: 50%; left: var(--progress, 0%); width: 28px; height: 28px; display: grid; place-items: center; color: #ffffff; border: 1px solid rgba(151, 211, 250, 0.72); border-radius: 50%; background: #153f5e; box-shadow: 0 0 12px rgba(76, 183, 251, 0.62); transform: translate(-50%, -50%); pointer-events: none; }
body.is-pro-page .pro-diversion-progress-track > span .pro-diversion-timeline-aircraft { width: 18px; height: 18px; transform: rotate(var(--pro-timeline-track, 90deg)); }
body.is-pro-page .pro-etops-rail {
  position: relative;
  z-index: 1;
  flex: 0 0 auto;
  align-self: stretch;
  display: block;
  margin-left: 0.18rem;
  padding-left: 0.28rem;
  border-left: 1px solid rgba(132, 159, 185, 0.22);
}
body.is-pro-page .pro-etops-rail-handle,
body.is-pro-page .pro-etops-rail-panel button,
body.is-pro-page .pro-etops-rail-panel select,
body.is-pro-page .pro-etops-rail-panel input {
  min-height: 32px;
  color: #dce8f3;
  border: 1px solid rgba(129, 162, 194, 0.31);
  border-radius: 5px;
  background: rgba(5, 18, 31, 0.94);
  font: inherit;
}
body.is-pro-page .pro-etops-rail-handle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-width: 54px;
  min-height: 30px;
  padding: 0 0.42rem;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0.56rem;
  font-weight: 700;
  cursor: pointer;
}
body.is-pro-page .pro-etops-rail.is-open .pro-etops-rail-handle {
  color: #eef2f6;
  background: linear-gradient(180deg, rgba(45, 98, 150, 0.64), rgba(27, 69, 111, 0.62));
  box-shadow: inset 0 0 0 1px rgba(111, 175, 231, 0.12);
}
body.is-pro-page .pro-etops-rail-handle .material-symbols-rounded { font-size: 0.95rem; }
body.is-pro-page .pro-etops-rail-handle .pro-map-menu-chevron { font-size: 0.78rem; }
body.is-pro-page .pro-etops-rail-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 7px);
  display: none;
  width: min(220px, calc(100vw - 32px));
  max-height: min(360px, calc(100vh - 150px));
  gap: 0.28rem;
  padding: 0.32rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(129, 162, 194, 0.28);
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(8, 21, 34, 0.96), rgba(3, 13, 23, 0.97));
  box-shadow: 0 12px 30px rgba(0, 3, 8, 0.36);
}
body.is-pro-page .pro-etops-rail.is-open .pro-etops-rail-panel { display: grid; }
body.is-pro-page .pro-etops-rail-panel button { padding: 0 0.38rem; font-size: 0.56rem; }
body.is-pro-page .pro-etops-rail-panel button.active { background: rgba(39, 94, 146, 0.62); }
body.is-pro-page .pro-etops-rail-panel .pro-diversion-mode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.24rem; }
body.is-pro-page .pro-etops-rail-panel [data-pro-etops-v2-controls] { grid-template-columns: 1fr 1fr 32px; }
body.is-pro-page .pro-etops-rail-panel [data-pro-etops-save] { display: grid; place-items: center; color: #f3b85f; }
body.is-pro-page .pro-etops-rail-panel [data-pro-etops-save]:disabled { opacity: 0.45; }
body.is-pro-page .pro-etops-rail-panel [hidden] { display: none; }
body.is-pro-page .pro-etops-numeric-inputs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.3rem; }
body.is-pro-page .pro-etops-numeric-inputs:has(> label[hidden]) { grid-template-columns: 1fr; }
body.is-pro-page .pro-etops-rail-panel select { width: 100%; padding: 0 0.3rem; font-size: 0.58rem; }
body.is-pro-page .pro-etops-rail-panel input { width: 100%; padding: 0 0.3rem; }
body.is-pro-page .pro-etops-rail-panel label { display: grid; gap: 0.15rem; }
body.is-pro-page .pro-etops-rail-panel small,
body.is-pro-page .pro-etops-rail-panel em { color: #a8b8c8; font-size: 0.52rem; font-style: normal; line-height: 1.35; }

@media (max-width: 620px) {
  body.is-pro-page .pro-flight-map-panel {
    height: auto;
    min-height: 0;
    grid-template-rows: 32px minmax(360px, 1fr) 48px auto;
  }
  body.is-pro-page .pro-map-stage { min-height: 360px; }
  body.is-pro-page .pro-radar-overlay-status { top: 62px; right: 6px; width: 154px; padding: 0.34rem 0.4rem; }
  body.is-pro-page .pro-weather-overlay-status { top: 62px; right: 6px; width: 166px; padding: 0.34rem 0.4rem; }
  body.is-pro-page .pro-radar-overlay-status:not([hidden]) + .pro-weather-overlay-status { top: 151px; }
  body.is-pro-page .pro-map-route-legend { gap: 0.38rem; margin-right: 0; font-size: 0.6rem; }
  body.is-pro-page .pro-map-route-legend i { width: 12px; }
  body.is-pro-page .pro-map-toolbar {
    right: 6px;
    bottom: 8px;
    left: 6px;
    max-width: none;
  }
  body.is-pro-page .pro-map-route-strip {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.5rem 0.18rem calc(0.2rem + env(safe-area-inset-bottom, 0px));
  }
  body.is-pro-page .pro-map-route-strip em { grid-column: 1 / -1; white-space: normal; }
  body.is-pro-page .pro-map-route-strip strong { min-width: 0; }
  body.is-pro-page .pro-map-route-strip button { grid-column: 2; justify-self: end; }
  body.is-pro-page .pro-diversion-timeline { grid-template-columns: 34px auto minmax(90px, 1fr) auto; gap: 0.32rem; padding-inline: 0.28rem; }
  body.is-pro-page .pro-diversion-timeline > em { display: none; }
  body.is-pro-page .pro-waypoint-control { padding-left: 0.16rem; }
  body.is-pro-page .pro-waypoint-menu-handle { min-width: 42px; min-height: 36px; padding: 0; font-size: 0; }
  body.is-pro-page .pro-waypoint-menu-handle > span:nth-child(2),
  body.is-pro-page .pro-waypoint-menu-handle .pro-map-menu-chevron { display: none; }
  body.is-pro-page .pro-waypoint-menu-panel { right: 0; }
  body.is-pro-page .pro-etops-rail { order: -1; margin-right: 0.1rem; margin-left: 0; padding-right: 0.18rem; padding-left: 0; border-right: 1px solid rgba(132, 159, 185, 0.22); border-left: 0; }
  body.is-pro-page .pro-etops-rail-handle { width: 40px; min-width: 40px; min-height: 36px; padding: 0; }
  body.is-pro-page .pro-etops-rail-handle > span:not(:first-child) { display: none; }
  body.is-pro-page .pro-etops-rail-panel {
    width: min(220px, calc(100vw - 32px));
    max-height: 250px;
  }
  body.is-pro-page .pro-etops-rail-panel button,
  body.is-pro-page .pro-etops-rail-panel select,
  body.is-pro-page .pro-etops-rail-panel input { min-height: 44px; font-size: 0.66rem; }
}

/* Restore the full-size airport weather tabs after legacy desktop profile rules. */
@media (min-width: 1181px) {
  body.is-pro-page .pro-hero-weather-card {
    top: 20%;
    width: 210px;
    height: 160px;
    min-height: 160px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto auto auto;
    gap: 0.28rem;
    padding: 0.52rem 0.62rem 0.48rem;
  }
  body.is-pro-page .pro-hero-weather-card.departure { left: 20px; right: auto; }
  body.is-pro-page .pro-hero-weather-card.arrival { right: 20px; left: auto; }
  body.is-pro-page .pro-hero-weather-card > * {
    width: 100%;
    grid-column: 1;
  }
  body.is-pro-page .pro-hero-weather-card .pro-hero-weather-heading {
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: 22px minmax(0, 1fr);
    justify-content: stretch;
    align-self: center;
  }
  body.is-pro-page .pro-hero-weather-card .pro-hero-weather-identity { text-align: left; }
  body.is-pro-page .pro-weather-icon { color: #aab9c9; font-size: 1.18rem; }
  body.is-pro-page .pro-hero-weather-role { font-size: 0.6rem; }
  body.is-pro-page .pro-hero-weather-identity > strong { font-size: 2.1rem; }
  body.is-pro-page .pro-hero-weather-identity > span { font-size: 0.56rem; }
  body.is-pro-page .pro-hero-weather-identity > em { display: block; font-size: 0.5rem; }
  body.is-pro-page .pro-hero-weather-primary { gap: 0.4rem; padding-top: 0.24rem; }
  body.is-pro-page .pro-hero-weather-primary > b { padding: 0.14rem 0.34rem; font-size: 0.56rem; }
  body.is-pro-page .pro-hero-weather-primary > span { font-size: 0.58rem; }
  body.is-pro-page .pro-hero-weather-facts { grid-template-columns: 1fr; gap: 0.12rem; }
  body.is-pro-page .pro-hero-weather-facts > span { font-size: 0.55rem; }
  body.is-pro-page .pro-hero-weather-facts .material-symbols-rounded { font-size: 0.82rem; }
  body.is-pro-page .pro-hero-weather-affordance { gap: 0.35rem; padding-top: 0.24rem; }
  body.is-pro-page .pro-hero-weather-affordance > span { font-size: 0.5rem; }
  body.is-pro-page .pro-hero-weather-affordance > strong { font-size: 0.55rem; }
  body.is-pro-page .pro-hero-weather-heading { grid-row: 1; }
  body.is-pro-page .pro-hero-weather-primary { grid-row: 2; }
  body.is-pro-page .pro-hero-weather-facts { grid-row: 3; }
  body.is-pro-page .pro-hero-weather-affordance { grid-row: 4; }
}

@media (max-width: 620px) {
  body.is-pro-page .pro-active-hero,
  body.is-pro-page .pro-brief-grid { box-sizing: border-box; max-width: 100%; }
  body.is-pro-page .pro-page.pro-active { overflow-x: clip; }
  body.is-pro-page .pro-amm-modal { place-items: stretch; padding: max(0.35rem, env(safe-area-inset-top)) max(0.35rem, env(safe-area-inset-right)) max(0.35rem, env(safe-area-inset-bottom)) max(0.35rem, env(safe-area-inset-left)); }
  body.is-pro-page .pro-amm-modal-panel { box-sizing: border-box; width: 100%; max-width: 100%; height: calc(100dvh - max(0.7rem, env(safe-area-inset-top) + env(safe-area-inset-bottom))); padding: 0.42rem; overflow: hidden; }
  body.is-pro-page .pro-amm-modal-panel .notam-full-heading { align-items: flex-start; gap: 0.45rem; padding: 0.6rem; }
  body.is-pro-page .pro-amm-modal-panel .notam-full-heading > div:first-child { display: grid; justify-items: start; gap: 0.28rem; }
  body.is-pro-page .pro-amm-modal-panel .notam-full-actions button { min-width: 44px; min-height: 44px; padding: 0 0.65rem; }
  body.is-pro-page .pro-amm-last-known { font-size: 0.6rem; }
  body.is-pro-page .pro-amm-recenter > span:last-child { display: none; }
  body.is-pro-page .pro-amm-live-strip { min-height: 36px; gap: 0.48rem; overflow: hidden; font-size: 0.52rem; white-space: nowrap; }
  body.is-pro-page .pro-amm-live-strip span:last-child { display: none; }
  body.is-pro-page .pro-amm-map { min-height: 360px; }
  body.is-pro-page .pro-amm-legend { right: 6px; bottom: 6px; gap: 0.36rem; padding: 0.34rem 0.4rem; }
  body.is-pro-page .pro-amm-target b { max-width: 52px; }
  body.is-pro-page .pro-amm-footer { min-height: 44px; align-items: flex-start; display: grid; gap: 0.14rem; padding: 0.38rem 0.52rem max(0.38rem, env(safe-area-inset-bottom)); line-height: 1.3; }
}

/* Full-site fluid responsive architecture.
   Breakpoints below are driven by component fit: Airport Header (1700px),
   dense operational grids (1400px), and touch/mobile composition (820/620px). */
:root {
  --operational-gutter: clamp(0.45rem, 1.2vw, 2rem);
  --operational-label-size: clamp(0.75rem, 0.16vw + 0.7rem, 0.82rem);
}

html,
body { max-width: 100%; }

.container {
  width: min(calc(100% - clamp(0.8rem, 2.2vw, 4rem)), 220rem);
}

body:not(.is-pro-page) .container {
  width: min(
    calc(100% - clamp(0.8rem, 2.2vw, 4rem)),
    clamp(110rem, calc(92vw - 0.4rem), 220rem)
  );
}

.header-inner,
.header-actions,
.product-nav,
.airport-bar,
.airport-details,
.airport-facts,
.airport-context,
.weather-grid,
.operations-grid,
.dashboard > * { min-width: 0; }

.dashboard {
  grid-template-columns: minmax(0, 1fr);
  gap: var(--operational-gutter);
}

.dashboard > .nas-panel,
.dashboard > .airport-bar { grid-column: 1 / -1; }

.weather-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.operations-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (min-width: 1100px) {
  body:not(.is-pro-page) .airport-details {
    grid-template-columns: minmax(230px, 0.9fr) minmax(320px, 1fr) minmax(380px, 1.3fr);
  }
}

.airport-bar { container-type: inline-size; }
.airport-facts span,
.airport-context span,
.compact-label { font-size: var(--operational-label-size); }
.airport-facts strong,
.airport-context strong { font-size: clamp(0.75rem, 0.14vw + 0.72rem, 0.86rem); }
.airport-context em { font-size: 0.6875rem; }
.flight-category-badge { font-size: 0.6875rem; }

.operational-alert-timing,
.operational-alert-icon,
.airport-badge,
.results-heading span,
.notam-summary .briefing-section-title,
.notam-summary .briefing-show-more,
.notam-count-badge,
.notam-brief-button { font-size: 0.6875rem; }
.priority-badge,
.notam-cat-badge,
.notam-summary .category-chip { font-size: 0.6875rem; }

.analyzer-component-row { font-size: clamp(0.6875rem, 0.12vw + 0.66rem, 0.78rem); }
.analyzer-component-row.header,
.badge,
.rec-active,
.rec-approach,
.rec-ots,
.rec-closed,
.rec-best,
.analyzer-disclaimer { font-size: 0.6875rem; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 2px solid #e8b452;
  outline-offset: 3px;
}

@media (min-width: 821px) and (max-width: 1700px) {
  .airport-bar { grid-template-columns: minmax(0, 1fr); }
  .airport-details {
    padding-top: 0.7rem;
    padding-left: 0;
    border-top: 1px solid var(--border-soft);
    border-left: 0;
  }
}

@media (min-width: 821px) and (max-width: 1099px) {
  .airport-details { grid-template-columns: minmax(13rem, 0.9fr) minmax(0, 1.35fr); }
  .airport-context {
    grid-column: 1 / -1;
    justify-self: stretch;
    justify-content: flex-start;
    margin-left: 0;
    padding-top: 0.65rem;
    border-top: 1px solid var(--border-soft);
    text-align: left;
  }
  .airport-time-grid { justify-content: start; }
}

@media (min-width: 821px) and (max-width: 1400px) {
  .operations-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wind-analyzer-card { grid-column: 1 / -1; min-height: auto; }
}

/* Pro landing remains content-led and grows with short or translated copy. */
body.is-pro-page .pro-page:not(.pro-active) .pro-landing {
  min-height: clamp(32rem, 60dvh, 52rem);
}
body.is-pro-page .pro-page:not(.pro-active) .pro-landing::before {
  background-size: cover;
  transform: none;
}
body.is-pro-page .pro-page:not(.pro-active) .pro-landing-copy,
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section,
body.is-pro-page .pro-page:not(.pro-active) .pro-landing-source-note {
  width: min(80rem, calc(100% - clamp(1.5rem, 5vw, 5rem)));
}
body.is-pro-page .pro-launch-console-title small,
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row label > span,
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-tab,
body.is-pro-page .pro-page:not(.pro-active) .pro-landing-source-note,
body.is-pro-page .pro-page:not(.pro-active) .pro-kicker { font-size: 0.6875rem; }
body.is-pro-page .pro-page:not(.pro-active) .pro-subtitle { font-size: clamp(0.9rem, 0.25vw + 0.84rem, 1.05rem); }
body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-tab,
body.is-pro-page .pro-page:not(.pro-active) .pro-recent-briefs button { min-height: 44px; }

/* Active Pro Hero uses a complete SVG composition. Keep its desktop height
   compact so the route remains a header above the workspace. */
body.is-pro-page .pro-hero-visual { inset: 0; }
body.is-pro-page .pro-hero-visual-svg { overflow: visible; }

@media (min-width: 821px) {
  body.is-pro-page .pro-hero-weather-card {
    width: clamp(13rem, 10vw, 15rem);
    height: auto;
    min-height: 10rem;
  }
  body.is-pro-page .pro-hero-weather-card.departure { left: clamp(1rem, 2vw, 5rem); }
  body.is-pro-page .pro-hero-weather-card.arrival { right: clamp(1rem, 2vw, 5rem); }
}

body.is-pro-page .pro-flight-summary small,
body.is-pro-page .pro-map-heading p,
body.is-pro-page .pro-map-toolbar button,
body.is-pro-page .pro-map-route-strip small,
body.is-pro-page .pro-map-route-strip strong { font-size: var(--operational-label-size); }

body.is-pro-page .pro-airport-card-heading span,
body.is-pro-page .pro-airport-card-heading p,
body.is-pro-page .pro-airport-module header strong,
body.is-pro-page .pro-queue-empty,
body.is-pro-page .pro-queue-leader > span,
body.is-pro-page .pro-airport-flow-status,
body.is-pro-page .pro-airport-flow-metrics small,
body.is-pro-page .pro-airport-flow-source,
body.is-pro-page .pro-amm-summary p,
body.is-pro-page .pro-notam-empty,
body.is-pro-page .pro-map-source-state,
body.is-pro-page .pro-diversion-timeline strong,
body.is-pro-page .pro-diversion-timeline em,
body.is-pro-page .pro-map-route-strip span,
body.is-pro-page .pro-map-route-strip em,
body.is-pro-page .pro-gate-assignment-row span,
body.is-pro-page .pro-gate-assignment-row em,
body.is-pro-page .pro-gate-assignment-row small,
body.is-pro-page .pro-gate-candidates-row span,
body.is-pro-page .pro-gate-candidates-row p,
body.is-pro-page .pro-brief-footer span { font-size: 0.75rem; }

body.is-pro-page .pro-page.pro-active .pro-flight-summary strong,
body.is-pro-page .pro-page.pro-active .pro-side-tabs button { font-size: 0.75rem; }

@media (max-width: 820px) {
  .container { width: min(calc(100% - 0.8rem), 220rem); }
  .weather-grid,
  .operations-grid { grid-template-columns: minmax(0, 1fr); }
  .wind-analyzer-card { grid-column: auto; }

  body.is-pro-page .pro-hero-weather-card {
    height: auto;
    min-height: 10rem;
    align-self: stretch;
    grid-template-rows: auto auto auto auto;
  }
  body.is-pro-page .pro-hero-weather-affordance > strong { font-size: 0; }
  body.is-pro-page .pro-hero-weather-affordance > strong .material-symbols-rounded { font-size: 0.9rem; }

  body.is-pro-page .pro-page:not(.pro-active) .pro-landing {
    min-height: max(36rem, calc(100dvh - 4.5rem));
  }
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing-copy,
  body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section,
  body.is-pro-page .pro-page:not(.pro-active) .pro-landing-source-note {
    width: calc(100% - clamp(1.5rem, 6vw, 2.6rem));
  }
}

@media (max-width: 620px) {
  body:not(.is-pro-page) .site-header .header-inner { gap: 0.65rem; }
  .product-nav-link { min-height: 44px; }
  .header-actions .button,
  .combo-clear,
  .notam-refresh-button { min-width: 44px; min-height: 44px; }

  .airport-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .airport-facts div { padding: 0.55rem 0 0.55rem 0.65rem; }
  .airport-context { width: 100%; }
  .airport-time-grid { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .nas-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nas-item { min-height: 0; align-items: start; gap: 0.45rem; padding: 0.65rem; }
  .nas-item:last-child { grid-column: 1 / -1; }

  .analyzer-component-row.header { display: none; }
  .analyzer-component-row:not(.header) {
    grid-template-columns: minmax(4.8rem, 0.7fr) minmax(0, 1fr);
    grid-template-areas:
      "runway heading"
      "headwind crosswind"
      "status status";
    gap: 0.55rem 0.8rem;
    padding: 0.75rem 0;
  }
  .analyzer-component-row:not(.header) > span { min-width: 0; overflow-wrap: anywhere; }
  .analyzer-component-row:not(.header) > span:nth-child(1) { grid-area: runway; }
  .analyzer-component-row:not(.header) > span:nth-child(2) { grid-area: heading; }
  .analyzer-component-row:not(.header) > span:nth-child(3) { grid-area: headwind; }
  .analyzer-component-row:not(.header) > span:nth-child(4) { grid-area: crosswind; }
  .analyzer-component-row:not(.header) > span:nth-child(5) { grid-area: status; }
  .analyzer-component-row:not(.header) > span::before {
    display: block;
    margin-bottom: 0.14rem;
    color: var(--dim);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }
  .analyzer-component-row:not(.header) > span:nth-child(1)::before { content: "Runway"; }
  .analyzer-component-row:not(.header) > span:nth-child(2)::before { content: "Heading"; }
  .analyzer-component-row:not(.header) > span:nth-child(3)::before { content: "HW / TW"; }
  .analyzer-component-row:not(.header) > span:nth-child(4)::before { content: "Crosswind"; }
  .analyzer-component-row:not(.header) > span:nth-child(5)::before { content: "Status"; }

  body.is-pro-page .pro-route-hero {
    height: auto;
    min-height: 0;
    grid-template-rows: 1.5rem 10.5rem auto auto;
    overflow: visible;
  }
  body.is-pro-page .pro-mobile-route-visual { height: 10.5rem; }
  body.is-pro-page .pro-hero-weather-card {
    height: auto;
    min-height: 8.25rem;
  }
  body.is-pro-page .pro-flight-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-flow: row;
    min-height: 0;
    overflow: visible;
  }
  body.is-pro-page .pro-flight-summary > div,
  body.is-pro-page .pro-flight-summary > div:nth-child(n+3),
  body.is-pro-page .pro-flight-summary > div:nth-child(n+4) {
    min-width: 0;
    display: flex;
    min-height: 42px;
  }
  body.is-pro-page .pro-active-hero > .pro-inbound-panel {
    height: auto;
    min-height: 44px;
  }
  body.is-pro-page .pro-inbound-panel .pro-inbound-empty b {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    line-height: 1.3;
  }
}

@media (hover: none), (pointer: coarse) {
  .button,
  .product-nav-link,
  .pro-lookup-tab,
  body.is-pro-page .pro-map-toolbar button,
  body.is-pro-page .pro-map-expanded-heading button,
  body.is-pro-page .pro-diversion-timeline > button,
  body.is-pro-page .pro-etops-rail-handle { min-height: 44px; }
}

/* Dashboard + Pro operational visual system.
   This final layer only normalizes presentation; layout and data contracts above remain authoritative. */
:root {
  --bg: #020d16;
  --panel: #071a28;
  --panel-strong: #0a2133;
  --panel-soft: #0d273a;
  --text: #edf6fc;
  --muted: #a6bac8;
  --dim: #748b9c;
  --blue: #2e9fe8;
  --blue-strong: #087bc6;
  --border: rgba(129, 169, 195, 0.25);
  --border-soft: rgba(129, 169, 195, 0.14);
  --operational-canvas: #020d16;
  --operational-surface: rgba(7, 26, 40, 0.94);
  --operational-surface-raised: rgba(10, 33, 51, 0.94);
  --operational-surface-inset: rgba(2, 14, 24, 0.68);
  --operational-interactive: rgba(13, 50, 76, 0.72);
  --operational-selected: #168fd8;
  --operational-line: rgba(129, 169, 195, 0.25);
  --operational-line-soft: rgba(129, 169, 195, 0.14);
  --operational-radius: 6px;
  --operational-shadow: 0 18px 52px rgba(0, 7, 14, 0.22);
  --shadow: var(--operational-shadow);
}

body {
  isolation: isolate;
  background:
    linear-gradient(rgba(108, 163, 199, 0.025) 1px, transparent 1px) 50% 0 / 88px 88px fixed,
    linear-gradient(90deg, rgba(108, 163, 199, 0.022) 1px, transparent 1px) 50% 0 / 88px 88px fixed,
    radial-gradient(ellipse at 50% 18%, rgba(18, 106, 164, 0.14), transparent 44rem) fixed,
    radial-gradient(ellipse at 50% 100%, rgba(16, 72, 108, 0.1), transparent 55%) fixed,
    linear-gradient(150deg, #04131f 0%, var(--operational-canvas) 55%, #03111c 100%);
}

body::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(1, 9, 16, 0.68), transparent 22%, transparent 78%, rgba(1, 9, 16, 0.68)),
    radial-gradient(ellipse at 50% 16%, transparent 0 28%, rgba(1, 8, 14, 0.32) 78%);
}

.button {
  border-color: rgba(119, 193, 238, 0.34);
  border-radius: 5px;
  background: #087bc6;
  box-shadow: 0 7px 18px rgba(0, 86, 142, 0.2);
}
.button:hover { background: #1291dc; filter: none; }
.secondary-button { color: #b9e4fb; border-color: rgba(76, 171, 228, 0.42); background: rgba(8, 123, 198, 0.17); box-shadow: none; }
.ghost-button { color: #c8dbe7; border-color: var(--operational-line); background: rgba(5, 24, 38, 0.58); box-shadow: none; }

.dashboard-card,
.airport-bar,
.pro-section,
body.is-pro-page .pro-airport-card,
body.is-pro-page .pro-flight-map-panel,
body.is-pro-page .pro-inbound-panel,
body.is-pro-page .pro-route-coverage {
  border-color: var(--operational-line);
  border-radius: var(--operational-radius);
  background: linear-gradient(145deg, var(--operational-surface-raised), var(--operational-surface));
  box-shadow: var(--operational-shadow), inset 0 1px rgba(255, 255, 255, 0.025);
}

.nas-panel,
.airport-bar { border-color: rgba(111, 174, 213, 0.3); }

.nas-item,
.decoded-report,
.report-text,
.notam-result,
.notam-alerts-footer,
.pro-lookup-results,
body.is-pro-page .pro-airport-module,
body.is-pro-page .pro-map-route-strip {
  background-color: var(--operational-surface-inset);
}

.panel-heading,
.card-heading,
.results-heading,
body.is-pro-page .pro-map-heading,
body.is-pro-page .pro-airport-card-heading {
  border-color: var(--operational-line-soft);
}

.panel-heading h2,
.card-heading h2,
.pro-section-heading h3,
body.is-pro-page .pro-map-heading h3,
body.is-pro-page .pro-airport-module header b {
  color: #f0f6fa;
  font-family: Inter, Manrope, "Segoe UI", sans-serif;
  font-weight: 730;
  letter-spacing: 0.015em;
}

.compact-label,
.airport-facts span,
.airport-context span,
.results-heading h3,
.pro-kicker,
body.is-pro-page .pro-airport-card-heading span,
body.is-pro-page .pro-flight-summary small {
  color: #8eabbd;
  letter-spacing: 0.08em;
}

.airport-combobox input,
.pro-lookup-row input,
body.is-pro-page .pro-header-search,
body.is-pro-page .pro-radius-control select {
  color: #edf6fc;
  border-color: var(--operational-line);
  border-radius: 5px;
  background: rgba(2, 15, 25, 0.7);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.report-time,
.nas-heading-actions p,
.briefing-status,
.pro-map-source-state,
body.is-pro-page .pro-airport-flow-source,
body.is-pro-page .pro-brief-footer { color: #8199aa; }

.pro-lookup-results.loading,
.pro-brief-loading-shell {
  border-color: rgba(46, 159, 232, 0.4);
  background: linear-gradient(90deg, rgba(46, 159, 232, 0.075), rgba(7, 26, 40, 0.94) 42%);
  box-shadow: inset 3px 0 #2e9fe8;
}
.pro-brief-loading-shell .empty-state { color: #a9c2d2; }

body.is-pro-page .pro-route-hero.pro-brief-loading-shell {
  position: relative;
  width: min(calc(100% - var(--operational-gutter) - var(--operational-gutter) - 24px), 220rem);
  margin: 8px auto 0;
}
body.is-pro-page .pro-progressive-loading-states {
  position: absolute;
  z-index: 5;
  right: clamp(28px, 2.5vw, 72px);
  bottom: clamp(22px, 2vw, 48px);
  display: flex;
  gap: 1.2rem;
  color: #dfe8ef;
  text-align: right;
  text-shadow: 0 3px 16px rgba(0, 3, 9, 0.9);
}
body.is-pro-page .pro-progressive-loading-states p { margin: 0; }
body.is-pro-page .pro-progressive-loading-states small,
body.is-pro-page .pro-progressive-loading-states strong { display: block; }
body.is-pro-page .pro-progressive-loading-states small {
  color: #7f96aa;
  font-size: 0.5rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
body.is-pro-page .pro-progressive-loading-states strong {
  margin-top: 0.16rem;
  font-size: 0.66rem;
  font-weight: 650;
}
body.is-pro-page .pro-progressive-loading-states [data-state="unavailable"] { color: #a9b8c4; }

@media (max-width: 620px) {
  body.is-pro-page .pro-progressive-loading-states {
    right: 14px;
    bottom: 14px;
    left: 14px;
    justify-content: space-between;
    gap: 0.7rem;
  }
  body.is-pro-page .pro-progressive-loading-states p:first-child { text-align: left; }
}

body.is-pro-page {
  --pro-ink: #edf6fc;
  --pro-muted: #9eafbd;
  --pro-dim: #718595;
  --pro-blue: #54b2ea;
  --pro-surface: var(--operational-surface);
  --pro-surface-raised: var(--operational-surface-raised);
  --pro-line: var(--operational-line);
  background-color: transparent;
}

body.is-pro-page .pro-header-search:hover { color: #e9f6fd; border-color: rgba(46, 159, 232, 0.5); }
body.is-pro-page .pro-route-line { stroke: #54b2ea; }
body.is-pro-page .pro-route-origin,
body.is-pro-page .pro-route-destination { fill: #087bc6; }
body.is-pro-page .pro-route-aircraft { filter: drop-shadow(0 0 8px rgba(84, 178, 234, 0.78)); }
body.is-pro-page .pro-side-tabs button.active { color: #edf8ff; background: #087bc6; }
body.is-pro-page .pro-radius-control button.active { color: #eff9ff; background: #087bc6; }

body.is-pro-page .pro-route-hero,
body.is-pro-page .pro-active-topbar,
body.is-pro-page .pro-active-hero > .pro-inbound-panel,
body.is-pro-page .pro-brief-grid,
body.is-pro-page .pro-brief-footer {
  width: min(calc(100% - var(--operational-gutter) - var(--operational-gutter)), 220rem);
  margin-inline: auto;
}

body.is-pro-page .pro-route-hero {
  border: 1px solid rgba(107, 163, 199, 0.2);
  border-radius: var(--operational-radius);
  box-shadow: 0 24px 64px rgba(0, 6, 12, 0.3);
}

@media (max-width: 820px) {
  body:not(.is-pro-page) .header-inner {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 0.4rem;
    align-items: center;
    min-height: 60px;
    padding-block: 0.35rem;
  }
  body:not(.is-pro-page) .brand-lockup { align-self: center; }
  body:not(.is-pro-page) .product-nav { width: auto; min-width: 0; justify-content: center; }
  body:not(.is-pro-page) .product-nav-link { flex: 0 1 auto; padding-inline: 0.45rem; }
  body:not(.is-pro-page) .header-actions { width: auto; align-items: center; }
  body:not(.is-pro-page) .header-actions > p { display: none; }
  body:not(.is-pro-page) .header-actions .button { min-width: 44px; min-height: 44px; padding-inline: 0.7rem; }

  body.is-pro-page .site-header { height: auto; }
  body.is-pro-page .header-inner { min-height: 56px; }
  body.is-pro-page .product-nav-link { min-height: 56px; }

  body.is-pro-page .pro-route-hero,
  body.is-pro-page .pro-active-topbar,
  body.is-pro-page .pro-active-hero > .pro-inbound-panel,
  body.is-pro-page .pro-brief-grid,
  body.is-pro-page .pro-brief-footer { width: calc(100% - 0.8rem); }
}

/* Current-flight-only dispatch scan. It reads the existing brief state. */
body.is-pro-page .pro-live-progress {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr));
  width: min(calc(100% - var(--operational-gutter) - var(--operational-gutter)), 220rem);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid var(--operational-line);
  border-radius: var(--operational-radius);
  background: linear-gradient(145deg, var(--operational-surface-raised), var(--operational-surface));
  box-shadow: var(--operational-shadow), inset 0 1px rgba(255, 255, 255, 0.025);
}
body.is-pro-page .pro-live-progress-title { position: absolute; top: 0.24rem; left: 0.86rem; margin: 0; color: #6f8fa4; font-size: 0.6rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
body.is-pro-page .pro-live-progress-cell { min-width: 0; min-height: 72px; padding: 1.1rem 0.86rem 0.7rem; border-left: 1px solid var(--operational-line-soft); }
body.is-pro-page .pro-live-progress-cell:first-child { border-left: 0; }
body.is-pro-page .pro-live-progress-cell small,
body.is-pro-page .pro-live-progress-cell strong,
body.is-pro-page .pro-live-progress-cell span { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-live-progress-cell small { color: #8eabbd; font-size: 0.55rem; font-weight: 800; letter-spacing: 0.09em; }
body.is-pro-page .pro-live-progress-cell strong { margin-top: 0.32rem; color: #dce8f1; font: 700 0.83rem/1.15 "Barlow Condensed", sans-serif; letter-spacing: 0.035em; }
body.is-pro-page .pro-live-progress-cell span { margin-top: 0.28rem; color: #8097a8; font-size: 0.61rem; }
body.is-pro-page .pro-live-progress-now { background: linear-gradient(90deg, rgba(37, 117, 172, 0.16), transparent); }
body.is-pro-page .pro-live-progress-now strong { color: #f1f8fd; font-size: 0.94rem; }
body.is-pro-page .pro-live-progress-cell[data-tone="live"] strong,
body.is-pro-page .pro-live-progress-cell[data-tone="vfr"] strong { color: #7de4af; }
body.is-pro-page .pro-live-progress-cell[data-tone="mvfr"] strong { color: #6fb7ff; }
body.is-pro-page .pro-live-progress-cell[data-tone="ifr"] strong { color: #ff8f9b; }
body.is-pro-page .pro-live-progress-cell[data-tone="lifr"] strong { color: #ef9cff; }
body.is-pro-page .pro-live-progress-cell[data-tone="estimated"] strong { color: #d5c2ff; }
body.is-pro-page .pro-live-progress-cell[data-tone="stale"] strong,
body.is-pro-page .pro-live-progress-cell[data-tone="unavailable"] strong { color: #aab9c5; }

@media (min-width: 1181px) and (min-height: 1500px) {
  body.is-pro-page .pro-brief-grid { min-height: clamp(800px, 42vh, 950px); }
  body.is-pro-page .pro-flight-map-panel,
  body.is-pro-page .pro-airport-card { height: clamp(800px, 42vh, 950px); }
  body.is-pro-page .pro-airport-card { grid-template-rows: 40px 132px 160px 134px minmax(174px, 1fr); }
  body.is-pro-page .pro-notam-triage { gap: 0.42rem; margin-top: 0.48rem; }
  body.is-pro-page .pro-notam-triage-counts { gap: 0.18rem; }
  body.is-pro-page .pro-notam-triage-count { gap: 0.34rem; min-height: 1rem; font-size: 0.58rem; }
  body.is-pro-page .pro-notam-triage-count strong { font-size: 0.64rem; }
  body.is-pro-page .pro-notam-triage-issues { gap: 0.26rem; margin-top: 0.18rem; }
  body.is-pro-page .pro-notam-triage-label { font-size: 0.56rem; }
  body.is-pro-page .pro-notam-triage-issues-list { gap: 0.26rem; }
  body.is-pro-page .pro-notam-triage-issue { gap: 0.38rem; }
  body.is-pro-page .pro-notam-triage-issue > span { margin-top: 0.24rem; }
  body.is-pro-page .pro-notam-triage-issue p { font-size: 0.6rem; line-height: 1.38; }
  body.is-pro-page .pro-notam-triage-issue p { -webkit-line-clamp: 2; }
  body.is-pro-page .pro-airport-notams li:nth-child(n + 3) { display: -webkit-box; }
}

@media (max-width: 1180px) {
  body.is-pro-page .pro-live-progress { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.is-pro-page .pro-live-progress-cell:nth-child(4) { border-left: 0; }
}

@media (max-width: 620px) {
  body.is-pro-page .pro-live-progress { width: calc(100% - 0.8rem); grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.is-pro-page .pro-live-progress-title { left: 0.66rem; }
  body.is-pro-page .pro-live-progress-cell { min-height: 64px; padding: 1rem 0.66rem 0.62rem; }
  body.is-pro-page .pro-live-progress-cell:nth-child(odd) { border-left: 0; }
  body.is-pro-page .pro-live-progress-cell:nth-child(n+3) { border-top: 1px solid var(--operational-line-soft); }
  body.is-pro-page .pro-live-progress-cell:last-child { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .site-header h1,
  body.is-pro-page .site-header h1 { font-size: 0.82rem; }
  .site-header .container.header-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0 0.4rem;
  }
  .site-header .header-inner .brand-lockup { grid-column: 1; grid-row: 1; }
  .site-header .header-inner .header-actions {
    grid-column: 2;
    grid-row: 1;
    width: auto;
    flex-basis: auto;
  }
  .site-header .header-inner .product-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
  }
  .site-header .product-nav .product-nav-link { display: inline-flex; min-height: 44px; }
  body:not(.is-pro-page) .header-actions .button { padding-inline: 0.55rem; }
  body.is-pro-page .pro-route-hero { border-radius: 5px; }
}

/* PilotCB Dashboard Day V1.
   Blue defines the workspace, white carries the data, and silver builds the
   structure. Dashboard and Pro use separate page scopes. */
html[data-theme="day"] body:not(.is-pro-page) {
  --dashboard-day-brand-primary: var(--pilotcb-blue);
  --dashboard-day-brand-bright: var(--pilotcb-flight-blue);
  --dashboard-day-shell: var(--pilotcb-navy);
  --dashboard-day-canvas: #d8e1eb;
  --dashboard-day-canvas-deep: #c7d2df;
  --dashboard-day-data: #ffffff;
  --dashboard-day-data-soft: #f2f5f8;
  --dashboard-day-structure: #e6ebf1;
  --dashboard-day-structure-strong: #b5c1cf;
  --dashboard-day-ink: var(--pilotcb-ink);
  --dashboard-day-muted: #354b69;
  --dashboard-day-dim: #53667f;
  --dashboard-day-shadow: 0 8px 22px rgba(1, 16, 42, 0.11);

  --bg: var(--dashboard-day-canvas);
  --panel: var(--dashboard-day-data);
  --panel-strong: var(--dashboard-day-structure);
  --panel-soft: var(--dashboard-day-data-soft);
  --text: var(--dashboard-day-ink);
  --muted: var(--dashboard-day-muted);
  --dim: var(--dashboard-day-dim);
  --blue: var(--dashboard-day-brand-primary);
  --blue-strong: var(--dashboard-day-brand-bright);
  --border: var(--dashboard-day-structure-strong);
  --border-soft: #ccd5df;
  --operational-canvas: var(--dashboard-day-canvas);
  --operational-surface: var(--dashboard-day-data);
  --operational-surface-raised: var(--dashboard-day-data);
  --operational-surface-inset: var(--dashboard-day-data-soft);
  --operational-interactive: #e5ebf2;
  --operational-selected: var(--dashboard-day-brand-primary);
  --operational-line: var(--dashboard-day-structure-strong);
  --operational-line-soft: #d2d9e2;
  --operational-shadow: var(--dashboard-day-shadow);
  --shadow: var(--dashboard-day-shadow);

  color: var(--dashboard-day-ink);
  background:
    linear-gradient(rgba(5, 39, 108, 0.045) 1px, transparent 1px) 50% 0 / 88px 88px fixed,
    linear-gradient(90deg, rgba(5, 39, 108, 0.038) 1px, transparent 1px) 50% 0 / 88px 88px fixed,
    radial-gradient(ellipse at 50% 7%, rgba(1, 76, 210, 0.17), transparent 40rem) fixed,
    linear-gradient(150deg, #e5ebf1 0%, var(--dashboard-day-canvas) 56%, var(--dashboard-day-canvas-deep) 100%);
}

html[data-theme="day"] body:not(.is-pro-page)::before {
  background:
    linear-gradient(90deg, rgba(5, 39, 108, 0.08), transparent 22%, transparent 78%, rgba(5, 39, 108, 0.08)),
    radial-gradient(ellipse at 50% 8%, transparent 0 30%, rgba(1, 16, 42, 0.06) 88%);
}

html[data-theme="day"] body:not(.is-pro-page) .site-header {
  border-bottom-color: rgba(193, 199, 210, 0.46);
  background: linear-gradient(100deg, #00091b 0%, #05276c 58%, #014cd2 145%);
  box-shadow: 0 9px 26px rgba(1, 16, 42, 0.2);
  backdrop-filter: none;
}

html[data-theme="day"] body:not(.is-pro-page) .site-header h1 { color: var(--pilotcb-white); }
html[data-theme="day"] body:not(.is-pro-page) .site-header h1 em { color: var(--pilotcb-silver); }
html[data-theme="day"] body:not(.is-pro-page) .product-nav-link { color: #bac8dc; }
html[data-theme="day"] body:not(.is-pro-page) .product-nav-link:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}
html[data-theme="day"] body:not(.is-pro-page) .product-nav-link.active { color: #ffffff; }
html[data-theme="day"] body:not(.is-pro-page) .product-nav-link.active::after {
  background: #ffffff;
  box-shadow: 0 -3px 10px rgba(255, 255, 255, 0.28);
}
html[data-theme="day"] body:not(.is-pro-page) .header-actions p { color: #c7d4e5; }
html[data-theme="day"] body:not(.is-pro-page) .header-actions p span { color: #ffffff; }

html[data-theme="day"] body:not(.is-pro-page) .button {
  color: #ffffff;
  border-color: #003ba8;
  background: linear-gradient(135deg, var(--dashboard-day-brand-bright), var(--dashboard-day-brand-primary));
  box-shadow: 0 5px 14px rgba(1, 76, 210, 0.2);
}
html[data-theme="day"] body:not(.is-pro-page) .button:hover { background: #003fb8; }
html[data-theme="day"] body:not(.is-pro-page) .ghost-button {
  color: #173659;
  border-color: #aab8c8;
  background: #eef2f6;
  box-shadow: none;
}
html[data-theme="day"] body:not(.is-pro-page) .ghost-button:hover { background: #e1e7ee; }
html[data-theme="day"] body:not(.is-pro-page) .secondary-button {
  color: #003caa;
  border-color: #8ea8ce;
  background: #e8effa;
  box-shadow: none;
}

html[data-theme="day"] body:not(.is-pro-page) .dashboard-card,
html[data-theme="day"] body:not(.is-pro-page) .airport-bar {
  border-color: var(--dashboard-day-structure-strong);
  background: var(--dashboard-day-data);
  box-shadow: var(--dashboard-day-shadow), inset 0 1px rgba(255, 255, 255, 0.9);
}

html[data-theme="day"] body:not(.is-pro-page) .weather-grid {
  box-shadow: 0 -3px 0 var(--dashboard-day-brand-primary);
}
html[data-theme="day"] body:not(.is-pro-page) .operations-grid {
  box-shadow: 0 -3px 0 #05276c;
}

html[data-theme="day"] body:not(.is-pro-page) .nas-panel {
  border-color: #0e4b9f;
  background: linear-gradient(115deg, #05276c 0%, #0649a7 72%, #0161ee 155%);
  box-shadow: 0 9px 24px rgba(1, 43, 107, 0.2);
}
html[data-theme="day"] body:not(.is-pro-page) .nas-panel .panel-heading h2,
html[data-theme="day"] body:not(.is-pro-page) .nas-panel .nas-heading-actions p,
html[data-theme="day"] body:not(.is-pro-page) .nas-panel .nas-heading-actions #nas-status-message { color: #ffffff; }
html[data-theme="day"] body:not(.is-pro-page) .nas-panel .panel-icon,
html[data-theme="day"] body:not(.is-pro-page) .nas-panel .nas-source { color: #d6e8ff; }
html[data-theme="day"] body:not(.is-pro-page) .nas-panel .nas-source:hover { color: #ffffff; }
html[data-theme="day"] body:not(.is-pro-page) .nas-panel .ghost-button {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.48);
  background: rgba(0, 9, 27, 0.18);
}
html[data-theme="day"] body:not(.is-pro-page) .nas-item {
  color: var(--dashboard-day-ink);
  border-color: rgba(181, 193, 207, 0.9);
  background: linear-gradient(180deg, #ffffff, #edf2f7);
  box-shadow: inset 0 1px #ffffff;
}
html[data-theme="day"] body:not(.is-pro-page) .nas-item strong { color: #102846; }
html[data-theme="day"] body:not(.is-pro-page) .nas-item p { color: #4b6079; }
html[data-theme="day"] body:not(.is-pro-page) .nas-item.neutral .nas-symbol,
html[data-theme="day"] body:not(.is-pro-page) .nas-item.neutral h3 { color: #0754ba; }

html[data-theme="day"] body:not(.is-pro-page) .airport-bar {
  color: #ffffff;
  border-color: #0f4ea2;
  background:
    linear-gradient(90deg, rgba(193, 199, 210, 0.2), transparent 16%),
    linear-gradient(112deg, #05276c 0%, #014cd2 62%, #0161ee 145%);
  box-shadow: 0 10px 25px rgba(1, 48, 124, 0.2);
}
html[data-theme="day"] body:not(.is-pro-page) .airport-details { border-color: rgba(220, 230, 242, 0.3); }
html[data-theme="day"] body:not(.is-pro-page) .compact-label,
html[data-theme="day"] body:not(.is-pro-page) .airport-facts span,
html[data-theme="day"] body:not(.is-pro-page) .airport-context span { color: #bfd2ec; }
html[data-theme="day"] body:not(.is-pro-page) .airport-details h2,
html[data-theme="day"] body:not(.is-pro-page) #airport-full-name,
html[data-theme="day"] body:not(.is-pro-page) .airport-facts strong,
html[data-theme="day"] body:not(.is-pro-page) .airport-context strong { color: #ffffff; }
html[data-theme="day"] body:not(.is-pro-page) .airport-details #station-meta,
html[data-theme="day"] body:not(.is-pro-page) .airport-context em { color: #c8d7ea; }
html[data-theme="day"] body:not(.is-pro-page) .airport-facts div { border-color: rgba(220, 230, 242, 0.3); }
html[data-theme="day"] body:not(.is-pro-page) .combobox-input-wrap {
  border-color: #aab8ca;
  background: #ffffff;
  box-shadow: inset 0 1px 2px rgba(1, 16, 42, 0.08);
}
html[data-theme="day"] body:not(.is-pro-page) .combobox-input-wrap:focus-within {
  border-color: var(--dashboard-day-brand-bright);
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.28), 0 0 0 5px rgba(1, 97, 238, 0.42);
}
html[data-theme="day"] body:not(.is-pro-page) #airport-combo-input { color: var(--dashboard-day-ink); }
html[data-theme="day"] body:not(.is-pro-page) #airport-combo-input::placeholder { color: #61738a; }
html[data-theme="day"] body:not(.is-pro-page) .combo-clear,
html[data-theme="day"] body:not(.is-pro-page) .combo-chevron { color: #52657e; }
html[data-theme="day"] body:not(.is-pro-page) .airport-combo-dropdown {
  color: var(--dashboard-day-ink);
  border-color: #9eacbd;
  background: #ffffff;
  box-shadow: 0 14px 32px rgba(1, 16, 42, 0.2);
}
html[data-theme="day"] body:not(.is-pro-page) .combo-group-heading {
  color: #003caa;
  border-color: #c6d0db;
  background: #e8edf3;
}
html[data-theme="day"] body:not(.is-pro-page) .combo-option { border-color: #d5dce4; }
html[data-theme="day"] body:not(.is-pro-page) .combo-option:hover,
html[data-theme="day"] body:not(.is-pro-page) .combo-option.combo-highlighted { background: #eaf2ff; }
html[data-theme="day"] body:not(.is-pro-page) .combo-option.selected {
  background: #e8f7ef;
  box-shadow: inset 3px 0 var(--operational-success);
}
html[data-theme="day"] body:not(.is-pro-page) .combo-favorite {
  color: #4f6279;
  border-color: #b6c2cf;
  background: #eef2f6;
}
html[data-theme="day"] body:not(.is-pro-page) .combo-option-icao { color: #003ea8; }
html[data-theme="day"] body:not(.is-pro-page) .combo-favorite.active,
html[data-theme="day"] body:not(.is-pro-page) .combo-favorite:hover { color: #947019; border-color: #b2934e; background: #f5edda; }
html[data-theme="day"] body:not(.is-pro-page) .combo-option-name { color: var(--dashboard-day-ink); }
html[data-theme="day"] body:not(.is-pro-page) .combo-option-city { color: var(--dashboard-day-muted); }

html[data-theme="day"] body:not(.is-pro-page) .weather-card,
html[data-theme="day"] body:not(.is-pro-page) .operations-grid > .dashboard-card {
  border-color: #adb9c8;
  background: #ffffff;
}
html[data-theme="day"] body:not(.is-pro-page) .card-heading {
  border-color: #c2ccd7;
  background: linear-gradient(180deg, #eef2f6, #e2e8ef);
  box-shadow: inset 4px 0 var(--dashboard-day-brand-primary);
}
html[data-theme="day"] body:not(.is-pro-page) .card-heading h2,
html[data-theme="day"] body:not(.is-pro-page) .results-heading h3 { color: #092141; }
html[data-theme="day"] body:not(.is-pro-page) .weather-icon { color: var(--dashboard-day-brand-primary); }
html[data-theme="day"] body:not(.is-pro-page) .report-time,
html[data-theme="day"] body:not(.is-pro-page) .results-heading span { color: #52657d; }
html[data-theme="day"] body:not(.is-pro-page) .report-text,
html[data-theme="day"] body:not(.is-pro-page) .decoded-report {
  color: #17314f;
  background-color: #f4f7fa;
}
html[data-theme="day"] body:not(.is-pro-page) .report-text { border-bottom: 1px solid #d7dee6; }
html[data-theme="day"] body:not(.is-pro-page) #metar-text { color: #075f3a; }
html[data-theme="day"] body:not(.is-pro-page) #atis-text.atis-live-text { color: #143453; }
html[data-theme="day"] body:not(.is-pro-page) .decoded-summary { color: #3c516c; }
html[data-theme="day"] body:not(.is-pro-page) .decoded-grid dt { color: #4c6078; }
html[data-theme="day"] body:not(.is-pro-page) .decoded-grid dd,
html[data-theme="day"] body:not(.is-pro-page) .cloud-neutral { color: #112c4c; }

html[data-theme="day"] body:not(.is-pro-page) .condition-badge.vfr { color: #075c37; background: #d7f4e5; }
html[data-theme="day"] body:not(.is-pro-page) .condition-badge.mvfr { color: #064f91; background: #dceeff; }
html[data-theme="day"] body:not(.is-pro-page) .condition-badge.ifr { color: #744500; background: #fff0c9; }
html[data-theme="day"] body:not(.is-pro-page) .condition-badge.lifr { color: #8f2031; background: #ffe1e5; }
html[data-theme="day"] body:not(.is-pro-page) .condition-badge.neutral { color: #354b65; background: #e2e8ef; }
html[data-theme="day"] body:not(.is-pro-page) .cloud-attention,
html[data-theme="day"] body:not(.is-pro-page) .cloud-warning { color: #764900; }
html[data-theme="day"] body:not(.is-pro-page) .cloud-critical { color: #8e1f31; }

html[data-theme="day"] body:not(.is-pro-page) .notam-results,
html[data-theme="day"] body:not(.is-pro-page) .notam-alerts-footer,
html[data-theme="day"] body:not(.is-pro-page) .notam-result {
  border-color: #d1d9e2;
  background-color: #f4f7fa;
}
html[data-theme="day"] body:not(.is-pro-page) .notam-result:hover { background: #edf2f7; }
html[data-theme="day"] body:not(.is-pro-page) .operational-alert-summary,
html[data-theme="day"] body:not(.is-pro-page) .notam-summary,
html[data-theme="day"] body:not(.is-pro-page) .notam-summary .priority-count-pill,
html[data-theme="day"] body:not(.is-pro-page) .notam-summary .briefing-items li { color: #243d5b; }
html[data-theme="day"] body:not(.is-pro-page) .operational-alert-timing,
html[data-theme="day"] body:not(.is-pro-page) .notam-summary .briefing-status,
html[data-theme="day"] body:not(.is-pro-page) .briefing-disclaimer { color: #53667d; }
html[data-theme="day"] body:not(.is-pro-page) .operational-alert-icon,
html[data-theme="day"] body:not(.is-pro-page) .priority-badge.informational,
html[data-theme="day"] body:not(.is-pro-page) .notam-cat-badge {
  color: #0751ad;
  background: #dceaff;
}
html[data-theme="day"] body:not(.is-pro-page) .operational-alert.critical .operational-alert-icon,
html[data-theme="day"] body:not(.is-pro-page) .priority-badge.critical {
  color: #a32338;
  background: #ffe3e7;
}
html[data-theme="day"] body:not(.is-pro-page) .operational-alert.important .operational-alert-icon,
html[data-theme="day"] body:not(.is-pro-page) .priority-badge.important {
  color: #744500;
  background: #fff0c9;
}
html[data-theme="day"] body:not(.is-pro-page) .notam-summary .briefing-section-title,
html[data-theme="day"] body:not(.is-pro-page) .notam-summary .briefing-show-more { color: #064cac; }
html[data-theme="day"] body:not(.is-pro-page) .notam-summary .briefing-section-title,
html[data-theme="day"] body:not(.is-pro-page) .notam-summary .briefing-categories { border-color: #d7dee6; }
html[data-theme="day"] body:not(.is-pro-page) .notam-summary .category-chip {
  color: #2f4c6c;
  background: #e6edf5;
}
html[data-theme="day"] body:not(.is-pro-page) .notam-count-badge {
  border-color: #c6d0db;
  background: #edf2f6;
}
html[data-theme="day"] body:not(.is-pro-page) .notam-count-badge.notam-count-critical { color: #9f2638; }
html[data-theme="day"] body:not(.is-pro-page) .notam-count-badge.notam-count-important { color: #775000; }
html[data-theme="day"] body:not(.is-pro-page) .notam-count-badge.notam-count-informational { color: #0751ad; }

html[data-theme="day"] body:not(.is-pro-page) .airport-badge {
  color: #075b38;
  border-color: #83bca0;
  background: #dff2e8;
}
html[data-theme="day"] body:not(.is-pro-page) .analyzer-wind-display p,
html[data-theme="day"] body:not(.is-pro-page) .analyzer-component-row { color: #243d5a; }
html[data-theme="day"] body:not(.is-pro-page) .analyzer-wind-display .wind-value { color: #064cac; }
html[data-theme="day"] body:not(.is-pro-page) .analyzer-wind-display .wind-detail,
html[data-theme="day"] body:not(.is-pro-page) .analyzer-component-row.header,
html[data-theme="day"] body:not(.is-pro-page) .analyzer-disclaimer { color: #52657d; }
html[data-theme="day"] body:not(.is-pro-page) .analyzer-component-row { border-color: #d1d9e2; }
html[data-theme="day"] body:not(.is-pro-page) .analyzer-component-row.header { border-color: #9caabd; }
html[data-theme="day"] body:not(.is-pro-page) .analyzer-component-row.best { background: rgba(59, 216, 137, 0.13); }
html[data-theme="day"] body:not(.is-pro-page) .cw-low,
html[data-theme="day"] body:not(.is-pro-page) .rec-approach { color: #4b6078; }

html[data-theme="day"] body:not(.is-pro-page) .empty-state { color: #566980; }
html[data-theme="day"] body:not(.is-pro-page) .site-footer {
  border-color: #aab6c5;
  background: #c9d3de;
}
html[data-theme="day"] body:not(.is-pro-page) .site-footer p { color: #334a67; }

html[data-theme="day"] body:not(.is-pro-page) button:focus-visible,
html[data-theme="day"] body:not(.is-pro-page) a:focus-visible,
html[data-theme="day"] body:not(.is-pro-page) input:focus-visible,
html[data-theme="day"] body:not(.is-pro-page) select:focus-visible,
html[data-theme="day"] body:not(.is-pro-page) summary:focus-visible {
  outline-color: var(--dashboard-day-brand-bright);
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme="day"] body:not(.is-pro-page) *,
  html[data-theme="day"] body:not(.is-pro-page) *::before,
  html[data-theme="day"] body:not(.is-pro-page) *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (max-width: 620px) {
  html[data-theme="day"] body:not(.is-pro-page) .airport-details {
    padding: 0.7rem;
    color: var(--dashboard-day-ink);
    border: 1px solid #b4c0ce;
    border-radius: 5px;
    background: linear-gradient(180deg, #f8fafc, #e9eef4);
    box-shadow: inset 0 1px #ffffff;
  }
  html[data-theme="day"] body:not(.is-pro-page) .airport-details h2,
  html[data-theme="day"] body:not(.is-pro-page) .airport-details #airport-full-name,
  html[data-theme="day"] body:not(.is-pro-page) .airport-details .airport-facts strong,
  html[data-theme="day"] body:not(.is-pro-page) .airport-details .airport-context strong { color: #0b294d; }
  html[data-theme="day"] body:not(.is-pro-page) .airport-details .airport-facts span,
  html[data-theme="day"] body:not(.is-pro-page) .airport-details .airport-context span { color: #405978; }
  html[data-theme="day"] body:not(.is-pro-page) .airport-details #station-meta,
  html[data-theme="day"] body:not(.is-pro-page) .airport-details .airport-context em { color: #536a84; }
  html[data-theme="day"] body:not(.is-pro-page) .airport-details .airport-facts div,
  html[data-theme="day"] body:not(.is-pro-page) .airport-details .airport-context { border-color: #c4ced9; }
}

/* PilotCB Pro Day V1 — internal QA theme only.
   Pro keeps the accepted Night geometry and DOM. Day changes the visual
   surfaces in this page scope; no public toggle or data behavior is added. */
html[data-theme="day"] body.is-pro-page {
  --pro-day-shell: var(--pilotcb-navy);
  --pro-day-blue: var(--pilotcb-blue);
  --pro-day-blue-bright: var(--pilotcb-flight-blue);
  --pro-day-canvas: #d8e1eb;
  --pro-day-canvas-deep: #c6d2df;
  --pro-day-data: #ffffff;
  --pro-day-data-soft: #f2f5f8;
  --pro-day-structure: #c2ccd7;
  --pro-day-structure-strong: #8799ae;
  --pro-day-ink: var(--pilotcb-ink);
  --pro-day-muted: #38506f;
  --pro-day-dim: #536780;
  --pro-day-data-inset: #e7edf3;
  --pro-day-success: #0b6e4f;
  --pro-day-caution: #8a5300;
  --pro-day-critical: #b42318;
  --pro-day-information: #0b5cad;
  --pro-day-shadow: 0 9px 26px rgba(1, 16, 42, 0.13);

  --pro-ink: var(--pro-day-ink);
  --pro-muted: var(--pro-day-muted);
  --pro-dim: var(--pro-day-dim);
  --pro-blue: var(--pro-day-blue-bright);
  --pro-surface: var(--pro-day-data);
  --pro-surface-raised: var(--pro-day-data);
  --pro-line: var(--pro-day-structure);
  color: var(--pro-day-ink);
  background:
    linear-gradient(rgba(5, 39, 108, 0.04) 1px, transparent 1px) 50% 0 / 88px 88px fixed,
    linear-gradient(90deg, rgba(5, 39, 108, 0.035) 1px, transparent 1px) 50% 0 / 88px 88px fixed,
    radial-gradient(ellipse at 50% 0, rgba(1, 76, 210, 0.15), transparent 42rem) fixed,
    linear-gradient(150deg, #e5ebf1 0%, var(--pro-day-canvas) 56%, var(--pro-day-canvas-deep) 100%);
}

html[data-theme="day"] body.is-pro-page .site-header {
  border-bottom-color: rgba(193, 199, 210, 0.52);
  background: linear-gradient(100deg, #00091b 0%, #05276c 58%, #014cd2 145%);
  box-shadow: 0 9px 26px rgba(1, 16, 42, 0.2);
  backdrop-filter: none;
}
html[data-theme="day"] body.is-pro-page .site-header h1 { color: var(--pilotcb-white); }
html[data-theme="day"] body.is-pro-page .site-header h1 em { color: var(--pilotcb-silver); }
html[data-theme="day"] body.is-pro-page .product-nav-link { color: #bed0e5; }
html[data-theme="day"] body.is-pro-page .product-nav-link:hover { color: #fff; background: rgba(255, 255, 255, 0.08); }
html[data-theme="day"] body.is-pro-page .product-nav-link.active { color: #fff; }
html[data-theme="day"] body.is-pro-page .product-nav-link.active::after { background: #fff; box-shadow: 0 -3px 10px rgba(255, 255, 255, 0.28); }
html[data-theme="day"] body.is-pro-page .pro-header-search,
html[data-theme="day"] body.is-pro-page .pro-header-icon,
html[data-theme="day"] body.is-pro-page .pro-profile {
  color: #dce9f8;
  border-color: rgba(220, 235, 250, 0.38);
  background: rgba(0, 9, 27, 0.24);
}
html[data-theme="day"] body.is-pro-page .pro-header-search:hover { color: #fff; border-color: rgba(255, 255, 255, 0.74); }

html[data-theme="day"] body.is-pro-page .pro-landing,
html[data-theme="day"] body.is-pro-page .pro-lookup-section {
  border-color: #7e97b5;
  box-shadow: var(--pro-day-shadow), inset 0 1px rgba(255, 255, 255, 0.34);
}
html[data-theme="day"] body.is-pro-page .pro-landing {
  background:
    radial-gradient(circle at 78% 36%, rgba(79, 168, 255, 0.34), transparent 17rem),
    linear-gradient(112deg, #05276c 0%, #014cd2 72%, #0161ee 145%);
}
html[data-theme="day"] body.is-pro-page .pro-landing .pro-kicker { color: #dbeaff; }
html[data-theme="day"] body.is-pro-page .pro-landing h2 { color: #fff; }
html[data-theme="day"] body.is-pro-page .pro-landing .pro-subtitle { color: #e2edfb; }
html[data-theme="day"] body.is-pro-page .pro-lookup-section { background: rgba(255, 255, 255, 0.96); }
html[data-theme="day"] body.is-pro-page .pro-lookup-section .pro-launch-console-title,
html[data-theme="day"] body.is-pro-page .pro-lookup-section .pro-section-heading h3,
html[data-theme="day"] body.is-pro-page .pro-lookup-section .pro-lookup-row span { color: #09264a; }
html[data-theme="day"] body.is-pro-page .pro-lookup-section .pro-launch-console-title small { color: #526983; }
html[data-theme="day"] body.is-pro-page .pro-lookup-section .pro-launch-console-title h3 { color: #09264a; }
html[data-theme="day"] body.is-pro-page .pro-lookup-tabs { border-color: #b6c3d1; background: #e9eef4; }
html[data-theme="day"] body.is-pro-page .pro-lookup-tab { color: #3f5671; }
html[data-theme="day"] body.is-pro-page .pro-lookup-tab:hover { color: #06234a; background: #dce8f8; }
html[data-theme="day"] body.is-pro-page .pro-lookup-tab.active { color: #fff; background: var(--pro-day-blue); }
html[data-theme="day"] body.is-pro-page .pro-lookup-row input,
html[data-theme="day"] body.is-pro-page .pro-brief-form input,
html[data-theme="day"] body.is-pro-page .pro-checklist select {
  color: var(--pro-day-ink);
  border-color: #aab8c8;
  background: #fff;
  box-shadow: inset 0 1px 2px rgba(1, 16, 42, 0.08);
}
html[data-theme="day"] body.is-pro-page .pro-lookup-row input::placeholder { color: #61738a; }
html[data-theme="day"] body.is-pro-page .pro-lookup-results,
html[data-theme="day"] body.is-pro-page .pro-recent-briefs { color: var(--pro-day-ink); border-color: #c4ced9; background: #f2f5f8; }
html[data-theme="day"] body.is-pro-page .pro-lookup-results strong,
html[data-theme="day"] body.is-pro-page .pro-recent-briefs > span { color: #0b315d; }
html[data-theme="day"] body.is-pro-page .pro-lookup-results.loading,
html[data-theme="day"] body.is-pro-page .pro-brief-loading-shell { border-color: #6a9dd8; background: linear-gradient(90deg, #e5f0ff, #f8fafc 42%); box-shadow: inset 3px 0 var(--pro-day-blue-bright); }
html[data-theme="day"] body.is-pro-page .pro-lookup-results.operation-selector {
  color: var(--pro-day-ink);
  border-color: var(--pro-day-structure-strong);
  background: var(--pro-day-data-soft);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.7);
}
html[data-theme="day"] body.is-pro-page .pro-operation-selector-heading h4 { color: var(--pro-day-ink); }
html[data-theme="day"] body.is-pro-page .pro-operation-selector-heading p { color: var(--pro-day-muted); }
html[data-theme="day"] body.is-pro-page .pro-operation-selector-heading .pro-operation-selector-kicker { color: var(--pro-day-blue); }
html[data-theme="day"] body.is-pro-page .pro-operation-option {
  color: var(--pro-day-ink);
  border-color: var(--pro-day-structure-strong);
  background: var(--pro-day-data);
}
html[data-theme="day"] body.is-pro-page .pro-operation-option:hover {
  border-color: var(--pro-day-blue-bright);
  background: #e5f0ff;
}
html[data-theme="day"] body.is-pro-page .pro-operation-option:focus-visible {
  outline-color: var(--pro-day-blue-bright);
  border-color: var(--pro-day-blue-bright);
}
html[data-theme="day"] body.is-pro-page .pro-operation-option.is-loading {
  border-color: var(--pro-day-blue);
  background: #e5f0ff;
}
html[data-theme="day"] body.is-pro-page .pro-operation-option-top strong { color: var(--pro-day-ink); }
html[data-theme="day"] body.is-pro-page .pro-lookup-results.operation-selector .pro-operation-option-route { color: var(--pro-day-ink); }
html[data-theme="day"] body.is-pro-page .pro-lookup-results.operation-selector .pro-operation-option-route i,
html[data-theme="day"] body.is-pro-page .pro-lookup-results.operation-selector .pro-operation-option-action { color: var(--pro-day-blue); }
html[data-theme="day"] body.is-pro-page .pro-operation-option-top b {
  color: var(--pro-day-muted);
  border-color: var(--pro-day-structure);
  background: var(--pro-day-data-inset);
}
html[data-theme="day"] body.is-pro-page .pro-operation-option-facts span { color: var(--pro-day-muted); }
html[data-theme="day"] body.is-pro-page .pro-operation-option-facts small { color: var(--pro-day-dim); }

/* The accepted landing profile has a more specific structural selector. */
html[data-theme="day"] body.is-pro-page .pro-page:not(.pro-active) .pro-landing {
  border-color: #7e97b5;
  background:
    radial-gradient(circle at 78% 36%, rgba(79, 168, 255, 0.34), transparent 17rem),
    linear-gradient(112deg, #05276c 0%, #014cd2 72%, #0161ee 145%);
}
html[data-theme="day"] body.is-pro-page .pro-page:not(.pro-active) .pro-landing h2 { color: #fff; }
html[data-theme="day"] body.is-pro-page .pro-page:not(.pro-active) .pro-subtitle { color: #e2edfb; }
html[data-theme="day"] body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section { background: rgba(255, 255, 255, 0.96); }
html[data-theme="day"] body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section .pro-lookup-tab { color: #3f5671; }
html[data-theme="day"] body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-section .pro-lookup-tab.active { color: #fff; background: var(--pro-day-blue); }
html[data-theme="day"] body.is-pro-page .pro-page:not(.pro-active) .pro-lookup-row input { color: var(--pro-day-ink); border-color: #aab8c8; background: #fff; }

/* Active brief: blue owns the hero and map frame; light surfaces carry data. */
html[data-theme="day"] body.is-pro-page .pro-route-hero {
  border-color: #0e4b9f;
  background: linear-gradient(112deg, #05276c, #014cd2 70%, #063b91);
  box-shadow: 0 12px 30px rgba(1, 43, 107, 0.22), inset 0 1px rgba(255, 255, 255, 0.18);
}
html[data-theme="day"] body.is-pro-page .pro-earth-image { filter: saturate(0.68) brightness(1.02) contrast(1.08); }
html[data-theme="day"] body.is-pro-page .pro-earth-rim { stroke: #9ccaff; }
html[data-theme="day"] body.is-pro-page .pro-route-hero::after {
  background:
    linear-gradient(90deg, rgba(0, 9, 27, 0.42), transparent 30%, transparent 70%, rgba(0, 9, 27, 0.46)),
    linear-gradient(180deg, rgba(5, 39, 108, 0.06), transparent 58%, rgba(0, 9, 27, 0.28));
}
html[data-theme="day"] body.is-pro-page .pro-flight-identity { color: #fff; text-shadow: 0 2px 12px rgba(0, 9, 27, 0.55); }
html[data-theme="day"] body.is-pro-page .pro-flight-identity > span { border-color: rgba(152, 231, 181, 0.58); background: rgba(6, 102, 63, 0.74); }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-card {
  color: var(--pro-day-ink);
  border-color: #9aabba;
  background: linear-gradient(155deg, #fff, #eef3f7);
  box-shadow: 0 12px 28px rgba(0, 9, 27, 0.24), inset 0 1px #fff;
  backdrop-filter: none;
}
html[data-theme="day"] body.is-pro-page .pro-hero-weather-card:hover { border-color: var(--pro-day-blue-bright); box-shadow: 0 15px 32px rgba(1, 47, 120, 0.24), inset 0 1px #fff; }
html[data-theme="day"] body.is-pro-page .pro-weather-icon { color: var(--pro-day-blue); filter: none; }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-role { color: #0754ba; }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-identity > strong { color: #092b54; }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-identity > span { color: #304b69; }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-identity > em { color: #61738a; }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-primary,
html[data-theme="day"] body.is-pro-page .pro-hero-weather-affordance { border-color: #d0d9e2; }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-primary > span { color: #1e3d62; }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-facts > span { color: #38506f; }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-facts .material-symbols-rounded { color: #41688f; }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-affordance > span { color: #536780; }
html[data-theme="day"] body.is-pro-page .pro-hero-weather-affordance > strong { color: #0754ba; }
html[data-theme="day"] body.is-pro-page .pro-route-line { stroke: #75bdff; mix-blend-mode: normal; filter: drop-shadow(0 0 2px rgba(0, 20, 70, 0.5)); }
html[data-theme="day"] body.is-pro-page .pro-route-origin,
html[data-theme="day"] body.is-pro-page .pro-route-destination { fill: #fff; stroke: #7ec5ef; }
html[data-theme="day"] body.is-pro-page .pro-flight-summary { background: linear-gradient(90deg, transparent, rgba(0, 9, 27, 0.28) 12%, rgba(0, 9, 27, 0.28) 88%, transparent); }
html[data-theme="day"] body.is-pro-page .pro-flight-summary .material-symbols-rounded { color: #dcecff; }
html[data-theme="day"] body.is-pro-page .pro-flight-summary small { color: #c1d4eb; }
html[data-theme="day"] body.is-pro-page .pro-flight-summary strong { color: #fff; }
html[data-theme="day"] body.is-pro-page .pro-active-hero > .pro-inbound-panel {
  color: var(--pro-day-ink);
  border-color: #9aabba;
  background: linear-gradient(180deg, #fff, #eef3f7);
  box-shadow: var(--pro-day-shadow), inset 0 1px #fff;
}
html[data-theme="day"] body.is-pro-page .pro-active-hero > .pro-inbound-panel > .material-symbols-rounded { color: var(--pro-day-blue); }
html[data-theme="day"] body.is-pro-page .pro-active-hero > .pro-inbound-panel > strong { color: #173b63; }
html[data-theme="day"] body.is-pro-page .pro-inbound-panel p { border-color: #d0d9e2; }
html[data-theme="day"] body.is-pro-page .pro-inbound-panel small { color: #536780; }
html[data-theme="day"] body.is-pro-page .pro-inbound-panel b { color: #092b54; }
html[data-theme="day"] body.is-pro-page .pro-inbound-state { color: #536780; border-color: #b4c1ce; background: #e5ebf1; }

html[data-theme="day"] body.is-pro-page .pro-brief-header,
html[data-theme="day"] body.is-pro-page .pro-brief-panel,
html[data-theme="day"] body.is-pro-page .pro-airport-card,
html[data-theme="day"] body.is-pro-page .pro-attention-panel,
html[data-theme="day"] body.is-pro-page .pro-comparison-panel,
html[data-theme="day"] body.is-pro-page .pro-route-overview-panel,
html[data-theme="day"] body.is-pro-page .pro-route-coverage,
html[data-theme="day"] body.is-pro-page .pro-etops-panel,
html[data-theme="day"] body.is-pro-page .pro-oceanic-panel,
html[data-theme="day"] body.is-pro-page .pro-flow-panel,
html[data-theme="day"] body.is-pro-page .pro-notam-panel,
html[data-theme="day"] body.is-pro-page .pro-flight-map-panel {
  color: var(--pro-day-ink);
  border-color: var(--pro-day-structure-strong);
  background: linear-gradient(145deg, #fff, #f0f4f8);
  box-shadow: var(--pro-day-shadow), inset 0 1px #fff;
}
html[data-theme="day"] body.is-pro-page .pro-airport-card { background: #eef3f7; }
html[data-theme="day"] body.is-pro-page .pro-airport-card-heading,
html[data-theme="day"] body.is-pro-page .pro-map-heading { border-color: #c6d0db; }
html[data-theme="day"] body.is-pro-page .pro-airport-card-heading { background: linear-gradient(180deg, #eef2f6, #e2e8ef); }
html[data-theme="day"] body.is-pro-page .pro-airport-card-heading h4,
html[data-theme="day"] body.is-pro-page .pro-airport-card-heading span,
html[data-theme="day"] body.is-pro-page .pro-map-heading h3,
html[data-theme="day"] body.is-pro-page .pro-workspace-heading h3,
html[data-theme="day"] body.is-pro-page .pro-section-heading h3 { color: #09264a; }
html[data-theme="day"] body.is-pro-page .pro-airport-card-heading p,
html[data-theme="day"] body.is-pro-page .pro-map-heading p,
html[data-theme="day"] body.is-pro-page .pro-workspace-heading p,
html[data-theme="day"] body.is-pro-page .pro-section-heading p { color: var(--pro-day-muted); }
html[data-theme="day"] body.is-pro-page .pro-airport-module,
html[data-theme="day"] body.is-pro-page .pro-route-flow article,
html[data-theme="day"] body.is-pro-page .pro-fact-grid div,
html[data-theme="day"] body.is-pro-page .pro-route-detail-grid div,
html[data-theme="day"] body.is-pro-page .pro-inbound-grid div,
html[data-theme="day"] body.is-pro-page .pro-etops-facts div,
html[data-theme="day"] body.is-pro-page .pro-oceanic-summary div,
html[data-theme="day"] body.is-pro-page .pro-flow-grid div,
html[data-theme="day"] body.is-pro-page .pro-notam-summary-grid div {
  border-color: #d0d9e2;
  background: var(--pro-day-data-soft);
  box-shadow: inset 0 1px #fff;
}
html[data-theme="day"] body.is-pro-page .pro-airport-module header,
html[data-theme="day"] body.is-pro-page .pro-route-status { border-color: #d0d9e2; }
html[data-theme="day"] body.is-pro-page .pro-airport-module header b,
html[data-theme="day"] body.is-pro-page .pro-airport-module strong,
html[data-theme="day"] body.is-pro-page .pro-route-flow strong,
html[data-theme="day"] body.is-pro-page .pro-route-detail-grid strong,
html[data-theme="day"] body.is-pro-page .pro-fact-grid strong { color: #153a62; }
html[data-theme="day"] body.is-pro-page .pro-airport-module p,
html[data-theme="day"] body.is-pro-page .pro-airport-module li,
html[data-theme="day"] body.is-pro-page .pro-route-flow span,
html[data-theme="day"] body.is-pro-page .pro-route-detail-grid span,
html[data-theme="day"] body.is-pro-page .pro-fact-grid span { color: #38506f; }
html[data-theme="day"] body.is-pro-page .pro-route-flow article em,
html[data-theme="day"] body.is-pro-page .pro-route-flow-arrow { color: var(--pro-day-blue); }

/* Map remains Leaflet; only its frame, controls, and surrounding chrome change. */
html[data-theme="day"] body.is-pro-page .pro-flight-map { background: #dbe3eb; }
html[data-theme="day"] body.is-pro-page .pro-flight-map .leaflet-tile { filter: none; }
html[data-theme="day"] body.is-pro-page .pro-flight-map .leaflet-container { background: #dbe3eb; }
html[data-theme="day"] body.is-pro-page .pro-map-route-legend { color: #536780; }
html[data-theme="day"] body.is-pro-page .pro-map-toolbar,
html[data-theme="day"] body.is-pro-page .pro-map-menu-panel { border-color: #aab8c8; background: rgba(255, 255, 255, 0.96); box-shadow: 0 8px 20px rgba(1, 16, 42, 0.16); }
html[data-theme="day"] body.is-pro-page .pro-map-toolbar button,
html[data-theme="day"] body.is-pro-page .pro-map-menu-panel button,
html[data-theme="day"] body.is-pro-page .pro-map-menu-handle { color: #173659; border-color: #c0ccd8; background: #f2f5f8; }
html[data-theme="day"] body.is-pro-page .pro-map-toolbar button:hover,
html[data-theme="day"] body.is-pro-page .pro-map-menu-panel button:hover { color: #05276c; background: #e2edf9; }
html[data-theme="day"] body.is-pro-page .pro-map-toolbar button.active,
html[data-theme="day"] body.is-pro-page .pro-map-menu-panel button.active,
html[data-theme="day"] body.is-pro-page .pro-map-menu-handle.active { color: #fff; border-color: #003ba8; background: var(--pro-day-blue); }
html[data-theme="day"] body.is-pro-page .pro-itws-layer-status.is-available { color: #176c50; }
html[data-theme="day"] body.is-pro-page .pro-itws-layer-status.is-empty { color: #5b6d7f; }
html[data-theme="day"] body.is-pro-page .pro-map-route-strip { color: #173659; border-color: #c2ccd7; background: #e3eaf1; }
html[data-theme="day"] body.is-pro-page .pro-map-route-strip span,
html[data-theme="day"] body.is-pro-page .pro-map-route-strip em { color: #536780; }
html[data-theme="day"] body.is-pro-page .pro-map-route-strip strong { color: #153a62; }
html[data-theme="day"] body.is-pro-page .pro-map-route-strip button { color: #0754ba; border-color: #9eb1c7; background: #f7f9fb; }
html[data-theme="day"] body.is-pro-page .pro-flight-map .leaflet-control-zoom a { color: #173659; border-color: #9eacbd; background: #fff; }
html[data-theme="day"] body.is-pro-page .pro-flight-map .leaflet-control-zoom a:hover { color: #fff; background: var(--pro-day-blue); }
html[data-theme="day"] body.is-pro-page .pro-map-live-facts { color: #173659; border-color: #aab8c8; background: rgba(255, 255, 255, 0.93); }
html[data-theme="day"] body.is-pro-page .pro-map-live-facts small { color: #536780; }
html[data-theme="day"] body.is-pro-page .pro-map-live-facts strong { color: #153a62; }

html[data-theme="day"] body.is-pro-page .pro-live-progress { border-color: var(--pro-day-structure-strong); background: #fff; box-shadow: var(--pro-day-shadow), inset 0 1px #fff; }
html[data-theme="day"] body.is-pro-page .pro-live-progress-title,
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell small { color: #536780; }
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell { border-color: #d0d9e2; }
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell strong { color: #153a62; }
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell span { color: #536780; }
html[data-theme="day"] body.is-pro-page .pro-live-progress-now { background: linear-gradient(90deg, #e5f0ff, transparent); }
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell[data-tone="live"] strong { color: #087a45; }
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell[data-tone="mvfr"] strong { color: #0754ba; }
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell[data-tone="ifr"] strong { color: #b42338; }
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell[data-tone="lifr"] strong { color: #7042a8; }
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell[data-tone="estimated"] strong,
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell[data-tone="stale"] strong,
html[data-theme="day"] body.is-pro-page .pro-live-progress-cell[data-tone="unavailable"] strong { color: #54657a; }

html[data-theme="day"] body.is-pro-page .pro-brief-footer { color: #536780; border-color: #c2ccd7; }
html[data-theme="day"] body.is-pro-page .pro-brief-footer span { color: #6a7d94; }
html[data-theme="day"] body.is-pro-page .pro-detail-overlay { background: rgba(0, 9, 27, 0.42); backdrop-filter: blur(4px); }
html[data-theme="day"] body.is-pro-page .pro-detail-modal,
html[data-theme="day"] body.is-pro-page .pro-notam-modal-panel { color: var(--pro-day-ink); border-color: #8799ae; background: #fff; box-shadow: 0 24px 60px rgba(1, 16, 42, 0.28); }
html[data-theme="day"] body.is-pro-page .pro-detail-modal h3,
html[data-theme="day"] body.is-pro-page .pro-detail-modal strong { color: #09264a; }
html[data-theme="day"] body.is-pro-page .pro-weather-raw,
html[data-theme="day"] body.is-pro-page .pro-weather-decoded { color: #173659; border-color: #d0d9e2; background: #f2f5f8; }

html[data-theme="day"] body.is-pro-page button:focus-visible,
html[data-theme="day"] body.is-pro-page a:focus-visible,
html[data-theme="day"] body.is-pro-page input:focus-visible,
html[data-theme="day"] body.is-pro-page select:focus-visible,
html[data-theme="day"] body.is-pro-page summary:focus-visible { outline-color: var(--pro-day-blue-bright); }

@media (prefers-reduced-motion: reduce) {
  html[data-theme="day"] body.is-pro-page *,
  html[data-theme="day"] body.is-pro-page *::before,
  html[data-theme="day"] body.is-pro-page *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Pro fluid composition: reflow from the available workspace width, not a
   device model. The center workspace stays primary until all three columns
   can fit at their operational minimums. */
body.is-pro-page .pro-brief-workspace {
  container: pro-brief-workspace / inline-size;
}

body.is-pro-page .pro-brief-grid {
  grid-template-areas: "departure center arrival";
  grid-template-columns:
    minmax(0, clamp(240px, 20cqw, 45.77rem))
    minmax(640px, 1fr)
    minmax(0, clamp(240px, 20cqw, 45.77rem));
  gap: clamp(0.45rem, 0.65cqw, 0.75rem);
}

/* Below 1400px the side rails no longer compete with Route & Weather. */
@container pro-brief-workspace (max-width: 1399px) {
  body.is-pro-page .pro-brief-grid {
    grid-template-areas:
      "center"
      "departure"
      "arrival";
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  body.is-pro-page .pro-brief-column,
  body.is-pro-page .pro-brief-center,
  body.is-pro-page .pro-airport-card,
  body.is-pro-page .pro-flight-map-panel {
    width: 100%;
    min-width: 0;
  }

  body.is-pro-page .pro-flight-map-panel {
    height: clamp(430px, 52cqw, 688px);
  }

  body.is-pro-page .pro-airport-card {
    height: auto;
    min-height: 0;
    grid-template-rows: auto;
    padding: 0;
    overflow: visible;
  }

  body.is-pro-page .pro-airport-card-heading p,
  body.is-pro-page .pro-airport-module header b,
  body.is-pro-page .pro-airport-module header strong,
  body.is-pro-page .pro-airport-module p,
  body.is-pro-page .pro-airport-module li,
  body.is-pro-page .pro-airport-flow-source {
    overflow-wrap: anywhere;
  }

  body.is-pro-page .pro-airport-card-heading p {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
  }

  body.is-pro-page .pro-airport-module {
    min-height: auto;
    overflow: visible;
  }

  body.is-pro-page .pro-airport-flow,
  body.is-pro-page .pro-airport-flow-metrics {
    min-width: 0;
  }
}

@media (max-width: 620px) {
  body.is-pro-page .departure-column,
  body.is-pro-page .arrival-column {
    display: block;
  }

  body.is-pro-page .departure-column { grid-area: departure; }
  body.is-pro-page .arrival-column { grid-area: arrival; }

  body.is-pro-page .pro-airport-card {
    height: auto;
    grid-template-rows: auto;
    overflow: visible;
  }
}

/* Tablet landscape preserves the simultaneous operational scan without
   letting the two airport rails consume the route workspace. */
@container pro-brief-workspace (min-width: 660px) and (max-width: 1399px) {
  body.is-pro-page .pro-brief-grid {
    grid-template-areas: "departure center arrival";
    grid-template-columns:
      minmax(0, 1fr)
      minmax(320px, 2fr)
      minmax(0, 1fr);
    gap: clamp(0.35rem, 0.8cqw, 0.7rem);
    align-items: stretch;
  }

  body.is-pro-page .pro-brief-column,
  body.is-pro-page .pro-brief-center,
  body.is-pro-page .pro-airport-card,
  body.is-pro-page .pro-flight-map-panel {
    width: 100%;
    min-width: 0;
  }

  body.is-pro-page .pro-brief-column,
  body.is-pro-page .pro-brief-center {
    align-self: stretch;
  }

  body.is-pro-page .pro-brief-column {
    display: flex;
  }

  body.is-pro-page .pro-brief-center {
    display: grid;
    grid-template-rows: minmax(340px, 1fr);
  }

  body.is-pro-page .pro-airport-card {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
    height: 100%;
    min-height: 0;
    grid-template-rows: auto auto auto auto minmax(9rem, 1fr);
    align-content: stretch;
    overflow: hidden;
  }

  body.is-pro-page .pro-airport-card-heading {
    margin: 0;
    padding: 0.48rem 0.58rem 0.42rem;
  }

  body.is-pro-page .pro-airport-card-heading h4 {
    font-size: 0.94rem;
  }

  body.is-pro-page .pro-airport-card-heading p {
    margin-right: 0;
    overflow-wrap: anywhere;
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
  }

  body.is-pro-page .pro-airport-facts,
  body.is-pro-page .pro-airport-module {
    padding: 0.5rem 0.56rem;
  }

  body.is-pro-page .pro-airport-module {
    min-height: auto;
    overflow: visible;
  }

  body.is-pro-page .pro-airport-module header {
    grid-template-columns: auto minmax(0, 1fr);
  }

  body.is-pro-page .pro-airport-module header strong {
    grid-column: 2;
    text-align: left;
    overflow-wrap: anywhere;
  }

  body.is-pro-page .pro-airport-module div {
    align-items: start;
    flex-direction: column;
    gap: 0.15rem;
  }

  body.is-pro-page .pro-airport-module strong {
    text-align: left;
    overflow-wrap: anywhere;
  }

  body.is-pro-page .pro-airport-flow,
  body.is-pro-page .pro-airport-flow-metrics {
    min-width: 0;
  }

  body.is-pro-page .pro-flight-map-panel {
    height: 100%;
    min-height: 340px;
  }

  body.is-pro-page .pro-flight-map {
    min-height: 0;
    height: 100%;
  }
}

@container pro-brief-workspace (max-width: 659px) {
  body.is-pro-page .pro-brief-grid {
    grid-template-areas:
      "center"
      "departure"
      "arrival";
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  body.is-pro-page .pro-airport-card {
    height: auto;
    min-height: 0;
    padding: 0;
    grid-template-rows: auto;
    overflow: visible;
  }

  body.is-pro-page .pro-airport-card-heading {
    margin: 0;
  }

  /* Keep the existing rail switcher available without letting its legacy
     named grid area create an implicit narrow column beside phone content. */
  body.is-pro-page .pro-side-tabs {
    grid-area: auto;
    grid-column: 1 / -1;
  }
}

/* Tablet portrait follows operational scan order: departure, route/weather,
   then arrival. Each principal section receives the same available width. */
@media (orientation: portrait) and (min-width: 660px) and (max-width: 1399px) {
  /* Keep the existing night Earth/arc composition intact while reserving a
     distinct summary band below both weather cards. */
  body.is-pro-page .pro-route-hero {
    height: 300px;
    min-height: 300px;
  }

  body.is-pro-page .pro-flight-summary {
    right: 10px;
    bottom: 10px;
    left: 10px;
    width: auto;
    max-width: none;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    transform: none;
  }

  body.is-pro-page .pro-flight-summary > div {
    min-width: 0;
    min-height: 42px;
    gap: 0.2rem;
    padding-inline: 0.2rem;
  }

  body.is-pro-page .pro-flight-summary small,
  body.is-pro-page .pro-flight-summary strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  body.is-pro-page .pro-flight-summary strong {
    line-height: 1.1;
  }

  body.is-pro-page .pro-brief-grid {
    grid-template-areas:
      "departure"
      "center"
      "arrival";
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  body.is-pro-page .departure-column,
  body.is-pro-page .arrival-column {
    display: block;
    align-self: start;
  }

  body.is-pro-page .departure-column .pro-airport-card,
  body.is-pro-page .arrival-column .pro-airport-card {
    height: auto;
    grid-template-rows: auto;
    align-content: start;
    overflow: visible;
  }

  body.is-pro-page .pro-brief-center {
    display: block;
    height: auto;
  }

  body.is-pro-page .pro-flight-map-panel {
    /* The map stage, timeline, and filed-route strip are distinct rows.
       Let their intrinsic footer height extend the panel so it remains
       inside Route & Weather instead of painting into the Arrival card. */
    height: auto;
    min-height: 0;
    grid-template-rows: 32px minmax(340px, 44cqw) auto auto;
  }
}

/* At compact landscape widths, reserve the complete space between the two
   weather cards for the five-field flight summary. */
@media (orientation: landscape) and (min-width: 821px) and (max-width: 1099px) {
  body.is-pro-page .pro-flight-summary {
    width: calc(100% - 480px);
    max-width: none;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  body.is-pro-page .pro-flight-summary > div {
    min-width: 0;
    min-height: 42px;
    gap: 0.2rem;
    padding-inline: 0.15rem;
  }

  body.is-pro-page .pro-flight-summary small,
  body.is-pro-page .pro-flight-summary strong {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  body.is-pro-page .pro-flight-summary strong {
    line-height: 1.1;
  }
}

/* Loading uses the same restored night Earth frame as the settled brief.
   The generic loading surface must not replace the Earth with a cyan band. */
body.is-pro-page .pro-route-hero.pro-brief-loading-shell {
  border-color: rgba(112, 148, 187, 0.18);
  background: #020711;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025), 0 16px 44px rgba(0, 4, 12, 0.3);
}

/* Route & Weather uses normal flow for the canvas, shelf, and route footer.
   Keep the accepted control scale; let the available center width determine
   how many controls share each row. */
body.is-pro-page .pro-map-stage {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  min-height: 0;
}

body.is-pro-page .pro-map-stage > .pro-flight-map {
  grid-row: 1;
  height: auto;
}

body.is-pro-page .pro-map-toolbar {
  position: static;
  z-index: 500;
  grid-row: 2;
  width: 100%;
  min-width: 0;
  max-width: none;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  justify-content: center;
  gap: 0.18rem;
  padding: 0.28rem;
  overflow: visible;
  transform: none;
}

/* Flatten the legacy scroll wrapper so real label widths drive wrapping. */
body.is-pro-page .pro-map-toolbar-scroll {
  display: contents;
  overflow: visible;
}

body.is-pro-page .pro-map-toolbar button {
  flex: 0 1 auto;
  min-width: 0;
  white-space: nowrap;
  font-size: 0.59rem;
}

body.is-pro-page .pro-map-toolbar .pro-map-menu,
body.is-pro-page .pro-map-toolbar .pro-basemap-control,
body.is-pro-page .pro-map-toolbar .pro-waypoint-control,
body.is-pro-page .pro-map-toolbar .pro-etops-rail {
  flex: 0 1 auto;
  min-width: 0;
}

body.is-pro-page .pro-map-toolbar .pro-etops-rail {
  order: 0;
  margin-left: 0.18rem;
  margin-right: 0;
  padding-left: 0.28rem;
  padding-right: 0;
  border-left: 1px solid rgba(132, 159, 185, 0.22);
  border-right: 0;
}

body.is-pro-page .pro-map-toolbar .pro-etops-rail-handle {
  width: auto;
  min-width: 0;
}

/* The legacy phone profile hid menu labels for its scroll strip. The fluid
   shelf keeps those labels visible so every existing control remains clear. */
body.is-pro-page .pro-map-toolbar .pro-waypoint-menu-handle > span:nth-child(2),
body.is-pro-page .pro-map-toolbar .pro-waypoint-menu-handle .pro-map-menu-chevron,
body.is-pro-page .pro-map-toolbar .pro-etops-rail-handle > span:not(:first-child) {
  display: inline;
}

/* Tablet shelves prefer one compact row. The full DOM labels remain in place
   for accessible names and the existing title text; only the visual label is
   shortened when the center workspace is under the desktop fit threshold. */
@container pro-brief-workspace (min-width: 660px) and (max-width: 1399px) {
  body.is-pro-page .pro-map-toolbar {
    flex-wrap: wrap;
    gap: 0.08rem;
    padding: 0.2rem;
  }

  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button,
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > .pro-itws-control > .pro-itws-menu-handle,
  body.is-pro-page .pro-map-toolbar > .pro-basemap-control > .pro-basemap-menu-handle,
  body.is-pro-page .pro-map-toolbar > .pro-waypoint-control > .pro-waypoint-menu-handle,
  body.is-pro-page .pro-map-toolbar > .pro-etops-rail > .pro-etops-rail-handle {
    min-width: 0;
    min-height: 42px;
    flex: 0 1 auto;
    gap: 0.1rem;
    padding: 0 0.14rem;
    font-size: 0;
  }

  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button::after,
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > .pro-itws-control > .pro-itws-menu-handle::after,
  body.is-pro-page .pro-map-toolbar > .pro-basemap-control > .pro-basemap-menu-handle::after,
  body.is-pro-page .pro-map-toolbar > .pro-waypoint-control > .pro-waypoint-menu-handle::after,
  body.is-pro-page .pro-map-toolbar > .pro-etops-rail > .pro-etops-rail-handle::after {
    color: currentColor;
    font: 700 0.62rem/1 "Barlow Condensed", sans-serif;
    letter-spacing: 0.02em;
    white-space: nowrap;
  }

  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-route-toggle]::after { content: 'Route'; }
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-radar-toggle]::after { content: 'WX'; }
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > .pro-itws-control > .pro-itws-menu-handle::after { content: 'WX'; }
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-winds-toggle]::after { content: 'Wind'; }
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-turbulence-toggle]::after { content: 'Turb'; }
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-icing-toggle]::after { content: 'ICE'; }
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-sigmet-toggle]::after { content: 'SIG'; }
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button:last-child::after { content: 'TFC'; }
  body.is-pro-page .pro-basemap-control > .pro-basemap-menu-handle::after { content: 'TERR'; }
  body.is-pro-page .pro-waypoint-control > .pro-waypoint-menu-handle::after { content: 'WPTS'; }
  body.is-pro-page .pro-etops-rail > .pro-etops-rail-handle::after { content: 'ALTNS'; }

  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button > .material-symbols-rounded,
  body.is-pro-page .pro-map-toolbar > .pro-basemap-control > .pro-basemap-menu-handle > .material-symbols-rounded,
  body.is-pro-page .pro-map-toolbar > .pro-waypoint-control > .pro-waypoint-menu-handle > .material-symbols-rounded,
  body.is-pro-page .pro-map-toolbar > .pro-etops-rail > .pro-etops-rail-handle > .material-symbols-rounded {
    font-size: 0.9rem;
  }

  body.is-pro-page .pro-basemap-control > .pro-basemap-menu-handle > [data-pro-basemap-label],
  body.is-pro-page .pro-waypoint-control > .pro-waypoint-menu-handle > span:nth-child(2),
  body.is-pro-page .pro-basemap-control > .pro-basemap-menu-handle > .pro-map-menu-chevron,
  body.is-pro-page .pro-waypoint-control > .pro-waypoint-menu-handle > .pro-map-menu-chevron,
  body.is-pro-page .pro-etops-rail > .pro-etops-rail-handle > span:not(:first-child) {
    display: none;
  }
}
body.is-pro-page .pro-page.pro-active .pro-flight-summary [data-pro-hero-summary="aircraft"] {
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  text-overflow: clip;
}
body.is-pro-page .pro-page.pro-active .pro-gate-candidates-row > span {
  font-size: 0.64rem;
  line-height: 1.15;
}
body.is-pro-page .pro-page.pro-active .pro-gate-module .pro-open-gates {
  padding-top: 0.2rem;
}

/* Hero airport cards: weather and operational fields share one clickable unit. */
body.is-pro-page .pro-route-hero.pro-airport-cards-hero {
  display: grid;
  --hero-card-width: clamp(250px, 16vw, 280px);
  grid-template-columns: var(--hero-card-width) minmax(0, 1fr) var(--hero-card-width);
  grid-template-rows: auto;
  gap: 24px;
  height: auto;
  min-height: 240px;
  max-height: none;
  padding: 24px clamp(24px, 3vw, 64px);
}
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card {
  position: relative;
  inset: auto;
  width: var(--hero-card-width);
  max-width: none;
  height: auto;
  min-height: 176px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 9px;
  align-self: stretch;
  text-align: left;
  line-height: 1.2;
}
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card.departure { grid-area: 1 / 1; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card.arrival { grid-area: 1 / 3; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card > span {
  width: 100%;
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
}
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-body {
  display: grid;
  grid-template-columns: minmax(0, 1.75fr) minmax(0, 1fr);
  gap: 8px;
}
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-left { min-width: 0; display: grid; align-content: start; gap: 4px; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-left > * { grid-row: auto; grid-column: auto; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-role { margin: 0; font-size: 0.6rem; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-heading { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 4px; align-items: start; }
body.is-pro-page .pro-airport-cards-hero .pro-weather-icon { margin-top: 3px; font-size: 1rem; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-identity > strong { font-size: 1.65rem; line-height: 1; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-identity > span,
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-identity > em { white-space: normal; overflow: visible; line-height: 1.2; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-identity > span { font-size: 0.62rem; margin-top: 3px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-identity > em { font-size: 0.56rem; margin-top: 1px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-primary { border: 0; padding: 0; justify-content: flex-start; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-primary > b { font-size: 0.6rem; padding: 2px 6px; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-facts > span { overflow: visible; white-space: normal; font-size: 0.65rem; gap: 4px; line-height: 1.3; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-facts .material-symbols-rounded { font-size: 0.8rem; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-temperature-row { display: flex; flex-wrap: wrap; gap: 6px; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-temperature-row > span { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-operations {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 24px;
  margin-top: 20px;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  text-align: right;
}
body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-operations small { display: block; font-size: 0.56rem; letter-spacing: 0.025em; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-operations strong { display: block; margin-top: 4px; font: 600 1.3rem/1.15 "Barlow Condensed", sans-serif; color: #f2f5f8; overflow-wrap: anywhere; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-operations .pro-hero-terminal-gate { min-height: 1.495rem; font-size: 0.75rem; line-height: 1; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-terminal-gate > span { display: inline-block; max-width: 100%; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-operations .pro-hero-airport-times { font-size: 0.8rem; line-height: 1.35; font-variant-numeric: tabular-nums; overflow-wrap: normal; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-affordance { display: flex; gap: 4px; flex-wrap: wrap; padding-top: 5px; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-affordance > span { font-size: 0.53rem; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-affordance > strong { font-size: 0.58rem; }
body.is-pro-page .pro-airport-cards-hero .pro-flight-summary {
  position: absolute;
  inset: auto auto 20px 50%;
  width: max-content;
  max-width: calc(100% - 24px);
  min-height: 36px;
  display: grid;
  grid-template-columns: repeat(3, max-content);
  grid-auto-flow: row;
  gap: 20px;
  justify-self: center;
  transform: translateX(-50%);
  overflow: visible;
}
body.is-pro-page .pro-airport-cards-hero .pro-flight-summary > div { min-width: 0; min-height: 36px; display: flex; gap: 5px; padding: 0; border: 0; }
body.is-pro-page .pro-airport-cards-hero .pro-flight-summary .material-symbols-rounded { font-size: 1rem; }
body.is-pro-page .pro-airport-cards-hero .pro-hero-visual { inset: 0 12%; }
body.is-pro-page .pro-airport-cards-hero .pro-flight-summary small,
body.is-pro-page .pro-airport-cards-hero .pro-flight-summary strong { white-space: normal; overflow: visible; text-overflow: clip; }
html[data-theme="day"] body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-operations small { color: #536780; }
html[data-theme="day"] body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-operations strong { color: #092b54; }
@media (max-width: 899px) {
  body.is-pro-page .pro-route-hero.pro-airport-cards-hero { --hero-card-width: min(100%, 260px); grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: 180px auto auto; justify-items: center; gap: 12px; padding: 12px; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card.departure { grid-area: 3 / 1; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card.arrival { grid-area: 3 / 2; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-visual { inset: 0; height: 210px; }
  body.is-pro-page .pro-airport-cards-hero .pro-mobile-route-visual { position: absolute; grid-area: auto; inset: 18px 0 auto; height: 168px; width: 100%; }
  body.is-pro-page .pro-airport-cards-hero .pro-flight-identity { position: absolute; grid-area: auto; top: 20px; left: 50%; width: auto; transform: translateX(-50%); }
  body.is-pro-page .pro-airport-cards-hero .pro-flight-summary { position: relative; inset: auto; grid-area: 2 / 1 / 3 / -1; transform: none; }
}
@media (max-width: 599px) {
  body.is-pro-page .pro-route-hero.pro-airport-cards-hero { grid-template-columns: minmax(0, 1fr); grid-template-rows: 180px auto auto auto; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card.departure { grid-area: 3 / 1; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card.arrival { grid-area: 4 / 1; }
  body.is-pro-page .pro-airport-cards-hero .pro-flight-summary { grid-area: 2 / 1; }
  body.is-pro-page .pro-airport-cards-hero .pro-flight-summary { gap: 12px; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-identity > em { display: none; }
}

/* Small workspaces own every map row's natural height. A wrapped toolbar or
   route status must extend the module before the next airport section starts. */
@media (max-width: 659px), (max-width: 1100px) and (max-height: 600px) and (orientation: landscape) {
  body.is-pro-page .pro-page,
  body.is-pro-page .pro-brief-workspace,
  body.is-pro-page .pro-brief-grid,
  body.is-pro-page .pro-brief-center {
    height: auto;
    min-height: 0;
    max-height: none;
    overflow: visible;
  }

  body.is-pro-page .pro-brief-grid {
    grid-template-areas: "departure" "center" "arrival";
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 16px;
  }

  body.is-pro-page .pro-brief-center,
  body.is-pro-page .departure-column,
  body.is-pro-page .arrival-column { display: block; align-self: start; }
  body.is-pro-page .pro-side-tabs { display: none; }

  body.is-pro-page .pro-airport-card {
    height: auto;
    min-height: 0;
    grid-template-rows: auto;
    align-content: start;
    overflow: visible;
  }

  body.is-pro-page .pro-flight-map-panel {
    height: auto;
    min-height: 0;
    grid-template-rows: auto auto auto auto;
    align-content: start;
  }

  body.is-pro-page .pro-map-heading {
    flex-wrap: wrap;
    gap: 6px;
    padding-block: 8px;
  }
  body.is-pro-page .pro-map-route-legend { flex-wrap: wrap; margin: 0; }
  body.is-pro-page .pro-map-stage { grid-template-rows: auto auto; }
  body.is-pro-page .pro-map-stage > .pro-flight-map {
    height: clamp(260px, 65vw, 360px);
    min-height: 0;
    margin-top: 0;
  }

  body.is-pro-page .pro-map-toolbar {
    gap: 4px;
    padding: 8px 4px;
  }
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button,
  body.is-pro-page .pro-brief-center .pro-map-toolbar .pro-map-menu-handle {
    min-height: 44px;
    min-width: 48px;
    padding-inline: 8px;
    gap: 4px;
    font-size: 0.75rem;
  }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button::after,
  body.is-pro-page .pro-brief-center .pro-map-toolbar .pro-map-menu-handle::after { content: none; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar .pro-map-menu .pro-map-menu-handle > span { display: inline; }

  body.is-pro-page .pro-map-route-strip {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto;
    gap: 8px;
    padding: 10px 4px;
  }
  body.is-pro-page .pro-map-route-strip > strong {
    grid-column: 1 / -1;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
  }
  body.is-pro-page .pro-map-route-strip > em { grid-column: 1; white-space: normal; }
  body.is-pro-page .pro-map-route-strip > button { grid-column: 2; min-height: 44px; }
  body.is-pro-page .pro-airport-module { min-height: 0; overflow: visible; }
  body.is-pro-page .pro-airport-module header b,
  body.is-pro-page .pro-airport-module header strong,
  body.is-pro-page .pro-airport-module p,
  body.is-pro-page .pro-airport-module > div > span,
  body.is-pro-page .pro-airport-flow-source { font-size: 0.75rem; }
}

/* Short landscape screens place the two airports before the full-width map.
   Height is part of this mode; normal desktop stays intact. */
@media (min-width: 660px) and (max-width: 1100px) and (max-height: 600px) and (orientation: landscape) {
  body.is-pro-page .pro-brief-grid {
    grid-template-areas: "departure arrival" "center center";
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  body.is-pro-page .pro-map-stage > .pro-flight-map { height: clamp(220px, 60vh, 300px); }
}

/* Pro counts share one value column, including narrow airport modules. */
body.is-pro-page .pro-airport-notams .pro-notam-triage-counts { display: grid; width: 100%; grid-template-columns: minmax(0, 1fr); justify-content: stretch; }
body.is-pro-page .pro-airport-notams .pro-notam-triage-count {
  display: grid;
  width: 100%;
  grid-template-columns: 0.48rem minmax(0, calc(45% - 1.04rem)) max-content;
  justify-content: start;
  align-items: center;
  gap: 0.28rem;
}
body.is-pro-page .pro-airport-notams .pro-notam-triage-count strong { justify-self: start; text-align: left; }
body.is-pro-page .pro-airport-notams .pro-notam-triage-count > span { justify-self: start; }
body.is-pro-page .pro-inbound-gate-placeholder { display: none; }

@media (max-width: 659px) and (orientation: portrait) {
  body.is-pro-page .pro-active-hero { grid-template-columns: minmax(0, 1fr); }
  body.is-pro-page .pro-route-hero.pro-airport-cards-hero {
    --hero-card-width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 180px auto auto;
    gap: 10px;
  }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card.departure { grid-area: 3 / 1; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card.arrival { grid-area: 3 / 2; }
  body.is-pro-page .pro-airport-cards-hero .pro-flight-summary { grid-area: 2 / 1 / auto / -1; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-card { min-height: 0; padding: 8px; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-body {
    grid-template-columns: 14px minmax(0, 1fr) auto;
    gap: 4px;
    align-items: center;
  }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-left,
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-heading,
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-identity,
  body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-operations { display: contents; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-left > .pro-hero-weather-role { grid-area: 1 / 1 / auto / -1; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-heading > .pro-weather-icon { grid-area: 2 / 1; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-identity > strong { grid-area: 2 / 2; font-size: 1.65rem; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-identity > span { grid-area: 3 / 1 / auto / -1; font-size: 0.68rem; min-height: 2.4em; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-identity > em { display: none; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-left > .pro-hero-weather-primary { grid-area: 4 / 1 / auto / -1; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-left > .pro-hero-weather-facts { grid-area: 5 / 1 / auto / -1; font-size: 0.68rem; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-operations > span:first-child { grid-area: 2 / 3; text-align: right; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-terminal-assignment { max-width: 3.25rem; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-operations > span:last-child { grid-area: 6 / 1 / auto / -1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 3px; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-airport-times { font-size: 0.75rem; }
  body.is-pro-page .pro-airport-cards-hero .pro-hero-weather-affordance { gap: 3px; font-size: 0.5rem; }

  body.is-pro-page .pro-active-hero > .pro-inbound-panel {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 4px;
    padding: 8px;
    min-height: 0;
  }
  body.is-pro-page .pro-inbound-panel > .material-symbols-rounded { display: none; }
  body.is-pro-page .pro-inbound-panel > strong { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 0.57rem; letter-spacing: 0; }
  body.is-pro-page .pro-inbound-panel p { padding: 0; border: 0; font-size: 0.65rem; line-height: 1.25; }
  body.is-pro-page .pro-active-hero > .pro-inbound-panel p:not(.pro-inbound-empty) { display: flex; flex: 0 0 auto; align-items: center; gap: 4px; }
  body.is-pro-page .pro-inbound-panel p:not(.pro-inbound-empty)::before { content: '·'; }
  body.is-pro-page .pro-inbound-panel p small { display: none; }
  body.is-pro-page .pro-inbound-panel b { margin: 0; font-size: 0.62rem; text-transform: uppercase; }
  body.is-pro-page .pro-active-hero > .pro-inbound-panel p.pro-inbound-gate { display: flex; flex-basis: auto; gap: 4px; align-items: center; }
  body.is-pro-page .pro-inbound-panel .pro-inbound-gate-unavailable { display: none; }
  body.is-pro-page .pro-inbound-panel .pro-inbound-gate-placeholder { display: inline; }
  body.is-pro-page .pro-inbound-panel:not(:has(.pro-inbound-gate))::after { content: '· —'; flex: 0 0 auto; font-size: 0.62rem; }

  body.is-pro-page .pro-map-toolbar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; }
  body.is-pro-page .pro-map-toolbar-scroll { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 2px; }
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button,
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > .pro-itws-control > .pro-itws-menu-handle { min-width: 0; min-height: 32px; padding: 2px; font-size: 0; gap: 0; }
  body.is-pro-page .pro-map-toolbar > .pro-map-toolbar-scroll > button > span { display: none; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button::after,
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > .pro-itws-control > .pro-itws-menu-handle::after { font-size: 0.65rem; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-route-toggle]::after { content: 'ROUTE'; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-radar-toggle]::after { content: 'WX'; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > .pro-itws-control > .pro-itws-menu-handle::after { content: 'WX'; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-winds-toggle]::after { content: 'WND'; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-turbulence-toggle]::after { content: 'TURB'; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-icing-toggle]::after { content: 'ICE'; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-sigmet-toggle]::after { content: 'SIG'; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button:last-child::after { content: 'TRFC'; }
  body.is-pro-page .pro-map-toolbar > .pro-map-menu { min-width: 0; width: 100%; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar .pro-map-menu-handle { width: 100%; min-width: 0; min-height: 34px; padding: 3px; font-size: 0.65rem; gap: 3px; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar .pro-map-menu-handle > .material-symbols-rounded { font-size: 14px; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar .pro-map-menu .pro-basemap-menu-handle > span:not(.material-symbols-rounded),
  body.is-pro-page .pro-brief-center .pro-map-toolbar .pro-map-menu .pro-itws-menu-handle > span:not(.material-symbols-rounded),
  body.is-pro-page .pro-brief-center .pro-map-toolbar .pro-map-menu .pro-waypoint-menu-handle > span:not(.material-symbols-rounded) { display: none; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar .pro-basemap-menu-handle::after { content: 'MAP MODE'; font-size: 0.65rem; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar .pro-waypoint-menu-handle::after { content: 'WPTS'; font-size: 0.65rem; }

  body.is-pro-page .pro-map-route-strip { grid-template-columns: auto minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 3px 6px; padding: 6px 2px; }
  body.is-pro-page .pro-map-route-strip > span { grid-area: 1 / 1; font-size: 0.6rem; letter-spacing: 0; }
  body.is-pro-page .pro-map-route-strip > em { grid-area: 1 / 2; font-size: 0.6rem; white-space: nowrap; }
  body.is-pro-page .pro-map-route-strip > strong { grid-area: 2 / 1 / auto / 3; font-size: 0.65rem; white-space: nowrap; overflow: hidden; }
  body.is-pro-page .pro-map-route-strip > button { grid-area: 1 / 3 / 3 / 4; min-height: 32px; align-self: center; padding: 4px; font-size: 0.6rem; }
}

/* Weather children have their own Night colors; Day themes each foreground. */
html[data-theme="day"] body.is-pro-page .pro-weather-modal-panel .notam-full-heading {
  color: var(--pro-day-ink);
  background: var(--pro-day-data-soft);
  border-color: var(--pro-day-structure);
}
html[data-theme="day"] body.is-pro-page .pro-weather-modal-panel .notam-full-heading strong,
html[data-theme="day"] body.is-pro-page .pro-weather-report-heading strong,
html[data-theme="day"] body.is-pro-page .pro-weather-decoded-heading,
html[data-theme="day"] body.is-pro-page .pro-weather-raw,
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .decoded-grid dd,
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .cloud-neutral { color: var(--pro-day-ink); }
html[data-theme="day"] body.is-pro-page .pro-weather-modal-panel .notam-full-heading p,
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .decoded-summary,
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .decoded-grid dt,
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .empty-state { color: var(--pro-day-muted); }
html[data-theme="day"] body.is-pro-page .pro-weather-modal-panel .airport-badge {
  color: var(--pro-day-muted);
  background: var(--pro-day-data);
  border-color: var(--pro-day-structure-strong);
}
html[data-theme="day"] body.is-pro-page .pro-weather-modal-tabs { border-color: var(--pro-day-structure); }
html[data-theme="day"] body.is-pro-page .pro-weather-modal-tabs button { color: var(--pro-day-muted); }
html[data-theme="day"] body.is-pro-page .pro-weather-modal-tabs button[aria-selected="true"] {
  color: var(--pro-day-blue);
  background: #e5f0ff;
  border-bottom-color: var(--pro-day-blue);
}
html[data-theme="day"] body.is-pro-page .pro-weather-modal-panel .button {
  color: var(--pro-day-blue);
  background: var(--pro-day-data);
  border-color: var(--pro-day-structure-strong);
}
html[data-theme="day"] body.is-pro-page .pro-weather-modal-panel .button:hover { color: var(--pro-day-ink); background: #e5f0ff; }
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .condition-badge.vfr { color: #075c37; background: #d7f4e5; }
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .condition-badge.mvfr { color: #064f91; background: #dceeff; }
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .condition-badge.ifr { color: #744500; background: #fff0c9; }
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .condition-badge.lifr { color: #8f2031; background: #ffe1e5; }
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .condition-badge.neutral { color: #354b65; background: #e2e8ef; }
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .cloud-attention,
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .cloud-warning { color: #764900; }
html[data-theme="day"] body.is-pro-page .pro-weather-decoded .cloud-critical { color: #8e1f31; }

/* Keep the value column; both text nodes share the existing category palette. */
body.is-pro-page .pro-airport-notams .pro-notam-triage-count.critical { --pro-notam-category: #f29aa5; }
body.is-pro-page .pro-airport-notams .pro-notam-triage-count.important { --pro-notam-category: #e6c77f; }
body.is-pro-page .pro-airport-notams .pro-notam-triage-count.informational { --pro-notam-category: #6db8df; }
html[data-theme="day"] body.is-pro-page .pro-airport-notams .pro-notam-triage-count.critical { --pro-notam-category: #b42338; }
html[data-theme="day"] body.is-pro-page .pro-airport-notams .pro-notam-triage-count.important { --pro-notam-category: #744500; }
html[data-theme="day"] body.is-pro-page .pro-airport-notams .pro-notam-triage-count.informational { --pro-notam-category: #0754ba; }
html body.is-pro-page .pro-airport-notams .pro-notam-triage-count > span,
html body.is-pro-page .pro-airport-notams .pro-notam-triage-count > strong { color: var(--pro-notam-category); }

/* Pro Day — Queue Lead */
html[data-theme="day"] body.is-pro-page .pro-queue-leader {
  border-color: var(--pro-day-structure);
  background: var(--pro-day-data-soft);
}
html[data-theme="day"] body.is-pro-page .pro-queue-leader > span {
  color: var(--pro-day-blue);
}
html[data-theme="day"] body.is-pro-page .pro-queue-leader strong {
  color: var(--pro-day-ink);
}
html[data-theme="day"] body.is-pro-page .pro-queue-leader small {
  color: var(--pro-day-muted);
}
html[data-theme="day"] body.is-pro-page .pro-queue-leader em {
  color: var(--pro-day-dim);
}

/* Pro Day — Airport Flow / Slots Main Card */
html[data-theme="day"] body.is-pro-page .pro-airport-flow {
  color: var(--pro-day-muted);
  border-color: var(--pro-day-structure);
  background: var(--pro-day-data-soft);
}
html[data-theme="day"] body.is-pro-page .pro-airport-flow-status {
  color: var(--pro-day-success);
}
html[data-theme="day"] body.is-pro-page .pro-airport-flow.stale .pro-airport-flow-status {
  color: var(--pro-day-caution);
}
html[data-theme="day"] body.is-pro-page .pro-airport-flow.unavailable .pro-airport-flow-status {
  color: var(--pro-day-critical);
}

/* Pro Day — Flow Metric Cells */
html[data-theme="day"] body.is-pro-page .pro-airport-flow-metrics > span {
  background: var(--pro-day-data-inset);
}
html[data-theme="day"] body.is-pro-page .pro-airport-flow-metrics b {
  color: var(--pro-day-ink);
}
html[data-theme="day"] body.is-pro-page .pro-airport-flow-metrics small {
  color: var(--pro-day-muted);
}
html[data-theme="day"] body.is-pro-page .pro-airport-flow-source {
  color: var(--pro-day-dim);
}

/* Pro Day — Flow Empty State */
html[data-theme="day"] body.is-pro-page .pro-flow-empty {
  color: var(--pro-day-muted);
  border-color: var(--pro-day-structure);
  background: var(--pro-day-data-soft);
}

/* Pro Day — AMM Summary */
html[data-theme="day"] body.is-pro-page .pro-amm-summary {
  border-color: var(--pro-day-structure);
  background: var(--pro-day-data-soft);
}
html[data-theme="day"] body.is-pro-page .pro-amm-summary .material-symbols-rounded {
  color: var(--pro-day-caution);
}
html[data-theme="day"] body.is-pro-page .pro-amm-summary p {
  color: var(--pro-day-muted);
}

/* Mobile telemetry and freshness own rows above the canvas. */
@media (max-width: 659px) {
  body.is-pro-page .pro-map-stage {
    grid-template-areas: "facts" "position" "source" "map" "toolbar";
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    grid-template-columns: minmax(0, 1fr);
  }
  body.is-pro-page .pro-map-live-facts {
    position: static;
    grid-area: facts;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px;
    padding: 6px;
    min-width: 0;
  }
  body.is-pro-page .pro-map-live-facts > span { min-width: 0; overflow-wrap: anywhere; }
  body.is-pro-page .pro-map-live-facts > span:last-child { grid-column: 1 / -1; }
  body.is-pro-page .pro-map-live-facts small { font-size: 0.65rem; }
  body.is-pro-page .pro-map-position-state,
  body.is-pro-page .pro-map-source-state {
    position: static;
    min-width: 0;
    margin: 0 6px 6px;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  body.is-pro-page .pro-map-position-state { grid-area: position; font-size: 0.65rem; }
  body.is-pro-page .pro-map-source-state { grid-area: source; }
  body.is-pro-page .pro-map-source-state:empty { display: none; }
  body.is-pro-page .pro-map-stage > .pro-flight-map { grid-area: map; }
  body.is-pro-page .pro-map-toolbar { grid-area: toolbar; }
  body.is-pro-page .pro-map-stage.is-expanded {
    grid-template-areas: "heading" "facts" "position" "source" "map" "toolbar";
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
  }
  body.is-pro-page .pro-map-stage.is-expanded > .pro-flight-map { height: 100%; }
  body.is-pro-page .pro-map-stage.is-expanded .pro-map-expanded-heading {
    position: static;
    grid-area: heading;
    justify-self: end;
    transform: none;
  }
}

/* Scoped Traffic detail styling preserves unrelated weather/airport popups. */
body.is-pro-page .pro-traffic-popup-pane {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 600;
  pointer-events: none;
}
body.is-pro-page .pilotcb-traffic-popup {
  left: auto !important;
  right: 8px;
  bottom: 8px !important;
  transform: none !important;
  margin: 0;
  pointer-events: auto;
}
body.is-pro-page .pilotcb-traffic-popup .leaflet-popup-content-wrapper,
body.is-pro-page .pilotcb-traffic-popup .leaflet-popup-tip {
  color: #dce8f2;
  background: #081b2b;
  border: 1px solid #456078;
}
body.is-pro-page .pilotcb-traffic-popup .leaflet-popup-content {
  width: min(260px, calc(100vw - 100px)) !important;
  max-height: min(240px, 38dvh);
  overflow-y: auto;
  overflow-x: hidden;
  margin: 14px 20px 14px 12px;
  overscroll-behavior: contain;
}
body.is-pro-page .pilotcb-traffic-popup .traffic-detail { min-width: 0; max-width: none; }
body.is-pro-page .pilotcb-traffic-popup .leaflet-popup-tip-container { display: none; }
body.is-pro-page .pilotcb-traffic-popup .traffic-detail strong { padding-right: 12px; margin-bottom: 6px; }
body.is-pro-page .pilotcb-traffic-popup .traffic-detail p { margin: 4px 0; line-height: 1.4; }
body.is-pro-page .pilotcb-traffic-popup .leaflet-popup-close-button {
  color: #dce8f2;
  width: 32px;
  height: 32px;
  font-size: 22px;
}
@media (max-width: 659px) {
  body.is-pro-page .pilotcb-traffic-popup {
    position: absolute;
    left: auto !important;
    right: 8px;
    top: 8px;
    bottom: auto !important;
    transform: none !important;
    margin: 0;
  }
  body.is-pro-page .pilotcb-traffic-popup .leaflet-popup-content {
    width: min(220px, calc(100vw - 140px)) !important;
    max-height: min(160px, 28dvh);
  }
  body.is-pro-page .pilotcb-traffic-popup .leaflet-popup-tip-container { display: none; }
}

/* Recovered accepted Pro map HUD surfaces from the Visual V2 worktree. */
html[data-theme="night"] body.is-pro-page {
  --pro-v2-hud-surface: linear-gradient(145deg, rgba(20, 46, 70, 0.94), rgba(9, 25, 40, 0.92));
  --pro-v2-hud-border: rgba(117, 147, 174, 0.48);
  --pro-v2-hud-label: #a7b9ca;
  --pro-v2-hud-value: #f3f7fb;
  --pro-v2-hud-meta: #b5c5d3;
}
html[data-theme="night"] body.is-pro-page .pro-map-live-facts span,
html[data-theme="night"] body.is-pro-page .pro-map-source-state {
  border-color: var(--pro-v2-hud-border);
  background: var(--pro-v2-hud-surface);
  box-shadow: 0 8px 20px rgba(0, 8, 18, 0.28), inset 0 1px rgba(255, 255, 255, 0.045);
  backdrop-filter: blur(8px);
}
html[data-theme="night"] body.is-pro-page .pro-map-live-facts small { color: var(--pro-v2-hud-label); font-weight: 700; letter-spacing: 0.055em; }
html[data-theme="night"] body.is-pro-page .pro-map-live-facts strong { color: var(--pro-v2-hud-value); font-size: 0.64rem; font-weight: 750; }
html[data-theme="night"] body.is-pro-page .pro-map-source-state { color: var(--pro-v2-hud-meta); font-weight: 500; }
html[data-theme="night"] body.is-pro-page .pro-map-position-state {
  color: #83e7dc;
  border-color: rgba(92, 210, 197, 0.42);
  background: linear-gradient(145deg, rgba(15, 52, 64, 0.94), rgba(8, 31, 43, 0.92));
  box-shadow: 0 8px 20px rgba(0, 8, 18, 0.28), inset 0 1px rgba(255, 255, 255, 0.04);
}

html[data-theme="day"] body.is-pro-page {
  --pro-v2-hud-surface: rgba(249, 252, 254, 0.96);
  --pro-v2-hud-border: #b8c9d8;
}
html[data-theme="day"] body.is-pro-page .pro-map-live-facts span,
html[data-theme="day"] body.is-pro-page .pro-map-source-state {
  border-color: var(--pro-v2-hud-border);
  background: var(--pro-v2-hud-surface);
  box-shadow: 0 7px 18px rgba(17, 48, 76, 0.14), inset 0 1px rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
}
html[data-theme="day"] body.is-pro-page .pro-map-live-facts small { color: #52677d; font-weight: 700; letter-spacing: 0.055em; }
html[data-theme="day"] body.is-pro-page .pro-map-live-facts strong { color: #172b3a; font-size: 0.64rem; font-weight: 750; }
html[data-theme="day"] body.is-pro-page .pro-map-source-state { color: #52677d; font-weight: 500; }
html[data-theme="day"] body.is-pro-page .pro-map-position-state {
  color: #087a45;
  border-color: rgba(8, 122, 69, 0.38);
  background: rgba(239, 250, 245, 0.96);
  box-shadow: 0 7px 18px rgba(17, 48, 76, 0.12), inset 0 1px rgba(255, 255, 255, 0.9);
}

/* The departure EDCT stays in the existing Flow / Slots header at every rail width. */
body.is-pro-page .pro-flow-module .pro-flow-header {
  grid-template-columns: auto minmax(0, 1fr) auto;
}
body.is-pro-page .pro-flow-module .pro-flow-header .pro-edct-header {
  grid-column: 3;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: clip;
}
html[data-theme="day"] body.is-pro-page .pro-flow-module .pro-edct-header.assigned { color: #9a6200; }
html[data-theme="day"] body.is-pro-page .pro-flow-module .pro-edct-header.unavailable { color: var(--pro-day-muted); }

@container pro-brief-workspace (min-width: 660px) and (max-width: 1399px) {
  body.is-pro-page .pro-flow-module .pro-flow-header b { font-size: 0.64rem; }
}

/* Keep the flight map and its independent history controls within a phone. */
@media (max-width: 768px) {
  body.is-pro-page .pro-brief-workspace { grid-template-columns: minmax(0, 1fr); }
  body.is-pro-page .pro-brief-grid,
  body.is-pro-page .pro-map-stage { min-width: 0; }
  body.is-pro-page .pro-map-toolbar-scroll { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-observed-toggle]::after { content: 'TRK'; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-toolbar-scroll > button[data-pro-track-fit]::after { content: 'FIT'; }

}
/* AMM target options keep the existing independent controls in one disclosure. */
body.is-pro-page .pro-amm-modal-panel .notam-full-heading { position: relative; z-index: 1001; }
body.is-pro-page .pro-amm-modal-panel .notam-full-actions { position: relative; }
body.is-pro-page .pro-amm-targets-control { flex: 0 0 auto; }
body.is-pro-page .pro-amm-targets-options {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: 1002;
  display: grid; gap: 4px; width: 190px; max-width: calc(100vw - 32px);
  padding: 6px; border: 1px solid rgba(192, 218, 220, 0.22);
  border-radius: 8px; background: #0a222b; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}
body.is-pro-page .pro-amm-targets-options[hidden] { display: none; }
body.is-pro-page .pro-amm-targets-options .button { width: 100%; justify-content: space-between; min-height: 44px; }
body.is-pro-page .pro-amm-targets-options .button[aria-pressed="true"] { border-color: #79c7c4; color: #b5ebe5; }

/* Navigation and weather have separate touch rows; desktop keeps full labels. */
body.is-pro-page .pro-map-nav-controls,
body.is-pro-page .pro-map-weather-controls { display: contents; }
@media (max-width: 768px) {
  body.is-pro-page .pro-brief-center .pro-map-toolbar-scroll {
    display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr); gap: 6px;
  }
  body.is-pro-page .pro-brief-center .pro-map-nav-controls,
  body.is-pro-page .pro-brief-center .pro-map-weather-controls {
    display: grid; min-width: 0; gap: 4px;
  }
  body.is-pro-page .pro-brief-center .pro-map-nav-controls { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.is-pro-page .pro-brief-center .pro-map-weather-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.is-pro-page .pro-brief-center .pro-map-toolbar [data-mobile-label] {
    width: 100%; min-width: 0; min-height: 44px; padding: 4px; font-size: 0; gap: 0;
  }
  body.is-pro-page .pro-brief-center .pro-map-toolbar [data-mobile-label] > span { display: none; }
  body.is-pro-page .pro-brief-center .pro-map-toolbar [data-mobile-label]::after {
    content: attr(data-mobile-label); font-size: 0.75rem; line-height: 1.25;
  }
  body.is-pro-page .pro-brief-center .pro-map-toolbar > .pro-map-menu > .pro-map-menu-handle { min-height: 44px; }
}
