/* /Components/Layout/FullscreenLayout.razor.rz.scp.css */
.fullscreen-shell[b-s2ckxm9rji] {
    position: fixed;
    inset: 0;
    overflow: hidden;
    background: var(--am-bg);
    color: var(--am-text);
}
/* /Components/Layout/MainLayout.razor.rz.scp.css */
.full-page-container[b-8jkkdg1ayi] {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--am-bg);
}

#main-content[b-8jkkdg1ayi] {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    overflow: hidden;
    position: relative;
}

#main-content:focus[b-8jkkdg1ayi] { outline: none; }
/* /Components/Layout/PublicLayout.razor.rz.scp.css */
.public-shell[b-n6x50epx8m] { height:100vh; height:100dvh; min-height:0; overflow-x:hidden; overflow-y:auto; background: radial-gradient(circle at 75% 20%, rgba(45,139,113,.14), transparent 36%), linear-gradient(145deg,#020708,#07100f 55%,#020607); color:#d6e4df; font-family:var(--am-font-ui); }
.public-header[b-n6x50epx8m] { position:sticky; z-index:10; top:0; height:64px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:0 clamp(18px,4vw,64px); border-bottom:1px solid #244039; background:rgba(2,8,8,.82); box-shadow:0 8px 28px rgba(0,0,0,.16); backdrop-filter:blur(16px); }
.public-brand[b-n6x50epx8m] { display:flex; gap:13px; align-items:center; color:#e2eee9; text-decoration:none; letter-spacing:.14em; }
.public-brand i[b-n6x50epx8m] { --am-icon-size:20px; width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--am-border-accent); border-radius:50%; color:var(--am-accent-strong); font-style:normal; box-shadow:0 0 20px rgba(67,207,165,.18); }
.public-brand span[b-n6x50epx8m] { display:grid; }
.public-brand b[b-n6x50epx8m] { font-size:16px; }
.public-brand small[b-n6x50epx8m] { color:var(--am-text-dim); font-size:11px; margin-top:3px; }
.public-header nav[b-n6x50epx8m], .public-header nav[b-n6x50epx8m]  div { display:flex; align-items:center; gap:8px; }
.public-header nav a[b-n6x50epx8m], .public-header nav button[b-n6x50epx8m] { min-height:36px; padding:0 13px; border:1px solid transparent; border-radius:var(--am-radius-sm); background:transparent; color:#91aaa1; font:600 11px var(--am-font-ui); letter-spacing:.025em; text-decoration:none; cursor:pointer; translate:0 0; scale:1; transition:border-color var(--am-dur-fast) var(--am-ease),background-color var(--am-dur-fast) var(--am-ease),color var(--am-dur-fast) var(--am-ease),box-shadow var(--am-dur-fast) var(--am-ease),filter var(--am-dur-fast) var(--am-ease),translate var(--am-dur-fast) var(--am-ease),scale var(--am-dur-fast) var(--am-ease); }
.public-header nav a[b-n6x50epx8m] { display:grid; place-items:center; }
.public-header nav a:not(.public-primary):hover[b-n6x50epx8m], .public-header nav button:not(.public-primary):hover[b-n6x50epx8m] { border-color:#35594e; color:#dcf0e9; background:#0a1713; translate:0 -1px; }
.public-header nav .public-primary[b-n6x50epx8m] { border-color:transparent; background:#58cba6; color:#03100c; box-shadow:var(--am-shadow-1); }
.public-header nav .public-primary:hover[b-n6x50epx8m] { border-color:#77e1bf; background:#68d5b0; color:#03100c; box-shadow:0 .5px 0 rgba(238,248,244,.12),0 7px 18px rgba(0,0,0,.3); translate:0 -1px; filter:none; }
.public-header nav a:active[b-n6x50epx8m], .public-header nav button:active[b-n6x50epx8m] { translate:0 1px; scale:.98; filter:brightness(.92); }
.public-header nav form[b-n6x50epx8m] { margin:0; }
.public-content[b-n6x50epx8m] { min-height:calc(100dvh - 64px); display:grid; place-items:center; padding:30px 20px; }
@media(max-width:560px){.public-header[b-n6x50epx8m]{padding:0 12px}.public-brand small[b-n6x50epx8m]{display:none}.public-header nav a[b-n6x50epx8m],.public-header nav button[b-n6x50epx8m]{padding:0 8px;font-size:9px}}
/* /Components/Layout/StyleLabLayout.razor.rz.scp.css */
.style-lab-shell[b-2dal8j2y95] {
    width: 100%;
    height: 100vh;
    height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    background: #08090c;
    color: #f5f6f8;
}
/* /Components/Layout/TopBar.razor.rz.scp.css */
/* Top bar. Rewritten from scratch: the previous file was five append layers
   with duplicate grid declarations and media queries that progressively
   display:none'd individual metrics, which made data unreachable rather than
   compact. Height comes from --am-topbar-h so every overlay that has to clear
   the header stays in sync. */

.am-topbar[b-3zt6pu6dgr] {
    position: relative;
    z-index: var(--am-z-topbar);
    flex: 0 0 var(--am-topbar-h);
    height: var(--am-topbar-h);
    padding: 0 var(--am-space-2);
    display: flex;
    align-items: stretch;
    gap: var(--am-space-2);
    border-bottom: var(--am-border-width) solid var(--am-border);
    background: color-mix(in srgb, var(--am-surface-0) 90%, transparent);
    box-shadow: 0 1px 0 rgba(119, 225, 191, .04), 0 8px 24px rgba(0, 0, 0, .18);
    backdrop-filter: blur(14px);
    color: var(--am-text);
    font-family: var(--am-font-ui);
    -webkit-user-select: none;
    user-select: none;
}

@keyframes tutorial-topbar-target-b-3zt6pu6dgr {
    50% { box-shadow: inset 0 -3px var(--am-accent), 0 0 18px rgba(85, 223, 186, .28); background: rgba(85, 223, 186, .13); }
}

.am-topbar.tutorial-step-10 .speed-controls[b-3zt6pu6dgr],
.am-topbar.tutorial-step-13 .passengers[b-3zt6pu6dgr],
.am-topbar.tutorial-step-14 .funds[b-3zt6pu6dgr],
.am-topbar.tutorial-step-15 .advisor-launch[b-3zt6pu6dgr],
.am-topbar.tutorial-step-16 .events[b-3zt6pu6dgr] {
    position: relative;
    z-index: 2;
    outline: 2px solid var(--am-accent);
    outline-offset: -2px;
    animation: tutorial-topbar-target-b-3zt6pu6dgr 1.45s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .am-topbar.tutorial-step-10 .speed-controls[b-3zt6pu6dgr],
    .am-topbar.tutorial-step-13 .passengers[b-3zt6pu6dgr],
    .am-topbar.tutorial-step-14 .funds[b-3zt6pu6dgr],
    .am-topbar.tutorial-step-15 .advisor-launch[b-3zt6pu6dgr],
    .am-topbar.tutorial-step-16 .events[b-3zt6pu6dgr] { animation: none; }
}

.airline-menu-backdrop[b-3zt6pu6dgr] {
    -webkit-user-select: none;
    user-select: none;
}

/* ---------------------------------------------------------------- brand -- */

.topbar-brand[b-3zt6pu6dgr] {
    padding: 0 var(--am-space-2) 0 var(--am-space-1);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    color: var(--am-accent-strong);
    text-align: left;
    cursor: pointer;
}

.topbar-brand:hover[b-3zt6pu6dgr] { color: var(--am-accent-text); }
.topbar-brand span[b-3zt6pu6dgr] { display: grid; }
.topbar-brand b[b-3zt6pu6dgr] { color: var(--am-text-strong); font-size: var(--am-fs-body); letter-spacing: .12em; line-height: 1.1; }
.topbar-brand small[b-3zt6pu6dgr] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); letter-spacing: .1em; }

/* -------------------------------------------------------------- metrics -- */

/* The container is the metric strip itself, not the viewport: how much room the
   metrics have depends on whether the co-op chip is rendered, which a viewport
   media query cannot see. */
.network-metrics[b-3zt6pu6dgr] {
    flex: 1 1 0;
    min-width: 0;
    container-type: inline-size;
    display: flex;
    align-items: stretch;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
}

.am-metric[b-3zt6pu6dgr] {
    padding: 0 var(--am-space-2);
    display: flex;
    align-items: center;
    gap: var(--am-gap-tight);
    flex: 0 0 auto;
    scroll-snap-align: start;
    border: 0;
    border-radius: var(--am-radius-sm);
    background: transparent;
    color: var(--am-text-dim);
    cursor: pointer;
    transition: background-color var(--am-dur-fast) var(--am-ease), color var(--am-dur-fast) var(--am-ease);
}

.am-metric:hover:not(:disabled)[b-3zt6pu6dgr] { background: var(--am-surface-3); color: var(--am-text-strong); }
.am-metric.overview-selected[b-3zt6pu6dgr] { background: var(--am-surface-3); box-shadow: inset 0 -2px var(--am-accent); color: var(--am-text-strong); }
.am-metric:disabled[b-3zt6pu6dgr] { opacity: .3; cursor: default; }
.am-metric strong[b-3zt6pu6dgr] { color: var(--am-text-strong); font-size: var(--am-fs-value); font-weight: 800; white-space: nowrap; }
.am-metric .metric-name[b-3zt6pu6dgr] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.am-metric.profit.positive strong[b-3zt6pu6dgr] { color: var(--am-positive); }
.am-metric.profit.negative strong[b-3zt6pu6dgr] { color: var(--am-danger); }
.am-metric.profit.positive .ms[b-3zt6pu6dgr] { color: var(--am-positive); }
.am-metric.profit.negative .ms[b-3zt6pu6dgr] { color: var(--am-danger); }
.am-metric.funds.warning[b-3zt6pu6dgr] { background: var(--am-warning-bg); }
.am-metric.funds.warning strong[b-3zt6pu6dgr],
.am-metric.funds.warning .ms[b-3zt6pu6dgr] { color: var(--am-warning-strong); }
.am-metric.funds.negative[b-3zt6pu6dgr] { background: var(--am-danger-bg); }
.am-metric.funds.negative strong[b-3zt6pu6dgr],
.am-metric.funds.negative .ms[b-3zt6pu6dgr] { color: var(--am-danger); }
.finance-metric .finance-profit.positive[b-3zt6pu6dgr] { color: var(--am-positive); }
.finance-metric .finance-profit.negative[b-3zt6pu6dgr] { color: var(--am-danger); }

/* Carrying debt is a normal state and reads as a plain warning tint; being in
   arrears is a failure and gets the danger treatment, so the two are never
   confused at a glance. */
.am-metric.debt strong[b-3zt6pu6dgr],
.am-metric.debt .ms[b-3zt6pu6dgr] { color: var(--am-warning); }
.am-metric.debt.negative[b-3zt6pu6dgr] { background: var(--am-danger-bg); }
.am-metric.debt.negative strong[b-3zt6pu6dgr],
.am-metric.debt.negative .ms[b-3zt6pu6dgr] { color: var(--am-danger); }

/* Strain climbs through the same three severities as the airport load meters,
   so the colour means the same thing here as it does on the map. */
.am-metric.strain.warning strong[b-3zt6pu6dgr],
.am-metric.strain.warning .ms[b-3zt6pu6dgr] { color: var(--am-warning); }
.am-metric.strain.critical[b-3zt6pu6dgr] { background: var(--am-danger-bg); }
.am-metric.strain.critical strong[b-3zt6pu6dgr],
.am-metric.strain.critical .ms[b-3zt6pu6dgr] { color: var(--am-danger); }

/* Density steps. Nothing is ever removed - the label drops first, then the
   strip scrolls, so every metric stays reachable at any width. */
@container (max-width: 900px) {
    .am-metric .metric-name[b-3zt6pu6dgr] { display: none; }
    .am-metric.strain .metric-name[b-3zt6pu6dgr],
    .am-metric.funds .metric-name[b-3zt6pu6dgr],
    .am-metric.profit .metric-name[b-3zt6pu6dgr] { display: inline; }
}

@container (max-width: 460px) {
    .am-metric[b-3zt6pu6dgr] { gap: var(--am-space-1); padding: 0 var(--am-space-1); }
    .am-metric .metric-name[b-3zt6pu6dgr] { display: none !important; }
}

/* ---------------------------------------------------------------- right -- */

.topbar-right[b-3zt6pu6dgr] { display: flex; align-items: center; gap: var(--am-gap-tight); flex: 0 0 auto; }

.advisor-launch[b-3zt6pu6dgr] {
    min-height: 32px;
    padding: 0 var(--am-space-2);
    display: inline-flex;
    align-items: center;
    gap: var(--am-space-1);
    border: var(--am-border-width) solid var(--am-border);
    background: var(--am-surface-1);
    color: var(--am-text-dim);
    font: 800 var(--am-fs-micro) var(--am-font-mono);
    letter-spacing: .08em;
}

.advisor-launch:hover[b-3zt6pu6dgr],
.advisor-launch:focus-visible[b-3zt6pu6dgr],
.advisor-launch.active[b-3zt6pu6dgr] {
    border-color: var(--am-accent);
    background: var(--am-accent-soft);
    color: var(--am-accent);
}

.advisor-launch .ms[b-3zt6pu6dgr] { font-size: 16px; }

.date-stat[b-3zt6pu6dgr] {
    display: flex;
    align-items: center;
    gap: var(--am-space-1);
    padding-left: var(--am-space-2);
    border-left: var(--am-border-width) solid var(--am-border-subtle);
    color: var(--am-text-dim);
}

.date-stat strong[b-3zt6pu6dgr] { color: var(--am-text-secondary); font: 800 var(--am-fs-body) var(--am-font-mono); white-space: nowrap; }

/* --------------------------------------------------------------- co-op -- */

.coop-status[b-3zt6pu6dgr] {
    position: relative;
    display: flex;
    align-items: center;
    gap: var(--am-space-1);
    padding: 0 var(--am-space-2);
    border-left: var(--am-border-width) solid var(--am-border-subtle);
    color: var(--am-accent);
    cursor: default;
}

.coop-status strong[b-3zt6pu6dgr] { color: var(--am-accent-text); font: 800 var(--am-fs-body) var(--am-font-mono); }

/* Replaces a title attribute that dumped every member name into one string. */
.coop-card[b-3zt6pu6dgr] {
    position: absolute;
    z-index: var(--am-z-modal);
    top: calc(100% + 4px);
    right: 0;
    min-width: 190px;
    padding: var(--am-space-2);
    display: grid;
    gap: var(--am-space-1);
    border: var(--am-border-width) solid var(--am-border-strong);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-2);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-4px);
    transition: opacity var(--am-dur-fast) var(--am-ease), transform var(--am-dur-fast) var(--am-ease);
}

.coop-status:hover .coop-card[b-3zt6pu6dgr],
.coop-status:focus-visible .coop-card[b-3zt6pu6dgr] { opacity: 1; transform: translateY(0); }

.coop-member[b-3zt6pu6dgr] { display: flex; align-items: center; gap: var(--am-space-2); }
.coop-member i[b-3zt6pu6dgr] { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; }
.coop-member b[b-3zt6pu6dgr] { color: var(--am-text-secondary); font-size: var(--am-fs-body); font-weight: 700; }
.coop-member em[b-3zt6pu6dgr] { margin-left: auto; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); font-style: normal; }

/* --------------------------------------------------------------- speed -- */

.speed-controls[b-3zt6pu6dgr] { padding: 3px; display: flex; align-items: center; gap: 3px; border-radius: var(--am-radius); background: var(--am-surface-3); }

.speed-controls button[b-3zt6pu6dgr] {
    min-width: 32px;
    height: 32px;
    padding: 0 var(--am-space-1);
    display: inline-grid;
    place-items: center;
    border: 0;
    border-radius: var(--am-radius-sm);
    background: transparent;
    color: var(--am-text-muted);
    font: 800 var(--am-fs-micro) var(--am-font-mono);
    cursor: pointer;
    transition: border-color var(--am-dur-fast) var(--am-ease), background-color var(--am-dur-fast) var(--am-ease), color var(--am-dur-fast) var(--am-ease);
}

.speed-controls button:hover:not(:disabled)[b-3zt6pu6dgr] { border-color: var(--am-border-accent); color: var(--am-text-strong); }
.speed-controls button:disabled[b-3zt6pu6dgr] { opacity: .3; cursor: default; }
.speed-controls .am-btn-active[b-3zt6pu6dgr] { background: var(--am-accent-bg-strong); color: var(--am-accent-text); box-shadow: var(--am-shadow-1); }
.fullscreen-toggle[b-3zt6pu6dgr] {
    width: 38px;
    height: 38px;
    padding: 0;
    display: grid;
    place-items: center;
    border: var(--am-border-width) solid var(--am-border);
    border-radius: var(--am-radius);
    background: var(--am-surface-2);
    color: var(--am-text-muted);
    cursor: pointer;
}
.fullscreen-toggle:hover[b-3zt6pu6dgr] { border-color: var(--am-border-accent); color: var(--am-text-strong); }
.fullscreen-toggle.am-btn-active[b-3zt6pu6dgr] { border-color: var(--am-border-accent); background: var(--am-accent-bg); color: var(--am-accent-text); }

/* ---------------------------------------------------------------- menu -- */

.airline-menu-backdrop[b-3zt6pu6dgr] {
    position: fixed;
    z-index: var(--am-z-game-menu);
    inset: 0;
    display: grid;
    place-items: center;
    padding: var(--am-space-4);
    background: var(--am-scrim);
    backdrop-filter: blur(6px);
}

.airline-menu[b-3zt6pu6dgr] {
    width: min(420px, calc(100vw - 32px));
    padding: var(--am-space-3);
    display: grid;
    gap: var(--am-space-1);
    border: var(--am-border-width) solid var(--am-border-strong);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-3);
}

.airline-menu > header[b-3zt6pu6dgr] {
    margin: calc(var(--am-space-3) * -1) calc(var(--am-space-3) * -1) var(--am-space-2);
    padding: var(--am-space-3);
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: var(--am-border-width) solid var(--am-border-subtle);
    border-radius: calc(var(--am-radius) - var(--am-border-width)) calc(var(--am-radius) - var(--am-border-width)) 0 0;
    background: var(--am-surface-2);
}

.airline-menu h2[b-3zt6pu6dgr] { margin: var(--am-space-1) 0 0; color: var(--am-text-strong); font-size: var(--am-fs-h2); }

.airline-menu > button[b-3zt6pu6dgr] {
    min-height: 44px;
    padding: var(--am-space-2) var(--am-space-3);
    display: flex;
    align-items: center;
    gap: var(--am-space-3);
    border: var(--am-border-width) solid var(--am-border-subtle);
    border-radius: var(--am-radius-sm);
    background: var(--am-surface-2);
    color: var(--am-text-secondary);
    text-align: left;
    cursor: pointer;
    transition: border-color var(--am-dur-fast) var(--am-ease), background-color var(--am-dur-fast) var(--am-ease);
}

.airline-menu > button:hover:not(:disabled)[b-3zt6pu6dgr] { border-color: var(--am-border-accent); background: var(--am-surface-3); }
.airline-menu > button:disabled[b-3zt6pu6dgr] { opacity: .35; cursor: default; }
.airline-menu > button.primary[b-3zt6pu6dgr] { border-color: var(--am-border-accent); background: var(--am-accent-bg); }
.airline-menu > button .ms[b-3zt6pu6dgr] { color: var(--am-accent); }
.airline-menu span[b-3zt6pu6dgr] { display: grid; gap: 1px; }
.airline-menu b[b-3zt6pu6dgr] { color: var(--am-text-strong); font-size: var(--am-fs-body); }
.airline-menu small[b-3zt6pu6dgr] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }

@media (max-width: 700px) {
    .topbar-brand span[b-3zt6pu6dgr], .date-stat .date-day[b-3zt6pu6dgr] { display: none; }
}

@media (max-width: 1450px) {
    .date-stat .date-day[b-3zt6pu6dgr] { display: none; }
}

@media (max-width: 1120px) {
    .advisor-launch span[b-3zt6pu6dgr] { display: none; }
    .advisor-launch[b-3zt6pu6dgr] { width: 34px; padding: 0; justify-content: center; }
}
/* /Components/Pages/CupertinoShowcase.razor.rz.scp.css */
.cupertino-showcase[b-q9ke0ayugd] { min-height: 100%; padding: 64px 24px 90px; background: radial-gradient(circle at 12% 5%,rgba(62,146,118,.13),transparent 28%),#080b0a; color:#e8f2ef; }
.showcase-intro[b-q9ke0ayugd],.showcase-content[b-q9ke0ayugd] { width:min(1180px,100%); margin-inline:auto; }
.showcase-intro[b-q9ke0ayugd] { display:grid; gap:12px; }
.showcase-intro > a[b-q9ke0ayugd] { width:max-content; display:inline-flex; align-items:center; gap:7px; color:#85b6a6; font:700 10px Consolas,monospace; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.showcase-intro > small[b-q9ke0ayugd],.font-options header small[b-q9ke0ayugd],.specimen-heading small[b-q9ke0ayugd] { color:#65cba9; font:800 10px Consolas,monospace; letter-spacing:.14em; }
.showcase-intro h1[b-q9ke0ayugd] { margin:0; color:#f2f8f6; font:700 clamp(42px,6vw,72px)/.98 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-.045em; }
.showcase-intro p[b-q9ke0ayugd] { max-width:720px; margin:4px 0 0; color:#91a9a1; font:400 15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.showcase-content[b-q9ke0ayugd] { margin-top:48px; display:grid; gap:44px; }
.font-options[b-q9ke0ayugd] { display:grid; gap:16px; }
.font-options > header[b-q9ke0ayugd] { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.font-options h2[b-q9ke0ayugd],.specimen-heading h2[b-q9ke0ayugd] { margin:4px 0 0; font-size:25px; }
.font-options > header > span[b-q9ke0ayugd] { color:#81988f; font-size:12px; }
.font-option-grid[b-q9ke0ayugd] { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.font-option[b-q9ke0ayugd] { min-width:0; padding:16px; display:grid; gap:6px; border:1px solid #263b34; border-radius:14px; background:#0d1512; color:#dceae5; text-align:left; cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.18); }
.font-option:hover[b-q9ke0ayugd] { border-color:#3e6859; background:#111e19; }
.font-option.selected[b-q9ke0ayugd] { border-color:#72d8b6; background:#10231d; box-shadow:0 0 0 1px rgba(114,216,182,.15),0 14px 36px rgba(0,0,0,.28); }
.font-option small[b-q9ke0ayugd] { color:#6f9185; font:700 9px Consolas,monospace; letter-spacing:.08em; }
.font-option b[b-q9ke0ayugd] { color:#f0f7f4; font-size:20px; font-weight:600; }
.font-option span[b-q9ke0ayugd] { margin-top:6px; color:#c8d8d3; font-size:13px; }
.font-option em[b-q9ke0ayugd] { color:#7f968e; font-size:11px; font-style:normal; line-height:1.45; }
.font-inter[b-q9ke0ayugd] { font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.font-manrope[b-q9ke0ayugd] { font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.font-plex[b-q9ke0ayugd] { font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.font-space[b-q9ke0ayugd] { font-family:"Space Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.live-specimen[b-q9ke0ayugd] { overflow:hidden; border:1px solid #2a4038; border-radius:20px; background:#09110e; box-shadow:0 30px 80px rgba(0,0,0,.45); }
.specimen-heading[b-q9ke0ayugd] { padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:16px; border-bottom:1px solid #22342e; background:#0c1612; }
.quiet-action[b-q9ke0ayugd] { min-height:34px; padding:0 12px; display:inline-flex; align-items:center; gap:6px; border:1px solid #36564b; border-radius:9px; background:#111f1a; color:#9ab5ab; font:inherit; cursor:pointer; }
.specimen-layout[b-q9ke0ayugd] { display:grid; grid-template-columns:minmax(300px,390px) minmax(0,1fr); }
.control-column[b-q9ke0ayugd] { padding:20px; display:grid; align-content:start; gap:14px; border-right:1px solid #22342e; background:#080f0d; }
.inset-group[b-q9ke0ayugd] { overflow:hidden; border-radius:13px; background:#111d19; box-shadow:inset 0 1px rgba(255,255,255,.025); }
.setting-row[b-q9ke0ayugd] { min-height:62px; padding:10px 13px; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; }
.setting-row + .setting-row[b-q9ke0ayugd] { border-top:1px solid #263a34; }
.setting-row > span:first-child[b-q9ke0ayugd] { min-width:0; display:grid; gap:3px; }
.setting-row b[b-q9ke0ayugd] { color:#e6f0ec; font-size:13px; font-weight:600; }
.setting-row small[b-q9ke0ayugd],.route-summary small[b-q9ke0ayugd] { color:#7e958c; font-size:11px; }
.setting-row select[b-q9ke0ayugd] { min-height:34px; padding:0 30px 0 10px; border:0; border-radius:9px; background:#1b2b26; color:#d6e6e0; font:inherit; }
.cupertino-switch[b-q9ke0ayugd] { position:relative; flex:0 0 auto; }
.cupertino-switch input[b-q9ke0ayugd] { position:absolute; opacity:0; pointer-events:none; }
.cupertino-switch i[b-q9ke0ayugd] { width:44px; height:25px; display:block; position:relative; border-radius:99px; background:#30443e; transition:background .18s ease; }
.cupertino-switch i[b-q9ke0ayugd]::after { content:""; width:21px; height:21px; position:absolute; top:2px; left:2px; border-radius:50%; background:#edf6f3; box-shadow:0 2px 5px rgba(0,0,0,.35); transition:transform .18s ease; }
.cupertino-switch input:checked + i[b-q9ke0ayugd] { background:#48c99c; }
.cupertino-switch input:checked + i[b-q9ke0ayugd]::after { transform:translateX(19px); }
.cupertino-switch input:focus-visible + i[b-q9ke0ayugd] { outline:2px solid #b8f8df; outline-offset:2px; }
.segmented[b-q9ke0ayugd] { padding:3px; display:grid; grid-template-columns:repeat(3,1fr); gap:3px; border-radius:11px; background:#12201c; }
.segmented button[b-q9ke0ayugd] { min-height:34px; border:0; border-radius:8px; background:transparent; color:#8ba39a; font:inherit; cursor:pointer; }
.segmented button.selected[b-q9ke0ayugd] { background:#294b40; color:#e3f7f0; box-shadow:0 1px 5px rgba(0,0,0,.28); }
.range-control[b-q9ke0ayugd] { padding:12px 13px; display:grid; gap:10px; border-radius:12px; background:#0e1915; }
.range-control > span[b-q9ke0ayugd] { display:flex; justify-content:space-between; gap:12px; }
.range-control b[b-q9ke0ayugd] { font-size:13px; }.range-control em[b-q9ke0ayugd] { color:#73d4b3; font-size:12px; font-style:normal; }
.range-control input[b-q9ke0ayugd] { width:100%; accent-color:#55cba3; }
.route-summary[b-q9ke0ayugd] { padding:11px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; border-radius:12px; background:#0d1915; }
.route-summary > span:nth-child(2)[b-q9ke0ayugd] { min-width:0; display:grid; gap:3px; }.route-summary b[b-q9ke0ayugd] { overflow:hidden; color:#e3eeea; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.route-summary strong[b-q9ke0ayugd] { color:#62d3a7; font-size:12px; white-space:nowrap; }
.route-icon[b-q9ke0ayugd] { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:#183c31; color:#70d9b5; }
.primary-action[b-q9ke0ayugd] { min-height:40px; display:flex; align-items:center; justify-content:center; gap:7px; border:0; border-radius:11px; background:#4acb9e; color:#03120d; font:inherit; font-weight:600; cursor:pointer; box-shadow:0 6px 16px rgba(0,0,0,.25); }
.applied-message[b-q9ke0ayugd] { margin:0; display:flex; align-items:center; justify-content:center; gap:6px; color:#83d8ba; font-size:11px; }
.preview-column[b-q9ke0ayugd] { min-width:0; display:grid; grid-template-rows:auto minmax(410px,1fr); }
.preview-topbar[b-q9ke0ayugd] { min-height:48px; padding:0 16px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid #254038; background:#030807; font-family:Consolas,monospace; }
.preview-topbar > span[b-q9ke0ayugd] { display:flex; align-items:center; gap:5px; color:#70dfbb; }.preview-topbar > span b[b-q9ke0ayugd] { color:#f1fff9; font-size:11px; letter-spacing:.1em; }.preview-topbar > span small[b-q9ke0ayugd] { color:#62cba8; font-size:9px; }.preview-topbar strong[b-q9ke0ayugd] { color:#54d7ac; font-size:12px; }.preview-topbar strong small[b-q9ke0ayugd] { color:#78988e; font-size:8px; letter-spacing:.08em; }
.preview-map[b-q9ke0ayugd] { min-height:410px; overflow:hidden; position:relative; background:radial-gradient(circle at 60% 34%,rgba(38,97,79,.26),transparent 28%),linear-gradient(145deg,#050b09,#020504); }
.preview-map[b-q9ke0ayugd]::before { content:""; position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(93,157,136,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(93,157,136,.18) 1px,transparent 1px); background-size:42px 42px; }
.route[b-q9ke0ayugd] { width:62%; height:140px; position:absolute; border-top:2px solid #57cba5; border-radius:50%; transform:rotate(-12deg); transform-origin:left center; }.route-one[b-q9ke0ayugd] { top:52%; left:20%; }.route-two[b-q9ke0ayugd] { top:22%; left:39%; transform:rotate(34deg); }
.airport[b-q9ke0ayugd] { position:absolute; display:grid; justify-items:center; color:#dcebe6; }.airport > i[b-q9ke0ayugd] { width:12px; height:12px; border:2px solid #bcffea; border-radius:50%; background:#4ec99e; box-shadow:0 0 18px rgba(78,201,158,.7); }.airport > b[b-q9ke0ayugd] { margin-top:5px; padding:2px 5px; border-radius:4px; background:rgba(2,8,6,.82); font-weight:500; white-space:nowrap; }.airport > b small[b-q9ke0ayugd] { color:#65cba9; }.airport-one[b-q9ke0ayugd] { top:58%; left:20%; }.airport-two[b-q9ke0ayugd] { top:24%; right:14%; }.airport .size-compact[b-q9ke0ayugd] { font-size:9px; }.airport .size-normal[b-q9ke0ayugd] { font-size:11px; }.airport .size-large[b-q9ke0ayugd] { font-size:14px; }
.plane[b-q9ke0ayugd] { position:absolute; top:44%; left:55%; color:#ffd977; transform:rotate(30deg); filter:drop-shadow(0 0 5px rgba(255,217,119,.7)); }
.map-options[b-q9ke0ayugd] { width:230px; position:absolute; top:18px; right:18px; overflow:hidden; border:1px solid #355149; border-radius:13px; background:rgba(8,18,15,.95); box-shadow:0 18px 44px rgba(0,0,0,.5); backdrop-filter:blur(12px); }
.map-options > header[b-q9ke0ayugd] { min-height:48px; padding:0 11px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #294039; }.map-options > header > span[b-q9ke0ayugd] { display:grid; gap:2px; }.map-options > header small[b-q9ke0ayugd] { color:#6f9488; font-size:8px; letter-spacing:.1em; }.map-options > header b[b-q9ke0ayugd] { font-size:12px; }.map-options > header button[b-q9ke0ayugd] { border:0; background:transparent; color:#77988c; }
.preview-segmented[b-q9ke0ayugd] { margin:10px; padding:2px; display:grid; grid-template-columns:repeat(3,1fr); gap:2px; border-radius:9px; background:#14231e; }.preview-segmented button[b-q9ke0ayugd] { min-height:28px; border:0; border-radius:7px; background:transparent; color:#718f85; font:inherit; font-size:9px; }.preview-segmented button.selected[b-q9ke0ayugd] { background:#2a4b40; color:#dff6ee; }
.map-options p[b-q9ke0ayugd] { margin:0; padding:9px 11px; display:flex; justify-content:space-between; gap:12px; border-top:1px solid #20342d; color:#8ca69d; font-size:10px; }.map-options p b[b-q9ke0ayugd] { color:#d9e9e3; font-size:9px; }
@media(max-width:900px){.font-option-grid[b-q9ke0ayugd]{grid-template-columns:repeat(2,minmax(0,1fr))}.specimen-layout[b-q9ke0ayugd]{grid-template-columns:1fr}.control-column[b-q9ke0ayugd]{border-right:0;border-bottom:1px solid #22342e}.preview-column[b-q9ke0ayugd]{min-height:470px}}
@media(max-width:560px){.cupertino-showcase[b-q9ke0ayugd]{padding:38px 14px 64px}.font-option-grid[b-q9ke0ayugd]{grid-template-columns:1fr}.font-options>header[b-q9ke0ayugd]{align-items:start;flex-direction:column}.specimen-heading[b-q9ke0ayugd]{align-items:start}.preview-topbar strong[b-q9ke0ayugd]{display:none}.map-options[b-q9ke0ayugd]{width:210px;right:10px}.route-summary[b-q9ke0ayugd]{grid-template-columns:auto minmax(0,1fr)}.route-summary strong[b-q9ke0ayugd]{grid-column:2}.showcase-intro h1[b-q9ke0ayugd]{font-size:40px}}
@media(prefers-reduced-motion:reduce){.cupertino-switch i[b-q9ke0ayugd],.cupertino-switch i[b-q9ke0ayugd]::after{transition:none}}
/* /Components/Pages/Game.razor.rz.scp.css */
.airline-game[b-sho43ndqpe] {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: #020607;
    color: #d2dfdb;
    font-family: "Arial Narrow",Arial,sans-serif;
    font-size: 14px;
    -webkit-user-select: none;
    user-select: none
}

.airline-game input[b-sho43ndqpe],
.airline-game textarea[b-sho43ndqpe],
.airline-game [contenteditable="true"][b-sho43ndqpe] {
    -webkit-user-select: text;
    user-select: text;
}

    .airline-game[b-sho43ndqpe]::after {
        content: "";
        position: absolute;
        z-index: 2;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(180deg,rgba(1,6,5,.18),transparent 18%,transparent 85%,rgba(0,0,0,.28));
        box-shadow: inset 0 0 50px rgba(0,0,0,.5)
    }

.region-confirm[b-sho43ndqpe], .loading-card[b-sho43ndqpe], .detail-card[b-sho43ndqpe] {
    position: absolute;
    z-index: 5;
    border: 1px solid #4b5f58;
    border-radius: 4px;
    background: rgba(4,10,9,.94);
    box-shadow: 0 8px 28px rgba(0,0,0,.6),inset 0 0 0 1px rgba(179,230,214,.03);
    backdrop-filter: blur(8px)
}

    .region-confirm > small[b-sho43ndqpe], .detail-card > small[b-sho43ndqpe] {
        color: #78988f;
        font: 800 11px Consolas,monospace;
        letter-spacing: .12em
    }

    .region-confirm h2[b-sho43ndqpe], .detail-card h2[b-sho43ndqpe] {
        margin: 9px 0;
        color: #f0f8f6;
        font-weight: 800;
        letter-spacing: .015em
    }

    

    .region-confirm p[b-sho43ndqpe], .hint[b-sho43ndqpe] {
        margin: 0;
        color: #a5b7b1;
        font: 14px/1.55 Consolas,monospace
    }

    

    

.region-confirm[b-sho43ndqpe] {
    left: 50%;
    bottom: 34px;
    width: min(430px,calc(100vw - 32px));
    padding: 21px;
    transform: translateX(-50%);
    text-align: center
}

    .region-confirm h2[b-sho43ndqpe] {
        font-size: 24px
    }

    .region-confirm > div[b-sho43ndqpe] {
        margin-top: 17px;
        display: flex;
        justify-content: center;
        gap: 9px
    }

.live-region-confirm[b-sho43ndqpe] {
    bottom: 24px;
    width: min(520px,calc(100vw - 32px));
    text-align: left;
    border-color: #b9944b;
    box-shadow: 0 0 0 2px rgba(255,217,119,.08),0 12px 38px rgba(0,0,0,.75)
}

    .live-region-confirm > div:last-child[b-sho43ndqpe] {
        justify-content: flex-end
    }

.region-info-stats[b-sho43ndqpe] {
    display: grid !important;
    grid-template-columns: repeat(3,1fr);
    gap: 8px
}

    .region-info-stats span[b-sho43ndqpe] {
        padding: 10px;
        border: 1px solid #3b4334;
        background: #0d110a;
        display: grid;
        gap: 5px
    }

    .region-info-stats small[b-sho43ndqpe] {
        color: #9c9470;
        font: 9px Consolas,monospace
    }

    .region-info-stats b[b-sho43ndqpe] {
        color: #f4dfaa;
        font: 800 13px Consolas,monospace
    }

.live-region-confirm p[b-sho43ndqpe] {
    margin-top: 13px
}

@keyframes tutorial-game-target-b-sho43ndqpe {
    50% { box-shadow: 0 0 0 4px rgba(85, 223, 186, .18), 0 0 24px rgba(85, 223, 186, .3); }
}

.airline-game.tutorial-step-1[b-sho43ndqpe]  .airline-map,
.airline-game.tutorial-step-2[b-sho43ndqpe]  .airline-map,
.airline-game.tutorial-step-7[b-sho43ndqpe]  .airline-map {
    box-shadow: inset 0 0 0 3px rgba(85, 223, 186, .8), inset 0 0 38px rgba(85, 223, 186, .14);
}

.airline-game.tutorial-step-3 .city-detail .detail-stats-city[b-sho43ndqpe],
.airline-game.tutorial-step-4 .city-detail[b-sho43ndqpe]  .airport-gates,
.airline-game.tutorial-step-4 .city-detail .sidebar-disclosure[b-sho43ndqpe],
.airline-game.tutorial-step-5 .city-detail .connected-routes-add[b-sho43ndqpe],
.airline-game.tutorial-step-6 .route-picker[b-sho43ndqpe],
.airline-game.tutorial-step-8 .route-detail .route-throughput[b-sho43ndqpe],
.airline-game.tutorial-step-9 .route-detail .route-options-row[b-sho43ndqpe],
.airline-game.tutorial-step-9 .route-detail .fleet-card[b-sho43ndqpe],
.airline-game.tutorial-step-11 .route-detail .fleet-card[b-sho43ndqpe],
.airline-game.tutorial-step-12 .aircraft-detail[b-sho43ndqpe] {
    outline: 2px solid var(--am-accent);
    outline-offset: 2px;
    animation: tutorial-game-target-b-sho43ndqpe 1.45s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .airline-game.tutorial-step-3 .city-detail .detail-stats-city[b-sho43ndqpe],
    .airline-game.tutorial-step-4 .city-detail[b-sho43ndqpe]  .airport-gates,
    .airline-game.tutorial-step-4 .city-detail .sidebar-disclosure[b-sho43ndqpe],
.airline-game.tutorial-step-5 .city-detail .connected-routes-add[b-sho43ndqpe],
    .airline-game.tutorial-step-6 .route-picker[b-sho43ndqpe],
    .airline-game.tutorial-step-8 .route-detail .route-throughput[b-sho43ndqpe],
    .airline-game.tutorial-step-9 .route-detail .route-options-row[b-sho43ndqpe],
    .airline-game.tutorial-step-9 .route-detail .fleet-card[b-sho43ndqpe],
    .airline-game.tutorial-step-11 .route-detail .fleet-card[b-sho43ndqpe],
    .airline-game.tutorial-step-12 .aircraft-detail[b-sho43ndqpe] { animation: none; }
}

.live-region-confirm .region-price-breakdown[b-sho43ndqpe] {
    color: #e0bf72;
    font-size: 11px;
    letter-spacing: .06em
}

.city-events-overview[b-sho43ndqpe] { padding: 22px; overflow: auto; height: 100%; }
.city-events-header[b-sho43ndqpe] { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; margin-bottom:18px; }
.city-events-header h2[b-sho43ndqpe] { margin:3px 0; color:#effcf7; }
.city-events-header p[b-sho43ndqpe] { margin:0; color:#78988f; }
.city-events-header > span[b-sho43ndqpe] { min-width:150px; padding:12px; border:1px solid #315b50; display:grid; text-align:right; }
.city-events-header > span b[b-sho43ndqpe] { color:#68efc5; font:800 22px Consolas,monospace; }
.city-events-header small[b-sho43ndqpe],.city-event-card small[b-sho43ndqpe] { color:#71978c; font:9px Consolas,monospace; letter-spacing:.1em; }
.city-event-list[b-sho43ndqpe] { display:grid; grid-template-columns:repeat(auto-fit,minmax(390px,1fr)); gap:12px; }
.city-event-card[b-sho43ndqpe] { border:1px solid #315b50; background:rgba(4,14,12,.92); padding:15px; box-shadow:inset 3px 0 #45d7aa; }
.city-event-card.complete[b-sho43ndqpe] { opacity:.78; box-shadow:inset 3px 0 #63746f; }
.city-event-card.returntraffic[b-sho43ndqpe] { box-shadow:inset 3px 0 #e6b754; }
.city-event-card > header[b-sho43ndqpe] { display:flex; align-items:center; gap:10px; }
.city-event-card > header > .ms[b-sho43ndqpe] { color:#65e7be; }
.city-event-card h3[b-sho43ndqpe] { margin:2px 0; color:#ecf8f4; font-size:15px; }
.city-event-card > header strong[b-sho43ndqpe] { margin-left:auto; color:#f0c86c; font:800 18px Consolas,monospace; }
.city-event-timeline[b-sho43ndqpe],.city-event-forecast[b-sho43ndqpe] { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; margin-top:12px; }
.city-event-forecast[b-sho43ndqpe] { grid-template-columns:1.4fr 1fr 1fr; }
.city-event-timeline span[b-sho43ndqpe],.city-event-forecast span[b-sho43ndqpe] { border:1px solid #263d37; padding:8px; display:grid; gap:4px; }
.city-event-timeline b[b-sho43ndqpe],.city-event-forecast b[b-sho43ndqpe] { color:#cfe5de; font:11px Consolas,monospace; }
.city-event-markets[b-sho43ndqpe] { margin-top:10px; display:flex; flex-wrap:wrap; gap:5px; align-items:center; }
.city-event-markets button[b-sho43ndqpe] { border:1px solid #315b50; background:#091713; color:#a7d5c7; padding:5px 7px; cursor:pointer; }
.city-event-card > footer[b-sho43ndqpe] { margin-top:12px; display:flex; justify-content:flex-end; gap:7px; }
.city-event-result span[b-sho43ndqpe] { min-width:145px; display:grid; }
.city-event-result b[b-sho43ndqpe] { color:#70e3bf; font:800 15px Consolas,monospace; }

.city-events-controls[b-sho43ndqpe] { margin-bottom: var(--am-space-3); display: flex; align-items: center; justify-content: space-between; gap: var(--am-space-3); }
.city-events-tabs[b-sho43ndqpe] { display: inline-flex; align-items: center; border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius); overflow: hidden; background: var(--am-surface-2); }
.city-events-tabs button[b-sho43ndqpe] { min-height: 38px; padding: 0 var(--am-space-3); display: inline-flex; align-items: center; gap: var(--am-space-1); border: 0; border-right: var(--am-border-width) solid var(--am-border-control); background: transparent; color: var(--am-text-muted); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .05em; cursor: pointer; }
.city-events-tabs button:last-child[b-sho43ndqpe] { border-right: 0; }
.city-events-tabs button:hover[b-sho43ndqpe] { color: var(--am-text-strong); background: var(--am-surface-3); }
.city-events-tabs button.active[b-sho43ndqpe] { color: var(--am-accent-text); background: var(--am-accent-bg); box-shadow: inset 0 -2px var(--am-accent); }
.city-event-chart[b-sho43ndqpe] { min-width: 760px; border: var(--am-border-width) solid var(--am-border); border-radius: var(--am-radius); overflow: hidden; background: var(--am-surface-1); }
.city-event-chart-axis[b-sho43ndqpe] { height: 42px; margin-left: 280px; padding: 0 var(--am-space-3); position: relative; display: flex; align-items: center; justify-content: space-between; border-bottom: var(--am-border-width) solid var(--am-border); color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.city-event-chart-axis b[b-sho43ndqpe] { position: absolute; bottom: 2px; color: var(--am-warning-text); font: 800 var(--am-fs-micro) var(--am-font-mono); transform: translateX(-50%); }
.city-event-chart-row[b-sho43ndqpe] { min-height: 62px; display: grid; grid-template-columns: 280px minmax(420px, 1fr); border-bottom: var(--am-border-width) solid var(--am-border-subtle); }
.city-event-chart-row:nth-child(odd)[b-sho43ndqpe] { background: color-mix(in srgb, var(--am-surface-2) 35%, var(--am-surface-1)); }
.city-event-chart-row.complete[b-sho43ndqpe] { opacity: .68; }
.city-event-chart-label[b-sho43ndqpe] { min-width: 0; padding: var(--am-space-2) var(--am-space-3); display: flex; align-items: center; gap: var(--am-space-2); border: 0; border-right: var(--am-border-width) solid var(--am-border); background: transparent; color: var(--am-accent-text); text-align: left; cursor: pointer; }
.city-event-chart-label:hover[b-sho43ndqpe] { background: var(--am-surface-3); }
.city-event-chart-label > span[b-sho43ndqpe] { min-width: 0; display: grid; gap: 3px; }
.city-event-chart-label b[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-strong); font-size: var(--am-fs-body); text-overflow: ellipsis; white-space: nowrap; }
.city-event-chart-label small[b-sho43ndqpe] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.city-event-chart-track[b-sho43ndqpe] { margin: 0 var(--am-space-3); position: relative; }
.city-event-chart-track[b-sho43ndqpe]::before { content: ""; position: absolute; top: 50%; right: 0; left: 0; height: 1px; background: var(--am-border); }
.city-event-segment[b-sho43ndqpe] { position: absolute; top: calc(50% - 7px); height: 14px; min-width: 3px; border-radius: 2px; }
.city-event-segment.inbound[b-sho43ndqpe], .city-event-chart-legend i.inbound[b-sho43ndqpe] { background: #4d94bd; }
.city-event-segment.live[b-sho43ndqpe], .city-event-chart-legend i.live[b-sho43ndqpe] { background: var(--am-accent); }
.city-event-segment.return[b-sho43ndqpe], .city-event-chart-legend i.return[b-sho43ndqpe] { background: var(--am-warning); }
.city-event-now[b-sho43ndqpe] { position: absolute; z-index: 2; top: 8px; bottom: 8px; width: 1px; background: var(--am-warning-text); box-shadow: 0 0 0 1px color-mix(in srgb, var(--am-warning) 25%, transparent); }
.city-event-chart-legend[b-sho43ndqpe] { min-height: 40px; padding: 0 var(--am-space-3); display: flex; align-items: center; justify-content: flex-end; gap: var(--am-space-4); color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); }
.city-event-chart-legend span[b-sho43ndqpe] { display: inline-flex; align-items: center; gap: var(--am-space-1); }
.city-event-chart-legend i[b-sho43ndqpe] { width: 20px; height: 7px; border-radius: 2px; }
.city-events-table[b-sho43ndqpe] { border: var(--am-border-width) solid var(--am-border); border-radius: var(--am-radius); overflow: auto; }
.overview-table.city-events-table > header[b-sho43ndqpe],
.overview-table.city-events-table > button[b-sho43ndqpe] { grid-template-columns: minmax(210px, 1.8fr) minmax(145px, 1.2fr) 90px repeat(4, minmax(90px, .8fr)) repeat(2, 82px) minmax(110px, .8fr) 82px; min-width: 1400px; }
.city-events-table > button.complete[b-sho43ndqpe] { opacity: .68; }
.city-events-table .airport-code[b-sho43ndqpe] { margin-right: 5px; color: var(--am-accent-text); font-family: var(--am-font-mono); }
.city-events-table .city-event-phase[b-sho43ndqpe] { color: var(--am-warning-text); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .04em; }

@media (max-width: 720px) {
    .city-events-header[b-sho43ndqpe] { display: grid; }
    .city-events-header > span[b-sho43ndqpe] { justify-self: stretch; text-align: left; }
    .city-events-controls[b-sho43ndqpe] { align-items: stretch; flex-direction: column; }
    .city-events-tabs[b-sho43ndqpe] { align-self: flex-start; }
}

.strain-overview[b-sho43ndqpe] { height:100%; overflow:auto; padding:20px; }
.strain-summary-header[b-sho43ndqpe] { display:grid; grid-template-columns:180px 1fr; gap:12px; }
.strain-gauge[b-sho43ndqpe] { border:1px solid #315b50; background:#071410; display:grid; place-content:center; text-align:center; box-shadow:inset 4px 0 #49d7aa; }
.strain-gauge.warning[b-sho43ndqpe] { box-shadow:inset 4px 0 #e0ad45; }.strain-gauge.critical[b-sho43ndqpe] { box-shadow:inset 4px 0 #f05c50; }
.strain-gauge b[b-sho43ndqpe] { color:#dffaf1; font:800 34px Consolas,monospace; }.strain-gauge small[b-sho43ndqpe],.strain-gauge span[b-sho43ndqpe] { color:#78988f; font:10px Consolas,monospace; letter-spacing:.08em; }
.strain-projections[b-sho43ndqpe] { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.strain-projections article[b-sho43ndqpe] { border:1px solid #2b4941; padding:12px; background:#06110e; display:grid; grid-template-columns:1fr auto; gap:4px; }
.strain-projections b[b-sho43ndqpe] { color:#6ee6c0; font:800 20px Consolas,monospace; }.strain-projections span[b-sho43ndqpe] { color:#e4bf68; font:11px Consolas,monospace; }.strain-projections p[b-sho43ndqpe] { grid-column:1/-1; margin:5px 0 0; color:#78988f; font:10px/1.4 Consolas,monospace; }
.strain-factor-grid[b-sho43ndqpe] { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:7px; margin-top:10px; }
.strain-factor-grid article[b-sho43ndqpe] { opacity:.58; border:1px solid #253a34; padding:10px; }.strain-factor-grid article.active[b-sho43ndqpe] { opacity:1; border-color:#3e6c60; }
.strain-factor-grid header[b-sho43ndqpe] { display:flex; justify-content:space-between; gap:8px; }.strain-factor-grid b[b-sho43ndqpe] { color:#cce5dd; }.strain-factor-grid span[b-sho43ndqpe] { color:#e4bf68; font:10px Consolas,monospace; }.strain-factor-grid p[b-sho43ndqpe] { margin:6px 0 0; color:#78988f; font:10px/1.4 Consolas,monospace; }
.strain-tools[b-sho43ndqpe] { display:flex; gap:8px; margin:14px 0; }.strain-tools .am-search[b-sho43ndqpe] { flex:1; }.strain-tools select[b-sho43ndqpe] { border:1px solid #315b50; background:#071410; color:#cde4dc; padding:0 10px; }
.strain-contributors[b-sho43ndqpe] { margin-top:12px; border:1px solid #2d4d44; background:#050e0c; }.strain-contributors > header[b-sho43ndqpe] { display:flex; justify-content:space-between; align-items:center; padding:10px 12px; }.strain-contributors h3[b-sho43ndqpe] { margin:2px 0; color:#e5f4ef; }
.strain-table > header[b-sho43ndqpe],.strain-table > div[b-sho43ndqpe] { display:grid; grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) 90px 90px 120px; align-items:center; min-height:39px; border-top:1px solid #20352f; }
.strain-table > header span[b-sho43ndqpe],.strain-table > div > span[b-sho43ndqpe],.strain-table > div > b[b-sho43ndqpe],.strain-table > div > button[b-sho43ndqpe] { padding:7px 10px; text-align:left; }.strain-table > header[b-sho43ndqpe] { color:#78988f; font:9px Consolas,monospace; letter-spacing:.08em; }.strain-table > div > b[b-sho43ndqpe] { color:#d9be76; font:11px Consolas,monospace; }
.strain-table > div > .strain-actions[b-sho43ndqpe] { min-height:39px; padding:5px 10px; display:flex; align-items:center; gap:4px; box-sizing:border-box; }
.strain-actions .am-icon-btn[b-sho43ndqpe] { width:29px; min-width:29px; height:27px; min-height:27px; padding:0; display:inline-grid; place-items:center; line-height:1; border:1px solid #315b50; background:#0b1d18; color:#7de7c5; cursor:pointer; }
.strain-actions .am-icon-btn > .ms[b-sho43ndqpe] { display:block; margin:0; line-height:1; }
.strain-actions .am-icon-btn:hover:not(:disabled)[b-sho43ndqpe] { border-color:var(--am-accent); background:var(--am-accent-bg-strong); color:var(--am-accent-text); box-shadow:0 0 0 1px var(--am-accent-bg); }
.strain-actions .am-icon-btn:disabled[b-sho43ndqpe] { opacity:.3; cursor:not-allowed; }
.strain-reconcile[b-sho43ndqpe] { color:#718b83; font:10px/1.5 Consolas,monospace; }

.passengers-overview[b-sho43ndqpe] { height:100%; overflow:auto; padding:20px; }
.passenger-demand-kpis[b-sho43ndqpe] { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:10px 0; }
.passenger-demand-kpis span[b-sho43ndqpe] { border:1px solid #315b50; padding:12px; display:grid; gap:4px; }.passenger-demand-kpis b[b-sho43ndqpe] { color:#75e4c1; font:800 20px Consolas,monospace; }.passenger-demand-kpis small[b-sho43ndqpe] { color:#78988f; font:9px Consolas,monospace; }
.passenger-forecast-grid[b-sho43ndqpe] { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.passenger-forecast-grid article[b-sho43ndqpe] { border:1px solid #29473f; padding:10px; }.passenger-forecast-grid article > small[b-sho43ndqpe] { color:#d7b968; font:9px Consolas,monospace; }.passenger-forecast-grid article > div[b-sho43ndqpe] { display:grid; grid-template-columns:repeat(3,1fr); gap:5px; margin-top:7px; }.passenger-forecast-grid span[b-sho43ndqpe] { display:grid; }.passenger-forecast-grid b[b-sho43ndqpe] { color:#dcece7; font:13px Consolas,monospace; }.passenger-forecast-grid small[b-sho43ndqpe] { color:#718b83; font:8px Consolas,monospace; }
.passenger-opportunities[b-sho43ndqpe],.marketing-workspace[b-sho43ndqpe] { border:1px solid #2b4941; margin-top:12px; background:#050e0c; }.passenger-opportunities > header[b-sho43ndqpe],.marketing-workspace > header[b-sho43ndqpe] { padding:12px; display:flex; justify-content:space-between; align-items:flex-start; }.passenger-opportunities h3[b-sho43ndqpe],.marketing-workspace h3[b-sho43ndqpe] { margin:2px 0; color:#e5f4ef; }.passenger-opportunities header > span[b-sho43ndqpe],.marketing-workspace header > span[b-sho43ndqpe],.marketing-workspace p[b-sho43ndqpe] { color:#78988f; font:10px Consolas,monospace; }
.opportunity-table > header[b-sho43ndqpe],.opportunity-table > div[b-sho43ndqpe] { display:grid; grid-template-columns:minmax(220px,1.7fr) 90px 100px 100px 85px 75px; align-items:center; border-top:1px solid #20352f; min-height:42px; }.opportunity-table > header[b-sho43ndqpe] { color:#78988f; font:9px Consolas,monospace; }.opportunity-table > * > *[b-sho43ndqpe] { padding:7px 9px; }.opportunity-table > div > span[b-sho43ndqpe] { display:grid; }.opportunity-table small[b-sho43ndqpe] { color:#718b83; font:9px/1.35 Consolas,monospace; }.opportunity-table > div > b[b-sho43ndqpe] { color:#d9be76; font:11px Consolas,monospace; }.opportunity-table button[b-sho43ndqpe] { margin:5px; border:1px solid #3b7667; background:#0d2a22; color:#8ce5c8; cursor:pointer; }
.marketing-offer-grid[b-sho43ndqpe] { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:8px; padding:0 12px 12px; }.marketing-offer[b-sho43ndqpe] { border:1px solid #315b50; padding:11px; background:#071410; }.marketing-offer > header[b-sho43ndqpe] { display:flex; gap:8px; align-items:center; }.marketing-offer h4[b-sho43ndqpe] { margin:2px 0; color:#e8f5f1; }.marketing-offer > header strong[b-sho43ndqpe] { margin-left:auto; color:#edc568; font:800 16px Consolas,monospace; }.marketing-offer > div[b-sho43ndqpe] { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.marketing-offer > div span[b-sho43ndqpe] { border:1px solid #223b34; padding:7px; display:grid; }.marketing-offer b[b-sho43ndqpe] { font:11px Consolas,monospace; }.marketing-offer footer[b-sho43ndqpe] { display:flex; justify-content:flex-end; gap:5px; margin-top:9px; }.marketing-offer.campaign[b-sho43ndqpe] { box-shadow:inset 3px 0 #48d1a6; }.marketing-offer.completed[b-sho43ndqpe] { opacity:.68; box-shadow:inset 3px 0 #647c74; }.marketing-offer.coolingdown[b-sho43ndqpe] { box-shadow:inset 3px 0 #dfb34f; }
.marketing-offer > .marketing-event-status[b-sho43ndqpe] { margin-top: 9px; padding: 8px; display: flex; grid-template-columns: none; align-items: center; gap: 7px; border: 1px solid var(--am-accent); background: var(--am-accent-bg); color: var(--am-accent); }
.marketing-event-status > span[b-sho43ndqpe] { padding: 0 !important; display: grid; border: 0 !important; }
.marketing-event-status small[b-sho43ndqpe] { color: var(--am-accent); font: 800 8px var(--am-font-mono); letter-spacing: .08em; }
.marketing-event-status b[b-sho43ndqpe] { color: var(--am-text-secondary); }
.marketing-event-action[b-sho43ndqpe] { min-height: 34px; display: inline-flex; align-items: center; gap: 5px; }

.primary-action[b-sho43ndqpe], .secondary-action[b-sho43ndqpe] {
    min-height: 42px;
    padding: 0 17px;
    border: 1px solid #58736b;
    border-radius: 2px;
    background: #132c26;
    color: #c8f5e7;
    font: 800 11px Consolas,monospace;
    letter-spacing: .07em;
    cursor: pointer
}

    .primary-action:hover[b-sho43ndqpe] {
        border-color: #7adbbf;
        background: #194036
    }

.secondary-action[b-sho43ndqpe] {
    background: #0a0f0e;
    color: #9cafaa
}

.primary-action:disabled[b-sho43ndqpe] {
    opacity: .35;
    cursor: not-allowed
}

.wide-action[b-sho43ndqpe] {
    width: 100%;
    margin-top: 15px
}

.loading-card[b-sho43ndqpe] {
    top: 50%;
    left: 50%;
    padding: 18px 24px;
    display: flex;
    align-items: center;
    gap: 13px;
    transform: translate(-50%,-50%);
    font: 800 12px Consolas,monospace;
    letter-spacing: .09em
}

    .loading-card i[b-sho43ndqpe] {
        width: 11px;
        height: 11px;
        border-radius: 50%;
        background: #68dcb9;
        box-shadow: 0 0 10px #68dcb9;
        animation: pulse-b-sho43ndqpe 1s steps(1,end) infinite
    }

@keyframes pulse-b-sho43ndqpe {
    50% {
        opacity: .25
    }
}

    

        

    

    

.detail-card[b-sho43ndqpe] {
    z-index: 9;
    top: 0;
    right: 0;
    width: 430px;
    height: 100%;
    max-height: none;
    overflow: auto;
    padding: 22px;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    border-radius: 0;
    background: rgba(4,10,9,.98)
}

    

.close-card[b-sho43ndqpe] {
    position: absolute;
    top: 8px;
    right: 9px;
    border: 0;
    background: transparent;
    color: #829991;
    font-size: 25px;
    cursor: pointer
}

.load-meter[b-sho43ndqpe] {
    height: 9px;
    margin: 17px 0 13px;
    border: 1px solid #293b36;
    background: #020504
}

    .load-meter i[b-sho43ndqpe] {
        display: block;
        height: 100%;
        background: #42bd8d;
        box-shadow: 0 0 8px rgba(66,189,141,.45);
        transition: width .25s,background .25s
    }

    .load-meter.warning i[b-sho43ndqpe] {
        background: #e1ad3f;
        box-shadow: 0 0 8px rgba(225,173,63,.45)
    }

    .load-meter.critical i[b-sho43ndqpe] {
        background: #e85048;
        box-shadow: 0 0 9px rgba(232,80,72,.55)
    }

.detail-stats[b-sho43ndqpe] {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 7px
}

    .detail-stats span[b-sho43ndqpe] {
        min-width: 0;
        padding: 11px 8px;
        border: 1px solid #263832;
        background: #07100e;
        display: grid;
        gap: 6px
    }

    .detail-stats small[b-sho43ndqpe] {
        color: #779087;
        font: 9px Consolas,monospace
    }

    .detail-stats b[b-sho43ndqpe] {
        overflow: hidden;
        color: #e1ebe8;
        font: 800 12px Consolas,monospace;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .detail-stats-upgrade[b-sho43ndqpe] {
        display: grid;
        gap: 6px;
        align-items: start
    }

    .city-level-controls[b-sho43ndqpe] {
        display: flex;
        gap: 4px;
        align-items: center
    }

    .city-level-controls .am-icon-btn[b-sho43ndqpe] {
        width: 26px;
        height: 26px;
        border: 1px solid #2d4840;
        background: #071210;
        color: var(--am-accent);
        flex-shrink: 0
    }

    .city-level-controls .am-icon-btn:disabled[b-sho43ndqpe] { opacity: .3; cursor: not-allowed }

/* Clickable airport name in sidebar title */
.sidebar-airport-name[b-sho43ndqpe] {
    background: transparent;
    border: 0;
    color: inherit;
    font: inherit;
    padding: 0;
    text-align: left;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-color: #4a6a60;
    text-underline-offset: 3px
}

.sidebar-airport-name:hover[b-sho43ndqpe] { color: var(--am-accent-strong); text-decoration-color: var(--am-accent) }

/* Bigger next-airport pie */
.sidebar-demand-next[b-sho43ndqpe] {
    grid-template-columns: 130px 1fr
}

.sidebar-demand-next .sidebar-pie[b-sho43ndqpe] {
    width: 120px;
    height: 120px;
    border-width: 9px
}

/* Clickable airport names in the next-airport list */
.flow-airport-link[b-sho43ndqpe] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    background: transparent;
    border: 0;
    color: #93a8a1;
    font: 10px Consolas,monospace;
    padding: 0;
    cursor: pointer;
    text-align: left;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-color: #3d5a52;
    text-underline-offset: 2px
}

.flow-airport-link:hover[b-sho43ndqpe] { color: var(--am-accent-strong); text-decoration-color: var(--am-accent) }
.flow-airport-link.no-route[b-sho43ndqpe] { text-decoration: none; cursor: default; color: #93a8a1 }

/* Range tabs inside the waiting history chart header */
.sidebar-range-tabs[b-sho43ndqpe] {
    display: flex;
    gap: 3px
}

.sidebar-range-tabs button[b-sho43ndqpe] {
    padding: 1px 5px;
    border: 1px solid #283e35;
    background: transparent;
    color: #6a8a80;
    font: 700 8px Consolas,monospace;
    letter-spacing: .06em;
    cursor: pointer
}

.sidebar-range-tabs button:hover[b-sho43ndqpe] { border-color: #3d5e52; color: #a0bdb5 }
.sidebar-range-tabs button.active[b-sho43ndqpe] { border-color: #4a8a72; background: #0a1f18; color: #58cba6 }

.hint[b-sho43ndqpe] {
    margin-top: 14px;
    font-size: 11px
}

.sidebar-kpis[b-sho43ndqpe] {
    margin-top: 9px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 6px
}

    .sidebar-kpis span[b-sho43ndqpe] {
        padding: 9px;
        border: 1px solid #263832;
        background: #07100e;
        display: grid;
        gap: 5px
    }

    .sidebar-kpis small[b-sho43ndqpe] {
        color: #779087;
        font: 8px Consolas,monospace
    }

    .sidebar-kpis b[b-sho43ndqpe] {
        color: #dce9e5;
        font: 800 11px Consolas,monospace
    }

.sidebar-chart[b-sho43ndqpe], .sidebar-demand[b-sho43ndqpe] {
    margin-top: 12px;
    padding: 11px;
    border: 1px solid #293d36;
    background: #030806
}

    .sidebar-chart header[b-sho43ndqpe], .sidebar-demand header[b-sho43ndqpe] {
        display: flex;
        justify-content: space-between;
        color: #aebfba;
        font: 800 9px Consolas,monospace
    }

        .sidebar-chart header small[b-sho43ndqpe], .sidebar-demand header small[b-sho43ndqpe] {
            color: #71877f
        }

    .sidebar-chart svg[b-sho43ndqpe] {
        width: 100%;
        height: 90px;
        margin-top: 8px
    }

    .sidebar-chart polyline[b-sho43ndqpe] {
        fill: none;
        stroke: #64cdae;
        stroke-width: 3;
        vector-effect: non-scaling-stroke
    }

.sidebar-demand[b-sho43ndqpe] {
    display: grid;
    grid-template-columns: 105px 1fr;
    gap: 10px
}

    .sidebar-demand header[b-sho43ndqpe] {
        grid-column: 1/-1
    }

.sidebar-pie[b-sho43ndqpe] {
    width: 96px;
    height: 96px;
    border: 10px solid #07100e;
    border-radius: 50%
}

.sidebar-demand ol[b-sho43ndqpe] {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    align-content: center;
    gap: 5px
}

.sidebar-demand li[b-sho43ndqpe] {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: #93a8a1;
    font: 9px Consolas,monospace
}

    .sidebar-demand li b[b-sho43ndqpe] {
        color: #d7e6e1
    }

.direction-kpis[b-sho43ndqpe] {
    grid-template-columns: repeat(2,1fr)
}

    .route-throughput > header[b-sho43ndqpe] {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        color: #b9cbc5;
        font: 800 9px Consolas,monospace
    }

    .route-throughput > header small[b-sho43ndqpe] {
        color: #718a82;
        font: 8px Consolas,monospace;
        text-align: right
    }

.route-throughput-kpis[b-sho43ndqpe] {
    grid-template-columns: repeat(3,1fr)
}

    .route-throughput-kpis span:nth-child(n+4)[b-sho43ndqpe] {
        border-color: #315047
    }

.route-throughput-utilization[b-sho43ndqpe] {
    margin-top: 7px;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 6px
}

.overview-route-throughput[b-sho43ndqpe] {
    margin: 0
}

    .overview-route-throughput .overview-kpis[b-sho43ndqpe] {
        padding-bottom: 10px
    }

.sidebar-chart polyline.outbound[b-sho43ndqpe], .chart-card polyline.outbound[b-sho43ndqpe] {
    stroke: #64cdae
}

.sidebar-chart polyline.return[b-sho43ndqpe], .chart-card polyline.return[b-sho43ndqpe] {
    stroke: #d7b861;
    filter: drop-shadow(0 0 4px rgba(215,184,97,.35))
}

.direction-legend[b-sho43ndqpe] {
    margin-top: 8px;
    display: flex !important;
    justify-content: flex-start !important;
    gap: 16px;
    color: #8fa49d !important;
    font: 8px Consolas,monospace !important
}

    .direction-legend span[b-sho43ndqpe]:before {
        content: "";
        display: inline-block;
        width: 12px;
        height: 3px;
        margin-right: 5px;
        vertical-align: middle
    }

    .direction-legend .outbound[b-sho43ndqpe]:before {
        background: #64cdae
    }

    .direction-legend .return[b-sho43ndqpe]:before {
        background: #d7b861
    }

    

    

    

.modal-backdrop[b-sho43ndqpe] {
    position: absolute;
    z-index: 40;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(0,3,3,.76);
    backdrop-filter: blur(5px)
}

.overview-modal[b-sho43ndqpe] {
    width: min(1050px,96vw);
    max-height: min(760px,calc(100vh - 110px));
    overflow: auto;
    border: 1px solid #50665f;
    border-radius: 5px;
    background: #060c0a;
    color: #d8e5e1;
    box-shadow: 0 24px 70px #000,inset 0 0 0 1px rgba(130,220,192,.04)
}

.overview-header[b-sho43ndqpe] {
    position: sticky;
    z-index: 2;
    top: 0;
    padding: 20px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #263a34;
    background: #08100e
}

    .overview-header small[b-sho43ndqpe], .detail-heading small[b-sho43ndqpe] {
        color: #78978e;
        font: 800 10px Consolas,monospace;
        letter-spacing: .12em
    }

    

.modal-close[b-sho43ndqpe] {
    width: 40px;
    height: 40px;
    border: 1px solid #3b4d47;
    background: #070c0b;
    color: #a8bbb5;
    font-size: 25px;
    cursor: pointer
}

.overview-tabs[b-sho43ndqpe] {
    padding: 16px 24px 0;
    display: flex;
    gap: 7px
}

    .overview-tabs button[b-sho43ndqpe] {
        min-height: 38px;
        padding: 0 16px;
        border: 1px solid #344a43;
        background: #09120f;
        color: #91a69f;
        font: 800 11px Consolas,monospace;
        cursor: pointer
    }

        .overview-tabs button.active[b-sho43ndqpe] {
            border-color: #68c7aa;
            background: #15352c;
            color: #d7f5eb
        }

.overview-table[b-sho43ndqpe] {
    padding: 14px 24px 24px
}

    .overview-table > header[b-sho43ndqpe], .overview-table > button[b-sho43ndqpe] {
        width: 100%;
        display: grid;
        grid-template-columns: 2fr repeat(4,1fr);
        align-items: center;
        gap: 12px;
        text-align: left
    }

    .overview-table > header[b-sho43ndqpe] {
        padding: 10px 13px;
        color: #809a91;
        font: 800 10px Consolas,monospace;
        letter-spacing: .07em
    }

    .overview-table > button[b-sho43ndqpe] {
        min-height: 64px;
        padding: 10px 13px;
        border: 1px solid #253a34;
        border-bottom: 0;
        background: #07100d;
        color: #c8d8d3;
        cursor: pointer
    }

        .overview-table > button:last-child[b-sho43ndqpe] {
            border-bottom: 1px solid #253a34
        }

        .overview-table > button:hover[b-sho43ndqpe] {
            position: relative;
            border-color: #5b9f8a;
            background: #0d1c18
        }

        .overview-table > button span[b-sho43ndqpe] {
            font: 12px Consolas,monospace
        }

            .overview-table > button span:first-child[b-sho43ndqpe] {
                display: grid;
                gap: 5px
            }

        

        .overview-table > button small[b-sho43ndqpe] {
            color: #829890;
            font-size: 10px
        }

.status-text[b-sho43ndqpe] {
    color: #7fe1c3 !important
}

    .status-text.dwell[b-sho43ndqpe] {
        color: #eac773 !important
    }

    .status-text.critical[b-sho43ndqpe] {
        color: #ff8178 !important
    }

.empty-overview[b-sho43ndqpe] {
    padding: 30px;
    border: 1px solid #253a34;
    color: #93a8a1;
    font: 12px Consolas,monospace;
    text-align: center
}

.detail-heading[b-sho43ndqpe] {
    padding: 16px 24px;
    display: flex;
    align-items: end;
    justify-content: space-between
}

    .detail-heading h3[b-sho43ndqpe] {
        margin: 5px 0 0;
        font-size: 25px
    }

    .detail-heading > b[b-sho43ndqpe] {
        color: #83dcbf;
        font: 800 12px Consolas,monospace
    }

.overview-kpis[b-sho43ndqpe] {
    padding: 0 24px;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 10px
}

    .overview-kpis span[b-sho43ndqpe] {
        padding: 14px;
        border: 1px solid #263b34;
        background: #08120f;
        display: grid;
        gap: 8px
    }

    .overview-kpis small[b-sho43ndqpe] {
        color: #82998f;
        font: 10px Consolas,monospace
    }

    .overview-kpis b[b-sho43ndqpe] {
        font: 800 17px Consolas,monospace
    }

.compact-kpis[b-sho43ndqpe] {
    grid-template-columns: repeat(3,1fr);
    padding-bottom: 24px
}

.chart-card[b-sho43ndqpe] {
    margin: 16px 24px;
    padding: 14px;
    border: 1px solid #293d36;
    background: #030806
}

    .chart-card > div[b-sho43ndqpe] {
        display: flex;
        justify-content: space-between;
        color: #b2c4be;
        font: 800 11px Consolas,monospace
    }

        .chart-card > div small[b-sho43ndqpe] {
            color: #789087
        }

    .chart-card svg[b-sho43ndqpe] {
        width: 100%;
        height: 230px;
        margin-top: 12px;
        overflow: visible
    }

    .chart-card line[b-sho43ndqpe] {
        stroke: #20332d;
        stroke-width: 1
    }

    .chart-card polyline[b-sho43ndqpe] {
        fill: none;
        stroke: #69d5b4;
        stroke-width: 3;
        vector-effect: non-scaling-stroke;
        filter: drop-shadow(0 0 4px rgba(70,218,174,.45))
    }

.destination-list[b-sho43ndqpe] {
    margin: 0 24px 24px;
    border: 1px solid #293d36;
    background: #040a08
}

    .destination-list header[b-sho43ndqpe], .destination-list div[b-sho43ndqpe] {
        padding: 10px 13px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid #1d2f29;
        font: 11px Consolas,monospace
    }

    .destination-list header[b-sho43ndqpe] {
        color: #aebfba;
        font-weight: 800
    }

        .destination-list header small[b-sho43ndqpe] {
            color: #748a83
        }

    .destination-list div:last-child[b-sho43ndqpe] {
        border-bottom: 0
    }

    .destination-list div span[b-sho43ndqpe] {
        color: #91a69f
    }

    .destination-list div b[b-sho43ndqpe] {
        color: #dce9e5
    }

.stacked-chart-card svg[b-sho43ndqpe] {
    height: 245px
}

.stacked-chart-card rect[b-sho43ndqpe] {
    shape-rendering: crispEdges;
    opacity: .88
}

.chart-toggle[b-sho43ndqpe] {
    margin-top: 12px;
    padding: 8px 10px;
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center;
    gap: 8px;
    border: 1px solid #263a34;
    background: #07100e;
    color: #9eb2ab !important;
    font: 10px Consolas,monospace !important
}

.stacked-legend[b-sho43ndqpe] {
    margin-top: 10px;
    display: flex !important;
    justify-content: flex-start !important;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: #8fa49d !important;
    font: 9px Consolas,monospace !important
}

    .stacked-legend span[b-sho43ndqpe] {
        display: flex;
        align-items: center;
        gap: 5px
    }

    .stacked-legend i[b-sho43ndqpe] {
        width: 9px;
        height: 9px;
        border-radius: 2px
    }

    

    

    

    

    

    

    

@media(max-width:760px) {
    

        

    

    

    

    

    .overview-table[b-sho43ndqpe] {
        overflow-x: auto
    }

        .overview-table > header[b-sho43ndqpe], .overview-table > button[b-sho43ndqpe] {
            min-width: 760px
        }

    .overview-kpis[b-sho43ndqpe] {
        grid-template-columns: repeat(2,1fr)
    }

    

    
}

@media(prefers-reduced-motion:reduce) {
    .loading-card i[b-sho43ndqpe] {
        animation: none
    }
}

    

    

    

    

    

    

    

    

    

        

        

        

    

    

    

    

    .destination-list details[b-sho43ndqpe] {
        border-bottom: 1px solid #20322d
    }

    .destination-list summary[b-sho43ndqpe] {
        padding: 9px 11px;
        display: flex;
        justify-content: space-between;
        cursor: pointer;
        color: #b7c9c3;
        font: 11px Consolas,monospace
    }

    .destination-list details div[b-sho43ndqpe] {
        padding: 7px 14px 7px 26px;
        display: flex;
        justify-content: space-between;
        color: #829a92;
        font: 10px Consolas,monospace
    }

    

.financial-mini[b-sho43ndqpe] {
    margin-top: 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px
}

    .financial-mini span[b-sho43ndqpe] {
        padding: 9px;
        border: 1px solid #263832;
        background: #07100e;
        display: grid;
        gap: 4px;
        color: #7f968e;
        font: 10px Consolas,monospace
    }

    .financial-mini b[b-sho43ndqpe] {
        color: #dce9e5;
        font-size: 12px
    }

.move-routes[b-sho43ndqpe] {
    margin-top: 14px;
    display: grid;
    gap: 6px
}

    .move-routes > small[b-sho43ndqpe] {
        color: #78978e;
        font: 800 10px Consolas,monospace
    }

.route-options[b-sho43ndqpe] {
    margin-top: 12px;
    display: grid;
    gap: 6px
}

    .route-options label[b-sho43ndqpe], .toggle-option[b-sho43ndqpe] {
        padding: 9px 10px;
        display: flex;
        align-items: center;
        gap: 8px;
        border: 1px solid #293d36;
        background: #07100e;
        color: #b7c7c2;
        font: 10px Consolas,monospace
    }

    .route-options label > span:has(small)[b-sho43ndqpe] {
        display: grid;
        gap: 3px
    }

    .route-options label b[b-sho43ndqpe] {
        font: 800 10px Consolas,monospace
    }

    .route-options label small[b-sho43ndqpe] {
        color: #718a82;
        font: 8px Consolas,monospace
    }

    .route-options .route-sub-option[b-sho43ndqpe] {
        margin-left: 18px;
        padding-block: 7px;
        border-left-color: #41665a;
        background: #081411
    }

    .route-options .route-sub-option:has(input:disabled)[b-sho43ndqpe] {
        opacity: .45
    }

.overview-route-options[b-sho43ndqpe] {
    margin: 0
}

.aircraft-actions[b-sho43ndqpe] {
    margin-top: 10px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px
}

.danger-action[b-sho43ndqpe] {
    min-height: 42px;
    border: 1px solid #77443f;
    background: #2a0d0b;
    color: #ffb1a8;
    font: 800 10px Consolas,monospace;
    cursor: pointer
}

    .danger-action:disabled[b-sho43ndqpe] {
        opacity: .35;
        cursor: not-allowed
    }

.move-routes[b-sho43ndqpe] {
    grid-template-columns: repeat(2,1fr)
}

    .move-routes small[b-sho43ndqpe] {
        grid-column: 1/-1
    }

    .move-routes button[b-sho43ndqpe] {
        padding: 8px;
        border: 1px solid #304740;
        background: #091510;
        color: #a9c3bb;
        font: 10px Consolas,monospace;
        cursor: pointer
    }

.overview-tools[b-sho43ndqpe] {
    padding: 12px 24px 0;
    display: flex;
    gap: 8px
}

    .overview-tools input[b-sho43ndqpe], .overview-tools select[b-sho43ndqpe] {
        min-height: 38px;
        padding: 0 12px;
        border: 1px solid #344a43;
        background: #07100d;
        color: #c8d8d3;
        font: 11px Consolas,monospace
    }

    .overview-tools input[b-sho43ndqpe] {
        flex: 1
    }

    .overview-tools select[b-sho43ndqpe] {
        width: 190px
    }

.finance-overview[b-sho43ndqpe] {
    padding: 18px 0
}

.financial-kpis[b-sho43ndqpe] {
    padding-top: 0
}

.destination-list details > div[b-sho43ndqpe] {
    border-top: 1px solid #172722
}

.destination-list details:last-child[b-sho43ndqpe] {
    border-bottom: 0
}

.management-grid[b-sho43ndqpe] {
    padding: 16px 24px 24px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px
}

    .management-grid > section[b-sho43ndqpe] {
        border: 1px solid #293d36;
        background: #040a08
    }

    .management-grid header[b-sho43ndqpe] {
        padding: 12px;
        display: flex;
        justify-content: space-between;
        color: #b9cbc5;
        font: 800 11px Consolas,monospace
    }

.management-row[b-sho43ndqpe], .hangar-row[b-sho43ndqpe] {
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-top: 1px solid #20322d
}

    .management-row span[b-sho43ndqpe], .hangar-row > span[b-sho43ndqpe] {
        display: grid;
        gap: 4px
    }

    .management-row small[b-sho43ndqpe], .hangar-row small[b-sho43ndqpe] {
        color: #789087;
        font: 9px Consolas,monospace
    }

    .management-row button[b-sho43ndqpe], .hangar-row button[b-sho43ndqpe] {
        padding: 7px 9px;
        border: 1px solid #345047;
        background: #0c1b17;
        color: #bfe8db;
        font: 9px Consolas,monospace;
        cursor: pointer
    }

    .hangar-row > div[b-sho43ndqpe] {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 4px
    }

    .hangar-row button.sell[b-sho43ndqpe] {
        border-color: #73443f;
        color: #ffaaa2
    }

.management-grid p[b-sho43ndqpe] {
    padding: 15px;
    color: #80978f;
    font: 10px Consolas,monospace
}

.passengers-overview[b-sho43ndqpe] {
    padding: 16px 24px 24px;
    display: grid;
    gap: 16px;
    align-content: start;
}

.passengers-wip[b-sho43ndqpe] {
    padding: 40px 24px;
    display: grid;
    justify-items: center;
    gap: 10px;
    border: 1px dashed var(--am-border-strong);
    background: var(--am-surface-2);
    text-align: center;
    color: var(--am-text-dim);
}

.passengers-wip b[b-sho43ndqpe] { color: var(--am-warning); font: 800 11px Consolas, monospace; letter-spacing: .1em; }
.passengers-wip p[b-sho43ndqpe] { max-width: 52ch; margin: 0; font: 11px Consolas, monospace; line-height: 1.6; }

.advisor-overview[b-sho43ndqpe] { padding: 16px 24px 28px; display: grid; gap: 14px }
.advisor-heading[b-sho43ndqpe] { display: flex; justify-content: space-between; align-items: end; gap: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--am-border) }
.advisor-heading > div:first-child[b-sho43ndqpe] { max-width: 720px }
.advisor-heading small[b-sho43ndqpe] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .1em }
.advisor-heading h2[b-sho43ndqpe] { margin: 4px 0; color: var(--am-text-strong) }
.advisor-heading p[b-sho43ndqpe] { margin: 0; color: var(--am-text-dim); font: var(--am-fs-label)/1.5 var(--am-font-mono) }
.advisor-heading > div:last-child[b-sho43ndqpe] { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px }
.advisor-heading > div:last-child span[b-sho43ndqpe] { min-width: 82px; padding: 9px; display: grid; gap: 2px; border: 1px solid var(--am-border); background: var(--am-surface-2); text-align: right }
.advisor-heading > div:last-child b[b-sho43ndqpe] { color: var(--am-text-strong); font: 800 16px var(--am-font-mono) }
.advisor-heading > div:last-child small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro) }
.advisor-group[b-sho43ndqpe] { border: 1px solid var(--am-border); background: var(--am-surface-1) }
.advisor-group > header[b-sho43ndqpe] { padding: 10px 12px; display: flex; justify-content: space-between; align-items: center; background: var(--am-surface-3) }
.advisor-group > header div[b-sho43ndqpe] { display: grid; gap: 2px }
.advisor-group > header b[b-sho43ndqpe] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .08em }
.advisor-group > header small[b-sho43ndqpe] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono) }
.advisor-group > header > span[b-sho43ndqpe] { color: var(--am-text-faint); font: 800 12px var(--am-font-mono) }
.advisor-list[b-sho43ndqpe] { display: grid }
.advisor-list article[b-sho43ndqpe] { position: relative; padding: 12px; display: grid; grid-template-columns: minmax(250px,1fr) minmax(190px,.45fr) auto; align-items: center; gap: 16px; border-top: 1px solid var(--am-border) }
.advisor-list article:first-child[b-sho43ndqpe] { border-top: 0 }
.advisor-priority[b-sho43ndqpe] { position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--am-surface-3) }
.advisor-priority i[b-sho43ndqpe] { position: absolute; inset: auto 0 0; max-height: 100%; background: var(--am-accent) }
.advisor-copy > small[b-sho43ndqpe] { color: var(--am-accent); font: 800 8px var(--am-font-mono); letter-spacing: .08em }
.advisor-copy h3[b-sho43ndqpe] { margin: 3px 0; color: var(--am-text-strong); font: 800 12px var(--am-font-mono) }
.advisor-copy p[b-sho43ndqpe] { margin: 0; color: var(--am-text-dim); font: 9px/1.45 var(--am-font-mono) }
.advisor-aircraft[b-sho43ndqpe] { margin-top: 8px; display: flex; align-items: center; gap: 7px; color: var(--am-accent) }
.advisor-aircraft span[b-sho43ndqpe] { display: grid; gap: 2px }
.advisor-aircraft b[b-sho43ndqpe] { color: var(--am-text-strong); font: 800 9px var(--am-font-mono) }
.advisor-aircraft small[b-sho43ndqpe] { color: var(--am-text-dim); font: 8px var(--am-font-mono) }
.advisor-list dl[b-sho43ndqpe] { margin: 0; display: grid; gap: 5px }
.advisor-list dl div[b-sho43ndqpe] { display: flex; justify-content: space-between; gap: 12px }
.advisor-list dt[b-sho43ndqpe] { color: var(--am-text-dim); font: 8px var(--am-font-mono) }
.advisor-list dd[b-sho43ndqpe] { margin: 0; color: var(--am-text-strong); font: 800 9px var(--am-font-mono) }
.advisor-list dd.positive[b-sho43ndqpe] { color: var(--am-positive) }
.advisor-list dd.negative[b-sho43ndqpe] { color: var(--am-danger) }

.advisor-sidebar[b-sho43ndqpe] { display: flex; flex-direction: column; gap: var(--am-space-3); }
.advisor-sidebar-heading[b-sho43ndqpe] { padding-bottom: var(--am-space-3); border-bottom: var(--am-border-width) solid var(--am-border); }
.advisor-sidebar-heading h2[b-sho43ndqpe] { margin: var(--am-space-1) 0; color: var(--am-text-strong); }
.advisor-sidebar-heading p[b-sho43ndqpe],
.advisor-sidebar-empty[b-sho43ndqpe] { margin: 0; color: var(--am-text-dim); font: var(--am-fs-small)/1.5 var(--am-font-mono); }
.advisor-bulk-actions[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--am-space-2); }
.advisor-bulk-actions .advisor-apply-all[b-sho43ndqpe] { grid-column: 1 / -1; }
.advisor-bulk-actions button:disabled[b-sho43ndqpe],
.advisor-bulk-actions button:disabled:hover[b-sho43ndqpe] {
    opacity: .45;
    cursor: not-allowed;
    color: var(--am-text-muted);
    border-color: var(--am-border-subtle);
    background: var(--am-surface-1);
    box-shadow: none;
    transform: none;
}
.advisor-bulk-actions b.advisor-count-zero[b-sho43ndqpe] { color: var(--am-text-muted); }
.advisor-bulk-actions b.advisor-count-green[b-sho43ndqpe] { color: var(--am-success); }
.advisor-bulk-actions b.advisor-count-yellow[b-sho43ndqpe] { color: var(--am-warning); }
.advisor-bulk-actions b.advisor-count-red[b-sho43ndqpe] { color: var(--am-danger); }
.advisor-count-green[b-sho43ndqpe] { color: var(--am-success); }
.advisor-count-yellow[b-sho43ndqpe] { color: var(--am-warning); }
.advisor-count-red[b-sho43ndqpe] { color: var(--am-danger); }
.advisor-count-zero[b-sho43ndqpe] { color: var(--am-text-muted); }
.advisor-apply-all[b-sho43ndqpe],
.advisor-bulk-action[b-sho43ndqpe] {
    min-height: 38px;
    padding-inline: var(--am-space-3);
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--am-space-2);
}
.advisor-apply-all span[b-sho43ndqpe],
.advisor-bulk-action span[b-sho43ndqpe] { overflow: hidden; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.advisor-apply-all b[b-sho43ndqpe],
.advisor-bulk-action b[b-sho43ndqpe] {
    min-width: 24px;
    padding: 2px 5px;
    border: var(--am-border-width) solid currentColor;
    border-radius: var(--am-radius-pill);
    font: 800 var(--am-fs-micro) var(--am-font-mono);
    text-align: center;
}
.advisor-overview-actions[b-sho43ndqpe] { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
.advisor-overview-actions .advisor-apply-all[b-sho43ndqpe] { min-width: 0; }
.advisor-sidebar-empty[b-sho43ndqpe] { padding: var(--am-space-4); border: var(--am-border-width) dashed var(--am-border); background: var(--am-surface-1); }
.advisor-sidebar-list[b-sho43ndqpe] { display: grid; gap: var(--am-space-2); }
.advisor-sidebar-list article[b-sho43ndqpe] { padding: var(--am-space-3); display: grid; gap: var(--am-space-2); border: var(--am-border-width) solid var(--am-border); background: var(--am-surface-1); }
.advisor-sidebar-list article > header[b-sho43ndqpe] { display: flex; align-items: center; justify-content: space-between; gap: var(--am-space-2); }
.advisor-sidebar-list article > header span[b-sho43ndqpe] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .09em; }
.advisor-sidebar-list article > header b[b-sho43ndqpe] { min-width: 28px; padding: 2px 5px; border: var(--am-border-width) solid var(--am-border); color: var(--am-text-faint); font: 800 var(--am-fs-micro) var(--am-font-mono); text-align: center; }
.advisor-sidebar-name[b-sho43ndqpe] { padding: 0; border: 0; background: transparent; color: var(--am-text-strong); font: 800 var(--am-fs-body) var(--am-font-mono); text-align: left; }
.advisor-sidebar-name:hover[b-sho43ndqpe],
.advisor-sidebar-name:focus-visible[b-sho43ndqpe] { color: var(--am-accent); text-decoration: underline; text-underline-offset: 3px; }
.advisor-sidebar-list article > p[b-sho43ndqpe] { margin: 0; color: var(--am-text-dim); font: var(--am-fs-small)/1.45 var(--am-font-mono); }
.advisor-sidebar-aircraft[b-sho43ndqpe] { padding: var(--am-space-2); display: flex; align-items: center; gap: var(--am-space-2); border: var(--am-border-width) solid var(--am-border-subtle); background: var(--am-surface-2); color: var(--am-accent); }
.advisor-sidebar-aircraft span[b-sho43ndqpe] { min-width: 0; display: grid; gap: 2px; }
.advisor-sidebar-aircraft b[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-secondary); font: 800 var(--am-fs-small) var(--am-font-mono); text-overflow: ellipsis; white-space: nowrap; }
.advisor-sidebar-aircraft small[b-sho43ndqpe] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.advisor-sidebar-list dl[b-sho43ndqpe] { margin: 0; padding-top: var(--am-space-2); display: grid; gap: 4px; border-top: var(--am-border-width) solid var(--am-border-subtle); }
.advisor-sidebar-list dl div[b-sho43ndqpe] { display: flex; justify-content: space-between; gap: var(--am-space-2); }
.advisor-sidebar-list dt[b-sho43ndqpe] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.advisor-sidebar-list dd[b-sho43ndqpe] { margin: 0; color: var(--am-text-secondary); font: 800 var(--am-fs-small) var(--am-font-mono); }
.advisor-sidebar-list article > footer[b-sho43ndqpe] { display: grid; grid-template-columns: 34px 1fr; gap: var(--am-space-2); }
.advisor-sidebar-list article > footer .primary-action[b-sho43ndqpe] { min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: var(--am-space-1); }
.advisor-full-action[b-sho43ndqpe] { margin-top: auto; }

@media(max-width:900px) {
    .advisor-heading[b-sho43ndqpe] { align-items: stretch; flex-direction: column }
    .advisor-heading > div:last-child[b-sho43ndqpe] { justify-content: stretch }
    .advisor-heading > div:last-child span[b-sho43ndqpe] { flex: 1 }
    .advisor-overview-actions[b-sho43ndqpe] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .advisor-list article[b-sho43ndqpe] { grid-template-columns: 1fr }
}

@media(max-width:560px) {
    .advisor-bulk-actions[b-sho43ndqpe],
    .advisor-overview-actions[b-sho43ndqpe] { grid-template-columns: 1fr; }
    .advisor-bulk-actions .advisor-apply-all[b-sho43ndqpe] { grid-column: 1; }
}

.game-loading-screen[b-sho43ndqpe] {
    position: fixed;
    z-index: 1000;
    inset: 0;
    overflow: hidden;
    display: grid;
    place-items: center;
    background:
        radial-gradient(circle at 50% 44%,rgba(31,91,75,.25),transparent 34%),
        linear-gradient(145deg,#020706 0%,#06110e 48%,#020605 100%);
    color: #dff8f0;
    isolation: isolate
}

.game-loading-screen.leaving[b-sho43ndqpe] {
    pointer-events: none;
    animation: loading-screen-reveal-b-sho43ndqpe .78s cubic-bezier(.7,0,.25,1) forwards
}

.loading-grid[b-sho43ndqpe] {
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: .22;
    background-image: linear-gradient(rgba(75,167,140,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(75,167,140,.12) 1px,transparent 1px);
    background-size: 44px 44px;
    mask-image: radial-gradient(circle at center,#000,transparent 72%)
}

.loading-flight-scene[b-sho43ndqpe] {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(780px,80vw,calc(55vh * 13 / 7));
    aspect-ratio: 13 / 7;
    transform: translate(-50%,-58%);
    opacity: .75
}

.loading-network[b-sho43ndqpe] { display: block; width: 100%; height: 100%; overflow: visible }
.loading-routes use[b-sho43ndqpe] { fill: none; stroke: rgba(96,226,185,.36); stroke-width: 1; stroke-dasharray: 2 2; vector-effect: non-scaling-stroke }
.loading-airports circle[b-sho43ndqpe] { fill: #092219; stroke: #86f3d0; stroke-width: 2; vector-effect: non-scaling-stroke }
.loading-aircraft[b-sho43ndqpe] { fill: #72eac4; filter: drop-shadow(0 0 7px rgba(93,239,191,.8)) }
.loading-aircraft-shape[b-sho43ndqpe] { transform-box: fill-box; transform-origin: center }

.loading-identity[b-sho43ndqpe] {
    position: absolute;
    top: 28px;
    left: 34px;
    display: flex;
    align-items: center;
    gap: 9px;
    color: #6ce2bc
}
.loading-identity > .ms[b-sho43ndqpe] { font-size: 28px }
.loading-identity div[b-sho43ndqpe] { display: grid; line-height: 1 }
.loading-identity b[b-sho43ndqpe] { font: 900 15px var(--am-font-mono); letter-spacing: .08em }
.loading-identity small[b-sho43ndqpe] { color: #73998d; font: 800 8px var(--am-font-mono); letter-spacing: .16em }

.loading-copy[b-sho43ndqpe] { position: relative; width: min(560px,calc(100vw - 48px)); padding: 28px; border: 1px solid rgba(90,207,171,.34); border-radius: var(--am-radius-lg); background: rgba(2,10,8,.78); box-shadow: 0 24px 100px rgba(0,0,0,.55),inset 3px 0 #59deb4; backdrop-filter: blur(10px) }
.loading-copy > small[b-sho43ndqpe] { color: #68dcb9; font: 800 9px var(--am-font-mono); letter-spacing: .16em }
.loading-copy h1[b-sho43ndqpe] { margin: 8px 0 5px; color: #eefbf7; font: 700 clamp(26px,4vw,42px) var(--am-font-display,system-ui); letter-spacing: -.02em }
.loading-copy p[b-sho43ndqpe] { max-width: 52ch; margin: 0; color: #87a89e; font: 10px/1.6 var(--am-font-mono) }
.loading-copy > span[b-sho43ndqpe] { display: block; margin-top: 8px; color: #7da99b; font: 800 8px var(--am-font-mono); letter-spacing: .12em }
.loading-progress[b-sho43ndqpe] { height: 3px; margin-top: 22px; overflow: hidden; background: #10241e }
.loading-progress i[b-sho43ndqpe] { display: block; width: 38%; height: 100%; background: linear-gradient(90deg,transparent,#6ff0c5,transparent); animation: loading-progress-b-sho43ndqpe 1.35s ease-in-out infinite }

@keyframes loading-progress-b-sho43ndqpe { from { transform: translateX(-110%) } to { transform: translateX(370%) } }
@keyframes loading-screen-reveal-b-sho43ndqpe { 0% { opacity: 1; clip-path: inset(0 0 0 0) } 65% { opacity: 1 } 100% { opacity: 0; clip-path: inset(0 0 0 100%) } }

@media (prefers-reduced-motion: reduce) {
    .loading-progress i[b-sho43ndqpe] { animation: none }
    .loading-aircraft[b-sho43ndqpe] { display: none }
    .game-loading-screen.leaving[b-sho43ndqpe] { animation-duration: .2s }
}

.regions-grid[b-sho43ndqpe] {
    padding: 16px 24px 24px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px
}

    .regions-grid article[b-sho43ndqpe] {
        position: relative;
        isolation: isolate;
        min-height: 62px;
        padding: 12px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        overflow: hidden;
        border: 1px solid #2a3c37;
        background: #060e0c;
        transition: border-color var(--am-dur-fast) var(--am-ease), background-color var(--am-dur-fast) var(--am-ease)
    }

        .regions-grid article.unlocked[b-sho43ndqpe] {
            border-color: #315f52;
            background: #08130f
        }

        .regions-grid article.complete[b-sho43ndqpe] {
            border-color: #3d7f6c
        }

        .regions-grid article[b-sho43ndqpe]::after {
            position: absolute;
            inset: 0;
            z-index: -1;
            content: "";
            pointer-events: none;
            background: linear-gradient(90deg,rgba(2,9,7,.03),rgba(2,9,7,.18) 72%,rgba(2,9,7,.48))
        }

        .regions-grid article > .region-availability-fill[b-sho43ndqpe] {
            position: absolute;
            inset: 0 auto 0 0;
            z-index: -2;
            display: block;
            min-width: 0;
            border-right: 1px solid rgba(105,213,180,.5);
            background: linear-gradient(90deg,rgba(50,177,139,.23),rgba(72,211,167,.13));
            box-shadow: 8px 0 18px rgba(58,207,160,.08);
            transition: width .35s var(--am-ease)
        }

        .regions-grid article > .region-availability-fill[b-sho43ndqpe]::after {
            position: absolute;
            right: 0;
            bottom: 0;
            left: 0;
            height: 3px;
            content: "";
            background: #58d5ad;
            box-shadow: 0 0 8px rgba(88,213,173,.42)
        }

        .regions-grid article.locked > .region-availability-fill[b-sho43ndqpe] {
            border-right-color: rgba(142,163,156,.32);
            background: rgba(118,141,133,.1);
            box-shadow: none
        }

        .regions-grid article.complete > .region-availability-fill[b-sho43ndqpe] {
            background: linear-gradient(90deg,rgba(50,177,139,.3),rgba(72,211,167,.19))
        }

        .regions-grid article > .region-copy[b-sho43ndqpe] {
            position: relative;
            z-index: 1;
            min-width: 0;
            display: grid;
            gap: 5px
        }

    .regions-grid b[b-sho43ndqpe] {
        overflow: hidden;
        color: #e4f0ec;
        font: 800 11px Consolas,monospace;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .regions-grid small[b-sho43ndqpe] {
        color: #9cb1aa;
        font: 800 9px Consolas,monospace;
        letter-spacing: .025em
    }

    .regions-grid span[b-sho43ndqpe] {
        position: relative;
        z-index: 1;
        color: #69d5b4;
        font: 800 9px Consolas,monospace
    }

    .regions-grid button[b-sho43ndqpe] {
        position: relative;
        z-index: 1;
        flex: 0 0 auto;
        padding: 8px;
        border: 1px solid #45695e;
        background: #10251f;
        color: #bfe8db;
        font: 800 9px Consolas,monospace;
        cursor: pointer
    }

        .regions-grid button:disabled[b-sho43ndqpe] {
            opacity: .35;
            cursor: not-allowed
        }

@media(max-width:900px) {
    

    

    .management-grid[b-sho43ndqpe], .regions-grid[b-sho43ndqpe] {
        grid-template-columns: 1fr
    }
}

.airport-population[b-sho43ndqpe] {
    margin: -3px 0 12px;
    color: #8ea39c;
    font: 11px Consolas,monospace
}

    .airport-population b[b-sho43ndqpe] {
        color: #dce9e5
    }

    

        

        

    

    

    

.cheat-modal[b-sho43ndqpe] {
    width: min(560px,94vw);
    border: 1px solid #75683d;
    background: #080c0b;
    color: #dce8e4;
    box-shadow: 0 24px 80px #000
}

    .cheat-modal header[b-sho43ndqpe] {
        padding: 18px 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid #39371f;
        background: #11130d
    }

        .cheat-modal header small[b-sho43ndqpe] {
            color: #b7a75d;
            font: 800 10px Consolas,monospace;
            letter-spacing: .14em
        }

    .cheat-modal h2[b-sho43ndqpe] {
        margin: 5px 0 0;
        font-size: 25px
    }

    .cheat-modal > p[b-sho43ndqpe] {
        margin: 0;
        padding: 16px 20px 0;
        color: #899d96;
        font: 11px/1.5 Consolas,monospace
    }

.cheat-actions[b-sho43ndqpe] {
    padding: 16px 20px 20px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px
}

    .cheat-actions button[b-sho43ndqpe] {
        min-height: 78px;
        padding: 12px;
        display: grid;
        gap: 6px;
        border: 1px solid #4a5530;
        background: #11180f;
        color: #d8e2b0;
        text-align: left;
        cursor: pointer
    }

        .cheat-actions button:hover[b-sho43ndqpe] {
            border-color: #b9a654;
            background: #1a2012
        }

    .cheat-actions b[b-sho43ndqpe] {
        font: 800 12px Consolas,monospace
    }

    .cheat-actions span[b-sho43ndqpe] {
        color: #81938c;
        font: 9px/1.4 Consolas,monospace
    }

    .cheat-actions .clear-passengers[b-sho43ndqpe] {
        grid-column: 1/-1;
        border-color: #754842;
        background: #1b0d0b;
        color: #ffb5ad
    }

        .cheat-actions .clear-passengers:hover[b-sho43ndqpe] {
            border-color: #d27468;
            background: #28100d
        }

.network-filter[b-sho43ndqpe] {
    position: relative;
    min-height: 38px;
    padding: 0 11px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #3b5048;
    background: #09120f;
    color: #a7bbb4;
    font: 800 9px Consolas,monospace;
    white-space: nowrap
}

/* Auto-fit rather than a fixed five: the row gains an interest and a debt
   column once the airline borrows, and loses them again when it is debt-free. */
.finance-kpis[b-sho43ndqpe] {
    grid-template-columns: repeat(auto-fit,minmax(140px,1fr))
}

    .finance-kpis .positive b[b-sho43ndqpe] {
        color: #68d7ae
    }

    .finance-kpis .negative b[b-sho43ndqpe] {
        color: #ff766d
    }

    .finance-kpis b em[b-sho43ndqpe] {
        margin-left: 3px;
        color: #789087;
        font-style: normal;
        font-weight: 700
    }

.profit-value.positive b[b-sho43ndqpe] {
    color: #68d7ae
}

.profit-value.negative b[b-sho43ndqpe] {
    color: #ff766d
}

.finance-chart polyline[b-sho43ndqpe] {
    fill: none;
    stroke-width: 2.5;
    vector-effect: non-scaling-stroke;
    filter: none
}

    .finance-chart polyline.funds[b-sho43ndqpe] {
        stroke: #65d5b3
    }

    .finance-chart polyline.revenue[b-sho43ndqpe] {
        stroke: #6e9ed1
    }

    .finance-chart polyline.maintenance[b-sho43ndqpe] {
        stroke: #d7b861
    }

    .finance-chart polyline.profit.positive[b-sho43ndqpe] {
        stroke: #82df92
    }

    .finance-chart polyline.profit.negative[b-sho43ndqpe] {
        stroke: #ef7168
    }

/* Sits between the chart title and the sample caption in the card header. */
.chart-period-toggle[b-sho43ndqpe] {
    display: flex;
    gap: 3px;
    margin-left: auto
}

    .chart-period-toggle .am-btn[b-sho43ndqpe] {
        min-height: 22px;
        height: 22px;
        padding: 0 9px;
        font: 800 9px Consolas,monospace;
        letter-spacing: .06em
    }

.finance-chart > div:first-child[b-sho43ndqpe] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap
}

    .finance-chart > div:first-child > small[b-sho43ndqpe] {
        flex: 0 0 auto
    }

.finance-legend[b-sho43ndqpe] {
    justify-content: flex-start !important;
    gap: 18px;
    margin-top: 8px
}

    .finance-legend span[b-sho43ndqpe]:before {
        content: "";
        display: inline-block;
        width: 12px;
        height: 3px;
        margin-right: 5px;
        vertical-align: middle
    }

    .finance-legend .funds[b-sho43ndqpe]:before {
        background: #65d5b3
    }

    .finance-legend .revenue[b-sho43ndqpe]:before {
        background: #6e9ed1
    }

    .finance-legend .maintenance[b-sho43ndqpe]:before {
        background: #d7b861
    }

    .finance-legend .profit[b-sho43ndqpe]:before {
        background: #82df92
    }

    .finance-legend .interest[b-sho43ndqpe]:before {
        background: #cb786f
    }

.finance-chart polyline.interest[b-sho43ndqpe] {
    stroke: #cb786f
}

.finance-subtabs[b-sho43ndqpe] {
    position: sticky;
    top: 0;
    z-index: 4;
    display: grid;
    grid-template-columns: repeat(6,minmax(110px,1fr));
    border: 1px solid var(--am-border);
    background: color-mix(in srgb,var(--am-surface-1) 94%,transparent)
}

.finance-subtabs button[b-sho43ndqpe] {
    min-height: 38px;
    border: 0;
    border-right: 1px solid var(--am-border);
    background: transparent;
    color: var(--am-text-dim);
    font: 800 9px var(--am-font-mono);
    letter-spacing: .08em;
    cursor: pointer
}

.finance-subtabs button:last-child[b-sho43ndqpe] { border-right: 0 }
.finance-subtabs button:hover[b-sho43ndqpe] { color: var(--am-text-strong); background: var(--am-surface-3) }
.finance-subtabs button.active[b-sho43ndqpe] { color: var(--am-accent); background: var(--am-accent-bg); box-shadow: inset 0 -2px var(--am-accent) }

.finance-period-bar[b-sho43ndqpe] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding: 9px 0
}
.finance-period-bar > span[b-sho43ndqpe] { color: var(--am-text-faint); font: 800 8px var(--am-font-mono); letter-spacing: .1em }

.finance-warning-grid[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); gap: 8px }
.finance-warning-grid button[b-sho43ndqpe] { min-height: 54px; padding: 10px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--am-warning); background: color-mix(in srgb,var(--am-warning) 8%,var(--am-surface-1)); color: var(--am-warning); text-align: left; cursor: pointer }
.finance-warning-grid span[b-sho43ndqpe] { display: grid; gap: 3px }
.finance-warning-grid b[b-sho43ndqpe] { font: 800 10px var(--am-font-mono) }
.finance-warning-grid small[b-sho43ndqpe] { color: var(--am-text-dim); font: 9px var(--am-font-mono) }

.finance-category-grid[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px }
.finance-category-grid article[b-sho43ndqpe], .finance-forecast-grid article[b-sho43ndqpe] { padding: 14px; border: 1px solid var(--am-border); background: var(--am-surface-2) }
.finance-category-grid header[b-sho43ndqpe] { display: flex; gap: 7px; color: var(--am-accent); font: 800 10px var(--am-font-mono); letter-spacing: .07em }
.finance-category-grid dl[b-sho43ndqpe], .finance-forecast-grid dl[b-sho43ndqpe] { margin: 12px 0 0; display: grid; gap: 6px }
.finance-category-grid dl div[b-sho43ndqpe], .finance-forecast-grid dl div[b-sho43ndqpe] { display: flex; justify-content: space-between; gap: 16px }
.finance-category-grid dt[b-sho43ndqpe], .finance-forecast-grid dt[b-sho43ndqpe] { color: var(--am-text-dim); font: 10px var(--am-font-mono) }
.finance-category-grid dd[b-sho43ndqpe], .finance-forecast-grid dd[b-sho43ndqpe] { margin: 0; color: var(--am-text-strong); font: 800 10px var(--am-font-mono); text-align: right }
.finance-category-grid article > button[b-sho43ndqpe] { margin-top: 12px; border: 0; background: transparent; color: var(--am-accent); font: 800 9px var(--am-font-mono); cursor: pointer }

.finance-routes-section[b-sho43ndqpe] { display: grid; gap: 10px }
.finance-route-tools[b-sho43ndqpe] { display: grid; grid-template-columns: minmax(180px,1fr) 160px auto auto auto; gap: 6px }
.finance-routes-table .positive[b-sho43ndqpe] { color: var(--am-positive) }
.finance-routes-table .negative[b-sho43ndqpe] { color: var(--am-danger) }

.finance-asset-summary[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--am-border) }
.finance-asset-summary span[b-sho43ndqpe] { padding: 12px; display: grid; gap: 4px; border-right: 1px solid var(--am-border) }
.finance-asset-summary span:last-child[b-sho43ndqpe] { border-right: 0 }
.finance-asset-summary small[b-sho43ndqpe] { color: var(--am-text-dim); font: 8px var(--am-font-mono) }
.finance-asset-summary b[b-sho43ndqpe] { color: var(--am-text-strong); font: 800 14px var(--am-font-mono) }
.finance-asset-columns[b-sho43ndqpe] { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px }
.finance-asset-columns article[b-sho43ndqpe] { max-height: 440px; overflow: auto; border: 1px solid var(--am-border); background: var(--am-surface-2) }
.finance-asset-columns header[b-sho43ndqpe] { position: sticky; top: 0; padding: 10px; background: var(--am-surface-3); color: var(--am-accent); font: 800 9px var(--am-font-mono) }
.finance-asset-columns article > div[b-sho43ndqpe], .finance-asset-columns article > button[b-sho43ndqpe] { box-sizing: border-box; width: 100%; padding: 9px 10px; display: flex; justify-content: space-between; gap: 10px; border: 0; border-top: 1px solid var(--am-border); background: transparent; color: inherit; text-align: left }
.finance-asset-columns article > button[b-sho43ndqpe] { cursor: pointer }
.finance-asset-columns article > button:hover[b-sho43ndqpe] { background: var(--am-surface-3) }
.finance-asset-columns span[b-sho43ndqpe] { display: grid; gap: 2px }
.finance-asset-columns b[b-sho43ndqpe], .finance-asset-columns strong[b-sho43ndqpe] { font: 800 10px var(--am-font-mono) }
.finance-asset-columns small[b-sho43ndqpe] { color: var(--am-text-dim); font: 8px var(--am-font-mono) }

.finance-forecast > p[b-sho43ndqpe] { margin: 0 0 10px; color: var(--am-text-dim); font: 10px/1.5 var(--am-font-mono) }
.finance-forecast-grid[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px }
.finance-forecast-grid header[b-sho43ndqpe] { display: flex; justify-content: space-between; font: 800 11px var(--am-font-mono) }
.finance-forecast-grid strong.positive[b-sho43ndqpe] { color: var(--am-positive) }
.finance-forecast-grid strong.negative[b-sho43ndqpe] { color: var(--am-danger) }
.finance-forecast-grid article > small[b-sho43ndqpe] { display: block; margin-top: 12px; color: var(--am-text-faint); font: 8px/1.4 var(--am-font-mono) }
.finance-forecast-known[b-sho43ndqpe] { margin-top: 12px; display: grid; border: 1px solid var(--am-border) }
.finance-forecast-known > b[b-sho43ndqpe] { padding: 10px; color: var(--am-accent); font: 800 9px var(--am-font-mono) }
.finance-forecast-known button[b-sho43ndqpe] { padding: 8px 10px; display: flex; justify-content: space-between; border: 0; border-top: 1px solid var(--am-border); background: transparent; color: var(--am-text-strong); font: 9px var(--am-font-mono); cursor: pointer }
.finance-forecast-known button:hover[b-sho43ndqpe] { background: var(--am-surface-3) }
.finance-forecast-known small[b-sho43ndqpe] { color: var(--am-text-dim) }

@media(max-width:900px) {
    .finance-subtabs[b-sho43ndqpe] { grid-template-columns: repeat(3,1fr) }
    .finance-category-grid[b-sho43ndqpe], .finance-asset-columns[b-sho43ndqpe], .finance-forecast-grid[b-sho43ndqpe] { grid-template-columns: 1fr }
    .finance-asset-summary[b-sho43ndqpe] { grid-template-columns: repeat(2,1fr) }
    .finance-route-tools[b-sho43ndqpe] { grid-template-columns: 1fr 1fr }
}

/* ------------------------------------------------------------------ bank -- */

/* The bank is a band inside the finance overview rather than its own dialog,
   so it needs a heading and a rule to separate it from the chart above. */
.bank-section[b-sho43ndqpe] {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-top: 18px;
    border-top: 1px solid #293d36
}

    .bank-section > h3[b-sho43ndqpe] {
        margin: 0
    }

.credit-rating[b-sho43ndqpe] {
    display: grid;
    grid-template-columns: minmax(140px,180px) 1fr;
    gap: 14px;
    margin-top: 14px;
    padding: 12px;
    border: 1px solid #293d36;
    background: #06100d
}

.credit-grade[b-sho43ndqpe] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    justify-content: center;
    padding-right: 14px;
    border-right: 1px solid #20322d
}

    .credit-grade b[b-sho43ndqpe] {
        font: 800 30px Consolas,monospace;
        line-height: 1;
        letter-spacing: .04em
    }

    .credit-grade span[b-sho43ndqpe] {
        color: #91a69f;
        font: 700 10px Consolas,monospace
    }

    .credit-grade.positive b[b-sho43ndqpe] {
        color: #68d7ae
    }

    .credit-grade.neutral b[b-sho43ndqpe] {
        color: #d7b861
    }

    .credit-grade.negative b[b-sho43ndqpe] {
        color: #ff766d
    }

.credit-meter[b-sho43ndqpe] {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px
}

    .credit-meter dl[b-sho43ndqpe] {
        margin: 0;
        display: grid;
        grid-template-columns: repeat(auto-fit,minmax(130px,1fr));
        gap: 4px 14px
    }

        .credit-meter dl div[b-sho43ndqpe] {
            display: flex;
            justify-content: space-between;
            gap: 8px
        }

        .credit-meter dl dt[b-sho43ndqpe] {
            color: #789087;
            font: 700 10px Consolas,monospace
        }

        .credit-meter dl dd[b-sho43ndqpe] {
            margin: 0;
            color: #e3eeeb;
            font: 800 11px Consolas,monospace
        }

        .credit-meter dl div.negative dd[b-sho43ndqpe] {
            color: #ff766d
        }

.finance-warning[b-sho43ndqpe] {
    margin: 12px 0 0;
    padding: 9px 11px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #b48236;
    background: #2a1e08;
    color: #ffe0a1;
    font: 700 11px Consolas,monospace
}

.loan-offers[b-sho43ndqpe] {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(230px,1fr));
    gap: 10px
}

    .loan-offers > .am-label[b-sho43ndqpe] {
        grid-column: 1/-1
    }

.loan-offer[b-sho43ndqpe] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    border: 1px solid #293d36;
    background: #08120f
}

    .loan-offer header[b-sho43ndqpe] {
        display: flex;
        flex-direction: column;
        gap: 2px
    }

        .loan-offer header b[b-sho43ndqpe] {
            color: #eef8f4;
            font: 800 12px Consolas,monospace;
            letter-spacing: .05em
        }

        .loan-offer header span[b-sho43ndqpe] {
            color: #91a69f;
            font: 700 10px Consolas,monospace
        }

    .loan-offer p[b-sho43ndqpe] {
        margin: 0;
        color: #91a69f;
        font: 400 11px/1.5 system-ui,sans-serif
    }

    .loan-offer dl[b-sho43ndqpe] {
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 3px
    }

        .loan-offer dl div[b-sho43ndqpe] {
            display: flex;
            justify-content: space-between;
            gap: 8px
        }

        .loan-offer dl dt[b-sho43ndqpe] {
            color: #789087;
            font: 700 10px Consolas,monospace
        }

        .loan-offer dl dd[b-sho43ndqpe] {
            margin: 0;
            color: #e3eeeb;
            font: 800 11px Consolas,monospace
        }

    /* The daily cost against daily profit is the number that decides whether a
       facility is affordable, so it sits directly above the commit button. */
    .loan-offer .loan-burden[b-sho43ndqpe] {
        color: #d7b861;
        font: 700 10px Consolas,monospace
    }

    .loan-offer .primary-action[b-sho43ndqpe] {
        margin-top: auto
    }

    .loan-offer.unavailable[b-sho43ndqpe] {
        opacity: .6
    }

    .loan-offer .loan-blocked[b-sho43ndqpe] {
        margin-top: auto;
        color: #ffb5ad;
        font: 700 10px Consolas,monospace
    }

.loans-table[b-sho43ndqpe] {
    margin-top: 16px
}

    .loans-table header[b-sho43ndqpe],
    .loans-table .am-table-row[b-sho43ndqpe] {
        grid-template-columns: 2fr 1fr 1fr 1fr 1fr auto
    }

    .loans-table .in-arrears[b-sho43ndqpe] {
        border-left: 2px solid #ba5a4e
    }

    .loans-table .in-arrears em[b-sho43ndqpe] {
        color: #ff766d;
        font-style: normal
    }

.loan-ledger[b-sho43ndqpe] {
    margin-top: 14px
}

    .loan-ledger summary[b-sho43ndqpe] {
        color: #91a69f;
        font: 700 10px Consolas,monospace;
        letter-spacing: .05em;
        cursor: pointer
    }

    .loan-ledger ul[b-sho43ndqpe] {
        margin: 8px 0 0;
        padding: 0;
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 4px;
        max-height: 200px;
        overflow-y: auto
    }

    .loan-ledger li[b-sho43ndqpe] {
        display: flex;
        gap: 10px;
        color: #c8d8d3;
        font: 400 11px system-ui,sans-serif
    }

        .loan-ledger li time[b-sho43ndqpe] {
            flex: 0 0 84px;
            color: #718a82;
            font: 700 10px Consolas,monospace
        }

    .loan-ledger .ledger-missed span[b-sho43ndqpe] {
        color: #ff766d
    }

    .loan-ledger .ledger-taken span[b-sho43ndqpe] {
        color: #d7f5eb
    }

/* ------------------------------------------------------------ run alerts -- */

/* Network-level rows in the alert dock. Unlike the airport rows they are not
   clickable, because there is no single entity to select. */
.network-alert-row.run-alert[b-sho43ndqpe] {
    cursor: default;
    align-items: flex-start
}

    .network-alert-row.run-alert .network-alert-copy[b-sho43ndqpe] {
        gap: 4px
    }

    .network-alert-row.run-alert .am-meter[b-sho43ndqpe] {
        width: 100%
    }

    .network-alert-row.run-alert.warning .network-alert-status[b-sho43ndqpe] {
        color: #d7b861
    }

    .network-alert-row.run-alert.critical .network-alert-status[b-sho43ndqpe] {
        color: #ff766d
    }

/* ------------------------------------------------- failure-state settings -- */

.game-settings-failure .failure-toggles[b-sho43ndqpe] {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(200px,1fr));
    gap: 8px;
    margin-top: 8px
}

    .game-settings-failure .failure-toggles .am-btn[b-sho43ndqpe] {
        height: auto;
        min-height: 0;
        padding: 10px 12px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 3px;
        text-align: left;
        white-space: normal
    }

        .game-settings-failure .failure-toggles .am-btn b[b-sho43ndqpe] {
            font: 800 11px Consolas,monospace;
            letter-spacing: .05em
        }

        .game-settings-failure .failure-toggles .am-btn span[b-sho43ndqpe] {
            color: #91a69f;
            font: 400 11px/1.45 system-ui,sans-serif
        }

/* ------------------------------------------------------------- scorecard -- */

.scorecard-modal[b-sho43ndqpe] {
    width: min(920px,94vw);
    max-height: 88vh;
    overflow-y: auto
}

/* --------------------------------------------------------------- game over -- */

/* Layers above every other overlay and has no Escape route: a finished run is
   a decision point, not something to dismiss. */
.game-over-backdrop[b-sho43ndqpe] {
    z-index: 60;
    background: rgba(0,3,3,.9)
}

.game-over-modal[b-sho43ndqpe] {
    width: min(760px,94vw);
    max-height: 90vh;
    overflow-y: auto;
    border-color: #ba5a4e
}

.game-over-header[b-sho43ndqpe] {
    display: flex;
    align-items: center;
    gap: 14px
}

    .game-over-header .ms[b-sho43ndqpe] {
        font-size: 34px;
        color: #ff766d
    }

    .game-over-header small[b-sho43ndqpe] {
        color: #ffb5ad;
        font: 800 10px Consolas,monospace;
        letter-spacing: .1em
    }

    .game-over-header h2[b-sho43ndqpe] {
        margin: 2px 0 0
    }

.game-over-reason[b-sho43ndqpe] {
    margin: 12px 0 16px;
    padding: 11px 13px;
    border: 1px solid #ba5a4e;
    background: #26100d;
    color: #ffc1b9;
    font: 400 13px/1.5 system-ui,sans-serif
}

.game-over-actions[b-sho43ndqpe] {
    margin-top: 18px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
    align-items: center
}

.game-over-wait[b-sho43ndqpe] {
    margin: 0;
    color: #91a69f;
    font: 700 11px Consolas,monospace
}

    

    

    

    

    

    

    

    

    

.settings-modal[b-sho43ndqpe] {
    max-height: 90dvh;
    overflow-y: auto;
    width: min(500px,94vw);
    border: 1px solid #50665f;
    background: #060c0a;
    color: #d8e5e1;
    box-shadow: 0 24px 80px #000
}

    .notification-sound-heading[b-sho43ndqpe] { padding: 16px 20px 4px; display: grid; gap: 5px; }
    .notification-sound-heading small[b-sho43ndqpe] { color: #a0b5ae; }

    .settings-modal header[b-sho43ndqpe] {
        padding: 18px 20px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-bottom: 1px solid #263a34
    }

        .settings-modal header small[b-sho43ndqpe] {
            color: #78978e;
            font: 800 9px Consolas,monospace
        }

    .settings-modal h2[b-sho43ndqpe] {
        margin: 5px 0 0
    }

    .settings-modal > label[b-sho43ndqpe] {
        margin: 18px 20px;
        padding: 14px;
        display: flex;
        align-items: center;
        gap: 11px;
        border: 1px solid #293d36;
        background: #07100e
    }

        .settings-modal > label.notification-sound-option[b-sho43ndqpe] { margin: 6px 20px; padding: 8px 14px; }

        .settings-modal > label span[b-sho43ndqpe] {
            display: grid;
            gap: 5px
        }

        .settings-modal > label b[b-sho43ndqpe] {
            font: 800 11px Consolas,monospace
        }

        .settings-modal > label small[b-sho43ndqpe] {
            color: #7f958e;
            font: 9px Consolas,monospace
        }

    .settings-modal > .primary-action[b-sho43ndqpe] {
        margin: 0 20px 20px;
        float: right
    }

/* ---- game settings (rules) ---- */

/* Taller and scrollable: this panel lists every rule rather than the three
   display toggles the base settings modal was sized for. */
.game-settings-modal[b-sho43ndqpe] {
    width: min(620px, 94vw);
    max-height: min(86vh, 900px);
    display: flex;
    flex-direction: column;
}

.game-settings-modal header[b-sho43ndqpe] { flex: 0 0 auto; }
.game-settings-modal .game-settings-actions[b-sho43ndqpe] { flex: 0 0 auto; }

.game-settings-notice[b-sho43ndqpe] {
    margin: 14px 20px 0;
    padding: 9px 11px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #4a4030;
    background: #14100a;
    color: #d3b478;
    font: 10px Consolas, monospace;
}

.game-settings-fixed[b-sho43ndqpe], .game-settings-live[b-sho43ndqpe] {
    padding: 16px 20px 4px;
    display: grid;
    gap: 9px;
}

/* Only the middle grows; the header, notice and buttons stay put. */
.game-settings-live[b-sho43ndqpe] { flex: 1 1 auto; overflow-y: auto; }

.game-settings-fixed[b-sho43ndqpe] { flex: 0 0 auto; border-bottom: 1px solid #263a34; padding-bottom: 16px; }
.game-settings-fixed > .am-label[b-sho43ndqpe], .game-settings-live > .am-label[b-sho43ndqpe] { color: #78978e; font-size: var(--am-fs-micro); }

.game-settings-fixed dl[b-sho43ndqpe] { margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 7px 16px; }
.game-settings-fixed dl > div[b-sho43ndqpe] { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.game-settings-fixed dt[b-sho43ndqpe] { color: #7f958e; font: var(--am-fs-micro) Consolas, monospace; text-transform: uppercase; letter-spacing: .05em; }
.game-settings-fixed dd[b-sho43ndqpe] { margin: 0; color: #d8e5e1; font: 800 11px Consolas, monospace; text-align: right; }

/* Scoped so it also reaches the labels rendered by GameSettingSlider. */
.game-settings-modal[b-sho43ndqpe]  .game-setting,
.game-settings-modal .game-setting[b-sho43ndqpe] {
    margin: 0;
    padding: 11px 12px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    border: 1px solid #293d36;
    background: #07100e;
}

.game-settings-modal[b-sho43ndqpe]  .game-setting > span,
.game-settings-modal .game-setting > span[b-sho43ndqpe] { display: grid; gap: 4px; }
.game-settings-modal[b-sho43ndqpe]  .game-setting b,
.game-settings-modal .game-setting b[b-sho43ndqpe] { font: 800 11px Consolas, monospace; }
.game-settings-modal[b-sho43ndqpe]  .game-setting small,
.game-settings-modal .game-setting small[b-sho43ndqpe] { color: #7f958e; font: 9px Consolas, monospace; }

.game-settings-modal[b-sho43ndqpe]  .game-setting-slider > div {
    display: flex;
    align-items: center;
    gap: 9px;
}

.game-settings-modal[b-sho43ndqpe]  .game-setting-slider input[type=range] { width: 150px; accent-color: var(--am-accent); }
.game-settings-modal[b-sho43ndqpe]  .game-setting-slider output {
    min-width: 52px;
    color: var(--am-accent-text);
    font: 800 11px Consolas, monospace;
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.game-settings-modal[b-sho43ndqpe]  .game-setting input:disabled,
.game-settings-modal .game-setting select:disabled[b-sho43ndqpe] { opacity: .45; cursor: not-allowed; }

.game-settings-modal .game-setting select[b-sho43ndqpe] {
    min-width: 150px;
    padding: 5px 7px;
    border: 1px solid #2b4039;
    background: #08120f;
    color: #d1e1dc;
    font: 11px Consolas, monospace;
}

.game-settings-actions[b-sho43ndqpe] {
    padding: 14px 20px 18px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid #263a34;
}

.game-settings-actions .primary-action[b-sho43ndqpe] { margin: 0; float: none; }

@media(max-width:760px) {
    .detail-card[b-sho43ndqpe] {
        top: 0;
        right: 0;
        width: min(430px,100vw);
        max-width: none;
        height: 100%
    }

    .finance-kpis[b-sho43ndqpe] {
        grid-template-columns: repeat(2,1fr)
    }

    

    
}

    

    

.forecast-demand[b-sho43ndqpe] {
    border-color: #395548
}

    .forecast-demand header small[b-sho43ndqpe] {
        color: #d7b861
    }

.overview-action[b-sho43ndqpe] {
    margin-top: 8px;
    min-height: 40px;
    border: 1px solid #46685d;
    background: #0a1814;
    color: #a9d8c9;
    font: 800 10px Consolas,monospace;
    letter-spacing: .05em;
    cursor: pointer
}

    .overview-action:hover[b-sho43ndqpe] {
        border-color: #69cbae;
        background: #10271f;
        color: #e0f3ed
    }

.overview-modal[b-sho43ndqpe] {
    width: min(1500px,98vw);
    height: min(900px,calc(100vh - 92px));
    max-height: none;
    overflow: hidden;
    display: flex;
    flex-direction: column
}

.overview-header[b-sho43ndqpe] {
    position: relative;
    flex: 0 0 auto
}

.overview-modal > .overview-tabs[b-sho43ndqpe], .overview-modal > .overview-tools[b-sho43ndqpe] {
    flex: 0 0 auto
}

.overview-modal > .overview-table[b-sho43ndqpe], .overview-modal > .management-grid[b-sho43ndqpe], .overview-modal > .regions-grid[b-sho43ndqpe], .overview-modal > .finance-overview[b-sho43ndqpe] {
    flex: 1;
    min-height: 0;
    overflow: auto
}

.entity-detail-page[b-sho43ndqpe] {
    flex: 1;
    min-height: 0;
    display: grid;
    overflow: hidden
}

    

    .route-overview-page .chart-card[b-sho43ndqpe] {
        min-height: 0;
        display: flex;
        flex-direction: column
    }

        .route-overview-page .chart-card svg[b-sho43ndqpe] {
            flex: 1;
            min-height: 120px;
            height: auto
        }

    .route-overview-page .compact-kpis[b-sho43ndqpe] {
        padding-bottom: 10px
    }

.airport-summary-kpis[b-sho43ndqpe] {
    grid-template-columns: repeat(8,1fr);
    padding-bottom: 14px
}

    .airport-summary-kpis span[b-sho43ndqpe], .aircraft-summary-kpis span[b-sho43ndqpe] {
        padding: 10px
    }

    .airport-summary-kpis b[b-sho43ndqpe], .aircraft-summary-kpis b[b-sho43ndqpe] {
        font-size: 14px
    }

.airport-detail-dashboard[b-sho43ndqpe] {
    min-height: 0;
    padding: 0 24px 20px;
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(470px,.9fr);
    gap: 14px
}

.airport-history-column[b-sho43ndqpe] {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(230px,1.35fr) minmax(150px,.65fr);
    gap: 14px
}

    .airport-history-column .chart-card[b-sho43ndqpe] {
        min-height: 0;
        margin: 0;
        display: flex;
        flex-direction: column
    }

        .airport-history-column .chart-card svg[b-sho43ndqpe] {
            flex: 1;
            min-height: 120px;
            height: auto
        }

.current-destination-table[b-sho43ndqpe] {
    min-height: 0;
    max-height: none;
    margin: 0;
    overflow: auto
}

    .current-destination-table > header[b-sho43ndqpe] {
        position: sticky;
        z-index: 1;
        top: 0;
        background: #08110e
    }

.airport-pie-stack[b-sho43ndqpe] {
    min-height: 0;
    display: grid;
    grid-template-rows: repeat(3,minmax(0,1fr));
    gap: 10px
}

.airport-pie-card[b-sho43ndqpe] {
    min-height: 0;
    padding: 10px;
    border: 1px solid #293d36;
    background: #040a08;
    overflow: hidden
}

    .airport-pie-card > header[b-sho43ndqpe] {
        display: flex;
        justify-content: space-between;
        color: #b2c4be;
        font: 800 10px Consolas,monospace
    }

        .airport-pie-card > header small[b-sho43ndqpe] {
            color: #789087
        }

.airport-pie-card-body[b-sho43ndqpe] {
    height: calc(100% - 19px);
    display: grid;
    grid-template-columns: 105px minmax(0,1fr);
    align-items: center;
    gap: 12px
}

.airport-mini-pie[b-sho43ndqpe] {
    width: 94px;
    height: 94px;
    border: 10px solid #07100e;
    border-radius: 50%;
    display: grid;
    place-items: center
}

    .airport-mini-pie span[b-sho43ndqpe] {
        width: 47px;
        height: 47px;
        border-radius: 50%;
        background: #07100e;
        display: grid;
        place-items: center;
        color: #dceae5;
        font: 800 11px Consolas,monospace
    }

.airport-pie-card ol[b-sho43ndqpe] {
    min-width: 0;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 5px;
    list-style: none
}

.airport-pie-card li[b-sho43ndqpe] {
    min-width: 0;
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: #90a69e;
    font: 9px Consolas,monospace
}

    .airport-pie-card li > span[b-sho43ndqpe] {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }

    .airport-pie-card li i[b-sho43ndqpe] {
        display: inline-block;
        width: 8px;
        height: 8px;
        margin-right: 6px;
        border-radius: 2px
    }

    .airport-pie-card li b[b-sho43ndqpe] {
        color: #d9e7e2;
        white-space: nowrap
    }

.forecast-pie-card[b-sho43ndqpe] {
    border-color: #3a544b
}

.aircraft-summary-kpis[b-sho43ndqpe] {
    grid-template-columns: repeat(6,1fr);
    padding-bottom: 14px
}

.aircraft-detail-grid[b-sho43ndqpe] {
    min-height: 0;
    padding: 0 24px 14px;
    display: grid;
    grid-template-columns: minmax(0,1.5fr) minmax(330px,.7fr);
    grid-template-rows: 1fr 1fr;
    gap: 12px
}

.aircraft-detail-chart[b-sho43ndqpe] {
    grid-row: 1/3;
    min-height: 0;
    margin: 0;
    display: flex;
    flex-direction: column
}

    .aircraft-detail-chart svg[b-sho43ndqpe] {
        flex: 1;
        min-height: 130px;
        height: auto
    }

.aircraft-facts[b-sho43ndqpe] {
    min-height: 0;
    border: 1px solid #293d36;
    background: #040a08;
    overflow: auto
}

    .aircraft-facts header[b-sho43ndqpe] {
        padding: 10px 12px;
        color: #b5c8c1;
        font: 800 10px Consolas,monospace
    }

    .aircraft-facts div[b-sho43ndqpe] {
        padding: 8px 12px;
        display: flex;
        justify-content: space-between;
        gap: 12px;
        border-top: 1px solid #20322d;
        color: #81988f;
        font: 9px Consolas,monospace
    }

    .aircraft-facts b[b-sho43ndqpe] {
        color: #d7e5e0
    }

.aircraft-manifest[b-sho43ndqpe] {
    min-height: 0;
    max-height: none;
    margin: 0;
    overflow: auto
}

    .aircraft-manifest header[b-sho43ndqpe] {
        position: sticky;
        top: 0;
        background: #08110e
    }

.aircraft-financial-kpis[b-sho43ndqpe] {
    grid-template-columns: repeat(4,1fr);
    padding-bottom: 18px
}

@media(max-width:1050px) {
    .overview-modal[b-sho43ndqpe] {
        width: 98vw
    }

    .airport-summary-kpis[b-sho43ndqpe] {
        grid-template-columns: repeat(4,1fr)
    }

    .airport-detail-dashboard[b-sho43ndqpe] {
        grid-template-columns: 1fr minmax(390px,.8fr)
    }

    .aircraft-summary-kpis[b-sho43ndqpe] {
        grid-template-columns: repeat(3,1fr)
    }
}

@media(max-width:760px) {
    .detail-overview-modal[b-sho43ndqpe] {
        overflow: auto
    }

    .entity-detail-page[b-sho43ndqpe] {
        display: block;
        overflow: visible
    }

    .airport-detail-dashboard[b-sho43ndqpe], .aircraft-detail-grid[b-sho43ndqpe] {
        display: grid;
        grid-template-columns: 1fr
    }

    .airport-pie-stack[b-sho43ndqpe] {
        grid-template-rows: repeat(3,auto)
    }

    .airport-history-column[b-sho43ndqpe] {
        grid-template-rows: auto 220px
    }

    .aircraft-detail-chart[b-sho43ndqpe] {
        grid-row: auto
    }

    .airport-summary-kpis[b-sho43ndqpe], .aircraft-summary-kpis[b-sho43ndqpe] {
        grid-template-columns: repeat(2,1fr)
    }
}

.route-performance-kpis[b-sho43ndqpe] {
    grid-template-columns: repeat(5,1fr)
}

.route-operating-kpis[b-sho43ndqpe] {
    grid-template-columns: repeat(5,1fr)
}

.sidebar-demand li span[b-sho43ndqpe] {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.sidebar-demand li b[b-sho43ndqpe] {
    white-space: nowrap
}

.sidebar-demand li[b-sho43ndqpe] {
    display: grid;
    grid-template-columns: minmax(0,1fr) 112px;
    align-items: center;
    font-size: 10px
}

.pie-values[b-sho43ndqpe] {
    display: grid !important;
    grid-template-columns: minmax(54px,1fr) 48px;
    gap: 8px;
    text-align: right;
    font-variant-numeric: tabular-nums
}

    .pie-values span[b-sho43ndqpe] {
        overflow: visible !important;
        text-overflow: clip !important
    }

.interactive-flow-pie[b-sho43ndqpe] {
    box-sizing: border-box;
    padding: 0;
    border: 0 !important;
    background: none !important;
    overflow: visible
}

    .interactive-flow-pie .pie-base[b-sho43ndqpe] {
        fill: #34443e
    }

    .interactive-flow-pie .pie-hole[b-sho43ndqpe] {
        fill: #07100e;
        pointer-events: none
    }

    .interactive-flow-pie text[b-sho43ndqpe] {
        fill: #e0ece8;
        font: 800 11px Consolas,monospace;
        text-anchor: middle;
        pointer-events: none
    }

    .interactive-flow-pie path[b-sho43ndqpe] {
        opacity: .9;
        stroke: #07100e;
        stroke-width: .7;
        transition: opacity .15s,filter .15s,stroke-width .15s
    }

        .interactive-flow-pie path.route-available[b-sho43ndqpe] {
            cursor: pointer
        }

            .interactive-flow-pie path.route-available:hover[b-sho43ndqpe] {
                opacity: 1;
                stroke: #d8f6ec;
                stroke-width: 1.5;
                filter: drop-shadow(0 0 3px rgba(104,213,180,.75))
            }

.airport-detail-dashboard[b-sho43ndqpe] {
    grid-template-columns: minmax(360px,.78fr) minmax(650px,1.22fr)
}

.airport-history-column[b-sho43ndqpe] {
    display: flex;
    min-height: 0
}

    .airport-history-column .chart-card[b-sho43ndqpe] {
        flex: 1
    }

.airport-pie-stack[b-sho43ndqpe] {
    grid-template-columns: repeat(2,minmax(0,1fr));
    grid-template-rows: repeat(2,minmax(0,1fr));
    gap: 12px
}

.airport-pie-card[b-sho43ndqpe] {
    padding: 12px
}

    .airport-pie-card > header[b-sho43ndqpe] {
        font-size: 11px
    }

.airport-pie-card-body[b-sho43ndqpe] {
    height: calc(100% - 22px);
    grid-template-columns: 138px minmax(0,1fr);
    gap: 14px
}

.airport-mini-pie[b-sho43ndqpe] {
    box-sizing: border-box;
    width: 126px;
    height: 126px
}

    .airport-mini-pie:not(svg)[b-sho43ndqpe] {
        border-width: 12px
    }

    .airport-mini-pie span[b-sho43ndqpe] {
        font-size: 13px
    }

.airport-pie-card li[b-sho43ndqpe] {
    display: grid;
    grid-template-columns: minmax(0,1fr) 118px;
    align-items: center;
    font-size: 10px
}

    .airport-pie-card li .pie-values[b-sho43ndqpe] {
        grid-template-columns: minmax(62px,1fr) 48px
    }

.full-destination-table[b-sho43ndqpe] {
    grid-row: 4/6;
    min-height: 0;
    max-height: none;
    margin: 0 24px 20px;
    overflow: auto;
    font-size: 12px
}

    .full-destination-table > header[b-sho43ndqpe] {
        position: sticky;
        z-index: 2;
        top: 0;
        min-height: 42px;
        background: #08110e
    }

    .full-destination-table summary[b-sho43ndqpe] {
        padding: 12px 15px;
        font-size: 12px
    }

    .full-destination-table details div[b-sho43ndqpe] {
        padding: 10px 18px 10px 32px;
        font-size: 11px
    }

@media(max-width:1180px) {
    .airport-detail-dashboard[b-sho43ndqpe] {
        grid-template-columns: minmax(320px,.7fr) minmax(540px,1.3fr)
    }

    .airport-pie-card-body[b-sho43ndqpe] {
        grid-template-columns: 116px minmax(0,1fr)
    }

    .airport-mini-pie[b-sho43ndqpe] {
        width: 106px;
        height: 106px
    }

    .airport-pie-card li[b-sho43ndqpe] {
        grid-template-columns: minmax(0,1fr) 106px;
        font-size: 9px
    }
}

    

    

    

        

            

            

.route-creation-menu[b-sho43ndqpe] {
    position: absolute;
    z-index: 25;
    left: 50%;
    bottom: 18px;
    width: min(640px,calc(100vw - 32px));
    max-height: min(680px,calc(100vh - 110px));
    display: flex;
    flex-direction: column;
    transform: translateX(-50%);
    padding: 14px;
    border: 1px solid #55776c;
    background: rgba(4,12,10,.98);
    box-shadow: 0 20px 70px #000
}

    .route-creation-menu header[b-sho43ndqpe] {
        flex-shrink: 0;
        display: flex;
        align-items: start;
        justify-content: space-between
    }

    .route-creation-menu h3[b-sho43ndqpe] {
        margin: 5px 0 10px;
        color: #e3efeb;
        font-size: 18px
    }

    .route-creation-menu header small[b-sho43ndqpe] {
        color: #6ac8aa;
        font: 800 9px Consolas,monospace;
        letter-spacing: .13em
    }

    .route-creation-menu header > button[b-sho43ndqpe] {
        border: 0;
        background: transparent;
        color: #9bafa8;
        font-size: 22px
    }

.route-quote[b-sho43ndqpe] {
    flex-shrink: 0;
    padding: 9px 11px;
    display: flex;
    justify-content: space-between;
    border: 1px solid #2c413a;
    color: #8fa49d;
    font: 10px Consolas,monospace
}

    .route-quote b[b-sho43ndqpe] {
        color: #78d7b8
    }

/* Size group tabs */
.route-size-tabs[b-sho43ndqpe] {
    flex-shrink: 0;
    display: flex;
    gap: 5px;
    margin-top: 10px
}

    .route-size-tabs button[b-sho43ndqpe] {
        flex: 1;
        padding: 6px 0;
        border: 1px solid #2c4039;
        background: #07110e;
        color: #789087;
        font: 700 11px Consolas,monospace;
        letter-spacing: .1em;
        cursor: pointer;
        transition: background .12s, color .12s, border-color .12s
    }

    .route-size-tabs button:hover[b-sho43ndqpe] {
        border-color: #3d5e52;
        color: #a8c4bc
    }

    .route-size-tabs button.active[b-sho43ndqpe] {
        border-color: #4f9c83;
        background: #0e2820;
        color: #58cba6
    }

/* Scrollable aircraft list */
.route-aircraft-list[b-sho43ndqpe] {
    flex: 1;
    min-height: 0;
    margin-top: 6px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 4px
}

/* Individual aircraft type row */
.rcm-type-row[b-sho43ndqpe] {
    padding: 8px 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 1px solid #1e3029;
    background: #06100d
}

    .rcm-type-row.out-of-range[b-sho43ndqpe] { opacity: .42; }

.rcm-type-info[b-sho43ndqpe] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0
}

    .rcm-type-info b[b-sho43ndqpe] {
        color: #d2dfdb;
        font-size: 12px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis
    }

    .rcm-type-info small[b-sho43ndqpe] {
        color: #5e7a71;
        font: 9px Consolas,monospace
    }

.rcm-type-controls[b-sho43ndqpe] {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
    align-items: center
}

/* Stepper widget shared styles */
.rcm-stepper[b-sho43ndqpe] {
    display: flex;
    align-items: center;
    gap: 2px
}

    .rcm-stepper-label[b-sho43ndqpe] {
        font: 700 8px Consolas,monospace;
        letter-spacing: .08em;
        margin-right: 4px;
        white-space: nowrap
    }

    .rcm-stepper-label em[b-sho43ndqpe] {
        font-style: normal;
        opacity: .7
    }

    .rcm-stepper button[b-sho43ndqpe] {
        width: 24px;
        height: 24px;
        border: 1px solid;
        font-size: 14px;
        line-height: 1;
        cursor: pointer
    }

    .rcm-stepper button:disabled[b-sho43ndqpe] {
        opacity: .3;
        cursor: not-allowed
    }

    .rcm-stepper strong[b-sho43ndqpe] {
        width: 22px;
        text-align: center;
        font: 12px Consolas,monospace
    }

/* Hangar stepper — teal accent */
.rcm-stepper-hangar .rcm-stepper-label[b-sho43ndqpe] {
    color: #46a688
}

.rcm-stepper-hangar button[b-sho43ndqpe] {
    border-color: #2d5c4a;
    background: #091e17;
    color: #58cba6
}

.rcm-stepper-hangar strong[b-sho43ndqpe] {
    color: #58cba6
}

/* Buy stepper — neutral */
.rcm-stepper-buy .rcm-stepper-label[b-sho43ndqpe] {
    color: #6a8a81
}

.rcm-stepper-buy button[b-sho43ndqpe] {
    border-color: #293d36;
    background: #07110e;
    color: #a8c4bc
}

.rcm-stepper-buy strong[b-sho43ndqpe] {
    color: #c8d8d3
}

/* Always-visible footer */
.route-creation-menu footer[b-sho43ndqpe] {
    flex-shrink: 0;
    margin-top: 10px;
    display: flex;
    justify-content: flex-end;
    gap: 7px
}

.map-options-panel[b-sho43ndqpe] {
    position: absolute;
    z-index: 14;
    left: 12px;
    bottom: 58px;
    width: min(340px,calc(100vw - 24px));
    max-height: calc(100dvh - 150px);
    padding: 10px;
    display: grid;
    gap: 8px;
    overflow-y: auto;
    border: 1px solid #3b5b50;
    background: rgba(4,13,10,.97);
    box-shadow: 0 10px 30px #000
}

    .map-options-panel > header[b-sho43ndqpe] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .map-options-panel > header span[b-sho43ndqpe] {
        display: grid;
        gap: 2px;
    }

    .map-options-panel > header small[b-sho43ndqpe],
    .map-options-panel h4[b-sho43ndqpe],
    .map-select-control > span[b-sho43ndqpe] {
        color: #69cbaa;
        font: 800 9px Consolas,monospace;
        letter-spacing: .12em;
    }

    .map-options-panel > header b[b-sho43ndqpe] {
        color: #dcebe6;
        font: 700 13px Consolas,monospace;
    }

    .map-options-panel > header button[b-sho43ndqpe] {
        padding: 5px 7px;
        border: 1px solid #345248;
        background: #0a1914;
        color: #8eaca2;
        font: 800 8px Consolas,monospace;
        cursor: pointer;
    }

    .map-options-panel section[b-sho43ndqpe] {
        padding: 8px;
        display: grid;
        gap: 7px;
        border: 1px solid #263d35;
        background: rgba(6,18,14,.84);
    }

    .map-options-panel h4[b-sho43ndqpe] {
        margin: 0 0 1px;
    }

    .map-options-panel label[b-sho43ndqpe] {
        padding: 8px;
        border: 1px solid #293f37;
        background: #08140f;
        color: #a9c0b8;
        font: 10px Consolas,monospace
    }

    .map-options-panel .map-toggle[b-sho43ndqpe] {
        display: flex;
        align-items: center;
        gap: 8px
    }

    

    

    .map-step-control[b-sho43ndqpe],
    .map-select-control[b-sho43ndqpe] {
        display: grid;
        gap: 7px;
    }

    .map-step-control > span[b-sho43ndqpe] {
        display: flex;
        justify-content: space-between;
        gap: 8px;
    }

    .map-step-control b[b-sho43ndqpe] { color:#73d9b8; font-size:8px; letter-spacing:.07em; }
    .map-step-control input[b-sho43ndqpe] { width:100%; margin:0; accent-color:#58cba6; }

    .map-select-control select[b-sho43ndqpe] {
        width: 100%;
        min-width: 0;
        padding: 7px;
        border: 1px solid #38584d;
        background: #06100d;
        color: #c2d7d0;
        font: 9px Consolas,monospace;
    }

    .map-segmented[b-sho43ndqpe] { display:grid; grid-template-columns:1fr 1fr; gap:5px; }
    
    .map-segmented button[b-sho43ndqpe] {
        padding:7px;
        border:1px solid #2d483f;
        background:#07130f;
        color:#77958b;
        font:800 9px Consolas,monospace;
        cursor:pointer;
    }
    .map-segmented button.selected[b-sho43ndqpe] { border-color:#58cba6; background:#12352a; color:#d8fff1; }

    .throughput-map-key[b-sho43ndqpe] { display:grid; gap:4px; }
    .throughput-map-gradient[b-sho43ndqpe] { height:5px; border:1px solid #314b43; background:linear-gradient(90deg,#3ecd7a 0%,#f0be43 80%,#eb4b44 100%); }
    .throughput-map-key div[b-sho43ndqpe] { display:flex; justify-content:space-between; color:#78938a; font:8px Consolas,monospace; }
    .throughput-map-key p[b-sho43ndqpe] { margin:2px 0 0; color:#78938a; font:8px/1.35 Consolas,monospace; }

.stacked-chart-frame[b-sho43ndqpe] {
    min-height: 0;
    display: grid;
    grid-template-columns: max-content minmax(0,1fr);
    gap: 8px
}

.stacked-y-scale[b-sho43ndqpe] {
    padding: 0 0 6px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    color: #789087;
    font: 9px Consolas,monospace
}

.stacked-chart-frame > svg[b-sho43ndqpe] {
    min-width: 0
}

.airports-table > header[b-sho43ndqpe], .airports-table > button[b-sho43ndqpe] {
    grid-template-columns: 76px minmax(190px,2fr) minmax(154px,1.2fr) repeat(7,minmax(116px,1fr));
    min-width: 1270px
}

.sortable-routes-table > header[b-sho43ndqpe], .sortable-routes-table > button[b-sho43ndqpe] {
    grid-template-columns: minmax(140px,1.25fr) minmax(140px,1.25fr) 82px 52px repeat(2,minmax(105px,.85fr)) repeat(3,minmax(72px,.55fr)) 62px minmax(88px,.7fr) 44px;
    min-width: 1260px
}

.sortable-routes-table > .overview-table-row[b-sho43ndqpe] {
    grid-template-columns: minmax(140px,1.25fr) minmax(140px,1.25fr) 82px 52px repeat(2,minmax(105px,.85fr)) repeat(3,minmax(72px,.55fr)) 62px minmax(88px,.7fr) 44px;
    min-width: 1260px;
}

.route-map-cell[b-sho43ndqpe] { display: flex; align-items: center; justify-content: center; }
.route-duplicate-cell[b-sho43ndqpe] { min-width: 0; display: flex; align-items: center; justify-content: center; color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); text-align: center; }
.route-duplicate-cell .am-icon-btn.from-hangar[b-sho43ndqpe] { border-color: #35566d; color: #9fd0ff; }
.route-duplicate-cell .am-icon-btn.from-hangar:hover:not(:disabled)[b-sho43ndqpe] { background: rgba(63,120,168,.16); }

.sortable-routes-table .overview-throughput b[b-sho43ndqpe] {
    color: var(--throughput-color);
    font-size: 13px
}

.sortable-routes-table .overview-throughput small[b-sho43ndqpe] {
    margin-top: 2px;
    white-space: nowrap
}

.sortable-routes-table .overview-throughput[b-sho43ndqpe] {
    min-width: 0;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: end;
    align-items: baseline;
    column-gap: 6px;
    line-height: 1.1;
}
.overview-service-delivery[b-sho43ndqpe] { min-width:0; display:grid; justify-items:end; gap:2px; line-height:1.1; }
.overview-service-delivery b[b-sho43ndqpe] { color:var(--am-text-strong); font-size:var(--am-fs-label); white-space:nowrap; }
.overview-service-delivery small[b-sho43ndqpe] { color:var(--am-text-muted); font-size:var(--am-fs-micro); white-space:nowrap; }

.overview-table[b-sho43ndqpe] {
    overflow: auto
}

    .overview-table > header[b-sho43ndqpe] {
        position: sticky;
        z-index: 1;
        top: 0;
        background: #08110e
    }

/* The destination table moved to its own tab, so the flow graph gets the whole
   panel rather than sharing it with a sidebar column. */
.airport-passenger-dashboard[b-sho43ndqpe],
.airport-waiting-dashboard[b-sho43ndqpe] {
    min-height: 0;
    padding: 0 24px 20px;
    display: grid;
    grid-template-columns: minmax(0,1fr);
    grid-template-rows: minmax(0,1fr);
    gap: 14px
}

    .airport-waiting-dashboard .full-destination-table[b-sho43ndqpe] {
        grid-row: auto;
        min-width: 0;
        margin: 0
    }

@media(max-width:760px) {
    .airport-passenger-dashboard[b-sho43ndqpe],
    .airport-waiting-dashboard[b-sho43ndqpe] {
        padding: 0 12px 16px;
        overflow: visible
    }

        .airport-passenger-dashboard[b-sho43ndqpe]  .passenger-sankey-card {
            min-height: 390px
        }

        .airport-waiting-dashboard .full-destination-table[b-sho43ndqpe] {
            min-height: 260px
        }
}

.detail-card[b-sho43ndqpe] {
    z-index: 80
}

.map-options-panel[b-sho43ndqpe] {
    z-index: 85
}

    

    

.route-creation-menu[b-sho43ndqpe] {
    z-index: 90
}

.modal-backdrop[b-sho43ndqpe] {
    z-index: 120
}

.region-confirm[b-sho43ndqpe], .loading-card[b-sho43ndqpe] {
    z-index: 75
}

.overview-modal[b-sho43ndqpe] {
    box-sizing: border-box;
    width: calc(100vw - 20px);
    height: calc(100dvh - 90px);
    max-height: calc(100dvh - 90px);
    border-radius: 3px
}

.overview-header[b-sho43ndqpe] {
    min-height: 48px;
    padding: 7px 10px
}

.overview-header-main[b-sho43ndqpe] {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px
}

    .overview-header-main > div[b-sho43ndqpe] {
        min-width: 0
    }

.overview-header h2[b-sho43ndqpe] {
    margin: 2px 0 0;
    overflow: hidden;
    font-size: 18px;
    text-overflow: ellipsis;
    white-space: nowrap
}

.overview-header-back[b-sho43ndqpe] {
    height: 32px;
    padding: 0 10px;
    border: 1px solid #344a43;
    background: #09120f;
    color: #9bb3ab;
    font: 800 9px Consolas,monospace;
    white-space: nowrap;
    cursor: pointer
}

    .overview-header-back:hover[b-sho43ndqpe] {
        border-color: #68c7aa;
        color: #d7f5eb
    }

.modal-close[b-sho43ndqpe] {
    width: 33px;
    height: 33px;
    font-size: 21px
}

.detail-heading[b-sho43ndqpe] {
    padding: 8px 12px;
    align-items: center
}

    .detail-heading h3[b-sho43ndqpe] {
        margin-top: 3px;
        font-size: 20px
    }

    .detail-heading > b[b-sho43ndqpe] {
        font-size: 10px
    }

.route-overview-page[b-sho43ndqpe] {
    grid-template-rows: none;
    grid-auto-rows: auto;
    align-content: start
}

/* Put the management decision before historical decoration at desktop size:
   route health first, then operating context, history, fleet and finance. */
.route-overview-page > .detail-heading[b-sho43ndqpe] { order: 1; }
.route-overview-page > .route-performance-kpis[b-sho43ndqpe] { order: 2; }
.route-overview-page > .overview-route-throughput[b-sho43ndqpe] { order: 3; }
.route-overview-page > .route-operating-kpis[b-sho43ndqpe] { order: 4; }
.route-overview-page > .chart-card[b-sho43ndqpe] { order: 5; min-height: 220px; }
.route-overview-page > .fleet-panel[b-sho43ndqpe] { order: 6; }
.route-overview-page > .overview-route-options[b-sho43ndqpe] { order: 7; }
.route-overview-page > .financial-kpis[b-sho43ndqpe] { order: 8; }

.aircraft-overview-page[b-sho43ndqpe] {
    grid-template-rows: auto auto minmax(0,1fr) auto
}

.airport-overview-page[b-sho43ndqpe] {
    grid-template-rows: auto minmax(0,1fr)
}

.airport-detail-shell[b-sho43ndqpe] {
    min-width: 0;
    min-height: 0;
    padding: 0 10px 10px;
    display: grid;
    grid-template-columns: 132px minmax(0,1fr);
    gap: 10px
}

.airport-dashboard-tabs[b-sho43ndqpe] {
    min-height: 0;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    border: 1px solid #293d36;
    background: #040a08
}

    .airport-dashboard-tabs > small[b-sho43ndqpe] {
        padding: 3px 4px 7px;
        color: #718980;
        font: 800 8px Consolas,monospace;
        letter-spacing: .11em
    }

    .airport-dashboard-tabs button[b-sho43ndqpe] {
        min-height: 50px;
        padding: 8px;
        border: 1px solid #2c413a;
        background: #08120f;
        display: grid;
        align-content: center;
        gap: 4px;
        color: #8fa69e;
        text-align: left;
        cursor: pointer
    }

        .airport-dashboard-tabs button b[b-sho43ndqpe] {
            font: 800 10px Consolas,monospace
        }

        .airport-dashboard-tabs button span[b-sho43ndqpe] {
            color: #667f77;
            font: 8px Consolas,monospace
        }

        .airport-dashboard-tabs button.active[b-sho43ndqpe] {
            border-color: #68c7aa;
            background: #15352c;
            color: #d7f5eb
        }

            .airport-dashboard-tabs button.active span[b-sho43ndqpe] {
                color: #8ebcaf
            }

.airport-tab-content[b-sho43ndqpe] {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    overflow: hidden
}

.airport-routes-dashboard[b-sho43ndqpe] {
    grid-row: 1 / -1;
    min-width: 0;
    min-height: 0;
    padding-right: 2px;
    overflow: auto;
    display: grid;
    align-content: start;
    gap: 10px
}

.airport-routes-heading[b-sho43ndqpe] {
    position: sticky;
    z-index: 2;
    top: 0;
    padding: 10px 12px;
    border: 1px solid #2a4038;
    background: #07100e;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

    .airport-routes-heading div[b-sho43ndqpe] {
        display: grid;
        gap: 3px
    }

    .airport-routes-heading span[b-sho43ndqpe] {
        color: #d5e4df;
        font: 800 11px Consolas,monospace
    }

    .airport-routes-heading small[b-sho43ndqpe] {
        color: #769087;
        font: 8px Consolas,monospace
    }

    .airport-routes-heading > b[b-sho43ndqpe] {
        color: #70d5b5;
        font: 800 10px Consolas,monospace;
        white-space: nowrap
    }

.airport-route-stat-card[b-sho43ndqpe] {
    min-width: 920px;
    border: 1px solid #2a4038;
    background: #030907
}

.airport-route-stat-list[b-sho43ndqpe] {
    min-width: 920px
}

.connected-route-sort[b-sho43ndqpe] {
    position: sticky;
    z-index: 2;
    top: 55px;
    min-width: 920px;
    display: grid;
    grid-template-columns: minmax(130px,1.35fr) repeat(3,minmax(125px,1fr)) minmax(90px,.75fr) repeat(3,minmax(75px,.65fr)) 52px;
    border: 1px solid #2a4038;
    border-top: 0;
    background: #091411;
}

.connected-route-sort > div[b-sho43ndqpe] { min-width: 0; border-right: 1px solid #1d2d28; }
.connected-route-sort button[b-sho43ndqpe], .connected-route-sort > div > span[b-sho43ndqpe] { width: 100%; min-height: 32px; padding: 0 8px; display: flex; align-items: center; justify-content: flex-end; gap: 4px; overflow: hidden; border: 0; background: transparent; color: #718a82; font: 800 8px Consolas,monospace; text-transform: uppercase; cursor: pointer; }
.connected-route-sort > div:first-child button[b-sho43ndqpe] { justify-content: flex-start; }
.connected-route-sort > div > span[b-sho43ndqpe] { justify-content: center; cursor: default; }
.connected-route-sort button span[b-sho43ndqpe] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.connected-route-sort button:hover[b-sho43ndqpe], .connected-route-sort [aria-sort] button[b-sho43ndqpe] { color: #cfe0da; background: rgba(85,223,186,.05); }
.connected-route-sort .am-sort-icon[b-sho43ndqpe] { flex: 0 0 auto; font-size: 13px; opacity: .3; }
.connected-route-sort [aria-sort] .am-sort-icon[b-sho43ndqpe] { color: #70d5b5; opacity: 1; }

    .airport-route-stat-list .airport-route-stat-card[b-sho43ndqpe] {
        margin-bottom: 10px
    }

    .airport-route-stat-card > header[b-sho43ndqpe] {
        display: grid;
        grid-template-columns: minmax(220px,.85fr) minmax(850px,3fr);
        border-bottom: 1px solid #263b34;
        background: #08120f
    }

    .airport-route-stat-card .connected-route-identity > button:first-child[b-sho43ndqpe] {
        min-width: 0;
        padding: 11px 13px;
        border: 0;
        border-right: 1px solid #263b34;
        background: transparent;
        color: #d8e8e2;
        display: grid;
        gap: 4px;
        text-align: left;
        cursor: pointer
    }

        .airport-route-stat-card .connected-route-identity > button:first-child:hover[b-sho43ndqpe] {
            background: #10251e;
            color: #83e1c2
        }

        .airport-route-stat-card .connected-route-identity > button:first-child b[b-sho43ndqpe] {
            font: 800 13px Consolas,monospace
        }

        .airport-route-stat-card .connected-route-identity > button:first-child span[b-sho43ndqpe] {
            overflow: hidden;
            color: #799189;
            font: 9px Consolas,monospace;
            text-overflow: ellipsis;
            white-space: nowrap
        }

.connected-route-identity[b-sho43ndqpe] { position: relative; min-width: 0; display: grid; grid-template-columns: minmax(0,1fr) auto; grid-template-rows: 1fr auto; border-right: 1px solid #263b34; }
.connected-route-identity > button:first-child[b-sho43ndqpe] { grid-column: 1 / -1; min-width: 0; padding: 11px 48px 6px 13px; border: 0; background: transparent; color: #d8e8e2; display: grid; gap: 4px; text-align: left; cursor: pointer; }
.connected-route-worst[b-sho43ndqpe] { padding: 0 0 9px 13px; display: flex; align-items: baseline; gap: 6px; }
.connected-route-worst small[b-sho43ndqpe] { color: #708880; font: 8px Consolas,monospace; }
.connected-route-worst b[b-sho43ndqpe] { font: 800 11px Consolas,monospace; }
.connected-route-worst.within-capacity b[b-sho43ndqpe] { color: #70d5b5; }
.connected-route-worst.near-capacity b[b-sho43ndqpe] { color: #d8b75d; }
.connected-route-worst.over-capacity b[b-sho43ndqpe] { color: #e47a68; }
.connected-route-add[b-sho43ndqpe] { position: absolute; top: 10px; right: 10px; }
.connected-route-add.from-hangar[b-sho43ndqpe] { border-color: #35566d; color: #9fd0ff; }

    .airport-route-stat-card > header > div[b-sho43ndqpe] {
        display: grid;
        grid-template-columns: repeat(7,minmax(75px,1fr))
    }

        .airport-route-stat-card > header > div > span[b-sho43ndqpe] {
            min-width: 0;
            padding: 9px 10px;
            border-left: 1px solid #1c2c27;
            display: grid;
            gap: 4px
        }

        .airport-route-stat-card > header small[b-sho43ndqpe] {
            color: #708880;
            font: 8px Consolas,monospace
        }

        .airport-route-stat-card > header > div b[b-sho43ndqpe] {
            overflow: hidden;
            color: #cfe0da;
            font: 800 10px Consolas,monospace;
            text-overflow: ellipsis;
            white-space: nowrap
        }

.airport-route-flow-table > div[b-sho43ndqpe] {
    display: grid;
    grid-template-columns: minmax(205px,1.55fr) repeat(5,minmax(85px,1fr));
    align-items: stretch
}

    .airport-route-flow-table > div > span[b-sho43ndqpe] {
        min-width: 0;
        padding: 8px 11px;
        border-right: 1px solid #1d2d28;
        border-bottom: 1px solid #1d2d28;
        color: #c3d4ce;
        font: 10px Consolas,monospace;
        text-align: right
    }

    .airport-route-flow-table > div > span:first-child[b-sho43ndqpe] {
        text-align: left
    }

    .airport-route-flow-table > div > span b[b-sho43ndqpe], .airport-route-flow-table > div > span small[b-sho43ndqpe] {
        display: block
    }

    .airport-route-flow-table > div > span small[b-sho43ndqpe] {
        margin-top: 2px;
        color: #6f8880;
        font-size: 8px
    }

.airport-route-flow-table .flow-table-heading span[b-sho43ndqpe] {
    padding-top: 7px;
    padding-bottom: 7px;
    background: #0b1713;
    color: #718a82;
    font-size: 8px;
    font-weight: 800
}

.airport-route-flow-table .flow-direction-heading[b-sho43ndqpe] {
    padding: 7px 11px;
    border-bottom: 1px solid #2b443b;
    background: #10251e;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #83d8bb;
    font: 800 9px Consolas,monospace
}

    .airport-route-flow-table .flow-direction-heading.inbound[b-sho43ndqpe] {
        border-top: 1px solid #35554a;
        background: #101d25;
        color: #8ebde1
    }

    .airport-route-flow-table .flow-direction-heading span[b-sho43ndqpe] {
        padding: 0;
        border: 0;
        color: inherit;
        font-size: 8px
    }

.airport-route-flow-table .required-flow[b-sho43ndqpe] {
    background: #07100e
}

.airport-route-flow-table .maximum-flow[b-sho43ndqpe] {
    background: #050c09
}

.airport-route-flow-table .within-capacity[b-sho43ndqpe] {
    color: #65d3ad
}

.airport-route-flow-table .near-capacity[b-sho43ndqpe] {
    color: #e1ad3f
}

.airport-route-flow-table .over-capacity[b-sho43ndqpe] {
    color: #ff6259;
    font-weight: 800
}

.airport-summary-kpis[b-sho43ndqpe] {
    padding: 0 0 8px;
    gap: 6px
}

    .airport-summary-kpis span[b-sho43ndqpe] {
        padding: 7px 9px;
        gap: 5px
    }

    .airport-summary-kpis small[b-sho43ndqpe] {
        font-size: 8px
    }

    .airport-summary-kpis b[b-sho43ndqpe] {
        font-size: 12px
    }

.airport-detail-dashboard[b-sho43ndqpe] {
    min-height: 0;
    padding: 0;
    gap: 10px
}

/* Span both tracks of .airport-tab-content (auto / minmax(0,1fr)) exactly like
   .airport-routes-dashboard does. Sitting in the auto track alone sized these
   to their content, which is what stopped the flow graph reaching the bottom. */
.airport-passenger-dashboard[b-sho43ndqpe],
.airport-waiting-dashboard[b-sho43ndqpe] {
    grid-row: 1 / -1;
    min-height: 0;
    padding: 0;
    gap: 10px
}

    .airport-waiting-dashboard .full-destination-table[b-sho43ndqpe] {
        margin: 0
    }

@media(max-width:760px) {
    

    

    .overview-header[b-sho43ndqpe] {
        padding: 6px 8px
    }

    .overview-header-back[b-sho43ndqpe] {
        padding: 0 7px
    }

    .detail-heading[b-sho43ndqpe] {
        padding: 7px 9px
    }

        .detail-heading > b[b-sho43ndqpe] {
            display: none
        }

    .airport-detail-shell[b-sho43ndqpe] {
        padding: 0 6px 6px;
        grid-template-columns: 104px minmax(0,1fr);
        gap: 6px
    }

    .airport-dashboard-tabs[b-sho43ndqpe] {
        padding: 5px
    }

        .airport-dashboard-tabs button[b-sho43ndqpe] {
            min-height: 48px;
            padding: 6px
        }

    .airport-passenger-dashboard[b-sho43ndqpe],
    .airport-waiting-dashboard[b-sho43ndqpe] {
        padding: 0;
        overflow: visible
    }

    .airport-tab-content[b-sho43ndqpe] {
        overflow: visible
    }
}

.modal-backdrop[b-sho43ndqpe] {
    box-sizing: border-box;
    padding: 10px 12px 12px;
    display: flex;
    align-items: stretch;
    justify-content: stretch
}

.overview-modal[b-sho43ndqpe] {
    flex: 1 1 auto;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    max-height: none
}

@media(max-width:760px) {
    .modal-backdrop[b-sho43ndqpe] {
        padding: 7px
    }

    .overview-modal[b-sho43ndqpe] {
        width: auto;
        height: auto;
        max-height: none
    }
}

.modal-backdrop[b-sho43ndqpe] {
    padding: 0;
    display: block
}

.overview-modal[b-sho43ndqpe] {
    position: fixed;
    inset: 80px 12px 16px;
    display: flex;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    max-width: none;
    max-height: none
}

.modal-backdrop[b-sho43ndqpe] {
    overflow: hidden
}

.overview-modal[b-sho43ndqpe] {
    position: absolute;
    inset: 30px 40px 100px;
    overflow: hidden
}

@media(max-width:820px) {
    .overview-modal[b-sho43ndqpe] {
        inset: 7px
    }
}

.stacked-chart-card[b-sho43ndqpe] {
    min-height: 0
}

.stacked-chart-frame[b-sho43ndqpe] {
    flex: 1 1 auto;
    height: auto;
    min-height: 0
}

    .stacked-chart-frame > svg[b-sho43ndqpe] {
        width: 100%;
        height: 100% !important;
        min-height: 150px;
        margin-top: 0
    }

.stacked-y-scale[b-sho43ndqpe] {
    padding-bottom: 2px;
    color: #91a69f;
    font-size: 11px
}

.chart-card > div[b-sho43ndqpe], .sidebar-chart header[b-sho43ndqpe], .sidebar-demand header[b-sho43ndqpe] {
    font-size: 12px
}

    .chart-card > div small[b-sho43ndqpe], .sidebar-chart header small[b-sho43ndqpe], .sidebar-demand header small[b-sho43ndqpe] {
        font-size: 10px
    }

.direction-legend[b-sho43ndqpe], .stacked-legend[b-sho43ndqpe] {
    font-size: 10px !important
}

    

    

    

        

    

    

    

    

    

    

    

    

    

        

        

    

    

    

    

    

    

    

    

.hangar-route-picker[b-sho43ndqpe] {
    padding: 8px 12px;
    border-top: 1px solid #20322d
}

    .hangar-route-picker select[b-sho43ndqpe] {
        width: 100%;
        min-height: 34px;
        padding: 0 9px;
        border: 1px solid #45695e;
        background: #081510;
        color: #c5ded6;
        font: 10px Consolas,monospace
    }

.passenger-sankey-panel[b-sho43ndqpe] {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column
}

    .passenger-sankey-panel[b-sho43ndqpe]  .passenger-sankey-card {
        flex: 1
    }

.passenger-sankey-toolbar[b-sho43ndqpe] {
    flex: 0 0 auto;
    padding: 6px 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #293d36;
    border-bottom: 0;
    background: #07100d
}

    .passenger-sankey-toolbar > div[b-sho43ndqpe] {
        display: flex;
        gap: 4px
    }

    .passenger-sankey-toolbar button[b-sho43ndqpe] {
        height: 27px;
        padding: 0 8px;
        border: 1px solid #30463f;
        background: #09130f;
        color: #81978f;
        font: 800 8px Consolas,monospace;
        cursor: pointer
    }

        .passenger-sankey-toolbar button.active[b-sho43ndqpe] {
            border-color: #68c7aa;
            background: #15352c;
            color: #d7f5eb
        }

    .passenger-sankey-toolbar > span[b-sho43ndqpe] {
        margin-left: auto;
        color: #70877f;
        font: 8px Consolas,monospace
    }

    .passenger-sankey-toolbar .sankey-refresh[b-sho43ndqpe] {
        border-color: #4d7669;
        color: #a9ded0
    }

    .passenger-sankey-toolbar .sankey-fullscreen[b-sho43ndqpe] {
        border-color: #4d7669;
        color: #a9ded0
    }

.passenger-sankey-panel:fullscreen[b-sho43ndqpe],
.passenger-sankey-panel.element-fullscreen-fallback[b-sho43ndqpe] {
    box-sizing: border-box;
    width: 100vw;
    height: 100vh;
    padding: 10px;
    background: #020706
}

    .passenger-sankey-panel.element-fullscreen-fallback[b-sho43ndqpe] {
        position: fixed;
        inset: 0;
        z-index: 2147483000
    }

    .passenger-sankey-panel:fullscreen[b-sho43ndqpe]  .passenger-sankey-card,
    .passenger-sankey-panel.element-fullscreen-fallback[b-sho43ndqpe]  .passenger-sankey-card {
        min-height: 0;
        height: 100%
    }

@media(max-width:760px) {
    .passenger-sankey-toolbar[b-sho43ndqpe] {
        align-items: stretch;
        flex-wrap: wrap
    }

        .passenger-sankey-toolbar > span[b-sho43ndqpe] {
            order: 3;
            width: 100%;
            margin: 0
        }

        .passenger-sankey-toolbar button[b-sho43ndqpe] {
            padding: 0 6px
        }
}

.sidebar-title-row[b-sho43ndqpe] {
    min-width: 0;
    padding-right: 27px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px
}

    .sidebar-title-row h2[b-sho43ndqpe] {
        min-width: 0;
        margin: 7px 0 9px
    }

    .sidebar-title-row .sidebar-overview-action[b-sho43ndqpe] {
        flex: 0 0 auto;
        min-height: 30px;
        margin: 5px 0 0;
        padding: 0 9px;
        font-size: 8px
    }

/* Compact/readable UX refinement layer. These rules intentionally sit last so
   the current visual identity stays intact while older spacious declarations
   no longer win through cascade order. */
.detail-card[b-sho43ndqpe] {
    width: 390px;
    padding: 16px;
    scrollbar-width: thin;
    scrollbar-color: #3d6156 #050b09
}

    .detail-card > small[b-sho43ndqpe] { font-size: 10px; letter-spacing: .1em }
    .detail-card h2[b-sho43ndqpe] { margin: 6px 0 7px; font-size: 21px; line-height: 1.15 }
    .detail-card .airport-population[b-sho43ndqpe] { font-size: 11px }
    .detail-card .load-meter[b-sho43ndqpe] { margin: 11px 0 9px }

.detail-stats[b-sho43ndqpe] { gap: 5px }
    .detail-stats span[b-sho43ndqpe] { padding: 8px 7px; gap: 4px }
    .detail-stats small[b-sho43ndqpe], .sidebar-kpis small[b-sho43ndqpe] { color: #8ca49c; font-size: 9px }
    .detail-stats b[b-sho43ndqpe], .sidebar-kpis b[b-sho43ndqpe] { font-size: 12px }

.sidebar-kpis[b-sho43ndqpe] { margin-top: 7px; gap: 5px }
    .sidebar-kpis span[b-sho43ndqpe] { padding: 7px; gap: 4px }

.sidebar-chart[b-sho43ndqpe], .sidebar-demand[b-sho43ndqpe] { margin-top: 8px; padding: 9px }
    .sidebar-chart header[b-sho43ndqpe], .sidebar-demand header[b-sho43ndqpe] { font-size: 10px }
    .sidebar-chart header small[b-sho43ndqpe], .sidebar-demand header small[b-sho43ndqpe] { font-size: 9px }
    .sidebar-chart svg[b-sho43ndqpe] { height: 76px; margin-top: 6px }
    .sidebar-demand[b-sho43ndqpe] { grid-template-columns: 84px 1fr; gap: 8px }
    .sidebar-demand li[b-sho43ndqpe] { font-size: 10px }
    .sidebar-pie[b-sho43ndqpe] { width: 80px; height: 80px; border-width: 8px }

.sidebar-title-row[b-sho43ndqpe] { padding-right: 24px; align-items: center }
    .sidebar-title-row h2[b-sho43ndqpe] { margin: 6px 0 7px }
    .sidebar-title-row .sidebar-overview-action[b-sho43ndqpe] { min-height: 28px; margin: 0; padding: 0 9px; font-size: 9px }

.sidebar-disclosure[b-sho43ndqpe] {
    margin-top: 8px;
    border: 1px solid #293e36;
    background: #050c0a
}

    .sidebar-disclosure > summary[b-sho43ndqpe] {
        min-height: 34px;
        padding: 7px 9px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        color: #b8cbc4;
        font: 800 10px Consolas,monospace;
        list-style: none;
        cursor: pointer
    }

        .sidebar-disclosure > summary[b-sho43ndqpe]::-webkit-details-marker { display: none }
        .sidebar-disclosure > summary[b-sho43ndqpe]::before { content: "+"; color: #69cbaa; font-size: 14px }
        .sidebar-disclosure[open] > summary[b-sho43ndqpe]::before { content: "−" }
        .sidebar-disclosure > summary span[b-sho43ndqpe] { margin-right: auto }
        .sidebar-disclosure > summary b[b-sho43ndqpe] { color: #718a82; font-size: 9px; letter-spacing: .05em }
        .sidebar-disclosure > summary .route-window-badge[b-sho43ndqpe] { padding:2px 5px; border:1px solid var(--am-border-subtle); border-radius:999px; color:var(--am-text-muted); font:800 var(--am-fs-micro) var(--am-font-mono); letter-spacing:.04em; }
        .sidebar-disclosure > summary .sidebar-section-action[b-sho43ndqpe] { width: 27px; height: 27px; padding: 0; display: grid; place-items: center; border: 1px solid rgba(105,203,170,.22); border-radius: 4px; background: transparent; color: #718a82; cursor: pointer; }
        .sidebar-disclosure > summary .sidebar-section-action:hover[b-sho43ndqpe] { background: rgba(105,203,170,.08); color: #83e1c2; }
        .sidebar-disclosure[open] > summary[b-sho43ndqpe] { border-bottom: 1px solid #23372f; background: #08130f }
    .sidebar-disclosure > .sidebar-kpis[b-sho43ndqpe],
    .sidebar-disclosure > .sidebar-chart[b-sho43ndqpe],
    .sidebar-disclosure > .financial-mini[b-sho43ndqpe],
    .sidebar-disclosure > .sidebar-demand[b-sho43ndqpe] { margin: 7px }

.airport-gates-dashboard[b-sho43ndqpe] { width: 100%; min-width: 0; padding: 12px; }
.airport-gates-dashboard[b-sho43ndqpe]  .airport-gates { margin: 0; }
.airport-gates-dashboard[b-sho43ndqpe]  .gate-card { height: 96px; }

.route-throughput[b-sho43ndqpe] { margin-top: 9px }
    .route-throughput > header[b-sho43ndqpe] { font-size: 10px }
    .route-throughput > header small[b-sho43ndqpe] { font-size: 9px }
.sidebar-route-throughput .route-throughput-utilization[b-sho43ndqpe] {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--am-space-2);
}

.route-options label[b-sho43ndqpe], .toggle-option[b-sho43ndqpe] { font-size: 11px }
.move-routes > small[b-sho43ndqpe] { font-size: 9px }
.move-routes button[b-sho43ndqpe] { font-size: 10px }
.fleet-card-assign > .am-label[b-sho43ndqpe] { font-size: 9px }
.fleet-card-assign button[b-sho43ndqpe] { font-size: 10px }

.map-control-dock[b-sho43ndqpe] {
    position: absolute;
    z-index: 86;
    left: 12px;
    bottom: 12px;
    display: flex;
    align-items: center;
    gap: 7px
}

    .map-control-dock > button[b-sho43ndqpe] {
        position: relative;
        width: 42px;
        height: 42px;
        padding: 0;
        display: grid;
        place-items: center;
        border: 1px solid #416157;
        border-radius: 50%;
        background: rgba(4,13,10,.94);
        color: #a7c3ba;
        box-shadow: 0 5px 18px rgba(0,0,0,.55);
        cursor: pointer
    }

        .map-control-dock > button:hover[b-sho43ndqpe],
        .map-control-dock > button.active[b-sho43ndqpe] { border-color: #72d8b6; background: #133329; color: #d9fff2; transform: translateY(-1px) }
        .map-control-dock > button.active[b-sho43ndqpe] { box-shadow: 0 0 0 2px rgba(92,210,172,.13),0 6px 20px #000 }
        .map-control-dock > button > span[b-sho43ndqpe] {
            position: absolute;
            left: 50%;
            bottom: calc(100% + 7px);
            padding: 5px 7px;
            border: 1px solid #365348;
            background: #06100d;
            color: #b9d1c9;
            font: 800 9px Consolas,monospace;
            opacity: 0;
            pointer-events: none;
            transform: translate(-50%,4px);
            transition: opacity .12s,transform .12s
        }
        .map-control-dock > button:hover > span[b-sho43ndqpe],
        .map-control-dock > button:focus-visible > span[b-sho43ndqpe] { opacity: 1; transform: translate(-50%,0) }
        .map-control-dock i[b-sho43ndqpe] { position: relative; width:22px; height:22px; display:grid; place-items:center; font-style: normal }
        .map-control-dock .airport-icon[b-sho43ndqpe] { width: 12px; height: 12px; border: 2px solid currentColor; border-radius: 50%; box-shadow: 0 0 8px currentColor }
        .map-control-dock .airport-icon[b-sho43ndqpe]::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: currentColor }
        .map-control-dock .route-icon[b-sho43ndqpe] { width: 20px; height: 12px; border-top: 2px solid currentColor; border-radius: 50%; transform:translateY(-1px) rotate(-20deg) }
        .map-control-dock .route-icon[b-sho43ndqpe]::before,.map-control-dock .route-icon[b-sho43ndqpe]::after { content: ""; position: absolute; top: -4px; width: 5px; height: 5px; border-radius: 50%; background: currentColor }
        .map-control-dock .route-icon[b-sho43ndqpe]::before { left: -1px }.map-control-dock .route-icon[b-sho43ndqpe]::after { right: -1px }
        .map-control-dock .aircraft-icon[b-sho43ndqpe] { font-size: 20px; line-height: 1; transform:translate(-1px,-1px) }
        .map-control-dock .focus-icon[b-sho43ndqpe] { width:18px; height:18px; border:1px solid currentColor; border-radius:50% }
        .map-control-dock .focus-icon[b-sho43ndqpe]::before { content:""; position:absolute; inset:4px; border:2px solid currentColor; border-radius:50% }
        .map-control-dock .focus-icon[b-sho43ndqpe]::after { content:""; position:absolute; left:8px; top:-3px; width:2px; height:22px; background:currentColor; box-shadow:0 0 0 2px #07130f; transform:rotate(45deg) }

.map-options-panel[b-sho43ndqpe] {
    left: 12px;
    bottom: 64px;
    width: min(318px,calc(100vw - 24px));
    max-height: calc(100dvh - 145px);
    padding: 8px;
    gap: 6px;
    overflow-y: auto;
    border-color: #46665b;
    border-radius: 3px;
    box-shadow: 0 14px 42px rgba(0,0,0,.72)
}

    .map-options-panel > header[b-sho43ndqpe] { min-height: 34px; padding: 0 2px 2px }
    .map-options-panel > header small[b-sho43ndqpe] { font-size: 9px }
    .map-options-panel > header b[b-sho43ndqpe] { font-size: 13px }
    .map-options-panel > header > div[b-sho43ndqpe] { display: flex; gap: 4px }
    .map-options-panel > header button[b-sho43ndqpe] { min-height: 26px; padding: 0 7px; font-size: 9px }
    .map-options-panel > header .map-options-close[b-sho43ndqpe] { width: 27px; padding: 0; font-size: 17px }
    .map-options-panel section[b-sho43ndqpe] { padding: 7px; gap: 6px }
    .map-section-heading[b-sho43ndqpe] { display: flex; align-items: baseline; justify-content: space-between; gap: 8px }
    .map-section-heading span[b-sho43ndqpe] { color: #708980; font: 9px Consolas,monospace }
    .map-section-heading .map-inline-actions[b-sho43ndqpe] { display:flex; gap:4px }
    .map-section-heading .map-inline-action[b-sho43ndqpe] { min-height:24px; padding:3px 6px; border:1px solid #3b5b50; background:#0a1914; color:#83b9a7; font:800 8px Consolas,monospace; cursor:pointer }
    .map-section-heading .map-inline-action:hover:not(:disabled)[b-sho43ndqpe] { border-color:#65cdaa; color:#d8fff1 }
    .map-section-heading .map-inline-action:disabled[b-sho43ndqpe] { opacity:.35; cursor:not-allowed }
    .map-options-panel h4[b-sho43ndqpe], .map-select-control > span[b-sho43ndqpe] { font-size: 9px }
    .map-options-panel label[b-sho43ndqpe] { padding: 6px 7px; font-size: 10px }
    .map-toggle-grid[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px }
    .map-options-panel .map-toggle[b-sho43ndqpe] { min-height: 31px; gap: 7px }
    .map-control-grid[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 5px }
    .map-step-control[b-sho43ndqpe] { padding: 6px 7px; border: 1px solid #293f37; background: #08140f; color: #a9c0b8; font: 10px Consolas,monospace }
    .map-step-control > span[b-sho43ndqpe] { align-items: center }
    .map-step-control b[b-sho43ndqpe] { font-size: 9px }
    .map-step-buttons[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(5,1fr); gap: 3px }
    .map-step-buttons button[b-sho43ndqpe] { height: 25px; padding: 0; border: 1px solid #30483f; background: #050d0b; color: #829c93; font: 800 9px Consolas,monospace; cursor: pointer }
    .map-step-buttons button:hover[b-sho43ndqpe] { border-color: #568d7b; color: #d8eee7 }
    .map-step-buttons button.selected[b-sho43ndqpe] { border-color: #65cdaa; background: #15352b; color: #dcfff3 }
    .map-select-control select[b-sho43ndqpe] { min-height: 31px; padding: 5px 25px 5px 7px; font-size: 10px }
    .map-segmented.map-plane-styles[b-sho43ndqpe] { grid-template-columns: repeat(4,1fr) }
    .map-density-presets[b-sho43ndqpe] { grid-template-columns: repeat(3,1fr) }
    .map-focus-presets[b-sho43ndqpe] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px }
    .map-focus-presets button[b-sho43ndqpe] { min-height:44px; padding:6px 7px; display:grid; gap:2px; text-align:left; border:1px solid #2d483f; background:#07130f; color:#8aa69d; cursor:pointer }
    .map-focus-presets button:hover[b-sho43ndqpe] { border-color:#568d7b; color:#d8eee7 }
    .map-focus-presets button.selected[b-sho43ndqpe] { border-color:#65cdaa; background:#15352b; color:#dcfff3 }
    .map-focus-presets button:disabled[b-sho43ndqpe] { opacity:.38; cursor:not-allowed }
    .map-focus-presets .map-personal-view[b-sho43ndqpe] { grid-column:1 / -1; border-style:dashed }
    .map-focus-presets b[b-sho43ndqpe] { font:800 9px Consolas,monospace; letter-spacing:.06em }
    .map-focus-presets small[b-sho43ndqpe] { color:#718b82; font:8px Consolas,monospace }
    .map-option-help[b-sho43ndqpe] { margin:0; color:#78938a; font:9px/1.4 Consolas,monospace }
    .map-volume-buttons[b-sho43ndqpe] { grid-template-columns:repeat(5,1fr) }
    .map-region-list[b-sho43ndqpe] { display:grid; gap:4px; max-height:180px; overflow:auto }
    .map-region-list button[b-sho43ndqpe] { min-height:30px; padding:5px 7px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:1px solid #293f37; background:#07130f; color:#a9c0b8; font:9px Consolas,monospace; cursor:pointer; text-align:left }
    .map-region-list button:hover[b-sho43ndqpe] { border-color:#568d7b }
    .map-region-list button.selected[b-sho43ndqpe] { border-color:#d4ae52; background:#302715; color:#ffe29a }
    .map-region-list small[b-sho43ndqpe] { color:#718b82; font:8px Consolas,monospace; letter-spacing:.06em }
    .map-segmented button[b-sho43ndqpe] { min-height: 29px; padding: 5px 3px; font-size: 9px }
    .throughput-map-key p[b-sho43ndqpe], .throughput-map-key div[b-sho43ndqpe] { font-size: 9px }

.overview-tabs button[b-sho43ndqpe], .overview-header-back[b-sho43ndqpe], .overview-tools input[b-sho43ndqpe], .overview-tools select[b-sho43ndqpe] { font-size: 10px }
.overview-table > header[b-sho43ndqpe] { height: 34px }
.overview-table > button[b-sho43ndqpe] { height: var(--am-row-h); min-height: var(--am-row-h) }
.overview-table > button span[b-sho43ndqpe], .overview-table > button small[b-sho43ndqpe] { font-size: 10px }
.overview-table > button b[b-sho43ndqpe] { font-size: 11px }
.airport-dashboard-tabs > small[b-sho43ndqpe] { font-size: 9px }
.airport-dashboard-tabs button b[b-sho43ndqpe] { font-size: 11px }
.airport-dashboard-tabs button span[b-sho43ndqpe] { font-size: 9px }
.overview-header small[b-sho43ndqpe], .detail-heading small[b-sho43ndqpe] { font-size: 9px }

@media(max-width:820px) {
    .detail-card[b-sho43ndqpe] { width: min(370px,100vw); padding: 13px }
    .map-control-grid[b-sho43ndqpe] { grid-template-columns: 1fr }
}

    
    
    

    
    
    
    
    

    
    

    
    

.settings-modal label[b-sho43ndqpe],.cheat-modal p[b-sho43ndqpe] { font-size:11px }
.settings-map-shortcuts[b-sho43ndqpe] { display:grid; gap:6px; padding:10px; border:1px solid #293f37; background:#06100d }
.settings-map-shortcuts>small[b-sho43ndqpe] { color:#79a596; font:800 9px Consolas,monospace; letter-spacing:.08em }
.settings-map-shortcuts>div[b-sho43ndqpe] { display:grid; grid-template-columns:repeat(3,1fr); gap:5px }
.settings-map-shortcuts button[b-sho43ndqpe] { min-height:31px; border:1px solid #38584d; background:#0a1914; color:#a7c2b9; font:800 9px Consolas,monospace; cursor:pointer }
.settings-map-shortcuts button:hover[b-sho43ndqpe] { border-color:#67cdaa; color:#e0f7ef }
.airport-route-flow-table > div > span small[b-sho43ndqpe],.airport-route-flow-table .flow-table-heading span[b-sho43ndqpe],.airport-route-flow-table .flow-direction-heading span[b-sho43ndqpe] { font-size:9px }

/* Crew messages and simulation notifications, attached to the top edge of the
   game surface. The collapsed bar keeps the latest event visible at a glance. */
.chat-dock[b-sho43ndqpe] {
    position: absolute;
    z-index: var(--am-z-chat);
    top: 0;
    left: 50%;
    width: min(var(--am-chat-w, 648px), calc(100vw - 32px));
    display: flex;
    transform: translateX(-50%);
    transition: width var(--am-dur-slow) var(--am-ease);
    isolation: isolate;
}

.chat-dock[b-sho43ndqpe]  .chat-panel { position: relative; z-index: 1; width: 100%; flex: 1 1 auto; border-radius: 0 0 6px 6px; background: var(--am-glass); backdrop-filter: blur(8px); box-shadow: var(--am-shadow-2); }
.chat-dock:hover[b-sho43ndqpe]  .chat-footer-toggle,
.chat-dock:focus-within[b-sho43ndqpe]  .chat-footer-toggle { opacity: 1; }

.chat-height-resizer.am-resizer[b-sho43ndqpe] {
    position: absolute;
    z-index: 3;
    right: 11px;
    bottom: 0;
    left: 11px;
    width: auto;
    flex: none;
    height: 3px;
    background: transparent;
    cursor: ns-resize;
    touch-action: none;
}
.chat-height-resizer.am-resizer[b-sho43ndqpe]::before { content: ""; position: absolute; inset: -7px 0; }
.chat-height-resizer.am-resizer[b-sho43ndqpe]::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 48px;
    height: 2px;
    border-radius: var(--am-radius-pill);
    background: var(--am-border-control);
    opacity: .7;
    transform: translateX(-50%);
}
.chat-dock:not(.collapsed):hover .chat-height-resizer[b-sho43ndqpe],
.chat-height-resizer:focus-visible[b-sho43ndqpe],
.chat-height-resizer.am-resizing[b-sho43ndqpe] { background: var(--am-border-accent); }
.chat-height-resizer:hover[b-sho43ndqpe]::after,
.chat-height-resizer:focus-visible[b-sho43ndqpe]::after,
.chat-height-resizer.am-resizing[b-sho43ndqpe]::after { background: var(--am-accent); opacity: 1; }
.chat-height-resizer:focus-visible[b-sho43ndqpe] { outline: none; box-shadow: var(--am-focus-ring); }
.chat-dock.collapsed .chat-height-resizer[b-sho43ndqpe] { display: none; }

@media (max-width: 820px) {
    .chat-dock:not(.collapsed)[b-sho43ndqpe] { width: calc(100vw - 16px); }
    .chat-height-resizer[b-sho43ndqpe] { display: none; }
}

/* Airport warnings stay attached to the top-left below the top bar as a
   permanently expanded, compact list. */
.network-alert-dock[b-sho43ndqpe] {
    position: absolute;
    z-index: var(--am-z-warning);
    top: 0;
    left: 0;
    width: min(238px, calc(100vw - var(--am-space-4)));
    isolation: isolate;
}

.network-alerts[b-sho43ndqpe] {
    position: relative;
    z-index: 1;
    width: 100%;
    max-height: min(50dvh, 520px);
    display: flex;
    flex-direction: column;
    border: var(--am-border-width) solid var(--am-border-control);
    border-top: 0;
    border-radius: 0 0 11px 0;
    background: var(--am-glass);
    box-shadow: var(--am-shadow-1);
    backdrop-filter: blur(8px);
    opacity: .8;
    overflow: hidden;
    transition: max-height var(--am-dur-slow) var(--am-ease);
}
.network-alert-list[b-sho43ndqpe] { max-height: min(50dvh, 520px); flex: 1 1 auto; overflow-y: auto; opacity: 1; transition: max-height var(--am-dur-slow) var(--am-ease), opacity var(--am-dur) var(--am-ease); }
.network-alert-row[b-sho43ndqpe] {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 42px;
    max-height: 64px;
    padding: var(--am-space-1) var(--am-space-2);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    border-bottom: var(--am-border-width) solid var(--am-border-subtle);
    border: 0;
    border-top: var(--am-border-width) solid var(--am-border-subtle);
    background: transparent;
    color: var(--am-text-secondary);
    text-align: left;
    cursor: pointer;
    overflow: hidden;
    transform-origin: top;
    animation: network-alert-row-enter-b-sho43ndqpe var(--am-dur-slow) var(--am-ease) both;
}

@keyframes network-alert-row-enter-b-sho43ndqpe {
    from {
        min-height: 0;
        max-height: 0;
        padding-top: 0;
        padding-bottom: 0;
        border-top-width: 0;
        opacity: 0;
        transform: translateY(-7px) scaleY(.72);
    }
    to {
        min-height: 42px;
        max-height: 64px;
        opacity: 1;
        transform: translateY(0) scaleY(1);
    }
}

.network-alert-row.critical.flashing[b-sho43ndqpe] { animation: capacity-alert-flash-b-sho43ndqpe .42s ease-in-out 3; }
.network-alert-row.gate-waiting[b-sho43ndqpe] { animation: gate-alert-flash-b-sho43ndqpe .9s steps(1, end) infinite; }
.network-alert-row.gate-waiting.over-capacity[b-sho43ndqpe] { animation-name: gate-capacity-alert-flash-b-sho43ndqpe; }

@keyframes capacity-alert-flash-b-sho43ndqpe {
    0%, 100% { background: transparent; filter: brightness(1); }
    50% { background: #ff4b3f; box-shadow: inset 0 0 18px rgba(255, 238, 234, .9); filter: brightness(1.65); }
}

@keyframes gate-alert-flash-b-sho43ndqpe {
    0%, 100% { background: transparent; box-shadow: none; filter: brightness(1); }
    50% { background: var(--am-warning-bg); box-shadow: inset 0 0 18px rgba(255, 210, 92, .72); filter: brightness(1.5); }
}

@keyframes gate-capacity-alert-flash-b-sho43ndqpe {
    0%, 100% { background: var(--am-warning-bg); box-shadow: inset 0 0 18px rgba(255, 210, 92, .68); filter: brightness(1.4); }
    50% { background: var(--am-danger-bg); box-shadow: inset 0 0 18px rgba(255, 92, 80, .82); filter: brightness(1.55); }
}

@media (prefers-reduced-motion: reduce) {
    .network-alert-row[b-sho43ndqpe],
    .network-alert-row.critical.flashing[b-sho43ndqpe],
    .network-alert-row.gate-waiting[b-sho43ndqpe] { animation: none; }
}
.network-alert-row:hover[b-sho43ndqpe] { background: var(--am-surface-3); }
.network-alert-status[b-sho43ndqpe] { width: 26px; height: 26px; flex: 0 0 26px; display: grid; place-items: center; color: #fff4ef; }
.network-alert-row.critical .network-alert-status[b-sho43ndqpe] { background: var(--am-danger-strong); }
.network-alert-row.warning .network-alert-status[b-sho43ndqpe] { background: var(--am-warning-strong); color: #211708; }
.network-alert-copy[b-sho43ndqpe] { min-width: 0; flex: 1 1 auto; overflow: hidden; display: grid; gap: 2px; }
.network-alert-heading[b-sho43ndqpe] { min-width: 0; width: 100%; overflow: hidden; display: flex; align-items: baseline; gap: var(--am-space-1); }
.network-alert-heading b[b-sho43ndqpe] { min-width: 0; flex: 1 1 auto; }
.network-alert-capacity[b-sho43ndqpe] { min-width: 0; max-width: 44%; margin-left: auto; flex: 0 1 auto; overflow: hidden; color: var(--am-danger); font-size: var(--am-fs-value); font-weight: 900; line-height: 1; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.network-alert-row.gate-waiting .network-alert-capacity[b-sho43ndqpe] { color: var(--am-warning-text); font-size: var(--am-fs-micro); }
.network-alert-row.gate-waiting.over-capacity .network-alert-capacity[b-sho43ndqpe] { color: var(--am-danger); }
.network-alert-copy b[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-secondary); font-size: var(--am-fs-body); text-overflow: ellipsis; white-space: nowrap; }
.network-alert-copy small[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .03em; text-overflow: ellipsis; white-space: nowrap; }
.network-alert-copy time[b-sho43ndqpe] { color: var(--am-text-muted); font-variant-numeric: tabular-nums; }
.network-alert-arrow[b-sho43ndqpe] { flex: 0 0 auto; color: var(--am-text-faint); }

/* Unconnected-airport rows expose likely route targets without changing the
   row's normal click-to-select behavior. */
.network-alert-item[b-sho43ndqpe] { position: relative; }
.network-alert-item .network-alert-row[b-sho43ndqpe] { position: relative; z-index: 1; }
.route-context-anchor[b-sho43ndqpe] { position: fixed; z-index: var(--am-z-route-menu); }
.route-context-dismiss-layer[b-sho43ndqpe] { position: fixed; z-index: 79; inset: 0; padding: 0; border: 0; background: transparent; cursor: default; }
.empty-connected-routes[b-sho43ndqpe] { padding: 12px; display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 8px; color: var(--am-text-dim); }
.empty-connected-routes > .ms[b-sho43ndqpe] { color: var(--am-accent-dim); font-size: 24px; }
.empty-connected-routes > span[b-sho43ndqpe] { min-width: 0; display: grid; gap: 3px; }
.empty-connected-routes b[b-sho43ndqpe] { color: var(--am-text-secondary); font: 900 var(--am-fs-label) var(--am-font-mono); }
.empty-connected-routes small[b-sho43ndqpe] { font: var(--am-fs-micro) var(--am-font-mono); }
.empty-connected-routes .primary-action[b-sho43ndqpe] { grid-column: 1 / -1; min-height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; }

/* Route creation is intentionally lightweight: the transparent layer commits
   on click-away, while the card itself remains interactive. */
.route-creation-dismiss-layer[b-sho43ndqpe],
.route-picker-backdrop[b-sho43ndqpe] {
    position: absolute;
    z-index: 24;
    inset: 0;
    background: transparent;
}
.route-picker-backdrop[b-sho43ndqpe] { background: rgba(0, 4, 3, .38); }
.route-picker[b-sho43ndqpe],
.quick-route-menu[b-sho43ndqpe] {
    position: absolute;
    z-index: 26;
    left: 50%;
    bottom: 18px;
    width: min(680px, calc(100vw - 32px));
    padding: 14px;
    display: grid;
    gap: 12px;
    transform: translateX(-50%);
    border: var(--am-border-width) solid var(--am-border-strong);
    border-radius: var(--am-radius-lg);
    background: rgba(4, 12, 10, .98);
    box-shadow: var(--am-shadow-3);
}
.quick-route-menu[b-sho43ndqpe] { width: min(760px, calc(100vw - 32px)); }
.route-picker > header[b-sho43ndqpe],
.quick-route-menu > header[b-sho43ndqpe] { display: flex; align-items: start; justify-content: space-between; }
.route-picker > header small[b-sho43ndqpe],
.quick-route-menu > header small[b-sho43ndqpe] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .13em; }
.route-picker h3[b-sho43ndqpe],
.quick-route-menu h3[b-sho43ndqpe] { margin: 4px 0 0; color: var(--am-text-strong); }
.route-picker > header > button[b-sho43ndqpe],
.quick-route-menu > header > button[b-sho43ndqpe] { border: 0; background: transparent; color: var(--am-text-muted); font-size: 22px; cursor: pointer; }
.route-picker-fields[b-sho43ndqpe] { display: grid; grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr); align-items: end; gap: 10px; }
.route-picker-fields label[b-sho43ndqpe] { display: grid; gap: 5px; color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); }
.route-picker-fields input[b-sho43ndqpe] { min-width: 0; padding: 9px 10px; border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-surface-1); color: var(--am-text-strong); }
.route-picker-fields > .ms[b-sho43ndqpe] { align-self: center; color: var(--am-accent); text-align: center; }
.route-picker footer[b-sho43ndqpe] { display: flex; justify-content: flex-end; gap: 7px; }
.route-picker footer button[b-sho43ndqpe] { border-radius: var(--am-radius-sm); }
.airport-search-field[b-sho43ndqpe] { position: relative; }
.airport-search-results[b-sho43ndqpe] {
    position: absolute;
    z-index: 40;
    top: calc(100% + 3px);
    left: 0;
    right: 0;
    max-height: 224px;
    padding: 3px;
    display: grid;
    gap: 2px;
    overflow-y: auto;
    border: var(--am-border-width) solid var(--am-border-strong);
    border-radius: var(--am-radius);
    background: rgba(4, 14, 11, .99);
    box-shadow: var(--am-shadow-2);
}
.airport-search-results button[b-sho43ndqpe] {
    min-width: 0;
    padding: 7px 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border: var(--am-border-width) solid transparent;
    border-radius: var(--am-radius-sm);
    background: transparent;
    color: var(--am-text-strong);
    text-align: left;
    cursor: pointer;
}
.airport-search-results button:hover[b-sho43ndqpe] { border-color: var(--am-accent-dim); background: var(--am-accent-bg); }
.airport-search-results b[b-sho43ndqpe] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.airport-search-results button span[b-sho43ndqpe] { flex: 0 0 auto; color: var(--am-accent-text); font: 800 var(--am-fs-micro) var(--am-font-mono); }
.route-picker-selected[b-sho43ndqpe] { display: grid; gap: 5px; }
.route-picker-selected > header[b-sho43ndqpe] { display: flex; align-items: center; justify-content: space-between; color: var(--am-text-dim); font: 900 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .08em; }
.route-picker-selected > header b[b-sho43ndqpe] { color: var(--am-accent-text); }
.route-picker-selected > div[b-sho43ndqpe] { max-height: 72px; padding: 5px; display: flex; flex-wrap: wrap; gap: 4px; overflow-y: auto; border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius-sm); background: var(--am-surface-1); }
.route-picker-selected button[b-sho43ndqpe],
.route-batch-destinations button[b-sho43ndqpe] { min-width: 0; padding: 3px 5px 3px 7px; display: inline-flex; align-items: center; gap: 4px; border: var(--am-border-width) solid var(--am-accent-dim); border-radius: var(--am-radius-sm); background: var(--am-accent-bg); color: var(--am-accent-text); font: var(--am-fs-micro) var(--am-font-mono); cursor: pointer; }
.route-picker-selected button:hover[b-sho43ndqpe],
.route-batch-destinations button:hover[b-sho43ndqpe] { border-color: var(--am-warning); color: var(--am-warning); }
.route-picker-selected button span[b-sho43ndqpe],
.route-batch-destinations button span[b-sho43ndqpe] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.route-picker-shortcuts[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.route-picker-shortcuts section[b-sho43ndqpe] { min-width: 0; max-height: min(310px, 42vh); padding: 5px; overflow-y: auto; border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius); background: var(--am-surface-1); }
.route-picker-shortcuts section > header[b-sho43ndqpe] { padding: 3px 5px 6px; display: flex; align-items: center; justify-content: space-between; gap: 6px; color: var(--am-accent); font: 900 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .08em; }
.route-picker-shortcuts section > header span[b-sho43ndqpe] { display: flex; align-items: center; gap: 5px; }
.route-picker-rank-actions[b-sho43ndqpe] { display: inline-flex; gap: 3px; }
.route-picker-shortcuts section > header button[b-sho43ndqpe] { padding: 3px 5px; border: var(--am-border-width) solid var(--am-accent-dim); border-radius: var(--am-radius-sm); background: transparent; color: var(--am-accent-text); font: 900 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .04em; white-space: nowrap; cursor: pointer; }
.route-picker-shortcuts section > header button:hover:not(:disabled)[b-sho43ndqpe] { background: var(--am-accent-bg); border-color: var(--am-accent); }
.route-picker-shortcuts section > header button:disabled[b-sho43ndqpe] { color: var(--am-text-faint); border-color: var(--am-border-subtle); cursor: default; }
.route-picker-shortcuts section > button[b-sho43ndqpe] { width: 100%; min-width: 0; padding: 6px; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 7px; border: 0; border-radius: var(--am-radius-sm); background: transparent; color: var(--am-text-secondary); text-align: left; cursor: pointer; }
.route-picker-shortcuts section > button:hover[b-sho43ndqpe] { background: var(--am-accent-bg); color: var(--am-text-strong); }
.route-picker-shortcuts section > button.selected[b-sho43ndqpe] { background: var(--am-accent-bg); color: var(--am-accent-text); box-shadow: inset 2px 0 var(--am-accent); }
.route-picker-shortcuts section > button b[b-sho43ndqpe] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.route-picker-shortcuts section > button span[b-sho43ndqpe],
.route-picker-shortcuts section > button small[b-sho43ndqpe] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); white-space: nowrap; }
.quick-route-aircraft-grid[b-sho43ndqpe] { max-height: min(420px, 52vh); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; overflow-y: auto; }
.quick-route-empty[b-sho43ndqpe] { grid-column: 1 / -1; margin: 0; padding: 14px; border: var(--am-border-width) solid var(--am-border-subtle); color: var(--am-text-dim); font: var(--am-fs-label) var(--am-font-mono); text-align: center; }
.quick-route-selected-aircraft[b-sho43ndqpe] { padding: 8px 10px; display: flex; align-items: center; gap: 9px; border: var(--am-border-width) solid var(--am-border-control); background: var(--am-surface-2); color: var(--am-text-secondary); text-align: left; cursor: pointer; }
.quick-route-selected-aircraft > span[b-sho43ndqpe] { display: grid; gap: 2px; }
.quick-route-selected-aircraft small[b-sho43ndqpe] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); }
.quick-route-selected-aircraft b[b-sho43ndqpe] { color: var(--am-text-strong); }
.quick-route-amounts[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.quick-route-amounts button[b-sho43ndqpe] { min-width: 0; min-height: 76px; padding: 8px 4px; display: grid; place-content: center; gap: 2px; border: var(--am-border-width) solid var(--am-border-control); background: var(--am-surface-2); color: var(--am-text-secondary); cursor: pointer; }
.quick-route-amounts button:hover:not(:disabled)[b-sho43ndqpe] { border-color: var(--am-accent); background: var(--am-accent-bg); }
.quick-route-amounts button:disabled[b-sho43ndqpe] { opacity: .38; cursor: not-allowed; }
.quick-route-amounts b[b-sho43ndqpe] { color: var(--am-accent-text); font: 900 22px var(--am-font-mono); }
.quick-route-amounts span[b-sho43ndqpe],
.quick-route-amounts small[b-sho43ndqpe] { font: var(--am-fs-micro) var(--am-font-mono); }
.quick-route-amounts small[b-sho43ndqpe] { color: var(--am-text-dim); }

.route-creation-menu.simplified[b-sho43ndqpe] { z-index: 25; width: min(760px, calc(100vw - 32px)); }
.route-aircraft-help[b-sho43ndqpe] { margin: 9px 0 5px; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.route-batch-destinations[b-sho43ndqpe] { max-height: 72px; padding: 6px 8px; display: flex; flex-wrap: wrap; gap: 4px; overflow-y: auto; border: var(--am-border-width) solid var(--am-border-subtle); border-top: 0; }
.route-aircraft-recommendations[b-sho43ndqpe] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.route-aircraft-category[b-sho43ndqpe] { min-width: 0; padding: 6px; display: grid; gap: 4px; border: var(--am-border-width) solid var(--am-border-subtle); background: var(--am-surface-1); }
.route-aircraft-category > strong[b-sho43ndqpe] { color: var(--am-accent); font: 900 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .12em; }
.route-aircraft-choice[b-sho43ndqpe] {
    width: 100%;
    min-width: 0;
    padding: 7px 9px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border: var(--am-border-width) solid var(--am-border-control);
    background: var(--am-surface-2);
    color: var(--am-text-secondary);
    text-align: left;
    cursor: pointer;
}
.route-aircraft-choice:hover[b-sho43ndqpe] { border-color: var(--am-border-strong); background: var(--am-surface-3); }
.route-aircraft-choice.selected[b-sho43ndqpe] { border-color: var(--am-accent); background: var(--am-accent-bg); }
.route-aircraft-choice.out-of-range[b-sho43ndqpe] { opacity: .38; cursor: not-allowed; }
.route-aircraft-choice > span[b-sho43ndqpe] { min-width: 0; display: grid; gap: 2px; }
.route-aircraft-choice b[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-strong); font-size: var(--am-fs-body); text-overflow: ellipsis; white-space: nowrap; }
.route-aircraft-choice b i[b-sho43ndqpe] { color: var(--am-text-dim); font: normal var(--am-fs-micro) var(--am-font-mono); }
.route-aircraft-choice small[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); text-overflow: ellipsis; white-space: nowrap; }
.route-aircraft-choice em[b-sho43ndqpe] { min-width: 30px; color: var(--am-accent-text); font: 900 var(--am-fs-value) var(--am-font-mono); font-style: normal; text-align: right; }
.route-full-list-toggle[b-sho43ndqpe] { margin-top: 6px; padding: 7px; display: flex; align-items: center; justify-content: center; gap: 5px; border: var(--am-border-width) solid var(--am-border-control); background: transparent; color: var(--am-text-muted); font: 800 var(--am-fs-micro) var(--am-font-mono); cursor: pointer; }
.route-full-list-toggle:hover[b-sho43ndqpe] { color: var(--am-accent-text); border-color: var(--am-accent-dim); }
.route-aircraft-list.full-list[b-sho43ndqpe] { max-height: 220px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.route-creation-menu.simplified footer[b-sho43ndqpe] { align-items: center; }
.route-creation-menu.simplified footer > span[b-sho43ndqpe] { margin-right: auto; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.overview-create-route[b-sho43ndqpe] { min-height: 30px; padding: 0 10px; display: inline-flex; align-items: center; gap: 4px; font-size: var(--am-fs-micro); white-space: nowrap; }

@media (max-width: 720px) {
    .route-aircraft-recommendations[b-sho43ndqpe],
    .route-aircraft-list.full-list[b-sho43ndqpe],
    .quick-route-aircraft-grid[b-sho43ndqpe],
    .route-picker-shortcuts[b-sho43ndqpe] { grid-template-columns: 1fr; }
    .quick-route-amounts[b-sho43ndqpe] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .route-picker-fields[b-sho43ndqpe] { grid-template-columns: 1fr; }
    .route-picker-fields > .ms[b-sho43ndqpe] { transform: rotate(90deg); }
}

/* ---------------------------------------------------------------- tables --
   Header cells are now role="columnheader" wrappers around a sort button
   (aria-sort has to live on the columnheader, and a <button> cannot be one).
   Cells are emitted in header order, so no grid-column re-placement remains. */

.overview-table[b-sho43ndqpe] {
    padding: 0;
    gap: 0;
}

.overview-table > header[b-sho43ndqpe] {
    position: sticky;
    z-index: 1;
    top: 0;
    height: 34px;
    padding: 0 var(--am-space-3);
    gap: var(--am-space-2);
    border-bottom: var(--am-border-width) solid var(--am-border);
    background: var(--am-surface-2);
}

.overview-table > header > [role="columnheader"][b-sho43ndqpe] {
    min-width: 0;
    height: 100%;
    display: flex;
    align-items: center;
}

.overview-table > header > [role="columnheader"].am-num[b-sho43ndqpe] { justify-content: flex-end; }

.overview-table > header .am-sort-btn[b-sho43ndqpe] {
    width: 100%;
    height: 100%;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 3px;
    border: 0;
    background: none;
    color: var(--am-text-dim);
    font: 800 var(--am-fs-micro) var(--am-font-mono);
    letter-spacing: .06em;
    text-transform: uppercase;
    white-space: nowrap;
    cursor: pointer;
}

.overview-table > header .am-num .am-sort-btn[b-sho43ndqpe] { flex-direction: row-reverse; justify-content: flex-start; }
.overview-table > header .am-sort-btn:hover[b-sho43ndqpe] { color: var(--am-text-strong); }
/* The indicator is always in the DOM so columns never change width on sort. */
.overview-table > header .am-sort-icon[b-sho43ndqpe] { opacity: 0; font-size: 13px; }
.overview-table > header .am-sort-btn:hover .am-sort-icon[b-sho43ndqpe],
.overview-table > header .am-sort-btn:focus-visible .am-sort-icon[b-sho43ndqpe] { opacity: .45; }
.overview-table > header [aria-sort] .am-sort-icon[b-sho43ndqpe] { opacity: 1; color: var(--am-accent); }
.overview-table > header [aria-sort] .am-sort-btn[b-sho43ndqpe] { color: var(--am-text-strong); }

.overview-table > button[b-sho43ndqpe] {
    height: var(--am-row-h);
    min-height: var(--am-row-h);
    padding: 0 var(--am-space-3);
    gap: var(--am-space-2);
    border: 0;
    border-bottom: var(--am-border-width) solid var(--am-border-subtle);
    background: var(--am-surface-1);
    color: var(--am-text-secondary);
}

.overview-table > .overview-table-row[b-sho43ndqpe] {
    width: 100%;
    height: var(--am-row-h);
    min-height: var(--am-row-h);
    padding: 0 var(--am-space-3);
    display: grid;
    align-items: center;
    gap: var(--am-space-2);
    border-bottom: var(--am-border-width) solid var(--am-border-subtle);
    background: var(--am-surface-1);
    color: var(--am-text-secondary);
    text-align: left;
    cursor: pointer;
}

.overview-table > button:nth-of-type(even)[b-sho43ndqpe] {
    background: color-mix(in srgb, var(--am-surface-2) 35%, var(--am-surface-1));
}
.overview-table > .overview-table-row:nth-of-type(even)[b-sho43ndqpe] { background: color-mix(in srgb, var(--am-surface-2) 35%, var(--am-surface-1)); }

.overview-table > button:hover[b-sho43ndqpe] { border-color: var(--am-border-subtle); background: var(--am-surface-3); }
.overview-table > .overview-table-row:hover[b-sho43ndqpe],
.overview-table > .overview-table-row:focus-visible[b-sho43ndqpe] { outline: none; background: var(--am-surface-3); }

.overview-table > button > span[b-sho43ndqpe] {
    min-width: 0;
    overflow: hidden;
    font-size: var(--am-fs-body);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.overview-table > .overview-table-row > span[b-sho43ndqpe] { min-width: 0; overflow: hidden; font-size: var(--am-fs-body); text-overflow: ellipsis; white-space: nowrap; }
.overview-table > .overview-table-row > .am-num[b-sho43ndqpe] { text-align: right; font-family: var(--am-font-mono); font-variant-numeric: tabular-nums; }

/* Numbers right-align and use tabular figures, so values line up on the decimal
   and rows stop shimmering as the simulation updates them. */
.overview-table > button > .am-num[b-sho43ndqpe] {
    text-align: right;
    font-family: var(--am-font-mono);
    font-variant-numeric: tabular-nums;
}

.overview-table > button > .cell-name[b-sho43ndqpe] {
    display: grid;
    align-content: center;
    gap: 1px;
    text-align: left;
}

.overview-table > button > .cell-name b[b-sho43ndqpe] { color: var(--am-text-strong); font-size: var(--am-fs-body); }
.overview-table > button > .cell-name small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.overview-table > button .overview-throughput b[b-sho43ndqpe] { color: var(--throughput-color); font-size: var(--am-fs-body); }
.overview-table-row .overview-throughput b[b-sho43ndqpe] { color: var(--throughput-color); font-size: var(--am-fs-body); white-space: nowrap; }
.route-airport-link[b-sho43ndqpe] { max-width: 100%; padding: 0; overflow: hidden; border: 0; background: none; color: var(--am-text-strong); font: 700 var(--am-fs-body) var(--am-font-ui); text-align: left; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.route-airport-link:hover[b-sho43ndqpe] { color: var(--am-accent); font-weight: 900; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; text-shadow: 0 0 8px color-mix(in srgb, var(--am-accent) 55%, transparent); }
.route-airport-link:focus-visible[b-sho43ndqpe] { border-radius: 2px; outline: 2px solid var(--am-accent); outline-offset: 2px; }
.route-maintenance[b-sho43ndqpe] { color: var(--am-warning-text); }
.route-revenue[b-sho43ndqpe], .route-net.positive[b-sho43ndqpe] { color: var(--am-success-text); }
.route-net.negative[b-sho43ndqpe] { color: var(--am-danger-text); }

/* --------------------------------------------------------- resizable panel --
   The detail panel's width is a custom property so the drag handle can update
   it from JS at pointer rates without a Blazor round-trip. Everything that has
   to allow for the panel reads the same property. */

.detail-card[b-sho43ndqpe] {
    width: clamp(300px, var(--am-sidebar-w, 430px), 100vw);
}

.sidebar-resizer[b-sho43ndqpe] {
    position: absolute;
    z-index: calc(var(--am-z-sidebar) + 1);
    top: 0;
    bottom: 0;
    right: var(--am-sidebar-w, 430px);
    width: 2px;
    background: var(--am-border-subtle);
    cursor: ew-resize;
    /* Required, or the browser scrolls the page instead of starting the drag. */
    touch-action: none;
}

/* Renders as a hairline but keeps a comfortable hit area. */
.sidebar-resizer[b-sho43ndqpe]::before { content: ""; position: absolute; inset: 0 -5px; }
.sidebar-resizer:hover[b-sho43ndqpe],
.sidebar-resizer:focus-visible[b-sho43ndqpe],
.sidebar-resizer.am-resizing[b-sho43ndqpe] { background: var(--am-accent); }
.sidebar-resizer:focus-visible[b-sho43ndqpe] { outline: none; box-shadow: var(--am-focus-ring); }

@media (max-width: 820px) {
    .detail-card[b-sho43ndqpe] { width: min(370px, 100vw); }
    .sidebar-resizer[b-sho43ndqpe] { display: none; }
}

/* ------------------------------------------------------------------ modals --
   The backdrop centres its dialog again. It had been switched to display:block
   for the overview's sake, which silently left the settings and cheat dialogs
   rendering flush against the backdrop's top-left corner. The overview is
   unaffected: it positions itself absolutely, and an absolutely-positioned grid
   item is placed against its grid area and ignores place-items. */
.modal-backdrop[b-sho43ndqpe] {
    display: grid;
    place-items: center;
    padding: var(--am-space-4);
    overflow: hidden;
}

.settings-modal[b-sho43ndqpe],
.cheat-modal[b-sho43ndqpe] {
    max-height: calc(100% - var(--am-space-8));
    overflow: auto;
}

/* Focus lands on the dialog itself when it opens; the ring would otherwise
   outline the whole panel. Children keep their own focus styling. */
.overview-modal:focus[b-sho43ndqpe],
.settings-modal:focus[b-sho43ndqpe],
.cheat-modal:focus[b-sho43ndqpe] { outline: none; }

/* ------------------------------------------------------- operations workspace --
   Was: header row + tab row + tools row stacked above the content, and a modal
   inset that left a hardcoded 100px of dead space along the bottom. Now: one
   toolbar, a vertical rail, and the panel uses the space it has. */

.overview-modal[b-sho43ndqpe] {
    position: absolute;
    inset: var(--am-space-3);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: var(--am-border-width) solid var(--am-border-strong);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-3);
}

.overview-header[b-sho43ndqpe] {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 0 var(--am-space-2);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    border-bottom: var(--am-border-width) solid var(--am-border);
    background: var(--am-surface-2);
}

.overview-nav[b-sho43ndqpe] { display: flex; gap: 2px; flex: 0 0 auto; }
.overview-close[b-sho43ndqpe] { margin-left: auto; }

.overview-crumbs[b-sho43ndqpe] {
    display: flex;
    align-items: center;
    gap: var(--am-space-1);
    min-width: 0;
    color: var(--am-text-dim);
    font-size: var(--am-fs-body);
}

.overview-crumbs > span[aria-current][b-sho43ndqpe] { color: var(--am-text-strong); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.overview-crumbs .am-entity-link[b-sho43ndqpe] { color: var(--am-text-muted); }

.overview-body[b-sho43ndqpe] { flex: 1 1 auto; min-height: 0; display: flex; }

.overview-content[b-sho43ndqpe] { flex: 1 1 auto; min-width: 0; min-height: 0; padding-inline: 40px; display: flex; flex-direction: column; overflow: hidden; }
.overview-content > .overview-tools[b-sho43ndqpe] { flex: 0 0 auto; padding: var(--am-space-2) 0; gap: var(--am-space-2); }
.overview-content.table-overview-content[b-sho43ndqpe] { --overview-table-inset: 150px; padding-inline: 0; }
.table-overview-content > .overview-tools[b-sho43ndqpe] { padding-inline: var(--overview-table-inset); }
.table-overview-content > .overview-table > header[b-sho43ndqpe],
.table-overview-content > .overview-table > button[b-sho43ndqpe],
.table-overview-content > .overview-table > .overview-table-row[b-sho43ndqpe] { padding-inline: var(--overview-table-inset); }
.overview-content > .overview-table[b-sho43ndqpe],
.overview-content > .management-grid[b-sho43ndqpe],
.overview-content > .regions-grid[b-sho43ndqpe],
.overview-content > .finance-overview[b-sho43ndqpe] { flex: 1 1 auto; min-height: 0; overflow: auto; }
.overview-content > .entity-detail-page[b-sho43ndqpe] { flex: 1 1 auto; min-height: 0; overflow: auto; }

.overview-tools .am-search[b-sho43ndqpe] {
    flex: 1;
    max-width: 380px;
    min-height: 36px;
    border-color: var(--am-border-control);
    border-radius: var(--am-radius);
    background: var(--am-surface-2);
    transition: border-color var(--am-dur-fast) var(--am-ease), box-shadow var(--am-dur-fast) var(--am-ease), background-color var(--am-dur-fast) var(--am-ease);
}

.overview-tools .am-search:hover[b-sho43ndqpe] { border-color: var(--am-border-strong); background: var(--am-surface-3); }
.overview-tools .am-search:focus-within[b-sho43ndqpe] { border-color: var(--am-accent); box-shadow: 0 0 0 2px var(--am-accent-bg); background: var(--am-surface-1); }
.overview-tools .am-search > input[b-sho43ndqpe] { min-height: 0; height: auto; padding: 0; border: 0; background: transparent; }
.overview-tools .am-search > .ms[b-sho43ndqpe] { color: var(--am-accent); }

.network-filter[b-sho43ndqpe] {
    min-height: 36px;
    padding: 0 var(--am-space-3) 0 var(--am-space-2);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    border: var(--am-border-width) solid var(--am-border-control);
    border-radius: var(--am-radius);
    background: var(--am-surface-2);
    color: var(--am-text-muted);
    font: 800 var(--am-fs-label) var(--am-font-mono);
    cursor: pointer;
    transition: border-color var(--am-dur-fast) var(--am-ease), background-color var(--am-dur-fast) var(--am-ease), color var(--am-dur-fast) var(--am-ease);
}

.network-filter:hover[b-sho43ndqpe] { border-color: var(--am-border-strong); background: var(--am-surface-3); color: var(--am-text-strong); }
.network-filter:has(input:checked)[b-sho43ndqpe] { border-color: var(--am-accent-dim); background: var(--am-accent-bg); color: var(--am-accent-text); }
.network-filter input[b-sho43ndqpe] {
    position: absolute;
    width: 1px;
    height: 1px;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    background: none;
    opacity: 0;
    pointer-events: none;
}
.network-filter-box[b-sho43ndqpe] { width: 18px; height: 18px; flex: 0 0 18px; display: grid; place-items: center; border: var(--am-border-width) solid var(--am-border-control); border-radius: 5px; background: var(--am-surface-1); color: transparent; transition: border-color var(--am-dur-fast) var(--am-ease), background-color var(--am-dur-fast) var(--am-ease), color var(--am-dur-fast) var(--am-ease); }
.network-filter-box .ms[b-sho43ndqpe] { font-size: 14px; font-weight: 900; }
.network-filter input:checked + .network-filter-box[b-sho43ndqpe] { border-color: var(--am-accent); background: var(--am-accent); color: #062019; }
.network-filter:has(input:focus-visible)[b-sho43ndqpe] { outline: 2px solid var(--am-accent); outline-offset: 2px; }

.demand-window-toggle[b-sho43ndqpe] { display: flex; align-items: center; gap: 2px; }
.demand-window-toggle button[b-sho43ndqpe] {
    min-height: 24px;
    padding: 0 7px;
    border: var(--am-border-width) solid var(--am-border-control);
    border-radius: var(--am-radius-sm);
    background: var(--am-surface-2);
    color: var(--am-text-dim);
    font: 800 var(--am-fs-micro) var(--am-font-mono);
    cursor: pointer;
    transition: border-color var(--am-dur-fast) var(--am-ease), background-color var(--am-dur-fast) var(--am-ease), color var(--am-dur-fast) var(--am-ease);
}
.demand-window-toggle button:hover[b-sho43ndqpe] { border-color: var(--am-border-strong); color: var(--am-text-strong); }
.demand-window-toggle button.active[b-sho43ndqpe] { border-color: var(--am-accent); background: var(--am-accent-bg-strong); color: var(--am-accent-text); }
.demand-window-toggle button:focus-visible[b-sho43ndqpe] { outline: 2px solid var(--am-accent); outline-offset: 1px; }
.overview-demand-window[b-sho43ndqpe] { margin-left: auto; }
.overview-demand-window button[b-sho43ndqpe] { min-height: 36px; padding-inline: var(--am-space-2); }
.overview-demand-window + .overview-update-controls[b-sho43ndqpe] { margin-left: 0; }

.overview-update-controls[b-sho43ndqpe] { margin-left: auto; display: flex; align-items: center; gap: var(--am-space-1); }
.overview-auto-update[b-sho43ndqpe] { position: relative; min-height: 36px; padding: 0 var(--am-space-2); display: flex; align-items: center; gap: var(--am-space-2); border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius); background: var(--am-surface-2); color: var(--am-text-muted); font: 800 var(--am-fs-label) var(--am-font-mono); cursor: pointer; }
.overview-auto-update:hover[b-sho43ndqpe] { border-color: var(--am-border-strong); color: var(--am-text-strong); }
.overview-auto-update input[b-sho43ndqpe] { position: absolute; width: 1px; height: 1px; min-height: 0; margin: 0; padding: 0; overflow: hidden; border: 0; background: none; opacity: 0; pointer-events: none; }
.overview-toggle-track[b-sho43ndqpe] { position: relative; width: 34px; height: 18px; flex: 0 0 34px; border: var(--am-border-width) solid var(--am-border-control); border-radius: 999px; background: var(--am-surface-1); transition: border-color var(--am-dur-fast) var(--am-ease), background-color var(--am-dur-fast) var(--am-ease); }
.overview-toggle-track[b-sho43ndqpe]::after { content: ""; position: absolute; top: 3px; left: 3px; width: 10px; height: 10px; border-radius: 50%; background: var(--am-text-dim); transition: transform var(--am-dur-fast) var(--am-ease), background-color var(--am-dur-fast) var(--am-ease); }
.overview-auto-update input:checked + .overview-toggle-track[b-sho43ndqpe] { border-color: var(--am-accent); background: var(--am-accent-bg); }
.overview-auto-update input:checked + .overview-toggle-track[b-sho43ndqpe]::after { background: var(--am-accent); transform: translateX(16px); }
.overview-auto-update:has(input:focus-visible)[b-sho43ndqpe] { outline: 2px solid var(--am-accent); outline-offset: 2px; }
.overview-refresh[b-sho43ndqpe] { width: 36px; height: 36px; border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius); background: var(--am-surface-2); color: var(--am-text-muted); }
.overview-refresh:hover[b-sho43ndqpe] { border-color: var(--am-accent-dim); background: var(--am-accent-bg); color: var(--am-accent); }

.airports-table .airport-code[b-sho43ndqpe] { color: var(--am-accent-text); font: 800 var(--am-fs-body) var(--am-font-mono); letter-spacing: .04em; text-align: left; }
.airports-table .airport-name[b-sho43ndqpe] { color: var(--am-text-strong); font-weight: 700; text-align: left; }

/* ------------------------------------------------------- entity navigation --
   Every place an entity is named is now a way to get to it. */


/* Route title reads as two linked airports rather than one inert string. */
.route-endpoints[b-sho43ndqpe] { display: flex; align-items: center; gap: var(--am-space-1); flex-wrap: wrap; }
.route-endpoints .ms[b-sho43ndqpe] { color: var(--am-text-dim); }
.sidebar-title-row h2 .am-entity-link[b-sho43ndqpe] { font: inherit; color: var(--am-text-strong); }
.sidebar-title-row h2 .am-entity-link:hover[b-sho43ndqpe] { color: var(--am-accent-text); }

/* Route sidebar redesign — actions area in title row */
.sidebar-title-actions[b-sho43ndqpe] { display: flex; align-items: center; gap: 5px; flex: 0 0 auto; }
.sidebar-title-actions .sidebar-overview-action[b-sho43ndqpe] { margin: 0; }
.hub-status-action[b-sho43ndqpe] { min-height: 30px; padding: 0 8px; display: inline-flex; align-items: center; gap: 4px; border: var(--am-border-width) solid var(--am-border-control); background: transparent; color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); cursor: pointer; }
.hub-status-action:hover[b-sho43ndqpe] { border-color: var(--am-accent-dim); color: var(--am-accent-text); }
.hub-status-action.active[b-sho43ndqpe] { border-color: var(--am-accent); background: var(--am-accent-bg); color: var(--am-accent-text); }

/* Three checkboxes side by side */
.route-options-row[b-sho43ndqpe] {
    margin-top: 12px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
}

.route-opt-compact[b-sho43ndqpe] {
    padding: 8px 8px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #293d36;
    background: #07100e;
    color: #b7c7c2;
    font: 10px Consolas, monospace;
    cursor: pointer;
    user-select: none;
}

.route-opt-compact:has(input:disabled)[b-sho43ndqpe] { opacity: .45; cursor: default; }

/* Assigned fleet as a self-contained card, matching the gates panel treatment */
.fleet-card[b-sho43ndqpe] {
    margin-top: 12px;
    border: 1px solid color-mix(in srgb, var(--am-accent) 28%, transparent);
    background: rgba(4, 18, 15, .72);
}

.fleet-card-header[b-sho43ndqpe] {
    min-height: 34px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 10px;
    background: rgba(85, 223, 186, .045);
}

.fleet-card-header > span[b-sho43ndqpe] {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #8eb3a9;
    font: 800 10px Consolas, monospace;
    letter-spacing: .1em;
}

.fleet-card-header .ms[b-sho43ndqpe] { color: var(--am-accent); }
.fleet-card-header strong[b-sho43ndqpe] { color: var(--am-accent); font: 800 11px Consolas, monospace; font-variant-numeric: tabular-nums; }

.fleet-card-add[b-sho43ndqpe] {
    width: 22px;
    height: 22px;
    margin-left: auto;
    display: grid;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(85, 223, 186, .3);
    background: rgba(85, 223, 186, .06);
    color: #8ee8cf;
    cursor: pointer;
    flex-shrink: 0;
}

.fleet-card-add:hover[b-sho43ndqpe] { border-color: var(--am-accent); background: rgba(85, 223, 186, .14); }
.fleet-card-add.open[b-sho43ndqpe] { border-color: var(--am-accent); background: rgba(85, 223, 186, .16); color: #d8f5ec; }
.fleet-card > summary[b-sho43ndqpe] { list-style: none; cursor: pointer; }
.fleet-card > summary[b-sho43ndqpe]::-webkit-details-marker { display: none; }
.fleet-card > summary[b-sho43ndqpe]::before { content: "+"; color: var(--am-accent); font-weight: 800; }
.fleet-card[open] > summary[b-sho43ndqpe]::before { content: "−"; }

.fleet-card-empty[b-sho43ndqpe] { margin: 0; padding: 12px 10px; color: #6d8d85; font: 10px Consolas, monospace; }

.fleet-table[b-sho43ndqpe] {
    width: 100%;
    border-collapse: collapse;
}

.fleet-table td[b-sho43ndqpe] {
    padding: 6px 5px;
    border-top: 1px solid rgba(109, 150, 139, .1);
    color: var(--am-text-secondary);
    font: 10px Consolas, monospace;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 0;
}

.fleet-table tr:first-child td[b-sho43ndqpe] { border-top: 0; }

.fleet-table td:first-child[b-sho43ndqpe] { max-width: none; width: 1%; padding-left: 8px; padding-right: 0; }
.fleet-table td:last-child[b-sho43ndqpe] { max-width: none; width: 1%; padding-left: 0; padding-right: 8px; }
.fleet-table .fleet-duplicate-cell[b-sho43ndqpe] { width: 29px; padding-left: 6px; padding-right: 1px; }
.fleet-table .fleet-hangar-cell[b-sho43ndqpe] { width: 29px; padding-inline: 1px; }
.fleet-table .fleet-name-cell[b-sho43ndqpe] { padding-left: 3px; }
.fleet-table .fleet-sell-cell[b-sho43ndqpe] { width: 29px; padding-left: 1px; padding-right: 6px; }

.fleet-table tr:hover td[b-sho43ndqpe] { background: rgba(85, 223, 186, .06); }

/* Buy panel lives inside the card so it reads as part of the same object */
.fleet-card-assign[b-sho43ndqpe] {
    display: grid;
    gap: 5px;
    padding: 9px 10px 10px;
    border-top: 1px solid rgba(109, 150, 139, .18);
    background: rgba(0, 0, 0, .25);
}

.fleet-card-assign > .am-label[b-sho43ndqpe] { color: #78978e; }

.fleet-card-assign button[b-sho43ndqpe] {
    padding: 8px 9px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3px 10px;
    border: 1px solid #2b4039;
    background: #08120f;
    color: #d1e1dc;
    text-align: left;
    cursor: pointer;
}

.fleet-card-assign button:hover:not(:disabled)[b-sho43ndqpe] { border-color: var(--am-border-accent); background: #0c1a15; }
.fleet-card-assign button span[b-sho43ndqpe] { color: #80978f; font: 9px Consolas, monospace; }
.fleet-card-assign button b[b-sho43ndqpe] { font: 800 10px Consolas, monospace; }
.fleet-card-assign button em[b-sho43ndqpe] { grid-column: 2; grid-row: 1/3; align-self: center; color: #72dab9; font: normal 10px Consolas, monospace; }
.fleet-card-assign button:disabled[b-sho43ndqpe] { opacity: .35; cursor: not-allowed; }
.fleet-card-assign button.from-hangar[b-sho43ndqpe] { border-color: #3a5f52; }
.fleet-card-assign button.from-hangar em[b-sho43ndqpe] { color: #9fd0ff; }

.fleet-card-assign .hangar-badge[b-sho43ndqpe] {
    margin-left: 6px;
    padding: 1px 4px;
    border: 1px solid #35566d;
    border-radius: 2px;
    color: #9fd0ff;
    font: 800 8px Consolas, monospace;
    font-style: normal;
    letter-spacing: .04em;
}

.am-fleet-name[b-sho43ndqpe] {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--am-text-strong);
    font: 800 10px Consolas, monospace;
    cursor: pointer;
    text-align: left;
    white-space: nowrap;
}

.am-fleet-name:hover[b-sho43ndqpe] { color: var(--am-accent-text); }

.fleet-table .fleet-status[b-sho43ndqpe] { font: 9px Consolas, monospace; }
.fleet-table .fleet-pax[b-sho43ndqpe] { color: var(--am-text-dim); font: 9px Consolas, monospace; }

/* ---------------------------------------------------------- confirm dialog -- */

.confirm-backdrop[b-sho43ndqpe] { z-index: calc(var(--am-z-modal) + 1); }

.confirm-modal[b-sho43ndqpe] {
    width: min(440px, calc(100vw - 32px));
    padding: var(--am-space-4);
    display: grid;
    gap: var(--am-space-2);
    border: var(--am-border-width) solid var(--am-danger-border);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-3);
}

.confirm-modal:focus[b-sho43ndqpe] { outline: none; }
.confirm-modal h2[b-sho43ndqpe] { margin: 0; color: var(--am-text-strong); font-size: var(--am-fs-h2); }
.confirm-modal p[b-sho43ndqpe] { margin: 0; color: var(--am-text-muted); font-size: var(--am-fs-body); line-height: 1.45; }
.confirm-actions[b-sho43ndqpe] { margin-top: var(--am-space-2); display: flex; justify-content: flex-end; gap: var(--am-space-2); }
.confirm-actions .am-btn[b-sho43ndqpe] { min-height: 36px; padding: 0 var(--am-space-4); }
.route-activation-modal[b-sho43ndqpe] { width: min(560px, calc(100vw - 32px)); }
.route-activation-modal > small[b-sho43ndqpe] { color: var(--am-accent); font: 900 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .12em; }
.route-activation-fleet[b-sho43ndqpe] { max-height: 180px; display: grid; gap: 4px; overflow-y: auto; }
.route-activation-fleet > span[b-sho43ndqpe] { padding: 7px 9px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: var(--am-border-width) solid var(--am-border-subtle); background: var(--am-surface-1); }
.route-activation-fleet b[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-secondary); text-overflow: ellipsis; white-space: nowrap; }
.route-activation-fleet small[b-sho43ndqpe] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); white-space: nowrap; }
.route-activation-actions[b-sho43ndqpe] { flex-wrap: wrap; }
.route-activation-actions .primary-action[b-sho43ndqpe] { min-height: 36px; }

/* --------------------------------------------------------------- fleet rows --
   The route overview previously reported only a fleet count, so managing an
   aircraft meant finding it on the map first. Each row now carries the actions
   directly, and the same action cluster is reused in the sidebar and fleet tab. */

.sidebar-toolbar[b-sho43ndqpe] { position: absolute; top: var(--am-space-2); right: var(--am-space-2); display: flex; gap: 2px; }

.fleet-panel[b-sho43ndqpe] {
    margin: var(--am-space-3) var(--am-space-4);
    border: var(--am-border-width) solid var(--am-border);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
}

.fleet-panel > header[b-sho43ndqpe] {
    padding: var(--am-space-2) var(--am-space-3);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    border-bottom: var(--am-border-width) solid var(--am-border-subtle);
    color: var(--am-accent);
}

.fleet-panel > header .am-chip[b-sho43ndqpe] { margin-left: auto; }

.fleet-row[b-sho43ndqpe] {
    padding: var(--am-space-2) var(--am-space-3);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 130px minmax(180px, 220px) auto;
    align-items: center;
    gap: var(--am-space-3);
    border-bottom: var(--am-border-width) solid var(--am-border-subtle);
}

.fleet-identity[b-sho43ndqpe] { display: grid; gap: 1px; min-width: 0; }
.fleet-identity b[b-sho43ndqpe] { color: var(--am-text-strong); font-size: var(--am-fs-body); }
.fleet-identity small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }

.fleet-load[b-sho43ndqpe] { display: grid; gap: 3px; }
.fleet-load b[b-sho43ndqpe] { color: var(--am-text-secondary); font-size: var(--am-fs-body); }
.fleet-load i[b-sho43ndqpe] { display: block; height: 3px; border-radius: var(--am-radius-pill); background: var(--am-surface-3); }
.fleet-load em[b-sho43ndqpe] { display: block; height: 100%; border-radius: inherit; background: var(--am-accent); }
.fleet-load.warning em[b-sho43ndqpe] { background: var(--am-warning); }
.fleet-load.critical em[b-sho43ndqpe] { background: var(--am-danger); }

.fleet-status[b-sho43ndqpe] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); line-height: 1.35; text-transform: uppercase; letter-spacing: .06em; }
.fleet-status.dwell[b-sho43ndqpe] { color: var(--am-warning); }
.fleet-status.queued[b-sho43ndqpe] { color: var(--am-accent); }

.fleet-actions[b-sho43ndqpe] { display: flex; gap: 2px; flex: 0 0 auto; }
.fleet-actions .am-icon-btn.danger:hover:not(:disabled)[b-sho43ndqpe] { border-color: var(--am-danger-border); color: var(--am-danger); }
.fleet-table .am-icon-btn.danger:hover:not(:disabled)[b-sho43ndqpe] { border-color: var(--am-danger-border); color: var(--am-danger); }
.am-icon-btn.sell-action[b-sho43ndqpe] { border-color: var(--am-danger-border); background: var(--am-danger-bg); color: var(--am-danger); }
.am-icon-btn.sell-action:hover:not(:disabled)[b-sho43ndqpe] { border-color: var(--am-danger); background: color-mix(in srgb, var(--am-danger-bg) 72%, var(--am-danger) 28%); color: var(--am-danger-text); }
.am-icon-btn.duplicate-action[b-sho43ndqpe] { border-color: #416f98; background: rgba(63,120,168,.12); color: #9fd0ff; }
.am-icon-btn.duplicate-action:hover:not(:disabled)[b-sho43ndqpe] { border-color: #6ba9dc; background: rgba(63,120,168,.22); color: #d8edff; }

/* Same blue the assign panel uses for "this comes from stock, not your wallet". */
.fleet-table .am-icon-btn.from-hangar[b-sho43ndqpe] { border-color: #35566d; color: #9fd0ff; }
.fleet-table .am-icon-btn.from-hangar:hover:not(:disabled)[b-sho43ndqpe] { background: rgba(63,120,168,.16); }

/* An action that could not run immediately is queued against landing rather
   than refused, so the control stays live and reports the pending state. */
.am-icon-btn.queued[b-sho43ndqpe] { border-color: var(--am-warning); background: var(--am-warning-bg); color: var(--am-warning-strong); }
.am-icon-btn.danger.queued[b-sho43ndqpe] { border-color: var(--am-danger-border); background: var(--am-danger-bg); color: var(--am-danger); }
.secondary-action.queued[b-sho43ndqpe], .danger-action.queued[b-sho43ndqpe] { border-color: var(--am-warning); background: var(--am-warning-bg); color: var(--am-warning-strong); }

.fleet-add[b-sho43ndqpe] { padding: var(--am-space-2) var(--am-space-3); display: grid; gap: var(--am-space-2); }
.fleet-add > div[b-sho43ndqpe] { display: flex; flex-wrap: wrap; gap: var(--am-space-1); }
.fleet-add .am-btn[b-sho43ndqpe] { gap: var(--am-space-2); }
.fleet-add em[b-sho43ndqpe] { color: var(--am-text-dim); font-style: normal; }

.overview-content > .fleet-inventory[b-sho43ndqpe] { flex: 1 1 auto; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; }
.fleet-inventory[b-sho43ndqpe] {
    --overview-table-inset: clamp(24px, 7.8vw, 150px);
    --fleet-table-cols: 38px 70px minmax(110px, 1.7fr) minmax(0, .52fr) minmax(0, .68fr) minmax(0, .74fr) minmax(0, .95fr) minmax(0, .82fr) minmax(0, .86fr) 38px minmax(0, .58fr) minmax(0, .54fr) minmax(0, .58fr) 38px;
    width: 100%;
    min-width: 0;
    padding: var(--am-space-3) 0 40px;
}
.fleet-inventory-header[b-sho43ndqpe] { padding: 0 var(--overview-table-inset) var(--am-space-3); display: flex; align-items: flex-end; justify-content: space-between; gap: var(--am-space-4); border-bottom: var(--am-border-width) solid var(--am-border); }
.fleet-inventory-header small[b-sho43ndqpe] { color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .08em; }
.fleet-inventory-header h2[b-sho43ndqpe] { margin: 3px 0 0; color: var(--am-text-strong); font-size: var(--am-fs-h2); }
.fleet-inventory-header > div:last-child[b-sho43ndqpe] { display: flex; gap: var(--am-space-4); }
.fleet-inventory-header > div:last-child span[b-sho43ndqpe] { display: grid; text-align: right; }
.fleet-inventory-header > div:last-child b[b-sho43ndqpe] { color: var(--am-accent); font: 900 var(--am-fs-h2) var(--am-font-mono); }
.fleet-unit-table[b-sho43ndqpe] { width:100%; min-width:0; }
.fleet-unit-table > header[b-sho43ndqpe],
.fleet-unit-row[b-sho43ndqpe] { padding-inline:var(--overview-table-inset); display:grid; grid-template-columns:minmax(210px,1.35fr) minmax(120px,.8fr) minmax(200px,1.2fr) 72px 92px 90px 122px; align-items:center; gap:var(--am-space-2); }
.fleet-unit-table > header[b-sho43ndqpe] { position:sticky; z-index:1; top:0; min-height:34px; border-bottom:var(--am-border-width) solid var(--am-border); background:var(--am-surface-2); color:var(--am-text-dim); font:800 var(--am-fs-micro) var(--am-font-mono); letter-spacing:.05em; }
.fleet-unit-row[b-sho43ndqpe] { min-height:68px; border-bottom:var(--am-border-width) solid var(--am-border-subtle); background:var(--am-surface-1); transition:background-color var(--am-transition-control); }
.fleet-unit-row:nth-child(odd)[b-sho43ndqpe] { background:color-mix(in srgb,var(--am-surface-2) 35%,var(--am-surface-1)); }
.fleet-unit-row:hover[b-sho43ndqpe] { background:var(--am-surface-3); }
.fleet-unit-row > .am-num[b-sho43ndqpe] { color:var(--am-text-secondary); font:var(--am-fs-body) var(--am-font-mono); text-align:right; }
.fleet-unit-identity[b-sho43ndqpe] { min-width:0; display:flex; align-items:center; gap:var(--am-space-2); }
.fleet-unit-identity > aircraft-silhouette[b-sho43ndqpe],
.fleet-unit-identity > :first-child[b-sho43ndqpe] { flex:0 0 58px; }
.fleet-unit-identity > span[b-sho43ndqpe] { min-width:0; display:grid; gap:2px; }
.fleet-unit-identity b[b-sho43ndqpe] { overflow:hidden; color:var(--am-text-strong); font-size:var(--am-fs-body); text-overflow:ellipsis; white-space:nowrap; }
.fleet-unit-identity small[b-sho43ndqpe] { color:var(--am-text-dim); font:var(--am-fs-micro) var(--am-font-mono); }
.fleet-route-link[b-sho43ndqpe] { min-width:0; padding:7px; display:grid; gap:2px; border:0; border-radius:var(--am-radius-sm); background:transparent; color:var(--am-accent-text); text-align:left; cursor:pointer; }
.fleet-route-link:hover[b-sho43ndqpe] { background:var(--am-control-hover); }
.fleet-route-link small[b-sho43ndqpe] { color:var(--am-text-dim); font:var(--am-fs-micro) var(--am-font-mono); }
.fleet-unit-state[b-sho43ndqpe] { min-width:0; overflow:hidden; color:var(--am-text-secondary); font:700 var(--am-fs-label)/1.35 var(--am-font-mono); text-overflow:ellipsis; }
.fleet-unit-state.queued[b-sho43ndqpe] { color:var(--am-warning-text); }
.fleet-unit-state.dwell[b-sho43ndqpe] { color:var(--am-accent-text); }
.fleet-unit-actions[b-sho43ndqpe] { display:flex; justify-content:flex-end; gap:4px; }
.fleet-empty[b-sho43ndqpe] { min-height:240px; display:grid; place-content:center; justify-items:center; gap:var(--am-space-2); color:var(--am-text-secondary); text-align:center; }
.fleet-empty b[b-sho43ndqpe] { color:var(--am-text-strong); font-size:var(--am-fs-h2); }
.fleet-types-table[b-sho43ndqpe] { width: 100%; min-width: 0; }
.fleet-types-table > header[b-sho43ndqpe],
.fleet-type-table-row[b-sho43ndqpe] { box-sizing: border-box; width: 100%; min-width: 0; padding-inline: var(--overview-table-inset); display: grid; grid-template-columns: var(--fleet-table-cols); align-items: center; gap: var(--am-space-2); }
.fleet-types-table > header[b-sho43ndqpe] { position: sticky; z-index: 1; top: 0; height: 34px; border-bottom: var(--am-border-width) solid var(--am-border); background: var(--am-surface-2); }
.fleet-types-table > header > [role="columnheader"][b-sho43ndqpe] { min-width: 0; height: 100%; display: flex; align-items: center; }
.fleet-types-table > header > [role="columnheader"].am-num[b-sho43ndqpe] { justify-content: flex-end; }
.fleet-types-table .am-sort-btn[b-sho43ndqpe] { width: 100%; min-width: 0; height: 100%; padding: 0; display: flex; align-items: center; gap: 3px; overflow: hidden; border: 0; background: none; color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; cursor: pointer; }
.fleet-types-table .am-sort-btn > span[b-sho43ndqpe] { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.fleet-types-table > header .am-num .am-sort-btn[b-sho43ndqpe] { flex-direction: row-reverse; justify-content: flex-start; }
.fleet-types-table .am-sort-btn:hover[b-sho43ndqpe] { color: var(--am-text-strong); }
.fleet-types-table .am-sort-icon[b-sho43ndqpe] { opacity: 0; font-size: 13px; }
.fleet-types-table .am-sort-btn:hover .am-sort-icon[b-sho43ndqpe],
.fleet-types-table .am-sort-btn:focus-visible .am-sort-icon[b-sho43ndqpe] { opacity: .45; }
.fleet-types-table [aria-sort] .am-sort-icon[b-sho43ndqpe] { opacity: 1; color: var(--am-accent); }
.fleet-types-table [aria-sort] .am-sort-btn[b-sho43ndqpe] { color: var(--am-text-strong); }
.fleet-action-heading[b-sho43ndqpe],
.fleet-icon-heading[b-sho43ndqpe] { justify-content: center; color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.fleet-type-table-row[b-sho43ndqpe] { min-height: 72px; border-bottom: var(--am-border-width) solid var(--am-border-subtle); background: var(--am-surface-1); transition: background-color var(--am-dur-fast) var(--am-ease); }
.fleet-type-table-row:nth-of-type(even)[b-sho43ndqpe] { background: color-mix(in srgb, var(--am-surface-2) 35%, var(--am-surface-1)); }
.fleet-type-table-row:hover[b-sho43ndqpe] { background: var(--am-surface-3); }
.fleet-type-table-row.assigning[b-sho43ndqpe] { background: var(--am-accent-bg); }
.fleet-type-table-row > .am-num[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-secondary); font: var(--am-fs-body) var(--am-font-mono); text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.fleet-hangar-count[b-sho43ndqpe] { color: var(--am-accent-text) !important; font-weight: 900 !important; }
.fleet-aircraft-icon[b-sho43ndqpe] { display: flex; align-items: center; justify-content: center; color: var(--am-accent); }
.fleet-aircraft-name[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-strong); font-size: var(--am-fs-body); text-overflow: ellipsis; white-space: nowrap; }
.fleet-active-count[b-sho43ndqpe] { color: var(--am-success-text) !important; font-weight: 900 !important; }
.fleet-action-cell[b-sho43ndqpe] { min-width: 0; display: flex; justify-content: center; }
.fleet-action-cell .am-icon-btn[b-sho43ndqpe] { width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 0; justify-content: center; }
.fleet-action-cell .am-icon-btn.danger[b-sho43ndqpe] { border-color: var(--am-danger-border); color: var(--am-danger-text); }
.fleet-action-cell .am-icon-btn.danger:hover:not(:disabled)[b-sho43ndqpe] { background: var(--am-danger-bg); }
.fleet-route-assignment[b-sho43ndqpe] { position: relative; z-index: 3; box-sizing: border-box; width: 100%; min-width: 0; padding: var(--am-space-3) var(--overview-table-inset); display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) 36px; align-items: end; gap: var(--am-space-3); overflow: visible; border-bottom: var(--am-border-width) solid var(--am-accent-dim); background: var(--am-accent-bg); }
.fleet-route-assignment label[b-sho43ndqpe] { min-width: 0; display: grid; gap: var(--am-space-1); }
.fleet-route-assignment label > span[b-sho43ndqpe] { color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .05em; text-transform: uppercase; }
.fleet-route-assignment input[b-sho43ndqpe] { width: 100%; min-height: 36px; padding: 0 var(--am-space-2); border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-surface-2); color: var(--am-text-strong); font: var(--am-fs-label) var(--am-font-mono); }
.fleet-route-assignment input:focus[b-sho43ndqpe] { border-color: var(--am-accent); outline: 2px solid var(--am-accent-bg); }
.fleet-route-assignment input:disabled[b-sho43ndqpe] { opacity: .4; }
.fleet-assignment-arrow[b-sho43ndqpe] { align-self: center; margin-bottom: 8px; color: var(--am-accent); }
.fleet-route-assignment > .am-icon-btn[b-sho43ndqpe] { width: 36px; min-width: 36px; height: 36px; padding: 0; }
.fleet-route-assignment > .am-icon-btn.primary[b-sho43ndqpe] { border-color: var(--am-accent); background: var(--am-accent-bg-strong); color: var(--am-accent-text); }

@media (max-width: 900px) {
    .fleet-row[b-sho43ndqpe] { grid-template-columns: minmax(0, 1fr) auto; }
    .fleet-load[b-sho43ndqpe], .fleet-status[b-sho43ndqpe] { grid-column: 1 / -1; }
}

/* The operations overview is a full workspace, not a floating dialog. The
   game surface already begins below the top bar, so inset: 0 fills precisely
   the available screen without covering global navigation. */
.overview-workspace-shell[b-sho43ndqpe] {
    position: absolute;
    z-index: var(--am-z-modal);
    inset: 0;
    display: block;
    padding: 0;
    background: var(--am-surface-1);
    backdrop-filter: none;
}

.overview-workspace-shell > .overview-modal[b-sho43ndqpe] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* ------------------------------------------------ airport sidebar refinements --
   These sit last on purpose. The compact layer above declares a shared
   `.sidebar-demand { grid-template-columns: 84px 1fr }`, which used to win over
   the wider next-airport grid through cascade order alone - the 120px pie then
   overflowed its 84px track and rendered underneath the destination names. */

/* Pie left, legend right. The shared compact-layer rule further up declares
   `.sidebar-demand { grid-template-columns: 84px 1fr }` and wins on cascade
   order, which is what used to leave the 120px pie overflowing under the
   names - hence the explicit track here. */
.sidebar-demand-next[b-sho43ndqpe] {
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.sidebar-demand-next .sidebar-pie[b-sho43ndqpe] {
    width: 180px;
    height: 180px;
    border-width: 0;
}

.sidebar-demand-next ol[b-sho43ndqpe] {
    align-content: start;
    gap: 2px;
}

.sidebar-demand-next li[b-sho43ndqpe] {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    min-height: 19px;
    font-size: 11px;
}

/* Numbers stay side by side and sized to content so the airport name keeps
   every pixel that is left; long names ellipsis and carry a title tooltip. */
.sidebar-demand-next .pie-values[b-sho43ndqpe] {
    grid-template-columns: auto auto;
    gap: 7px;
    font-size: 11px;
    line-height: 1.2;
}

.sidebar-demand-next .pie-values span:first-child[b-sho43ndqpe] { min-width: 38px; color: #d7e6e1; font-weight: 800; }
.sidebar-demand-next .pie-values span:last-child[b-sho43ndqpe] { min-width: 36px; color: #7e948d; }
.sidebar-demand-next .flow-airport-link[b-sho43ndqpe] { font-size: 11px; }

/* Header shortcut into the airport overview's passenger flow graph. */
.demand-analysis-link[b-sho43ndqpe] {
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--am-accent);
    font: 800 9px Consolas, monospace;
    letter-spacing: .04em;
    cursor: pointer;
    text-decoration: underline;
    text-decoration-style: dotted;
    text-decoration-color: #3d5a52;
    text-underline-offset: 3px;
    white-space: nowrap;
}

.demand-analysis-link:hover[b-sho43ndqpe] { color: var(--am-accent-strong); text-decoration-color: var(--am-accent); }

/* ---- merged airport level control ---- */

.detail-stats-city[b-sho43ndqpe] { grid-template-columns: minmax(0, 1fr) 132px max-content; }
.detail-stats.detail-stats-city > span[b-sho43ndqpe] {
    min-height: 38px;
    padding-block: 4px;
}

.detail-stats .city-passenger-cell[b-sho43ndqpe] {
    --city-load-color: var(--am-positive);
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: var(--am-surface-2);
}

.detail-stats .city-passenger-cell.warning[b-sho43ndqpe] { --city-load-color: var(--am-warning); }
.detail-stats .city-passenger-cell.critical[b-sho43ndqpe] { --city-load-color: var(--am-danger); }
.city-passenger-cell > .city-capacity-fill[b-sho43ndqpe] {
    position: absolute;
    z-index: 0;
    inset: 0 auto 0 0;
    display: block;
    padding: 0;
    border: 0;
    border-right: 2px solid var(--city-load-color);
    border-radius: 0;
    background: color-mix(in srgb, var(--city-load-color) 42%, var(--am-surface-2));
    box-shadow: 3px 0 10px color-mix(in srgb, var(--city-load-color) 24%, transparent);
    transition: width .25s ease;
}

.city-passenger-cell > b[b-sho43ndqpe] { position: relative; z-index: 1; }
.city-passenger-cell > b[b-sho43ndqpe] { font-variant-numeric: tabular-nums; }
.city-passenger-cell > .city-capacity-label[b-sho43ndqpe] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    width: fit-content;
    padding: 2px 5px;
    border: 0;
    border-radius: var(--am-radius-sm);
    background: color-mix(in srgb, var(--am-surface-0) 78%, transparent);
    box-shadow: 0 0 13px 6px rgba(0, 0, 0, .58);
    backdrop-filter: blur(3px);
}

/* Icon is itself a span, so undo the generic detail-card treatment inherited
   from `.detail-stats span` and keep it inline with the passenger count. */
.detail-stats .city-passenger-icon[b-sho43ndqpe] {
    display: inline-flex;
    width: auto;
    min-width: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--am-text-strong);
    font-size: 18px;
}
.detail-stats .city-passenger-icon[b-sho43ndqpe]  .ms { font-size: inherit; }
.detail-stats .city-capacity-value[b-sho43ndqpe] {
    display: inline;
    width: auto;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.detail-stats .city-hub-cell[b-sho43ndqpe] {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    overflow: visible;
    position: relative;
    z-index: 2;
}

.detail-stats .city-hub-cell .ms[b-sho43ndqpe] {
    min-width: 0;
    padding: 0;
    display: inline-flex;
    border: 0;
    background: transparent;
}

.detail-stats .city-hub-cell.active[b-sho43ndqpe] {
    border-color: var(--am-accent);
    background: var(--am-accent-bg);
}

.city-hub-cell .hub-status-action[b-sho43ndqpe] {
    min-height: 100%;
    align-self: stretch;
    flex: 1 1 auto;
    flex-direction: row;
    justify-content: center;
    gap: 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.city-hub-cell .hub-status-action:hover[b-sho43ndqpe] { background: var(--am-control-hover); }
.city-hub-cell.active .hub-status-action[b-sho43ndqpe] { color: var(--am-accent-text); }
.city-hub-cell .am-icon-btn[b-sho43ndqpe] { margin-right: var(--am-space-1); flex: 0 0 auto; }

.detail-stats .city-level-cell[b-sho43ndqpe] {
    padding: 0;
    align-content: center;
    overflow: visible;
    position: relative;
    z-index: 3;
}

/* The level and its actions form one compact segmented control. Rich operating
   previews render outside the joined control on hover and keyboard focus. */
.city-level-controls[b-sho43ndqpe] {
    position: relative;
    display: grid;
    grid-template-columns: 32px minmax(64px, 1fr) 32px;
    align-items: stretch;
    min-height: 100%;
    gap: 0;
}

.city-level-controls .am-icon-btn[b-sho43ndqpe] {
    width: 32px;
    height: 100%;
    min-height: 38px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--am-accent);
    flex-shrink: 0;
}
.city-level-controls .am-icon-btn:first-child[b-sho43ndqpe] { border-right: 1px solid var(--am-border-subtle); }
.city-level-controls .am-icon-btn:last-child[b-sho43ndqpe] { border-left: 1px solid var(--am-border-subtle); }

.city-level-controls .am-icon-btn:hover:not(:disabled)[b-sho43ndqpe] { border-color: var(--am-accent); background: #0d211b; }
.city-level-controls .am-icon-btn:disabled[b-sho43ndqpe] { opacity: .3; cursor: not-allowed; }

.city-level-value[b-sho43ndqpe] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 var(--am-space-2);
    color: #e1ebe8;
    font: 800 12px Consolas, monospace;
    text-align: center;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.airport-sidebar-header[b-sho43ndqpe] {
    min-width: 0;
    margin-bottom: var(--am-space-3);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, max-content) auto;
    align-items: center;
    gap: var(--am-space-2);
}

.airport-sidebar-identity[b-sho43ndqpe] {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: var(--am-space-2);
}

.airport-sidebar-code[b-sho43ndqpe] {
    flex: 0 0 auto;
    color: var(--am-text-bright);
    font: 900 var(--am-fs-value) var(--am-font-mono);
    letter-spacing: .08em;
    white-space: nowrap;
}

.airport-sidebar-separator[b-sho43ndqpe] {
    flex: 0 0 auto;
    color: var(--am-accent);
    font: 900 var(--am-fs-title) var(--am-font-mono);
    font-style: normal;
}

.airport-sidebar-identity .sidebar-airport-name[b-sho43ndqpe] {
    min-width: 0;
    overflow: hidden;
    color: var(--am-text-bright);
    font-size: var(--am-fs-title);
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.airport-sidebar-header .airport-population[b-sho43ndqpe] {
    min-width: 0;
    overflow: hidden;
    margin: 0;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: var(--am-space-1);
    color: var(--am-text-dim);
    font-size: var(--am-fs-micro);
    line-height: 1.15;
    white-space: nowrap;
}

.airport-sidebar-header .airport-population b[b-sho43ndqpe] { color: var(--am-text-secondary); font-size: var(--am-fs-label); }
.airport-sidebar-header .sidebar-toolbar[b-sho43ndqpe] { position: static; }

/* ---- connected routes table ---- */

.connected-routes-scroll[b-sho43ndqpe] { max-height: min(42vh, 420px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(85,223,186,.28) transparent; }
.connected-routes-table[b-sho43ndqpe] { width: 100%; table-layout: fixed; border-collapse: collapse; }
.connected-routes-table .crt-col-icon[b-sho43ndqpe] { width: 32px; }
.connected-routes-table .crt-col-name[b-sho43ndqpe] { width: auto; }
.connected-routes-table .crt-col-wait[b-sho43ndqpe] { width: 52px; }
.connected-routes-table .crt-col-pressure[b-sho43ndqpe] { width: 58px; }
.connected-routes-table .crt-col-worst[b-sho43ndqpe] { width: 66px; }
.connected-routes-table .crt-col-add[b-sho43ndqpe] { width: 42px; }

.connected-routes-table tr[b-sho43ndqpe] {
    cursor: pointer;
    transition: background-color var(--am-dur-fast) var(--am-ease);
}

.connected-routes-table tr:hover td[b-sho43ndqpe] { background: rgba(85, 223, 186, .06); }

.connected-routes-table td[b-sho43ndqpe] {
    padding: 7px 5px;
    border-top: 1px solid rgba(109, 150, 139, .1);
    color: var(--am-text-secondary);
    font: 11px Consolas, monospace;
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 0;
}

.connected-routes-table tbody tr:first-child td[b-sho43ndqpe] { border-top: 0; }

.connected-routes-table thead th[b-sho43ndqpe] {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 4px 5px;
    background: #06110e;
    color: var(--am-text-dim);
    font: 800 9px Consolas, monospace;
    letter-spacing: .06em;
    text-align: left;
    white-space: nowrap;
}

.connected-routes-table .crt-icon[b-sho43ndqpe] { width: 1%; max-width: none; padding-left: 8px; padding-right: 0; color: var(--am-accent); }
/* A paused route reads as a dimmed icon rather than a whole status column. */
.connected-routes-table .crt-icon.paused[b-sho43ndqpe] { color: var(--am-text-dim); opacity: .5; }
.connected-routes-table tr:has(.crt-icon.paused) .crt-name[b-sho43ndqpe],
.connected-routes-table tr:has(.crt-icon.paused) .crt-full[b-sho43ndqpe] { color: var(--am-text-dim); }

.connected-routes-table .crt-name[b-sho43ndqpe] { max-width: none; color: var(--am-text-strong); font: 800 12px Consolas, monospace; }
.connected-routes-table .crt-destination[b-sho43ndqpe] { min-width: 0; display: flex; align-items: baseline; gap: 6px; }
.connected-routes-table tbody .crt-name b[b-sho43ndqpe] { flex: 0 0 auto; }
.connected-routes-table tbody .crt-name small[b-sho43ndqpe] { min-width: 0; overflow: hidden; color: var(--am-text-secondary); font: 400 var(--am-fs-label) var(--am-font-ui); text-overflow: ellipsis; }
.connected-routes-table tr:hover .crt-name[b-sho43ndqpe] { color: var(--am-accent-text); }
.connected-routes-table .crt-full[b-sho43ndqpe] { color: var(--am-text-secondary); font-size: 10px; }

.connected-routes-table .crt-num[b-sho43ndqpe] {
    max-width: none;
    color: var(--am-text-dim);
    font-size: 10px;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.connected-routes-table thead .crt-num[b-sho43ndqpe] { text-align: center; }
.connected-routes-table tbody .crt-num:first-of-type[b-sho43ndqpe] { color: var(--am-text-secondary); }
.connected-routes-table td.crt-num:last-child[b-sho43ndqpe],
.connected-routes-table th.crt-num:last-child[b-sho43ndqpe] { padding-right: 8px; }

/* ======================================================= 2026 UI polish ==
   Final, deliberately centralized refinement layer. The file predates the
   design system and contains several historical compact overrides; keeping the
   readability contract here makes the winning cascade explicit while the old
   rules are retired incrementally. */

.airline-game[b-sho43ndqpe] { font-size: 15px; }

/* The notification dock belongs to the whole game viewport. Detail sidebars
   must not move, shrink, or hide it when selection changes. */

/* --------------------------------------------------------- map warnings -- */

.network-alert-dock[b-sho43ndqpe] { width: min(278px, calc(100vw - var(--am-space-4))); }
.network-alerts[b-sho43ndqpe] {
    max-height: min(56dvh, 600px);
    border-color: var(--am-border);
    border-radius: 0 0 var(--am-radius-lg) 0;
    background: color-mix(in srgb, var(--am-surface-1) 97%, transparent);
    box-shadow: 0 10px 32px rgba(0, 0, 0, .62);
    opacity: .96;
}
.connected-routes-table thead th button[b-sho43ndqpe] { width: 100%; padding: 0; display: flex; align-items: center; justify-content: center; gap: 2px; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.connected-routes-table thead .crt-name button[b-sho43ndqpe] { justify-content: flex-start; }
.connected-routes-table thead th button:hover[b-sho43ndqpe], .connected-routes-table thead th[aria-sort] button[b-sho43ndqpe] { color: var(--am-accent-text); }
.connected-routes-table thead .am-sort-icon[b-sho43ndqpe] { font-size: 11px; opacity: .35; }
.connected-routes-table thead th[aria-sort] .am-sort-icon[b-sho43ndqpe] { opacity: 1; }
.connected-routes-table .crt-worst[b-sho43ndqpe] { font-weight: 800; }
.connected-routes-table .crt-add[b-sho43ndqpe] { width: 1%; padding-inline: 4px; text-align: center; }
.connected-routes-table .crt-add .am-icon-btn[b-sho43ndqpe] { width: 25px; height: 25px; }
.network-alert-list[b-sho43ndqpe] { max-height: min(56dvh, 600px); }
.network-alert-row[b-sho43ndqpe] {
    min-height: 48px;
    max-height: 72px;
    padding: var(--am-space-2) var(--am-space-3);
    gap: var(--am-space-2);
}
.network-alert-row:hover[b-sho43ndqpe],
.network-alert-row:focus-visible[b-sho43ndqpe] { background: var(--am-surface-3); }
.network-alert-status[b-sho43ndqpe] { width: 30px; height: 30px; flex-basis: 30px; border-radius: var(--am-radius-sm); }
.network-alert-copy[b-sho43ndqpe] { gap: 3px; }
.network-alert-copy b[b-sho43ndqpe] { font-size: var(--am-fs-body); }
.network-alert-copy small[b-sho43ndqpe] { font-size: var(--am-fs-micro); line-height: 1.25; }
.network-alert-capacity[b-sho43ndqpe] { font-size: var(--am-fs-value); }

/* ----------------------------------------------------- entity sidebars -- */

.selection-sidebar.detail-card[b-sho43ndqpe] {
    /* The resize handle, map padding and focus offset all read the same custom
       property. Do not cap the painted panel independently: a stored 300px or
       640px preference would otherwise leave an overlap or a dead strip. */
    width: clamp(var(--am-sidebar-min, 300px), var(--am-sidebar-w, 448px), 100vw);
    padding: var(--am-space-5);
    border-left-color: var(--am-border-strong);
    background: linear-gradient(180deg, rgba(8, 18, 15, .99), rgba(4, 10, 8, .99));
    box-shadow: -14px 0 40px rgba(0, 0, 0, .48);
}
.selection-sidebar > small[b-sho43ndqpe],
.detail-card > small[b-sho43ndqpe] { color: var(--am-accent); font-size: var(--am-fs-micro); line-height: 1.2; }
.sidebar-toolbar[b-sho43ndqpe] { top: var(--am-space-2); right: var(--am-space-2); gap: var(--am-space-1); }
.sidebar-toolbar .am-icon-btn[b-sho43ndqpe] { width: 34px; height: 34px; }
.sidebar-title-row[b-sho43ndqpe] {
    padding-right: 0;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--am-space-2);
}
.sidebar-title-row h2[b-sho43ndqpe] {
    flex: 1 1 190px;
    margin: var(--am-space-2) 0 var(--am-space-1);
    color: var(--am-text-bright);
    font-size: var(--am-fs-h2);
    line-height: 1.22;
}
.sidebar-title-actions[b-sho43ndqpe] { margin-left: auto; gap: var(--am-space-1); }
.sidebar-title-row .sidebar-overview-action[b-sho43ndqpe],
.hub-status-action[b-sho43ndqpe] {
    min-height: 34px;
    padding-inline: var(--am-space-2);
    border-color: var(--am-border-control);
    border-radius: var(--am-radius-sm);
    font-size: var(--am-fs-micro);
}
.airport-population[b-sho43ndqpe] { margin: 0 0 var(--am-space-3); color: var(--am-text-muted); font-size: var(--am-fs-body); }
.detail-card .load-meter[b-sho43ndqpe] { height: 8px; margin: var(--am-space-3) 0; border-radius: var(--am-radius-pill); overflow: hidden; }

.detail-stats[b-sho43ndqpe],
.sidebar-kpis[b-sho43ndqpe] { gap: var(--am-space-2); }
.detail-stats span[b-sho43ndqpe],
.sidebar-kpis span[b-sho43ndqpe] {
    padding: var(--am-space-2) var(--am-space-3);
    gap: var(--am-space-1);
    border-color: var(--am-border-subtle);
    border-radius: var(--am-radius-sm);
    background: var(--am-surface-2);
}
.detail-stats small[b-sho43ndqpe],
.sidebar-kpis small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); line-height: 1.25; }
.detail-stats b[b-sho43ndqpe],
.sidebar-kpis b[b-sho43ndqpe] { color: var(--am-text-strong); font-size: var(--am-fs-value); line-height: 1.25; }
.city-level-controls .am-icon-btn[b-sho43ndqpe] { width: 32px; height: 100%; }
.city-level-value[b-sho43ndqpe] { font-size: var(--am-fs-body); }

.sidebar-demand[b-sho43ndqpe],
.sidebar-chart[b-sho43ndqpe] {
    margin-top: var(--am-space-3);
    padding: var(--am-space-3);
    border-color: var(--am-border);
    border-radius: var(--am-radius);
    background: var(--am-surface-0);
}
.sidebar-chart header[b-sho43ndqpe],
.sidebar-demand header[b-sho43ndqpe],
.route-throughput > header[b-sho43ndqpe] { color: var(--am-text-secondary); font-size: var(--am-fs-label); line-height: 1.3; }
.sidebar-chart header small[b-sho43ndqpe],
.sidebar-demand header small[b-sho43ndqpe],
.route-throughput > header small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.sidebar-demand-next[b-sho43ndqpe] {
    grid-template-columns: 156px minmax(0, 1fr);
    grid-template-rows: auto 156px;
    gap: var(--am-space-3);
}
.sidebar-demand-next .sidebar-pie[b-sho43ndqpe] { width: 156px; height: 156px; }
.sidebar-demand-next ol[b-sho43ndqpe] { height: 156px; overflow: hidden; }
.sidebar-demand-next li[b-sho43ndqpe] { min-height: 24px; font-size: var(--am-fs-body); }
.sidebar-demand-next .pie-values[b-sho43ndqpe],
.sidebar-demand-next .flow-airport-link[b-sho43ndqpe] { font-size: var(--am-fs-body); }
.demand-analysis-link[b-sho43ndqpe] { min-height: 28px; color: var(--am-accent); font-size: var(--am-fs-micro); }

.sidebar-disclosure[b-sho43ndqpe] {
    margin-top: var(--am-space-3);
    border-color: var(--am-border);
    border-radius: var(--am-radius);
    overflow: clip;
}
.sidebar-disclosure > summary[b-sho43ndqpe] {
    min-height: 42px;
    padding: var(--am-space-2) var(--am-space-3);
    color: var(--am-text-secondary);
    font-size: var(--am-fs-label);
}
.sidebar-disclosure > summary b[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.sidebar-disclosure > summary .connected-routes-add[b-sho43ndqpe] { border-color: var(--am-accent-dim); color: var(--am-accent-text); }
.sidebar-disclosure[open] > summary[b-sho43ndqpe] { background: var(--am-surface-2); }
.sidebar-range-tabs button[b-sho43ndqpe] { min-height: 26px; padding-inline: var(--am-space-2); font-size: var(--am-fs-micro); }

.connected-routes-table thead th[b-sho43ndqpe] { height: 30px; font-size: var(--am-fs-micro); }
.connected-routes-table td[b-sho43ndqpe] { height: 38px; padding-block: var(--am-space-2); font-size: var(--am-fs-label); }
.connected-routes-table .crt-name[b-sho43ndqpe] { font-size: var(--am-fs-body); }
.connected-routes-table .crt-full[b-sho43ndqpe],
.connected-routes-table .crt-num[b-sho43ndqpe] { font-size: var(--am-fs-label); }

.route-throughput[b-sho43ndqpe] { margin-top: var(--am-space-3); }
.route-throughput-utilization[b-sho43ndqpe] { gap: var(--am-space-2); }
.pressure-history-toggle[b-sho43ndqpe] { min-height: 38px; padding-inline: var(--am-space-3); font-size: var(--am-fs-micro); }
.route-options-row[b-sho43ndqpe] { gap: var(--am-space-2); }
.route-opt-compact[b-sho43ndqpe] {
    min-height: 42px;
    padding: var(--am-space-2);
    border-color: var(--am-border-control);
    border-radius: var(--am-radius-sm);
    background: var(--am-surface-2);
    font-size: var(--am-fs-label);
}
.fleet-card[b-sho43ndqpe] { margin-top: var(--am-space-3); border-color: var(--am-border); border-radius: var(--am-radius); overflow: hidden; }
.fleet-card-header[b-sho43ndqpe] { min-height: 42px; padding-inline: var(--am-space-3); }
.fleet-card-header > span[b-sho43ndqpe] { font-size: var(--am-fs-micro); }
.fleet-card-header strong[b-sho43ndqpe] { font-size: var(--am-fs-label); }
.fleet-card-add[b-sho43ndqpe] { width: 30px; height: 30px; }
.fleet-table td[b-sho43ndqpe] { height: 40px; padding-block: var(--am-space-2); font-size: var(--am-fs-label); }
.am-fleet-name[b-sho43ndqpe] { font-size: var(--am-fs-label); }
.fleet-table .fleet-status[b-sho43ndqpe],
.fleet-table .fleet-pax[b-sho43ndqpe],
.fleet-table .fleet-speed[b-sho43ndqpe] { font-size: var(--am-fs-micro); }
.fleet-card-assign[b-sho43ndqpe] { gap: var(--am-space-2); padding: var(--am-space-2); }
.fleet-card-assign button[b-sho43ndqpe] { min-height: 52px; padding: var(--am-space-2); font-size: var(--am-fs-label); }
.fleet-card-assign button span[b-sho43ndqpe],
.fleet-card-assign button b[b-sho43ndqpe],
.fleet-card-assign button em[b-sho43ndqpe] { font-size: var(--am-fs-micro); }

.primary-action[b-sho43ndqpe],
.secondary-action[b-sho43ndqpe],
.danger-action[b-sho43ndqpe],
.overview-action[b-sho43ndqpe] {
    min-height: 38px;
    border-radius: var(--am-radius-sm);
    font-size: var(--am-fs-label);
}
.primary-action:hover:not(:disabled)[b-sho43ndqpe],
.secondary-action:hover:not(:disabled)[b-sho43ndqpe],
.danger-action:hover:not(:disabled)[b-sho43ndqpe],
.overview-action:hover:not(:disabled)[b-sho43ndqpe] { box-shadow: 0 0 0 1px color-mix(in srgb, currentColor 20%, transparent); }

/* ------------------------------------------------ operations workspace -- */

.overview-header[b-sho43ndqpe] {
    min-height: 48px;
    padding-inline: var(--am-space-3);
    background: linear-gradient(180deg, var(--am-surface-2), var(--am-surface-1));
    box-shadow: 0 8px 24px rgba(0, 0, 0, .14);
}
.overview-crumbs[b-sho43ndqpe] { font-size: var(--am-fs-body); }
.overview-nav .am-icon-btn[b-sho43ndqpe],
.overview-close[b-sho43ndqpe] { width: 36px; height: 36px; }
.overview-content[b-sho43ndqpe] { padding-inline: clamp(20px, 4vw, 64px); }
.overview-content.table-overview-content[b-sho43ndqpe] { --overview-table-inset: clamp(24px, 5vw, 80px); }
.overview-content > .overview-tools[b-sho43ndqpe] { padding-block: var(--am-space-3); }
.overview-tools .am-search[b-sho43ndqpe],
.overview-tools input[b-sho43ndqpe],
.overview-tools select[b-sho43ndqpe],
.overview-auto-update[b-sho43ndqpe],
.overview-refresh[b-sho43ndqpe],
.overview-demand-window button[b-sho43ndqpe] { min-height: 38px; font-size: var(--am-fs-label); }
.overview-table > header[b-sho43ndqpe] { height: 40px; background: var(--am-surface-2); }
.overview-table > header .am-sort-btn[b-sho43ndqpe] { color: var(--am-text-muted); font-size: var(--am-fs-micro); letter-spacing: .04em; }
.overview-table > button[b-sho43ndqpe],
.overview-table > .overview-table-row[b-sho43ndqpe] { height: var(--am-row-h); min-height: var(--am-row-h); }
.overview-table > button > span[b-sho43ndqpe],
.overview-table > .overview-table-row > span[b-sho43ndqpe],
.overview-table > button > .cell-name b[b-sho43ndqpe],
.overview-table > button .overview-throughput b[b-sho43ndqpe],
.overview-table-row .overview-throughput b[b-sho43ndqpe],
.route-airport-link[b-sho43ndqpe] { font-size: var(--am-fs-body); }
.overview-table > button > .cell-name small[b-sho43ndqpe] { font-size: var(--am-fs-micro); }
.overview-table > button:hover[b-sho43ndqpe],
.overview-table > .overview-table-row:hover[b-sho43ndqpe],
.overview-table > .overview-table-row:focus-visible[b-sho43ndqpe] { box-shadow: inset 3px 0 var(--am-accent); }

/* Twelve route columns still fit a normal desktop viewport. Long pressure labels
   ellipsis inside their cells and retain their full explanation in the title,
   instead of forcing a 1,560px table and hiding every financial column. */
.sortable-routes-table > header[b-sho43ndqpe],
.sortable-routes-table > button[b-sho43ndqpe],
.sortable-routes-table > .overview-table-row[b-sho43ndqpe] {
    grid-template-columns:
        minmax(140px, 1.15fr) minmax(140px, 1.15fr)
        minmax(72px, .58fr) 46px
        repeat(2, minmax(132px, 1.25fr))
        minmax(68px, .52fr)
        minmax(72px, .58fr) minmax(68px, .54fr) minmax(58px, .46fr)
        minmax(88px, .7fr) 42px;
    min-width: 1260px;
}
.overview-table > header .am-sort-btn[b-sho43ndqpe] { overflow: hidden; }
.overview-table > header .am-sort-btn > span[b-sho43ndqpe] { overflow: hidden; text-overflow: ellipsis; }
.airports-table > header[b-sho43ndqpe],
.airports-table > button[b-sho43ndqpe] { min-width: 1270px; }

.strain-overview[b-sho43ndqpe],
.passengers-overview[b-sho43ndqpe],
.city-events-overview[b-sho43ndqpe] { padding: clamp(18px, 2.5vw, 32px); }
.finance-overview[b-sho43ndqpe] { padding: var(--am-space-4) 0 var(--am-space-6); }
.strain-overview[b-sho43ndqpe],
.passengers-overview[b-sho43ndqpe],
.city-events-overview[b-sho43ndqpe],
.finance-overview[b-sho43ndqpe] { color: var(--am-text); }

.strain-gauge[b-sho43ndqpe],
.strain-projections article[b-sho43ndqpe],
.strain-factor-grid article[b-sho43ndqpe],
.strain-contributors[b-sho43ndqpe],
.passenger-demand-kpis span[b-sho43ndqpe],
.passenger-forecast-grid article[b-sho43ndqpe],
.passenger-opportunities[b-sho43ndqpe],
.marketing-workspace[b-sho43ndqpe],
.marketing-offer[b-sho43ndqpe],
.city-event-card[b-sho43ndqpe],
.finance-category-grid article[b-sho43ndqpe],
.finance-forecast-grid article[b-sho43ndqpe] {
    border-color: var(--am-border);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
}
.strain-gauge small[b-sho43ndqpe],
.strain-gauge span[b-sho43ndqpe],
.strain-projections span[b-sho43ndqpe],
.strain-projections p[b-sho43ndqpe],
.strain-factor-grid span[b-sho43ndqpe],
.strain-factor-grid p[b-sho43ndqpe],
.passenger-demand-kpis small[b-sho43ndqpe],
.passenger-forecast-grid small[b-sho43ndqpe],
.passenger-opportunities header > span[b-sho43ndqpe],
.marketing-workspace header > span[b-sho43ndqpe],
.marketing-workspace p[b-sho43ndqpe],
.city-events-header p[b-sho43ndqpe],
.city-events-header small[b-sho43ndqpe],
.city-event-card small[b-sho43ndqpe] { font-size: var(--am-fs-micro); line-height: 1.45; }
.strain-factor-grid article[b-sho43ndqpe] { min-height: 108px; opacity: .76; }
.strain-factor-grid article.active[b-sho43ndqpe] { opacity: 1; box-shadow: inset 3px 0 var(--am-accent); }
.strain-factor-grid b[b-sho43ndqpe] { font-size: var(--am-fs-body); }
.strain-tools[b-sho43ndqpe] { gap: var(--am-space-2); margin-block: var(--am-space-4); }
.strain-tools .am-search[b-sho43ndqpe],
.strain-tools select[b-sho43ndqpe] { min-height: 40px; font-size: var(--am-fs-label); }
.strain-contributors > header[b-sho43ndqpe] { min-height: 64px; padding: var(--am-space-3) var(--am-space-4); }
.strain-contributors h3[b-sho43ndqpe],
.passenger-opportunities h3[b-sho43ndqpe],
.marketing-workspace h3[b-sho43ndqpe] { font-size: var(--am-fs-h2); }
.strain-table > header[b-sho43ndqpe],
.strain-table > div[b-sho43ndqpe] { min-height: 46px; }
.strain-table > header[b-sho43ndqpe] { color: var(--am-text-muted); font-size: var(--am-fs-micro); }
.strain-table > div > b[b-sho43ndqpe] { font-size: var(--am-fs-label); }
.strain-table > div > span[b-sho43ndqpe] { font-size: var(--am-fs-body); }
.strain-table > div > .strain-actions[b-sho43ndqpe] { min-height: 46px; }
.strain-actions .am-icon-btn[b-sho43ndqpe] { width: 32px; min-width: 32px; height: 32px; min-height: 32px; border-radius: var(--am-radius-sm); }
.strain-reconcile[b-sho43ndqpe] { font-size: var(--am-fs-micro); }

.passenger-demand-kpis span[b-sho43ndqpe] { min-height: 72px; padding: var(--am-space-3); }
.passenger-demand-kpis b[b-sho43ndqpe] { font-size: 22px; }
.passenger-forecast-grid article[b-sho43ndqpe] { padding: var(--am-space-3); }
.passenger-forecast-grid b[b-sho43ndqpe] { font-size: var(--am-fs-value); }
.passenger-opportunities > header[b-sho43ndqpe],
.marketing-workspace > header[b-sho43ndqpe] { padding: var(--am-space-4); }
.opportunity-table > header[b-sho43ndqpe],
.opportunity-table > div[b-sho43ndqpe] { min-height: 48px; }
.opportunity-table > header[b-sho43ndqpe] { color: var(--am-text-muted); font-size: var(--am-fs-micro); }
.opportunity-table small[b-sho43ndqpe] { font-size: var(--am-fs-micro); }
.opportunity-table > div > b[b-sho43ndqpe] { font-size: var(--am-fs-label); }
.opportunity-table button[b-sho43ndqpe] { min-height: 36px; padding-inline: var(--am-space-3); border-radius: var(--am-radius-sm); font-size: var(--am-fs-label); }
.marketing-offer[b-sho43ndqpe] { padding: var(--am-space-3); }
.marketing-offer b[b-sho43ndqpe] { font-size: var(--am-fs-label); }

.finance-kpis[b-sho43ndqpe] { gap: var(--am-space-2); padding-inline: var(--am-space-4); }
.finance-kpis span[b-sho43ndqpe] { min-height: 78px; border-radius: var(--am-radius-sm); }
.finance-kpis small[b-sho43ndqpe] { font-size: var(--am-fs-micro); }
.finance-kpis b[b-sho43ndqpe] { font-size: var(--am-fs-lg); }
.finance-subtabs[b-sho43ndqpe] { margin: var(--am-space-3) var(--am-space-4) 0; border-radius: var(--am-radius); overflow: hidden; }
.finance-subtabs button[b-sho43ndqpe] { min-height: 44px; font-size: var(--am-fs-micro); }
.finance-period-bar[b-sho43ndqpe] { padding-inline: var(--am-space-4); }
.finance-period-bar > span[b-sho43ndqpe] { font-size: var(--am-fs-micro); }
.finance-category-grid dt[b-sho43ndqpe],
.finance-category-grid dd[b-sho43ndqpe],
.finance-forecast-grid dt[b-sho43ndqpe],
.finance-forecast-grid dd[b-sho43ndqpe],
.finance-warning-grid b[b-sho43ndqpe],
.finance-warning-grid small[b-sho43ndqpe],
.finance-asset-summary small[b-sho43ndqpe],
.finance-asset-columns b[b-sho43ndqpe],
.finance-asset-columns strong[b-sho43ndqpe],
.finance-asset-columns small[b-sho43ndqpe],
.finance-forecast > p[b-sho43ndqpe],
.finance-forecast-grid article > small[b-sho43ndqpe],
.finance-forecast-known button[b-sho43ndqpe] { font-size: var(--am-fs-micro); }
.finance-asset-summary b[b-sho43ndqpe] { font-size: var(--am-fs-lg); }
.chart-card > div[b-sho43ndqpe],
.chart-card > div small[b-sho43ndqpe],
.finance-legend[b-sho43ndqpe] { font-size: var(--am-fs-micro); }

.advisor-sidebar[b-sho43ndqpe] { gap: var(--am-space-4); }
.advisor-sidebar-heading p[b-sho43ndqpe],
.advisor-sidebar-empty[b-sho43ndqpe] { font-size: var(--am-fs-small); line-height: 1.55; }
.advisor-sidebar-list[b-sho43ndqpe] { gap: var(--am-space-3); }
.advisor-sidebar-list article[b-sho43ndqpe] { padding: var(--am-space-4); gap: var(--am-space-3); border-radius: var(--am-radius); box-shadow: inset 3px 0 var(--am-accent-dim); }
.advisor-sidebar-list article > p[b-sho43ndqpe] { font-size: var(--am-fs-small); line-height: 1.5; }
.advisor-sidebar-list dt[b-sho43ndqpe],
.advisor-sidebar-list dd[b-sho43ndqpe],
.advisor-sidebar-aircraft b[b-sho43ndqpe] { font-size: var(--am-fs-label); }
.advisor-sidebar-list article > footer[b-sho43ndqpe] { grid-template-columns: 38px 1fr; }

/* ----------------------------------------------------------- responsive -- */

@media (max-width: 900px) {
    .overview-content[b-sho43ndqpe],
    .overview-content.table-overview-content[b-sho43ndqpe] { --overview-table-inset: var(--am-space-3); padding-inline: var(--am-space-3); }
    .table-overview-content > .overview-tools[b-sho43ndqpe] { padding-inline: 0; flex-wrap: wrap; }
    .table-overview-content > .overview-table > header[b-sho43ndqpe],
    .table-overview-content > .overview-table > button[b-sho43ndqpe],
    .table-overview-content > .overview-table > .overview-table-row[b-sho43ndqpe] { padding-inline: var(--am-space-3); }
    .strain-summary-header[b-sho43ndqpe] { grid-template-columns: 150px 1fr; }
    .strain-projections[b-sho43ndqpe] { grid-template-columns: 1fr; }
    .passenger-demand-kpis[b-sho43ndqpe],
    .passenger-forecast-grid[b-sho43ndqpe] { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .selection-sidebar.detail-card[b-sho43ndqpe] { width: 100vw; max-width: 100vw; }
    .network-alert-dock[b-sho43ndqpe] { width: min(278px, calc(100vw - var(--am-space-4))); }
    .route-options-row[b-sho43ndqpe] { grid-template-columns: 1fr; }
    .sidebar-demand-next[b-sho43ndqpe] { grid-template-columns: 120px minmax(0, 1fr); grid-template-rows: auto 120px; }
    .sidebar-demand-next .sidebar-pie[b-sho43ndqpe] { width: 120px; height: 120px; }
    .sidebar-demand-next ol[b-sho43ndqpe] { height: 120px; }
    .sidebar-demand-next li[b-sho43ndqpe] { min-height: 22px; }
    .strain-summary-header[b-sho43ndqpe] { grid-template-columns: 1fr; }
    .strain-gauge[b-sho43ndqpe] { min-height: 120px; }
    .strain-tools[b-sho43ndqpe] { flex-wrap: wrap; }
    .strain-tools .am-search[b-sho43ndqpe] { flex-basis: 100%; }
}

/* ------------------------------------------------ Cupertino consistency --
   Legacy overview and detail screens predate the shared design tokens and
   still declared square local surfaces. Keep this final layer close to the
   workspace rules so equivalent UI roles use one Cupertino treatment. */

.overview-kpis span[b-sho43ndqpe],
.chart-card[b-sho43ndqpe],
.destination-list[b-sho43ndqpe],
.airport-pie-card[b-sho43ndqpe],
.passenger-opportunities[b-sho43ndqpe],
.marketing-workspace[b-sho43ndqpe],
.city-event-card[b-sho43ndqpe],
.city-events-header > span[b-sho43ndqpe],
.finance-category-grid article[b-sho43ndqpe],
.finance-forecast-grid article[b-sho43ndqpe],
.finance-asset-summary[b-sho43ndqpe],
.finance-asset-columns article[b-sho43ndqpe],
.finance-forecast-known[b-sho43ndqpe],
.advisor-group[b-sho43ndqpe],
.advisor-heading > div:last-child span[b-sho43ndqpe],
.advisor-sidebar-empty[b-sho43ndqpe],
.advisor-sidebar-aircraft[b-sho43ndqpe] {
    border-radius: var(--am-radius);
}

.overview-kpis span[b-sho43ndqpe],
.airport-pie-card[b-sho43ndqpe],
.chart-card[b-sho43ndqpe],
.destination-list[b-sho43ndqpe],
.finance-category-grid article[b-sho43ndqpe],
.finance-forecast-grid article[b-sho43ndqpe],
.advisor-sidebar-aircraft[b-sho43ndqpe] {
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-1);
}

.regions-grid article[b-sho43ndqpe] {
    border-radius: var(--am-radius);
    box-shadow: var(--am-shadow-1);
}

.regions-grid button[b-sho43ndqpe],
.airport-dashboard-tabs button[b-sho43ndqpe],
.airport-routes-heading[b-sho43ndqpe],
.airport-route-stat-card[b-sho43ndqpe],
.fleet-card-add[b-sho43ndqpe],
.fleet-card-assign button[b-sho43ndqpe],
.finance-warning-grid button[b-sho43ndqpe],
.marketing-offer > div span[b-sho43ndqpe],
.marketing-event-status[b-sho43ndqpe],
.advisor-sidebar-list article > header b[b-sho43ndqpe] {
    border-radius: var(--am-radius-sm);
}

.airport-dashboard-tabs[b-sho43ndqpe] {
    border-radius: var(--am-radius-lg);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-1);
}

.airport-dashboard-tabs button.active[b-sho43ndqpe] {
    border-color: transparent;
    box-shadow: var(--am-shadow-1);
}

.airport-route-stat-card[b-sho43ndqpe],
.finance-asset-columns article[b-sho43ndqpe],
.advisor-group[b-sho43ndqpe],
.finance-forecast-known[b-sho43ndqpe] {
    overflow: hidden;
}

.city-events-tabs[b-sho43ndqpe],
.finance-subtabs[b-sho43ndqpe],
.demand-window-toggle[b-sho43ndqpe] {
    padding: 3px;
    gap: 3px;
    border: 0;
    border-radius: var(--am-radius);
    background: var(--am-surface-3);
}

.city-events-tabs button[b-sho43ndqpe],
.finance-subtabs button[b-sho43ndqpe],
.demand-window-toggle button[b-sho43ndqpe] {
    border: 0;
    border-radius: var(--am-radius-sm);
    background: transparent;
}

.city-events-tabs button.active[b-sho43ndqpe],
.finance-subtabs button.active[b-sho43ndqpe],
.demand-window-toggle button.active[b-sho43ndqpe] {
    background: var(--am-accent-bg-strong);
    box-shadow: var(--am-shadow-1);
    color: var(--am-accent-text);
}

/* Custom filters used a checkbox-shaped proxy while ordinary toggles had
   already moved to switches. The proxy now follows the same switch geometry. */
.network-filter-box[b-sho43ndqpe] {
    width: 38px;
    height: 22px;
    flex-basis: 38px;
    position: relative;
    display: block;
    border-radius: var(--am-radius-pill);
    background: #30443e;
    color: transparent;
}

.network-filter-box[b-sho43ndqpe]::after {
    width: 16px;
    height: 16px;
    position: absolute;
    top: 2px;
    left: 2px;
    border-radius: 50%;
    background: var(--am-text-bright);
    box-shadow: 0 2px 5px rgba(0, 0, 0, .38);
    content: "";
    transition: transform var(--am-dur-fast) var(--am-ease);
}

.network-filter-box .ms[b-sho43ndqpe] { display: none; }
.network-filter input:checked + .network-filter-box[b-sho43ndqpe] { background: var(--am-accent); }
.network-filter input:checked + .network-filter-box[b-sho43ndqpe]::after { transform: translateX(16px); }

.advisor-sidebar-list article[b-sho43ndqpe],
.advisor-sidebar-list article > header b[b-sho43ndqpe],
.advisor-sidebar-aircraft[b-sho43ndqpe] { box-shadow: none; }
.advisor-sidebar-list article[b-sho43ndqpe] { box-shadow: inset 3px 0 var(--am-accent-dim), var(--am-shadow-1); }

@media (max-width: 720px) {
    .regions-grid[b-sho43ndqpe] { gap: var(--am-space-2); padding-inline: var(--am-space-3); }
}

/* -------------------------------------------- refined airport overview --
   The airport workspace now follows the same hierarchy and surface language
   as the compact sidebar: strong identity, one horizontal view switcher,
   readable cards, and content-sized panels instead of inherited table chrome. */

.airport-overview-page[b-sho43ndqpe] {
    grid-template-rows: auto minmax(0, 1fr);
    background: var(--am-surface-0);
}

.airport-overview-heading[b-sho43ndqpe] {
    min-width: 0;
    padding: var(--am-space-4) 20px var(--am-space-3);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--am-space-4);
}

.airport-overview-identity[b-sho43ndqpe] {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: var(--am-space-2);
}

.airport-overview-identity > b[b-sho43ndqpe] {
    color: var(--am-text-bright);
    font-size: var(--am-fs-lg);
    letter-spacing: .06em;
}

.airport-overview-identity > i[b-sho43ndqpe] {
    color: var(--am-accent);
    font-size: var(--am-fs-xl);
    font-style: normal;
    font-weight: 900;
}

.airport-overview-identity > h2[b-sho43ndqpe] {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: var(--am-text-bright);
    font-size: 26px;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.airport-overview-meta[b-sho43ndqpe] {
    display: flex;
    align-items: stretch;
    gap: var(--am-space-2);
}

.airport-overview-meta > span[b-sho43ndqpe] {
    min-height: 42px;
    padding: 6px 10px;
    display: grid;
    grid-template-columns: auto auto;
    align-content: center;
    align-items: center;
    column-gap: 6px;
    border: 1px solid var(--am-border-subtle);
    border-radius: var(--am-radius-sm);
    background: var(--am-surface-2);
    box-shadow: var(--am-shadow-1);
}

.airport-overview-meta .ms[b-sho43ndqpe] { grid-row: 1 / 3; color: var(--am-accent); }
.airport-overview-meta small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.airport-overview-meta b[b-sho43ndqpe] { color: var(--am-text-strong); font-size: var(--am-fs-label); font-variant-numeric: tabular-nums; }
.airport-overview-meta .airport-level-meta[b-sho43ndqpe] { grid-template-columns: 1fr; min-width: 92px; text-align: center; }
.airport-overview-meta .airport-level-meta b[b-sho43ndqpe] { color: var(--am-accent-text); font-size: var(--am-fs-lg); }

.airport-detail-shell[b-sho43ndqpe] {
    min-width: 0;
    min-height: 0;
    padding: 0 20px 20px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto minmax(0, 1fr);
    gap: var(--am-space-3);
}

.airport-dashboard-tabs[b-sho43ndqpe] {
    min-height: auto;
    padding: 4px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 4px;
    border: 1px solid var(--am-border-subtle);
    border-radius: var(--am-radius-lg);
    background: var(--am-surface-2);
    box-shadow: var(--am-shadow-1);
}

.airport-dashboard-tabs button[b-sho43ndqpe] {
    min-width: 0;
    min-height: 54px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 0;
    border-radius: var(--am-radius-sm);
    background: transparent;
    color: var(--am-text-muted);
    text-align: left;
}

.airport-dashboard-tabs button > .ms[b-sho43ndqpe] { flex: 0 0 auto; color: var(--am-text-dim); font-size: 20px; }
.airport-dashboard-tabs button > span[b-sho43ndqpe] { min-width: 0; display: grid; gap: 2px; }
.airport-dashboard-tabs button b[b-sho43ndqpe] { color: inherit; font-size: var(--am-fs-label); line-height: 1.2; text-transform: none; }
.airport-dashboard-tabs button small[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-dim); font-size: var(--am-fs-micro); line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.airport-dashboard-tabs button:hover[b-sho43ndqpe] { background: var(--am-control-hover); color: var(--am-text-strong); }
.airport-dashboard-tabs button.active[b-sho43ndqpe] { border-color: transparent; background: var(--am-accent-bg-strong); box-shadow: var(--am-shadow-1); color: var(--am-text-bright); }
.airport-dashboard-tabs button.active > .ms[b-sho43ndqpe],
.airport-dashboard-tabs button.active small[b-sho43ndqpe] { color: var(--am-accent-text); }

.airport-tab-content[b-sho43ndqpe] {
    min-width: 0;
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: auto;
    scrollbar-gutter: stable;
}

.airport-summary-kpis[b-sho43ndqpe] {
    padding: 0 2px var(--am-space-3) 0;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: var(--am-space-2);
}

.airport-summary-kpis span[b-sho43ndqpe] {
    min-height: 64px;
    padding: 10px 12px;
    gap: 5px;
    border-color: var(--am-border-subtle);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-1);
}

.airport-summary-kpis small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); letter-spacing: .04em; }
.airport-summary-kpis b[b-sho43ndqpe] { color: var(--am-text-bright); font-size: var(--am-fs-lg); }

.airport-detail-dashboard[b-sho43ndqpe] {
    min-height: 560px;
    padding: 0 2px 2px 0;
    display: grid;
    grid-template-columns: minmax(460px, 1.15fr) minmax(520px, 1fr);
    gap: var(--am-space-3);
}

.airport-history-column .chart-card[b-sho43ndqpe],
.airport-pie-card[b-sho43ndqpe] {
    border-color: var(--am-border-subtle);
    border-radius: var(--am-radius-lg);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-1);
}

.airport-history-column .chart-card[b-sho43ndqpe] { padding: var(--am-space-4); }
.airport-history-column .chart-card > div:first-child[b-sho43ndqpe] { color: var(--am-text-strong); font-size: var(--am-fs-label); }
.airport-history-column .chart-card > div:first-child small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.stacked-chart-frame[b-sho43ndqpe] { flex: 1; min-height: 390px; }
.stacked-legend[b-sho43ndqpe] { padding-top: var(--am-space-2); gap: var(--am-space-2); }
.stacked-legend span[b-sho43ndqpe] { font-size: var(--am-fs-micro); }

.airport-pie-stack[b-sho43ndqpe] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(250px, 1fr));
    gap: var(--am-space-3);
}

.airport-pie-card[b-sho43ndqpe] { padding: var(--am-space-3); }
.airport-pie-card > header[b-sho43ndqpe] { min-height: 28px; align-items: center; color: var(--am-text-strong); font-size: var(--am-fs-label); }
.airport-pie-card > header small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.airport-pie-card-body[b-sho43ndqpe] { height: calc(100% - 28px); grid-template-columns: 112px minmax(0, 1fr); gap: var(--am-space-3); }
.airport-mini-pie[b-sho43ndqpe] { width: 108px; height: 108px; }
.airport-pie-card li[b-sho43ndqpe] { grid-template-columns: minmax(0, 1fr) 104px; min-height: 22px; color: var(--am-text-secondary); font-size: var(--am-fs-micro); }

.airport-passenger-dashboard[b-sho43ndqpe],
.airport-waiting-dashboard[b-sho43ndqpe],
.airport-routes-dashboard[b-sho43ndqpe],
.airport-gates-dashboard[b-sho43ndqpe] {
    grid-row: 1 / -1;
    min-width: 0;
    min-height: 0;
    padding: 0 2px 2px 0;
}

.passenger-sankey-panel[b-sho43ndqpe] {
    min-height: 660px;
    overflow: hidden;
    border: 1px solid var(--am-border-subtle);
    border-radius: var(--am-radius-lg);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-1);
}

.passenger-sankey-toolbar[b-sho43ndqpe] {
    min-height: 48px;
    padding: 7px 10px;
    gap: var(--am-space-2);
    border: 0;
    border-bottom: 1px solid var(--am-border-subtle);
    background: var(--am-surface-2);
}

.passenger-sankey-toolbar > div[b-sho43ndqpe] { padding: 3px; gap: 3px; border-radius: var(--am-radius); background: var(--am-surface-3); }
.passenger-sankey-toolbar button[b-sho43ndqpe] { min-height: 30px; height: 30px; padding: 0 10px; display: inline-flex; align-items: center; gap: 5px; border: 0; border-radius: var(--am-radius-sm); background: transparent; color: var(--am-text-muted); font-size: var(--am-fs-micro); }
.passenger-sankey-toolbar button:hover[b-sho43ndqpe] { background: var(--am-control-hover); color: var(--am-text-strong); }
.passenger-sankey-toolbar button.active[b-sho43ndqpe] { border-color: transparent; background: var(--am-accent-bg-strong); box-shadow: var(--am-shadow-1); color: var(--am-accent-text); }
.passenger-sankey-toolbar > span[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.passenger-sankey-toolbar .sankey-refresh[b-sho43ndqpe],
.passenger-sankey-toolbar .sankey-fullscreen[b-sho43ndqpe] { border: 1px solid var(--am-border-control); background: var(--am-surface-1); color: var(--am-text-secondary); }
.passenger-sankey-panel[b-sho43ndqpe]  .passenger-sankey-card { border: 0; border-radius: 0; box-shadow: none; }

.airport-waiting-dashboard[b-sho43ndqpe] { overflow: auto; }
.airport-waiting-dashboard .full-destination-table[b-sho43ndqpe] {
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    align-content: start;
    gap: var(--am-space-2);
    border: 0;
    background: transparent;
    box-shadow: none;
}

.airport-waiting-dashboard .full-destination-table > header[b-sho43ndqpe] {
    grid-column: 1 / -1;
    min-height: 68px;
    padding: 12px 16px;
    position: sticky;
    top: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--am-space-3);
    border: 1px solid var(--am-border-subtle);
    border-radius: var(--am-radius-lg);
    background: color-mix(in srgb, var(--am-surface-1) 94%, transparent);
    box-shadow: var(--am-shadow-1);
    backdrop-filter: blur(10px);
}

.airport-waiting-dashboard .full-destination-table > header > div[b-sho43ndqpe] { display: grid; gap: 3px; }
.airport-waiting-dashboard .full-destination-table > header span[b-sho43ndqpe] { color: var(--am-text-bright); font-size: var(--am-fs-body); font-weight: 800; text-transform: none; }
.airport-waiting-dashboard .full-destination-table > header small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.airport-waiting-dashboard .full-destination-table > header > b[b-sho43ndqpe] { color: var(--am-accent-text); font-size: var(--am-fs-label); }
.airport-waiting-dashboard .full-destination-table details[b-sho43ndqpe] {
    overflow: hidden;
    border: 1px solid var(--am-border-subtle);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-1);
}

.airport-waiting-dashboard .full-destination-table summary[b-sho43ndqpe] { min-height: 48px; padding: 11px 14px; color: var(--am-text-secondary); font-size: var(--am-fs-label); }
.airport-waiting-dashboard .full-destination-table summary:hover[b-sho43ndqpe] { background: var(--am-control-hover); color: var(--am-text-strong); }
.airport-waiting-dashboard .full-destination-table summary b[b-sho43ndqpe] { color: var(--am-text-bright); font-size: var(--am-fs-value); }
.airport-waiting-dashboard .full-destination-table details div[b-sho43ndqpe] { padding: 9px 14px; background: var(--am-surface-2); color: var(--am-text-muted); font-size: var(--am-fs-small); }
.airport-waiting-dashboard .destination-empty[b-sho43ndqpe] { grid-column: 1 / -1; min-height: 120px; padding: var(--am-space-4); display: flex; align-items: center; justify-content: space-between; border: 1px dashed var(--am-border); border-radius: var(--am-radius); color: var(--am-text-muted); }

.airport-routes-dashboard[b-sho43ndqpe] { gap: var(--am-space-3); }
.airport-routes-heading[b-sho43ndqpe] {
    top: 0;
    min-height: 66px;
    padding: 12px 16px;
    border-color: var(--am-border-subtle);
    border-radius: var(--am-radius-lg);
    background: color-mix(in srgb, var(--am-surface-1) 94%, transparent);
    box-shadow: var(--am-shadow-1);
    backdrop-filter: blur(10px);
}

.airport-routes-heading span[b-sho43ndqpe] { color: var(--am-text-bright); font-size: var(--am-fs-body); text-transform: none; }
.airport-routes-heading small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.airport-routes-heading .airport-route-heading-actions[b-sho43ndqpe] { display:flex; align-items:center; gap:var(--am-space-3); }
.airport-routes-heading .airport-route-heading-actions .demand-window-toggle[b-sho43ndqpe] { display:flex; gap:0; }
.airport-routes-heading .airport-route-heading-actions > b[b-sho43ndqpe] { padding: 5px 8px; border-radius: var(--am-radius-pill); background: var(--am-accent-bg); color: var(--am-accent-text); font-size: var(--am-fs-micro); white-space:nowrap; }
.connected-route-sort[b-sho43ndqpe] { top: 78px; min-height: 40px; height: 40px; align-self: start; overflow: hidden; border: 1px solid var(--am-border-subtle); border-radius: var(--am-radius); background: var(--am-surface-2); box-shadow: var(--am-shadow-1); }
.connected-route-sort button[b-sho43ndqpe],
.connected-route-sort > div > span[b-sho43ndqpe] { min-height: 38px; color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.airport-route-stat-list .airport-route-stat-card[b-sho43ndqpe] { margin-bottom: var(--am-space-3); }
.airport-route-stat-card[b-sho43ndqpe] { overflow: hidden; border-color: var(--am-border-subtle); border-radius: var(--am-radius-lg); background: var(--am-surface-1); box-shadow: var(--am-shadow-1); }
.airport-route-stat-card > header[b-sho43ndqpe] { border-color: var(--am-border-subtle); background: var(--am-surface-2); }
.airport-route-stat-card .connected-route-identity > button:first-child b[b-sho43ndqpe] { color: var(--am-text-bright); font-size: var(--am-fs-body); }
.airport-route-stat-card .connected-route-identity > button:first-child span[b-sho43ndqpe] { color: var(--am-text-muted); font-size: var(--am-fs-micro); }
.airport-route-stat-card > header small[b-sho43ndqpe],
.connected-route-worst small[b-sho43ndqpe] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.airport-route-stat-card > header > div b[b-sho43ndqpe],
.connected-route-worst b[b-sho43ndqpe] { color: var(--am-text-strong); font-size: var(--am-fs-label); }
.airport-route-flow-table > div > span[b-sho43ndqpe] { min-height: 40px; padding: 9px 11px; border-color: var(--am-border-subtle); color: var(--am-text-secondary); font-size: var(--am-fs-small); }
.airport-route-flow-table .flow-table-heading span[b-sho43ndqpe] { background: var(--am-surface-3); color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.airport-route-flow-table .flow-direction-heading[b-sho43ndqpe] { background: var(--am-accent-bg); color: var(--am-accent-text); font-size: var(--am-fs-micro); }
.airport-route-flow-table .flow-direction-heading.inbound[b-sho43ndqpe] { background: color-mix(in srgb, #4d8fbd 14%, var(--am-surface-2)); color: #9fd0ff; }

/* Airport routes are comparison-first. One compact row replaces the old
   440px report card; diagnostics are available on deliberate expansion. */
.connected-route-sort[b-sho43ndqpe],
.airport-route-summary[b-sho43ndqpe] {
    display: grid;
    grid-template-columns: minmax(180px, 1.5fr) minmax(88px, .8fr) minmax(74px, .6fr) repeat(3, minmax(68px, .55fr)) minmax(58px, .45fr) minmax(64px, .5fr) minmax(88px, .7fr) 86px;
    align-items: center;
    gap: 0;
}
.compact-route-list[b-sho43ndqpe] { display: grid; gap: 6px; }
.airport-route-compact[b-sho43ndqpe] {
    overflow: hidden;
    border: 1px solid var(--am-border-subtle);
    border-radius: var(--am-radius-md);
    background: var(--am-surface-1);
    transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.airport-route-compact:hover[b-sho43ndqpe],
.airport-route-compact.expanded[b-sho43ndqpe] { border-color: var(--am-border-active); box-shadow: var(--am-shadow-1); }
.airport-route-summary[b-sho43ndqpe] { min-height: 52px; cursor: pointer; }
.airport-route-summary > span[b-sho43ndqpe] { min-width: 0; padding: 8px 10px; }
.airport-route-summary > span:not(:first-child)[b-sho43ndqpe] { border-left: 1px solid var(--am-border-subtle); }
.airport-route-summary:focus-visible[b-sho43ndqpe] { outline: 2px solid var(--am-accent); outline-offset: -2px; }
.airport-route-summary .connected-route-identity[b-sho43ndqpe] { display: grid; gap: 2px; }
.airport-route-summary small[b-sho43ndqpe] { overflow: hidden; color: var(--am-text-muted); font-size: var(--am-fs-micro); text-overflow: ellipsis; white-space: nowrap; }
.airport-route-summary .route-health[b-sho43ndqpe] { display: grid; gap: 2px; }
.airport-route-actions[b-sho43ndqpe] { display: flex; align-items: center; justify-content: flex-end; gap: 4px; }
.airport-route-actions .route-expand[b-sho43ndqpe] { color: var(--am-text-muted); transition: transform 160ms ease; }
.airport-route-expanded[b-sho43ndqpe] { display: grid; grid-template-columns: 1fr 1fr; gap: var(--am-space-3); padding: var(--am-space-3); border-top: 1px solid var(--am-border-subtle); background: var(--am-surface-0); animation: am-route-expand-b-sho43ndqpe 180ms ease-out; }
.airport-route-expanded > footer[b-sho43ndqpe] { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 16px; color: var(--am-text-muted); font-size: var(--am-fs-small); }
@keyframes am-route-expand-b-sho43ndqpe { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .airport-route-compact[b-sho43ndqpe], .airport-route-actions .route-expand[b-sho43ndqpe], .airport-route-expanded[b-sho43ndqpe] { transition: none; animation: none; } }

.airport-gates-dashboard[b-sho43ndqpe] { padding: 0 2px 2px 0; }
.airport-gates-dashboard[b-sho43ndqpe]  .airport-gates { min-height: 640px; margin: 0; }

@media (max-width: 1250px) {
    .airport-detail-dashboard[b-sho43ndqpe] { grid-template-columns: 1fr; }
    .airport-history-column[b-sho43ndqpe] { min-height: 460px; }
    .airport-pie-stack[b-sho43ndqpe] { grid-template-rows: repeat(2, minmax(230px, 1fr)); }
}

@media (max-width: 900px) {
    .airport-overview-heading[b-sho43ndqpe] { align-items: flex-start; flex-direction: column; }
    .airport-overview-meta[b-sho43ndqpe] { width: 100%; }
    .airport-overview-meta > span[b-sho43ndqpe] { flex: 1; }
    .airport-detail-shell[b-sho43ndqpe] { padding-inline: var(--am-space-3); }
    .airport-dashboard-tabs[b-sho43ndqpe] { grid-template-columns: repeat(5, minmax(52px, 1fr)); }
    .airport-dashboard-tabs button[b-sho43ndqpe] { justify-content: center; padding-inline: 7px; }
    .airport-dashboard-tabs button > span small[b-sho43ndqpe] { display: none; }
    .airport-summary-kpis[b-sho43ndqpe] { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
    .airport-waiting-dashboard .full-destination-table[b-sho43ndqpe] { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .airport-overview-heading[b-sho43ndqpe] { padding-inline: var(--am-space-3); }
    .airport-overview-meta[b-sho43ndqpe] { flex-wrap: wrap; }
    .airport-dashboard-tabs button[b-sho43ndqpe] { min-height: 48px; }
    .airport-dashboard-tabs button > span[b-sho43ndqpe] { display: none; }
    .airport-pie-stack[b-sho43ndqpe] { grid-template-columns: 1fr; grid-template-rows: none; }
    .airport-pie-card[b-sho43ndqpe] { min-height: 240px; }
    .passenger-sankey-toolbar[b-sho43ndqpe] { align-items: stretch; flex-wrap: wrap; }
    .passenger-sankey-toolbar > span[b-sho43ndqpe] { order: 3; width: 100%; margin: 0; }
}
.finance-chart-grid[b-sho43ndqpe] { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: var(--am-space-3); }
.finance-chart-grid .finance-chart[b-sho43ndqpe] { min-width: 0; }
.finance-cash-chart[b-sho43ndqpe] { min-height: 360px; }
.finance-operating-chart[b-sho43ndqpe] { min-height: 360px; }
.overview-content > .regions-progression[b-sho43ndqpe] { flex:1 1 auto; min-height:0; overflow-x:hidden; overflow-y:auto; scrollbar-gutter:stable; }
.regions-progression[b-sho43ndqpe] { padding:0 var(--am-space-3) 40px; display:grid; align-content:start; gap:var(--am-space-3); }
.regions-progression-heading[b-sho43ndqpe] { position:sticky; z-index:4; top:0; margin:0 calc(var(--am-space-3) * -1); padding:var(--am-space-3); display:flex; align-items:end; justify-content:space-between; gap:24px; border-bottom:1px solid var(--am-border-subtle); background:color-mix(in srgb,var(--am-surface-0) 96%,transparent); backdrop-filter:blur(8px); }
.regions-progression-heading > div:first-child[b-sho43ndqpe] { display: grid; gap: 4px; }
.regions-progression-heading small[b-sho43ndqpe] { color: var(--am-accent-text); font-size: var(--am-fs-micro); letter-spacing: .1em; }
.regions-progression-heading h2[b-sho43ndqpe] { margin: 0; color: var(--am-text-strong); font-size: 22px; }
.regions-progression-heading p[b-sho43ndqpe] { margin: 0; color: var(--am-text-muted); font-size: 12px; }
.regions-progression-heading > div:last-child[b-sho43ndqpe] { display: flex; gap: 8px; }
.regions-progression > section[b-sho43ndqpe] { display:grid; gap:6px; }
.regions-progression > section > header[b-sho43ndqpe] { display: flex; align-items: center; gap: 8px; color: var(--am-text-muted); font-size: 11px; letter-spacing: .07em; }
.region-progression-list[b-sho43ndqpe] { display:grid; gap:5px; }
.all-locked-regions > summary[b-sho43ndqpe] { padding: 10px 0; color: var(--am-text-secondary); cursor: pointer; }
.fleet-view-tabs[b-sho43ndqpe] { align-self: center; }
/* /Components/Pages/HallOfFame.razor.rz.scp.css */
.hall-screen[b-4ygpzhmwzi] {
    width: min(1100px, 94vw);
    margin: 0 auto;
    padding: var(--am-space-8) 0;
    display: grid;
    gap: var(--am-space-5);
}

.hall-screen > header[b-4ygpzhmwzi] {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: var(--am-space-4);
    flex-wrap: wrap;
}

.hall-screen h1[b-4ygpzhmwzi] { margin: var(--am-space-1) 0 0; }

.hall-screen header p[b-4ygpzhmwzi] {
    margin: var(--am-space-1) 0 0;
    color: var(--am-text-muted);
}

.hall-controls[b-4ygpzhmwzi] {
    display: flex;
    justify-content: space-between;
    gap: var(--am-space-3);
    flex-wrap: wrap;
}

.hall-filters[b-4ygpzhmwzi], .hall-sorts[b-4ygpzhmwzi] { display: flex; gap: var(--am-space-1); flex-wrap: wrap; }

.hall-filters .am-chip[b-4ygpzhmwzi] { cursor: pointer; }

.hall-list[b-4ygpzhmwzi] { display: grid; gap: var(--am-space-2); }

.hall-run[b-4ygpzhmwzi] {
    border: var(--am-border-width) solid var(--am-border-subtle);
    background: var(--am-surface-1);
}

/* The summary row is the comparison view: score first and left-aligned so a
   column of runs can be scanned by eye without opening any of them. */
.hall-run > summary[b-4ygpzhmwzi] {
    display: grid;
    grid-template-columns: 92px 1fr auto auto;
    align-items: center;
    gap: var(--am-space-3);
    padding: var(--am-space-3) var(--am-space-4);
    cursor: pointer;
}

.hall-run > summary:hover[b-4ygpzhmwzi] { background: var(--am-surface-2); }

.hall-score[b-4ygpzhmwzi] {
    color: var(--am-accent-strong);
    font: 800 20px var(--am-font-mono);
}

.hall-identity[b-4ygpzhmwzi] { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

.hall-identity b[b-4ygpzhmwzi] {
    color: var(--am-text-bright);
    font: 700 14px system-ui, sans-serif;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.hall-identity small[b-4ygpzhmwzi] {
    color: var(--am-text-dim);
    font: 700 var(--am-fs-micro) var(--am-font-mono);
}

.hall-tags[b-4ygpzhmwzi] { display: flex; gap: var(--am-space-1); flex-wrap: wrap; }

.hall-run > summary time[b-4ygpzhmwzi] {
    color: var(--am-text-dim);
    font: 700 var(--am-fs-micro) var(--am-font-mono);
}

.hall-run[open] > summary[b-4ygpzhmwzi] { border-bottom: var(--am-border-width) solid var(--am-border-subtle); }

.hall-run > .scorecard[b-4ygpzhmwzi], .hall-run[b-4ygpzhmwzi]  .scorecard { padding: var(--am-space-4); }

@media (max-width: 760px) {
    .hall-run > summary[b-4ygpzhmwzi] { grid-template-columns: 72px 1fr; }
    .hall-run > summary .hall-tags[b-4ygpzhmwzi], .hall-run > summary time[b-4ygpzhmwzi] { grid-column: 2; }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.landing-page[b-w0b01ugz8l] { width:min(1160px,94vw); padding:clamp(20px,4vw,54px) 0 70px; display:grid; gap:72px; font-family:var(--am-font-ui); }
.landing-hero[b-w0b01ugz8l] { min-height:min(680px,calc(100dvh - 124px)); display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr); align-items:center; gap:56px; }
.hero-copy > small[b-w0b01ugz8l],
.landing-section-heading small[b-w0b01ugz8l],
.modes-copy > small[b-w0b01ugz8l],
.landing-cta > div > small[b-w0b01ugz8l] { color:#68c7a8; font:600 10px var(--am-font-ui); letter-spacing:.14em; }
.hero-copy h1[b-w0b01ugz8l] { margin:15px 0; color:#edf7f3; font-size:clamp(42px,5vw,66px); line-height:1.02; letter-spacing:-.035em; }
.hero-copy > p[b-w0b01ugz8l] { max-width:640px; margin:0 0 20px; color:#a5bab3; font-size:16px; line-height:1.55; }
.hero-features[b-w0b01ugz8l] { max-width:700px; margin:0 0 24px; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.hero-features span[b-w0b01ugz8l] { min-width:0; padding:12px 13px; display:grid; gap:4px; border:1px solid #28453d; border-radius:var(--am-radius); background:rgba(8,22,18,.72); box-shadow:var(--am-shadow-1); }
.hero-features b[b-w0b01ugz8l] { color:#bcd5cd; font:600 10px var(--am-font-ui); letter-spacing:.035em; }
.hero-features small[b-w0b01ugz8l] { color:#8ba49b; font:13px/1.5 var(--am-font-ui); }
.hero-actions[b-w0b01ugz8l] { display:flex; gap:12px; flex-wrap:wrap; }
.hero-actions button[b-w0b01ugz8l] { appearance:none; font-family:inherit; cursor:pointer; }
.hero-actions .tutorial-link[b-w0b01ugz8l] { display:inline-flex; align-items:center; gap:8px; }
.hero-actions .tutorial-link[b-w0b01ugz8l]  .ms { color:#74dcb8; }
.hero-actions .continue-game-link[b-w0b01ugz8l] { min-width:190px; display:inline-flex; align-items:center; gap:9px; }
.hero-actions .continue-game-link[b-w0b01ugz8l]  .ms { flex:0 0 auto; }
.hero-actions .continue-game-link span[b-w0b01ugz8l] { min-width:0; display:grid; gap:2px; text-align:left; }
.hero-actions .continue-game-link b[b-w0b01ugz8l] { font:inherit; }
.hero-actions .continue-game-link small[b-w0b01ugz8l] { max-width:220px; overflow:hidden; color:#164d3f; font:600 10px var(--am-font-ui); letter-spacing:.01em; text-overflow:ellipsis; text-transform:none; white-space:nowrap; }
.hero-actions[b-w0b01ugz8l]  a,
.hero-actions[b-w0b01ugz8l]  button,
.landing-cta[b-w0b01ugz8l]  a { transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,translate .14s ease,filter .14s ease; }
.hero-actions[b-w0b01ugz8l]  a:hover,
.hero-actions[b-w0b01ugz8l]  button:hover,
.landing-cta[b-w0b01ugz8l]  a:hover { filter:brightness(1.12); box-shadow:0 12px 38px rgba(64,199,154,.22); }
.hero-actions[b-w0b01ugz8l]  a:active,
.hero-actions[b-w0b01ugz8l]  button:active,
.landing-cta[b-w0b01ugz8l]  a:active { translate:0 1px; filter:brightness(.92); }
.hero-radar[b-w0b01ugz8l] { width:min(340px,32vw); aspect-ratio:1; justify-self:center; position:relative; display:grid; place-items:center; border:1px solid #31564b; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0 19%,rgba(90,190,157,.12) 20%),linear-gradient(45deg,transparent 49.8%,rgba(90,190,157,.18) 50%,transparent 50.2%); box-shadow:inset 0 0 70px rgba(34,159,120,.07),0 0 70px rgba(34,159,120,.05); }
.hero-radar[b-w0b01ugz8l]::before { content:""; position:absolute; inset:8%; border:1px dashed rgba(104,217,180,.16); border-radius:50%; }
.hero-radar[b-w0b01ugz8l]::after { content:""; position:absolute; inset:50% 50% 0; width:42%; height:1px; transform-origin:left; background:linear-gradient(90deg,#68d9b4,transparent); transform:rotate(-28deg); box-shadow:0 0 12px #68d9b4; animation:radar-sweep-b-w0b01ugz8l 7s linear infinite; }
.hero-radar i[b-w0b01ugz8l] { width:12px; height:12px; border-radius:50%; background:#75e8c0; box-shadow:0 0 20px #75e8c0; }
.hero-radar span[b-w0b01ugz8l] { position:absolute; bottom:21%; color:#73958a; text-align:center; font:600 10px/1.8 var(--am-font-ui); letter-spacing:.14em; }
.hero-radar b[b-w0b01ugz8l] { color:#73dbb7; }

.landing-section[b-w0b01ugz8l] { display:grid; gap:24px; }
.landing-section-heading[b-w0b01ugz8l] { display:flex; justify-content:space-between; align-items:end; gap:40px; padding-bottom:18px; border-bottom:1px solid #28453d; }
.landing-section-heading h2[b-w0b01ugz8l],
.modes-copy h2[b-w0b01ugz8l],
.landing-cta h2[b-w0b01ugz8l] { margin:6px 0 0; color:#e5f1ed; font-size:clamp(26px,3vw,36px); letter-spacing:-.025em; }
.landing-section-heading > p[b-w0b01ugz8l] { width:min(430px,44%); margin:0; color:#91aaa1; font:13px/1.6 var(--am-font-ui); }
.operation-flow[b-w0b01ugz8l] { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.operation-flow article[b-w0b01ugz8l] { min-width:0; min-height:245px; padding:24px 20px; position:relative; display:flex; flex-direction:column; align-items:flex-start; border:1px solid #28453d; border-radius:var(--am-radius-lg); background:rgba(8,21,17,.74); box-shadow:var(--am-shadow-1); }
.operation-flow article > span[b-w0b01ugz8l] { align-self:flex-end; color:#5e8176; font:600 10px var(--am-font-ui); letter-spacing:.08em; }
.operation-flow article[b-w0b01ugz8l] >  .ms { margin:18px 0 20px; color:#69d2af; }
.operation-flow h3[b-w0b01ugz8l],
.systems-grid h3[b-w0b01ugz8l] { margin:0 0 8px; color:#dceae5; font-size:15px; }
.operation-flow p[b-w0b01ugz8l],
.systems-grid p[b-w0b01ugz8l] { margin:0; color:#91aaa1; font:13px/1.6 var(--am-font-ui); }
.operation-flow article[b-w0b01ugz8l]::after { content:""; position:absolute; inset:auto 20px 0; height:2px; background:linear-gradient(90deg,#55cda6,transparent); opacity:0; transition:opacity .16s ease; }
.operation-flow article:hover[b-w0b01ugz8l]::after { opacity:0; }

.systems-grid[b-w0b01ugz8l] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.systems-grid article[b-w0b01ugz8l] { min-width:0; padding:20px; display:grid; grid-template-columns:42px 1fr; gap:15px; border:1px solid #28453d; border-radius:var(--am-radius-lg); background:rgba(8,21,17,.78); box-shadow:var(--am-shadow-1); }
.systems-grid article[b-w0b01ugz8l] >  .ms { width:38px; height:38px; display:grid; place-items:center; border:1px solid #355d50; border-radius:10px; color:#67d0ad; background:#0b201a; }
.systems-grid article small[b-w0b01ugz8l] { display:block; margin-bottom:5px; color:#5ebc9c; font:600 9px var(--am-font-ui); letter-spacing:.07em; }

.landing-modes[b-w0b01ugz8l] { padding:30px; display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,.9fr); align-items:center; gap:48px; border:1px solid #31564b; border-radius:var(--am-radius-lg); background:rgba(10,29,23,.86); box-shadow:var(--am-shadow-2); backdrop-filter:blur(14px); }
.modes-copy p[b-w0b01ugz8l] { max-width:600px; margin:12px 0 0; color:#9bb1aa; font:13px/1.65 var(--am-font-ui); }
.mode-list[b-w0b01ugz8l] { padding:3px; display:grid; grid-template-columns:repeat(3,1fr); gap:3px; border-radius:var(--am-radius); background:#10231d; }
.mode-list span[b-w0b01ugz8l] { min-width:0; padding:16px 10px; display:grid; place-items:center; gap:6px; border-radius:var(--am-radius-sm); text-align:center; }
.mode-list[b-w0b01ugz8l]  .ms { color:#69d2af; }
.mode-list b[b-w0b01ugz8l] { color:#cce1da; font:600 10px var(--am-font-ui); letter-spacing:.06em; }
.mode-list small[b-w0b01ugz8l] { color:#6f8e84; font:9px var(--am-font-ui); }

.landing-cta[b-w0b01ugz8l] { padding:30px 34px; display:flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid #3c7562; border-radius:var(--am-radius-lg); background:radial-gradient(circle at 80% 50%,rgba(65,183,144,.12),transparent 34%),#071512; box-shadow:var(--am-shadow-2); }
.landing-cta h2[b-w0b01ugz8l] { font-size:30px; }
.landing-cta p[b-w0b01ugz8l] { margin:7px 0 0; color:#78948a; font:11px var(--am-font-ui); }
.landing-cta[b-w0b01ugz8l]  a { flex:0 0 auto; }

@keyframes radar-sweep-b-w0b01ugz8l { to { transform:rotate(332deg); } }
@media (prefers-reduced-motion:reduce) { .hero-radar[b-w0b01ugz8l]::after { animation:none; } }
@media (max-width:900px) {
    .landing-page[b-w0b01ugz8l] { gap:56px; }
    .landing-hero[b-w0b01ugz8l] { min-height:auto; grid-template-columns:1fr; padding:50px 0; }
    .hero-radar[b-w0b01ugz8l] { display:none; }
    .operation-flow[b-w0b01ugz8l] { grid-template-columns:repeat(2,1fr); }
    .landing-modes[b-w0b01ugz8l] { grid-template-columns:1fr; gap:26px; }
}
@media (max-width:680px) {
    .landing-page[b-w0b01ugz8l] { width:min(100%,94vw); padding-top:8px; gap:46px; }
    .landing-section-heading[b-w0b01ugz8l] { align-items:start; flex-direction:column; gap:12px; }
    .landing-section-heading > p[b-w0b01ugz8l] { width:100%; }
    .systems-grid[b-w0b01ugz8l] { grid-template-columns:1fr; }
    .landing-modes[b-w0b01ugz8l] { padding:22px 18px; }
    .mode-list[b-w0b01ugz8l] { grid-template-columns:1fr; }
    .mode-list span[b-w0b01ugz8l] { grid-template-columns:24px auto 1fr; justify-items:start; text-align:left; }
    .landing-cta[b-w0b01ugz8l] { padding:24px 20px; align-items:flex-start; flex-direction:column; }
}
@media (max-width:520px) {
    .hero-copy h1[b-w0b01ugz8l] { font-size:39px; }
    .hero-features[b-w0b01ugz8l] { grid-template-columns:1fr; }
    .operation-flow[b-w0b01ugz8l] { grid-template-columns:1fr; }
    .operation-flow article[b-w0b01ugz8l] { min-height:0; }
    .systems-grid article[b-w0b01ugz8l] { grid-template-columns:34px 1fr; padding:17px 15px; }
    .systems-grid article[b-w0b01ugz8l] >  .ms { width:32px; height:32px; }
}
/* /Components/Pages/JoinLobby.razor.rz.scp.css */
.join-link-card[b-zgiztg127x] { width: min(520px, 92vw); margin: auto; padding: var(--am-space-7); display: grid; justify-items: center; gap: var(--am-space-3); border: var(--am-border-width) solid var(--am-border-accent); border-radius: var(--am-radius); background: var(--am-surface-1); box-shadow: var(--am-shadow-3); text-align: center; }
.join-link-card > .ms[b-zgiztg127x] { color: var(--am-accent); --am-icon-size: 42px; }
.join-link-card h1[b-zgiztg127x] { margin: 0; color: var(--am-text-bright); font-size: var(--am-fs-title); }
.join-link-card p[b-zgiztg127x] { margin: 0; color: var(--am-text-muted); line-height: 1.5; }
.join-link-card .am-btn[b-zgiztg127x] { margin-top: var(--am-space-2); text-decoration: none; }
/* /Components/Pages/NewAirline.razor.rz.scp.css */
/* New-airline setup screen. The map is the background layer (MapComponent is
   position:absolute; inset:0) and everything else floats over it, so the region
   picker keeps the full globe while the panels stay reachable. */

.tutorial-launch-screen[b-68iced7ca1] {
    position: fixed;
    inset: 0;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: var(--am-space-3);
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 46%, rgba(52, 188, 150, .15), transparent 34%),
        linear-gradient(145deg, #020706, #07120f 54%, #020706);
    color: var(--am-text-strong);
    text-align: center;
    font-family: var(--am-font-ui);
}

.tutorial-launch-screen h1[b-68iced7ca1] { margin: 0; font-size: clamp(28px, 4vw, 48px); }
.tutorial-launch-screen > p[b-68iced7ca1] { margin: 0; color: var(--am-text-muted); font: var(--am-fs-body) var(--am-font-mono); }
.tutorial-launch-flight[b-68iced7ca1] { color: var(--am-accent); animation: tutorial-flight-b-68iced7ca1 2.4s ease-in-out infinite; }
.tutorial-launch-flight .ms[b-68iced7ca1] { --am-icon-size: 58px; }
.tutorial-launch-status[b-68iced7ca1] { margin-top: var(--am-space-4); display: flex; align-items: center; gap: var(--am-space-2); color: var(--am-text-muted); font: var(--am-fs-label) var(--am-font-mono); }
.tutorial-launch-status i[b-68iced7ca1] { width: 8px; height: 8px; border-radius: 50%; background: var(--am-accent); box-shadow: 0 0 12px var(--am-accent); animation: tutorial-status-b-68iced7ca1 1s ease-in-out infinite alternate; }
.tutorial-launch-actions[b-68iced7ca1] { display: flex; gap: var(--am-space-2); }

@keyframes tutorial-flight-b-68iced7ca1 {
    0%, 100% { transform: translate(-22px, 8px) rotate(-7deg); opacity: .72; }
    50% { transform: translate(22px, -8px) rotate(7deg); opacity: 1; }
}

@keyframes tutorial-status-b-68iced7ca1 { to { opacity: .35; transform: scale(.76); } }

.setup-screen[b-68iced7ca1] {
    position: absolute;
    inset: 0;
    overflow: hidden;
    font-family: var(--am-font-ui);
}

/* Darkens the map behind the left panel so small text stays readable over
   coastlines without hiding the globe. */
.setup-screen[b-68iced7ca1]::before {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 0;
    background: linear-gradient(90deg, rgba(2, 6, 7, .92) 0, rgba(2, 6, 7, .72) 26%, transparent 46%);
    pointer-events: none;
}

/* ------------------------------------------------------------------ top -- */

.setup-topbar[b-68iced7ca1] {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    right: 0;
    height: var(--am-topbar-h);
    padding: 0 var(--am-space-3);
    display: flex;
    align-items: center;
    gap: var(--am-space-4);
    border-bottom: var(--am-border-width) solid var(--am-border-subtle);
    background: linear-gradient(180deg, rgba(6, 12, 10, .96), rgba(3, 8, 7, .82));
    backdrop-filter: blur(10px);
}

.setup-back[b-68iced7ca1] { text-decoration: none; }
.setup-title[b-68iced7ca1] { display: grid; gap: 2px; }
.setup-title h1[b-68iced7ca1] { margin: 0; font-size: var(--am-fs-title); color: var(--am-text-strong); line-height: 1; }
.setup-code[b-68iced7ca1] { margin-left: auto; display: grid; gap: 3px; justify-items: end; }
.setup-code > div[b-68iced7ca1] { display: flex; align-items: stretch; gap: var(--am-space-2); }
.setup-code button[b-68iced7ca1] { gap: var(--am-space-2); }
.setup-code strong[b-68iced7ca1] { color: var(--am-accent-text); font: 800 var(--am-fs-value) var(--am-font-mono); letter-spacing: .16em; }

/* ---------------------------------------------------------------- panel -- */

.setup-panel[b-68iced7ca1] {
    position: absolute;
    z-index: 3;
    top: calc(var(--am-topbar-h) + var(--am-space-3));
    bottom: 72px;
    left: var(--am-space-3);
    width: min(448px, calc(100vw - 24px));
    display: flex;
    flex-direction: column;
    border: var(--am-border-width) solid var(--am-border);
    border-radius: var(--am-radius);
    background: var(--am-glass);
    box-shadow: var(--am-shadow-2);
    backdrop-filter: blur(8px);
}

.setup-panel-scroll[b-68iced7ca1] {
    padding: var(--am-space-4);
    display: grid;
    gap: var(--am-space-3);
    align-content: start;
    overflow-y: auto;
}

.setup-group[b-68iced7ca1] { display: grid; gap: var(--am-space-2); }
.setup-group legend[b-68iced7ca1] { width: auto; margin: 0; padding: 0; float: none; color: var(--am-text-muted); font-size: var(--am-fs-micro); line-height: 1.2; }
.setup-group[disabled][b-68iced7ca1] { opacity: .6; }

.setup-name[b-68iced7ca1] { display: grid; gap: var(--am-space-1); }
.setup-name > label[b-68iced7ca1] { display: flex; align-items: center; gap: var(--am-space-2); color: var(--am-accent); }
.setup-name > input[b-68iced7ca1] { width: 100%; min-height: 38px; color: var(--am-text-strong); font-weight: 700; }
.setup-name > small[b-68iced7ca1] { color: var(--am-text-dim); font: var(--am-fs-micro) / 1.4 var(--am-font-mono); }

/* Option groups are a responsive grid of equally weighted choices. The column
   count is the only thing that varies between groups. */
.setup-options[b-68iced7ca1] { display: grid; gap: var(--am-space-1); }
.setup-options.two[b-68iced7ca1] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.setup-options.three[b-68iced7ca1] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.setup-options.four[b-68iced7ca1] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.setup-options.five[b-68iced7ca1] { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.setup-options button[b-68iced7ca1] {
    min-height: 62px;
    padding: var(--am-space-2) var(--am-space-1);
    display: grid;
    align-content: center;
    justify-items: center;
    gap: 2px;
    text-align: center;
    white-space: normal;
}

.setup-options b[b-68iced7ca1] { color: var(--am-text-strong); font: 800 var(--am-fs-label) var(--am-font-mono); letter-spacing: .04em; }
.setup-options span[b-68iced7ca1] { color: var(--am-text-dim); font: var(--am-fs-micro) / 1.4 var(--am-font-mono); }
.setup-options button:hover:not(:disabled) span[b-68iced7ca1] { color: var(--am-text-muted); }

/* ------------------------------------------------------ failure conditions -- */

.setup-lose-difficulty[b-68iced7ca1] { display: grid; gap: var(--am-space-2); margin-top: var(--am-space-2); }

/* States plainly which kind of run the current selection produces, because the
   difference decides whether the score at the end means anything. */
.setup-challenge-note[b-68iced7ca1] {
    margin: var(--am-space-2) 0 0;
    padding: var(--am-space-2) var(--am-space-3);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    border: var(--am-border-width) solid var(--am-accent-dim);
    background: var(--am-accent-bg);
    color: var(--am-accent-text);
    font: var(--am-fs-micro) / 1.4 var(--am-font-mono);
}

.setup-challenge-note b[b-68iced7ca1] { font-weight: 800; }

.setup-challenge-note.sandbox[b-68iced7ca1] {
    border-color: var(--am-border-subtle);
    background: var(--am-surface-2);
    color: var(--am-text-muted);
}
.setup-options .am-btn-active span[b-68iced7ca1] { color: var(--am-accent-text); }

/* --------------------------------------------------------------- region -- */

.setup-region[b-68iced7ca1] { display: grid; gap: var(--am-gap-tight); }
.setup-region > header[b-68iced7ca1] { display: flex; align-items: center; gap: var(--am-space-2); color: var(--am-accent); }

.region-chosen[b-68iced7ca1] {
    padding: var(--am-space-2);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2px var(--am-space-2);
    border: var(--am-border-width) solid var(--am-border-accent);
    border-radius: var(--am-radius-sm);
    background: var(--am-accent-bg);
}

.region-chosen b[b-68iced7ca1] { grid-column: 1; color: var(--am-text-strong); font-size: var(--am-fs-value); }
.region-chosen span[b-68iced7ca1] { grid-column: 1; color: var(--am-text-muted); font: var(--am-fs-micro) var(--am-font-mono); }
.region-chosen .am-icon-btn[b-68iced7ca1] { grid-column: 2; grid-row: 1 / span 2; }

.region-hint[b-68iced7ca1] {
    margin: 0;
    padding: var(--am-space-2);
    border: var(--am-border-width) dashed var(--am-border-control);
    border-radius: var(--am-radius-sm);
    color: var(--am-text-dim);
    font: var(--am-fs-body) / 1.4 var(--am-font-mono);
}

.suggest-btn[b-68iced7ca1] { justify-content: flex-start; }
.region-suggestions[b-68iced7ca1] { display: grid; gap: var(--am-space-1); }
.region-suggestions button[b-68iced7ca1] { justify-content: flex-start; gap: var(--am-space-2); }
.region-suggestions b[b-68iced7ca1] { color: var(--am-text-strong); }
.region-suggestions span[b-68iced7ca1] { margin-left: auto; color: var(--am-text-dim); font-weight: 400; }

/* ------------------------------------------------------------- advanced -- */

.setup-advanced[b-68iced7ca1] {
    border: var(--am-border-width) solid var(--am-border-subtle);
    border-radius: var(--am-radius-sm);
    background: var(--am-surface-1);
}

.setup-advanced > summary[b-68iced7ca1] {
    min-height: 38px;
    padding: 0 var(--am-space-2);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    list-style: none;
    cursor: pointer;
}

.setup-advanced > summary[b-68iced7ca1]::-webkit-details-marker { display: none; }
.setup-advanced[open] > summary[b-68iced7ca1] { border-bottom: var(--am-border-width) solid var(--am-border-subtle); }

.advanced-grid[b-68iced7ca1] {
    padding: var(--am-space-2);
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--am-space-2);
}

.advanced-grid label[b-68iced7ca1] { display: grid; gap: 3px; }
.advanced-grid input[b-68iced7ca1] { width: 100%; }

/* ----------------------------------------------------------------- crew -- */

.setup-crew[b-68iced7ca1] {
    position: absolute;
    z-index: 3;
    top: calc(var(--am-topbar-h) + var(--am-space-3));
    right: var(--am-space-3);
    width: min(280px, calc(100vw - 24px));
    max-height: calc(100% - var(--am-topbar-h) - 96px);
    display: flex;
    flex-direction: column;
    border: var(--am-border-width) solid var(--am-border);
    border-radius: var(--am-radius);
    background: var(--am-glass);
    box-shadow: var(--am-shadow-2);
    backdrop-filter: blur(8px);
}

.setup-crew > header[b-68iced7ca1] {
    padding: var(--am-space-2);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    border-bottom: var(--am-border-width) solid var(--am-border-subtle);
    color: var(--am-accent);
}

.setup-crew > header .am-chip[b-68iced7ca1] { margin-left: auto; }
.setup-crew > header .setup-remove[b-68iced7ca1] { flex: 0 0 auto; color: var(--am-danger-text); }
.setup-crew > header .setup-remove:hover:not(:disabled)[b-68iced7ca1] { border-color: var(--am-danger-border); background: var(--am-danger-bg); }

.crew-list[b-68iced7ca1] { margin: 0; padding: var(--am-space-1); list-style: none; flex: 0 0 auto; max-height: 40%; overflow-y: auto; }

/* The chat fills whatever the crew list leaves, so a full lobby shrinks the
   roster rather than pushing the conversation off the panel. */
.setup-crew[b-68iced7ca1]  .chat-panel {
    flex: 1 1 auto;
    min-height: 140px;
    border: 0;
    border-top: var(--am-border-width) solid var(--am-border-subtle);
    border-radius: 0;
    background: transparent;
}

.crew-member[b-68iced7ca1] {
    padding: var(--am-space-2);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    border-radius: var(--am-radius-sm);
}

.crew-member + .crew-member[b-68iced7ca1] { border-top: var(--am-border-width) solid var(--am-border-subtle); }
.crew-member > i[b-68iced7ca1] { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: var(--am-border-control); }
.crew-member.offline > i[b-68iced7ca1] { opacity: .35; }
.crew-member.in-game > i[b-68iced7ca1] { box-shadow: 0 0 8px currentColor; }
.crew-member.empty[b-68iced7ca1] { opacity: .5; }
.crew-name[b-68iced7ca1] { display: grid; gap: 1px; min-width: 0; }
.crew-name b[b-68iced7ca1] { color: var(--am-text-strong); font-size: var(--am-fs-body); }
.crew-name small[b-68iced7ca1] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.crew-member .am-chip[b-68iced7ca1] { margin-left: auto; }

/* --------------------------------------------------------------- launch -- */

.setup-launch[b-68iced7ca1] {
    position: absolute;
    z-index: 3;
    left: var(--am-space-3);
    right: var(--am-space-3);
    bottom: var(--am-space-3);
    min-height: 48px;
    padding: var(--am-space-2) var(--am-space-3);
    display: flex;
    align-items: center;
    gap: var(--am-space-3);
    border: var(--am-border-width) solid var(--am-border-strong);
    border-radius: var(--am-radius);
    background: var(--am-glass);
    box-shadow: var(--am-shadow-2);
    backdrop-filter: blur(8px);
}

.launch-summary[b-68iced7ca1] { display: grid; gap: 2px; min-width: 0; }
.launch-summary > span:last-child[b-68iced7ca1] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.launch-message[b-68iced7ca1] { margin: 0 0 0 auto; font: var(--am-fs-body) var(--am-font-mono); }
.launch-message.error[b-68iced7ca1] { color: var(--am-danger-text); }
.launch-message.success[b-68iced7ca1] { color: var(--am-positive); }
.launch-btn[b-68iced7ca1] { min-height: 40px; margin-left: auto; padding: 0 var(--am-space-5); font-size: var(--am-fs-label); }
.launch-waiting[b-68iced7ca1] { margin-left: auto; display: flex; align-items: center; gap: var(--am-space-2); color: var(--am-text-dim); font: var(--am-fs-body) var(--am-font-mono); }

.launch-overlay[b-68iced7ca1] {
    position: absolute;
    z-index: 10;
    inset: 0;
    display: grid;
    place-content: center;
    justify-items: center;
    gap: var(--am-space-3);
    background: var(--am-scrim);
    backdrop-filter: blur(6px);
    color: var(--am-accent-text);
}

.launch-overlay strong[b-68iced7ca1] { font: 800 var(--am-fs-lg) var(--am-font-mono); letter-spacing: var(--am-track-label); }

.setup-remove-backdrop[b-68iced7ca1] {
    position: fixed;
    z-index: var(--am-z-modal);
    inset: 0;
    padding: var(--am-space-4);
    display: grid;
    place-items: center;
    background: rgba(0, 5, 4, .78);
    backdrop-filter: blur(4px);
}

.setup-remove-modal[b-68iced7ca1] {
    width: min(520px, 100%);
    padding: var(--am-space-5);
    display: grid;
    gap: var(--am-space-3);
    border: var(--am-border-width) solid var(--am-danger-border);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-3);
}

.setup-remove-modal h2[b-68iced7ca1] { margin: 0; color: var(--am-text-bright); font-size: var(--am-fs-h2); }
.setup-remove-modal p[b-68iced7ca1] { margin: 0; color: var(--am-text-muted); font-size: var(--am-fs-body); line-height: 1.55; }
.setup-remove-modal > div[b-68iced7ca1] { display: flex; justify-content: flex-end; gap: var(--am-space-2); }

/* --------------------------------------------------------- narrow view -- */

@media (max-width: 1100px) {
    .setup-crew[b-68iced7ca1] {
        top: auto;
        bottom: 72px;
        max-height: 40%;
    }
}

@media (max-width: 820px) {
    .setup-screen[b-68iced7ca1]::before { background: linear-gradient(180deg, rgba(2, 6, 7, .9) 0, rgba(2, 6, 7, .55) 45%, transparent 70%); }
    .setup-panel[b-68iced7ca1] { right: var(--am-space-3); width: auto; bottom: 64px; }
    .setup-crew[b-68iced7ca1] { display: none; }
    .setup-options.five[b-68iced7ca1], .setup-options.four[b-68iced7ca1] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .setup-options.three[b-68iced7ca1] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .advanced-grid[b-68iced7ca1] { grid-template-columns: 1fr; }
    .setup-title h1[b-68iced7ca1] { font-size: var(--am-fs-lg); }
}
.region-ineligible[b-68iced7ca1] {
    grid-column: 1 / -1;
    color: var(--am-warning, #efbe43);
    font-size: 12px;
    line-height: 1.45;
}
.setup-customize[b-68iced7ca1] { border-block: 1px solid var(--am-border-subtle); }
.setup-customize > summary[b-68iced7ca1] { display: flex; align-items: center; gap: 10px; padding: 14px 2px; color: var(--am-text-strong); cursor: pointer; list-style: none; }
.setup-customize > summary span[b-68iced7ca1] { display: grid; gap: 2px; }
.setup-customize > summary small[b-68iced7ca1] { color: var(--am-text-muted); font-size: 12px; font-weight: 400; }
.experience-presets.setup-options.three[b-68iced7ca1] { grid-template-columns:minmax(0,1fr); gap:var(--am-space-2); }
.experience-presets .experience-card[b-68iced7ca1] { position:relative; min-height:94px; padding:12px; display:grid; grid-template-columns:46px minmax(0,1fr) 22px; align-items:center; align-content:center; justify-items:stretch; gap:12px; overflow:hidden; border-color:var(--am-border-subtle); border-radius:var(--am-radius-md); background:color-mix(in srgb,var(--am-surface-2) 88%,transparent); text-align:left; box-shadow:none; transition:border-color var(--am-duration-fast) ease,background var(--am-duration-fast) ease,transform var(--am-duration-fast) ease,box-shadow var(--am-duration-fast) ease; }
.experience-presets .experience-card[b-68iced7ca1]::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:transparent; transition:background var(--am-duration-fast) ease; }
.experience-presets .experience-card:hover:not(:disabled)[b-68iced7ca1] { border-color:var(--am-border-accent); background:color-mix(in srgb,var(--am-accent) 7%,var(--am-surface-2)); transform:translateY(-1px); }
.experience-presets .experience-card.am-btn-active[b-68iced7ca1] { border-color:var(--am-accent); background:linear-gradient(100deg,color-mix(in srgb,var(--am-accent) 14%,var(--am-surface-2)),var(--am-surface-2)); box-shadow:0 6px 18px rgba(0,0,0,.18),inset 0 0 0 1px color-mix(in srgb,var(--am-accent) 16%,transparent); }
.experience-presets .experience-card.am-btn-active[b-68iced7ca1]::before { background:var(--am-accent); }
.experience-icon[b-68iced7ca1] { width:46px; height:46px; display:grid; place-items:center; border:1px solid var(--am-border-control); border-radius:var(--am-radius-md); background:var(--am-surface-1); color:var(--am-text-muted); }
.experience-icon .ms-sm[b-68iced7ca1] { font-size:24px; }
.experience-card.am-btn-active .experience-icon[b-68iced7ca1] { border-color:var(--am-border-accent); background:var(--am-accent-bg); color:var(--am-accent-text); box-shadow:0 0 16px color-mix(in srgb,var(--am-accent) 14%,transparent); }
.experience-copy[b-68iced7ca1] { min-width:0; display:grid; gap:4px; }
.experience-presets .experience-copy b[b-68iced7ca1] { color:var(--am-text-strong); font:800 var(--am-fs-body) var(--am-font-ui); letter-spacing:.045em; }
.experience-presets .experience-copy > span[b-68iced7ca1] { color:var(--am-text-muted); font:var(--am-fs-small)/1.4 var(--am-font-ui); }
.experience-presets .experience-copy small[b-68iced7ca1] { display:flex; align-items:center; gap:5px; color:var(--am-accent-text); font:700 var(--am-fs-micro) var(--am-font-ui); }
.experience-presets .experience-copy small .ms-sm[b-68iced7ca1] { font-size:14px; }
.experience-selected[b-68iced7ca1] { justify-self:end; color:var(--am-accent); font-size:19px; }
@media (prefers-reduced-motion:reduce){.experience-presets .experience-card[b-68iced7ca1],.experience-presets .experience-card[b-68iced7ca1]::before{transition:none}}
/* /Components/Pages/Saves.razor.rz.scp.css */
.saves-screen[b-4j52t6y592] {
    width: min(1180px, 96vw);
    align-self: start;
    padding-bottom: 48px;
    font-family: var(--am-font-ui);
}

.saves-screen > header[b-4j52t6y592] { margin-bottom: var(--am-space-5); }
.saves-screen h1[b-4j52t6y592] { margin: var(--am-space-2) 0 var(--am-space-1); color: var(--am-text-bright); font-size: 34px; }
.saves-screen header p[b-4j52t6y592] { margin: 0; color: var(--am-text-dim); }
.saves-screen header b[b-4j52t6y592] { color: var(--am-text-secondary); }

/* ---------------------------------------------------------- start block -- */

/* Starting a game is the point of this page, so the entry points sit at
   the top as equals instead of inside a collapsed disclosure. */
.start-actions[b-4j52t6y592] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--am-space-2);
    margin-bottom: var(--am-space-6);
}

.start-card[b-4j52t6y592] {
    min-height: 92px;
    padding: var(--am-space-3);
    display: flex;
    align-items: flex-start;
    gap: var(--am-space-3);
    border: var(--am-border-width) solid var(--am-border);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
    color: var(--am-text);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transition: border-color var(--am-dur-fast) var(--am-ease),
                background-color var(--am-dur-fast) var(--am-ease);
}

.start-card:hover:not(:disabled)[b-4j52t6y592] { border-color: var(--am-border-accent); background: var(--am-surface-3); }
.start-card:disabled[b-4j52t6y592] { opacity: .5; cursor: wait; }
.start-card.primary[b-4j52t6y592] { border-color: var(--am-border-accent); background: var(--am-accent-bg); }
.start-card.primary:hover[b-4j52t6y592] { background: var(--am-accent-bg-strong); }
.start-card.join[b-4j52t6y592] { cursor: default; }
.start-card.join:hover[b-4j52t6y592] { border-color: var(--am-border); background: var(--am-surface-1); }
.start-card > .ms[b-4j52t6y592] { margin-top: 2px; color: var(--am-accent); }
.start-card > span[b-4j52t6y592] { min-width: 0; flex: 1; display: grid; gap: var(--am-space-1); }
.start-card b[b-4j52t6y592] { color: var(--am-text-strong); font-size: var(--am-fs-lg); }
.start-card small[b-4j52t6y592] { color: var(--am-text-dim); font-size: var(--am-fs-body); line-height: 1.35; }

.coop-create-card[b-4j52t6y592] { cursor: default; }
.start-card.coop-create-card:hover[b-4j52t6y592] { border-color: var(--am-border); background: var(--am-surface-1); }
.coop-create-row[b-4j52t6y592] { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: var(--am-space-1); }
.coop-create-row .am-field[b-4j52t6y592] { width: 100%; min-width: 0; }
.coop-create-row .am-btn[b-4j52t6y592] { min-width: 70px; }

.join-row[b-4j52t6y592] {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--am-space-1);
}
.join-code[b-4j52t6y592] {
    width: 100%;
    min-width: 0;
    text-transform: uppercase;
    font: 800 var(--am-fs-lg) var(--am-font-mono);
    letter-spacing: .16em;
}
.join-submit[b-4j52t6y592] { min-width: 86px; white-space: nowrap; }

/* --------------------------------------------------------------- slots -- */

.lobby-message[b-4j52t6y592] {
    margin: 0 0 var(--am-space-4);
    padding: var(--am-space-2) var(--am-space-3);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    border: var(--am-border-width) solid;
    border-radius: var(--am-radius-sm);
    font-size: var(--am-fs-body);
}

.lobby-message.success[b-4j52t6y592] { border-color: var(--am-border-accent); color: var(--am-positive); }
.lobby-message.error[b-4j52t6y592] { border-color: var(--am-danger-border); color: var(--am-danger-text); }

.lobby-heading[b-4j52t6y592] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 var(--am-space-3);
}

.lobby-heading h2[b-4j52t6y592] { margin: 0; color: var(--am-text-strong); font-size: 20px; }

.slot-grid[b-4j52t6y592] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--am-space-3);
}

.save-slot[b-4j52t6y592] {
    display: flex;
    flex-direction: column;
    padding: var(--am-space-4);
    border: var(--am-border-width) solid var(--am-border);
    border-radius: var(--am-radius);
    background: linear-gradient(150deg, rgba(13, 29, 25, .96), rgba(3, 10, 9, .96));
    box-shadow: var(--am-shadow-2);
}

.slot-top[b-4j52t6y592] { min-height: 28px; display: flex; align-items: center; gap: var(--am-space-1); }
.slot-delete[b-4j52t6y592] { margin-left: auto; color: var(--am-danger-text); }
.slot-delete:hover:not(:disabled)[b-4j52t6y592] { border-color: var(--am-danger-border); background: var(--am-danger-bg); color: var(--am-text-bright); }
.save-slot h2[b-4j52t6y592] { margin: var(--am-space-3) 0 var(--am-space-2); color: var(--am-text-strong); font-size: 21px; }
.save-slot dl[b-4j52t6y592] { margin: 0 0 var(--am-space-3); display: grid; gap: var(--am-space-2); }
.save-slot dl div[b-4j52t6y592] { display: flex; justify-content: space-between; align-items: baseline; gap: var(--am-space-2); padding-bottom: var(--am-space-2); border-bottom: var(--am-border-width) solid var(--am-border-subtle); }
.save-slot dt[b-4j52t6y592] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); letter-spacing: var(--am-track-label); text-transform: uppercase; font-weight: 700; }
.save-slot dd[b-4j52t6y592] { margin: 0; color: var(--am-text-secondary); font-size: var(--am-fs-body); font-weight: 700; }
.save-slot dd.code[b-4j52t6y592] { color: var(--am-accent); font: 800 var(--am-fs-value) var(--am-font-mono); letter-spacing: .13em; }
.members[b-4j52t6y592] { margin-bottom: var(--am-space-3); color: var(--am-text-dim); font-size: var(--am-fs-body); }

.slot-play[b-4j52t6y592] {
    min-height: 40px;
    margin-top: auto;
    text-decoration: none;
}

.empty-lobbies[b-4j52t6y592] {
    padding: var(--am-space-8);
    display: grid;
    justify-items: center;
    gap: var(--am-space-3);
    border: var(--am-border-width) dashed var(--am-border-control);
    border-radius: var(--am-radius);
    color: var(--am-text-dim);
}

.empty-lobbies p[b-4j52t6y592] { margin: 0; }
.empty-lobbies .ms[b-4j52t6y592] { color: var(--am-border-control); }

.save-delete-backdrop[b-4j52t6y592] {
    position: fixed;
    z-index: var(--am-z-modal);
    inset: 0;
    padding: var(--am-space-4);
    display: grid;
    place-items: center;
    background: rgba(0, 5, 4, .78);
    backdrop-filter: blur(4px);
}

.save-delete-modal[b-4j52t6y592] {
    width: min(520px, 100%);
    padding: var(--am-space-5);
    display: grid;
    gap: var(--am-space-3);
    border: var(--am-border-width) solid var(--am-danger-border);
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-3);
}

.save-delete-modal h2[b-4j52t6y592] { margin: 0; color: var(--am-text-bright); font-size: var(--am-fs-h2); }
.save-delete-modal > p[b-4j52t6y592] { margin: 0; color: var(--am-text-muted); font-size: var(--am-fs-body); line-height: 1.55; }
.delete-scorecard-note[b-4j52t6y592] {
    padding: var(--am-space-3);
    display: flex;
    align-items: center;
    gap: var(--am-space-3);
    border: var(--am-border-width) solid var(--am-border-control);
    border-radius: var(--am-radius-sm);
    background: var(--am-surface-2);
}
.delete-scorecard-note.kept[b-4j52t6y592] { border-color: var(--am-border-accent); background: var(--am-accent-bg); }
.delete-scorecard-note > .ms[b-4j52t6y592] { color: var(--am-accent); }
.delete-scorecard-note > span[b-4j52t6y592] { display: grid; gap: 2px; }
.delete-scorecard-note b[b-4j52t6y592] { color: var(--am-text-strong); font-size: var(--am-fs-body); }
.delete-scorecard-note small[b-4j52t6y592] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.save-delete-actions[b-4j52t6y592] { display: flex; justify-content: flex-end; gap: var(--am-space-2); flex-wrap: wrap; }
.save-delete-actions .am-btn[b-4j52t6y592] { min-height: 38px; }
.save-delete-actions .delete-confirm[b-4j52t6y592] { margin-left: auto; }

@media (max-width: 1050px) {
    .start-actions[b-4j52t6y592] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 850px) {
    .saves-screen[b-4j52t6y592] { width: 100%; }
    .slot-grid[b-4j52t6y592] { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .saves-screen h1[b-4j52t6y592] { font-size: 28px; }
    .start-actions[b-4j52t6y592] { grid-template-columns: 1fr; }
    .coop-create-row[b-4j52t6y592] { grid-template-columns: 1fr 1fr; }
    .coop-create-row .am-field[b-4j52t6y592] { grid-column: 1 / -1; }
}
/* /Components/Pages/UiStyleLab.razor.rz.scp.css */
.lab-page[b-k3ecwhwvm0] {
    --lab-max: 1560px;
    min-height: 100%;
    background:
        radial-gradient(circle at 85% 4%, rgba(88, 203, 166, .1), transparent 32rem),
        linear-gradient(145deg, #020607, #07100e 58%, #020607);
    color: #d2dfdb;
    font-family: "Arial Narrow", Arial, sans-serif;
}

.lab-intro[b-k3ecwhwvm0] {
    width: min(var(--lab-max), calc(100% - 48px));
    margin: 0 auto;
    padding: clamp(54px, 8vw, 108px) 0 56px;
}

.lab-kicker[b-k3ecwhwvm0] { display: flex; align-items: center; gap: 8px; color: #77e1bf; font: 800 11px Consolas, monospace; letter-spacing: .15em; text-transform: uppercase; }
.lab-intro h1[b-k3ecwhwvm0] { max-width: 960px; margin: 16px 0 18px; color: #eef8f4; font-size: clamp(50px, 7vw, 98px); font-weight: 700; letter-spacing: -.055em; line-height: .92; }
.lab-intro h1:focus[b-k3ecwhwvm0] { outline: none; }
.lab-intro > p[b-k3ecwhwvm0] { max-width: 780px; margin: 0; color: #9bafa8; font-size: clamp(16px, 2vw, 20px); line-height: 1.55; }

.fixed-rules[b-k3ecwhwvm0] { margin-top: 32px; display: grid; grid-template-columns: repeat(3, minmax(0, 220px)); gap: 8px; }
.fixed-rules > span[b-k3ecwhwvm0] { padding: 12px; display: grid; grid-template-columns: 20px 1fr; align-items: center; border: 1px solid #30473f; background: #07110e; }
.fixed-rules > span[b-k3ecwhwvm0] >  .ms { grid-row: 1 / 3; color: #58cba6; }
.fixed-rules b[b-k3ecwhwvm0] { color: #e3eeeb; font-size: 12px; }.fixed-rules small[b-k3ecwhwvm0] { color: #879d95; font-size: 10px; }

.lab-jump[b-k3ecwhwvm0] { margin-top: 34px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }
.lab-jump a[b-k3ecwhwvm0] { min-width: 0; padding: 13px 15px; display: flex; align-items: center; gap: 10px; border: 1px solid #30473f; background: #07110e; color: #c8d8d3; font-size: 12px; font-weight: 800; text-decoration: none; }
.lab-jump a:hover[b-k3ecwhwvm0] { border-color: #4f9c83; background: #10231d; color: #eef8f4; }
.lab-jump a span[b-k3ecwhwvm0] { color: #799087; font: 700 9px Consolas, monospace; }

.concept-list[b-k3ecwhwvm0] { min-width: 0; display: grid; gap: 110px; padding: 18px 0 120px; }
.concept[b-k3ecwhwvm0] { min-width: 0; scroll-margin-top: 18px; }
.concept-heading[b-k3ecwhwvm0] { width: min(var(--lab-max), calc(100% - 48px)); margin: 0 auto 22px; display: grid; grid-template-columns: 52px minmax(240px, .65fr) minmax(320px, 1fr) 38px; align-items: center; gap: 18px; }
.concept-heading > *[b-k3ecwhwvm0] { min-width: 0; }
.concept-number[b-k3ecwhwvm0] { align-self: stretch; display: grid; place-items: center; border: 1px solid #30473f; color: #799087; font: 700 11px Consolas, monospace; }
.concept-heading span[b-k3ecwhwvm0] { color: #58cba6; font: 800 10px Consolas, monospace; letter-spacing: .13em; text-transform: uppercase; }
.concept-heading h2[b-k3ecwhwvm0] { margin: 4px 0 0; color: #eef8f4; font-size: 25px; font-weight: 700; }
.concept-heading p[b-k3ecwhwvm0] { max-width: 660px; margin: 0; color: #9bafa8; font-size: 13px; line-height: 1.5; }
.concept-heading > a[b-k3ecwhwvm0] { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #30473f; color: #9bafa8; text-decoration: none; }

/* The palette and layout below are intentionally single-source. Theme blocks
   at the end may only vary treatment variables and selectors—not color roles
   or workspace geometry. */
.theme-frame[b-k3ecwhwvm0] {
    --bg: #020607;
    --surface-0: #040b09;
    --surface-1: #07110e;
    --surface-2: #0a1713;
    --surface-3: #10231d;
    --glass: rgba(4, 10, 9, .96);
    --line-subtle: #263a34;
    --line: #30473f;
    --line-control: #395349;
    --line-strong: #50665f;
    --text-bright: #eef8f4;
    --text-strong: #e3eeeb;
    --text: #d2dfdb;
    --text-secondary: #c8d8d3;
    --muted: #9bafa8;
    --dim: #879d95;
    --faint: #799087;
    --accent: #58cba6;
    --accent-strong: #77e1bf;
    --accent-bg: #102a22;
    --accent-bg-strong: #15352c;
    --accent-text: #d7f5eb;
    --on-accent: #03100c;
    --good: #68d7ae;
    --warn: #d7b861;
    --warn-bg: #2a1e08;
    --danger: #ff766d;
    --danger-bg: #26100d;
    --panel-radius: 4px;
    --control-radius: 3px;
    --chip-radius: 999px;
    --border-width: 1px;
    --panel-shadow: 0 10px 30px rgba(0, 0, 0, .7);
    --control-shadow: none;
    --font-ui: "Arial Narrow", Arial, sans-serif;
    --font-data: Consolas, "Cascadia Mono", monospace;
    --label-track: .1em;
    width: min(var(--lab-max), calc(100% - 24px));
    max-width: calc(100% - 24px);
    min-width: 0;
    margin: 0 auto;
    padding: 12px;
    overflow-x: auto;
    border: var(--border-width) solid var(--line-strong);
    border-radius: calc(var(--panel-radius) + 4px);
    background: var(--surface-0);
    box-shadow: 0 34px 100px rgba(0, 0, 0, .48);
    color: var(--text);
    color-scheme: dark;
    font-family: var(--font-ui);
    font-size: 12px;
    line-height: 1.35;
}

.theme-frame button[b-k3ecwhwvm0], .theme-frame input[b-k3ecwhwvm0], .theme-frame select[b-k3ecwhwvm0] { font: inherit; }
.theme-frame button[b-k3ecwhwvm0] { border-radius: var(--control-radius); box-shadow: var(--control-shadow); }
.theme-frame button:focus-visible[b-k3ecwhwvm0], .theme-frame input:focus-visible[b-k3ecwhwvm0], .theme-frame select:focus-visible[b-k3ecwhwvm0] { outline: 2px solid var(--accent-strong); outline-offset: 2px; }

.screen-label[b-k3ecwhwvm0] { min-width: 1160px; min-height: 38px; padding: 0 4px; display: flex; align-items: center; gap: 8px; color: var(--text-strong); }
.screen-label > span[b-k3ecwhwvm0] { width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid var(--line-control); border-radius: var(--control-radius); color: var(--accent); font: 800 9px var(--font-data); }
.screen-label b[b-k3ecwhwvm0] { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }.screen-label small[b-k3ecwhwvm0] { margin-left: auto; color: var(--faint); font: 9px var(--font-data); }
.screen-label.second[b-k3ecwhwvm0] { margin-top: 16px; }

.game-screen[b-k3ecwhwvm0] { position: relative; width: 100%; min-width: 1160px; overflow: hidden; border: var(--border-width) solid var(--line-strong); border-radius: var(--panel-radius); background: var(--bg); box-shadow: var(--panel-shadow); }
.live-screen[b-k3ecwhwvm0] { height: 720px; }.overview-screen[b-k3ecwhwvm0] { height: 704px; }

.game-topbar[b-k3ecwhwvm0] { position: relative; z-index: 10; height: 50px; padding: 0 8px; display: grid; grid-template-columns: 178px minmax(0, 1fr) auto; align-items: stretch; border-bottom: var(--border-width) solid var(--line); background: var(--surface-1); }
.game-brand[b-k3ecwhwvm0] { padding: 0 10px; display: flex; align-items: center; gap: 9px; border: 0; background: transparent; color: var(--text-strong); text-align: left; }
.game-brand[b-k3ecwhwvm0] >  .ms { --am-icon-size: 20px; color: var(--accent); }.game-brand span[b-k3ecwhwvm0] { display: grid; line-height: 1; }.game-brand b[b-k3ecwhwvm0] { letter-spacing: .1em; }.game-brand small[b-k3ecwhwvm0] { margin-top: 4px; color: var(--dim); font-size: 9px; }

.top-metrics[b-k3ecwhwvm0] { min-width: 0; display: flex; justify-content: center; align-items: stretch; }
.top-metrics button[b-k3ecwhwvm0] { min-width: 105px; padding: 0 10px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-inline: 1px solid transparent; background: transparent; color: var(--dim); text-align: left; }
.top-metrics button[b-k3ecwhwvm0] >  .ms { --am-icon-size: 15px; }.top-metrics button span[b-k3ecwhwvm0] { display: grid; }.top-metrics button b[b-k3ecwhwvm0] { color: var(--text-strong); font: 700 11px var(--font-data); }.top-metrics button small[b-k3ecwhwvm0] { color: var(--dim); font-size: 8px; }.top-metrics button.is-active[b-k3ecwhwvm0] { border-color: var(--line); background: var(--accent-bg); color: var(--accent); }.top-metrics .profit b[b-k3ecwhwvm0] { color: var(--good); }

.top-actions[b-k3ecwhwvm0] { display: flex; align-items: center; gap: 7px; }
.advisor[b-k3ecwhwvm0] { position: relative; min-height: 32px; padding: 0 10px; display: flex; align-items: center; gap: 6px; border: var(--border-width) solid var(--line-control); background: var(--surface-2); color: var(--text-secondary); font-size: 9px; font-weight: 800; text-transform: uppercase; }.advisor i[b-k3ecwhwvm0] { position: absolute; top: 4px; right: 4px; width: 5px; height: 5px; border-radius: 50%; background: var(--warn); }
.game-clock[b-k3ecwhwvm0] { display: flex; align-items: center; gap: 5px; color: var(--dim); }.game-clock b[b-k3ecwhwvm0] { color: var(--text-secondary); font: 700 10px var(--font-data); }
.speed-group[b-k3ecwhwvm0], .density-group[b-k3ecwhwvm0], .period-group[b-k3ecwhwvm0] { display: flex; border: var(--border-width) solid var(--line-control); border-radius: var(--control-radius); background: var(--surface-0); }
.speed-group button[b-k3ecwhwvm0] { min-width: 30px; height: 30px; padding: 0 7px; border: 0; border-right: var(--border-width) solid var(--line-control); border-radius: 0; background: transparent; color: var(--dim); font: 700 9px var(--font-data); }.speed-group button:last-child[b-k3ecwhwvm0] { border: 0; }.speed-group button.is-active[b-k3ecwhwvm0] { background: var(--accent-bg-strong); color: var(--accent-strong); }

.game-stage[b-k3ecwhwvm0] { position: relative; height: calc(100% - 50px); display: grid; grid-template-columns: minmax(0, 72fr) minmax(360px, 28fr); }
.map-canvas[b-k3ecwhwvm0] { position: relative; min-width: 0; overflow: hidden; border-right: var(--border-width) solid var(--line-strong); background-color: #07100f; background-image: linear-gradient(rgba(88,203,166,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(88,203,166,.035) 1px, transparent 1px), radial-gradient(circle at 58% 42%, rgba(88,203,166,.08), transparent 35%); background-size: 34px 34px, 34px 34px, auto; }
.map-land[b-k3ecwhwvm0], .route-layer[b-k3ecwhwvm0] { position: absolute; inset: 0; width: 100%; height: 100%; }.map-land path[b-k3ecwhwvm0] { fill: #0b1a16; stroke: #263a34; stroke-width: 1.5; }.route-layer path[b-k3ecwhwvm0] { fill: none; stroke: var(--accent); stroke-width: 2; stroke-linecap: round; opacity: .72; }.route-layer path.pressure[b-k3ecwhwvm0] { stroke: var(--warn); stroke-dasharray: 7 5; }.route-layer .plane path[b-k3ecwhwvm0] { fill: var(--accent-strong); stroke: none; opacity: 1; filter: drop-shadow(0 0 4px rgba(88,203,166,.5)); }

.airport[b-k3ecwhwvm0] { position: absolute; z-index: 2; display: grid; justify-items: center; color: var(--text-strong); line-height: 1; }.airport i[b-k3ecwhwvm0] { width: 10px; height: 10px; margin-bottom: 4px; border: 2px solid var(--surface-0); border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 1px var(--accent); }.airport b[b-k3ecwhwvm0] { font: 800 9px var(--font-data); }.airport small[b-k3ecwhwvm0] { margin-top: 3px; color: var(--dim); font: 7px var(--font-data); }.airport.is-selected i[b-k3ecwhwvm0] { width: 13px; height: 13px; box-shadow: 0 0 0 2px var(--accent), 0 0 18px rgba(88,203,166,.55); }.airport.is-warn i[b-k3ecwhwvm0] { background: var(--warn); box-shadow: 0 0 0 1px var(--warn); }
.a-lhr[b-k3ecwhwvm0] { top: 62%; left: 12%; }.a-ams[b-k3ecwhwvm0] { top: 42%; left: 47%; }.a-ber[b-k3ecwhwvm0] { top: 58%; left: 63%; }.a-cdg[b-k3ecwhwvm0] { top: 74%; left: 74%; }.a-cph[b-k3ecwhwvm0] { top: 21%; left: 85%; }

.alert-stack[b-k3ecwhwvm0] { position: absolute; z-index: 4; top: 12px; left: 12px; width: 235px; display: grid; gap: 6px; }
.network-alert[b-k3ecwhwvm0] { min-height: 48px; padding: 7px 9px; display: grid; grid-template-columns: 20px 1fr 16px; align-items: center; gap: 7px; border: var(--border-width) solid var(--line-control); background: var(--glass); color: var(--warn); text-align: left; box-shadow: var(--panel-shadow); backdrop-filter: blur(8px); }.network-alert span[b-k3ecwhwvm0] { display: grid; }.network-alert b[b-k3ecwhwvm0] { color: var(--text-strong); font-size: 10px; }.network-alert small[b-k3ecwhwvm0] { margin-top: 2px; color: var(--dim); font-size: 8px; }.network-alert.danger[b-k3ecwhwvm0] { color: var(--danger); }

.map-tools[b-k3ecwhwvm0] { position: absolute; z-index: 4; bottom: 14px; left: 14px; display: grid; gap: 4px; }.map-tools button[b-k3ecwhwvm0] { width: 32px; height: 32px; display: grid; place-items: center; border: var(--border-width) solid var(--line-control); background: var(--glass); color: var(--text-secondary); box-shadow: var(--control-shadow); }
.map-display-dock[b-k3ecwhwvm0] { position: absolute; z-index: 4; right: 14px; bottom: 14px; display: flex; border: var(--border-width) solid var(--line-control); border-radius: var(--control-radius); background: var(--glass); box-shadow: var(--panel-shadow); }.map-display-dock button[b-k3ecwhwvm0] { min-height: 33px; padding: 0 10px; display: flex; align-items: center; gap: 5px; border: 0; border-right: var(--border-width) solid var(--line-control); border-radius: 0; background: transparent; color: var(--dim); font-size: 9px; }.map-display-dock button:last-child[b-k3ecwhwvm0] { border: 0; }.map-display-dock button.is-active[b-k3ecwhwvm0] { background: var(--accent-bg); color: var(--accent-strong); }
.map-tooltip[b-k3ecwhwvm0] { position: absolute; z-index: 5; top: 43%; left: 54%; padding: 9px 11px; display: grid; border: var(--border-width) solid var(--line-strong); border-radius: var(--control-radius); background: var(--glass); box-shadow: var(--panel-shadow); }.map-tooltip .tooltip-label[b-k3ecwhwvm0] { color: var(--accent); font: 800 7px var(--font-data); letter-spacing: var(--label-track); }.map-tooltip b[b-k3ecwhwvm0] { margin-top: 3px; color: var(--text-strong); font-size: 9px; }.map-tooltip small[b-k3ecwhwvm0] { margin-top: 2px; color: var(--dim); font-size: 7px; }.map-tooltip > i[b-k3ecwhwvm0] { position: absolute; bottom: -5px; left: 24px; width: 9px; height: 9px; border-right: var(--border-width) solid var(--line-strong); border-bottom: var(--border-width) solid var(--line-strong); background: var(--glass); transform: rotate(45deg); }

.game-sidebar[b-k3ecwhwvm0] { position: relative; min-width: 0; display: flex; flex-direction: column; overflow: hidden; background: var(--surface-1); }
.sidebar-nav[b-k3ecwhwvm0] { min-height: 38px; padding: 4px 8px; display: flex; align-items: center; gap: 4px; border-bottom: var(--border-width) solid var(--line); }.sidebar-nav > span[b-k3ecwhwvm0] { flex: 1; }.sidebar-nav button[b-k3ecwhwvm0], .icon-button[b-k3ecwhwvm0] { width: 29px; height: 29px; display: grid; place-items: center; border: var(--border-width) solid transparent; background: transparent; color: var(--dim); }.sidebar-nav button:hover[b-k3ecwhwvm0], .icon-button:hover[b-k3ecwhwvm0] { border-color: var(--line-control); background: var(--surface-3); color: var(--text-strong); }.sidebar-nav button:disabled[b-k3ecwhwvm0] { opacity: .35; }
.sidebar-head[b-k3ecwhwvm0] { padding: 13px 14px 12px; border-bottom: var(--border-width) solid var(--line); }.eyebrow[b-k3ecwhwvm0] { color: var(--accent); font: 800 8px var(--font-data); letter-spacing: var(--label-track); text-transform: uppercase; }.sidebar-head > div:nth-child(2)[b-k3ecwhwvm0] { margin-top: 5px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }.sidebar-head h3[b-k3ecwhwvm0] { margin: 0; color: var(--text-bright); font-size: 18px; font-weight: 700; }.sidebar-head p[b-k3ecwhwvm0] { margin: 4px 0 0; color: var(--dim); font-size: 9px; }.sidebar-head-actions[b-k3ecwhwvm0] { margin-top: 11px; display: flex; gap: 6px; }
.status-chip[b-k3ecwhwvm0] { width: max-content; padding: 3px 7px; display: inline-flex; align-items: center; gap: 4px; border: var(--border-width) solid rgba(104,215,174,.35); border-radius: var(--chip-radius); background: var(--accent-bg); color: var(--good); font: normal 800 7px var(--font-ui); text-transform: uppercase; }.status-chip i[b-k3ecwhwvm0] { width: 5px; height: 5px; border-radius: 50%; background: currentColor; }.status-chip.warning[b-k3ecwhwvm0] { border-color: rgba(215,184,97,.4); background: var(--warn-bg); color: var(--warn); }
.primary-button[b-k3ecwhwvm0], .secondary-button[b-k3ecwhwvm0], .text-button[b-k3ecwhwvm0] { min-height: 31px; padding: 0 11px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; font-size: 9px; font-weight: 800; }.primary-button[b-k3ecwhwvm0] { border: var(--border-width) solid var(--accent-strong); background: var(--accent); color: var(--on-accent); }.secondary-button[b-k3ecwhwvm0] { border: var(--border-width) solid var(--line-control); background: var(--surface-2); color: var(--text-secondary); }.text-button[b-k3ecwhwvm0] { border: 0; background: transparent; color: var(--accent-strong); }

.sidebar-tabs[b-k3ecwhwvm0] { display: flex; min-height: 36px; border-bottom: var(--border-width) solid var(--line); }.sidebar-tabs button[b-k3ecwhwvm0] { position: relative; flex: 1; border: 0; border-radius: 0; background: transparent; color: var(--dim); font-size: 9px; font-weight: 800; }.sidebar-tabs button.is-active[b-k3ecwhwvm0] { background: var(--accent-bg); color: var(--accent-strong); }.sidebar-tabs button.is-active[b-k3ecwhwvm0]::after { content: ""; position: absolute; right: 8px; bottom: -1px; left: 8px; height: 2px; background: var(--accent); }.sidebar-tabs button i[b-k3ecwhwvm0] { display: inline-block; width: 5px; height: 5px; margin-left: 3px; border-radius: 50%; background: var(--warn); }
.sidebar-scroll[b-k3ecwhwvm0] { min-height: 0; flex: 1; overflow-y: auto; }.metric-strip[b-k3ecwhwvm0] { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: var(--border-width) solid var(--line); }.metric-strip > span[b-k3ecwhwvm0] { padding: 9px 10px; display: grid; border-right: var(--border-width) solid var(--line); }.metric-strip > span:last-child[b-k3ecwhwvm0] { border: 0; }.metric-strip small[b-k3ecwhwvm0] { color: var(--dim); font-size: 8px; }.metric-strip b[b-k3ecwhwvm0] { margin-top: 3px; color: var(--text-strong); font: 700 13px var(--font-data); }.metric-strip em[b-k3ecwhwvm0] { margin-top: 2px; color: var(--dim); font: normal 7px var(--font-data); }
.good[b-k3ecwhwvm0] { color: var(--good) !important; }.warn[b-k3ecwhwvm0] { color: var(--warn) !important; }

.sidebar-section[b-k3ecwhwvm0] { margin: 9px 10px 0; padding: 10px; border: var(--border-width) solid var(--line-subtle); border-radius: var(--panel-radius); background: var(--surface-0); }.sidebar-section > header[b-k3ecwhwvm0] { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.sidebar-section > header > span[b-k3ecwhwvm0] { display: grid; }.sidebar-section > header b[b-k3ecwhwvm0] { color: var(--text-strong); font-size: 10px; }.sidebar-section > header small[b-k3ecwhwvm0] { margin-top: 2px; color: var(--dim); font-size: 8px; }.sidebar-section > header em[b-k3ecwhwvm0] { color: var(--accent); font: normal 800 10px var(--font-data); }
.progress-track[b-k3ecwhwvm0] { height: 5px; overflow: hidden; border-radius: var(--chip-radius); background: var(--surface-3); }.progress-track i[b-k3ecwhwvm0] { height: 100%; display: block; background: var(--accent); }.capacity-section .progress-track[b-k3ecwhwvm0] { margin-top: 8px; }
.mini-chart[b-k3ecwhwvm0] { height: 38px; margin-top: 8px; display: flex; align-items: end; gap: 3px; border-bottom: var(--border-width) solid var(--line-subtle); }.mini-chart span[b-k3ecwhwvm0] { flex: 1; background: var(--accent-bg-strong); border-top: var(--border-width) solid var(--accent); }
.field-row[b-k3ecwhwvm0] { margin-top: 9px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.field-row label[b-k3ecwhwvm0], .range-field[b-k3ecwhwvm0] { display: grid; gap: 4px; color: var(--dim); font-size: 8px; font-weight: 800; }.field-row select[b-k3ecwhwvm0], .overview-actions select[b-k3ecwhwvm0], .search-field input[b-k3ecwhwvm0] { min-width: 0; height: 30px; border: var(--border-width) solid var(--line-control); border-radius: var(--control-radius); background-color: var(--surface-1); color: var(--text-secondary); font-size: 9px; }.field-row select[b-k3ecwhwvm0] { width: 100%; padding: 0 24px 0 8px; }.range-field[b-k3ecwhwvm0] { margin-top: 9px; }.range-field > span[b-k3ecwhwvm0] { display: flex; justify-content: space-between; }.range-field b[b-k3ecwhwvm0] { color: var(--text-strong); font-family: var(--font-data); }.range-field input[b-k3ecwhwvm0] { width: 100%; accent-color: var(--accent); }
.toggle-line[b-k3ecwhwvm0] { min-height: 37px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: var(--border-width) solid var(--line-subtle); }.toggle-line:first-of-type[b-k3ecwhwvm0] { margin-top: 7px; }.toggle-line > span[b-k3ecwhwvm0] { display: grid; }.toggle-line b[b-k3ecwhwvm0] { color: var(--text-secondary); font-size: 9px; }.toggle-line small[b-k3ecwhwvm0] { color: var(--dim); font-size: 7px; }.toggle-line label[b-k3ecwhwvm0] { position: relative; }.toggle-line input[b-k3ecwhwvm0] { position: absolute; opacity: 0; }.toggle-line label > i[b-k3ecwhwvm0] { position: relative; width: 31px; height: 17px; display: block; border: var(--border-width) solid var(--line-control); border-radius: var(--chip-radius); background: var(--surface-3); }.toggle-line label > i[b-k3ecwhwvm0]::after { content: ""; position: absolute; top: 2px; left: 2px; width: 11px; height: 11px; border-radius: 50%; background: var(--dim); transition: .14s; }.toggle-line input:checked + i[b-k3ecwhwvm0] { border-color: var(--accent); background: var(--accent-bg-strong); }.toggle-line input:checked + i[b-k3ecwhwvm0]::after { left: 16px; background: var(--accent-strong); }
.route-list[b-k3ecwhwvm0] { padding: 0; overflow: hidden; }.route-list > header[b-k3ecwhwvm0] { padding: 9px 10px; border-bottom: var(--border-width) solid var(--line-subtle); }.route-row[b-k3ecwhwvm0] { width: 100%; min-height: 41px; padding: 5px 8px; display: grid; grid-template-columns: 31px 1fr auto 16px; align-items: center; gap: 7px; border: 0; border-bottom: var(--border-width) solid var(--line-subtle); border-radius: 0; background: transparent; color: var(--dim); text-align: left; }.route-row:last-child[b-k3ecwhwvm0] { border: 0; }.route-row.is-selected[b-k3ecwhwvm0] { background: var(--accent-bg); }.route-row > span[b-k3ecwhwvm0] { display: grid; }.route-row > span b[b-k3ecwhwvm0] { color: var(--text-secondary); font-size: 9px; }.route-row > span small[b-k3ecwhwvm0] { margin-top: 2px; color: var(--dim); font-size: 7px; }.route-row em[b-k3ecwhwvm0] { font: normal 8px var(--font-data); }.route-code[b-k3ecwhwvm0] { min-width: 28px; padding: 4px; border: var(--border-width) solid var(--line-control); border-radius: var(--control-radius); background: var(--surface-2); color: var(--accent); font: normal 800 8px var(--font-data); text-align: center; }.route-code.warning[b-k3ecwhwvm0] { border-color: var(--warn); color: var(--warn); }
.empty-state[b-k3ecwhwvm0] { display: grid; grid-template-columns: 24px 1fr auto; align-items: center; gap: 8px; color: var(--faint); }.empty-state span[b-k3ecwhwvm0] { display: grid; }.empty-state b[b-k3ecwhwvm0] { color: var(--text-secondary); font-size: 9px; }.empty-state small[b-k3ecwhwvm0] { color: var(--dim); font-size: 7px; }.empty-state .secondary-button[b-k3ecwhwvm0] { min-height: 27px; }
.sidebar-footer[b-k3ecwhwvm0] { min-height: 47px; padding: 7px 10px; display: flex; justify-content: flex-end; gap: 6px; border-top: var(--border-width) solid var(--line); background: var(--surface-2); }
.game-toast[b-k3ecwhwvm0] { position: absolute; z-index: 14; right: calc(28% + 18px); bottom: 17px; min-width: 260px; padding: 9px 10px; display: grid; grid-template-columns: 19px 1fr 20px; align-items: center; gap: 8px; border: var(--border-width) solid var(--line-strong); border-radius: var(--control-radius); background: var(--glass); box-shadow: var(--panel-shadow); color: var(--good); }.game-toast span[b-k3ecwhwvm0] { display: grid; }.game-toast b[b-k3ecwhwvm0] { color: var(--text-strong); font-size: 9px; }.game-toast small[b-k3ecwhwvm0] { margin-top: 2px; color: var(--dim); font-size: 7px; }.game-toast button[b-k3ecwhwvm0] { width: 20px; height: 20px; display: grid; place-items: center; border: 0; background: transparent; color: var(--dim); }

/* Overview: identical geometry in all ten treatments. */
.overview-backdrop[b-k3ecwhwvm0] { height: calc(100% - 50px); padding: 15px; background: radial-gradient(circle at 50% 40%, rgba(88,203,166,.055), transparent 40%), #030806; }
.overview-panel[b-k3ecwhwvm0] { height: 100%; display: flex; flex-direction: column; overflow: hidden; border: var(--border-width) solid var(--line-strong); border-radius: var(--panel-radius); background: var(--surface-1); box-shadow: var(--panel-shadow); }
.overview-header[b-k3ecwhwvm0] { min-height: 43px; padding: 5px 8px; display: grid; grid-template-columns: 72px 1fr 30px; align-items: center; gap: 8px; border-bottom: var(--border-width) solid var(--line); background: var(--surface-2); }.history-buttons[b-k3ecwhwvm0] { display: flex; gap: 3px; }.history-buttons button[b-k3ecwhwvm0] { width: 29px; height: 29px; display: grid; place-items: center; border: var(--border-width) solid transparent; background: transparent; color: var(--dim); }.history-buttons button:disabled[b-k3ecwhwvm0] { opacity: .35; }
.overview-sections[b-k3ecwhwvm0] { display: flex; align-self: stretch; justify-content: center; gap: 2px; }.overview-sections button[b-k3ecwhwvm0] { position: relative; min-width: 78px; padding: 0 12px; border: 0; border-radius: 0; background: transparent; color: var(--dim); font-size: 9px; font-weight: 800; text-transform: uppercase; }.overview-sections button.is-active[b-k3ecwhwvm0] { background: var(--accent-bg); color: var(--accent-strong); }.overview-sections button.is-active[b-k3ecwhwvm0]::after { content: ""; position: absolute; right: 10px; bottom: -5px; left: 10px; height: 2px; background: var(--accent); }
.overview-content[b-k3ecwhwvm0] { min-height: 0; flex: 1; padding: 15px; overflow: auto; }
.overview-title-row[b-k3ecwhwvm0] { display: flex; align-items: center; justify-content: space-between; gap: 18px; }.overview-title-row h3[b-k3ecwhwvm0] { margin: 3px 0 2px; color: var(--text-bright); font-size: 23px; }.overview-title-row p[b-k3ecwhwvm0] { margin: 0; color: var(--dim); font-size: 9px; }
.overview-actions[b-k3ecwhwvm0] { display: flex; align-items: center; gap: 6px; }.overview-actions select[b-k3ecwhwvm0] { width: 118px; padding: 0 24px 0 8px; }.overview-actions .secondary-button b[b-k3ecwhwvm0] { min-width: 15px; padding: 1px 4px; border-radius: var(--chip-radius); background: var(--surface-3); color: var(--accent); font: 700 7px var(--font-data); }
.search-field[b-k3ecwhwvm0] { position: relative; width: 180px; }.search-field[b-k3ecwhwvm0] >  .ms { position: absolute; z-index: 1; top: 8px; left: 8px; color: var(--faint); font-size: 14px; }.search-field input[b-k3ecwhwvm0] { width: 100%; padding: 0 8px 0 27px; }

.overview-kpis[b-k3ecwhwvm0] { margin-top: 12px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }.overview-kpis section[b-k3ecwhwvm0] { position: relative; min-height: 84px; padding: 11px 12px; overflow: hidden; border: var(--border-width) solid var(--line); border-radius: var(--panel-radius); background: var(--surface-0); box-shadow: var(--control-shadow); }.overview-kpis section > small[b-k3ecwhwvm0] { display: block; margin-left: 26px; color: var(--dim); font-size: 8px; }.overview-kpis section > b[b-k3ecwhwvm0] { display: block; margin-top: 7px; color: var(--text-strong); font: 700 18px var(--font-data); }.overview-kpis section > em[b-k3ecwhwvm0] { position: absolute; top: 39px; right: 11px; color: var(--dim); font: normal 7px var(--font-data); }.kpi-icon[b-k3ecwhwvm0] { position: absolute; top: 8px; left: 10px; width: 21px; height: 21px; display: grid; place-items: center; border: var(--border-width) solid var(--line-control); border-radius: var(--control-radius); background: var(--accent-bg); color: var(--accent); }.kpi-icon[b-k3ecwhwvm0] >  .ms { --am-icon-size: 13px; }.overview-kpis .progress-track[b-k3ecwhwvm0] { position: absolute; right: 11px; bottom: 10px; left: 11px; }
.sparkline[b-k3ecwhwvm0] { position: absolute; right: 10px; bottom: 8px; left: 10px; height: 17px; display: flex; align-items: end; gap: 3px; }.sparkline i[b-k3ecwhwvm0] { flex: 1; height: 28%; background: var(--accent-bg-strong); border-top: 1px solid var(--accent); }.sparkline i:nth-child(2)[b-k3ecwhwvm0],.sparkline i:nth-child(5)[b-k3ecwhwvm0]{height:45%}.sparkline i:nth-child(3)[b-k3ecwhwvm0]{height:35%}.sparkline i:nth-child(4)[b-k3ecwhwvm0],.sparkline i:nth-child(7)[b-k3ecwhwvm0]{height:65%}.sparkline i:nth-child(6)[b-k3ecwhwvm0]{height:53%}.sparkline i:nth-child(8)[b-k3ecwhwvm0]{height:90%;background:var(--accent)}

.overview-grid[b-k3ecwhwvm0] { margin-top: 8px; display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(300px, .7fr); gap: 8px; }.overview-table-card[b-k3ecwhwvm0], .overview-side > section[b-k3ecwhwvm0] { border: var(--border-width) solid var(--line); border-radius: var(--panel-radius); background: var(--surface-0); box-shadow: var(--control-shadow); }.overview-table-card[b-k3ecwhwvm0] { min-width: 0; overflow: hidden; }.overview-table-card > header[b-k3ecwhwvm0] { min-height: 47px; padding: 8px 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: var(--border-width) solid var(--line); }.overview-table-card h4[b-k3ecwhwvm0] { margin: 2px 0 0; color: var(--text-strong); font-size: 12px; }.table-tools[b-k3ecwhwvm0] { display: flex; align-items: center; gap: 5px; }.density-group button[b-k3ecwhwvm0], .period-group button[b-k3ecwhwvm0] { min-height: 27px; padding: 0 8px; border: 0; border-right: var(--border-width) solid var(--line-control); border-radius: 0; background: transparent; color: var(--dim); font: 700 7px var(--font-data); }.density-group button:last-child[b-k3ecwhwvm0],.period-group button:last-child[b-k3ecwhwvm0]{border:0}.density-group button.is-active[b-k3ecwhwvm0],.period-group button.is-active[b-k3ecwhwvm0]{background:var(--accent-bg);color:var(--accent-strong)}
.overview-table[b-k3ecwhwvm0] { min-width: 720px; }.overview-table-head[b-k3ecwhwvm0],.overview-table-row[b-k3ecwhwvm0]{display:grid;grid-template-columns:minmax(180px,1.5fr) 90px 65px 100px 60px 50px 90px 24px;align-items:center;column-gap:8px}.overview-table-head[b-k3ecwhwvm0]{min-height:31px;padding:0 10px;border-bottom:var(--border-width) solid var(--line);background:var(--surface-2);color:var(--dim);font:800 7px var(--font-data);letter-spacing:.05em;text-transform:uppercase}.overview-table-head span:first-child[b-k3ecwhwvm0]{display:flex;align-items:center;gap:4px}.overview-table-row[b-k3ecwhwvm0]{min-height:48px;padding:0 10px;border-bottom:var(--border-width) solid var(--line-subtle);color:var(--dim);font:8px var(--font-data)}.overview-table-row.is-selected[b-k3ecwhwvm0]{background:var(--accent-bg)}.overview-table-row>span:first-child[b-k3ecwhwvm0]{min-width:0;display:grid;grid-template-columns:31px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:8px}.overview-table-row .route-code[b-k3ecwhwvm0]{grid-row:1/3}.overview-table-row>span:first-child b[b-k3ecwhwvm0]{overflow:hidden;color:var(--text-secondary);font:800 9px var(--font-ui);text-overflow:ellipsis;white-space:nowrap}.overview-table-row>span:first-child small[b-k3ecwhwvm0]{color:var(--dim);font:7px var(--font-ui)}.overview-table-row>span:nth-child(4)[b-k3ecwhwvm0]{display:flex;align-items:center;gap:5px}.cell-meter[b-k3ecwhwvm0]{width:38px;height:4px;overflow:hidden;border-radius:var(--chip-radius);background:var(--surface-3)}.cell-meter b[b-k3ecwhwvm0]{height:100%;display:block;background:var(--accent)}.cell-meter.warning b[b-k3ecwhwvm0]{background:var(--warn)}.overview-table-row>span:last-child button[b-k3ecwhwvm0]{width:22px;height:22px;display:grid;place-items:center;border:0;background:transparent;color:var(--dim)}
.table-footer[b-k3ecwhwvm0]{min-height:39px;padding:0 10px;display:flex;align-items:center;justify-content:space-between;color:var(--dim);font-size:8px}.table-footer>div[b-k3ecwhwvm0]{display:flex;gap:3px}.table-footer button[b-k3ecwhwvm0]{width:25px;height:25px;display:grid;place-items:center;border:var(--border-width) solid var(--line-control);background:var(--surface-1);color:var(--dim);font:700 8px var(--font-data)}.table-footer button.is-active[b-k3ecwhwvm0]{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-strong)}.table-footer button:disabled[b-k3ecwhwvm0]{opacity:.35}

.overview-side[b-k3ecwhwvm0] { display: grid; align-content: start; gap: 8px; }.side-chart[b-k3ecwhwvm0] { padding: 10px; }.side-chart > header[b-k3ecwhwvm0] { display: flex; align-items: center; justify-content: space-between; gap: 7px; }.side-chart > header > span[b-k3ecwhwvm0] { display: grid; }.side-chart b[b-k3ecwhwvm0] { color: var(--text-strong); font-size: 10px; }.side-chart small[b-k3ecwhwvm0] { color: var(--dim); font-size: 7px; }.side-chart svg[b-k3ecwhwvm0] { width: 100%; height: 103px; margin-top: 7px; overflow: visible; border-bottom: var(--border-width) solid var(--line-subtle); background-image: linear-gradient(var(--line-subtle) 1px, transparent 1px); background-size: 100% 25%; }.chart-area[b-k3ecwhwvm0] { fill: var(--accent-bg); opacity: .75; }.chart-line[b-k3ecwhwvm0] { fill: none; stroke: var(--accent); stroke-width: 2; }.chart-legend[b-k3ecwhwvm0] { margin-top: 7px; display: flex; align-items: center; gap: 5px; color: var(--dim); font-size: 7px; }.chart-legend i[b-k3ecwhwvm0] { width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }.chart-legend b[b-k3ecwhwvm0] { margin-left: auto; font: 700 9px var(--font-data); }
.forecast-notice[b-k3ecwhwvm0] { padding: 10px; display: grid; grid-template-columns: 19px 1fr auto; align-items: center; gap: 7px; color: var(--warn); }.forecast-notice span[b-k3ecwhwvm0] { display: grid; }.forecast-notice b[b-k3ecwhwvm0] { color: var(--text-strong); font-size: 9px; }.forecast-notice small[b-k3ecwhwvm0] { color: var(--dim); font-size: 7px; }
.mini-dialog[b-k3ecwhwvm0] { padding: 11px; }.mini-dialog > header[b-k3ecwhwvm0] { display: flex; align-items: center; justify-content: space-between; }.dialog-icon[b-k3ecwhwvm0] { width: 29px; height: 29px; display: grid; place-items: center; border: var(--border-width) solid var(--line-control); border-radius: var(--control-radius); background: var(--accent-bg); color: var(--accent); }.mini-dialog > .eyebrow[b-k3ecwhwvm0] { display: block; margin-top: 9px; }.mini-dialog h4[b-k3ecwhwvm0] { margin: 3px 0 0; color: var(--text-bright); font-size: 13px; }.mini-dialog p[b-k3ecwhwvm0] { margin: 4px 0 10px; color: var(--dim); font-size: 8px; }.mini-dialog > div[b-k3ecwhwvm0] { display: flex; justify-content: flex-end; gap: 6px; }

.control-summary[b-k3ecwhwvm0] { min-width: 1160px; margin-top: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }.control-summary > span[b-k3ecwhwvm0] { padding: 11px 12px; display: grid; border: var(--border-width) solid var(--line); border-radius: var(--panel-radius); background: var(--surface-1); }.control-summary b[b-k3ecwhwvm0] { color: var(--text-strong); font-size: 10px; }.control-summary small[b-k3ecwhwvm0] { margin-top: 3px; color: var(--dim); font-size: 8px; }
.concept-deep-dive[b-k3ecwhwvm0] { grid-column: 1 / -1; padding: 11px 12px; display: flex; align-items: center; gap: 10px; border: var(--border-width) solid var(--accent-border); border-radius: var(--control-radius); background: var(--accent-bg); color: var(--accent); text-decoration: none; }.concept-deep-dive > span[b-k3ecwhwvm0] { display: grid; margin-right: auto; }.concept-deep-dive:hover[b-k3ecwhwvm0] { background: var(--accent-bg-strong); }
.sr-only[b-k3ecwhwvm0] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* Style variants: controls and surface treatment only. Palette and layout are
   inherited unchanged from .theme-frame. */
.theme-material[b-k3ecwhwvm0] { --panel-radius: 16px; --control-radius: 18px; --panel-shadow: 0 12px 30px rgba(0,0,0,.45); --control-shadow: 0 2px 5px rgba(0,0,0,.22); }
.theme-material .game-topbar[b-k3ecwhwvm0] { border-bottom-color: transparent; border-radius: 14px 14px 0 0; background: var(--surface-2); }
.theme-material .primary-button[b-k3ecwhwvm0] { border-color: var(--accent); }.theme-material .secondary-button[b-k3ecwhwvm0],.theme-material .field-row select[b-k3ecwhwvm0],.theme-material .overview-actions select[b-k3ecwhwvm0],.theme-material .search-field input[b-k3ecwhwvm0]{background:var(--surface-2)}
.theme-material .sidebar-tabs button.is-active[b-k3ecwhwvm0]::after,.theme-material .overview-sections button.is-active[b-k3ecwhwvm0]::after{right:22%;left:22%;height:3px;border-radius:99px}.theme-material .sidebar-section[b-k3ecwhwvm0],.theme-material .overview-kpis section[b-k3ecwhwvm0]{border-color:transparent;background:var(--surface-2)}

.theme-fluent[b-k3ecwhwvm0] { --panel-radius: 7px; --control-radius: 5px; --panel-shadow: 0 18px 44px rgba(0,0,0,.58); --control-shadow: inset 0 1px rgba(238,248,244,.045),0 2px 5px rgba(0,0,0,.24); }
.theme-fluent .game-topbar[b-k3ecwhwvm0],.theme-fluent .game-sidebar[b-k3ecwhwvm0],.theme-fluent .overview-panel[b-k3ecwhwvm0],.theme-fluent .network-alert[b-k3ecwhwvm0],.theme-fluent .map-display-dock[b-k3ecwhwvm0]{background-color:rgba(7,17,14,.88);backdrop-filter:blur(18px) saturate(1.15)}
.theme-fluent .primary-button[b-k3ecwhwvm0]{box-shadow:inset 0 -2px rgba(3,16,12,.3),0 2px 5px rgba(0,0,0,.24)}.theme-fluent .sidebar-tabs button.is-active[b-k3ecwhwvm0],.theme-fluent .overview-sections button.is-active[b-k3ecwhwvm0]{box-shadow:inset 3px 0 var(--accent)}

.theme-carbon[b-k3ecwhwvm0] { --panel-radius: 0; --control-radius: 0; --chip-radius: 0; --panel-shadow: none; --control-shadow: none; --font-ui: "Arial Narrow", Arial, sans-serif; }
.theme-carbon .game-topbar[b-k3ecwhwvm0]{background:var(--surface-0)}.theme-carbon .primary-button[b-k3ecwhwvm0],.theme-carbon .secondary-button[b-k3ecwhwvm0]{justify-content:flex-start}.theme-carbon .field-row select[b-k3ecwhwvm0],.theme-carbon .overview-actions select[b-k3ecwhwvm0],.theme-carbon .search-field input[b-k3ecwhwvm0]{border-width:0 0 1px;background:var(--surface-2)}
.theme-carbon .sidebar-tabs button.is-active[b-k3ecwhwvm0],.theme-carbon .overview-sections button.is-active[b-k3ecwhwvm0]{background:transparent;box-shadow:inset 4px 0 var(--accent)}.theme-carbon .sidebar-tabs button.is-active[b-k3ecwhwvm0]::after,.theme-carbon .overview-sections button.is-active[b-k3ecwhwvm0]::after{display:none}.theme-carbon .overview-kpis[b-k3ecwhwvm0]{gap:1px;background:var(--line)}.theme-carbon .overview-kpis section[b-k3ecwhwvm0]{border:0}

.theme-cupertino[b-k3ecwhwvm0] { --panel-radius: 13px; --control-radius: 9px; --panel-shadow: 0 16px 48px rgba(0,0,0,.5); --control-shadow: 0 .5px 0 rgba(238,248,244,.08),0 4px 12px rgba(0,0,0,.16); --font-ui: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.theme-cupertino .speed-group[b-k3ecwhwvm0],.theme-cupertino .density-group[b-k3ecwhwvm0],.theme-cupertino .period-group[b-k3ecwhwvm0]{padding:2px;border-color:transparent;background:var(--surface-3)}.theme-cupertino .speed-group button[b-k3ecwhwvm0],.theme-cupertino .density-group button[b-k3ecwhwvm0],.theme-cupertino .period-group button[b-k3ecwhwvm0]{border:0;border-radius:7px}.theme-cupertino .speed-group button.is-active[b-k3ecwhwvm0],.theme-cupertino .density-group button.is-active[b-k3ecwhwvm0],.theme-cupertino .period-group button.is-active[b-k3ecwhwvm0]{background:var(--accent-bg-strong);box-shadow:var(--control-shadow)}
.theme-cupertino .sidebar-section[b-k3ecwhwvm0],.theme-cupertino .overview-kpis section[b-k3ecwhwvm0],.theme-cupertino .overview-side>section[b-k3ecwhwvm0]{border-color:var(--line-subtle)}.theme-cupertino .primary-button[b-k3ecwhwvm0]{border-color:transparent}

.theme-atlassian[b-k3ecwhwvm0] { --panel-radius: 6px; --control-radius: 4px; --panel-shadow: 0 10px 30px rgba(0,0,0,.54); --control-shadow: 0 1px 2px rgba(0,0,0,.25); }
.theme-atlassian .sidebar-tabs button.is-active[b-k3ecwhwvm0],.theme-atlassian .overview-sections button.is-active[b-k3ecwhwvm0]{box-shadow:inset 3px 0 var(--accent)}.theme-atlassian .sidebar-tabs button.is-active[b-k3ecwhwvm0]::after,.theme-atlassian .overview-sections button.is-active[b-k3ecwhwvm0]::after{display:none}.theme-atlassian .secondary-button[b-k3ecwhwvm0]{border-color:transparent;background:var(--surface-3)}
.theme-atlassian .status-chip[b-k3ecwhwvm0]{border-radius:3px}.theme-atlassian .route-row.is-selected[b-k3ecwhwvm0],.theme-atlassian .overview-table-row.is-selected[b-k3ecwhwvm0]{box-shadow:inset 3px 0 var(--accent)}

.theme-linear[b-k3ecwhwvm0] { --panel-radius: 7px; --control-radius: 6px; --panel-shadow: 0 20px 65px rgba(0,0,0,.72); --control-shadow: inset 0 1px rgba(238,248,244,.025),0 6px 20px rgba(0,0,0,.16); }
.theme-linear .game-screen[b-k3ecwhwvm0],.theme-linear .overview-panel[b-k3ecwhwvm0],.theme-linear .sidebar-section[b-k3ecwhwvm0],.theme-linear .overview-kpis section[b-k3ecwhwvm0],.theme-linear .overview-side>section[b-k3ecwhwvm0]{border-color:var(--line-subtle)}.theme-linear .sidebar-tabs button.is-active[b-k3ecwhwvm0],.theme-linear .overview-sections button.is-active[b-k3ecwhwvm0]{background:linear-gradient(90deg,var(--accent-bg),transparent)}
.theme-linear .primary-button[b-k3ecwhwvm0]{box-shadow:0 0 0 1px rgba(119,225,191,.08),0 8px 20px rgba(0,0,0,.3)}.theme-linear .network-alert[b-k3ecwhwvm0]{border-color:var(--line-subtle)}

.theme-swiss[b-k3ecwhwvm0] { --panel-radius: 0; --control-radius: 0; --chip-radius: 0; --panel-shadow: none; --control-shadow: none; --label-track: .15em; --font-ui: Helvetica,Arial,sans-serif; }
.theme-swiss .game-screen[b-k3ecwhwvm0],.theme-swiss .overview-panel[b-k3ecwhwvm0]{box-shadow:inset 0 0 0 1px var(--line-strong)}
.theme-swiss .game-brand b[b-k3ecwhwvm0],.theme-swiss .sidebar-head h3[b-k3ecwhwvm0],.theme-swiss .overview-title-row h3[b-k3ecwhwvm0]{font-weight:900}.theme-swiss .primary-button[b-k3ecwhwvm0],.theme-swiss .secondary-button[b-k3ecwhwvm0],.theme-swiss .text-button[b-k3ecwhwvm0],.theme-swiss .sidebar-tabs button[b-k3ecwhwvm0],.theme-swiss .overview-sections button[b-k3ecwhwvm0]{text-transform:uppercase;letter-spacing:.06em}
.theme-swiss .sidebar-tabs button.is-active[b-k3ecwhwvm0],.theme-swiss .overview-sections button.is-active[b-k3ecwhwvm0]{background:var(--accent);color:var(--on-accent)}.theme-swiss .sidebar-tabs button.is-active[b-k3ecwhwvm0]::after,.theme-swiss .overview-sections button.is-active[b-k3ecwhwvm0]::after{display:none}.theme-swiss .overview-kpis[b-k3ecwhwvm0]{gap:0;border:2px solid var(--line-strong)}.theme-swiss .overview-kpis section[b-k3ecwhwvm0]{border-width:0 2px 0 0}.theme-swiss .overview-kpis section:last-child[b-k3ecwhwvm0]{border:0}

.theme-cockpit[b-k3ecwhwvm0] { --panel-radius: 2px; --control-radius: 2px; --chip-radius: 2px; --panel-shadow: inset 0 1px rgba(238,248,244,.035),0 20px 55px rgba(0,0,0,.74); --control-shadow: inset 0 2px rgba(238,248,244,.04),inset 0 -2px rgba(0,0,0,.55),0 2px 5px rgba(0,0,0,.3); --font-ui: "Arial Narrow",Arial,sans-serif; --font-data: "Cascadia Mono",Consolas,monospace; }
.theme-cockpit button[b-k3ecwhwvm0],.theme-cockpit select[b-k3ecwhwvm0],.theme-cockpit input[b-k3ecwhwvm0]{letter-spacing:.04em}.theme-cockpit .primary-button[b-k3ecwhwvm0],.theme-cockpit .secondary-button[b-k3ecwhwvm0],.theme-cockpit .map-tools button[b-k3ecwhwvm0],.theme-cockpit .icon-button[b-k3ecwhwvm0]{border-color:var(--line-strong)}
.theme-cockpit .speed-group button.is-active[b-k3ecwhwvm0],.theme-cockpit .density-group button.is-active[b-k3ecwhwvm0],.theme-cockpit .period-group button.is-active[b-k3ecwhwvm0]{box-shadow:inset 0 0 13px rgba(88,203,166,.2)}.theme-cockpit .sidebar-section[b-k3ecwhwvm0],.theme-cockpit .overview-side>section[b-k3ecwhwvm0]{box-shadow:inset 0 0 0 1px var(--surface-3)}.theme-cockpit .status-chip[b-k3ecwhwvm0]{text-shadow:0 0 8px rgba(104,215,174,.45)}

.theme-glass[b-k3ecwhwvm0] { --panel-radius: 12px; --control-radius: 9px; --panel-shadow: 0 24px 72px rgba(0,0,0,.68); --control-shadow: inset 0 1px rgba(238,248,244,.07),0 9px 24px rgba(0,0,0,.22); }
.theme-glass .game-topbar[b-k3ecwhwvm0],.theme-glass .game-sidebar[b-k3ecwhwvm0],.theme-glass .overview-panel[b-k3ecwhwvm0],.theme-glass .sidebar-section[b-k3ecwhwvm0],.theme-glass .overview-kpis section[b-k3ecwhwvm0],.theme-glass .overview-side>section[b-k3ecwhwvm0],.theme-glass .network-alert[b-k3ecwhwvm0],.theme-glass .map-display-dock[b-k3ecwhwvm0],.theme-glass .game-toast[b-k3ecwhwvm0]{background-color:rgba(7,17,14,.72);backdrop-filter:blur(22px) saturate(1.2)}
.theme-glass .primary-button[b-k3ecwhwvm0]{box-shadow:0 0 22px rgba(88,203,166,.15)}.theme-glass .airport.is-selected i[b-k3ecwhwvm0]{box-shadow:0 0 0 2px var(--accent),0 0 24px rgba(88,203,166,.72)}.theme-glass .route-layer path[b-k3ecwhwvm0]{filter:drop-shadow(0 0 3px rgba(88,203,166,.35))}

.theme-editorial[b-k3ecwhwvm0] { --panel-radius: 1px; --control-radius: 1px; --chip-radius: 1px; --panel-shadow: 5px 7px 0 rgba(0,0,0,.35); --control-shadow: 2px 2px 0 rgba(0,0,0,.28); --font-ui: Georgia,"Times New Roman",serif; --font-data: "Courier New",monospace; --label-track: .14em; }
.theme-editorial .game-topbar[b-k3ecwhwvm0],.theme-editorial .overview-header[b-k3ecwhwvm0],.theme-editorial .sidebar-head[b-k3ecwhwvm0],.theme-editorial .overview-table-card>header[b-k3ecwhwvm0]{border-bottom:3px double var(--line-strong)}.theme-editorial .sidebar-tabs[b-k3ecwhwvm0],.theme-editorial .overview-sections[b-k3ecwhwvm0],.theme-editorial .top-metrics[b-k3ecwhwvm0],.theme-editorial .speed-group[b-k3ecwhwvm0]{font-family:var(--font-data)}
.theme-editorial .primary-button[b-k3ecwhwvm0],.theme-editorial .secondary-button[b-k3ecwhwvm0]{font-family:var(--font-data);text-transform:uppercase}.theme-editorial .sidebar-tabs button.is-active[b-k3ecwhwvm0]::after,.theme-editorial .overview-sections button.is-active[b-k3ecwhwvm0]::after{height:3px;background:var(--accent)}.theme-editorial .sidebar-section>header b[b-k3ecwhwvm0],.theme-editorial .overview-table-card h4[b-k3ecwhwvm0],.theme-editorial .mini-dialog h4[b-k3ecwhwvm0]{font-style:italic;font-weight:400}

.lab-footer[b-k3ecwhwvm0] { width: min(var(--lab-max), calc(100% - 48px)); margin: 0 auto; padding: 30px 0 60px; display: flex; align-items: center; gap: 10px; border-top: 1px solid #30473f; color: #879d95; }.lab-footer > span[b-k3ecwhwvm0] { display: grid; }.lab-footer b[b-k3ecwhwvm0] { color: #e3eeeb; font-size: 11px; }.lab-footer small[b-k3ecwhwvm0] { margin-top: 3px; font-size: 9px; }.lab-footer a[b-k3ecwhwvm0] { margin-left: auto; display: flex; align-items: center; gap: 5px; color: #77e1bf; font-size: 10px; text-decoration: none; }

@media (max-width: 760px) {
    .lab-intro[b-k3ecwhwvm0],.concept-heading[b-k3ecwhwvm0],.lab-footer[b-k3ecwhwvm0]{width:min(100% - 28px,var(--lab-max))}.lab-intro[b-k3ecwhwvm0]{padding-top:44px}.lab-intro h1[b-k3ecwhwvm0]{font-size:48px}.fixed-rules[b-k3ecwhwvm0]{grid-template-columns:1fr}.lab-jump[b-k3ecwhwvm0]{grid-template-columns:repeat(2,minmax(0,1fr))}
    .concept-list[b-k3ecwhwvm0]{gap:74px}.concept-heading[b-k3ecwhwvm0]{grid-template-columns:42px 1fr 34px;gap:12px}.concept-heading p[b-k3ecwhwvm0]{grid-column:2/-1}.concept-number[b-k3ecwhwvm0]{grid-row:1/span 2}.concept-heading h2[b-k3ecwhwvm0]{font-size:20px}
    .theme-frame[b-k3ecwhwvm0]{width:calc(100% - 12px);max-width:calc(100% - 12px);padding:7px}.lab-footer[b-k3ecwhwvm0]{align-items:flex-start}.lab-footer a[b-k3ecwhwvm0]{white-space:nowrap}
}
/* /Components/Shared/AircraftSilhouette.razor.rz.scp.css */
.aircraft-silhouette[b-8gj9w6kvra] {
    width: 142px;
    height: 54px;
    display: block;
    background: currentColor;
    -webkit-mask: var(--aircraft-icon) center / contain no-repeat;
    mask: var(--aircraft-icon) center / contain no-repeat;
    filter: drop-shadow(0 0 4px color-mix(in srgb, currentColor 40%, transparent));
    user-select: none;
}

.aircraft-silhouette.normal[b-8gj9w6kvra] { color: #3ecd7a; }
.aircraft-silhouette.warning[b-8gj9w6kvra] { color: #f4942f; }
.aircraft-silhouette.critical[b-8gj9w6kvra] { color: #eb4b44; }
/* /Components/Systems/ActionHint.razor.rz.scp.css */
.action-hint[b-avtrxvcjsz] { position: relative; display: inline-flex; min-width: 0; }
.action-hint-trigger[b-avtrxvcjsz] { display: inline-flex; min-width: 0; }
.action-hint.city-level-hint[b-avtrxvcjsz],
.action-hint.city-level-hint .action-hint-trigger[b-avtrxvcjsz] { width: 100%; height: 100%; }
.action-hint.city-level-hint[b-avtrxvcjsz] { position: static; }
.action-hint.city-hub-hint[b-avtrxvcjsz] { flex: 1 1 auto; align-self: stretch; }
.action-hint.city-hub-hint .action-hint-trigger[b-avtrxvcjsz] { width: 100%; }

.action-hint-popover[b-avtrxvcjsz] {
    position: absolute;
    z-index: var(--am-z-panel);
    top: calc(100% + 9px);
    left: 0;
    width: min(330px, calc(100vw - 28px));
    padding: var(--am-space-3);
    display: grid;
    gap: var(--am-space-3);
    overflow: hidden;
    border: var(--am-border-width) solid var(--am-border-strong);
    border-radius: var(--am-radius-md);
    background:
        radial-gradient(circle at 100% 0, color-mix(in srgb, var(--am-accent) 12%, transparent), transparent 46%),
        color-mix(in srgb, var(--am-surface-2) 97%, transparent);
    box-shadow: var(--am-shadow-3);
    color: var(--am-text-secondary);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-5px) scale(.985);
    transform-origin: top left;
    transition: opacity var(--am-duration-fast) ease, transform var(--am-duration-fast) ease, visibility 0s linear var(--am-duration-fast);
}

.align-right .action-hint-popover[b-avtrxvcjsz] { right: 0; left: auto; transform-origin: top right; }
.action-hint:hover .action-hint-popover[b-avtrxvcjsz],
.action-hint:focus-within .action-hint-popover[b-avtrxvcjsz] {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
    transition-delay: 80ms, 80ms, 0s;
}

.action-hint-accent[b-avtrxvcjsz] { position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--am-accent); }
.tone-warning .action-hint-accent[b-avtrxvcjsz] { background: var(--am-warning); }
.tone-danger .action-hint-accent[b-avtrxvcjsz] { background: var(--am-danger); }
.tone-neutral .action-hint-accent[b-avtrxvcjsz] { background: var(--am-text-dim); }

.action-hint-heading[b-avtrxvcjsz] { display: flex; align-items: center; gap: var(--am-space-2); }
.action-hint-icon[b-avtrxvcjsz] { width: 30px; height: 30px; display: grid; place-items: center; flex: none; border: var(--am-border-width) solid var(--am-border-accent); border-radius: var(--am-radius-sm); background: var(--am-accent-bg); color: var(--am-accent-text); }
.tone-warning .action-hint-icon[b-avtrxvcjsz] { border-color: var(--am-warning-border); background: color-mix(in srgb, var(--am-warning) 10%, transparent); color: var(--am-warning-text); }
.tone-danger .action-hint-icon[b-avtrxvcjsz] { border-color: var(--am-danger-border); background: color-mix(in srgb, var(--am-danger) 10%, transparent); color: var(--am-danger-text); }
.action-hint-heading > span:last-child[b-avtrxvcjsz] { min-width: 0; display: grid; gap: 2px; }
.action-hint-heading small[b-avtrxvcjsz] { color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.action-hint-heading strong[b-avtrxvcjsz] { color: var(--am-text-bright); font-size: var(--am-fs-body); line-height: 1.25; }

.action-hint-content[b-avtrxvcjsz] { display: grid; gap: var(--am-space-2); }
.action-hint-content[b-avtrxvcjsz]  .action-hint-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.action-hint-content[b-avtrxvcjsz]  .action-hint-metric { min-width: 0; padding: 8px 9px; display: grid; gap: 3px; border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius-sm); background: color-mix(in srgb, var(--am-surface-1) 88%, transparent); }
.action-hint-content[b-avtrxvcjsz]  .action-hint-metric small { color: var(--am-text-dim); font: 700 var(--am-fs-micro) var(--am-font-mono); text-transform: uppercase; }
.action-hint-content[b-avtrxvcjsz]  .action-hint-metric b { overflow: hidden; color: var(--am-text-strong); font: 800 var(--am-fs-label) var(--am-font-mono); text-overflow: ellipsis; white-space: nowrap; }
.action-hint-content[b-avtrxvcjsz]  .action-hint-metric.positive b { color: var(--am-success-text); }
.action-hint-content[b-avtrxvcjsz]  .action-hint-metric.warning b { color: var(--am-warning-text); }
.action-hint-content[b-avtrxvcjsz]  .action-hint-note { margin: 0; padding-top: var(--am-space-2); border-top: var(--am-border-width) solid var(--am-border-subtle); color: var(--am-text-dim); font-size: var(--am-fs-micro); line-height: 1.45; }

@media (prefers-reduced-motion: reduce) {
    .action-hint-popover[b-avtrxvcjsz] { transition: none; transform: none; }
}
/* /Components/Systems/AdvisorAutomationControls.razor.rz.scp.css */
.advisor-automation[b-e7z4k5auv7] { margin:12px 0; padding:12px; border:1px solid var(--am-border-subtle); border-radius:var(--am-radius-md); background:var(--am-surface-2); }
.advisor-automation header[b-e7z4k5auv7] { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 12px; }
.advisor-automation header strong[b-e7z4k5auv7] { color:var(--am-text-strong); font-size:var(--am-fs-body); }
.advisor-automation header span[b-e7z4k5auv7],.advisor-automation p[b-e7z4k5auv7] { color:var(--am-text-muted); font-size:var(--am-fs-small); }
.advisor-automation p[b-e7z4k5auv7] { margin:6px 0 10px; }
.advisor-confidence-setting[b-e7z4k5auv7] { display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; color:var(--am-text-secondary); font-size:var(--am-fs-small); }
.advisor-confidence-setting select[b-e7z4k5auv7] { max-width:100%; padding:6px 8px; border:1px solid var(--am-border-subtle); border-radius:var(--am-radius-sm); background:var(--am-surface-1); color:var(--am-text-strong); font:inherit; }
.advisor-confidence-setting select:focus-visible[b-e7z4k5auv7] { outline:var(--am-focus-width) solid var(--am-focus-outline); outline-offset:var(--am-focus-offset); }
.advisor-auto-types[b-e7z4k5auv7] { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:6px; }
.advisor-auto-toggle[b-e7z4k5auv7] { display:flex; align-items:center; gap:7px; min-width:0; min-height:38px; padding:7px 9px; border:1px solid var(--am-border-subtle); border-radius:var(--am-radius-sm); background:var(--am-surface-1); color:var(--am-text-secondary); cursor:pointer; text-align:left; font-size:var(--am-fs-small); }
.advisor-auto-toggle span[b-e7z4k5auv7] { flex:1; }
.advisor-auto-toggle b[b-e7z4k5auv7] { color:var(--am-text-muted); font-size:var(--am-fs-micro); }
.advisor-auto-toggle.enabled[b-e7z4k5auv7] { border-color:var(--am-accent); background:color-mix(in srgb,var(--am-accent) 12%,var(--am-surface-1)); }
.advisor-auto-toggle.enabled b[b-e7z4k5auv7] { color:var(--am-accent-text); }
.advisor-auto-toggle:hover[b-e7z4k5auv7] { background:var(--am-surface-3); }
.advisor-auto-toggle:focus-visible[b-e7z4k5auv7] { outline:var(--am-focus-width) solid var(--am-focus-outline); outline-offset:var(--am-focus-offset); }
@media (pointer:coarse){.advisor-auto-toggle[b-e7z4k5auv7]{min-height:44px}}
/* /Components/Systems/AirportGatePanel.razor.rz.scp.css */
.airport-gates[b-rnmtmwfjzi] {
    border: 1px solid color-mix(in srgb, var(--accent, #55dfba) 28%, transparent);
    border-radius: var(--am-radius);
    background: rgba(4, 18, 15, .72);
    margin: 14px 0;
    overflow: hidden;
    box-shadow: var(--am-shadow-1);
}

.airport-gates > summary[b-rnmtmwfjzi],
.airport-gates > footer[b-rnmtmwfjzi] {
    min-height: 38px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 12px;
    background: rgba(85, 223, 186, .045);
}

.airport-gates > summary[b-rnmtmwfjzi] { list-style: none; cursor: pointer; }
.airport-gates > summary[b-rnmtmwfjzi]::-webkit-details-marker { display: none; }
.airport-gates > summary[b-rnmtmwfjzi]::before { content: "+"; color: #55dfba; font-weight: 800; }
.airport-gates[open] > summary[b-rnmtmwfjzi]::before { content: "−"; }
.airport-gates > summary span[b-rnmtmwfjzi] { display: flex; align-items: center; gap: 7px; color: var(--am-text-muted); font-size: var(--am-fs-label); letter-spacing: .1em; }
.airport-gates > summary .gate-current-utilization[b-rnmtmwfjzi] {
    --gate-current-color: var(--am-positive);
    position: relative;
    isolation: isolate;
    min-width: 86px;
    margin-left: auto;
    padding: 3px 6px;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--gate-current-color) 55%, transparent);
    border-radius: 3px;
    background: linear-gradient(90deg,
        color-mix(in srgb, var(--gate-current-color) 58%, var(--am-surface-2)) 0 var(--gate-current-progress),
        var(--am-surface-2) var(--gate-current-progress) 100%);
    box-shadow: inset 0 0 8px color-mix(in srgb, var(--gate-current-color) 16%, transparent);
    color: var(--am-text-strong);
    font: 800 var(--am-fs-micro) var(--am-font-mono);
    font-variant-numeric: tabular-nums;
    letter-spacing: .04em;
}
.airport-gates > summary .gate-current-utilization.warning[b-rnmtmwfjzi] { --gate-current-color: var(--am-warning); }
.gate-current-utilization > b[b-rnmtmwfjzi] { position: relative; z-index: 1; }
.airport-gates > summary .gate-scheduled-utilization[b-rnmtmwfjzi] { flex: 0 0 auto; padding: 3px 6px; border: 1px solid currentColor; border-radius: 3px; font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .04em; }
.gate-scheduled-utilization.healthy[b-rnmtmwfjzi] { color: #65d69f; background: rgba(101,214,159,.08); }
.gate-scheduled-utilization.warning[b-rnmtmwfjzi] { color: #ffbd59; background: rgba(255,189,89,.08); }
.gate-scheduled-utilization.critical[b-rnmtmwfjzi] { color: #ff685d; background: rgba(255,104,93,.09); }
.gate-overview-action[b-rnmtmwfjzi] { width: 28px; height: 28px; padding: 0; display: grid; place-items: center; border: 1px solid rgba(85,223,186,.25); border-radius: var(--am-radius-sm); background: transparent; color: var(--am-text-muted); cursor: pointer; }
.gate-overview-action:hover[b-rnmtmwfjzi] { background: rgba(85,223,186,.09); color: #8ee8cf; }

/* ------------------------------------------------------------- gate cards --
   auto-fill tracks so the cards size to the sidebar rather than stretching
   full width. Rows only reflow on resize or when a gate is bought/sold. */

.gate-grid[b-rnmtmwfjzi] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
    gap: 5px;
    padding: 9px 12px;
}

.gate-card[b-rnmtmwfjzi] {
    height: 80px;
    padding: 6px 8px;
    display: flex;
    flex-direction: column;
    gap: 2px;
    border: 1px solid rgba(109, 150, 139, .18);
    border-radius: var(--am-radius-sm);
    background: rgba(6, 22, 18, .6);
    color: inherit;
    text-align: left;
    overflow: hidden;
}

.gate-card.occupied[b-rnmtmwfjzi] {
    border-color: rgba(85, 223, 186, .32);
    background: rgba(85, 223, 186, .06);
    cursor: pointer;
}

.gate-card.occupied:hover[b-rnmtmwfjzi] { border-color: rgba(85, 223, 186, .6); background: rgba(85, 223, 186, .12); }

.gate-card-top[b-rnmtmwfjzi] { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.gate-card-top small[b-rnmtmwfjzi] { color: var(--am-text-dim); font: 800 var(--am-fs-micro) Consolas, monospace; letter-spacing: .08em; }

.gate-dot[b-rnmtmwfjzi] { width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%; background: rgba(109, 150, 139, .3); }
.gate-dot.busy[b-rnmtmwfjzi] { background: #55dfba; box-shadow: 0 0 7px rgba(85, 223, 186, .6); }

/* The route is the headline; the aircraft type is supporting detail. */
.gate-card b[b-rnmtmwfjzi] {
    margin-top: 1px;
    overflow: hidden;
    color: #dcf1eb;
    font: 800 var(--am-fs-label) Consolas, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gate-card-plane[b-rnmtmwfjzi] {
    overflow: hidden;
    color: #74968d;
    font: var(--am-fs-micro) Consolas, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gate-card-timer[b-rnmtmwfjzi] {
    margin-top: auto;
    overflow: hidden;
    color: #ffca62;
    font: 800 14px/1 Consolas, monospace;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.01em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.gate-card-timer.ready[b-rnmtmwfjzi] { color: #55dfba; font-size: 12px; }

.gate-card-free[b-rnmtmwfjzi] {
    display: flex;
    flex: 1;
    align-items: center;
    color: #5d7d75;
    font: var(--am-fs-label) Consolas, monospace;
}

.gate-card.add-gate[b-rnmtmwfjzi] { position: relative; display: block; border-style: dashed; color: var(--am-text-dim); text-align: center; cursor: pointer; }
.gate-card.add-gate:hover:not(:disabled)[b-rnmtmwfjzi] { border-color: rgba(85,223,186,.58); background: rgba(85,223,186,.08); }
.gate-card.add-gate:disabled[b-rnmtmwfjzi] { opacity: .42; cursor: default; }
.add-gate-plus[b-rnmtmwfjzi] { position: absolute; left: 50%; top: 50%; width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid rgba(85,223,186,.35); border-radius: 50%; color: #8ee8cf; transform: translate(-50%,-50%); }
.gate-card.add-gate small[b-rnmtmwfjzi] { position: absolute; left: 5px; right: 5px; bottom: 6px; overflow: hidden; color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); text-overflow: ellipsis; white-space: nowrap; }
.add-gate-signal[b-rnmtmwfjzi] { position: absolute; left: 5px; right: 5px; top: 6px; color: #ffbd59; font: 800 var(--am-fs-micro) var(--am-font-mono); }
.gate-card.add-gate.recommended[b-rnmtmwfjzi] { border-color: rgba(255,189,89,.55); background: rgba(255,189,89,.055); }
.gate-card.add-gate.recommended .add-gate-plus[b-rnmtmwfjzi] { border-color: rgba(255,189,89,.6); color: #ffbd59; }

/* ----------------------------------------------------------- waiting queue --
   Fixed height in both states so arrivals and departures never resize the
   sidebar; the list scrolls internally once it overflows. */

.gate-queue[b-rnmtmwfjzi] { border-top: 1px solid rgba(109, 150, 139, .18); }

.gate-queue > summary[b-rnmtmwfjzi] {
    height: 26px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    background: rgba(0, 0, 0, .22);
    list-style: none;
    cursor: pointer;
}
.gate-queue > summary[b-rnmtmwfjzi]::-webkit-details-marker { display: none; }
.gate-queue-chevron[b-rnmtmwfjzi] { color: var(--am-text-dim); transition: transform var(--am-dur) var(--am-ease); }
.gate-queue[open] .gate-queue-chevron[b-rnmtmwfjzi] { transform: rotate(180deg); }

.gate-queue > summary b[b-rnmtmwfjzi] { color: var(--am-text-dim); font: 800 var(--am-fs-micro) Consolas, monospace; letter-spacing: .08em; }
.gate-queue > summary strong[b-rnmtmwfjzi] { margin-left: auto; color: #ffca62; font: 800 var(--am-fs-label) Consolas, monospace; font-variant-numeric: tabular-nums; }

.gate-queue-body[b-rnmtmwfjzi] {
    height: 96px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(85, 223, 186, .25) transparent;
}

.gate-queue-empty[b-rnmtmwfjzi] {
    margin: 0;
    padding: 12px;
    color: #5d7d75;
    font: var(--am-fs-label) Consolas, monospace;
}

.gate-queue-table[b-rnmtmwfjzi] { width: 100%; border-collapse: collapse; }

.gate-queue-table thead th[b-rnmtmwfjzi] {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 3px 5px;
    background: #061511;
    color: #6d8d85;
    font: 800 var(--am-fs-micro) Consolas, monospace;
    letter-spacing: .08em;
    text-align: left;
}

.gate-queue-table tbody tr[b-rnmtmwfjzi] { height: 28px; cursor: pointer; }
.gate-queue-table tbody tr:hover td[b-rnmtmwfjzi] { background: rgba(85, 223, 186, .07); }

.gate-queue-table td[b-rnmtmwfjzi] {
    padding: 0 5px;
    border-top: 1px solid rgba(109, 150, 139, .08);
    font: var(--am-fs-label) Consolas, monospace;
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 0;
}

.gq-pos[b-rnmtmwfjzi] { width: 1%; max-width: none; padding-left: 12px; color: #ffca62; font-weight: 800; }
.gq-name[b-rnmtmwfjzi] { color: #dcf1eb; font-weight: 700; }
.gq-plane[b-rnmtmwfjzi] { color: #9dbdb4; font-size: var(--am-fs-micro); }
.gq-wait[b-rnmtmwfjzi] { width: 1%; max-width: none; padding-right: 12px; color: #ffca62; font-weight: 800; text-align: right; }
th.gq-wait[b-rnmtmwfjzi], th.gq-pos[b-rnmtmwfjzi] { color: #6d8d85; font-weight: 800; }
th.gq-wait[b-rnmtmwfjzi] { text-align: right; }

/* ----------------------------------------------------------------- footer -- */

.airport-gates > footer[b-rnmtmwfjzi] { border-top: 1px solid rgba(109, 150, 139, .18); flex-wrap: wrap; padding-block: 8px; }
.airport-gates > footer > span[b-rnmtmwfjzi] { margin-right: auto; color: var(--am-text-muted); font-size: var(--am-fs-micro); }
.airport-gates > footer > span b[b-rnmtmwfjzi] { color: #d8eee8; }
.airport-gates > footer button[b-rnmtmwfjzi] { min-height: 34px; padding: 0 10px; border: 1px solid rgba(85, 223, 186, .3); border-radius: var(--am-radius-sm); background: rgba(85, 223, 186, .06); color: #8ee8cf; font: inherit; font-size: var(--am-fs-micro); cursor: pointer; }
.airport-gates > footer button.sell[b-rnmtmwfjzi] { border-color: rgba(255, 116, 93, .3); color: #e59a8e; background: rgba(255, 116, 93, .04); }
.airport-gates > footer button:disabled[b-rnmtmwfjzi] { opacity: .3; cursor: default; }

.airport-gates.compact[b-rnmtmwfjzi] { margin-block: 12px; }
.airport-gates.compact .gate-grid[b-rnmtmwfjzi] { grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); padding: 8px 10px; }
.airport-gates.compact .gate-queue-body[b-rnmtmwfjzi] { height: 84px; }

.gate-workspace[b-rnmtmwfjzi] { display: contents; }

.airport-gates.full-page[b-rnmtmwfjzi] {
    width: 100%;
    display: flex;
    flex-direction: column;
    border-color: var(--am-border-subtle);
    border-radius: var(--am-radius-lg);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-1);
}

.airport-gates.full-page > summary[b-rnmtmwfjzi] { min-height: 54px; padding-inline: 16px; background: var(--am-surface-2); }
.airport-gates.full-page > .gate-workspace[b-rnmtmwfjzi] {
    min-width: 0;
    min-height: 0;
    display: grid;
    flex: 1;
    grid-template-columns: minmax(520px, 1.08fr) minmax(440px, .92fr);
    grid-template-rows: auto minmax(220px, 1fr);
    align-items: stretch;
}
.airport-gates.full-page > .gate-workspace > .gate-grid[b-rnmtmwfjzi] { grid-column: 1; grid-row: 1; grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap: 8px; padding: 12px; }
.airport-gates.full-page > .gate-workspace > .gate-grid .gate-card[b-rnmtmwfjzi] { min-height: 96px; padding: 9px 10px; border-radius: var(--am-radius); background: var(--am-surface-2); }
.airport-gates.full-page > .gate-workspace > .gate-queue[b-rnmtmwfjzi] { grid-column: 1; grid-row: 2; border-right: 1px solid rgba(109, 150, 139, .18); }
.airport-gates.full-page > .gate-workspace > .gate-queue > summary[b-rnmtmwfjzi] { min-height: 38px; height: auto; padding-inline: 14px; background: var(--am-surface-2); }
.airport-gates.full-page > .gate-workspace > .gate-queue .gate-queue-body[b-rnmtmwfjzi] { height: 100%; min-height: 180px; }
.airport-gates.full-page > .gate-workspace[b-rnmtmwfjzi]  .gate-history { min-width: 0; grid-column: 2; grid-row: 1 / 3; border-top: 0; border-left: 1px solid var(--am-border-subtle); background: var(--am-surface-1); }
.airport-gates.full-page > footer[b-rnmtmwfjzi] { min-height: 52px; padding-inline: 14px; background: var(--am-surface-2); }

@media (max-width: 1050px) {
    .airport-gates.full-page > .gate-workspace[b-rnmtmwfjzi] { display: block; }
    .airport-gates.full-page > .gate-workspace[b-rnmtmwfjzi]  .gate-history { border-top: 1px solid var(--am-border-subtle); border-left: 0; }
}
/* /Components/Systems/ChatPanel.razor.rz.scp.css */
.chat-panel[b-jz4yi13bjq] {
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: min(var(--am-chat-h, 360px), 50dvh, 520px);
    max-height: min(var(--am-chat-h, 360px), 50dvh, 520px);
    overflow: hidden;
    border: var(--am-border-width) solid var(--am-border);
    border-top: 0;
    border-radius: var(--am-radius);
    background: var(--am-surface-1);
    font-family: var(--am-font-ui);
    transition: max-height var(--am-dur-slow) var(--am-ease);
}

.chat-panel.collapsed[b-jz4yi13bjq] { height: 34px; max-height: 34px; border-radius: 0 0 6px 6px; }

.chat-panel.collapsed[b-jz4yi13bjq] { flex: 0 0 auto; }

.chat-latest[b-jz4yi13bjq] { min-width: 0; overflow: hidden; color: var(--am-text-secondary); font-size: var(--am-fs-body); text-overflow: ellipsis; white-space: nowrap; }
.chat-panel.collapsed .chat-latest[b-jz4yi13bjq] { position: absolute; left: 50%; width: calc(100% - 112px); text-align: center; transform: translateX(-50%); }
.chat-panel:not(.collapsed).transient .chat-latest[b-jz4yi13bjq] { margin-left: auto; max-width: min(55%, 520px); }
.chat-panel.transient[b-jz4yi13bjq] { animation: notification-bar-flash-b-jz4yi13bjq 700ms ease-out 2; }
.chat-panel.transient-severity-warning[b-jz4yi13bjq],
.chat-panel.transient-severity-critical[b-jz4yi13bjq] { --notification-flash: color-mix(in srgb, var(--am-danger) 22%, transparent); }
.chat-panel.transient-severity-info[b-jz4yi13bjq] { --notification-flash: color-mix(in srgb, var(--am-accent) 18%, transparent); }
@keyframes notification-bar-flash-b-jz4yi13bjq {
    0%, 100% { box-shadow: none; }
    45% { border-color: currentColor; box-shadow: 0 3px 14px var(--notification-flash); }
}
@media (prefers-reduced-motion: reduce) {
    .chat-panel.transient[b-jz4yi13bjq] { animation: none; border-color: currentColor; }
}
.chat-filters[b-jz4yi13bjq] { margin-left: auto; display: flex; gap: 2px; }
.chat-filters button[b-jz4yi13bjq] { min-height: 22px; padding: 0 var(--am-space-2); font-size: var(--am-fs-micro); }
.chat-alert-filters[b-jz4yi13bjq] { padding:3px var(--am-space-2); display:flex; flex-wrap:wrap; align-items:center; gap:3px; flex:0 0 auto; border-top:var(--am-border-width) solid var(--am-border-subtle); background:var(--am-surface-0); }
.chat-alert-filters > span[b-jz4yi13bjq] { margin-right:3px; color:var(--am-text-faint); font:800 var(--am-fs-micro) var(--am-font-mono); letter-spacing:.08em; }
.chat-alert-filters button[b-jz4yi13bjq] { min-height:21px; padding:0 6px; font-size:var(--am-fs-micro); opacity:.48; }
.chat-alert-filters button.am-btn-active[b-jz4yi13bjq] { opacity:1; }

/* ------------------------------------------------------------------- log -- */

.chat-log[b-jz4yi13bjq] {
    margin: 0;
    padding: var(--am-space-1);
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    display: flex;
    flex-direction: column;
    gap: 1px;
    list-style: none;
    overflow-y: auto;
    opacity: 1;
    transition: max-height var(--am-dur-slow) var(--am-ease), opacity var(--am-dur) var(--am-ease), padding var(--am-dur-slow) var(--am-ease);
}

.chat-panel.collapsed .chat-log[b-jz4yi13bjq] { max-height: 0; padding-top: 0; padding-bottom: 0; opacity: 0; pointer-events: none; }

.chat-row[b-jz4yi13bjq] {
    padding: var(--am-space-1) var(--am-space-2);
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr);
    align-items: baseline;
    gap: var(--am-space-2);
    border-radius: var(--am-radius-sm);
    font-size: var(--am-fs-body);
    line-height: 1.4;
}

.chat-row time[b-jz4yi13bjq] {
    color: var(--am-text-faint);
    font: var(--am-fs-micro) var(--am-font-mono);
    font-variant-numeric: tabular-nums;
}

.chat-author[b-jz4yi13bjq] { font-weight: 700; font-size: var(--am-fs-body); }
.chat-text[b-jz4yi13bjq] { min-width: 0; color: var(--am-text-secondary); overflow-wrap: anywhere; }
.chat-text.action[b-jz4yi13bjq] { grid-column: 2 / -1; color: var(--am-text-dim); }
.chat-text.action b[b-jz4yi13bjq] { color: var(--am-text-muted); font-weight: 700; }
.chat-severity[b-jz4yi13bjq] { align-self: center; }

/* Notifications carry their severity as colour on both icon and text so the
   stream can be scanned without reading it. */
.kind-notification .chat-severity[b-jz4yi13bjq] { color: var(--am-text-dim); }
.kind-notification .chat-text[b-jz4yi13bjq] { color: var(--am-text-muted); }
.severity-warning .chat-severity[b-jz4yi13bjq], .severity-warning .chat-text[b-jz4yi13bjq] { color: var(--am-warning); }
.severity-critical .chat-severity[b-jz4yi13bjq], .severity-critical .chat-text[b-jz4yi13bjq] { color: var(--am-danger); }
.kind-notification:hover[b-jz4yi13bjq] { background: var(--am-surface-2); }

button.chat-text[b-jz4yi13bjq] {
    padding: 0;
    border: 0;
    border-bottom: 1px dotted currentColor;
    background: none;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.chat-empty[b-jz4yi13bjq] {
    padding: var(--am-space-4);
    color: var(--am-text-faint);
    font-size: var(--am-fs-body);
    text-align: center;
}

/* -------------------------------------------------------------- composer -- */

.chat-composer[b-jz4yi13bjq] {
    padding: var(--am-space-1);
    display: flex;
    gap: var(--am-space-1);
    flex: 0 0 auto;
    border-top: var(--am-border-width) solid var(--am-border-subtle);
    max-height: 48px;
    opacity: 1;
    overflow: hidden;
    transition: max-height var(--am-dur-slow) var(--am-ease), opacity var(--am-dur) var(--am-ease), padding var(--am-dur-slow) var(--am-ease), border-color var(--am-dur) var(--am-ease);
}

.chat-panel.collapsed .chat-composer[b-jz4yi13bjq] { max-height: 0; padding-top: 0; padding-bottom: 0; border-top-color: transparent; opacity: 0; pointer-events: none; }

.chat-composer input[b-jz4yi13bjq] { flex: 1; min-width: 0; }
.chat-composer button[b-jz4yi13bjq] { flex: 0 0 auto; padding: 0 var(--am-space-3); }

.chat-footer[b-jz4yi13bjq] {
    min-height: 32px;
    padding: 0 var(--am-space-1) 0 var(--am-space-2);
    display: flex;
    position: relative;
    align-items: center;
    gap: var(--am-space-2);
    flex: 0 0 32px;
    border-top: 0;
    background: linear-gradient(180deg, #0c1211, #040807);
    color: var(--am-text-dim);
    cursor: pointer;
}

.chat-footer-title[b-jz4yi13bjq] { display: inline-flex; align-items: center; gap: var(--am-space-1); color: var(--am-accent); white-space: nowrap; }
.chat-footer-title b[b-jz4yi13bjq] { color: var(--am-text-muted); font: 800 var(--am-fs-micro) var(--am-font-mono); }
.chat-panel.collapsed .chat-footer-title .am-label[b-jz4yi13bjq] { display: none; }
.chat-panel.collapsed .chat-footer-toggle[b-jz4yi13bjq] { right: var(--am-space-1); left: auto; transform: none; }
.chat-panel.collapsed.latest-kind-chat .chat-latest[b-jz4yi13bjq] { color: var(--am-accent-text); }
.chat-panel.collapsed.latest-kind-action .chat-latest[b-jz4yi13bjq] { color: var(--am-text-muted); }
.chat-panel.collapsed.latest-kind-notification.latest-severity-info .chat-latest[b-jz4yi13bjq] { color: var(--am-text-dim); }
.chat-panel.collapsed.latest-kind-notification.latest-severity-warning .chat-latest[b-jz4yi13bjq] { color: var(--am-warning); }
.chat-panel.collapsed.latest-kind-notification.latest-severity-critical .chat-latest[b-jz4yi13bjq] { color: var(--am-danger); }
.chat-footer-toggle[b-jz4yi13bjq] { width: 26px; height: 26px; padding: 0; display: grid; place-items: center; position: absolute; left: 50%; transform: translateX(-50%); border: 0; background: transparent; color: var(--am-text-muted); cursor: pointer; opacity: 0; transition: opacity var(--am-dur-fast) var(--am-ease), color var(--am-dur-fast) var(--am-ease); }
.chat-footer:hover .chat-footer-toggle[b-jz4yi13bjq],
.chat-footer:focus-within .chat-footer-toggle[b-jz4yi13bjq] { opacity: 1; }
.chat-footer-toggle:hover[b-jz4yi13bjq] { color: var(--am-text-strong); }
@media (hover: none) {
    .chat-footer-toggle[b-jz4yi13bjq] { opacity: 1; }
}
/* /Components/Systems/DemandPressureHistoryChart.razor.rz.scp.css */
.pressure-history[b-cuq5ejqhh8] { margin-top: 8px; border-top: 1px solid var(--am-border-subtle); }
.pressure-history-toggle[b-cuq5ejqhh8] { width: 100%; min-height: 31px; padding: 0 8px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; border: 0; background: transparent; color: var(--am-text-muted); font: 800 var(--am-fs-micro) var(--am-font-mono); text-align: left; cursor: pointer; }
.pressure-history-toggle:hover[b-cuq5ejqhh8] { background: var(--am-surface-3); color: var(--am-text-strong); }
.pressure-history-toggle > span[b-cuq5ejqhh8] { display: flex; align-items: center; gap: 6px; }
.pressure-history-toggle > span .ms[b-cuq5ejqhh8] { color: var(--am-accent); }
.pressure-history-toggle small[b-cuq5ejqhh8] { color: var(--am-text-dim); font: inherit; }
.pressure-history-chevron[b-cuq5ejqhh8] { transition: transform var(--am-dur) var(--am-ease); }
.pressure-history.expanded .pressure-history-chevron[b-cuq5ejqhh8] { transform: rotate(180deg); }
.pressure-history-body[b-cuq5ejqhh8] { padding: 9px 8px 8px; border-top: 1px solid var(--am-border-subtle); background: rgba(3, 10, 8, .55); }
.pressure-history-body[b-cuq5ejqhh8]  .scaled-line-chart { height: 148px; }
.pressure-history-body[b-cuq5ejqhh8]  .plot svg { min-height: 110px; }
.pressure-history-legend[b-cuq5ejqhh8] { margin-top: 5px; display: flex; align-items: center; flex-wrap: wrap; gap: 5px 12px; color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); }
.pressure-history-legend span[b-cuq5ejqhh8]::before { content: ""; width: 15px; height: 2px; margin-right: 5px; display: inline-block; vertical-align: middle; background: currentColor; }
.pressure-history-legend .outbound[b-cuq5ejqhh8] { color: #64cdae; }
.pressure-history-legend .return[b-cuq5ejqhh8] { color: #d8b75d; }
.pressure-history-legend .return[b-cuq5ejqhh8]::before { height:0; border-top:2px dashed currentColor; background:transparent; }
.pressure-history-legend small[b-cuq5ejqhh8] { margin-left: auto; font: inherit; }
.pressure-history-totals[b-cuq5ejqhh8] { margin-top: 8px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.pressure-history-totals > div[b-cuq5ejqhh8] { min-width: 0; padding: 7px 8px; display: grid; gap: 2px; border: 1px solid var(--am-border-subtle); background: var(--am-surface-2); }
.pressure-history-totals small[b-cuq5ejqhh8] { overflow: hidden; color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); text-overflow: ellipsis; white-space: nowrap; }
.pressure-history-totals b[b-cuq5ejqhh8] { color: var(--am-text); font: 800 var(--am-fs-small) var(--am-font-mono); }
@media (max-width: 900px) { .pressure-history-totals[b-cuq5ejqhh8] { grid-template-columns: 1fr; } }
/* /Components/Systems/FirstFlightChecklist.razor.rz.scp.css */
.first-flight-checklist[b-x9lo7kwal4] { position:fixed; z-index:85; left:16px; bottom:66px; width:330px; max-height:calc(100dvh - var(--am-topbar-h) - 84px); overflow-x:hidden; overflow-y:auto; border:1px solid var(--am-border-accent); border-radius:var(--am-radius-lg); background:color-mix(in srgb,var(--am-surface-0) 96%,transparent); box-shadow:var(--am-shadow-3); backdrop-filter:blur(14px); color:var(--am-text); animation:first-flight-in-b-x9lo7kwal4 220ms ease-out; }
.first-flight-checklist > header[b-x9lo7kwal4] { min-height: 42px; padding: 7px 9px 7px 13px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--am-border-subtle); background: var(--am-surface-2); }
.first-flight-checklist > header > span[b-x9lo7kwal4] { display: flex; align-items: center; gap: 7px; color: var(--am-accent-text); font-size: 12px; letter-spacing: .08em; }
.first-flight-checklist ol[b-x9lo7kwal4] { margin: 0; padding: 7px 12px; display: grid; list-style: none; }
.first-flight-checklist li[b-x9lo7kwal4] { padding: 7px 0; display: grid; grid-template-columns: 25px 1fr; gap: 8px; opacity: .5; }
.first-flight-checklist li i[b-x9lo7kwal4] { width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid var(--am-border-strong); border-radius: 50%; color: var(--am-text-muted); font: 800 10px var(--am-font-mono); font-style: normal; }
.first-flight-checklist li span[b-x9lo7kwal4] { display: grid; gap: 2px; }
.first-flight-checklist li b[b-x9lo7kwal4] { font-size: 12px; }
.first-flight-checklist li small[b-x9lo7kwal4] { color: var(--am-text-muted); font-size: 11.5px; line-height: 1.4; }
.first-flight-checklist li.active[b-x9lo7kwal4] { opacity: 1; }
.first-flight-checklist li.active i[b-x9lo7kwal4] { border-color: var(--am-accent); background: var(--am-accent-bg); color: var(--am-accent-text); }
.first-flight-checklist li.done[b-x9lo7kwal4] { opacity: .72; }
.first-flight-checklist li.done i[b-x9lo7kwal4] { border-color: var(--am-positive); color: var(--am-positive); }
.first-flight-checklist > footer[b-x9lo7kwal4] { padding: 9px 12px 12px; border-top: 1px solid var(--am-border-subtle); }
.first-flight-checklist > footer button[b-x9lo7kwal4] { width: 100%; }
.first-flight-checklist > footer span[b-x9lo7kwal4] { display: flex; align-items: center; gap: 6px; color: var(--am-text-muted); font-size: 11px; }
@keyframes first-flight-in-b-x9lo7kwal4 { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) { .first-flight-checklist[b-x9lo7kwal4] { animation: none; } }
/* /Components/Systems/GateQueueHistoryChart.razor.rz.scp.css */
.gate-history[b-p9gkyoyllp] { border-top: 1px solid rgba(109, 150, 139, .18); }
.gate-history-toggle[b-p9gkyoyllp] { width: 100%; min-height: 31px; padding: 0 12px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; border: 0; background: rgba(0, 0, 0, .12); color: var(--am-text-muted); font: 800 var(--am-fs-micro) var(--am-font-mono); text-align: left; cursor: pointer; }
.gate-history-toggle:hover[b-p9gkyoyllp] { background: var(--am-surface-3); color: var(--am-text-strong); }
.gate-history-toggle small[b-p9gkyoyllp] { color: var(--am-text-dim); font: inherit; }
.gate-history-chevron[b-p9gkyoyllp] { transition: transform var(--am-dur) var(--am-ease); }
.gate-history.expanded .gate-history-chevron[b-p9gkyoyllp] { transform: rotate(180deg); }
.gate-history-body[b-p9gkyoyllp] { padding: 8px 10px 9px; border-top: 1px solid var(--am-border-subtle); background: rgba(3, 10, 8, .55); }
.gate-history-body[b-p9gkyoyllp]  .scaled-line-chart { height: 132px; }
.gate-history-controls[b-p9gkyoyllp] { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }
.gate-history-range[b-p9gkyoyllp], .gate-history-tabs[b-p9gkyoyllp] { width: max-content; display: inline-flex; gap: 0; margin: 0; overflow: hidden; border: 1px solid rgba(109, 150, 139, .24); border-radius: 4px; }
.gate-history-range button[b-p9gkyoyllp], .gate-history-tabs button[b-p9gkyoyllp] { min-height: 27px; padding: 0 8px; border: 0; border-right: 1px solid rgba(109, 150, 139, .2); border-radius: 0; background: transparent; color: var(--am-text-dim); font: 800 9px var(--am-font-mono); white-space: nowrap; cursor: pointer; }
.gate-history-range button:last-child[b-p9gkyoyllp], .gate-history-tabs button:last-child[b-p9gkyoyllp] { border-right: 0; }
.gate-history-range button:hover[b-p9gkyoyllp], .gate-history-range button.active[b-p9gkyoyllp], .gate-history-tabs button:hover[b-p9gkyoyllp], .gate-history-tabs button.active[b-p9gkyoyllp] { border-color: rgba(85, 223, 186, .5); background: rgba(85, 223, 186, .08); color: #8ee8cf; }
.gate-history-body p[b-p9gkyoyllp] { margin: 6px 0 0; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.gate-history.wide[b-p9gkyoyllp] { display: flex; min-width: 0; flex-direction: column; }
.gate-history.wide .gate-history-toggle[b-p9gkyoyllp] { min-height: 44px; padding-inline: 16px; background: var(--am-surface-2); }
.gate-history.wide .gate-history-toggle span[b-p9gkyoyllp] { color: var(--am-text-strong); font-size: var(--am-fs-label); }
.gate-history.wide .gate-history-body[b-p9gkyoyllp] { display: flex; min-height: 0; flex: 1; flex-direction: column; padding: 14px 16px 16px; background: var(--am-surface-1); }
.gate-history.wide .gate-history-controls[b-p9gkyoyllp] { margin-bottom: 12px; }
.gate-history.wide .gate-history-range[b-p9gkyoyllp],
.gate-history.wide .gate-history-tabs[b-p9gkyoyllp] { padding: 3px; gap: 3px; border: 0; border-radius: var(--am-radius); background: var(--am-surface-3); }
.gate-history.wide .gate-history-range button[b-p9gkyoyllp],
.gate-history.wide .gate-history-tabs button[b-p9gkyoyllp] { min-height: 30px; padding-inline: 10px; border: 0; border-radius: var(--am-radius-sm); font-size: var(--am-fs-micro); }
.gate-history.wide .gate-history-range button:hover[b-p9gkyoyllp],
.gate-history.wide .gate-history-range button.active[b-p9gkyoyllp],
.gate-history.wide .gate-history-tabs button:hover[b-p9gkyoyllp],
.gate-history.wide .gate-history-tabs button.active[b-p9gkyoyllp] { background: var(--am-accent-bg-strong); box-shadow: var(--am-shadow-1); }
.gate-history.wide .gate-history-body[b-p9gkyoyllp]  .scaled-line-chart { min-height: 320px; height: 100%; flex: 1; }
.gate-history.wide .gate-history-body p[b-p9gkyoyllp] { margin-top: 10px; font-size: var(--am-fs-small); line-height: 1.45; }
/* /Components/Systems/ManagementActionForecast.razor.rz.scp.css */
.management-forecast[b-277qw4kke9] {
    border: var(--am-border-width) solid var(--am-border-control);
    border-radius: var(--am-radius-sm);
    background: color-mix(in srgb, var(--am-surface-2) 92%, transparent);
}

.management-forecast > summary[b-277qw4kke9] {
    min-height: 38px;
    padding: 0 var(--am-space-3);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--am-space-2);
    color: var(--am-text-secondary);
    cursor: pointer;
    list-style: none;
}

.management-forecast > summary[b-277qw4kke9]::-webkit-details-marker { display: none; }
.management-forecast > summary:hover[b-277qw4kke9] { background: var(--am-control-hover); color: var(--am-text-strong); }
.management-forecast > summary > span:first-child[b-277qw4kke9] { display: flex; align-items: center; gap: var(--am-space-2); }
.management-forecast > summary b[b-277qw4kke9] { font: 800 var(--am-fs-label) var(--am-font-mono); letter-spacing: .06em; }
.management-forecast > summary .ms[b-277qw4kke9] { color: var(--am-accent); }

.forecast-confidence[b-277qw4kke9] {
    padding: 3px 6px;
    border: var(--am-border-width) solid var(--am-border-subtle);
    border-radius: var(--am-radius-pill);
    color: var(--am-text-dim);
    font: 700 var(--am-fs-micro) var(--am-font-mono);
    text-transform: uppercase;
}
.forecast-confidence.high[b-277qw4kke9] { border-color: var(--am-success-border); color: var(--am-success-text); }
.forecast-confidence.low[b-277qw4kke9] { border-color: var(--am-warning-border); color: var(--am-warning-text); }

.management-forecast-body[b-277qw4kke9] { padding: 0 var(--am-space-3) var(--am-space-3); display: grid; gap: var(--am-space-3); }
.management-forecast-body > header[b-277qw4kke9] { display: flex; align-items: end; justify-content: space-between; gap: var(--am-space-3); padding-top: var(--am-space-2); border-top: var(--am-border-width) solid var(--am-border-subtle); }
.management-forecast-body > header > strong[b-277qw4kke9] { color: var(--am-text-strong); font-size: var(--am-fs-body); line-height: 1.35; }
.forecast-cost[b-277qw4kke9] { flex: none; display: grid; justify-items: end; gap: 2px; }
.forecast-cost small[b-277qw4kke9] { color: var(--am-text-dim); font: 700 var(--am-fs-micro) var(--am-font-mono); }
.forecast-cost b[b-277qw4kke9] { color: var(--am-warning-text); font: 800 var(--am-fs-value) var(--am-font-mono); }

.forecast-metrics[b-277qw4kke9] { display: grid; }
.forecast-metric-head[b-277qw4kke9],
.forecast-metric[b-277qw4kke9] { min-height: 30px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(62px, auto) minmax(62px, auto); align-items: center; gap: var(--am-space-2); border-bottom: var(--am-border-width) solid var(--am-border-subtle); }
.forecast-metric-head[b-277qw4kke9] { color: var(--am-text-dim); font: 700 var(--am-fs-micro) var(--am-font-mono); text-transform: uppercase; }
.forecast-metric > span[b-277qw4kke9] { color: var(--am-text-secondary); font-size: var(--am-fs-label); }
.forecast-metric > b[b-277qw4kke9],
.forecast-metric > strong[b-277qw4kke9] { text-align: right; font: 800 var(--am-fs-label) var(--am-font-mono); }
.forecast-metric > b[b-277qw4kke9] { color: var(--am-text-dim); }
.forecast-metric > strong[b-277qw4kke9] { color: var(--am-text-strong); }
.forecast-metric.positive > strong[b-277qw4kke9] { color: var(--am-success-text); }
.forecast-metric.warning > strong[b-277qw4kke9] { color: var(--am-warning-text); }
.forecast-metric.negative > strong[b-277qw4kke9] { color: var(--am-danger-text); }

.forecast-recurring[b-277qw4kke9] { display: flex; align-items: center; justify-content: space-between; color: var(--am-text-secondary); font-size: var(--am-fs-label); }
.forecast-recurring b[b-277qw4kke9] { font: 800 var(--am-fs-label) var(--am-font-mono); }
.forecast-recurring.positive b[b-277qw4kke9] { color: var(--am-success-text); }
.forecast-recurring.negative b[b-277qw4kke9] { color: var(--am-danger-text); }
.forecast-recurring.neutral b[b-277qw4kke9] { color: var(--am-text-strong); }

.forecast-warning[b-277qw4kke9],
.forecast-basis[b-277qw4kke9] { margin: 0; display: flex; align-items: flex-start; gap: var(--am-space-2); font-size: var(--am-fs-micro); line-height: 1.45; }
.forecast-warning[b-277qw4kke9] { color: var(--am-warning-text); }
.forecast-basis[b-277qw4kke9] { color: var(--am-text-dim); }
.forecast-warning .ms[b-277qw4kke9],
.forecast-basis .ms[b-277qw4kke9] { flex: none; margin-top: 1px; }
/* /Components/Systems/MapComponent.razor.rz.scp.css */
.airline-map[b-86f7evjmu8] { position:absolute; inset:0; background:#020607; }
[b-86f7evjmu8] .maplibregl-control-container { display:none; }
[b-86f7evjmu8] .maplibregl-canvas { outline:none; }
[b-86f7evjmu8] .maplibregl-marker { position:absolute !important; top:0 !important; left:0 !important; will-change:transform; }

[b-86f7evjmu8] .air-city-tooltip .maplibregl-popup-content {
    padding: 5px 8px;
    border: 1px solid #52756b;
    background: rgba(2,8,7,.94);
    box-shadow: 0 0 12px rgba(85,223,186,.18);
    color: #dcebe6;
    font: 800 12px/1.25 Consolas,monospace;
    letter-spacing: .035em;
}

[b-86f7evjmu8] .air-city-tooltip .maplibregl-popup-tip { border-top-color:#52756b; }

[b-86f7evjmu8] .air-route-tooltip .maplibregl-popup-content {
    padding: 6px 8px;
    border: 1px solid #52756b;
    background: rgba(2,8,7,.96);
    box-shadow: 0 0 14px rgba(85,223,186,.16);
    color: #dcebe6;
    font: 800 11px/1.3 Consolas,monospace;
    white-space: nowrap;
}

[b-86f7evjmu8] .air-route-tooltip .maplibregl-popup-tip { border-top-color:#52756b; }

[b-86f7evjmu8] .air-route-target-tooltip .maplibregl-popup-content {
    padding: 7px 10px;
    border: 1px solid #66e5b8;
    background: rgba(3,14,11,.98);
    box-shadow: 0 0 18px rgba(89,230,173,.3);
    color: #e4fff5;
    font: 900 12px/1.3 Consolas,monospace;
    letter-spacing: .045em;
    white-space: nowrap;
}

[b-86f7evjmu8] .air-route-target-tooltip .maplibregl-popup-tip { border-top-color:#66e5b8; }

[b-86f7evjmu8] .air-remote-cursor {
    position: relative;
    z-index: 50;
    width: 1px;
    height: 1px;
    color: var(--player-color,#55dfba);
    pointer-events: none;
}

    [b-86f7evjmu8] .air-remote-cursor i {
        position: absolute;
        left: -2px;
        top: -2px;
        width: 17px;
        height: 21px;
        background: currentColor;
        clip-path: polygon(0 0,100% 72%,55% 73%,36% 100%);
        filter: drop-shadow(0 1px 1px #000) drop-shadow(0 0 5px currentColor);
        transform: rotate(-8deg);
    }

    [b-86f7evjmu8] .air-remote-cursor span {
        position: absolute;
        left: 15px;
        top: 16px;
        padding: 3px 6px;
        border: 1px solid currentColor;
        background: rgba(2,8,7,.9);
        box-shadow: 0 0 9px color-mix(in srgb,currentColor 38%,transparent);
        color: currentColor;
        font: 800 9px/1.1 Consolas,monospace;
        letter-spacing: .05em;
        text-transform: uppercase;
        white-space: nowrap;
    }

[b-86f7evjmu8] .air-map-ping {
    position: relative;
    z-index: 45;
    width: 16px;
    height: 16px;
    border: 2px solid var(--player-color,#55dfba);
    border-radius: 50%;
    box-shadow: 0 0 12px var(--player-color,#55dfba);
    color: var(--player-color,#55dfba);
    pointer-events: none;
    animation: air-ping-core-b-86f7evjmu8 4.2s ease-out both;
}

    [b-86f7evjmu8] .air-map-ping i,
    [b-86f7evjmu8] .air-map-ping::before {
        content: "";
        position: absolute;
        inset: -2px;
        border: 2px solid currentColor;
        border-radius: 50%;
        animation: air-ping-ring-b-86f7evjmu8 1.35s ease-out 3;
    }

    [b-86f7evjmu8] .air-map-ping::before { animation-delay: .35s; }

    [b-86f7evjmu8] .air-map-ping span {
        position: absolute;
        left: 22px;
        top: -1px;
        padding: 3px 6px;
        border: 1px solid currentColor;
        background: rgba(2,8,7,.92);
        color: currentColor;
        font: 800 9px/1.1 Consolas,monospace;
        letter-spacing: .05em;
        white-space: nowrap;
    }

@keyframes air-ping-ring-b-86f7evjmu8 {
    0% { opacity: .95; transform: scale(.6); }
    100% { opacity: 0; transform: scale(5); }
}

@keyframes air-ping-core-b-86f7evjmu8 {
    0%,78% { opacity: 1; }
    100% { opacity: 0; }
}

@media (prefers-reduced-motion:reduce) {
    [b-86f7evjmu8] .air-map-ping,
    [b-86f7evjmu8] .air-map-ping i,
    [b-86f7evjmu8] .air-map-ping::before { animation: none; }
}
/* /Components/Systems/MapDisplayControls.razor.rz.scp.css */
.map-options-panel[b-bibwq3bq2j] {
    position: absolute;
    z-index: 85;
    left: 12px;
    bottom: 64px;
    width: min(318px, calc(100vw - 24px));
    max-height: calc(100dvh - 145px);
    padding: 8px;
    display: grid;
    gap: 6px;
    overflow-y: auto;
    border: var(--am-border-width) solid var(--am-border-strong);
    border-radius: var(--am-radius);
    background: color-mix(in srgb, var(--am-surface-0) 97%, transparent);
    box-shadow: var(--am-shadow-3);
}

.map-options-panel > header[b-bibwq3bq2j] { min-height: 34px; padding: 0 2px 2px; display: flex; align-items: center; justify-content: space-between; gap: var(--am-space-2); }
.map-options-panel > header span[b-bibwq3bq2j] { display: grid; gap: 2px; }
.map-options-panel > header small[b-bibwq3bq2j],
.map-options-panel h4[b-bibwq3bq2j],
.map-select-control > span[b-bibwq3bq2j] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .1em; }
.map-options-panel > header b[b-bibwq3bq2j] { color: var(--am-text-strong); font: 700 var(--am-fs-value) var(--am-font-mono); }
.map-options-panel > header > div[b-bibwq3bq2j] { display: flex; gap: 4px; }
.map-options-panel > header button[b-bibwq3bq2j],
.map-section-heading .map-inline-action[b-bibwq3bq2j] { min-height: 28px; padding: 0 8px; border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-control-bg); color: var(--am-text-secondary); font: 800 var(--am-fs-micro) var(--am-font-mono); cursor: pointer; transition: var(--am-transition-control); }
.map-options-panel > header button:hover:not(:disabled)[b-bibwq3bq2j],
.map-section-heading .map-inline-action:hover:not(:disabled)[b-bibwq3bq2j] { border-color: var(--am-border-accent); background: var(--am-control-hover); color: var(--am-text-strong); transform: translateY(-1px); }
.map-options-panel > header .map-options-close[b-bibwq3bq2j] { width: 28px; padding: 0; font-size: 17px; }
.map-options-panel section[b-bibwq3bq2j] { padding: 8px; display: grid; gap: 7px; border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius-sm); background: var(--am-surface-1); }
.map-options-panel h4[b-bibwq3bq2j] { margin: 0; }
.map-options-panel label[b-bibwq3bq2j] { padding: 7px; border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius-sm); background: var(--am-surface-0); color: var(--am-text-secondary); font-size: var(--am-fs-label); }
.map-toggle[b-bibwq3bq2j] { min-height: 34px; display: flex; align-items: center; gap: var(--am-space-2); cursor: pointer; }
.map-toggle input[b-bibwq3bq2j] { accent-color: var(--am-accent); }
.map-projection-toggle > span[b-bibwq3bq2j] { display: grid; gap: 2px; }
.map-projection-toggle b[b-bibwq3bq2j] { color: var(--am-text-strong); font: 800 var(--am-fs-label) var(--am-font-mono); letter-spacing: .04em; }
.map-projection-toggle small[b-bibwq3bq2j] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.map-toggle-grid[b-bibwq3bq2j],
.map-control-grid[b-bibwq3bq2j] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.map-select-control[b-bibwq3bq2j] { display: grid; gap: 7px; }
.map-select-control select[b-bibwq3bq2j] { width: 100%; min-width: 0; min-height: 34px; padding: 5px 25px 5px 7px; border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-surface-0); color: var(--am-text-strong); font: var(--am-fs-label) var(--am-font-mono); }
.map-select-control select:focus-visible[b-bibwq3bq2j] { outline: var(--am-focus-ring); outline-offset: 2px; }
.map-section-heading[b-bibwq3bq2j] { display: flex; align-items: baseline; justify-content: space-between; gap: var(--am-space-2); }
.map-section-heading > span[b-bibwq3bq2j] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.map-inline-actions[b-bibwq3bq2j] { display: flex; gap: 4px; }
.map-inline-action:disabled[b-bibwq3bq2j] { opacity: .38; cursor: not-allowed; }
.map-segmented[b-bibwq3bq2j] { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.map-segmented button[b-bibwq3bq2j],
.map-focus-presets button[b-bibwq3bq2j],
.map-region-list button[b-bibwq3bq2j] { border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-control-bg); color: var(--am-text-secondary); font: 800 var(--am-fs-micro) var(--am-font-mono); cursor: pointer; transition: var(--am-transition-control); }
.map-segmented button[b-bibwq3bq2j] { min-height: 32px; padding: 5px; }
.map-segmented button:hover[b-bibwq3bq2j],
.map-focus-presets button:hover[b-bibwq3bq2j],
.map-region-list button:hover[b-bibwq3bq2j] { border-color: var(--am-border-strong); background: var(--am-control-hover); color: var(--am-text-strong); }
.map-segmented button.selected[b-bibwq3bq2j],
.map-focus-presets button.selected[b-bibwq3bq2j] { border-color: var(--am-border-accent); background: var(--am-accent-bg); color: var(--am-accent-text); }
.map-plane-styles[b-bibwq3bq2j] { grid-template-columns: repeat(4, 1fr); }
.map-density-presets[b-bibwq3bq2j] { grid-template-columns: repeat(3, 1fr); }
.map-focus-presets[b-bibwq3bq2j] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.map-focus-presets button[b-bibwq3bq2j] { min-height: 46px; padding: 7px; display: grid; gap: 3px; text-align: left; }
.map-focus-presets button:disabled[b-bibwq3bq2j] { opacity: .38; cursor: not-allowed; }
.map-focus-presets .map-personal-view[b-bibwq3bq2j] { grid-column: 1 / -1; border-style: dashed; }
.map-focus-presets b[b-bibwq3bq2j] { font-size: var(--am-fs-label); letter-spacing: .05em; }
.map-focus-presets small[b-bibwq3bq2j] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.map-option-help[b-bibwq3bq2j],
.throughput-map-key p[b-bibwq3bq2j] { margin: 0; color: var(--am-text-dim); font: var(--am-fs-micro)/1.45 var(--am-font-mono); }
.map-volume-buttons[b-bibwq3bq2j] { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; }
.map-volume-buttons .am-btn[b-bibwq3bq2j] { min-width: 0; min-height: 28px; height: 28px; padding: 0 3px; font-size: var(--am-fs-micro); letter-spacing: 0; }
.map-volume-buttons .am-btn.selected[b-bibwq3bq2j] { border-color: var(--am-border-accent); background: var(--am-accent-bg-strong); color: var(--am-accent-text); }
.map-region-list[b-bibwq3bq2j] { max-height: 180px; display: grid; gap: 4px; overflow: auto; }
.map-region-list button[b-bibwq3bq2j] { min-height: 32px; padding: 5px 7px; display: flex; align-items: center; justify-content: space-between; gap: var(--am-space-2); text-align: left; }
.map-region-list button.selected[b-bibwq3bq2j] { border-color: var(--am-warning-border); background: var(--am-warning-bg); color: var(--am-warning-text); }
.map-region-list small[b-bibwq3bq2j] { color: var(--am-text-dim); font-size: var(--am-fs-micro); letter-spacing: .05em; }
.throughput-map-key[b-bibwq3bq2j] { display: grid; gap: 4px; }
.throughput-map-gradient[b-bibwq3bq2j] { height: 5px; border: var(--am-border-width) solid var(--am-border-control); background: linear-gradient(90deg, var(--am-success) 0%, var(--am-warning) 80%, var(--am-danger) 100%); }
.throughput-map-key div[b-bibwq3bq2j] { display: flex; justify-content: space-between; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }

.map-control-dock[b-bibwq3bq2j] { position: absolute; z-index: 86; left: 12px; bottom: 12px; display: flex; align-items: center; gap: 7px; }
.map-control-dock > button[b-bibwq3bq2j] { position: relative; width: 42px; height: 42px; padding: 0; display: grid; place-items: center; border: var(--am-border-width) solid var(--am-border-strong); border-radius: 50%; background: color-mix(in srgb, var(--am-surface-0) 94%, transparent); color: var(--am-text-secondary); box-shadow: var(--am-shadow-2); cursor: pointer; transition: var(--am-transition-control); }
.map-control-dock > button:hover[b-bibwq3bq2j],
.map-control-dock > button.active[b-bibwq3bq2j] { border-color: var(--am-border-accent); background: var(--am-accent-bg); color: var(--am-accent-text); transform: translateY(-2px); }
.map-control-dock > button.active[b-bibwq3bq2j] { box-shadow: 0 0 0 2px color-mix(in srgb, var(--am-accent) 16%, transparent), var(--am-shadow-2); }
.map-control-dock > button > span[b-bibwq3bq2j] { position: absolute; left: 50%; bottom: calc(100% + 7px); padding: 5px 7px; border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-surface-0); color: var(--am-text-strong); font: 800 var(--am-fs-micro) var(--am-font-mono); opacity: 0; pointer-events: none; transform: translate(-50%, 4px); transition: opacity var(--am-duration-fast), transform var(--am-duration-fast); }
.map-control-dock > button:hover > span[b-bibwq3bq2j],
.map-control-dock > button:focus-visible > span[b-bibwq3bq2j] { opacity: 1; transform: translate(-50%, 0); }
.map-control-dock i[b-bibwq3bq2j] { position: relative; width: 22px; height: 22px; display: grid; place-items: center; font-style: normal; }
.map-control-dock .aircraft-icon[b-bibwq3bq2j] { font-size: 20px; line-height: 1; transform: translate(-1px, -1px); }
.map-control-dock .route-icon[b-bibwq3bq2j] { transform: translateY(-1px) rotate(-20deg); }
.airport-icon[b-bibwq3bq2j] { width: 12px; height: 12px; border: 2px solid currentColor; border-radius: 50%; box-shadow: 0 0 8px currentColor; }
.airport-icon[b-bibwq3bq2j]::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: currentColor; }
.route-icon[b-bibwq3bq2j] { width: 20px; height: 12px; border-top: 2px solid currentColor; border-radius: 50%; transform: rotate(-20deg); }
.route-icon[b-bibwq3bq2j]::before,
.route-icon[b-bibwq3bq2j]::after { content: ""; position: absolute; top: -4px; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }
.route-icon[b-bibwq3bq2j]::before { left: -1px; }
.route-icon[b-bibwq3bq2j]::after { right: -1px; }
.aircraft-icon[b-bibwq3bq2j] { font-size: 20px; line-height: 1; }
.focus-icon[b-bibwq3bq2j] { width: 18px; height: 18px; border: 1px solid currentColor; border-radius: 50%; }
.focus-icon[b-bibwq3bq2j]::before { content: ""; position: absolute; inset: 4px; border: 2px solid currentColor; border-radius: 50%; }
.focus-icon[b-bibwq3bq2j]::after { content: ""; position: absolute; left: 8px; top: -3px; width: 2px; height: 22px; background: currentColor; box-shadow: 0 0 0 2px var(--am-surface-0); transform: rotate(45deg); }

@media (max-width: 520px) {
    .map-options-panel[b-bibwq3bq2j] { left: 8px; bottom: 58px; width: calc(100vw - 16px); max-height: calc(100dvh - 120px); }
    .map-toggle-grid[b-bibwq3bq2j], .map-control-grid[b-bibwq3bq2j] { grid-template-columns: 1fr; }
    .map-control-dock[b-bibwq3bq2j] { left: 8px; bottom: 8px; gap: 5px; }
    .map-control-dock > button[b-bibwq3bq2j] { width: 40px; height: 40px; }
}
/* /Components/Systems/MapStepControl.razor.rz.scp.css */
.map-step-control[b-e5xplvvrh3] { padding: 7px; display: grid; gap: 7px; border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius-sm); background: var(--am-surface-0); color: var(--am-text-secondary); font: var(--am-fs-label) var(--am-font-mono); }
.map-step-control > span[b-e5xplvvrh3] { display: flex; align-items: center; justify-content: space-between; gap: var(--am-space-2); }
.map-step-control b[b-e5xplvvrh3] { color: var(--am-accent-text); font-size: var(--am-fs-micro); letter-spacing: .06em; }
.map-step-buttons[b-e5xplvvrh3] { display: grid; grid-template-columns: repeat(5, 1fr); gap: 3px; }
.map-step-buttons button[b-e5xplvvrh3] { height: 28px; padding: 0; border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-control-bg); color: var(--am-text-secondary); font: 800 var(--am-fs-micro) var(--am-font-mono); cursor: pointer; transition: var(--am-transition-control); }
.map-step-buttons button:hover[b-e5xplvvrh3] { border-color: var(--am-border-strong); color: var(--am-text-strong); transform: translateY(-1px); }
.map-step-buttons button.selected[b-e5xplvvrh3] { border-color: var(--am-border-accent); background: var(--am-accent-bg); color: var(--am-accent-text); }
/* /Components/Systems/NetworkAlertDock.razor.rz.scp.css */
.network-alert-dock[b-wl1s0ulpa5] { position: absolute; z-index: var(--am-z-panel); top: 0; left: 0; width: min(278px, calc(100vw - 24px)); pointer-events: none; }
.network-alerts[b-wl1s0ulpa5] { pointer-events: auto; border-right: var(--am-border-width) solid var(--am-border-strong); border-bottom: var(--am-border-width) solid var(--am-border-strong); border-radius: 0 0 var(--am-radius-lg) 0; overflow: hidden; background: color-mix(in srgb, var(--am-surface-0) 96%, transparent); box-shadow: var(--am-shadow-2); backdrop-filter: blur(10px); }
.network-alert-list[b-wl1s0ulpa5] { max-height: min(54dvh, 620px); overflow-y: auto; }
.network-alert-row[b-wl1s0ulpa5] { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 7px 8px; display: grid; grid-template-columns: 30px minmax(0, 1fr) 18px; align-items: center; gap: 7px; overflow: hidden; border: 0; border-bottom: var(--am-border-width) solid var(--am-border-subtle); background: transparent; color: var(--am-text-secondary); text-align: left; cursor: pointer; transition: var(--am-transition-control); }
.network-alert-row:hover[b-wl1s0ulpa5] { background: var(--am-control-hover); color: var(--am-text-strong); }
.network-alert-row.warning[b-wl1s0ulpa5] { --alert-color: var(--am-warning); }
.network-alert-row.critical[b-wl1s0ulpa5] { --alert-color: var(--am-danger); }
.network-alert-row.event[b-wl1s0ulpa5] { --alert-color: var(--am-accent); }
.network-alert-row.event-inbound[b-wl1s0ulpa5] { --alert-color: var(--am-warning); }
.network-alert-row.event-live[b-wl1s0ulpa5] { --alert-color: var(--am-success); }
.network-alert-row.event-returntraffic[b-wl1s0ulpa5] { --alert-color: var(--am-text-secondary); }
.network-alert-status[b-wl1s0ulpa5] { width: 28px; height: 28px; display: grid; place-items: center; border: var(--am-border-width) solid color-mix(in srgb, var(--alert-color, var(--am-accent)) 55%, transparent); border-radius: var(--am-radius-sm); background: color-mix(in srgb, var(--alert-color, var(--am-accent)) 16%, transparent); color: var(--alert-color, var(--am-accent)); }
.network-alert-copy[b-wl1s0ulpa5] { min-width: 0; overflow: hidden; display: grid; gap: 3px; }
.network-alert-heading[b-wl1s0ulpa5] { min-width: 0; width: 100%; overflow: hidden; display: flex; align-items: baseline; justify-content: space-between; gap: 6px; }
.network-alert-heading b[b-wl1s0ulpa5] { min-width: 0; flex: 1 1 auto; overflow: hidden; color: var(--am-text-strong); font-size: var(--am-fs-label); text-overflow: ellipsis; white-space: nowrap; }
.network-alert-capacity[b-wl1s0ulpa5] { min-width: 0; max-width: 44%; flex: 0 1 auto; overflow: hidden; color: var(--alert-color, var(--am-text-strong)); font-size: var(--am-fs-label); text-overflow: ellipsis; white-space: nowrap; }
.network-alert-copy small[b-wl1s0ulpa5] { overflow: hidden; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); text-overflow: ellipsis; white-space: nowrap; }
.network-alert-arrow[b-wl1s0ulpa5] { flex: none; color: var(--am-text-dim); }
.run-alert[b-wl1s0ulpa5] { grid-template-columns: 30px minmax(0, 1fr); cursor: default; }
.run-alert .am-meter[b-wl1s0ulpa5] { height: 3px; overflow: hidden; background: var(--am-surface-3); }
.run-alert .am-meter i[b-wl1s0ulpa5] { display: block; height: 100%; background: var(--alert-color, var(--am-accent)); }

@media (max-width: 720px) {
    .network-alert-dock[b-wl1s0ulpa5] { width: min(252px, calc(100vw - 16px)); }
    .network-alert-row[b-wl1s0ulpa5] { min-height: 44px; }
}
/* /Components/Systems/PassengerSankey.razor.rz.scp.css */
.passenger-sankey-card[b-efou5rmnnn] {
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border: 1px solid #293d36;
    border-radius: var(--am-radius);
    background: #040a08;
    overflow: hidden;
    box-shadow: var(--am-shadow-1);
}

.passenger-sankey-card > header[b-efou5rmnnn] {
    flex: 0 0 auto;
    padding: 9px 11px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #20322d;
    color: #b9cbc5;
    font: 800 11px Consolas, monospace;
}

.passenger-sankey-card > header div[b-efou5rmnnn] {
    display: grid;
    gap: 4px;
}

.passenger-sankey-card > header small[b-efou5rmnnn],
.passenger-sankey-card > footer[b-efou5rmnnn] {
    color: #789087;
    font: 10px Consolas, monospace;
}

.passenger-sankey-card > header b[b-efou5rmnnn] {
    color: #75d9bb;
    font-size: 11px;
}

.passenger-sankey-card > header b small[b-efou5rmnnn] {
    color: #9b8171;
    font-size: 9px;
}

.sankey-view-toolbar[b-efou5rmnnn] {
    flex: 0 0 auto;
    min-height: 35px;
    padding: 5px 7px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid #20322d;
    background: #06100d;
}

.sankey-view-toolbar span[b-efou5rmnnn] {
    color: #718a82;
    font: 800 9px Consolas, monospace;
    letter-spacing: .05em;
}

.sankey-view-toolbar button[b-efou5rmnnn] {
    height: 25px;
    padding: 0 7px;
    border: 1px solid #30483f;
    border-radius: var(--am-radius-sm);
    background: #08130f;
    color: #8ba098;
    font: 800 9px Consolas, monospace;
    cursor: pointer;
}

.sankey-view-toolbar button:hover:not(:disabled)[b-efou5rmnnn],
.sankey-view-toolbar button.active[b-efou5rmnnn] {
    border-color: #65bca1;
    background: #123027;
    color: #d4eee6;
}

.sankey-view-toolbar button:disabled[b-efou5rmnnn] {
    opacity: .35;
    cursor: default;
}

.sankey-search[b-efou5rmnnn] {
    position: relative;
    width: min(230px, 25vw);
    display: grid;
    grid-template-columns: auto minmax(80px, 1fr) 24px;
    align-items: center;
    gap: 6px;
}

.sankey-search input[b-efou5rmnnn] {
    box-sizing: border-box;
    width: 100%;
    height: 25px;
    padding: 0 7px;
    border: 1px solid #30483f;
    border-radius: var(--am-radius-sm);
    outline: 0;
    background: #030a08;
    color: #d1e5df;
    font: 10px Consolas, monospace;
}

.sankey-search input:focus[b-efou5rmnnn] {
    border-color: #65bca1;
}

.sankey-search button[b-efou5rmnnn] {
    width: 24px;
    padding: 0;
}

.sankey-tier-filter[b-efou5rmnnn],
.sankey-sort[b-efou5rmnnn],
.sankey-depth[b-efou5rmnnn],
.sankey-top-limit[b-efou5rmnnn],
.sankey-zoom[b-efou5rmnnn] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.sankey-depth select[b-efou5rmnnn],
.sankey-top-limit select[b-efou5rmnnn] {
    height: 25px;
    padding: 0 18px 0 6px;
    border: 1px solid #30483f;
    outline: 0;
    background: #08130f;
    color: #b9d0c8;
    font: 800 9px Consolas, monospace;
}

.sankey-top-limit input[b-efou5rmnnn] {
    width: 13px;
    height: 13px;
    margin: 0;
    accent-color: #58cba6;
}

.sankey-top-limit select:disabled[b-efou5rmnnn] {
    opacity: .35;
}

.sankey-zoom[b-efou5rmnnn] {
    margin-left: auto;
}

.passenger-sankey-scroll[b-efou5rmnnn] {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    cursor: grab;
    touch-action: none;
    user-select: none;
}

.passenger-sankey-scroll.panning[b-efou5rmnnn] {
    cursor: grabbing;
}

.passenger-sankey-scroll svg[b-efou5rmnnn] {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 280px;
}

.sankey-links path[b-efou5rmnnn] {
    fill: none;
    opacity: .34;
    transition: opacity .15s, filter .15s;
}

.sankey-links path:hover[b-efou5rmnnn] {
    opacity: .8;
}

.sankey-links path.focused[b-efou5rmnnn] {
    opacity: .68;
}

.sankey-links path.dimmed[b-efou5rmnnn] {
    opacity: .045;
}

.sankey-nodes rect[b-efou5rmnnn] {
    stroke: #d5e7e1;
    stroke-width: .7;
    vector-effect: non-scaling-stroke;
}

.sankey-node.clickable[b-efou5rmnnn] {
    cursor: pointer;
}

.sankey-node.clickable:hover rect[b-efou5rmnnn] {
    filter: brightness(1.45) drop-shadow(0 0 4px rgba(117, 217, 187, .75));
    stroke: #fff;
    stroke-width: 1.5;
}

.sankey-node[b-efou5rmnnn] {
    transition: opacity .15s;
}

.sankey-node.dimmed[b-efou5rmnnn] {
    opacity: .13;
}

.sankey-node.expanded rect[b-efou5rmnnn] {
    filter: brightness(1.35) drop-shadow(0 0 6px rgba(117, 217, 187, .9));
    stroke: #fff;
    stroke-width: 2;
}

.sankey-column-label[b-efou5rmnnn] {
    color: #769087;
    font: 800 10px Consolas, monospace;
    text-align: center;
    letter-spacing: .08em;
}

.sankey-column-label span[b-efou5rmnnn] {
    margin-left: 4px;
    color: #4f6a61;
}

.sankey-column-label.current[b-efou5rmnnn] {
    color: #c9eee2;
}

.sankey-column-label.current b[b-efou5rmnnn] {
    display: block;
    margin-top: 2px;
    color: #74dbbc;
    font-size: 9px;
    letter-spacing: .02em;
}

.sankey-node.current rect[b-efou5rmnnn] {
    filter: drop-shadow(0 0 5px rgba(84, 199, 167, .7));
    stroke: #effff9;
    stroke-width: 1.8;
}

.sankey-node.current .sankey-node-label[b-efou5rmnnn] {
    color: #effff9;
    font-weight: 800;
}

.sankey-node-label[b-efou5rmnnn] {
    overflow: hidden;
    color: #d4e3de;
    text-overflow: ellipsis;
    text-shadow: 0 1px 2px #040a08, 1px 0 2px #040a08, -1px 0 2px #040a08;
    white-space: nowrap;
    font: 10px Consolas, monospace;
}

.sankey-node-label span[b-efou5rmnnn] {
    color: #8ca39b;
}

.passenger-sankey-card > footer[b-efou5rmnnn] {
    flex: 0 0 auto;
    padding: 8px 14px;
    border-top: 1px solid #20322d;
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.passenger-sankey-empty[b-efou5rmnnn] {
    flex: 1;
    display: grid;
    place-items: center;
    min-height: 220px;
    color: #81968f;
    font: 10px Consolas, monospace;
}

.passenger-sankey-empty b[b-efou5rmnnn] {
    font-weight: 500;
}

.passenger-sankey-empty button[b-efou5rmnnn] {
    margin-top: 8px;
    padding: 7px 10px;
    border: 1px solid #4b7467;
    background: #0d251e;
    color: #bfe4d8;
    font: 800 9px Consolas, monospace;
    cursor: pointer;
}

.sankey-expansion[b-efou5rmnnn] {
    flex: 0 0 auto;
    max-height: 210px;
    border-top: 1px solid #43675b;
    background: #07130f;
}

.sankey-expansion > header[b-efou5rmnnn] {
    min-height: 38px;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    gap: 7px;
    border-bottom: 1px solid #20372f;
}

.sankey-expansion > header div[b-efou5rmnnn] {
    min-width: 0;
    margin-right: auto;
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.sankey-expansion > header small[b-efou5rmnnn],
.sankey-expansion > header span[b-efou5rmnnn],
.sankey-expansion h4[b-efou5rmnnn],
.sankey-expansion section small[b-efou5rmnnn] {
    color: #789087;
    font: 9px Consolas, monospace;
}

.sankey-expansion > header b[b-efou5rmnnn] {
    overflow: hidden;
    color: #d6e9e3;
    font: 800 10px Consolas, monospace;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sankey-expansion > header button[b-efou5rmnnn] {
    height: 25px;
    padding: 0 8px;
    border: 1px solid #385b4f;
    background: #0b211a;
    color: #a9daca;
    font: 800 9px Consolas, monospace;
    cursor: pointer;
}

.sankey-expansion > div[b-efou5rmnnn] {
    max-height: 165px;
    padding: 8px 10px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    overflow: auto;
}

.sankey-expansion h4[b-efou5rmnnn] {
    margin: 0 0 5px;
    letter-spacing: .06em;
}

.sankey-expansion section > div[b-efou5rmnnn] {
    min-width: 0;
    min-height: 20px;
    display: grid;
    grid-template-columns: 7px minmax(0, 1fr) auto 42px;
    align-items: center;
    gap: 5px;
    border-top: 1px solid #162a23;
    color: #c6dcd5;
    font: 9px Consolas, monospace;
}

.sankey-expansion section i[b-efou5rmnnn] {
    width: 6px;
    height: 6px;
}

.sankey-expansion section span[b-efou5rmnnn] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sankey-expansion section b[b-efou5rmnnn] {
    color: #dbece7;
    font-weight: 800;
}

.sankey-expansion section small[b-efou5rmnnn] {
    text-align: right;
}

@media(max-width: 800px) {
    .sankey-view-toolbar[b-efou5rmnnn] {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .sankey-search[b-efou5rmnnn] {
        width: 100%;
    }

    .sankey-zoom[b-efou5rmnnn] {
        margin-left: 0;
    }

    .passenger-sankey-card > footer[b-efou5rmnnn] {
        display: grid;
    }
}

/* ------------------------------------------------ refined airport view --
   This component predates the shared surface tokens. Keep the diagram dense,
   but give its surrounding controls the same hierarchy as the airport sidebar. */

.passenger-sankey-card[b-efou5rmnnn] {
    border-color: var(--am-border-subtle);
    border-radius: var(--am-radius-lg);
    background: var(--am-surface-1);
    box-shadow: var(--am-shadow-1);
}

.passenger-sankey-card > header[b-efou5rmnnn] {
    min-height: 54px;
    padding: 10px 16px;
    border-color: var(--am-border-subtle);
    background: var(--am-surface-2);
    color: var(--am-text-strong);
    font-size: var(--am-fs-label);
}

.passenger-sankey-card > header small[b-efou5rmnnn],
.passenger-sankey-card > footer[b-efou5rmnnn] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.passenger-sankey-card > header b[b-efou5rmnnn] { color: var(--am-accent-text); font-size: var(--am-fs-label); }

.sankey-view-toolbar[b-efou5rmnnn] {
    min-height: 48px;
    padding: 7px 10px;
    gap: 10px;
    border-color: var(--am-border-subtle);
    background: var(--am-surface-1);
}

.sankey-view-toolbar span[b-efou5rmnnn] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.sankey-tier-filter[b-efou5rmnnn],
.sankey-sort[b-efou5rmnnn],
.sankey-zoom[b-efou5rmnnn] { padding: 3px; gap: 3px; border-radius: var(--am-radius); background: var(--am-surface-3); }

.sankey-view-toolbar button[b-efou5rmnnn] {
    min-height: 30px;
    height: 30px;
    padding-inline: 10px;
    border: 0;
    border-radius: var(--am-radius-sm);
    background: transparent;
    color: var(--am-text-muted);
    font-size: var(--am-fs-micro);
}

.sankey-view-toolbar button:hover:not(:disabled)[b-efou5rmnnn],
.sankey-view-toolbar button.active[b-efou5rmnnn] { border-color: transparent; background: var(--am-accent-bg-strong); box-shadow: var(--am-shadow-1); color: var(--am-accent-text); }

.sankey-search[b-efou5rmnnn] { width: min(260px, 28vw); grid-template-columns: auto minmax(100px, 1fr) 30px; }
.sankey-search input[b-efou5rmnnn],
.sankey-depth select[b-efou5rmnnn],
.sankey-top-limit select[b-efou5rmnnn] {
    height: 30px;
    border-color: var(--am-border-control);
    border-radius: var(--am-radius-sm);
    background: var(--am-surface-2);
    color: var(--am-text-strong);
    font-size: var(--am-fs-micro);
}

.sankey-search input[b-efou5rmnnn] { padding-inline: 9px; }
.sankey-search input:focus[b-efou5rmnnn] { border-color: var(--am-accent); box-shadow: 0 0 0 2px var(--am-accent-bg); }
.sankey-search button[b-efou5rmnnn] { width: 30px; }
.passenger-sankey-scroll[b-efou5rmnnn] { background: var(--am-surface-0); }
.sankey-column-label[b-efou5rmnnn] { color: var(--am-text-muted); font-size: var(--am-fs-label); }
.sankey-column-label.current[b-efou5rmnnn] { color: var(--am-text-bright); }
.sankey-column-label.current b[b-efou5rmnnn] { color: var(--am-accent-text); font-size: var(--am-fs-micro); }
.sankey-node-label[b-efou5rmnnn] { color: var(--am-text-strong); font-size: var(--am-fs-small); }

.passenger-sankey-card > footer[b-efou5rmnnn] {
    min-height: 38px;
    padding: 8px 14px;
    border-color: var(--am-border-subtle);
    background: var(--am-surface-2);
    line-height: 1.4;
}

.sankey-expansion[b-efou5rmnnn] { border-color: var(--am-border-subtle); background: var(--am-surface-1); }
.sankey-expansion > header[b-efou5rmnnn] { min-height: 44px; padding-inline: 14px; border-color: var(--am-border-subtle); background: var(--am-surface-2); }
.sankey-expansion > header button[b-efou5rmnnn] { min-height: 30px; border-color: var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-surface-3); color: var(--am-text-secondary); }
/* /Components/Systems/PassengerWorkspace.razor.rz.scp.css */
.passengers-overview[b-b2imq41sdh] { height: 100%; padding: var(--am-space-5); overflow: auto; }
.passenger-network-kpis[b-b2imq41sdh],
.passenger-demand-kpis[b-b2imq41sdh] { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--am-space-2); }
.passenger-network-kpis span[b-b2imq41sdh],
.passenger-demand-kpis span[b-b2imq41sdh] { min-height: 72px; padding: var(--am-space-3); display: grid; align-content: center; gap: 4px; border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-surface-1); }
.passenger-network-kpis small[b-b2imq41sdh],
.passenger-demand-kpis small[b-b2imq41sdh] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.passenger-network-kpis b[b-b2imq41sdh],
.passenger-demand-kpis b[b-b2imq41sdh] { color: var(--am-accent-text); font: 800 22px var(--am-font-mono); }
.passenger-demand-kpis[b-b2imq41sdh] { margin-top: var(--am-space-2); }
.passenger-forecast-grid[b-b2imq41sdh] { margin-top: var(--am-space-2); display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--am-space-2); }
.passenger-forecast-grid article[b-b2imq41sdh] { padding: var(--am-space-3); border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius-sm); background: var(--am-surface-1); }
.passenger-forecast-grid article > small[b-b2imq41sdh] { color: var(--am-warning-text); font: var(--am-fs-micro) var(--am-font-mono); }
.passenger-forecast-grid article > div[b-b2imq41sdh] { margin-top: var(--am-space-2); display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.passenger-forecast-grid span[b-b2imq41sdh] { display: grid; gap: 2px; }
.passenger-forecast-grid b[b-b2imq41sdh] { color: var(--am-text-strong); font: var(--am-fs-value) var(--am-font-mono); }
.passenger-forecast-grid small[b-b2imq41sdh] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.passenger-opportunities[b-b2imq41sdh],
.marketing-workspace[b-b2imq41sdh] { margin-top: var(--am-space-3); border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius); background: var(--am-surface-0); overflow: hidden; }
.passenger-opportunities > header[b-b2imq41sdh],
.marketing-workspace > header[b-b2imq41sdh] { padding: var(--am-space-4); display: flex; justify-content: space-between; align-items: flex-start; gap: var(--am-space-3); }
.passenger-opportunities h3[b-b2imq41sdh],
.marketing-workspace h3[b-b2imq41sdh] { margin: 2px 0; color: var(--am-text-bright); font-size: var(--am-fs-h2); }
.passenger-opportunities header > span[b-b2imq41sdh],
.marketing-workspace header > span[b-b2imq41sdh],
.marketing-workspace p[b-b2imq41sdh] { color: var(--am-text-dim); font-size: var(--am-fs-label); }
.opportunity-table[b-b2imq41sdh] { overflow-x: auto; }
.opportunity-table > header[b-b2imq41sdh],
.opportunity-table > div[b-b2imq41sdh] { min-width: 770px; min-height: 48px; display: grid; grid-template-columns: minmax(220px, 1.7fr) 90px 100px 100px 85px 75px; align-items: center; border-top: var(--am-border-width) solid var(--am-border-subtle); }
.opportunity-table > header[b-b2imq41sdh] { color: var(--am-text-muted); font: var(--am-fs-micro) var(--am-font-mono); }
.opportunity-table > * > *[b-b2imq41sdh] { padding: 7px 9px; }
.opportunity-table > div > span[b-b2imq41sdh] { display: grid; gap: 3px; }
.opportunity-impact[b-b2imq41sdh] { align-content: center; }
.opportunity-impact > b[b-b2imq41sdh] { color: var(--am-warning-text); font: var(--am-fs-label) var(--am-font-mono); }
.opportunity-impact > small[b-b2imq41sdh],
.opportunity-table .not-estimated[b-b2imq41sdh] { color: var(--am-text-dim); font: 700 var(--am-fs-micro)/1.25 var(--am-font-mono); }
.opportunity-table small[b-b2imq41sdh] { color: var(--am-text-dim); font: var(--am-fs-micro)/1.35 var(--am-font-mono); }
.opportunity-table > div > b[b-b2imq41sdh] { color: var(--am-warning-text); font: var(--am-fs-label) var(--am-font-mono); }
.opportunity-table button[b-b2imq41sdh] { min-height: 36px; margin: 5px; padding-inline: var(--am-space-3); border: var(--am-border-width) solid var(--am-border-accent); border-radius: var(--am-radius-sm); background: var(--am-accent-bg); color: var(--am-accent-text); cursor: pointer; }
.positive[b-b2imq41sdh] { color: var(--am-success-text) !important; }
.negative[b-b2imq41sdh] { color: var(--am-danger-text) !important; }
.marketing-offer-grid[b-b2imq41sdh] { padding: 0 var(--am-space-4) var(--am-space-4); display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: var(--am-space-2); }
.marketing-offer[b-b2imq41sdh] { padding: var(--am-space-3); border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-surface-1); }
.marketing-offer > header[b-b2imq41sdh] { display: flex; gap: var(--am-space-2); align-items: center; }
.marketing-offer h4[b-b2imq41sdh] { margin: 2px 0; color: var(--am-text-strong); }
.marketing-offer > header strong[b-b2imq41sdh] { margin-left: auto; color: var(--am-warning-text); font: 800 var(--am-fs-h2) var(--am-font-mono); }
.marketing-offer > div[b-b2imq41sdh] { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.marketing-offer > div span[b-b2imq41sdh] { padding: 7px; display: grid; border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius-sm); }
.marketing-offer b[b-b2imq41sdh] { font: var(--am-fs-label) var(--am-font-mono); }
.marketing-offer footer[b-b2imq41sdh] { margin-top: var(--am-space-2); display: flex; justify-content: flex-end; gap: 5px; }
.marketing-confidence[b-b2imq41sdh] { margin-right:auto; align-self:center; color:var(--am-text-dim); font:700 var(--am-fs-micro) var(--am-font-mono); }
.marketing-offer.campaign[b-b2imq41sdh] { box-shadow: inset 3px 0 var(--am-accent); }
.marketing-offer.completed[b-b2imq41sdh] { opacity: .68; box-shadow: inset 3px 0 var(--am-text-dim); }
.marketing-offer.coolingdown[b-b2imq41sdh] { box-shadow: inset 3px 0 var(--am-warning); }
.marketing-event-status[b-b2imq41sdh] { margin-top: var(--am-space-2); padding: var(--am-space-2); display: flex !important; align-items: center; gap: 7px; border: var(--am-border-width) solid var(--am-border-accent); border-radius: var(--am-radius-sm); background: var(--am-accent-bg); color: var(--am-accent); }
.marketing-event-status > span[b-b2imq41sdh] { padding: 0 !important; border: 0 !important; }
.marketing-event-action[b-b2imq41sdh] { min-height: 36px; display: inline-flex; align-items: center; gap: 5px; }

@media (max-width: 760px) {
    .passengers-overview[b-b2imq41sdh] { padding: var(--am-space-3); }
    .passenger-network-kpis[b-b2imq41sdh], .passenger-demand-kpis[b-b2imq41sdh], .passenger-forecast-grid[b-b2imq41sdh] { grid-template-columns: 1fr; }
    .passenger-opportunities > header[b-b2imq41sdh], .marketing-workspace > header[b-b2imq41sdh] { flex-direction: column; }
}
/* /Components/Systems/RegionProgressionCard.razor.rz.scp.css */
.region-progression-card[b-58vr8zh88j] { --region-progress-color:var(--am-warning); position:relative; isolation:isolate; min-height:76px; padding:10px 12px; display:grid; grid-template-columns:minmax(190px,1.35fr) minmax(320px,2fr) auto; align-items:center; gap:14px; overflow:hidden; border:1px solid var(--am-border-subtle); border-radius:var(--am-radius-md); background:var(--am-surface-2); }
.region-progression-card.unlocked[b-58vr8zh88j] { --region-progress-color:var(--am-accent); }
.region-progression-card.ready[b-58vr8zh88j] { --region-progress-color:var(--am-positive); }
.region-progression-card.recommended[b-58vr8zh88j] { border-color: var(--am-border-accent); }
.region-card-progress[b-58vr8zh88j] { position:absolute; z-index:0; inset:0 auto 0 0; display:block; border-right:2px solid var(--region-progress-color); background:color-mix(in srgb,var(--region-progress-color) 28%,var(--am-surface-2)); box-shadow:4px 0 14px color-mix(in srgb,var(--region-progress-color) 20%,transparent); transition:width var(--am-duration-slow) ease; }
.region-progression-card > :not(.region-card-progress)[b-58vr8zh88j] { position:relative; z-index:1; }
.region-progress-copy[b-58vr8zh88j] { min-width:0; display:grid; gap:2px; }
.region-progress-copy small[b-58vr8zh88j] { color: var(--am-accent-text); font-size: var(--am-fs-micro); letter-spacing: .09em; }
.region-progress-copy b[b-58vr8zh88j] { color: var(--am-text-strong); font-size: 15px; }
.region-progress-copy span[b-58vr8zh88j] { color: var(--am-text-muted); font-size: 12px; }
.region-progress-facts[b-58vr8zh88j] { display: grid; grid-template-columns: repeat(4,minmax(80px,1fr)); gap: 8px; }
.region-progress-facts span[b-58vr8zh88j] { min-width:0; padding-left:10px; display:grid; gap:2px; border-left:1px solid color-mix(in srgb,var(--am-border-subtle) 72%,transparent); }
.region-progress-facts small[b-58vr8zh88j] { color: var(--am-text-dim); font-size: var(--am-fs-micro); letter-spacing: .07em; }
.region-progress-facts b[b-58vr8zh88j] { overflow:hidden; color:var(--am-text); font:700 12px var(--am-font-mono); text-overflow:ellipsis; white-space:nowrap; }
.region-unlock-action.am-btn[b-58vr8zh88j] { min-width:156px; min-height:38px; padding:0 12px; justify-self:end; justify-content:space-between; gap:9px; border:1px solid color-mix(in srgb,var(--am-accent) 72%,var(--am-border-strong)); border-radius:var(--am-radius-sm); background:linear-gradient(180deg,color-mix(in srgb,var(--am-accent) 92%,white 8%),var(--am-accent)); box-shadow:0 5px 16px color-mix(in srgb,var(--am-accent) 20%,transparent),inset 0 1px rgba(255,255,255,.18); color:var(--am-on-accent); font:800 var(--am-fs-label) var(--am-font-ui); letter-spacing:.045em; }
.region-unlock-action.am-btn:hover:not(:disabled)[b-58vr8zh88j] { border-color:var(--am-accent-strong); filter:brightness(1.06); transform:translateY(-1px); }
.region-unlock-action.am-btn:active:not(:disabled)[b-58vr8zh88j] { filter:brightness(.92); transform:translateY(0); }
.region-unlock-action.am-btn:disabled[b-58vr8zh88j] { border-color:var(--am-border-control); background:color-mix(in srgb,var(--am-surface-3) 78%,transparent); box-shadow:none; color:var(--am-text-dim); opacity:.72; }
.region-unlock-action .ms-sm[b-58vr8zh88j] { font-size:16px; }
.region-owned-status[b-58vr8zh88j] { min-height:30px; padding:0 10px; display:inline-flex; align-items:center; justify-self:end; gap:6px; border:1px solid color-mix(in srgb,var(--am-accent) 55%,var(--am-border-subtle)); border-radius:999px; background:color-mix(in srgb,var(--am-accent) 10%,var(--am-surface-1)); color:var(--am-accent-text); font:800 var(--am-fs-micro) var(--am-font-ui); letter-spacing:.065em; }
.region-owned-status .ms-sm[b-58vr8zh88j] { font-size:15px; }
@media (prefers-reduced-motion:reduce){.region-card-progress[b-58vr8zh88j]{transition:none}}
/* /Components/Systems/RouteComposer.razor.rz.scp.css */
.route-creation-dismiss-layer[b-13ex1yvowy] { position: fixed; z-index: 89; inset: var(--am-topbar-h) 0 0; background: rgba(0, 5, 4, .18); }
.route-creation-menu[b-13ex1yvowy] { position: fixed; z-index: 90; left: 50%; top: calc(var(--am-topbar-h) + 5dvh); width: min(680px, calc(100vw - 32px)); max-height: calc(90dvh - var(--am-topbar-h)); padding: var(--am-space-4); display: flex; flex-direction: column; gap: var(--am-space-3); overflow: hidden; border: var(--am-border-width) solid var(--am-border-strong); border-radius: var(--am-radius-lg); background: color-mix(in srgb, var(--am-surface-0) 98%, transparent); box-shadow: var(--am-shadow-3); transform: translateX(-50%); }
.route-creation-menu > header[b-13ex1yvowy] { display: flex; align-items: start; justify-content: space-between; gap: var(--am-space-3); }
.route-creation-menu > header small[b-13ex1yvowy] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .1em; }
.route-creation-menu > header h3[b-13ex1yvowy] { margin: 3px 0 0; color: var(--am-text-bright); font-size: var(--am-fs-h2); }
.route-creation-menu > header button[b-13ex1yvowy] { width: 34px; height: 34px; border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-control-bg); color: var(--am-text-secondary); cursor: pointer; }
.route-quote[b-13ex1yvowy] { min-height: 40px; padding: 0 var(--am-space-3); display: flex; align-items: center; justify-content: space-between; gap: var(--am-space-3); border: var(--am-border-width) solid var(--am-border-subtle); background: var(--am-surface-1); color: var(--am-text-secondary); font: var(--am-fs-label) var(--am-font-mono); }
.route-quote b[b-13ex1yvowy] { color: var(--am-accent-text); }
.route-batch-destinations[b-13ex1yvowy] { display: flex; flex-wrap: wrap; gap: 5px; }
.route-batch-destinations button[b-13ex1yvowy] { min-height: 30px; padding: 4px 7px; display: flex; align-items: center; gap: 5px; border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-pill); background: var(--am-control-bg); color: var(--am-text-secondary); font-size: var(--am-fs-micro); cursor: pointer; }
.route-batch-destinations button:hover[b-13ex1yvowy] { border-color: var(--am-danger-border); color: var(--am-danger-text); }
.route-aircraft-help[b-13ex1yvowy] { margin: 0; color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.route-aircraft-recommendations[b-13ex1yvowy],
.route-aircraft-list[b-13ex1yvowy] { min-height: 0; display: grid; gap: var(--am-space-2); overflow-y: auto; }
.route-aircraft-category[b-13ex1yvowy] { display: grid; grid-template-columns: 34px minmax(0, 1fr) minmax(0, 1fr); gap: 5px; align-items: stretch; }
.route-aircraft-category > strong[b-13ex1yvowy] { display: grid; place-items: center; border: var(--am-border-width) solid var(--am-border-subtle); background: var(--am-surface-1); color: var(--am-accent); font: 800 var(--am-fs-label) var(--am-font-mono); }
.route-aircraft-choice[b-13ex1yvowy] { min-height: 48px; padding: 7px 9px; display: flex; align-items: center; justify-content: space-between; gap: var(--am-space-2); border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-control-bg); color: var(--am-text-secondary); text-align: left; cursor: pointer; transition: var(--am-transition-control); }
.route-aircraft-choice:hover:not(:disabled)[b-13ex1yvowy] { border-color: var(--am-border-strong); background: var(--am-control-hover); color: var(--am-text-strong); transform: translateY(-1px); }
.route-aircraft-choice.selected[b-13ex1yvowy] { border-color: var(--am-border-accent); background: var(--am-accent-bg); }
.route-aircraft-choice.out-of-range[b-13ex1yvowy] { opacity: .38; cursor: not-allowed; }
.route-aircraft-choice > span[b-13ex1yvowy] { min-width: 0; display: grid; gap: 3px; }
.route-aircraft-choice b[b-13ex1yvowy] { overflow: hidden; color: var(--am-text-strong); font-size: var(--am-fs-label); text-overflow: ellipsis; white-space: nowrap; }
.route-aircraft-choice b i[b-13ex1yvowy] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); }
.route-aircraft-choice small[b-13ex1yvowy] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.route-aircraft-choice em[b-13ex1yvowy] { flex: none; color: var(--am-accent-text); font: 800 var(--am-fs-value) var(--am-font-mono); font-style: normal; }
.route-full-list-toggle[b-13ex1yvowy] { min-height: 34px; border: var(--am-border-width) dashed var(--am-border-control); background: transparent; color: var(--am-text-secondary); font: 800 var(--am-fs-micro) var(--am-font-mono); cursor: pointer; }
.full-list[b-13ex1yvowy] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.route-creation-menu > footer[b-13ex1yvowy] { flex: none; display: flex; align-items: center; justify-content: flex-end; gap: var(--am-space-2); }
.route-creation-menu > footer > span[b-13ex1yvowy] { margin-right: auto; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.route-creation-menu > .route-build-forecast[b-13ex1yvowy] { flex: none; max-height: min(350px, 36dvh); overflow-y: auto; border-color: var(--am-border-accent); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--am-accent) 10%, transparent); }

@media (max-width: 620px) {
    .route-creation-menu[b-13ex1yvowy] { top: calc(var(--am-topbar-h) + 8px); width: calc(100vw - 16px); max-height: calc(100dvh - var(--am-topbar-h) - 16px); padding: var(--am-space-3); }
    .route-aircraft-category[b-13ex1yvowy] { grid-template-columns: 30px minmax(0, 1fr); }
    .full-list[b-13ex1yvowy] { grid-template-columns: 1fr; }
    .route-creation-menu > footer[b-13ex1yvowy] { flex-wrap: wrap; }
    .route-creation-menu > footer .primary-action[b-13ex1yvowy] { flex: 1; }
}
/* /Components/Systems/RouteContextMenu.razor.rz.scp.css */
.route-context-menu[b-3hy03foulq] {
    position: relative;
    width: 282px;
    padding: var(--am-space-2);
    border: var(--am-border-width) solid var(--am-border-strong);
    background: rgba(3, 12, 10, .985);
    box-shadow: var(--am-shadow-3);
    color: var(--am-text-secondary);
    font-family: var(--am-font-mono);
}

.route-context-menu > header[b-3hy03foulq],
.route-context-submenu > header[b-3hy03foulq] {
    padding: 7px 8px;
    display: grid;
    gap: 3px;
    border-bottom: var(--am-border-width) solid var(--am-border-subtle);
    background: linear-gradient(90deg, var(--am-accent-bg), transparent);
}

header span[b-3hy03foulq],
header small[b-3hy03foulq] { color: var(--am-accent); font-size: var(--am-fs-micro); font-weight: 900; letter-spacing: .1em; }
header span[b-3hy03foulq] { display: flex; align-items: center; gap: 5px; }
header b[b-3hy03foulq] { overflow: hidden; color: var(--am-text-strong); font-size: var(--am-fs-label); text-overflow: ellipsis; white-space: nowrap; }
.route-context-destinations[b-3hy03foulq] { padding-top: 4px; display: grid; gap: 3px; }
.route-context-branch[b-3hy03foulq] { position: relative; }
.route-context-branch > button[b-3hy03foulq],
.route-context-choose[b-3hy03foulq] {
    width: 100%;
    min-height: 48px;
    padding: var(--am-space-2);
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) auto 18px;
    align-items: center;
    gap: 6px;
    border: var(--am-border-width) solid var(--am-border-control);
    background: var(--am-surface-1);
    color: var(--am-text-secondary);
    text-align: left;
    cursor: default;
}
.route-context-branch > button:hover[b-3hy03foulq],
.route-context-branch:hover > button[b-3hy03foulq],
.route-context-choose:hover[b-3hy03foulq] { border-color: var(--am-accent); background: var(--am-accent-bg); }
.route-context-branch > button:disabled[b-3hy03foulq] { opacity: .42; }
.route-context-branch > button.route-context-aircraft-choice[b-3hy03foulq] { cursor: pointer; }
.route-context-branch > button.route-context-aircraft-choice:disabled[b-3hy03foulq] { cursor: not-allowed; }
.route-context-branch > button > .ms[b-3hy03foulq],
.route-context-choose > .ms[b-3hy03foulq] { color: var(--am-accent); }
.route-context-branch button > span[b-3hy03foulq],
.route-context-choose > span[b-3hy03foulq] { min-width: 0; display: grid; gap: 2px; }
.route-context-branch button small[b-3hy03foulq],
.route-context-choose small[b-3hy03foulq] { color: var(--am-text-dim); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .06em; }
.route-context-branch button b[b-3hy03foulq],
.route-context-choose b[b-3hy03foulq] { overflow: hidden; color: var(--am-text-strong); font-size: var(--am-fs-body); text-overflow: ellipsis; white-space: nowrap; }
.route-context-branch button em[b-3hy03foulq] { color: var(--am-text-muted); font: normal var(--am-fs-micro) var(--am-font-mono); white-space: nowrap; }
.route-context-chevron[b-3hy03foulq] { color: var(--am-text-faint) !important; }
.route-context-choose[b-3hy03foulq] { margin-top: 4px; grid-template-columns: 20px minmax(0, 1fr); cursor: pointer; }
.route-context-menu > .route-context-choose[b-3hy03foulq] { margin-bottom: 1px; }

.route-context-submenu[b-3hy03foulq] {
    position: absolute;
    z-index: 2;
    top: -1px;
    left: calc(100% - 1px);
    width: 306px;
    padding: var(--am-space-2);
    display: grid;
    gap: 3px;
    visibility: hidden;
    border: var(--am-border-width) solid var(--am-border-strong);
    background: rgba(3, 12, 10, .99);
    box-shadow: var(--am-shadow-3);
    opacity: 0;
    transform: translate(-4px, var(--route-menu-shift-y, 0px));
    transition: opacity var(--am-dur) var(--am-ease), transform var(--am-dur) var(--am-ease), visibility 0s linear var(--am-dur);
}
.route-context-branch:hover > .route-context-submenu[b-3hy03foulq],
.route-context-branch:focus-within > .route-context-submenu[b-3hy03foulq] {
    visibility: visible;
    opacity: 1;
    transform: translate(0, var(--route-menu-shift-y, 0px));
    transition-delay: 0s;
}
.route-context-menu.open-left .route-context-submenu[b-3hy03foulq] { right: calc(100% - 1px); left: auto; transform: translate(4px, var(--route-menu-shift-y, 0px)); }
.route-context-menu.open-left .route-context-branch:hover > .route-context-submenu[b-3hy03foulq],
.route-context-menu.open-left .route-context-branch:focus-within > .route-context-submenu[b-3hy03foulq] { transform: translate(0, var(--route-menu-shift-y, 0px)); }
.route-context-menu.open-up .route-context-submenu[b-3hy03foulq] { top: auto; bottom: -1px; }
.route-context-menu .route-context-submenu.route-context-force-left[b-3hy03foulq] { right: calc(100% - 1px); left: auto; }
.route-context-menu .route-context-submenu.route-context-force-right[b-3hy03foulq] { right: auto; left: calc(100% - 1px); }
.route-context-aircraft > p[b-3hy03foulq] { margin: 0; padding: 12px 8px; color: var(--am-text-dim); font-size: var(--am-fs-label); text-align: center; }
.route-context-amounts[b-3hy03foulq] { width: 210px; }
.route-context-amounts > button[b-3hy03foulq] {
    min-height: 45px;
    padding: 5px 8px;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 1px 7px;
    border: var(--am-border-width) solid var(--am-border-control);
    background: var(--am-surface-1);
    color: var(--am-text-secondary);
    text-align: left;
    cursor: pointer;
}
.route-context-amounts > button:hover:not(:disabled)[b-3hy03foulq] { border-color: var(--am-accent); background: var(--am-accent-bg); }
.route-context-amounts > button:disabled[b-3hy03foulq] { opacity: .38; cursor: not-allowed; }
.route-context-amounts > button b[b-3hy03foulq] { grid-row: 1 / 3; align-self: center; color: var(--am-accent-text); font-size: 20px; text-align: center; }
.route-context-amounts > button span[b-3hy03foulq] { align-self: end; color: var(--am-text-strong); font-size: var(--am-fs-micro); font-weight: 900; }
.route-context-amounts > button small[b-3hy03foulq] { color: var(--am-text-dim); font-size: var(--am-fs-micro); }
/* /Components/Systems/RouteFleetEditor.razor.rz.scp.css */
.route-fleet-editor[b-i3xij0z1bp] { padding: var(--am-space-3); display: grid; gap: var(--am-space-2); border-top: var(--am-border-width) solid var(--am-border-subtle); background: var(--am-surface-0); }
.route-quote[b-i3xij0z1bp] { min-height: 38px; padding: 0 var(--am-space-3); display: flex; align-items: center; justify-content: space-between; gap: var(--am-space-2); border: var(--am-border-width) solid var(--am-border-subtle); background: var(--am-surface-1); color: var(--am-text-secondary); font: var(--am-fs-label) var(--am-font-mono); }
.route-quote b[b-i3xij0z1bp] { color: var(--am-accent-text); }
.route-aircraft-help[b-i3xij0z1bp] { margin: 0; color: var(--am-text-dim); font-size: var(--am-fs-micro); }
.route-aircraft-recommendations[b-i3xij0z1bp],
.route-aircraft-list[b-i3xij0z1bp] { min-height: 0; display: grid; gap: var(--am-space-2); overflow-y: auto; }
.route-aircraft-category[b-i3xij0z1bp] { display: grid; grid-template-columns: 34px minmax(0, 1fr) minmax(0, 1fr); gap: 5px; align-items: stretch; }
.route-aircraft-category > strong[b-i3xij0z1bp] { display: grid; place-items: center; border: var(--am-border-width) solid var(--am-border-subtle); background: var(--am-surface-1); color: var(--am-accent); font: 800 var(--am-fs-label) var(--am-font-mono); }
.route-aircraft-choice[b-i3xij0z1bp] { min-height: 58px; padding: 7px 9px; display: flex; align-items: center; justify-content: space-between; gap: var(--am-space-2); border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-control-bg); color: var(--am-text-secondary); text-align: left; cursor: pointer; transition: var(--am-transition-control); }
.route-aircraft-choice:hover:not(:disabled)[b-i3xij0z1bp] { border-color: var(--am-border-strong); background: var(--am-control-hover); color: var(--am-text-strong); transform: translateY(-1px); }
.route-aircraft-choice.selected[b-i3xij0z1bp] { border-color: var(--am-border-accent); background: var(--am-accent-bg); }
.route-aircraft-choice.out-of-range[b-i3xij0z1bp] { opacity: .38; cursor: not-allowed; }
.route-aircraft-choice > span[b-i3xij0z1bp] { min-width: 0; display: grid; gap: 2px; }
.route-aircraft-choice b[b-i3xij0z1bp] { overflow: hidden; color: var(--am-text-strong); font-size: var(--am-fs-label); text-overflow: ellipsis; white-space: nowrap; }
.route-aircraft-choice b i[b-i3xij0z1bp] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); }
.route-aircraft-choice small[b-i3xij0z1bp] { overflow: hidden; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); text-overflow: ellipsis; white-space: nowrap; }
.route-aircraft-choice em[b-i3xij0z1bp] { flex: none; color: var(--am-accent-text); font: 800 var(--am-fs-value) var(--am-font-mono); font-style: normal; }
.route-full-list-toggle[b-i3xij0z1bp] { min-height: 34px; border: var(--am-border-width) dashed var(--am-border-control); background: transparent; color: var(--am-text-secondary); font: 800 var(--am-fs-micro) var(--am-font-mono); cursor: pointer; }
.full-list[b-i3xij0z1bp] { max-height: 220px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.route-fleet-editor > footer[b-i3xij0z1bp] { display: flex; align-items: center; justify-content: flex-end; gap: var(--am-space-2); }
.route-fleet-editor > footer > span[b-i3xij0z1bp] { margin-right: auto; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }

@media (max-width: 620px) {
    .route-aircraft-category[b-i3xij0z1bp] { grid-template-columns: 30px minmax(0, 1fr); }
    .full-list[b-i3xij0z1bp] { grid-template-columns: 1fr; }
    .route-fleet-editor > footer[b-i3xij0z1bp] { flex-wrap: wrap; }
    .route-fleet-editor > footer .primary-action[b-i3xij0z1bp] { flex: 1; }
}
/* /Components/Systems/RouteServiceDirectionCard.razor.rz.scp.css */
.route-service-card[b-ayc90yti3x] { padding: 16px; border: 1px solid color-mix(in srgb, var(--route-health) 35%, var(--am-border)); border-radius: var(--am-radius-md); background: color-mix(in srgb, var(--route-health) 4%, var(--am-surface-2)); }
.route-service-card > header[b-ayc90yti3x] { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:14px; }
.route-service-card > header div[b-ayc90yti3x] { display:grid; gap:3px; }
.route-service-card > header small[b-ayc90yti3x],.route-service-primary small[b-ayc90yti3x],.route-service-secondary small[b-ayc90yti3x] { color:var(--am-text-dim); font:700 var(--am-fs-micro) var(--am-font-ui); letter-spacing:.08em; }
.route-service-card > header .route-direction-title strong[b-ayc90yti3x] { color:var(--am-text-strong); font:800 var(--am-fs-value) var(--am-font-display); }
.route-service-badges[b-ayc90yti3x] { justify-items:end; }
.pressure-badge[b-ayc90yti3x] { padding:4px 7px; border:1px solid color-mix(in srgb,var(--route-health) 45%,var(--am-border-subtle)); border-radius:999px; background:color-mix(in srgb,var(--route-health) 10%,transparent); color:var(--route-health); font:800 var(--am-fs-micro) var(--am-font-ui); }
.confidence[b-ayc90yti3x] { padding:4px 7px; border:1px solid var(--am-border-subtle); border-radius:999px; color:var(--am-text-secondary); font:700 var(--am-fs-micro) var(--am-font-ui); }
.confidence.low[b-ayc90yti3x] { color:var(--am-warning); }
.confidence.reliable[b-ayc90yti3x] { color:var(--am-positive); }
.route-service-primary[b-ayc90yti3x] { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.route-service-primary > div[b-ayc90yti3x],.route-service-secondary > span[b-ayc90yti3x] { min-width:0; padding:9px; border:1px solid var(--am-border-subtle); border-radius:var(--am-radius-sm); background:var(--am-surface-1); }
.route-service-primary b[b-ayc90yti3x] { display:block; margin-top:4px; color:var(--am-text-strong); font:800 var(--am-fs-value) var(--am-font-display); }
.route-service-primary span[b-ayc90yti3x] { color:var(--am-text-dim); font-size:var(--am-fs-small); }
.service-realization[b-ayc90yti3x] { margin:12px 0; padding:15px 12px 10px; border:1px solid var(--am-border-subtle); border-radius:var(--am-radius-sm); background:var(--am-surface-1); }
.service-realization-heading[b-ayc90yti3x] { display:flex; justify-content:space-between; gap:12px; color:var(--am-text-dim); font:700 var(--am-fs-micro) var(--am-font-ui); letter-spacing:.065em; }
.service-realization-heading b[b-ayc90yti3x] { color:var(--am-text-secondary); font-weight:700; font-variant-numeric:tabular-nums; }
.service-realization-plot[b-ayc90yti3x] { --demand-position:0%; position:relative; padding:27px 0 16px; }
.service-realization-track[b-ayc90yti3x] { position:relative; height:16px; overflow:hidden; border:1px solid color-mix(in srgb,var(--am-border) 80%,transparent); border-radius:4px; background:var(--am-surface-4); }
.service-realization-track[b-ayc90yti3x]::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 24.7%,color-mix(in srgb,var(--am-border) 60%,transparent) 25%,transparent 25.3%,transparent 49.7%,color-mix(in srgb,var(--am-border) 60%,transparent) 50%,transparent 50.3%,transparent 74.7%,color-mix(in srgb,var(--am-border) 60%,transparent) 75%,transparent 75.3%); }
.service-beyond-technical[b-ayc90yti3x] { position:absolute; z-index:0; inset:0 0 0 auto; background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--am-text-muted) 12%,transparent) 0 3px,transparent 3px 7px); }
.service-unavailable-capacity[b-ayc90yti3x] { position:absolute; z-index:1; inset:0 auto 0 auto; border-left:1px dashed var(--am-warning); background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--am-warning) 14%,transparent) 0 3px,transparent 3px 7px); }
.service-seats-flown[b-ayc90yti3x] { position:absolute; z-index:2; inset:0 auto 0 0; display:block; overflow:hidden; background:color-mix(in srgb,var(--am-accent) 42%,var(--am-surface-3)); transition:width var(--am-duration-slow) ease; }
.service-passengers-carried[b-ayc90yti3x] { display:block; width:0; height:100%; background:var(--am-accent); box-shadow:inset -1px 0 color-mix(in srgb,var(--am-text-strong) 45%,transparent); transition:width var(--am-duration-slow) ease; }
.service-technical-threshold[b-ayc90yti3x] { position:absolute; z-index:3; top:0; bottom:0; left:var(--technical-position); width:2px; background:var(--am-text-secondary); box-shadow:0 0 4px color-mix(in srgb,var(--am-text-strong) 35%,transparent); transform:translateX(-1px); }
.service-demand-goalpost[b-ayc90yti3x] { position:absolute; z-index:4; top:2px; left:var(--demand-position); width:0; color:#f2c14e; transition:left var(--am-duration-slow) ease; }
.service-demand-goalpost span[b-ayc90yti3x] { position:absolute; top:0; left:0; width:max-content; display:block; padding:1px 5px; border:1px solid currentColor; border-radius:3px; background:color-mix(in srgb,currentColor 8%,var(--am-surface-1)); color:currentColor; font:800 var(--am-fs-micro) var(--am-font-ui); line-height:16px; white-space:nowrap; box-shadow:0 0 8px color-mix(in srgb,currentColor 16%,transparent); transform:translateX(-50%); }
.service-demand-goalpost i[b-ayc90yti3x] { position:absolute; top:19px; left:0; width:3px; height:22px; border-radius:2px; background:currentColor; box-shadow:0 0 5px color-mix(in srgb,currentColor 45%,transparent); transform:translateX(-50%); }
.service-demand-goalpost i[b-ayc90yti3x]::after { content:""; position:absolute; top:calc(100% + 5px); left:50%; width:7px; height:7px; border-top:3px solid currentColor; border-left:3px solid currentColor; transform:translateX(-50%) rotate(45deg); }
.demand-at-start .service-demand-goalpost span[b-ayc90yti3x] { transform:none; }
.demand-at-end .service-demand-goalpost span[b-ayc90yti3x],.demand-overflow .service-demand-goalpost span[b-ayc90yti3x] { transform:translateX(-100%); }
.demand-overflow .service-demand-goalpost[b-ayc90yti3x] { color:var(--am-danger); }
.demand-overflow .service-demand-goalpost span[b-ayc90yti3x] { background:color-mix(in srgb,var(--am-danger) 8%,var(--am-surface-1)); }
.service-realization-legend[b-ayc90yti3x] { display:flex; flex-wrap:wrap; gap:5px 14px; margin-top:8px; color:var(--am-text-dim); font-size:var(--am-fs-small); }
.service-realization-legend span[b-ayc90yti3x] { display:flex; align-items:center; gap:4px; }
.service-realization-legend span > i[b-ayc90yti3x] { width:9px; height:9px; flex:none; border-radius:2px; background:var(--am-surface-4); }
.service-realization-legend .carried > i[b-ayc90yti3x] { background:var(--am-accent); }
.service-realization-legend .flown > i[b-ayc90yti3x] { background:color-mix(in srgb,var(--am-accent) 42%,var(--am-surface-3)); }
.service-realization-legend .effective > i[b-ayc90yti3x] { border:1px dashed var(--am-warning); background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--am-warning) 18%,transparent) 0 2px,transparent 2px 4px); }
.service-realization-legend .technical > i[b-ayc90yti3x] { border:1px solid var(--am-border); }
.service-realization-legend b[b-ayc90yti3x] { color:var(--am-text-strong); font-variant-numeric:tabular-nums; }
.route-service-secondary[b-ayc90yti3x] { display:grid; grid-template-columns:.7fr 1fr 1.35fr; gap:8px; }
.route-service-secondary b[b-ayc90yti3x],.route-service-secondary em[b-ayc90yti3x] { display:block; margin-top:3px; color:var(--am-text-strong); font-style:normal; }
.route-service-secondary em[b-ayc90yti3x] { color:var(--am-text-secondary); font-size:var(--am-fs-small); }
.route-service-secondary .positive[b-ayc90yti3x] { color:var(--am-positive); }
.route-service-secondary .negative[b-ayc90yti3x] { color:var(--am-danger); }
.route-service-secondary .warning[b-ayc90yti3x] { color:var(--am-warning); }
.actual-service b[b-ayc90yti3x] { font-variant-numeric:tabular-nums; }
.observed-delivery-note[b-ayc90yti3x] { margin-top:10px; padding:9px 10px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 10px; border:1px solid var(--am-border-subtle); border-radius:var(--am-radius-sm); background:var(--am-surface-1); color:var(--am-text-secondary); font-size:var(--am-fs-small); }
.observed-delivery-note b[b-ayc90yti3x] { color:var(--am-text-strong); font-variant-numeric:tabular-nums; }
.observed-delivery-note small[b-ayc90yti3x] { grid-column:1 / -1; color:var(--am-text-muted); line-height:1.4; }
.observed-delivery-note.negative[b-ayc90yti3x] { border-color:color-mix(in srgb,var(--am-danger) 45%,var(--am-border-subtle)); }
.observed-delivery-note.warning[b-ayc90yti3x] { border-color:color-mix(in srgb,var(--am-warning) 45%,var(--am-border-subtle)); }
.observed-delivery-note.positive[b-ayc90yti3x] { border-color:color-mix(in srgb,var(--am-positive) 35%,var(--am-border-subtle)); }
.route-capacity-diagnosis[b-ayc90yti3x] { margin-top:12px; border-top:1px solid var(--am-border-subtle); }
.route-capacity-diagnosis summary[b-ayc90yti3x] { display:flex; justify-content:space-between; align-items:center; padding-top:11px; cursor:pointer; list-style:none; }
.route-capacity-diagnosis summary:focus-visible[b-ayc90yti3x] { outline:var(--am-focus-width) solid var(--am-focus-outline); outline-offset:var(--am-focus-offset); }
.route-capacity-diagnosis summary > .ms-sm[b-ayc90yti3x] { transition:transform 180ms ease; }
.route-capacity-diagnosis[open] summary > .ms-sm[b-ayc90yti3x] { transform:rotate(180deg); }
.route-capacity-diagnosis summary span[b-ayc90yti3x] { display:grid; gap:2px; }
.route-capacity-diagnosis summary b[b-ayc90yti3x] { color:var(--am-text-strong); font-size:var(--am-fs-body); }
.route-capacity-diagnosis summary small[b-ayc90yti3x] { color:var(--am-text-secondary); font-size:var(--am-fs-small); }
.capacity-funnel[b-ayc90yti3x] { display:grid; gap:5px; margin-top:10px; }
.capacity-funnel > div[b-ayc90yti3x] { display:flex; justify-content:space-between; padding:6px 8px; color:var(--am-text-secondary); font-size:var(--am-fs-small); }
.capacity-funnel .loss[b-ayc90yti3x] { color:var(--am-warning); }
.capacity-funnel .effective[b-ayc90yti3x] { border-top:1px solid var(--am-border-subtle); color:var(--am-accent-text); font-weight:800; }

.route-service-card.compact[b-ayc90yti3x] { padding:0; overflow:hidden; }
.compact-service-summary[b-ayc90yti3x] { padding:12px 14px; }
.compact-service-heading[b-ayc90yti3x] { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; }
.compact-destination[b-ayc90yti3x] { min-width:0; display:grid; gap:3px; }
.compact-destination strong[b-ayc90yti3x] { color:var(--am-text-strong); font:800 var(--am-fs-body) var(--am-font-display); }
.compact-destination > span[b-ayc90yti3x] { color:var(--am-text-muted); font-size:var(--am-fs-small); overflow-wrap:anywhere; }
.compact-demand-value[b-ayc90yti3x] { display:grid; gap:2px; text-align:right; }
.compact-demand-value strong[b-ayc90yti3x] { color:var(--route-health); font:800 26px var(--am-font-display); font-variant-numeric:tabular-nums; }
.compact-demand-value > span[b-ayc90yti3x] { color:var(--am-text-muted); font-size:var(--am-fs-micro); }
.compact-service-status[b-ayc90yti3x] { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; margin-top:10px; font-size:var(--am-fs-small); color:var(--am-text-muted); }
.compact-pressure-status[b-ayc90yti3x] { color:var(--route-health); }
.compact-service-status .negative[b-ayc90yti3x],.compact-service-facts .negative[b-ayc90yti3x] { color:var(--am-danger); }
.compact-service-status .warning[b-ayc90yti3x] { color:var(--am-warning); }
.compact-demand-track[b-ayc90yti3x] { height:5px; margin-top:7px; background:var(--am-surface-4); border-radius:3px; overflow:hidden; }
.compact-demand-track > span[b-ayc90yti3x] { display:block; height:100%; background:var(--route-health); transition:width var(--am-duration-slow) ease; }
.compact-direction-details[b-ayc90yti3x] { padding:12px 14px; border-top:1px solid var(--am-border-subtle); }
.compact-direction-details[hidden][b-ayc90yti3x] { display:none; }
.compact-observation[b-ayc90yti3x] { color:var(--am-text-muted); font-size:var(--am-fs-micro); }
.compact-detail-facts[b-ayc90yti3x] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }
.compact-detail-facts > span[b-ayc90yti3x] { display:grid; gap:3px; color:var(--am-text-muted); font-size:var(--am-fs-small); }
.compact-detail-facts b[b-ayc90yti3x] { color:var(--am-text-strong); font-variant-numeric:tabular-nums; }
.compact-detail-facts .positive[b-ayc90yti3x] { color:var(--am-positive); }
.compact-detail-facts .negative[b-ayc90yti3x] { color:var(--am-danger); }
.compact-direction-toggle[b-ayc90yti3x] { display:flex; justify-content:center; align-items:center; width:100%; min-height:24px; padding:2px; border:0; border-top:1px solid var(--am-border-subtle); border-radius:0; background:var(--am-surface-3); color:var(--am-text-muted); cursor:pointer; }
.compact-direction-toggle:hover[b-ayc90yti3x] { background:var(--am-surface-4); color:var(--am-accent-text); }
.compact-direction-toggle:focus-visible[b-ayc90yti3x] { outline:var(--am-focus-width) solid var(--am-focus-outline); outline-offset:-3px; }
.compact-direction-toggle[b-ayc90yti3x]  .ms-sm { transition:transform 180ms ease; }
.compact-direction-toggle[aria-expanded="true"][b-ayc90yti3x]  .ms-sm { transform:rotate(180deg); }
.compact-service-facts[b-ayc90yti3x] { display:flex; flex-wrap:wrap; gap:5px 18px; margin-top:10px; color:var(--am-text-muted); font-size:var(--am-fs-small); }
.compact-service-facts > span[b-ayc90yti3x] { min-width:0; display:flex; gap:5px; }
.compact-service-facts b[b-ayc90yti3x] { overflow:hidden; color:var(--am-text-strong); font-size:var(--am-fs-small); font-variant-numeric:tabular-nums; text-overflow:ellipsis; white-space:nowrap; }
.compact-service-facts b.positive[b-ayc90yti3x] { color:var(--am-positive); }
.compact-service-facts b.negative[b-ayc90yti3x] { color:var(--am-danger); }
.compact-service-diagnosis[b-ayc90yti3x] { margin-top:8px; padding:8px 9px; display:flex; align-items:flex-start; gap:8px; border-left:3px solid var(--route-health); background:color-mix(in srgb,var(--route-health) 6%,transparent); }
.compact-service-diagnosis > .ms-sm[b-ayc90yti3x] { margin-top:1px; flex:none; color:var(--route-health); }
.compact-service-diagnosis span[b-ayc90yti3x] { min-width:0; display:grid; gap:2px; }
.compact-service-diagnosis b[b-ayc90yti3x] { color:var(--am-text-strong); font-size:var(--am-fs-small); }
.compact-service-diagnosis small[b-ayc90yti3x] { color:var(--am-text-muted); font-size:var(--am-fs-small); line-height:1.35; }
@media (max-width:1000px){.route-service-primary[b-ayc90yti3x],.route-service-secondary[b-ayc90yti3x]{grid-template-columns:1fr}.route-service-card[b-ayc90yti3x]{padding:12px}}
@media (pointer:coarse){.compact-direction-toggle[b-ayc90yti3x]{min-height:44px}}
@media (prefers-reduced-motion:reduce){.compact-demand-track > span[b-ayc90yti3x],.compact-direction-toggle[b-ayc90yti3x]  .ms-sm{transition:none}}
@media (prefers-reduced-motion:reduce){.service-seats-flown[b-ayc90yti3x],.service-passengers-carried[b-ayc90yti3x],.service-demand-goalpost[b-ayc90yti3x]{transition:none}}
/* /Components/Systems/ScaledLineChart.razor.rz.scp.css */
.scaled-line-chart[b-48ez41rdp9]{min-height:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px}.plot[b-48ez41rdp9]{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column}.plot svg[b-48ez41rdp9]{width:100%;min-height:110px;flex:1;overflow:visible}.plot svg:focus-visible[b-48ez41rdp9]{outline:var(--am-focus-width) solid var(--am-focus-outline);outline-offset:2px}.plot line[b-48ez41rdp9]{stroke:#20332d;stroke-width:1}.plot line.reference-line[b-48ez41rdp9]{stroke:#d8b75d;stroke-width:1.5;stroke-dasharray:7 5;opacity:.75}.plot .reference-label[b-48ez41rdp9]{fill:#d8b75d;font:700 10px var(--am-font-mono);paint-order:stroke;stroke:var(--am-surface-1);stroke-width:3px}.plot polyline[b-48ez41rdp9]{fill:none;stroke:#69d5b4;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}.plot polyline.return[b-48ez41rdp9]{stroke:#d8b75d;stroke-dasharray:8 5}.plot polyline.funds[b-48ez41rdp9]{stroke:#65d5b2}.plot polyline.revenue[b-48ez41rdp9]{stroke:#6f9fd4}.plot polyline.maintenance[b-48ez41rdp9]{stroke:#dc846f}.plot polyline.profit[b-48ez41rdp9]{stroke:#d9b85f}.plot polyline.profit.positive[b-48ez41rdp9]{stroke:#6fd29f}.plot polyline.profit.negative[b-48ez41rdp9]{stroke:#e47169}.hover-column[b-48ez41rdp9]{fill:transparent;pointer-events:all}.hover-column:hover[b-48ez41rdp9],.hover-column.active[b-48ez41rdp9]{fill:rgba(112,218,184,.07)}.active-point[b-48ez41rdp9]{fill:var(--am-surface-1);stroke:#69d5b4;stroke-width:3;vector-effect:non-scaling-stroke;pointer-events:none}.active-point.return[b-48ez41rdp9]{stroke:#d8b75d}.chart-active-tooltip[b-48ez41rdp9]{position:absolute;z-index:3;top:8px;min-width:190px;padding:8px 10px;display:grid;gap:4px;transform:translateX(-50%);border:1px solid var(--am-border);border-radius:var(--am-radius-sm);background:color-mix(in srgb,var(--am-surface-3) 96%,transparent);box-shadow:var(--am-shadow-2);color:var(--am-text-secondary);font-size:var(--am-fs-small);pointer-events:none}.chart-active-tooltip strong[b-48ez41rdp9]{color:var(--am-text-strong)}.chart-active-tooltip span[b-48ez41rdp9]{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:6px}.chart-active-tooltip span i[b-48ez41rdp9]{width:8px;height:2px;background:#69d5b4}.chart-active-tooltip span.return i[b-48ez41rdp9]{height:0;border-top:2px dashed #d8b75d;background:transparent}.chart-active-tooltip b[b-48ez41rdp9]{color:var(--am-text-strong);font-variant-numeric:tabular-nums}.y-scale[b-48ez41rdp9]{padding:0 0 20px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;color:#91a69f;font:11px Consolas,monospace}.x-scale[b-48ez41rdp9]{height:20px;display:flex;justify-content:space-between;align-items:end;color:#82988f;font:10px Consolas,monospace;letter-spacing:.06em}
.reference-html[b-48ez41rdp9]{position:absolute;right:4px;z-index:2;padding:1px 3px;transform:translateY(-100%);background:var(--am-surface-1);color:#d8b75d;font:700 10px var(--am-font-mono);pointer-events:none}
/* /Components/Systems/ScorecardPanel.razor.rz.scp.css */
/* Self-contained on purpose: .overview-table and .overview-kpis are scoped to
   Game.razor, and this panel also renders on the hall of fame page. */

.scorecard[b-69sjeszek3] {
    display: flex;
    flex-direction: column;
    gap: 16px
}

/* -------------------------------------------------------------- headline -- */

.scorecard-headline[b-69sjeszek3] {
    display: grid;
    grid-template-columns: minmax(150px,190px) 1fr;
    gap: 18px;
    padding: 16px;
    border: 1px solid var(--am-border);
    background: var(--am-surface-1)
}

.scorecard-score[b-69sjeszek3] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    justify-content: center;
    padding-right: 18px;
    border-right: 1px solid var(--am-border-subtle)
}

    .scorecard-score b[b-69sjeszek3] {
        color: var(--am-accent-strong);
        font: 800 36px/1 Consolas,monospace;
        letter-spacing: .02em
    }

.scorecard-rank[b-69sjeszek3] {
    color: var(--am-text-strong);
    font: 800 11px Consolas,monospace;
    letter-spacing: .12em
}

.scorecard-identity[b-69sjeszek3] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center
}

    .scorecard-identity h3[b-69sjeszek3] {
        margin: 2px 0 0;
        color: var(--am-text-bright);
        font: 700 17px system-ui,sans-serif
    }

    .scorecard-identity p[b-69sjeszek3] {
        margin: 0;
        color: var(--am-text-secondary);
        font: 400 12px/1.5 system-ui,sans-serif
    }

    .scorecard-identity small[b-69sjeszek3] {
        color: var(--am-text-dim);
        font: 700 10px Consolas,monospace
    }

    .scorecard-identity .am-chip[b-69sjeszek3] {
        align-self: flex-start
    }

/* ------------------------------------------------------------ components -- */

.scorecard-components[b-69sjeszek3] {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--am-border-subtle)
}

    .scorecard-components > header[b-69sjeszek3],
    .scorecard-components > .am-table-row[b-69sjeszek3] {
        display: grid;
        grid-template-columns: minmax(140px,1fr) 2fr 80px;
        gap: 10px;
        align-items: center;
        padding: 0 10px;
        min-height: 30px
    }

    .scorecard-components > header[b-69sjeszek3] {
        background: var(--am-surface-2);
        color: var(--am-text-dim);
        font: 800 9px Consolas,monospace;
        letter-spacing: .08em
    }

    .scorecard-components > header span:last-child[b-69sjeszek3],
    .scorecard-components .am-table-row span:last-child[b-69sjeszek3] {
        text-align: right
    }

    .scorecard-components .am-table-row b[b-69sjeszek3] {
        color: var(--am-text-strong);
        font: 800 10px Consolas,monospace;
        letter-spacing: .05em
    }

    .scorecard-components .am-table-row span:nth-child(2)[b-69sjeszek3] {
        color: var(--am-text-muted);
        font: 400 11px system-ui,sans-serif
    }

    .scorecard-components .am-table-row span:last-child[b-69sjeszek3] {
        color: var(--am-accent);
        font: 800 12px Consolas,monospace
    }

    /* The multipliers are not points, so they read as an aside rather than as
       another row of the sum above them. */
    .scorecard-components .multiplier-row[b-69sjeszek3] {
        background: var(--am-surface-0)
    }

        .scorecard-components .multiplier-row b[b-69sjeszek3] {
            color: var(--am-text-muted)
        }

/* ------------------------------------------------------------------ kpis -- */

.scorecard-kpis[b-69sjeszek3] {
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(120px,1fr));
    gap: 1px;
    background: var(--am-border-subtle);
    border: 1px solid var(--am-border-subtle)
}

    .scorecard-kpis > span[b-69sjeszek3] {
        display: flex;
        flex-direction: column;
        gap: 2px;
        padding: 9px 11px;
        background: var(--am-surface-1)
    }

        .scorecard-kpis > span small[b-69sjeszek3] {
            color: var(--am-text-dim);
            font: 800 9px Consolas,monospace;
            letter-spacing: .06em
        }

        .scorecard-kpis > span b[b-69sjeszek3] {
            color: var(--am-text-bright);
            font: 800 13px Consolas,monospace
        }

    .scorecard-kpis > span.positive b[b-69sjeszek3] { color: var(--am-positive) }
    .scorecard-kpis > span.negative b[b-69sjeszek3] { color: var(--am-danger) }

/* ----------------------------------------------------------- meter, rules -- */

.scorecard-meter[b-69sjeszek3] {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.scorecard-setup summary[b-69sjeszek3] {
    color: var(--am-text-muted);
    font: 700 10px Consolas,monospace;
    letter-spacing: .05em;
    cursor: pointer
}

.scorecard-setup dl[b-69sjeszek3] {
    margin: 10px 0 0;
    display: grid;
    grid-template-columns: repeat(auto-fit,minmax(190px,1fr));
    gap: 4px 16px
}

    .scorecard-setup dl div[b-69sjeszek3] {
        display: flex;
        justify-content: space-between;
        gap: 10px;
        padding-bottom: 3px;
        border-bottom: 1px solid var(--am-border-subtle)
    }

    .scorecard-setup dt[b-69sjeszek3] {
        color: var(--am-text-dim);
        font: 700 10px Consolas,monospace
    }

    .scorecard-setup dd[b-69sjeszek3] {
        margin: 0;
        color: var(--am-text-strong);
        font: 800 10px Consolas,monospace
    }

/* --------------------------------------------------------------- compact -- */

/* The game-over overlay leads with the result, not the statistics. */
.scorecard.compact .scorecard-kpis:nth-of-type(2)[b-69sjeszek3],
.scorecard.compact .scorecard-setup[b-69sjeszek3] {
    display: none
}

.scorecard.compact .scorecard-components[b-69sjeszek3] {
    max-height: 210px;
    overflow-y: auto
}

@media (max-width:640px) {
    .scorecard-headline[b-69sjeszek3] {
        grid-template-columns: 1fr
    }

    .scorecard-score[b-69sjeszek3] {
        padding-right: 0;
        padding-bottom: 12px;
        border-right: none;
        border-bottom: 1px solid var(--am-border-subtle)
    }

    .scorecard-components > header[b-69sjeszek3],
    .scorecard-components > .am-table-row[b-69sjeszek3] {
        grid-template-columns: 1fr 70px
    }

        .scorecard-components > header span:nth-child(2)[b-69sjeszek3],
        .scorecard-components > .am-table-row span:nth-child(2)[b-69sjeszek3] {
            display: none
        }
}
/* /Components/Systems/SocialHub.razor.rz.scp.css */
.social-hub[b-s9v47o445k] { position: relative; font-family: var(--am-font-ui); }
.social-launch[b-s9v47o445k] { position: relative; min-width: 34px; min-height: 34px; padding: 0 var(--am-space-2); display: inline-flex; align-items: center; justify-content: center; gap: var(--am-space-1); border: var(--am-border-width) solid var(--am-border-control); border-radius: var(--am-radius-sm); background: var(--am-surface-1); color: var(--am-text-muted); cursor: pointer; transition: border-color var(--am-dur-fast) var(--am-ease), background-color var(--am-dur-fast) var(--am-ease), color var(--am-dur-fast) var(--am-ease), transform var(--am-dur-fast) var(--am-ease); }
.social-launch:hover[b-s9v47o445k], .social-launch.active[b-s9v47o445k] { border-color: var(--am-border-accent); background: var(--am-accent-bg); color: var(--am-accent-text); }
.social-launch:active[b-s9v47o445k] { transform: translateY(1px); }
.social-launch > span:not(.social-badge)[b-s9v47o445k] { font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .08em; }
.social-badge[b-s9v47o445k] { position: absolute; top: -6px; right: -6px; min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border-radius: 9px; background: var(--am-danger); color: #fff; font: 800 9px var(--am-font-mono); box-shadow: 0 0 0 2px var(--am-surface-0); }
.social-hub.floating[b-s9v47o445k] { position: fixed; z-index: calc(var(--am-z-modal) - 2); top: var(--am-space-3); right: var(--am-space-3); }

.social-panel[b-s9v47o445k] { position: fixed; z-index: calc(var(--am-z-modal) - 1); top: calc(var(--am-topbar-h) + var(--am-space-2)); right: var(--am-space-3); width: min(390px, calc(100vw - 24px)); max-height: calc(100vh - var(--am-topbar-h) - 24px); padding: var(--am-space-3); display: grid; gap: var(--am-space-3); overflow-y: auto; border: var(--am-border-width) solid var(--am-border-accent); border-radius: var(--am-radius-lg); background: color-mix(in srgb, var(--am-surface-0) 94%, transparent); box-shadow: var(--am-shadow-3); backdrop-filter: blur(16px); color: var(--am-text); }
.social-panel > header[b-s9v47o445k] { display: flex; align-items: center; justify-content: space-between; gap: var(--am-space-2); }
.social-panel h2[b-s9v47o445k] { margin: 2px 0 0; color: var(--am-text-bright); font-size: var(--am-fs-h2); }
.social-add[b-s9v47o445k] { display: grid; gap: var(--am-space-1); }
.social-add > div[b-s9v47o445k] { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--am-space-1); }
.social-add input[b-s9v47o445k] { min-width: 0; width: 100%; }
.social-message[b-s9v47o445k] { margin: 0; padding: var(--am-space-2); border: var(--am-border-width) solid; border-radius: var(--am-radius-sm); font-size: var(--am-fs-body); }
.social-message.success[b-s9v47o445k] { border-color: var(--am-border-accent); color: var(--am-positive); }
.social-message.error[b-s9v47o445k] { border-color: var(--am-danger-border); color: var(--am-danger-text); }
.social-section[b-s9v47o445k] { display: grid; gap: var(--am-space-1); }
.social-section h3[b-s9v47o445k] { margin: 0; display: flex; justify-content: space-between; color: var(--am-text-muted); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: var(--am-track-label); text-transform: uppercase; }
.social-section h3 span[b-s9v47o445k] { color: var(--am-accent); }
.social-section article[b-s9v47o445k] { min-height: 48px; padding: var(--am-space-2); display: flex; align-items: center; gap: var(--am-space-2); border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius-sm); background: var(--am-surface-1); }
.social-section article > span[b-s9v47o445k] { min-width: 0; flex: 1; display: grid; gap: 2px; }
.social-section article b[b-s9v47o445k] { color: var(--am-text-strong); font-size: var(--am-fs-body); }
.social-section article small[b-s9v47o445k] { color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); }
.social-section article > div[b-s9v47o445k] { margin-left: auto; display: flex; justify-content: flex-end; flex-wrap: wrap; gap: var(--am-space-1); }
.social-section article .am-btn[b-s9v47o445k] { min-height: 30px; padding: 0 var(--am-space-2); }
.social-section article .join-friend[b-s9v47o445k] { white-space: nowrap; }
.presence[b-s9v47o445k] { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--am-text-dim); }
.presence.online[b-s9v47o445k] { background: var(--am-positive); box-shadow: 0 0 8px var(--am-positive); }
.remove-friend[b-s9v47o445k] { color: var(--am-text-dim); }
.remove-friend:hover[b-s9v47o445k] { color: var(--am-danger-text); border-color: var(--am-danger-border); }
.social-empty[b-s9v47o445k], .outgoing p[b-s9v47o445k], .social-context[b-s9v47o445k] { margin: 0; color: var(--am-text-dim); font: var(--am-fs-micro) / 1.45 var(--am-font-mono); }
.outgoing p[b-s9v47o445k], .social-context[b-s9v47o445k] { padding: var(--am-space-2); display: flex; align-items: center; gap: var(--am-space-1); border: var(--am-border-width) solid var(--am-border-subtle); border-radius: var(--am-radius-sm); }
.social-context.active[b-s9v47o445k] { border-color: var(--am-border-accent); background: var(--am-accent-bg); color: var(--am-accent-text); }

.game-invite-backdrop[b-s9v47o445k] { position: fixed; z-index: calc(var(--am-z-modal) + 4); inset: 0; padding: var(--am-space-4); display: grid; place-items: center; background: rgba(0, 5, 4, .76); backdrop-filter: blur(5px); }
.game-invite[b-s9v47o445k] { width: min(480px, 100%); padding: var(--am-space-6); display: grid; justify-items: center; gap: var(--am-space-3); border: var(--am-border-width) solid var(--am-border-accent); border-radius: var(--am-radius); background: var(--am-surface-1); box-shadow: var(--am-shadow-3); text-align: center; }
.game-invite .invite-icon[b-s9v47o445k] { color: var(--am-accent); --am-icon-size: 38px; }
.game-invite h2[b-s9v47o445k] { margin: 0; color: var(--am-text-bright); font-size: var(--am-fs-h2); }
.game-invite p[b-s9v47o445k] { margin: 0; color: var(--am-text-muted); font-size: var(--am-fs-body); }
.game-invite p b[b-s9v47o445k] { color: var(--am-accent-text); }
.game-invite > div[b-s9v47o445k] { margin-top: var(--am-space-2); display: flex; gap: var(--am-space-2); }

@media (max-width: 560px) {
    .social-panel[b-s9v47o445k] { top: var(--am-space-2); right: var(--am-space-2); max-height: calc(100vh - 16px); }
    .game-invite[b-s9v47o445k] { padding: var(--am-space-4); }
}
/* /Components/Systems/TutorialGuide.razor.rz.scp.css */
.tutorial-guide[b-wqweqjt6ye],
.tutorial-reopen[b-wqweqjt6ye] {
    position: fixed;
    z-index: calc(var(--am-z-modal) + 5);
    left: var(--am-space-4);
    bottom: 76px;
    font-family: var(--am-font-ui);
}

.tutorial-arrow-layer[b-wqweqjt6ye] {
    position: fixed;
    z-index: calc(var(--am-z-modal) + 4);
    inset: 0;
    width: 100vw;
    height: 100dvh;
    overflow: visible;
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--am-duration-fast) var(--am-ease);
}

.tutorial-arrow-layer.visible[b-wqweqjt6ye] { opacity: 1; }
.tutorial-arrow-shadow[b-wqweqjt6ye],
.tutorial-arrow-line[b-wqweqjt6ye] { fill: none; stroke-linecap: round; }
.tutorial-arrow-shadow[b-wqweqjt6ye] { stroke: rgba(0, 5, 4, .9); stroke-width: 10; }
.tutorial-arrow-line[b-wqweqjt6ye] {
    stroke: #ffe078;
    stroke-width: 4;
    stroke-dasharray: 11 8;
    filter: drop-shadow(0 0 7px rgba(255, 215, 92, .92));
    animation: tutorial-arrow-flow-b-wqweqjt6ye .7s linear infinite;
}
.tutorial-arrow-layer marker path[b-wqweqjt6ye] { fill: #ffe078; stroke: rgba(0, 5, 4, .9); stroke-width: 1; }
.tutorial-arrow-point[b-wqweqjt6ye] {
    fill: #ffe078;
    stroke: rgba(0, 5, 4, .95);
    stroke-width: 3;
    filter: drop-shadow(0 0 8px rgba(255, 215, 92, .9));
}

@keyframes tutorial-arrow-flow-b-wqweqjt6ye { to { stroke-dashoffset: -19; } }

.tutorial-guide[b-wqweqjt6ye] {
    width: min(410px, calc(100vw - var(--am-space-6)));
    border: var(--am-border-width) solid var(--am-border-accent);
    border-radius: var(--am-radius-lg);
    overflow: hidden;
    background: color-mix(in srgb, var(--am-surface-1) 97%, transparent);
    box-shadow: 0 18px 55px rgba(0, 0, 0, .68), 0 0 0 1px rgba(69, 225, 182, .05);
    backdrop-filter: blur(14px);
}

.tutorial-guide > header[b-wqweqjt6ye] {
    min-height: 58px;
    padding: var(--am-space-3) var(--am-space-4);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--am-space-3);
    border-bottom: var(--am-border-width) solid var(--am-border-subtle);
    background: linear-gradient(135deg, var(--am-accent-bg), var(--am-surface-2));
}

.tutorial-identity[b-wqweqjt6ye] { display: flex; align-items: center; gap: var(--am-space-3); color: var(--am-accent); }
.tutorial-identity > .ms[b-wqweqjt6ye] { --am-icon-size: 26px; }
.tutorial-identity > span[b-wqweqjt6ye] { display: grid; gap: 2px; }
.tutorial-identity small[b-wqweqjt6ye] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .12em; }
.tutorial-identity b[b-wqweqjt6ye] { color: var(--am-text-strong); font-size: var(--am-fs-value); }

.tutorial-progress[b-wqweqjt6ye] { position: relative; height: 24px; display: flex; align-items: center; background: var(--am-surface-0); }
.tutorial-progress[b-wqweqjt6ye]::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 24%, rgba(255,255,255,.025) 25%, transparent 26%, transparent 49%, rgba(255,255,255,.025) 50%, transparent 51%, transparent 74%, rgba(255,255,255,.025) 75%, transparent 76%); }
.tutorial-progress i[b-wqweqjt6ye] { position: absolute; inset: 0 auto 0 0; background: color-mix(in srgb, var(--am-accent) 22%, transparent); border-right: 1px solid var(--am-accent); transition: width var(--am-duration-slow) var(--am-ease); }
.tutorial-progress span[b-wqweqjt6ye] { position: relative; margin-left: auto; padding-right: var(--am-space-3); color: var(--am-text-muted); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .06em; }

.tutorial-content[b-wqweqjt6ye] { padding: var(--am-space-4); display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: var(--am-space-3); }
.tutorial-step-icon[b-wqweqjt6ye] { width: 42px; height: 42px; display: grid; place-items: center; border: var(--am-border-width) solid var(--am-border-accent); border-radius: var(--am-radius); background: var(--am-accent-bg); color: var(--am-accent); }
.tutorial-step-icon .ms[b-wqweqjt6ye] { --am-icon-size: 24px; }
.tutorial-content > div[b-wqweqjt6ye] { min-width: 0; }
.tutorial-content small[b-wqweqjt6ye] { color: var(--am-accent); font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .1em; }
.tutorial-content h2[b-wqweqjt6ye] { margin: 3px 0 var(--am-space-2); color: var(--am-text-bright); font-size: var(--am-fs-h2); line-height: 1.2; }
.tutorial-content p[b-wqweqjt6ye] { margin: 0; color: var(--am-text-muted); font-size: var(--am-fs-body); line-height: 1.55; }

.tutorial-objective[b-wqweqjt6ye] {
    margin: 0 var(--am-space-4);
    padding: var(--am-space-3);
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: var(--am-space-2);
    border: var(--am-border-width) solid var(--am-border-control);
    border-radius: var(--am-radius-sm);
    background: var(--am-surface-2);
    color: var(--am-text-dim);
}
.tutorial-objective.complete[b-wqweqjt6ye] { border-color: var(--am-border-accent); background: var(--am-accent-bg); color: var(--am-accent); }
.tutorial-objective > span[b-wqweqjt6ye] { display: grid; gap: 3px; min-width: 0; }
.tutorial-objective small[b-wqweqjt6ye] { font: 800 var(--am-fs-micro) var(--am-font-mono); letter-spacing: .08em; }
.tutorial-objective b[b-wqweqjt6ye] { color: var(--am-text-strong); font-size: var(--am-fs-body); line-height: 1.35; }

.tutorial-tip[b-wqweqjt6ye] { margin: var(--am-space-3) var(--am-space-4) 0; display: flex; align-items: flex-start; gap: var(--am-space-2); color: var(--am-text-dim); font: var(--am-fs-micro) / 1.5 var(--am-font-mono); }
.tutorial-tip .ms[b-wqweqjt6ye] { margin-top: 1px; color: var(--am-warning); }

.tutorial-guide > footer[b-wqweqjt6ye] { padding: var(--am-space-4); display: flex; align-items: center; gap: var(--am-space-2); }
.tutorial-guide > footer .am-btn[b-wqweqjt6ye] { min-height: 38px; }
.tutorial-next[b-wqweqjt6ye] { margin-left: auto; }

.tutorial-options[b-wqweqjt6ye] { border-top: var(--am-border-width) solid var(--am-border-subtle); background: var(--am-surface-0); }
.tutorial-options summary[b-wqweqjt6ye] { min-height: 34px; padding: 0 var(--am-space-4); display: flex; align-items: center; color: var(--am-text-dim); font: var(--am-fs-micro) var(--am-font-mono); cursor: pointer; }
.tutorial-options > div[b-wqweqjt6ye] { padding: 0 var(--am-space-4) var(--am-space-3); display: flex; gap: var(--am-space-2); }
.tutorial-options .am-btn[b-wqweqjt6ye] { min-height: 34px; font-size: var(--am-fs-micro); }

.tutorial-reopen[b-wqweqjt6ye] {
    min-height: 42px;
    padding: 0 var(--am-space-3);
    display: flex;
    align-items: center;
    gap: var(--am-space-2);
    border: var(--am-border-width) solid var(--am-border-accent);
    border-radius: var(--am-radius-pill);
    background: var(--am-surface-1);
    color: var(--am-accent-text);
    box-shadow: var(--am-shadow-2);
    font: 800 var(--am-fs-label) var(--am-font-mono);
    cursor: pointer;
    transition: transform var(--am-duration-fast) var(--am-ease), background var(--am-duration-fast) var(--am-ease);
}
.tutorial-reopen:hover[b-wqweqjt6ye] { transform: translateY(-2px); background: var(--am-accent-bg); }
.tutorial-reopen:active[b-wqweqjt6ye] { transform: translateY(0); }
.tutorial-reopen.complete[b-wqweqjt6ye] { color: var(--am-success-text); }

@media (max-width: 720px) {
    .tutorial-guide[b-wqweqjt6ye] { left: var(--am-space-2); bottom: 62px; width: calc(100vw - var(--am-space-4)); max-height: calc(100dvh - 118px); overflow-y: auto; }
    .tutorial-reopen[b-wqweqjt6ye] { left: var(--am-space-2); bottom: 62px; }
    .tutorial-content[b-wqweqjt6ye] { padding: var(--am-space-3); }
    .tutorial-objective[b-wqweqjt6ye] { margin-inline: var(--am-space-3); }
    .tutorial-guide > footer[b-wqweqjt6ye] { padding: var(--am-space-3); flex-wrap: wrap; }
    .tutorial-next[b-wqweqjt6ye] { flex: 1; margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .tutorial-arrow-line[b-wqweqjt6ye] { animation: none; }
}
