/* Airport climate viewer (climate.html). Tokens from mf.css: ivory / near-black / gold, flight-category hues. */
.nav .nav-link.active{color:var(--gold-soft);box-shadow:inset 2px 0 0 var(--gold);border-radius:0 6px 6px 0}
.cl-main{padding-top:40px;padding-bottom:30px}
.cl-head{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px}
.cl-head h1{margin:6px 0 0;font-size:30px;font-weight:600;letter-spacing:-.018em;line-height:1.15}
.cl-head h1 b{font:600 30px var(--mono);letter-spacing:0;margin-right:10px}
.cl-head .kicker{font-size:10.5px}
.cl-sub{margin:6px 0 0;font:500 11.5px var(--mono);color:var(--ink-3)}
.cl-find{display:flex;flex-direction:column;gap:5px;min-width:0}
.cl-find input{height:42px;width:300px;max-width:100%;border:1px solid var(--line);border-radius:4px;background:var(--card);padding:0 12px;font:500 14px Inter,system-ui,sans-serif;color:var(--ink)}
.cl-find input:focus,.cl-pick select:focus{outline:2px solid var(--gold);outline-offset:0}
.seg-label{font-size:9.5px;font-weight:600;letter-spacing:.17em;color:var(--ink-3);text-transform:uppercase;margin:0;white-space:nowrap}
.cl-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-bottom:1px solid var(--line);margin:0}
.cl-kpi{padding:14px 16px 15px;border-left:1px solid var(--line);min-width:0}
.cl-kpi:first-child{border-left:0;padding-left:0}
.cl-kpi span{display:block;font-size:9.5px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-3)}
.cl-kpi b{display:block;margin-top:6px;font:500 18px/1.2 var(--mono);color:var(--ink);letter-spacing:-.02em}
.cl-kpi small{display:block;margin-top:2px;font-size:11px;color:var(--ink-3)}
.cl-bar{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin:20px 0 14px}
.cl-pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.cl-pick select{height:40px;min-width:0;max-width:100%;border:1px solid var(--line);border-radius:4px;background:var(--card);padding:0 10px;font-size:12.5px;color:var(--ink)}
.seg{display:inline-flex;flex-wrap:wrap;background:transparent;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.seg button{border:0;border-left:1px solid var(--line);background:var(--card);min-height:40px;padding:0 12px;font:500 12px Inter,system-ui,sans-serif;color:var(--ink-2);cursor:pointer}
.seg button:first-child{border-left:0}
.seg button:hover{background:#efebe3}
.seg button[aria-pressed="true"]{background:var(--navy);color:#f8f6f1}
.cl-tabs{display:flex;gap:2px 24px;flex-wrap:wrap;margin:0 0 24px;border-bottom:1px solid var(--line)}
.cl-tabs button{border:0;background:none;min-height:42px;padding:0 1px;margin-bottom:-1px;border-bottom:2px solid transparent;font:500 13px Inter,system-ui,sans-serif;color:var(--ink-3);cursor:pointer}
.cl-tabs button:hover{color:var(--ink)}
.cl-tabs button[aria-pressed="true"]{color:var(--ink);font-weight:600;border-bottom-color:var(--gold)}
.cl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start;margin:0 0 22px}
.cl-card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:20px 20px 16px;min-width:0;margin:0 0 20px}
.cl-grid .cl-card{margin:0}
.cl-card h3{margin:0;font-size:13.5px;font-weight:600;letter-spacing:-.003em}
.cl-card .vf-sub,.cl-desc{margin:5px 0 12px;font-size:11.5px;line-height:1.5;color:var(--ink-3)}
.cl-card .cl-pick{margin:0 0 12px}
.cl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.cl-svg{display:block;width:100%;height:auto}
.cl-scroll .cl-svg.wide{min-width:660px}
.cl-svg text{font:500 10.5px Inter,system-ui,sans-serif;fill:var(--ink-3)}
.cl-svg text.c{fill:var(--ink-2)}
.cl-svg text.m{font-family:var(--mono);font-size:10px}
.cl-svg text.v{font-family:var(--mono);font-size:9.5px;fill:var(--ink)}
.cl-svg text.b{font-weight:600;fill:var(--ink)}
.cl-svg .gr{stroke:var(--line-2);stroke-width:1;fill:none}
.cl-svg .ax{stroke:#c9c3b6;stroke-width:1}
.cl-svg .thin{fill:url(#clHatch)}
.cl-svg rect.cell{stroke:var(--card);stroke-width:1;cursor:pointer}
.cl-svg rect.cell:hover,.cl-svg rect.cell:focus,.cl-svg rect.cell.on{stroke:var(--ink);stroke-width:1.5;outline:none}
.cl-svg .lim{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:4 3}
.cl-svg text.limt{font:600 9.5px var(--mono);fill:var(--ink)}
.cl-svg .hit{fill:transparent;cursor:pointer;outline:none}
.cl-svg .hit:hover,.cl-svg .hit:focus{fill:#14171c0d}
.cl-svg .pet{cursor:pointer}
.cl-svg .pet:hover{opacity:.82}
.cl-legend{display:flex;flex-wrap:wrap;gap:4px 14px;margin:8px 0 0;font-size:11.5px;color:var(--ink-2);align-items:center}
.cl-legend i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;vertical-align:-2px}
.cl-legend i.ln{height:0;border-top:2px solid;border-radius:0;vertical-align:3px}
.cl-legend i.dash{height:0;border-top:2px dashed #9d9a92;border-radius:0;vertical-align:3px}
.cl-legend i.hatch{background:repeating-linear-gradient(45deg,#d9d3c5 0 2px,transparent 2px 5px);border:1px solid var(--line)}
.cl-ramp{display:inline-block;width:120px;height:10px;border-radius:2px;border:1px solid var(--line);vertical-align:-1px;margin:0 6px}
.cl-detail{margin:14px 0 0;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:4px;background:#fbf9f4;display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:10px 22px;align-items:start}
.cl-detail p{margin:0 0 6px;font-size:13px;line-height:1.55;color:var(--ink-2)}
.cl-detail b{color:var(--ink)}
.cl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:6px;background:var(--card);-webkit-overflow-scrolling:touch}
table.cl-t{border-collapse:collapse;width:100%;font-size:12.5px}
.cl-t th,.cl-t td{padding:7px 8px;border-bottom:1px solid var(--line-2);text-align:right;white-space:nowrap}
.cl-t th{font:600 9.5px Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);background:#fbf9f4}
.cl-t td:first-child,.cl-t th:first-child{text-align:left;position:sticky;left:0;z-index:1;background:var(--card);border-right:1px solid var(--line-2);min-width:150px}
.cl-t th:first-child{background:#fbf9f4}
.cl-t td{font-family:var(--mono);font-size:11.5px;color:var(--ink)}
.cl-t td:first-child{font-family:Inter,system-ui,sans-serif;font-size:12.5px;font-weight:500}
.cl-t td.th{color:#a3a09a}
.cl-t tr.grp td{position:static;background:#f5f2ea;font:600 9.5px Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);text-align:left}
.cl-t tr.go{cursor:pointer}
.cl-t tr.go:hover td{background:#f5f2ea}
.cl-t tr.go:hover td:first-child{color:var(--accent)}
.cl-t .rb{display:inline-block;height:8px;background:var(--gold);border-radius:1px;vertical-align:0;margin-left:6px}
.cl-t .rb.lo{background:#9d9a92}
.cl-t td.up{color:#9a4a2c;font-weight:700}.cl-t td.dn{color:#2f6b54;font-weight:700}
.cl-compass{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:4px;max-width:620px;margin:0 0 16px}
.cl-compass button{min-height:40px;border:1px solid var(--line);border-radius:4px;background:var(--card);font:600 11.5px var(--mono);color:var(--ink-2);cursor:pointer;padding:0}
.cl-compass button:hover{border-color:var(--gold)}
.cl-compass button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#f8f6f1}
.cl-note{margin:26px 0 0;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--navy);border-radius:4px;background:var(--card);font-size:12.5px;line-height:1.6;color:var(--ink-2);max-width:110ch}
.cl-note ul{margin:6px 0 0;padding-left:18px}.cl-note li{margin:2px 0}
.cl-note b{color:var(--ink)}
.cl-empty{padding:28px;text-align:center;color:var(--ink-3);font-size:13px}
.cl-cmp-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:980px){.cl-grid{grid-template-columns:minmax(0,1fr)}.cl-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.cl-kpi:nth-child(4){border-left:0;padding-left:0}}
@media(max-width:760px){
  .cl-main{padding-top:24px}
  .cl-head h1,.cl-head h1 b{font-size:23px}
  .cl-find,.cl-find input{width:100%}
  .cl-find input{font-size:16px}
  .cl-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cl-kpi,.cl-kpi:first-child,.cl-kpi:nth-child(4){border-left:0;padding:12px 8px 12px 0;border-bottom:1px solid var(--line-2)}
  .cl-kpi b{font-size:15px}
  .cl-bar{align-items:flex-start;flex-direction:column}
  .cl-pick{flex-direction:column;align-items:flex-start;gap:5px;width:100%}
  .cl-pick select{width:100%;font-size:16px}
  .seg{width:100%}.seg button{flex:1 1 auto;padding:0 8px}
  .cl-tabs{gap:2px 16px}
  .cl-card{padding:14px 12px 12px}
  .cl-detail{grid-template-columns:minmax(0,1fr)}
  .cl-compass{grid-template-columns:repeat(6,minmax(0,1fr))}
  .cl-t td:first-child,.cl-t th:first-child{min-width:118px;max-width:140px;white-space:normal}
}

/* Explorer (mf-climate-x.js) */
.cx-panel{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin:0 0 20px;display:flex;flex-direction:column;gap:12px}
.cx-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-width:0}
.cx-row>.seg-label{min-width:92px}
.cx-focus select{height:40px;border:1px solid var(--gold);border-radius:4px;background:var(--card);padding:0 10px;font:600 13px Inter,system-ui,sans-serif;color:var(--ink);max-width:100%}
.cx-hint{font-size:11.5px;color:var(--ink-3);flex:1 1 220px;min-width:0}
.cx-reset{margin-left:auto;border:1px solid var(--line);border-radius:4px;background:var(--card);min-height:36px;padding:0 12px;font:500 12px Inter,system-ui,sans-serif;color:var(--ink-2);cursor:pointer}
.cx-reset:hover{border-color:var(--ink)}
.cx-chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.cx-q{padding-left:8px;border-left:1px solid var(--line)}
.cx-chip{min-height:32px;min-width:36px;padding:0 9px;border:1px solid var(--line);border-radius:4px;background:var(--card);font:500 11.5px var(--mono);color:var(--ink-2);cursor:pointer;display:inline-flex;align-items:center;gap:5px;justify-content:center}
.cx-chip:hover{border-color:var(--gold)}
.cx-chip[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#f8f6f1}
.cx-chip i{width:9px;height:9px;border-radius:2px;display:inline-block}
.cx-hrs .cx-chip{min-width:32px;padding:0 4px}
.cx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px 18px}
.cx-f{display:flex;flex-direction:column;gap:5px;min-width:0}
.cx-f>span:last-child{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--ink-3)}
.cx-num,.cx-f select{height:34px;border:1px solid var(--line);border-radius:4px;background:var(--card);padding:0 8px;font:500 12.5px var(--mono);color:var(--ink);max-width:100%}
.cx-num:focus,.cx-f select:focus,.cx-focus select:focus{outline:2px solid var(--gold);outline-offset:0}
.cx-active{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding-top:10px;border-top:1px solid var(--line-2)}
.cx-tag{min-height:30px;border:1px solid var(--gold);border-radius:15px;background:#fbf6e9;padding:0 10px;font:500 11.5px Inter,system-ui,sans-serif;color:var(--ink);cursor:pointer}
.cx-tag b{margin-left:4px;color:var(--ink-3)}
.cx-tag:hover b{color:var(--ink)}
.cx-kpis{margin:0 0 20px}
.cx-cardh{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.cx-seg{display:flex;gap:4px}
.cx-rose{max-width:420px;margin:0 auto}
.cl-svg .cx-hit{fill:transparent;cursor:pointer;outline:none}
.cl-svg .cx-hit:hover,.cl-svg .cx-hit:focus{fill:#14171c12}
.cl-svg .cx-calm{cursor:pointer}
.cx-t th{padding:0}
.cx-sort{width:100%;border:0;background:none;padding:8px;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;text-align:inherit;cursor:pointer;white-space:nowrap}
.cx-sort:hover{color:var(--ink)}
.cx-t tr.on td{background:#fbf6e9}
.cx-t tr.on td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.cx-obs td:first-child{font-family:var(--mono);font-size:11.5px}
.cx-cat{display:inline-block;padding:1px 6px;border-radius:3px;color:#fff;font:600 10px var(--mono)}
.cx-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px;font-size:12px;color:var(--ink-3);flex-wrap:wrap}
.cx-pager+.cl-wrap+.cx-pager{margin:8px 0 0}
.cx-pager button{min-height:34px;border:1px solid var(--line);border-radius:4px;background:var(--card);padding:0 12px;font:500 12px Inter,system-ui,sans-serif;color:var(--ink-2);cursor:pointer}
.cx-pager button:disabled{opacity:.4;cursor:default}
.cx-hists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cx-h4{margin:0 0 4px;font-size:11.5px;font-weight:600;color:var(--ink-2)}
.cx-perf{margin:4px 0 0;font:500 10.5px var(--mono);color:var(--ink-3)}
@media(max-width:760px){
  .cx-panel{padding:12px}
  .cx-row>.seg-label{min-width:0;width:100%}
  .cx-q{padding-left:0;border-left:0}
  .cx-reset{margin-left:0}
  .cx-focus select{width:100%;font-size:16px}
  .cx-num,.cx-f select{font-size:16px}
  .cx-hists{grid-template-columns:minmax(0,1fr)}
}
/* Explorer: expert tools (next hours, pivot, own event) */
.cl-svg .cx-l1{fill:none;stroke:#9a4a2c;stroke-width:2.2}
.cl-svg .cx-l2{fill:none;stroke:#1f5fbf;stroke-width:2;stroke-dasharray:5 3}
.cl-svg .cx-ref{stroke:#9d9a92;stroke-width:1.2;stroke-dasharray:2 3}
.cx-pv{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 12px}
.cx-pv select{height:36px;border:1px solid var(--line);border-radius:4px;background:var(--card);padding:0 8px;font:500 12.5px Inter,system-ui,sans-serif;color:var(--ink);max-width:100%}
.cx-pvt td{font-size:11px;padding:6px 7px}
.cx-pvt tr.cx-tot td{font-weight:700;border-top:2px solid var(--line);background:#fbf9f4}
.cx-cust{padding:10px 12px;border:1px dashed var(--gold);border-radius:6px;background:#fdfaf2}
.cx-cust>span{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-2)}
.cx-cust select{height:34px;border:1px solid var(--line);border-radius:4px;background:var(--card);padding:0 8px;font-size:12px;color:var(--ink)}
@media(max-width:760px){.cx-pv select,.cx-cust select{font-size:16px;width:100%}}
