/* Layout: sticky header with tabs, one working column (max 1040px). Wide tables scroll inside their own box. */
:root{
  --bg:#f3f6f7; --surface:#ffffff; --ink:#13222c; --muted:#566874; --line:#d7e0e5;
  --accent:#17667f; --accent-ink:#ffffff; --tint:#e5f0f4;
  --good:#2b7a4b; --warn:#a5590b; --bad:#b0372e;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0e171c; --surface:#16222a; --ink:#e4ecf0; --muted:#8fa2ae; --line:#26363f;
  --accent:#5db8d4; --accent-ink:#06222b; --tint:#1a2e38;
  --good:#5cc386; --warn:#e0a05a; --bad:#f08a80; color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:15px;line-height:1.5}
.wrap{max-width:1040px;margin:0 auto;padding-inline:16px;padding-block:0 48px}
header.top{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);padding-block:12px 10px}
.brand{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
h1{font-size:24px;margin:0;letter-spacing:-.01em}
.date{font-family:var(--mono);font-size:12px;color:var(--muted)}
nav.tabs{display:flex;gap:4px;overflow-x:auto;margin-top:10px}
nav.tabs button{background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);font:600 14px var(--body);padding:8px 12px;cursor:pointer;white-space:nowrap}
nav.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.count{font-family:var(--mono);font-size:11px;background:var(--tint);color:var(--accent);border-radius:9px;padding:1px 7px;margin-left:6px}
h2{font-size:19px;margin:0 0 4px} h2.flat{margin:0}
h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-weight:600}
.sub{color:var(--muted);margin:0 0 14px;max-width:65ch}
section.tab{padding-top:20px;display:flex;flex-direction:column;gap:18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:16px;min-width:0}
.grid{display:grid;gap:12px}
.g2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.g5{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.mt{margin-top:12px}
label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted);font-weight:500;min-width:0}
label.inline{flex-direction:row;align-items:center;gap:8px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:8px 10px;width:100%;min-width:0}
input[type=checkbox]{width:auto}
select.auto{width:auto} input.search{width:200px}
textarea{resize:vertical;min-height:110px;line-height:1.45}
textarea.short{min-height:70px} textarea.mid{min-height:130px} textarea.tall{min-height:180px} textarea.huge{min-height:300px}
textarea.mono,.out{font-family:var(--mono);font-size:12.5px}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.btn{font:600 14px var(--body);border-radius:4px;padding:8px 14px;cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);display:inline-block}
.btn.ghost{background:transparent;color:var(--accent)}
.btn.small{padding:4px 10px;font-size:13px}
.btn.danger{border-color:var(--bad);color:var(--bad);background:transparent}
.btn:disabled{opacity:.5;cursor:default}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center} .row.between{justify-content:space-between}
.note{padding:10px 12px;border-radius:4px;background:var(--tint);color:var(--ink);font-size:14px;margin-top:12px}
.note.bad{border-left:4px solid var(--bad)} .note.warn{border-left:4px solid var(--warn)} .note.good{border-left:4px solid var(--good)}
#banner{margin-top:14px}
.kpi{display:flex;flex-direction:column;gap:2px}
.kpi b{font-family:var(--mono);font-size:26px;font-weight:500;font-variant-numeric:tabular-nums}
.kpi span{font-size:12px;color:var(--muted)}
.scroll{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:14px}
th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;padding:6px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}
tr.pick{cursor:pointer} tr.pick:hover td,tr.sel td{background:var(--tint)}
.pill{display:inline-block;font-size:12px;font-weight:600;padding:1px 8px;border-radius:10px;background:var(--tint);color:var(--accent);white-space:nowrap}
.pill.good{color:var(--good)} .pill.warn{color:var(--warn)} .pill.bad{color:var(--bad)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-family:var(--mono);font-size:12px;border:1px solid var(--line);border-radius:3px;padding:1px 7px}
.due{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}
.due:last-child{border-bottom:0}
.bar{display:grid;grid-template-columns:84px 1fr 28px;gap:10px;align-items:center;font-family:var(--mono);font-size:12px;margin:5px 0}
.bar i{display:block;height:12px;background:var(--accent);border-radius:2px;min-width:2px}
.out{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:10px;max-height:340px;overflow:auto}
ul.tight{margin:4px 0 0;padding-left:18px} ul.tight li{margin:2px 0}
details summary{cursor:pointer;font-weight:600;padding:4px 0}
details.opt{border:1px solid var(--line);border-radius:4px;padding:8px 12px;margin-top:14px}
.empty{color:var(--muted);padding:6px 0}
.steps{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:10px 0 0;padding:0}
.steps li{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:5px 10px;background:var(--surface)}
.steps li b{font-family:var(--mono);width:20px;height:20px;border-radius:10px;background:var(--tint);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.steps li.done b{background:var(--good);color:var(--surface)}
.steps li.now{color:var(--ink);border-color:var(--accent)} .steps li.now b{background:var(--accent);color:var(--accent-ink)}
.prov{display:grid;grid-template-columns:140px 1fr auto auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
@media (max-width:640px){.prov{grid-template-columns:1fr}}
a{color:var(--accent)}

.overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:20;overflow:auto;padding:24px 16px;display:flex;align-items:flex-start;justify-content:center}
.sheet{max-width:760px;width:100%}
details.card>summary{font-size:19px;font-weight:700;padding:0}
.crow{display:grid;grid-template-columns:auto 150px 1fr auto;gap:8px;align-items:center;margin-top:8px}
@media (max-width:640px){.crow{grid-template-columns:auto 1fr auto}.crow input[type=text]{grid-column:1 / -1}}
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}
.diff{white-space:pre-wrap;font-family:var(--mono);font-size:12.5px;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:10px;max-height:380px;overflow:auto}
.diff mark{background:rgba(217,119,6,.22);color:inherit}

@media (max-width:640px){
  nav.tabs{flex-wrap:wrap;overflow-x:visible;gap:2px 0}
  nav.tabs button{padding:6px 10px;font-size:13.5px}
  .steps li{font-size:12px;padding:4px 8px}
  .brand .row{gap:8px}
}

.lang{display:inline-flex;border:1px solid var(--line);border-radius:4px;overflow:hidden}
.lang button{background:var(--surface);color:var(--muted);border:0;padding:5px 12px;font:600 13px var(--body);cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--accent);color:var(--accent-ink)}
.foot{text-align:center;margin:24px 0 0}
