:root{
  --bg:#081223;
  --bg2:#0b1630;
  --panel:#0d1b34;
  --panel-2:#102242;
  --line:rgba(106, 212, 214, .18);
  --line-strong:rgba(106,212,214,.35);
  --text:#eef5ff;
  --muted:#9db2cc;
  --muted-2:#7f97b4;
  --teal:#79e1d4;
  --teal-2:#5bc9c3;
  --green:#68dd8f;
  --amber:#f2c94c;
  --red:#f06b73;
  --magenta:#d957a7;
  --shadow:0 22px 48px rgba(0,0,0,.28);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;overflow-x:hidden}
body{position:relative}
.page-shell{position:fixed;inset:0;z-index:-1;background:
  radial-gradient(1000px 760px at 0% -10%, rgba(53,99,158,.42), transparent 46%),
  radial-gradient(900px 700px at 100% 0%, rgba(20,53,112,.28), transparent 45%),
  linear-gradient(180deg, #0a1430 0%, #091425 30%, #091425 70%, #0a1430 100%);
}
a{color:var(--teal)}
.app{max-width:1480px;margin:0 auto;padding:20px 18px 28px;min-height:100vh}
.glass{background:linear-gradient(180deg, rgba(17,33,63,.94), rgba(12,24,48,.96));border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.app-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:18px 20px;border-radius:28px}
.brand-title{font-size:clamp(30px,3vw,42px);font-weight:900;letter-spacing:.02em;color:var(--teal)}
.brand-sub{margin-top:4px;color:var(--muted);font-size:clamp(14px,1.2vw,18px);max-width:980px}
.time-block{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.time-utc{font-size:clamp(30px,2.8vw,40px);font-weight:900}
.time-lt{margin-top:2px;font-size:clamp(18px,1.5vw,22px);font-weight:700;color:#d6e4f8}
.time-gen{margin-top:6px;font-size:13px}
.muted{color:var(--muted)}
.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin:18px 0}
.tabs{display:flex;gap:12px;padding:8px;border-radius:24px;width:max-content;max-width:100%;overflow:auto}
.tab-btn,.refresh-btn{border:1px solid rgba(121,225,212,.3);background:rgba(255,255,255,.03);color:var(--text);padding:12px 22px;border-radius:18px;font-size:clamp(15px,1.15vw,18px);font-weight:700;cursor:pointer;transition:.2s ease}
.tab-btn.active,.tab-btn:hover,.refresh-btn:hover{background:rgba(121,225,212,.12);border-color:rgba(121,225,212,.6);color:#bffbf2;box-shadow:0 0 0 1px rgba(121,225,212,.12) inset}
.refresh-btn{padding-inline:18px}
.tab-panel{display:none;animation:fade .18s ease}
.tab-panel.active{display:block}
@keyframes fade{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:none}}
.card{border-radius:28px;padding:22px;overflow:hidden}
.card-title{font-size:clamp(16px,1.15vw,19px);font-weight:900;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.card-subtitle{font-size:clamp(13px,1vw,15px);color:var(--muted);margin-top:-6px}
.hero-grid,.two-col-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.equal-cards{align-items:stretch}.fill-card{height:100%;display:flex;flex-direction:column}.fill-card .table-scroll,.fill-card .met-block:last-child{flex:1}
.gauge-wrap{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.gauge{width:190px;height:190px;border-radius:50%;position:relative;background:conic-gradient(var(--green) 0deg, rgba(255,255,255,.08) 0deg);display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.gauge::before{content:"";position:absolute;inset:16px;border-radius:50%;background:linear-gradient(180deg, rgba(11,22,48,.98), rgba(8,18,35,.98));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.gauge-inner{position:relative;z-index:1;text-align:center}
.gauge-value{font-size:56px;font-weight:900;line-height:.95}.gauge-unit{margin-top:6px;color:var(--muted);font-weight:700;letter-spacing:.08em}
.gauge-side{flex:1;min-width:260px}.risk-label{font-size:54px;font-weight:900;line-height:1;color:#a7f2cb}.risk-sub{font-size:24px;font-weight:700;color:#c4d3e8}
.risk-legend{display:flex;gap:8px;margin:16px 0 18px}.dot{width:42px;height:10px;border-radius:999px;background:rgba(255,255,255,.12);display:inline-block}.risk-low{background:var(--green)}.risk-medium{background:var(--amber)}.risk-high{background:var(--red)}.risk-critical{background:var(--magenta)}
.mini-lines{display:grid;gap:6px;font-size:18px;color:#c8d7eb}.mini-lines strong{color:#fff}
.flight-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:8px 18px;font-weight:800;font-size:22px;min-width:90px;margin-bottom:14px;border:1px solid rgba(255,255,255,.08)}
.flight-badge.vfr{background:rgba(104,221,143,.14);color:#adffbd}.flight-badge.mvfr{background:rgba(242,201,76,.16);color:#ffe08a}.flight-badge.ifr,.flight-badge.lifr{background:rgba(240,107,115,.16);color:#ffc0c5}
.condition-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.metric-box{border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);border-radius:20px;padding:16px;min-height:140px;display:flex;flex-direction:column;justify-content:space-between}
.metric-label{font-size:clamp(14px,1vw,16px);font-weight:800;letter-spacing:.12em;color:var(--muted)}
.metric-value{font-size:clamp(30px,2vw,40px);font-weight:900;line-height:1.05;word-break:break-word}
.metric-note{font-size:clamp(14px,1vw,16px);color:var(--muted)}
.ceiling-text.ok{color:#fff}.ceiling-text.nonceiling{color:#9ef0a9;font-size:clamp(20px,1.5vw,28px);line-height:1.18}
.condition-summary,.summary-main,.summary-sub,.forecast-notes,.tactical-note,.small-line{font-size:clamp(15px,1.05vw,18px);line-height:1.5;color:#dde8f8}
.condition-summary{margin-top:18px;padding:16px 18px;border-left:4px solid var(--amber);background:rgba(255,255,255,.03);border-radius:18px}
.impact-summary-card{margin-top:18px}.summary-main{font-size:clamp(24px,1.85vw,34px);font-weight:900;color:#fff}.summary-sub{margin-top:10px;color:#b8cae1}
.forecast-card{margin-top:18px}.forecast-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;flex-wrap:wrap}.legend-row{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted)}.legend-box{display:inline-block;width:16px;height:16px;border-radius:5px;margin-right:6px;vertical-align:-3px}.legend-box.low{background:var(--green)}.legend-box.medium{background:var(--amber)}.legend-box.high{background:var(--red)}.legend-box.critical{background:var(--magenta)}
.forecast-strip{display:grid;grid-template-columns:repeat(24,minmax(22px,1fr));gap:8px;margin-top:18px;align-items:end}.forecast-hour{display:flex;flex-direction:column;gap:8px;align-items:center}
.hour-block{width:100%;min-height:68px;border-radius:16px;display:flex;align-items:center;justify-content:center;padding:8px;font-weight:900;font-size:clamp(14px,.95vw,18px);text-align:center;border:1px solid rgba(255,255,255,.08);position:relative}
.hour-block.low{background:rgba(104,221,143,.18);color:#d6ffe2}.hour-block.medium{background:rgba(242,201,76,.2);color:#fff2b0}.hour-block.high{background:rgba(240,107,115,.2);color:#ffd5d8}.hour-block.critical{background:rgba(217,87,167,.25);color:#ffd5ef}
.hour-pt{font-size:11px;color:var(--muted);line-height:1.2;text-align:center}.forecast-axis{display:grid;grid-template-columns:repeat(24,minmax(22px,1fr));gap:8px;margin-top:8px;font-size:12px;color:var(--muted-2)}.forecast-axis span{text-align:center}
.forecast-notes{margin-top:14px;color:#b6c8df}
.met-block + .met-block{margin-top:16px}.met-label{font-size:13px;letter-spacing:.1em;font-weight:800;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.met-text{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);border-radius:18px;padding:14px 16px;white-space:pre-wrap;word-break:break-word;font-size:clamp(16px,1.05vw,18px);line-height:1.45}.taf-text{height:calc(100% - 22px)}
.table-scroll{overflow:auto;max-width:100%;-webkit-overflow-scrolling:touch}.compact-scroll{border-radius:18px}.mini-table{width:100%;border-collapse:separate;border-spacing:0 10px;min-width:560px}.mini-table th{font-size:12px;color:var(--muted);text-align:left;padding:0 10px 6px;text-transform:uppercase;letter-spacing:.08em}.mini-table td{padding:12px 10px;background:rgba(255,255,255,.03);border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);font-size:15px}.mini-table td:first-child{border-left:1px solid rgba(255,255,255,.05);border-radius:14px 0 0 14px}.mini-table td:last-child{border-right:1px solid rgba(255,255,255,.05);border-radius:0 14px 14px 0}
.status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 12px;font-weight:800;font-size:12px;text-transform:uppercase;border:1px solid rgba(255,255,255,.08)}.status-AVAILABLE{background:rgba(104,221,143,.14);color:#b4ffd0}.status-MARGINAL{background:rgba(242,201,76,.14);color:#ffe08a}.status-BELOW_VIS,.status-BELOW_CEILING,.status-BELOW_BOTH,.status-BELOW{background:rgba(240,107,115,.16);color:#ffd5d8}.status-NA,.status-NA_NIGHT{background:rgba(157,178,204,.12);color:#d4deec}
.section-head-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-end;margin-bottom:18px;flex-wrap:wrap}.selector-wrap{display:grid;gap:6px;font-weight:700;color:var(--muted)}select{background:#0a1630;color:#fff;border:1px solid rgba(121,225,212,.25);border-radius:14px;padding:10px 12px;font-size:16px}
.summary-chip-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.summary-chip{padding:18px;border-radius:22px}.chip-label{display:block;font-size:14px;color:var(--muted);font-weight:800}.chip-value{display:block;font-size:clamp(24px,1.8vw,34px);font-weight:900;margin-top:4px}.chip-meta{display:block;color:var(--muted);margin-top:4px;font-size:14px}
.runway-stack{display:grid;gap:16px}.runway-card{border-radius:24px;padding:18px 20px}.runway-card details{cursor:pointer}.runway-card summary{list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.runway-card summary::-webkit-details-marker{display:none}
.runway-title{font-size:clamp(28px,2vw,34px);font-weight:900;color:var(--teal);letter-spacing:.06em}.runway-default{margin-top:8px;font-size:clamp(18px,1.25vw,22px);font-weight:800}.runway-default .muted{font-size:clamp(14px,1vw,16px)}.runway-meta{margin-top:10px;color:var(--muted);font-size:15px}.runway-arrow{font-size:26px;color:var(--muted);padding-top:8px;transition:transform .2s ease}.runway-card details[open] .runway-arrow{transform:rotate(180deg)}
.runway-body{margin-top:16px;border-top:1px solid rgba(255,255,255,.06);padding-top:16px;display:grid;gap:10px}.proc-row{display:grid;grid-template-columns:minmax(240px,1.4fr) .7fr .7fr .8fr auto;gap:10px;align-items:center;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03)}.proc-main{font-weight:800;font-size:16px}.proc-sub{color:var(--muted);font-size:13px;margin-top:2px}.proc-cell b{display:block;font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.proc-cell{font-size:15px}.proc-empty{padding:16px;border-radius:16px;background:rgba(255,255,255,.03);color:var(--muted)}
.source-note{margin-top:14px}
.hour-chart{display:grid;grid-template-columns:repeat(24,minmax(18px,1fr));gap:8px;align-items:end;height:180px;margin:18px 0 10px}.hour-bar{border-radius:12px 12px 8px 8px;position:relative;min-height:18px;background:rgba(121,225,212,.32)}.hour-bar.hot{background:rgba(240,107,115,.78)}.hour-bar.warn{background:rgba(242,201,76,.78)}.hour-bar.cool{background:rgba(121,225,212,.45)}.hour-bar .bar-tip{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);font-size:11px;white-space:nowrap;color:#d8e5f6;display:none}.hour-bar:hover .bar-tip{display:block}.hour-axis{display:grid;grid-template-columns:repeat(24,minmax(18px,1fr));gap:8px;font-size:11px;color:var(--muted-2)}.hour-axis span{text-align:center}
.history-table{margin-top:12px}.history-grid{margin-top:18px}.tactical-card{margin-top:18px}.tactical-list{list-style:none;padding:0;margin:0;display:grid;gap:14px;font-size:18px;line-height:1.55}.state-dot{display:inline-block;width:16px;height:16px;border-radius:50%;margin-right:10px;vertical-align:-2px}.state-low{background:var(--green)}.state-med{background:var(--amber)}.state-high{background:var(--red)}.state-crit{background:var(--magenta)}.tactical-note{margin-top:18px;padding:16px 18px;border-radius:18px;background:rgba(121,225,212,.08);border:1px solid rgba(121,225,212,.12);color:#dceef2}
.footer{text-align:center;padding:22px 8px 8px;font-size:13px;line-height:1.55;color:var(--muted-2)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

@media (max-width: 1280px){
  .forecast-strip,.forecast-axis{grid-template-columns:repeat(12,minmax(40px,1fr))}
}
@media (max-width: 1080px){
  .hero-grid,.two-col-row,.summary-chip-row{grid-template-columns:1fr}
  .summary-chip-row.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .condition-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 860px){
  .app{padding:12px}
  .app-header{display:block}
  .time-block{text-align:left;margin-top:14px}
  .toolbar{flex-wrap:wrap}
  .tabs{width:100%}
  .runway-card summary{display:block}
  .runway-arrow{position:absolute;right:24px;top:22px}
  .runway-card details{position:relative}
  .proc-row{grid-template-columns:1fr 1fr;gap:10px}
  .proc-row .proc-main{grid-column:1/-1}
}
@media (max-width: 640px){
  .brand-title{font-size:26px}
  .gauge-wrap{display:block}.gauge{margin:0 auto 16px}
  .risk-label{font-size:40px}.risk-sub{font-size:20px}
  .condition-grid{grid-template-columns:1fr}
  .metric-box{min-height:116px}
  .mini-table{min-width:520px}
  .summary-chip-row.history-grid{grid-template-columns:1fr}
  .forecast-strip,.forecast-axis{grid-template-columns:repeat(6,minmax(52px,1fr))}
}

/* v2.3 CAPMA freshness and historical view refinement */
.freshness-pill{display:inline-flex;align-items:center;margin-left:8px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:900;letter-spacing:.04em;text-transform:none;border:1px solid rgba(255,255,255,.08);vertical-align:2px}
.freshness-pill.fresh{background:rgba(104,221,143,.13);color:#b8ffd1;border-color:rgba(104,221,143,.25)}
.freshness-pill.stale{background:rgba(240,107,115,.16);color:#ffd3d7;border-color:rgba(240,107,115,.35)}
.stale-text{color:#ff9da5!important;border-color:rgba(240,107,115,.42)!important;background:rgba(240,107,115,.06)!important}

#historyTab.history-pane{max-width:760px;margin:0 auto}
#historyTab .card{border-radius:18px;padding:18px;background:linear-gradient(180deg, rgba(17,31,60,.96), rgba(14,27,52,.98));box-shadow:0 16px 40px rgba(0,0,0,.24)}
#historyTab .card-title{font-size:14px;letter-spacing:.14em;color:#7fa3ce;margin-bottom:8px;text-align:left}
#historyTab .card-subtitle{font-size:13px;color:#8ca0bf;line-height:1.35;margin-bottom:8px}
#historyTab .hour-chart{height:60px;margin:10px 4px 4px;gap:7px;align-items:end}
#historyTab .hour-bar{border-radius:4px 4px 0 0;min-height:4px;background:rgba(44,211,199,.25)}
#historyTab .hour-bar.hot{background:#dc3545}
#historyTab .hour-bar.warn{background:#ffc107}
#historyTab .hour-bar.cool{background:rgba(44,211,199,.28)}
#historyTab .hour-axis{font-size:9px;color:#5b7fa6;margin:0 2px 8px;gap:7px}
#historyTab .mini-table{min-width:0;border-spacing:0 2px;margin-top:10px}
#historyTab .mini-table th{font-size:10px;color:#5b7fa6;text-align:center;padding:2px 4px 6px}
#historyTab .mini-table td{font-size:12px;background:transparent;border:0;text-align:center;padding:4px 6px;color:#8ca0bf}
#historyTab .mini-table td:first-child,#historyTab .mini-table td:last-child{border:0;border-radius:0}
#historyTab .history-table td:first-child{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#9fb6d6}
#historyTab .history-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
#historyTab .summary-chip{border-radius:10px;padding:10px 12px;background:rgba(255,255,255,.03);box-shadow:none}
#historyTab .chip-label{font-size:10px;color:#5b7fa6;font-weight:700}
#historyTab .chip-value{font-size:22px;font-weight:900;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin-top:1px;color:#2cd3c7}
#historyTab .chip-meta{font-size:11px;color:#8ca0bf;margin-top:0}
#historyTab .tactical-list{font-size:13px;line-height:1.9;gap:4px}
#historyTab .tactical-list li{padding:3px 0;border-bottom:1px solid rgba(36,49,77,.3)}
#historyTab .state-dot{width:14px;height:14px;margin-right:10px}
#historyTab .tactical-note{font-size:11px;line-height:1.35;color:#5b7fa6;border-radius:10px;padding:10px 12px;margin-top:12px;background:rgba(44,211,199,.05)}

#takeoffTable{min-width:880px}
#takeoffTable th,#takeoffTable td{font-size:13px}
#takeoffTable td:nth-child(7){min-width:220px;line-height:1.3}
@media(max-width:860px){#historyTab.history-pane{max-width:100%}#historyTab .history-grid{grid-template-columns:1fr 1fr}#takeoffTable{min-width:820px}}
@media(max-width:640px){#historyTab .history-grid{grid-template-columns:1fr 1fr}#historyTab .card-title{font-size:12px}#historyTab .chip-value{font-size:18px}.freshness-pill{display:inline-flex;margin-left:0;margin-top:6px}}

/* v2.3.1 UI balance refinement */
.gauge-card{min-height:330px;display:flex;flex-direction:column;justify-content:center}
.gauge-card .card-title{margin-bottom:16px}
.gauge-wrap{align-items:center;justify-content:space-between;gap:18px}
.gauge{width:170px;height:170px;flex:0 0 170px}
.gauge::before{inset:14px}
.gauge-value{font-size:58px}
.gauge-side{display:grid;grid-template-rows:auto auto auto 1fr;align-content:center;gap:8px;min-width:0}
.risk-label{font-size:62px;line-height:.9;letter-spacing:-.02em}
.risk-sub{font-size:18px;font-weight:700;color:#d7e4f3}
.mini-lines{gap:10px;font-size:18px}
.mini-lines div{display:grid;grid-template-columns:170px 1fr;gap:14px;align-items:start}
.mini-lines span{color:var(--muted)}
.mini-lines strong{color:#eef2e7;font-weight:800;line-height:1.25}

.summary-main{font-size:clamp(20px,1.55vw,28px);font-weight:700;color:#eef0e4;line-height:1.45;letter-spacing:-.01em}
.summary-main .summary-emph{font-weight:900;color:#f4f0dc}
.summary-sub{font-size:clamp(15px,1vw,18px);line-height:1.55;color:#d2d9e5}

#takeoffTable{min-width:620px}
#takeoffTable th,#takeoffTable td{font-size:13px}
#takeoffTable td:nth-child(1){min-width:170px;font-weight:700}
#takeoffTable td:nth-child(5){min-width:200px;line-height:1.3}
#takeoffTable .takeoff-row td{background:rgba(255,255,255,.03)}
#takeoffTable .takeoff-available td{background:linear-gradient(90deg, rgba(30,83,76,.72), rgba(31,65,61,.72));border-top-color:rgba(104,221,143,.16);border-bottom-color:rgba(104,221,143,.16);color:#e5fff0}
#takeoffTable .takeoff-below td{background:linear-gradient(90deg, rgba(93,36,47,.72), rgba(70,24,37,.72));border-top-color:rgba(240,107,115,.22);border-bottom-color:rgba(240,107,115,.22);color:#ffe3e6}
#takeoffTable .takeoff-neutral td{background:linear-gradient(90deg, rgba(58,64,81,.55), rgba(47,52,66,.55))}
#takeoffTable .takeoff-row td:first-child{border-left-width:1px}
#takeoffTable .takeoff-row td:last-child{border-right-width:1px}

.runway-static{display:block}
.runway-preview{display:grid;gap:10px;margin-top:14px}
.proc-preview-row{display:grid;grid-template-columns:minmax(0,1.6fr) auto auto;gap:10px;align-items:center;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}
.proc-preview-main{font-size:17px;line-height:1.3}.proc-preview-main b{font-size:18px;color:#f2f6f9}.proc-preview-meta{font-size:14px;color:#c2d4e9;font-weight:700}
.runway-card details{margin-top:12px;background:rgba(255,255,255,.02);border-radius:16px;padding:12px 14px;border:1px solid rgba(255,255,255,.04)}
.runway-card details.no-rest{opacity:.92}
.runway-card details summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;color:#c9d7ea;font-weight:700;list-style:none}
.runway-card details summary::-webkit-details-marker{display:none}
.runway-card .runway-arrow{position:static;font-size:20px;padding:0}
.runway-card details[open] .runway-arrow{transform:rotate(180deg)}
.runway-body{margin-top:12px}

#historyTab.history-pane{max-width:1100px;width:100%;margin:0 auto}
#historyTab .card{border-radius:24px;padding:18px 18px 20px}
#historyTab .card-title{font-size:clamp(15px,1.1vw,18px);letter-spacing:.11em;color:#8ca5c9;margin-bottom:8px}
#historyTab .card-subtitle{font-size:14px;color:#b7c6d8;line-height:1.35;margin-bottom:10px}
#historyTab .hour-chart{height:98px;margin:8px 4px 8px;gap:6px;align-items:end;overflow:hidden}
#historyTab .hour-bar{border-radius:5px 5px 0 0;min-height:8px;position:relative}
#historyTab .hour-bar.hot{background:#e45266}
#historyTab .hour-bar.warn{background:#f0c548}
#historyTab .hour-bar.cool{background:rgba(107,222,218,.36)}
#historyTab .hour-bar.current{outline:1px solid rgba(121,225,212,.35)}
#historyTab .hour-axis{font-size:10px;color:#6688ad;margin:0 0 10px;gap:6px}
#historyTab .hour-axis span.current{color:#9af4df}
#historyTab .mini-table{min-width:0;border-spacing:0 4px;margin-top:8px}
#historyTab .mini-table th{font-size:12px;color:#85a0c3;text-align:center;padding:2px 5px 6px;font-weight:800}
#historyTab .mini-table td{font-size:13px;background:transparent;border:0;text-align:center;padding:4px 6px;color:#b8c6da;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
#historyTab .mini-table td:first-child,#historyTab .mini-table td:last-child{border:0;border-radius:0}
#historyTab .mini-table td.hist-time{color:#d2deee;font-weight:700}
#historyTab .mini-table td.hist-n{color:#a9bdd8}
#historyTab .mini-table td.hist-val-zero{color:#8498b1}
#historyTab .mini-table td.hist-val-low{color:#9ed1df}
#historyTab .mini-table td.hist-val-med{color:#f0c748;font-weight:800}
#historyTab .mini-table td.hist-val-high{color:#e85a78;font-weight:900}
#historyTab .history-grid{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
#historyTab .summary-chip{border-radius:14px;padding:14px 16px;background:rgba(255,255,255,.035);box-shadow:none;border:1px solid rgba(255,255,255,.04)}
#historyTab .chip-label{font-size:11px;color:#7f9dc3;font-weight:800;letter-spacing:.02em}
#historyTab .chip-value{font-size:34px;line-height:1;font-weight:900;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin-top:3px}
#historyTab .chip-meta{font-size:13px;color:#b3c3d7;margin-top:3px}
#historyTab .hist-card-cyan .chip-value{color:#e6c34b}
#historyTab .hist-card-red .chip-value{color:#ff6177}
#historyTab .hist-card-teal .chip-value{color:#6ee0d1}
#historyTab .hist-card-amber .chip-value{color:#f3ae45}
#historyTab .hist-card-green .chip-value{color:#71e39e}
#historyTab .hist-card-ice .chip-value{color:#d7f2ff}
#historyTab .tactical-list{font-size:16px;line-height:1.75;gap:8px}
#historyTab .tactical-list li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.05)}
#historyTab .tactical-note{font-size:13px;line-height:1.5;color:#8ea6c4;border-radius:12px;padding:12px 14px;margin-top:14px;background:rgba(44,211,199,.05)}

@media (max-width:1080px){
  #historyTab.history-pane{max-width:100%}
}
@media (max-width:860px){
  .gauge-card{min-height:auto}
  .gauge-wrap{display:block}
  .gauge{margin:0 auto 12px}
  .risk-label{font-size:46px}
  .mini-lines div{grid-template-columns:1fr;gap:2px}
  .proc-preview-row{grid-template-columns:1fr;gap:6px}
}
@media (max-width:640px){
  #takeoffTable{min-width:560px}
  #takeoffTable td:nth-child(5){min-width:170px}
  .summary-main{font-size:21px;line-height:1.4}
  #historyTab .history-grid{grid-template-columns:1fr 1fr}
  #historyTab .chip-value{font-size:28px}
  #historyTab .hour-chart{height:86px;gap:4px}
  #historyTab .mini-table th{font-size:11px}
  #historyTab .mini-table td{font-size:12px}
}
