:root {
  --bg: #f4f6f8;
  --panel: #ffffff;
  --panel-soft: #f8fafc;
  --line: #e4e9ee;
  --line-strong: #d6dde5;
  --text: #17202a;
  --muted: #7a8793;
  --blue: #1976d2;
  --blue-soft: #e9f3fd;
  --green: #52a964;
  --green-soft: #edf8ef;
  --orange: #d98b34;
  --red: #dc5661;
  --radius: 18px;
  --shadow: 0 10px 34px rgba(20, 35, 50, .055);
  --font-base: 20px;
  --type-caption: .6rem;
  --type-body: .7rem;
  --type-heading: 1rem;
  --type-display: 1.75rem;
}

* { box-sizing: border-box; }
[hidden] { display:none!important; }
html { scroll-behavior: smooth; font-size:var(--font-base); }
html[data-font-size="small"] { --font-base:17px; }
html[data-font-size="medium"] { --font-base:20px; }
html[data-font-size="large"] { --font-base:23px; }
body { margin: 0; min-width: 320px; background: var(--bg); color: var(--text); font-family: "DM Sans", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.shell { width: min(1380px, calc(100% - 48px)); margin-inline: auto; }
.topbar { height: 68px; background: rgba(255,255,255,.88); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); display: flex; align-items: center; justify-content: space-between; padding: 0 max(24px, calc((100vw - 1380px)/2)); position: sticky; top: 0; z-index: 20; }
.brand { display: flex; align-items: center; gap: 10px; color: var(--text); text-decoration: none; letter-spacing: .13em; }
.brand strong { display: block; font:700 .75rem/1 "Manrope"; }.brand small { display: block; margin-top: 5px; color: var(--muted); font-size: 7px; letter-spacing: .17em; }
.brand-mark { width: 34px; height: 34px; border-radius: 50%; border: 1px solid #b9cad8; display: grid; place-items: center; position: relative; }
.brand-mark::before, .brand-mark::after { content:""; position:absolute; width:18px; height:1px; background:var(--blue); transform:rotate(-28deg); }.brand-mark::after { transform:rotate(28deg); }.brand-mark span { width:4px; height:4px; border-radius:50%; background:var(--green); }
.app-toolbar { display:flex; align-items:center; gap:6px; }.toolbar-group { display:flex; padding:3px; border:1px solid var(--line); border-radius:10px; background:#f8fafb; }.toolbar-group button { min-width:31px; border:0; background:transparent; color:var(--muted); border-radius:7px; padding:6px 8px; font-size:.625rem; font-weight:700; }.toolbar-group button.active { background:#fff; color:var(--blue); box-shadow:0 2px 8px #17202a12; }.font-switch button:nth-child(2) { font-size:.75rem; }.font-switch button:last-child { font-size:.875rem; }

.plan-bar { display:grid; grid-template-columns:260px 1fr; gap:28px; align-items:center; margin:28px 0 14px; padding:20px 22px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); box-shadow:var(--shadow); }
.route-source { color:var(--blue); background:var(--blue-soft); border-radius:20px; padding:4px 8px; font-size:.5rem; letter-spacing:.12em; font-weight:700; }.plan-identity h1 { font:600 1.8125rem/1 "Manrope"; letter-spacing:-.04em; margin:11px 0 6px; }.plan-identity h1 span { color:var(--blue); font-weight:400; }.plan-identity p { margin:0; color:var(--muted); font-size:.625rem; }
.plan-status-row { display:flex; align-items:center; gap:7px; min-width:0; }.feasibility-badge { flex:0 0 auto; border-radius:20px; padding:4px 8px; font-size:.5rem; letter-spacing:.08em; }.feasibility-badge.viable { color:#438b52; background:var(--green-soft); }.feasibility-badge.attention { color:#1766b4; background:var(--blue-soft); }.feasibility-badge.marginal { color:#a66722; background:#fff4e7; }.feasibility-badge.unavailable { color:#a83f49; background:#fdecef; }.plan-status-row small { min-width:0; color:var(--muted); font-size:.4375rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.plan-form { display:grid; grid-template-columns:minmax(220px,420px) 124px; gap:8px; align-items:end; justify-content:end; min-width:0; }
.field { display:block; min-width:0; }.field > span { display:block; color:var(--muted); font-size:.5rem; text-transform:uppercase; letter-spacing:.08em; margin:0 0 5px 2px; }.field input { width:100%; min-width:0; height:38px; border:1px solid var(--line); background:var(--panel-soft); color:var(--text); border-radius:10px; padding:0 10px; outline:none; font-weight:600; font-size:.75rem; text-transform:uppercase; }.field input:focus { border-color:#8bbce9; background:#fff; box-shadow:0 0 0 3px var(--blue-soft); }.field > div { display:flex; align-items:center; border:1px solid var(--line); border-radius:10px; background:var(--panel-soft); }.field > div input { border:0; background:transparent; }.field > div small { color:var(--muted); font-size:.5rem; padding-right:9px; }
.primary-button { height:38px; border:0; border-radius:10px; background:var(--blue); color:#fff; font-size:.625rem; font-weight:700; }.primary-button:disabled { cursor:wait; opacity:.72; }

.kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:1fr; gap:10px; margin-bottom:10px; }.kpi { min-height:112px; border:1px solid var(--line); border-radius:16px; background:var(--panel); padding:17px 19px; display:flex; flex-direction:column; justify-content:space-between; box-shadow:var(--shadow); }.kpi > span { color:var(--muted); font-size:.5625rem; text-transform:uppercase; letter-spacing:.07em; }.kpi > strong { font:600 1.75rem/1 "Manrope"; letter-spacing:-.04em; }.kpi > strong small { color:var(--muted); font-size:.625rem; letter-spacing:.05em; }.kpi > small { color:var(--muted); font-size:.5625rem; }.kpi.featured { border-color:#b8d9c0; background:linear-gradient(140deg,#fff,var(--green-soft)); }.kpi.featured > strong { color:var(--green); font-size:2.125rem; }.kpi.featured b { color:var(--text); }
.dashboard-grid { display:grid; grid-template-columns:minmax(0,3fr) minmax(320px,1fr); gap:10px; align-items:start; }.panel { background:var(--panel); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.dashboard-grid, .panel, .control-stack, .control-stack > * { min-width:0; }
.visual-panel { min-height:516px; padding:0 24px 20px; }.view-tabs { display:flex; gap:22px; height:55px; align-items:center; border-bottom:1px solid var(--line); }.view-tabs button { height:55px; padding:2px 0 0; border:0; border-bottom:2px solid transparent; color:var(--muted); background:transparent; font-size:.6875rem; font-weight:600; }.view-tabs button.active { color:var(--text); border-color:var(--blue); }.view { display:none; padding-top:20px; }.view.active { display:block; }.view-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:32px; }.view-heading h2, .section-heading h2 { margin:0; font:600 .9375rem "Manrope"; letter-spacing:-.02em; }.muted-value { color:var(--muted); font-size:.625rem; }
.visual-panel { overflow:hidden; }.view { min-width:0; }
.chart-tabs { display:flex; background:var(--panel-soft); border:1px solid var(--line); border-radius:9px; padding:3px; }.chart-tabs button { border:0; background:transparent; color:var(--muted); padding:6px 9px; border-radius:6px; font-size:.5rem; text-transform:uppercase; font-weight:700; }.chart-tabs button.active { color:var(--blue); background:#fff; box-shadow:0 1px 5px #17202a0d; }.chart-wrap { min-height:345px; margin-top:12px; }.chart-wrap svg, .route-map svg, #verticalProfile svg { width:100%; height:auto; display:block; overflow:visible; }.chart-wrap svg text, .route-map svg text, #verticalProfile svg text { font-size:.58rem; }.chart-foot { display:flex; align-items:center; gap:16px; padding-top:12px; border-top:1px solid var(--line); color:var(--muted); font-size:.5rem; }.chart-foot > span { display:flex; align-items:center; gap:6px; }.chart-foot > span:last-child { margin-left:auto; }.chart-foot i { width:6px; height:6px; border-radius:50%; }.blue-dot { background:var(--blue); }.green-dot { background:var(--green); }
.icing-summary { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:10px; margin:0 0 10px; padding:9px 11px; border:1px solid var(--line); border-radius:10px; background:var(--panel-soft); }.icing-summary b { padding:4px 7px; border-radius:7px; font-size:.4375rem; letter-spacing:.05em; white-space:nowrap; }.icing-summary b.icing-low { background:var(--green-soft); color:var(--green); }.icing-summary b.icing-watch,.icing-summary b.icing-caution { background:#fff4e7; color:var(--orange); }.icing-summary b.icing-avoid { background:#f9eef0; color:var(--red); }.icing-summary span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--text); font-size:.5625rem; font-weight:600; }.icing-summary small { color:var(--muted); font-size:.4375rem; white-space:nowrap; }
.route-map { min-height:340px; display:flex; align-items:center; }.route-map svg .route-waypoint-label { font-size:.52rem; paint-order:stroke; stroke:#fff; stroke-width:3px; stroke-linejoin:round; }.route-map svg .route-waypoint { transition:opacity .15s ease; }.route-map svg .route-waypoint:hover { opacity:.72; }.mini-stats { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }.mini-stats div { padding:14px 6px 2px; border-right:1px solid var(--line); }.mini-stats div:last-child { border:0; }.mini-stats span { color:var(--muted); display:block; font-size:.4375rem; letter-spacing:.08em; margin-bottom:5px; }.mini-stats strong { font-size:.6875rem; }
#verticalProfile { padding:50px 0 20px; }.phase-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); padding-top:15px; }.phase-grid div { display:grid; grid-template-columns:13px 1fr; }.phase-grid .phase-dot { grid-row:span 2; width:6px; height:6px; border-radius:50%; margin-top:3px; }.phase-dot.climb { background:var(--blue); }.phase-dot.cruise { background:var(--green); }.phase-dot.descent { background:var(--orange); }.phase-grid span { color:var(--muted); font-size:.4375rem; letter-spacing:.09em; }.phase-grid strong { font-size:.5625rem; margin-top:3px; }
.control-stack { display:flex; flex-direction:column; gap:10px; }.controls-panel, .insight-panel, .fuel-panel { padding:18px; }.mode-control { display:flex; padding:3px; background:var(--panel-soft); border:1px solid var(--line); border-radius:11px; margin-bottom:14px; }.mode-control button { flex:1; border:0; border-radius:8px; padding:8px 4px; background:transparent; color:var(--muted); font-size:.5625rem; font-weight:700; }.mode-control button.active { background:var(--blue); color:#fff; box-shadow:0 5px 12px #1976d22e; }.power-control { border-top:1px solid var(--line); padding:12px 0; }.power-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; color:var(--muted); font-size:.5625rem; }.power-toggle { display:flex; min-width:0; padding:2px; border:1px solid var(--line); border-radius:8px; background:var(--panel-soft); }.power-toggle button { min-width:0; border:0; border-radius:6px; padding:5px 7px; background:transparent; color:var(--muted); font-size:.4375rem; font-weight:700; white-space:nowrap; }.power-toggle button.active { background:#fff; color:var(--blue); box-shadow:0 1px 5px #17202a12; }.power-auto-readout { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-top:10px; }.power-auto-readout strong { min-width:0; font-size:.6875rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.power-auto-readout small { color:var(--green); font-size:.5625rem; font-weight:700; }.power-auto-readout small.limited { color:var(--orange); }.power-manual-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:8px; margin-top:10px; }.power-manual-fields label { min-width:0; }.power-manual-fields label > span:first-child { display:block; margin:0 0 4px 2px; color:var(--muted); font-size:.4375rem; letter-spacing:.075em; }.power-manual-fields input { width:100%; min-width:0; height:34px; border:1px solid var(--line); border-radius:8px; background:var(--panel-soft); color:var(--text); padding:0 8px; outline:none; font-size:.5625rem; font-weight:600; }.power-manual-fields input:focus { border-color:#8bbce9; background:#fff; box-shadow:0 0 0 3px var(--blue-soft); }.select-control { display:flex; align-items:center; justify-content:space-between; gap:14px; border-top:1px solid var(--line); padding:13px 0; font-size:.625rem; }.select-control span { color:var(--muted); }.select-control select { min-width:0; border:1px solid var(--line); background:var(--panel-soft); color:var(--text); border-radius:8px; padding:6px 8px; font-size:.5625rem; outline:none; }.range-control { display:block; border-top:1px solid var(--line); padding:12px 0 8px; }.range-control > span { display:flex; justify-content:space-between; font-size:.625rem; }.range-control b { color:var(--muted); font-weight:500; }.range-control output { color:var(--text); font-weight:600; }.range-control input { width:100%; margin:12px 0 0; accent-color:var(--blue); }.weight-meter { border-top:1px solid var(--line); padding-top:13px; }.weight-meter > div:first-child { display:flex; justify-content:space-between; gap:10px; color:var(--muted); font-size:.5625rem; }.weight-meter strong { color:var(--text); }.meter { height:5px; background:#edf0f3; border-radius:6px; overflow:hidden; margin:10px 0 6px; }.meter span { display:block; height:100%; border-radius:6px; background:linear-gradient(90deg,var(--blue),var(--green)); }.weight-meter small { color:var(--muted); font-size:.5rem; }.mission-optimize-button { width:100%; min-width:0; height:40px; margin-top:14px; letter-spacing:.035em; }
.mission-score-panel { background:linear-gradient(145deg,#fff,#f7fbff); overflow:hidden; }
.mission-score-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }.mission-score-heading>div { display:grid; gap:4px; }.mission-score-heading span { color:var(--muted); font-size:.4375rem; font-weight:600; letter-spacing:.075em; text-transform:uppercase; }.mission-score-heading strong { color:var(--blue); font:700 1rem "Manrope"; }.mission-score-heading>small { padding:5px 7px; border-radius:7px; background:var(--panel-soft); color:var(--muted); font-size:.4375rem; font-weight:700; letter-spacing:.06em; }
.mission-score-summary { display:grid; grid-template-columns:128px minmax(0,1fr); align-items:center; gap:16px; padding:14px 0 12px; }.mission-score-dial { --score:0; --score-color:var(--red); position:relative; width:128px; height:128px; border-radius:50%; background:conic-gradient(var(--score-color) 0 calc(var(--score)*1%),#dfe6ec calc(var(--score)*1%) 100%); display:grid; place-items:center; }.mission-score-dial::after { content:""; position:absolute; inset:23px; border-radius:50%; background:linear-gradient(145deg,#fff,#f7fbff); }.mission-score-dial>span { position:relative; z-index:1; display:grid; justify-items:center; line-height:1; }.mission-score-dial strong { color:var(--score-color); font:700 1.75rem "Manrope"; letter-spacing:-.05em; }.mission-score-dial small { margin-top:6px; color:var(--muted); font-size:.5625rem; }.mission-score-copy { min-width:0; }.mission-score-copy strong { display:block; color:var(--green); font:700 .8125rem "Manrope"; letter-spacing:.035em; }.mission-score-copy strong[data-status="attention"] { color:var(--blue); }.mission-score-copy strong[data-status="marginal"] { color:var(--orange); }.mission-score-copy strong[data-status="not-viable"] { color:var(--red); }.mission-score-copy p { margin:8px 0 0; color:#5f6e7b; font-size:.5625rem; line-height:1.45; }
.mission-score-scale { display:grid; grid-template-columns:2fr repeat(3,1fr); gap:3px; height:7px; }.mission-score-scale i { border-radius:7px; background:var(--red); }.mission-score-scale i:nth-child(2) { background:var(--orange); }.mission-score-scale i:nth-child(3) { background:var(--blue); }.mission-score-scale i:nth-child(4) { background:var(--green); }.mission-score-thresholds { display:flex; justify-content:space-between; margin-top:4px; color:#9aa5af; font-size:.375rem; }
.mission-score-reasons { display:grid; gap:0; margin-top:10px; border-top:1px solid var(--line); }.mission-score-reasons>div { display:grid; grid-template-columns:8px minmax(0,1fr) auto; align-items:center; gap:7px; min-height:34px; border-bottom:1px solid var(--line); }.mission-score-reasons i { width:7px; height:7px; border-radius:50%; background:var(--orange); }.mission-score-reasons .critical i { background:var(--red); }.mission-score-reasons .ok i { background:var(--green); }.mission-score-reasons span { min-width:0; color:#60707e; font-size:.5rem; line-height:1.3; }.mission-score-reasons strong { color:var(--orange); font-size:.4375rem; letter-spacing:.03em; white-space:nowrap; }.mission-score-reasons .critical strong { color:var(--red); }.mission-score-reasons .ok strong { color:var(--green); }
.mission-score-action { display:grid; gap:4px; margin:11px 0 0; padding:10px 11px; border-radius:10px; background:var(--blue-soft); }.mission-score-action span { color:var(--blue); font-size:.375rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }.mission-score-action strong { color:var(--text); font-size:.5rem; line-height:1.35; }
.compact-heading { display:flex; justify-content:space-between; color:var(--muted); font-size:.5625rem; }.compact-heading strong { color:var(--text); }.fuel-bar { height:8px; display:flex; overflow:hidden; border-radius:10px; background:#edf0f3; margin:14px 0 12px; }.fuel-legend { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.fuel-legend div { display:grid; grid-template-columns:9px 1fr; align-items:center; }.fuel-legend i { width:5px; height:5px; border-radius:50%; }.fuel-legend span { color:var(--muted); font-size:.5rem; }.fuel-legend b { grid-column:2; font-size:.5625rem; }
.flight-tools-panel { margin-top:10px; padding:0 20px 18px; }.tool-tabs { display:flex; align-items:center; gap:22px; min-height:52px; border-bottom:1px solid var(--line); }.tool-tabs button { align-self:stretch; border:0; border-bottom:2px solid transparent; background:transparent; color:var(--muted); padding:2px 0 0; font-size:.5625rem; font-weight:700; letter-spacing:.035em; }.tool-tabs button.active { color:var(--text); border-color:var(--blue); }.tool-view { display:none; padding-top:17px; }.tool-view.active { display:block; }
.navigation-grid { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(210px,1.8fr) minmax(150px,.7fr) minmax(220px,1fr); align-items:center; gap:18px; min-height:76px; }.navigation-point > span { display:block; color:var(--muted); font-size:.5rem; font-weight:700; letter-spacing:.1em; }.navigation-point > strong { display:block; margin:6px 0 4px; font:600 1.125rem/1 "Manrope"; }.navigation-point > small { display:block; color:var(--muted); font-size:.5rem; }.etp-point > strong { color:var(--blue); }.pnr-point > strong { color:var(--orange); }.navigation-scale { position:relative; height:5px; border-radius:9px; background:linear-gradient(90deg,var(--blue-soft),#e4f3e7); }.navigation-scale::before,.navigation-scale::after { content:""; position:absolute; top:50%; width:9px; height:9px; border-radius:50%; background:#fff; border:2px solid var(--green); transform:translateY(-50%); }.navigation-scale::before { left:-2px; }.navigation-scale::after { right:-2px; }.navigation-scale i { position:absolute; top:50%; width:11px; height:11px; border-radius:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 3px #fff; }.navigation-scale i:first-child { left:50%; background:var(--blue); }.navigation-scale i:last-child { left:90%; background:var(--orange); }.navigation-speeds { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.navigation-speeds span { border-left:1px solid var(--line); padding-left:12px; }.navigation-speeds b { display:block; color:var(--muted); font-size:.4375rem; font-weight:500; }.navigation-speeds strong { display:block; margin-top:5px; font-size:.6875rem; }
.step-summary { display:flex; align-items:baseline; gap:12px; }.step-summary strong { color:var(--blue); font:700 1.25rem "Manrope"; }.step-summary span { color:var(--muted); font-size:.5625rem; }.step-track { display:flex; align-items:stretch; overflow-x:auto; gap:0; margin-top:14px; padding-bottom:2px; }.step-item { flex:1 0 150px; min-width:0; position:relative; padding:12px 14px; border-top:2px solid var(--line); }.step-item:first-child { padding-left:0; }.step-item::before { content:""; position:absolute; width:8px; height:8px; left:14px; top:-5px; border-radius:50%; background:var(--blue); box-shadow:0 0 0 3px #fff; }.step-item:first-child::before { left:0; background:var(--green); }.step-item b { display:block; font-size:.6875rem; }.step-item span { display:block; color:var(--muted); font-size:.5rem; margin-top:4px; white-space:nowrap; }
.update-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; min-width:0; }.compact-form { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,.65fr) minmax(0,1fr) minmax(88px,.6fr); align-items:end; gap:9px; min-width:0; }.compact-form > *, .compact-form label { min-width:0; }.compact-form label > span:first-child,.calibration-head > span { display:block; color:var(--muted); font-size:.4375rem; text-transform:uppercase; letter-spacing:.075em; margin:0 0 5px 2px; }.compact-form select,.compact-form input { width:100%; min-width:0; height:36px; border:1px solid var(--line); border-radius:9px; background:var(--panel-soft); color:var(--text); padding:0 9px; outline:none; font-size:.625rem; font-weight:600; }.compact-form select:focus,.compact-form input:focus { border-color:#8bbce9; background:#fff; box-shadow:0 0 0 3px var(--blue-soft); }.input-with-unit { display:flex!important; min-width:0; align-items:center; border:1px solid var(--line); border-radius:9px; background:var(--panel-soft); overflow:hidden; }.input-with-unit input { border:0; border-radius:0; background:transparent; }.input-with-unit small { color:var(--muted); padding:0 9px 0 3px; font-size:.5rem; white-space:nowrap; }.compact-form .primary-button,.compact-form .text-button { width:100%; min-width:0; padding-inline:6px; overflow:hidden; text-overflow:ellipsis; }.calibration-form { grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.15fr) minmax(88px,.65fr) minmax(72px,.55fr); border-top:1px solid var(--line); padding-top:18px; }.calibration-head { align-self:end; min-width:0; }.calibration-value { height:36px; display:flex; align-items:center; gap:10px; min-width:0; white-space:nowrap; overflow:hidden; }.calibration-head strong { flex:0 0 auto; font-size:.625rem; }.calibration-head output { min-width:0; color:var(--muted); font-size:.4375rem; overflow:hidden; text-overflow:ellipsis; }.text-button { height:36px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--muted); font-size:.5rem; font-weight:600; }
.levels-section { margin:10px 0 20px; padding:20px; border:1px solid var(--line); border-radius:var(--radius); background:var(--panel); box-shadow:var(--shadow); }.section-heading { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }.section-heading span { color:var(--muted); font-size:.5625rem; }.levels-grid { display:grid; grid-template-columns:repeat(9,1fr); gap:6px; }.level-card { position:relative; min-width:0; text-align:left; border:1px solid var(--line); background:var(--panel-soft); color:var(--text); border-radius:12px; padding:12px 10px; transition:.18s ease; }.level-card:hover { transform:translateY(-1px); border-color:#9fc8ee; }.level-card.selected { border-color:var(--blue); background:var(--blue-soft); }.level-card.recommended::after { content:"•"; position:absolute; top:7px; right:8px; color:var(--green); font-size:1.125rem; line-height:1; }.level-card b { font:600 .9375rem "Manrope"; }.level-card > span:not(.level-card-status) { display:block; color:var(--muted); font-size:.4375rem; margin:7px 0 3px; }.level-card strong { font-size:.5rem; white-space:nowrap; }
.level-card-status { display:flex; min-height:1.65rem; margin-top:8px; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:4px; }.level-card-status em { display:block; color:var(--orange); font-size:.4375rem; font-style:normal; font-weight:700; letter-spacing:.06em; }.ice-probability { display:inline-flex; align-items:center; gap:4px; max-width:100%; color:var(--muted); font-size:.4375rem; font-weight:700; letter-spacing:.035em; white-space:nowrap; }.ice-probability svg { flex:0 0 auto; width:10px; height:10px; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }.ice-probability span { min-width:0; overflow:hidden; text-overflow:ellipsis; }.ice-probability.icing-watch,.ice-probability.icing-caution { color:var(--orange); }.ice-probability.icing-avoid { color:var(--red); }.level-card.marginal { border-color:#e7bc87; background:#fffaf3; }.level-card.unavailable { border-color:#e0e4e8; background:#f1f3f5; color:#9aa5ae; cursor:not-allowed; }.level-card.unavailable > span:not(.level-card-status),.level-card.unavailable strong { color:#aab3bb; }.level-card.unavailable .level-card-status em { color:var(--red); }.level-card.unavailable:hover { transform:none; border-color:#e0e4e8; }.level-card.unavailable.selected { border-color:var(--red); background:#f9eef0; }.chart-point.unavailable { cursor:not-allowed; }
.level-card.icing-watch,.level-card.icing-caution { border-color:#ead2a8; background:#fffaf2; }.level-card.weather-unavailable { border-color:#ead2d5; background:#f9eef0; color:#9d7d81; cursor:not-allowed; }.level-card.weather-unavailable > span:not(.level-card-status),.level-card.weather-unavailable strong { color:#aa9194; }.level-card.weather-unavailable .level-card-status em { color:var(--red); }.level-card.weather-unavailable:hover { transform:none; border-color:#ead2d5; }
.text-button:disabled { opacity:.45; cursor:not-allowed; }
.advisor-grid,.scenario-grid,.load-grid,.glide-layout { min-width:0; }
.advisor-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }.advisor-card { position:relative; min-width:0; min-height:118px; padding:14px; border:1px solid var(--line); border-radius:13px; background:var(--panel-soft); }.advisor-card > span,.inline-select > span { display:block; color:var(--muted); font-size:.4375rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }.advisor-card > strong { display:block; margin-top:10px; font:600 1rem "Manrope"; }.advisor-card > small { display:block; margin-top:5px; color:var(--muted); font-size:.5rem; }.inline-select { display:flex; align-items:center; justify-content:space-between; gap:10px; }.inline-select select { min-width:0; max-width:55%; border:1px solid var(--line); border-radius:7px; background:#fff; color:var(--text); padding:5px 7px; font-size:.5rem; font-weight:600; }.status-pill { display:inline-flex; align-items:center; width:max-content; max-width:100%; margin-top:10px; padding:4px 7px; border-radius:7px; background:var(--green-soft); color:var(--green); font-size:.4375rem; letter-spacing:.05em; }.status-pill.marginal { background:#fff4e7; color:var(--orange); }.status-pill.unavailable,.status-pill.unknown { background:#f9eef0; color:var(--red); }.advisor-strip { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); }.advisor-strip span { min-width:0; padding:12px 14px 0; border-right:1px solid var(--line); }.advisor-strip span:last-child { border:0; }.advisor-strip b { display:block; color:var(--muted); font-size:.4375rem; font-weight:500; }.advisor-strip strong { display:block; margin-top:5px; font-size:.625rem; }
.scenario-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; align-items:stretch; }.scenario-card { min-width:0; padding:15px; border:1px solid var(--line); border-radius:13px; background:var(--panel-soft); }.scenario-card:not(.scenario-editable) { display:flex; flex-direction:column; }.scenario-current-body { flex:1; display:flex; flex-direction:column; justify-content:center; min-height:0; padding-block:16px; }.scenario-head { display:flex; align-items:center; gap:8px; }.scenario-head strong { display:grid; place-items:center; width:23px; height:23px; border-radius:7px; background:var(--blue); color:#fff; font-size:.5625rem; }.scenario-head span { color:var(--muted); font-size:.4375rem; font-weight:700; letter-spacing:.08em; }.scenario-name { margin:0 0 18px; font:600 .75rem "Manrope"; }.scenario-inputs { display:grid; grid-template-columns:.75fr .6fr 1fr 1fr; gap:10px; margin-top:14px; padding:12px; border:1px solid var(--line); border-radius:11px; background:#fff; }.scenario-inputs label { min-width:0; }.scenario-inputs label > span:first-child { display:block; margin:0 0 6px 2px; color:var(--muted); font-size:.375rem; font-weight:700; letter-spacing:.06em; }.scenario-inputs select,.scenario-inputs input { width:100%; min-width:0; height:34px; border:1px solid var(--line); border-radius:8px; background:var(--panel-soft); color:var(--text); padding:0 8px; font-size:.5rem; font-weight:600; }.scenario-inputs .input-with-unit { border-radius:8px; background:var(--panel-soft); }.scenario-inputs .input-with-unit input { border:0; }.scenario-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; }.scenario-stats span { min-width:0; border-left:1px solid var(--line); padding-left:8px; }.scenario-stats span:first-child { border:0; padding-left:0; }.scenario-stats b { display:block; color:var(--muted); font-size:.375rem; font-weight:500; }.scenario-stats strong { display:block; margin-top:5px; font-size:.5rem; white-space:nowrap; }.scenario-editable .scenario-stats { gap:8px; margin-top:13px; padding-top:13px; border-top:1px solid var(--line); }.scenario-editable .scenario-stats span { min-height:48px; padding:9px 10px; border:1px solid var(--line); border-radius:9px; background:#fff; }.scenario-delta { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; align-items:center; grid-column:1/-1; padding:9px 12px; border-radius:10px; background:var(--blue-soft); }.scenario-delta span { color:var(--muted); font-size:.4375rem; }.scenario-delta strong { color:var(--text); margin-left:4px; }.compact-action { width:auto; min-width:116px; padding-inline:14px; justify-self:end; grid-column:1/-1; }
.load-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }.load-grid > article { min-width:0; padding:13px; border:1px solid var(--line); border-radius:12px; background:var(--panel-soft); }.load-grid article span { display:block; min-height:1.6em; color:var(--muted); font-size:.4375rem; line-height:1.25; }.load-grid article strong { display:block; margin-top:8px; font:600 .875rem "Manrope"; }.load-status { grid-column:1/-1; display:flex; align-items:center; gap:10px; min-width:0; }.load-status .status-pill { margin:0; }.load-status span { color:var(--muted); font-size:.5rem; }
.glide-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; }.glide-kpis > span { min-width:0; padding:11px 13px; border:1px solid var(--line); border-radius:11px; background:var(--panel-soft); }.glide-kpis b { display:block; color:var(--muted); font-size:.4375rem; font-weight:500; }.glide-kpis strong { display:block; margin-top:6px; font-size:.6875rem; }.glide-chart { min-height:150px; margin-top:12px; }.glide-chart svg { display:block; width:100%; height:auto; overflow:visible; }.glide-wind { color:var(--muted); font-size:.5rem; text-align:center; letter-spacing:.035em; }
.wb-layout { display:grid; grid-template-columns:minmax(220px,.58fr) minmax(0,1.42fr); gap:12px; align-items:start; }.wb-inputs { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:13px; border:1px solid var(--line); border-radius:13px; background:var(--panel-soft); }.wb-inputs label { min-width:0; }.wb-inputs label>span:first-child { display:block; margin:0 0 4px 2px; color:var(--muted); font-size:.4375rem; font-weight:700; letter-spacing:.055em; }.wb-inputs input { width:100%; min-width:0; height:34px; border:0; background:transparent; padding:0 8px; color:var(--text); font-size:.5625rem; font-weight:700; outline:none; }.wb-inputs .input-with-unit:focus-within { border-color:#8bbce9; background:#fff; box-shadow:0 0 0 3px var(--blue-soft); }.wb-chart-card { grid-column:2; grid-row:1/3; min-width:0; padding:13px 14px 9px; border:1px solid var(--line); border-radius:13px; background:#fff; }.wb-chart-head { display:flex; align-items:center; justify-content:space-between; gap:12px; }.wb-chart-head>div { min-width:0; }.wb-chart-head strong { display:block; font-size:.625rem; }.wb-chart-head small { display:block; margin-top:3px; color:var(--muted); font-size:.4375rem; }.wb-chart-head .status-pill { margin:0; }.cg-chart { min-width:0; min-height:245px; margin-top:3px; }.cg-chart svg { display:block; width:100%; height:auto; overflow:visible; }.cg-legend { display:flex; align-items:center; gap:12px; padding:0 7px; color:var(--muted); font-size:.4375rem; }.cg-legend span { display:flex; align-items:center; gap:4px; }.cg-legend i { width:7px; height:7px; border-radius:50%; background:#7a8793; }.cg-legend i.to { background:var(--blue); }.cg-legend i.landing { background:var(--green); }.cg-legend small { margin-left:auto; font-size:.4375rem; }.wb-kpis { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.wb-kpis>span { min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:11px; background:var(--panel-soft); }.wb-kpis b { display:block; color:var(--muted); font-size:.4375rem; font-weight:500; }.wb-kpis strong { display:block; margin-top:4px; font-size:.625rem; }.wb-stations { grid-column:1/-1; min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:13px; background:var(--panel-soft); }.wb-table-head,.wb-stations #wbStationRows>div { display:grid; grid-template-columns:minmax(130px,1.5fr) repeat(3,minmax(75px,1fr)); align-items:center; gap:8px; }.wb-table-head { padding:0 8px 6px; color:var(--muted); font-size:.375rem; text-transform:uppercase; letter-spacing:.055em; }.wb-table-head span:not(:first-child),.wb-stations #wbStationRows span,.wb-stations #wbStationRows strong { text-align:right; }.wb-stations #wbStationRows>div { padding:6px 8px; border-top:1px solid var(--line); font-size:.4375rem; }.wb-stations #wbStationRows b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.wb-stations #wbStationRows span { color:var(--muted); }.wb-stations>small { display:block; margin-top:8px; color:var(--muted); font-size:.375rem; letter-spacing:.06em; }
.mission-strip { display:grid; grid-template-columns:repeat(4,1fr); margin-bottom:10px; border:1px solid var(--line); border-radius:14px; background:var(--panel); box-shadow:var(--shadow); overflow:hidden; }.mission-strip div { min-width:0; min-height:72px; padding:11px 16px; border-right:1px solid var(--line); display:grid; grid-template-columns:auto auto; grid-template-rows:auto auto auto; justify-content:center; align-content:center; align-items:center; column-gap:6px; row-gap:3px; text-align:center; }.mission-strip div:last-child { border:0; }.mission-strip span { min-width:0; color:var(--muted); font-size:.4375rem; text-transform:uppercase; letter-spacing:.07em; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.mission-strip strong { grid-column:1/-1; max-width:100%; font:700 .75rem "Manrope"; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.mission-strip strong[data-status="viable"] { color:var(--green); }.mission-strip strong[data-status="attention"] { color:var(--blue); }.mission-strip strong[data-status="marginal"] { color:var(--orange); }.mission-strip strong[data-status="not-viable"] { color:var(--red); }.mission-strip small { grid-column:1/-1; max-width:100%; color:var(--muted); font-size:.4375rem; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.oxygen-layout { display:grid; grid-template-columns:minmax(280px,1.1fr) minmax(260px,.8fr); gap:12px 24px; align-items:start; }.oxygen-controls { display:grid; grid-template-columns:.55fr 1.25fr .7fr 1fr; gap:8px; grid-column:1/-1; }.oxygen-controls label { min-width:0; }.oxygen-controls label > span { display:block; margin:0 0 4px 2px; color:var(--muted); font-size:.4375rem; text-transform:uppercase; letter-spacing:.07em; }.oxygen-controls select { width:100%; min-width:0; height:36px; border:1px solid var(--line); border-radius:9px; padding:0 8px; background:var(--panel-soft); color:var(--text); font-size:.5625rem; font-weight:600; }.seat-map { display:grid; grid-template-columns:repeat(6,1fr); gap:7px; padding:12px; border:1px solid var(--line); border-radius:13px; background:var(--panel-soft); }.seat { grid-column:span 2; min-width:0; }.seat:nth-child(1),.seat:nth-child(2) { grid-column:span 3; }.seat input { position:absolute; opacity:0; pointer-events:none; }.seat span { display:grid; place-items:center; min-height:44px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--muted); font-size:.5rem; font-weight:700; text-align:center; cursor:pointer; }.seat input:checked+span { border-color:#9fc8ee; background:var(--blue-soft); color:var(--blue); }.seat input:disabled+span { cursor:default; }.oxygen-stats { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.oxygen-stats span { min-width:0; padding:10px 12px; border:1px solid var(--line); border-radius:11px; background:var(--panel-soft); }.oxygen-stats b { display:block; color:var(--muted); font-size:.4375rem; font-weight:500; }.oxygen-stats strong { display:block; margin-top:5px; font-size:.6875rem; }.oxygen-status { grid-column:1/-1; display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding-top:2px; }.oxygen-status .status-pill { margin:0; }.oxygen-status span { color:var(--text); font-size:.5625rem; font-weight:600; }.oxygen-status small { margin-left:auto; color:var(--muted); font-size:.4375rem; }.oxygen-status a { color:var(--blue); text-decoration:none; }.oxygen-compliant,.oxygen-not-required { background:var(--green-soft);color:var(--green); }.oxygen-marginal { background:#fff4e7;color:var(--orange); }.oxygen-insufficient { background:#f9eef0;color:var(--red); }
.confidence-layout { display:grid; grid-template-columns:180px minmax(0,1fr); gap:22px; align-items:center; }.confidence-score { display:grid; place-items:center; align-content:center; min-height:142px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(145deg,#fff,var(--blue-soft)); text-align:center; }.confidence-score strong { color:var(--blue); font:700 1.875rem "Manrope"; }.confidence-score span { margin-top:4px; font-size:.5rem; font-weight:700; }.confidence-score small { margin-top:3px; color:var(--muted); font-size:.4375rem; }.envelope-grid { min-width:0; display:grid; gap:5px; }.envelope-head,.envelope-row { display:grid; grid-template-columns:minmax(65px,1fr) repeat(3,minmax(72px,1fr)); align-items:center; gap:5px; }.envelope-head span { color:var(--muted); font-size:.375rem; text-align:center; }.envelope-row { padding:7px 9px; border-radius:9px; background:var(--panel-soft); }.envelope-row b { font-size:.5rem; }.envelope-row span,.envelope-row strong { font-size:.5rem; text-align:center; white-space:nowrap; }.envelope-row strong { color:var(--blue); }
.ride-layout { display:grid; gap:12px; }.ride-summary { display:flex; align-items:baseline; gap:10px; }.ride-summary strong { color:var(--blue); font:700 1.125rem "Manrope"; }.ride-summary span { color:var(--muted); font-size:.5rem; }.ride-levels { display:grid; grid-template-columns:repeat(9,1fr); gap:6px; }.ride-level { min-width:0; padding:9px 7px; border:1px solid var(--line); border-radius:10px; background:var(--panel-soft); color:var(--text); text-align:left; }.ride-level.selected { border-color:var(--blue); background:var(--blue-soft); }.ride-level:disabled { opacity:.48; cursor:not-allowed; }.ride-level b,.ride-level span,.ride-level strong { display:block; }.ride-level b { font-size:.625rem; }.ride-level span { margin-top:3px; color:var(--muted); font-size:.375rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.ride-level i { display:block; height:4px; margin:7px 0 4px; border-radius:4px; background:#e6ebef; overflow:hidden; }.ride-level em { display:block; height:100%; background:var(--green); }.ride-level.light em { background:#c2a13c; }.ride-level.moderate em { background:var(--orange); }.ride-level.severe em { background:var(--red); }.ride-level strong { font-size:.4375rem; }
.debrief-layout { display:grid; grid-template-columns:minmax(310px,.9fr) minmax(200px,.65fr) minmax(260px,1fr); gap:12px; align-items:stretch; }.debrief-form { display:grid; grid-template-columns:1fr 1fr 120px; gap:8px; align-items:end; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--panel-soft); }.debrief-form label { min-width:0; }.debrief-form label>span:first-child { display:block; margin:0 0 4px 2px; color:var(--muted); font-size:.4375rem; }.debrief-form input { width:100%; min-width:0; height:36px; border:0; background:transparent; padding:0 8px; font-size:.5625rem; font-weight:600; }.debrief-result { display:grid; align-content:center; justify-items:center; padding:12px; border:1px solid var(--line); border-radius:12px; background:linear-gradient(145deg,#fff,var(--green-soft)); text-align:center; }.debrief-result strong { font:700 .875rem "Manrope"; }.debrief-result span { margin-top:5px; color:var(--muted); font-size:.5rem; }.debrief-history { display:grid; align-content:start; gap:5px; max-height:118px; overflow:auto; }.debrief-history div { display:flex; justify-content:space-between; gap:8px; padding:7px 9px; border-radius:8px; background:var(--panel-soft); font-size:.4375rem; }.debrief-history span { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
footer { display:flex; justify-content:space-between; border-top:1px solid var(--line); color:var(--muted); padding:20px 2px 28px; font-size:.5rem; }.toast { position:fixed; z-index:100; left:50%; bottom:24px; transform:translate(-50%,20px); opacity:0; pointer-events:none; background:var(--text); color:#fff; padding:11px 15px; border-radius:10px; font-size:.625rem; font-weight:600; box-shadow:0 12px 34px #17202a33; transition:.2s ease; }.toast.show { opacity:1; transform:translate(-50%,0); }.toast.error { background:#8c2630; }

/* Unified typography: one family and four intentional, scalable roles. */
body * {
  font-family:"DM Sans",system-ui,sans-serif!important;
  font-size:var(--type-body)!important;
}
body :is(
  small,
  svg text,
  .field>span,
  .kpi>span,
  .mission-score-heading span,
  .mission-score-heading>small,
  .mission-score-thresholds,
  .mission-score-reasons strong,
  .mission-score-action span,
  .advisor-card>span,
  .inline-select>span,
  .scenario-head span,
  .scenario-inputs label>span:first-child,
  .scenario-stats b,
  .wb-inputs label>span:first-child,
  .wb-table-head,
  .oxygen-controls label>span,
  .envelope-head span
) {
  font-size:var(--type-caption)!important;
}
body :is(
  .brand strong,
  .view-heading h2,
  .section-heading h2,
  .mission-score-heading strong,
  .mission-score-copy strong,
  .navigation-point>strong,
  .step-summary strong,
  .level-card b,
  .advisor-card>strong,
  .scenario-name,
  .load-grid article strong,
  .mission-strip strong,
  .ride-summary strong,
  .debrief-result strong
) {
  font-size:var(--type-heading)!important;
}
body :is(
  .plan-identity h1,
  .kpi>strong,
  .kpi.featured>strong,
  .mission-score-dial strong,
  .confidence-score strong
) {
  font-size:var(--type-display)!important;
}
.mission-score-dial>span {
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  place-items:center;
  line-height:1;
}
.mission-score-dial strong {
  display:block;
  line-height:1;
  letter-spacing:-.04em;
}
.mission-score-dial small { display:none!important; }
.level-card.recommended::after {
  font-family:"DM Sans",system-ui,sans-serif!important;
  font-size:var(--type-heading)!important;
}

/* Unified operational status colors: unviable, marginal, viable. */
.feasibility-badge.attention,
.feasibility-badge.marginal,
.mission-score-copy strong[data-status="attention"],
.mission-score-copy strong[data-status="marginal"],
.mission-strip strong[data-status="attention"],
.mission-strip strong[data-status="marginal"] {
  color:var(--orange);
}
.mission-score-scale {
  grid-template-columns:2fr 2fr 1fr;
}
.mission-score-scale i:nth-child(3) {
  background:var(--green);
}

/* Compact icing probability: icon, label, percentage. */
.ice-probability {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  width:100%;
  gap:5px;
}
.ice-probability span {
  overflow:visible;
  color:var(--muted);
  text-overflow:clip;
}
.ice-probability strong {
  color:inherit!important;
  white-space:nowrap;
}
.ice-probability.ice-low { color:var(--green); }
.ice-probability.ice-marginal { color:var(--orange); }
.ice-probability.ice-high { color:var(--red); }

/* Discrete global icon language. Icons clarify meaning without changing type scale. */
.ui-icon {
  width:13px;
  height:13px;
  flex:0 0 auto;
  color:var(--muted);
  opacity:.82;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  vertical-align:-2px;
}
.ui-icon-inline,
.ui-icon-heading,
.ui-icon-button { display:inline-flex!important; align-items:center; gap:6px; }
.ui-icon-button { justify-content:center; }
.ui-icon-heading > .ui-icon { width:14px; height:14px; }
.ui-icon-button.active > .ui-icon,
.view-tabs button.active > .ui-icon,
.chart-tabs button.active > .ui-icon,
.tool-tabs button.active > .ui-icon { color:var(--blue); opacity:1; }
.primary-button > .ui-icon { color:currentColor; opacity:1; }

.brand-mark::before,
.brand-mark::after,
.brand-mark > span { display:none; }
.brand-mark > .ui-icon { width:18px; height:18px; color:var(--blue); opacity:1; }
.toolbar-group.ui-icon-group { align-items:center; gap:2px; }
.toolbar-group.ui-icon-group > .ui-icon { width:12px; height:12px; margin-inline:4px 2px; }

.kpi.ui-icon-card { position:relative; }
.kpi.ui-icon-card > .ui-icon { position:absolute; top:18px; left:19px; width:13px; height:13px; }
.kpi.ui-icon-card > span:first-of-type { padding-left:20px; }
.mission-strip > .ui-icon-card { padding-inline:16px; }
.mission-strip > .ui-icon-card > .ui-icon { position:static; grid-column:1; grid-row:1; width:13px; height:13px; }
.mission-strip > .ui-icon-card > span { grid-column:2; grid-row:1; }

.status-pill,
.feasibility-badge,
#missionScoreStatus { display:inline-flex; align-items:center; gap:5px; }
.status-ui-icon { width:11px; height:11px; color:currentColor!important; opacity:1; }
.icing-summary #icingStatus { display:inline-flex; align-items:center; gap:5px; }
.icing-summary #icingStatus > .ui-icon { width:11px; height:11px; color:currentColor; opacity:1; }

.level-card-heading {
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  margin:0 0 3px!important;
  color:inherit!important;
}
.level-card-heading .level-state-icon { width:11px; height:11px; color:var(--green); opacity:1; }
.level-card.weather-unavailable .level-state-icon,
.level-card.unavailable .level-state-icon { color:var(--red); }
.level-card.recommended::after { display:none; }
.ice-probability > .ui-icon { width:10px; height:10px; color:inherit; opacity:1; }

.fuel-legend div { grid-template-columns:13px 1fr; column-gap:3px; }
.fuel-legend .fuel-legend-icon { width:11px; height:11px; border-radius:0; color:var(--muted); opacity:.82; background:none!important; }
.fuel-legend b { grid-column:2; }

.mission-score-reasons > div { grid-template-columns:13px minmax(0,1fr) auto; }
.mission-score-reasons .reason-icon {
  width:11px;
  height:11px;
  border-radius:0;
  color:var(--orange);
  background:none!important;
  opacity:1;
}
.mission-score-reasons .critical .reason-icon { color:var(--red); background:none; }
.mission-score-reasons .ok .reason-icon { color:var(--green); background:none; }

.scenario-stats b,
.wb-stations #wbStationRows b,
.envelope-row b,
.ride-level b,
.debrief-history span { display:flex; align-items:center; gap:5px; }
.scenario-stats b > .ui-icon,
.wb-stations #wbStationRows b > .ui-icon,
.envelope-row b > .ui-icon,
.ride-level b > .ui-icon,
.debrief-history span > .ui-icon { width:11px; height:11px; }
.ride-level.selected b > .ui-icon { color:var(--blue); opacity:1; }
.step-item > .ui-icon { position:absolute; top:12px; right:14px; width:11px; height:11px; }
.step-item:first-child > .ui-icon { right:14px; }

@media (max-width:1100px) {
  .plan-bar { grid-template-columns:1fr; gap:18px; }.plan-form { grid-template-columns:minmax(220px,1fr) 124px; justify-content:stretch; }.dashboard-grid { grid-template-columns:1fr; }.control-stack { display:grid; grid-template-columns:1.2fr 1fr 1fr; }.navigation-grid { grid-template-columns:1fr 1.5fr 1fr; }.navigation-speeds { grid-column:1/-1; }.levels-grid { grid-template-columns:repeat(5,1fr); }
  .dashboard-grid { grid-template-columns:minmax(0,1fr); }.control-stack { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr); }.ride-levels { grid-template-columns:repeat(5,1fr); }.debrief-layout { grid-template-columns:1fr 1fr; }.debrief-history { grid-column:1/-1; }.wb-layout { grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr); }
}
@media (max-width:760px) {
  .shell { width:calc(100% - 24px); }.topbar { height:auto; min-height:60px; padding:8px 14px; gap:8px; flex-wrap:wrap; }.brand strong { white-space:nowrap; }.brand small { display:none; }.app-toolbar { order:2; width:100%; max-width:none; justify-content:space-between; overflow:visible; }.toolbar-group { flex:0 0 auto; }.toolbar-group button { min-width:24px; padding:5px; }
  .plan-bar { margin-top:14px; padding:17px; }.plan-identity h1 { font-size:1.6875rem; }.plan-form { grid-template-columns:minmax(0,1fr) 112px; }.id-field { grid-column:auto; }
  .kpi-grid { grid-template-columns:1fr 1fr; }.kpi { min-height:98px; padding:14px; }.kpi > strong { font-size:1.5rem; }.kpi.featured > strong { font-size:1.875rem; }
  .visual-panel { padding:0 16px 16px; min-height:460px; }.view-tabs { height:48px; }.view-tabs button { height:48px; }.view-heading { align-items:flex-start; }.chart-wrap { min-height:300px; margin-left:-10px; margin-right:-5px; }.chart-foot > span:last-child { display:none; }.icing-summary { grid-template-columns:auto minmax(0,1fr); }.icing-summary small { grid-column:1/-1; }.route-map { min-height:300px; }.mini-stats { grid-template-columns:1fr 1fr; }.mini-stats div:nth-child(2) { border-right:0; }.mini-stats div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .control-stack { display:flex; }.flight-tools-panel { padding-inline:16px; }.tool-tabs { gap:16px; overflow-x:auto; }.tool-tabs button { flex:0 0 auto; }.navigation-grid { grid-template-columns:1fr 1fr; }.navigation-scale { grid-column:1/-1; grid-row:2; }.navigation-speeds { grid-column:1/-1; }.compact-form,.calibration-form { grid-template-columns:1fr 1fr; }.compact-form .primary-button,.calibration-head { align-self:end; }.levels-grid { grid-template-columns:repeat(3,1fr); }.phase-grid strong { font-size:.5rem; }.scenario-grid { grid-template-columns:1fr; }.scenario-inputs { grid-template-columns:1fr 1fr; }.load-grid,.glide-kpis { grid-template-columns:1fr 1fr; }.mission-strip { grid-template-columns:1fr 1fr; }.mission-strip div:nth-child(2) { border-right:0; }.mission-strip div:nth-child(-n+2) { border-bottom:1px solid var(--line); }.oxygen-layout { grid-template-columns:1fr; }.oxygen-controls { grid-template-columns:1fr 1fr; }.oxygen-status { grid-column:auto; }.confidence-layout { grid-template-columns:1fr; }.confidence-score { min-height:100px; }.ride-levels { grid-template-columns:repeat(3,1fr); }.debrief-layout { grid-template-columns:1fr; }.debrief-form { grid-template-columns:1fr 1fr; }.debrief-form button { grid-column:1/-1; }.debrief-history { grid-column:auto; }.wb-layout { grid-template-columns:1fr; }.wb-inputs { grid-template-columns:repeat(3,1fr); }.wb-chart-card { grid-column:auto; grid-row:auto; }.wb-kpis { grid-template-columns:repeat(4,1fr); }.wb-stations { grid-column:auto; }
  .toolbar-group.ui-icon-group > .ui-icon { display:none; }
}
@media (max-width:430px) {
  .plan-form { grid-template-columns:1fr; }.primary-button { width:100%; }.kpi-grid { grid-template-columns:1fr 1fr; }.kpi { min-height:112px; padding:13px; }.kpi > strong { font-size:1.375rem; }.kpi.featured > strong { font-size:1.625rem; }.navigation-grid { gap:14px 8px; }.navigation-point > strong { font-size:.9375rem; }.compact-form,.calibration-form { grid-template-columns:1fr; }.levels-grid { grid-template-columns:1fr 1fr; }.chart-tabs button { padding:6px; }.view-heading h2 { font-size:.8125rem; }.icing-summary { grid-template-columns:1fr; }.icing-summary span { white-space:normal; }.icing-summary small { grid-column:auto; white-space:normal; } footer { display:grid; gap:5px; }.advisor-grid { grid-template-columns:1fr; }.advisor-strip { grid-column:auto; grid-template-columns:1fr; }.advisor-strip span { border-right:0; border-bottom:1px solid var(--line); }.scenario-stats { grid-template-columns:1fr 1fr; }.scenario-delta { grid-template-columns:1fr 1fr; }.load-grid,.glide-kpis { grid-template-columns:1fr; }.compact-action { width:100%; }.oxygen-controls,.debrief-form { grid-template-columns:1fr; }.debrief-form button { grid-column:auto; }.ride-levels { grid-template-columns:1fr 1fr; }.envelope-head,.envelope-row { grid-template-columns:minmax(54px,.8fr) repeat(3,minmax(58px,1fr)); }.envelope-row { padding-inline:5px; }.wb-inputs { grid-template-columns:1fr 1fr; }.wb-kpis { grid-template-columns:1fr 1fr; }.cg-chart { min-height:190px; }.cg-legend { flex-wrap:wrap; }.cg-legend small { width:100%; margin:0; }.wb-table-head,.wb-stations #wbStationRows>div { grid-template-columns:minmax(92px,1.35fr) repeat(3,minmax(54px,1fr)); gap:4px; }.wb-stations { padding-inline:7px; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none!important; scroll-behavior:auto!important; } }
