:root{
  --blue:#0b4f9c; --blue-dark:#073a73; --blue-light:#e8f0fa;
  --green:#1f7a4d; --green-light:#e6f4ec;
  --amber:#b8730a; --amber-light:#fdf3e3;
  --red:#b3261e; --red-light:#fbeae9;
  --ink:#1a1c1f; --muted:#5a6270; --line:#d4d9e0; --bg:#f4f6f9; --white:#fff;
  --radius:10px; --shadow:0 1px 3px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.06);
  --shadow-lg:0 8px 28px rgba(16,24,40,.12);
  --font:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.5;font-size:16px}
a{color:var(--blue)}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99;border:2px solid var(--blue)}

.gov-bar{background:var(--blue-dark);color:#cfe0f5;font-size:13px}
.gov-bar .wrap{max-width:1080px;margin:0 auto;padding:6px 20px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
header.site{background:var(--white);border-bottom:3px solid var(--blue);box-shadow:var(--shadow)}
header.site .wrap{max-width:1080px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:14px}
.crest{width:42px;height:42px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--blue-dark));color:#fff;display:grid;place-items:center;font-weight:700;font-size:20px;flex:none}
header .brand b{display:block;font-size:18px;color:var(--ink)}
header .brand span{font-size:13px;color:var(--muted)}
header .login-state{margin-left:auto;font-size:13px;color:var(--muted);text-align:right}
header .login-state b{color:var(--green)}
header .login-state a{font-size:12px}

main{max-width:1080px;margin:0 auto;padding:24px 20px 80px}
h1{font-size:30px;line-height:1.2;margin:.2em 0 .3em}
h2{font-size:21px;margin:1.4em 0 .6em}
.lead{font-size:18px;color:var(--muted);max-width:64ch}

.btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:8px;padding:13px 22px;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none}
.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:var(--blue-dark)}
.btn-ghost{background:#fff;color:var(--blue);border:1.5px solid var(--blue)}.btn-ghost:hover{background:var(--blue-light)}
.btn-bund{background:#000;color:#fff}.btn-bund b{color:#ffce00}
.btn:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn-lg{padding:16px 28px;font-size:17px}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin:16px 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:680px){.grid2{grid-template-columns:1fr}h1{font-size:25px}}

.pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px}
.pill-blue{background:var(--blue-light);color:var(--blue-dark)}
.pill-green{background:var(--green-light);color:var(--green)}
.pill-amber{background:var(--amber-light);color:var(--amber)}
.pill-red{background:var(--red-light);color:var(--red)}

.onceonly{background:var(--green-light);border:1px solid #bfe3cd;border-left:4px solid var(--green);border-radius:8px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;margin:18px 0}
.onceonly b{color:var(--green)}

.stepper{display:flex;gap:6px;margin:8px 0 24px;flex-wrap:wrap}
.step{flex:1;min-width:120px;font-size:13px;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid var(--line);color:var(--muted)}
.step .n{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--line);color:#fff;font-weight:700;margin-right:7px;font-size:12px}
.step.cur{border-color:var(--blue);background:var(--blue-light);color:var(--blue-dark);font-weight:600}.step.cur .n{background:var(--blue)}

label{display:block;font-weight:600;font-size:14px;margin:14px 0 5px}
.hint{font-weight:400;color:var(--muted);font-size:13px}
input,select,textarea{width:100%;padding:11px 12px;border:1.5px solid var(--line);border-radius:8px;font-size:16px;font-family:inherit;background:#fff}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-light)}
input[readonly]{background:var(--green-light);border-color:#bfe3cd;color:var(--ink)}
.prefill-tag{font-size:11.5px;color:var(--green);font-weight:600;float:right}
fieldset{border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:18px 0}
legend{font-weight:700;padding:0 8px;color:var(--blue-dark)}
.likert{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.likert label{display:inline-flex;align-items:center;gap:4px;font-weight:400;margin:0}

.kita{display:flex;gap:14px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:14px;margin:10px 0;cursor:pointer}
.kita:hover{border-color:var(--blue);box-shadow:var(--shadow)}
.kita input{width:auto}
.kita .ph{width:48px;height:48px;border-radius:8px;background:var(--blue-light);display:grid;place-items:center;font-size:22px;flex:none}
.kita .meta{flex:1}.kita .meta b{font-size:16px}.kita .meta div{font-size:13px;color:var(--muted)}

.timeline{list-style:none;padding:0;margin:18px 0}
.timeline li{position:relative;padding:0 0 26px 38px}
.timeline li::before{content:"";position:absolute;left:11px;top:22px;bottom:-4px;width:2px;background:var(--line)}
.timeline li:last-child::before{display:none}
.timeline .dot{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid var(--line);display:grid;place-items:center;font-size:13px}
.timeline li.done .dot{background:var(--green);border-color:var(--green);color:#fff}
.timeline li.cur .dot{background:var(--blue);border-color:var(--blue);color:#fff}
.timeline b{font-size:15px}.timeline .t{font-size:13px;color:var(--muted)}

table.dash{width:100%;border-collapse:collapse;margin-top:8px;font-size:14px}
table.dash th,table.dash td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
table.dash th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
table.dash tr:hover{background:var(--bg)}
table.dash a{font-weight:600}

.compare{font-size:13px;color:var(--muted);border-left:3px solid var(--amber);background:var(--amber-light);padding:8px 12px;border-radius:0 8px 8px 0;margin:14px 0}
.compare b{color:var(--amber)}

.flash{padding:12px 16px;border-radius:8px;margin:12px 0;font-size:14px}
.flash.error{background:var(--red-light);color:var(--red);border:1px solid #f0c5c2}
.flash.ok{background:var(--green-light);color:var(--green);border:1px solid #bfe3cd}

footer{border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:13px}
footer .wrap{max-width:1080px;margin:0 auto;padding:18px 20px;display:flex;gap:18px;flex-wrap:wrap}
footer a{color:var(--muted)}

.proto-flag{position:fixed;bottom:14px;right:14px;background:var(--ink);color:#fff;font-size:12px;padding:8px 12px;border-radius:8px;opacity:.85;z-index:50}
.amt-banner{background:#3a2a5a;color:#e7defb}
.docrow{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.docrow:last-child{border-bottom:0}
