:root{--bg:#f4f6fa;--card:#fff;--ink:#14213d;--muted:#5d6b82;--line:#dfe4ec;--pri:#1d3f8f;--pri2:#2f5ad6;--ok:#1d8a4a;--okbg:#e5f6ec;--bad:#c2362b;--badbg:#fdecea;--warn:#a86400;--warnbg:#fff4e0;--r:12px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--pri2)}
header.top{background:var(--pri);color:#fff}
header.top .in{max-width:1100px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
header.top .brand{font-weight:800;letter-spacing:.04em;color:#fff;text-decoration:none}
header.top nav{display:flex;gap:14px;flex-wrap:wrap;margin-left:auto}
header.top nav a{color:#dce5ff;text-decoration:none;font-size:15px}
header.top nav a:hover{color:#fff}
main{max-width:1100px;margin:0 auto;padding:20px 16px 60px}
main.narrow{max-width:640px}
h1{font-size:26px;margin:4px 0 14px}
h2{font-size:19px;margin:26px 0 10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:0 0 16px}
.muted{color:var(--muted)}
.small{font-size:14px}
label{display:block;font-weight:600;margin:12px 0 4px;font-size:15px}
input[type=text],input[type=tel],input[type=password],input[type=date],select{width:100%;padding:11px 12px;border:1px solid #c9d1de;border-radius:9px;font:inherit;background:#fff}
input:focus,select:focus{outline:2px solid var(--pri2);border-color:transparent}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin-top:14px}
.check input{margin-top:5px;width:18px;height:18px;flex:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:9px;border:0;background:var(--pri2);color:#fff;font:600 16px system-ui,sans-serif;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.07)}
.btn.sec{background:#e8edf7;color:var(--ink)}
.btn.bad{background:var(--bad)}
.btn.ok{background:var(--ok)}
.btn.big{padding:16px 22px;font-size:18px;width:100%}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:600px){.grid2{grid-template-columns:1fr}}
.flash{padding:12px 14px;border-radius:9px;margin:0 0 14px}
.flash.error{background:var(--badbg);color:var(--bad)}
.flash.ok{background:var(--okbg);color:var(--ok)}
.flash.warn{background:var(--warnbg);color:var(--warn)}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}
.tablewrap{overflow-x:auto}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;font-size:13px;font-weight:600;background:#eef1f6;color:var(--muted)}
.pill.ok{background:var(--okbg);color:var(--ok)}
.pill.bad{background:var(--badbg);color:var(--bad)}
.pill.warn{background:var(--warnbg);color:var(--warn)}
.stat{font-size:30px;font-weight:800}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.stats .card{margin:0}
.keygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.keygrid div{display:flex;align-items:center;gap:6px}
.keygrid b{width:26px;text-align:right}
.keygrid select{padding:6px}
.qr svg{width:220px;height:220px}
.ans{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px}
.ans div{border-radius:8px;padding:6px;text-align:center;font-weight:700;border:1px solid var(--line)}
.ans div small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.ans .y{background:var(--okbg);border-color:#bfe5cd;color:var(--ok)}
.ans .n{background:var(--badbg);border-color:#f4c7c2;color:var(--bad)}
.ans .e{background:var(--warnbg);border-color:#f2d6a6;color:var(--warn)}
.score{font-size:54px;font-weight:800;line-height:1}
img.fit{max-width:100%;border-radius:10px;border:1px solid var(--line)}
.right{text-align:right}
@media print{header.top,.noprint{display:none!important}body{background:#fff}.card{border:0}}
