:root{--ink:#1c2430;--mut:#667085;--bg:#f5f7fa;--card:#fff;--line:#e4e7ec;--green:#12805c;--greenbg:#e6f6ef;--amber:#a15c07;--amberbg:#fff4e0;--red:#b42318;--redbg:#fdecea;--brand:#4E67A0;--brandlt:#A2B4DC;--accent:#BC0C06;--gold:#FFC20E}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand)}
.top{background:var(--brandlt);color:#1c2430;padding:10px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:4px solid var(--brand)}
.top a{color:#1c2430;text-decoration:none;font-weight:700}.top span{color:#1c2430}.top img{height:56px;display:block}
.wrap{max-width:760px;margin:0 auto;padding:20px 16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px}
.profile{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.photo{width:140px;height:140px;border-radius:50%;object-fit:cover;background:var(--line)}
.badge{display:inline-block;padding:6px 14px;border-radius:999px;font-weight:700}
.badge.ok{background:var(--greenbg);color:var(--green)}.badge.warn{background:var(--amberbg);color:var(--amber)}.badge.bad{background:var(--redbg);color:var(--red)}
dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}dt{color:var(--mut)}dd{margin:0}
.stmt{border-left:4px solid var(--brand);padding-left:12px;color:var(--mut)}
.qr{text-align:center}.btn{display:inline-block;background:var(--brand);color:#fff;border:0;border-radius:8px;padding:9px 16px;font:inherit;cursor:pointer;text-decoration:none}
.btn.sec{background:#fff;color:var(--brand);border:1px solid var(--brand)}.btn.danger{background:var(--accent)}
input,select{font:inherit;padding:8px 10px;border:1px solid var(--line);border-radius:8px;width:100%}
label{display:block;margin:12px 0 4px;font-weight:600}.err{color:var(--red);font-size:14px}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:600px){.grid2{grid-template-columns:1fr}}
.foot{text-align:center;color:var(--mut);padding:24px}
.flash{background:var(--greenbg);color:var(--green);padding:10px 14px;border-radius:8px;margin-bottom:12px}
@media print{.top,.foot,.noprint{display:none}}
