:root{--ink:#1b1f24;--muted:#4a5561;--line:#c9d1da;--bg:#f6f8fa;--card:#ffffff;--pri:#0b4f8a;--pri-ink:#ffffff;--ok:#1e5e2d;--ok-bg:#e9f5ec;--err:#8f1418;--err-bg:#fbeaea;--warn:#6b4a00;--warn-bg:#fff4d6}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--pri)}header{background:var(--pri);color:var(--pri-ink)}header .in{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
header a{color:var(--pri-ink);text-decoration:none;font-weight:600}header a:hover{text-decoration:underline}header .brand{font-size:17px;margin-right:auto}
header form{margin:0}header button{background:transparent;border:1px solid var(--pri-ink);color:var(--pri-ink);padding:4px 10px;border-radius:4px;cursor:pointer}
main{max-width:1180px;margin:0 auto;padding:18px 16px 60px}h1{font-size:24px;margin:6px 0 14px}h2{font-size:19px;margin:22px 0 10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px;margin:0 0 16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:12px}.stat b{display:block;font-size:24px}.stat span{color:var(--muted)}
table{width:100%;border-collapse:collapse;background:var(--card)}th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}th{background:#eef2f6}
.scroll{overflow-x:auto}label{display:block;font-weight:600;margin:8px 0 3px}input,select,textarea{width:100%;padding:7px;border:1px solid #8a96a3;border-radius:4px;font:inherit;color:var(--ink);background:#fff}
textarea{min-height:80px}.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
button,.btn{display:inline-block;background:var(--pri);color:var(--pri-ink);border:0;padding:8px 14px;border-radius:4px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;margin-top:10px}
button.sec{background:#fff;color:var(--pri);border:1px solid var(--pri)}button.del{background:#fff;color:var(--err);border:1px solid var(--err)}
.msg{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok);padding:8px 12px;border-radius:6px;margin-bottom:12px}
.err{background:var(--err-bg);color:var(--err);border:1px solid var(--err);padding:8px 12px;border-radius:6px;margin-bottom:12px}
.note{background:var(--warn-bg);color:var(--warn);border:1px solid #b88a00;padding:8px 12px;border-radius:6px;margin:0 0 12px}
.muted{color:var(--muted)}.pill{display:inline-block;padding:1px 8px;border-radius:10px;border:1px solid var(--line);font-size:13px}
.I{background:var(--ok-bg);color:var(--ok);border-color:var(--ok)}.PI{background:var(--warn-bg);color:var(--warn);border-color:#b88a00}.NI{background:var(--err-bg);color:var(--err);border-color:var(--err)}
.q{border-top:1px solid var(--line);padding:10px 0}.q:first-of-type{border-top:0}.opts{display:flex;gap:16px;flex-wrap:wrap}.opts label{display:inline;font-weight:400}.opts input{width:auto}
.inline{display:inline}.small{font-size:13px}details summary{cursor:pointer;font-weight:600}.login{max-width:420px;margin:60px auto}
footer{max-width:1180px;margin:0 auto;padding:0 16px 30px;color:var(--muted);font-size:13px}
@media (max-width:640px){header .brand{width:100%}}
