:root{--blue:#0b3d73;--blue2:#1a5ea8;--ink:#1b1b1b;--bg:#f5f7fa;--red:#a4000f;--ok:#0a6b2e;--warn:#7a4b00}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,Segoe UI,Arial,sans-serif;color:var(--ink);background:var(--bg)}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--blue);padding:.5rem 1rem;z-index:99}.skip:focus{left:.5rem}
.demo-banner{background:var(--red);color:#fff;padding:.6rem 1rem;text-align:center}
header.site{background:var(--blue);color:#fff;padding:1rem}header.site a{color:#fff}
.brand{font-size:1.3rem;font-weight:700;margin:0}nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:1rem;padding:0;margin:.5rem 0 0}
nav a[aria-current=page]{text-decoration-thickness:3px}
main{max-width:1100px;margin:0 auto;padding:1.5rem 1rem}
:focus-visible{outline:3px solid #ffbf47;outline-offset:2px;box-shadow:0 0 0 5px #0b0c0c}
.card{background:#fff;border:1px solid #c9d2de;border-radius:6px;padding:1rem;margin:0 0 1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
button,.btn{background:var(--blue2);color:#fff;border:0;border-radius:4px;padding:.55rem 1rem;font:inherit;cursor:pointer;text-decoration:none;display:inline-block}
button.sec{background:#fff;color:var(--blue);border:2px solid var(--blue)}button.danger{background:var(--red)}
label{display:block;font-weight:600;margin:.75rem 0 .25rem}input,select,textarea{font:inherit;padding:.45rem;border:1px solid #5a6472;border-radius:4px;width:100%;max-width:32rem}
input[type=checkbox],input[type=radio]{width:auto}fieldset{border:1px solid #c9d2de;border-radius:4px;margin:1rem 0}
table{border-collapse:collapse;width:100%;background:#fff}th,td{border:1px solid #c9d2de;padding:.5rem;text-align:left}th{background:#e6edf5}
.pill{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.85rem;font-weight:600}.ok{background:#d8f0e0;color:var(--ok)}.warn{background:#fff0d0;color:var(--warn)}.info{background:#dde8f7;color:var(--blue)}
.notice{background:#fff8e1;border-left:5px solid #b07d00;padding:.6rem 1rem}
[role=tablist]{display:flex;gap:.25rem;flex-wrap:wrap}[role=tab]{background:#e6edf5;color:var(--blue);border:2px solid var(--blue)}[role=tab][aria-selected=true]{background:var(--blue);color:#fff}
.steps{display:flex;gap:.5rem;list-style:none;padding:0;flex-wrap:wrap}.steps li{padding:.25rem .6rem;border-radius:4px;background:#e6edf5}.steps li[aria-current=step]{background:var(--blue);color:#fff}
.timeline{list-style:none;padding:0;border-left:4px solid var(--blue2);margin-left:.5rem}.timeline li{padding:.25rem 0 1rem 1rem}
footer{background:#1b2a3a;color:#fff;padding:1rem;margin-top:2rem}footer a{color:#cfe3ff}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.chat{border:1px solid #c9d2de;background:#fff;border-radius:6px;max-height:420px;overflow:auto;padding:1rem}
.msg{margin:.5rem 0;padding:.6rem .8rem;border-radius:6px}.msg.user{background:#e6edf5;margin-left:15%}.msg.bot{background:#f0f4e8;margin-right:10%}
.err{color:var(--red);font-weight:600}
