:root{--bg:#f4f6fa;--card:#fff;--ink:#1c2333;--muted:#6b7488;--brand:#1d4ed8;--line:#e3e7ef;--ok:#0f7b3d;--err:#b42318}
*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
.wrap{max-width:1050px;margin:0 auto;padding:0 16px}
.top{background:#0f1b3d;color:#fff}.bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px}
.brand{color:#fff;font-weight:700;text-decoration:none;font-size:17px}
nav{display:flex;flex-wrap:wrap;gap:14px;align-items:center}nav a,button.link{color:#cfd8ff;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer;padding:0}
nav a:hover,button.link:hover{color:#fff}form.inline{display:inline;margin:0}
main{padding:22px 16px}h1{margin:.2em 0 .6em;font-size:24px}h2{font-size:18px;margin:1.4em 0 .6em}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;margin-bottom:16px}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.stat{font-size:30px;font-weight:700}.muted{color:var(--muted)}.small{font-size:13px}
label{display:block;font-weight:600;margin:10px 0 4px}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=file],select,textarea{width:100%;padding:9px 11px;border:1px solid #cbd2e0;border-radius:8px;font:inherit;background:#fff}
.row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.btn,button.btn{display:inline-block;background:var(--brand);color:#fff;border:0;padding:9px 16px;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
.btn.sec{background:#e8edf9;color:#1d3a8a}.btn.danger{background:#fde8e6;color:var(--err)}.btn.sm{padding:5px 10px;font-size:13px}
.flash{padding:11px 14px;border-radius:8px;margin-bottom:14px}.flash.ok{background:#e4f6ec;color:var(--ok)}.flash.err{background:#fde8e6;color:var(--err)}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;text-transform:uppercase;color:var(--muted)}
.scroll{overflow-x:auto}.badge{padding:2px 8px;border-radius:99px;font-size:12px;font-weight:600}
.badge.on{background:#e4f6ec;color:var(--ok)}.badge.off{background:#fde8e6;color:var(--err)}
code.key{font:600 14px ui-monospace,Consolas,monospace;background:#f0f3fa;padding:4px 8px;border-radius:6px;word-break:break-all}
.login{max-width:400px;margin:60px auto}.foot{padding:20px 16px;color:var(--muted);font-size:13px}
.sw{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
