:root { --ink:#13212B; --muted:#3E4F59; --line:#C9D3D0; --soft:#F2F6F5; --accent:#0B6E63; --accent-dark:#084F47;
  --warn-bg:#FBEFD9; --warn:#6B3A0A; --bad:#9F1D1D; --bad-bg:#FDF2F2; }
* { box-sizing: border-box; }
body { margin:0; font-family: "Segoe UI", system-ui, -apple-system, sans-serif; color:var(--ink); background:#fff; line-height:1.5; font-size:16px; }
.skip { position:absolute; left:-9999px; } .skip:focus { left:8px; top:8px; background:#fff; padding:8px; z-index:10; }
.banner { background:var(--warn-bg); color:var(--warn); padding:8px 16px; text-align:center; font-size:14px; }
.top { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding:12px 16px; border-bottom:1px solid var(--line); }
.top p { margin:0; } .brand span { color:var(--muted); font-size:14px; margin-left:8px; } .who { color:var(--muted); font-size:14px; }
main { max-width:1000px; margin:0 auto; padding:24px 16px 64px; outline:none; }
h1 { font-size:28px; margin:0 0 16px; } h2 { font-size:20px; margin:32px 0 12px; }
.status:not(:empty) { max-width:1000px; margin:12px auto 0; padding:8px 16px; color:var(--muted); }
:focus-visible { outline:3px solid var(--accent); outline-offset:2px; }
button, .btn { font:inherit; min-height:44px; padding:8px 16px; border-radius:6px; border:1.5px solid var(--ink); background:#fff; color:var(--ink); cursor:pointer; }
button.primary { background:var(--accent); border-color:var(--accent); color:#fff; } button.primary:hover { background:var(--accent-dark); }
button.link { border:0; padding:0; min-height:0; background:none; color:var(--accent); text-decoration:underline; }
form { display:grid; gap:12px; padding:16px; border:1px solid var(--line); border-radius:8px; background:var(--soft); }
.row { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap:12px; }
label { display:block; font-weight:600; font-size:15px; margin-bottom:4px; }
input, select { font:inherit; width:100%; min-height:44px; padding:8px 10px; border:1.5px solid #6B7C85; border-radius:6px; background:#fff; }
input[aria-invalid="true"] { border-color:var(--bad); }
.hint { font-size:14px; color:var(--muted); margin:2px 0 0; }
.error { color:var(--bad); background:var(--bad-bg); border:1.5px solid var(--bad); border-radius:6px; padding:8px 12px; margin:0; }
.error:empty { display:none; }
.empty { padding:24px; border:1px dashed var(--line); border-radius:8px; color:var(--muted); }
.table-wrap { overflow-x:auto; } table { border-collapse:collapse; width:100%; } th, td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--line); }
td.num, th.num { text-align:right; font-variant-numeric: tabular-nums; }
dl.summary { display:grid; grid-template-columns: minmax(180px, 1fr) auto; gap:0; border-top:1.5px solid var(--ink); margin:0; }
dl.summary dt, dl.summary dd { padding:10px 0; border-bottom:1px solid var(--line); margin:0; } dl.summary dd { text-align:right; font-variant-numeric: tabular-nums; font-weight:600; }
.tag { display:inline-block; font-size:13px; font-weight:600; padding:2px 8px; border-radius:4px; border:1px solid currentColor; }
.tag.ok { color:var(--accent); } .tag.warn { color:var(--warn); } .tag.bad { color:var(--bad); }
.issues li { margin:4px 0; } .actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.grid2 { display:grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap:16px; }
.flush { margin:0; } .left { text-align:left; } .mt { margin-top:24px; }
