:root{--blue:#1769d6;--blue-d:#0f4c9e;--green:#1e9e57;--orange:#e8870e;--red:#d63a3a;--bg:#f2f6fc;--card:#fff;--line:#dfe7f2;--text:#18253a;--muted:#667892}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}
header.top{background:linear-gradient(90deg,var(--blue-d),var(--blue));color:#fff;display:flex;align-items:center;gap:20px;padding:0 20px;flex-wrap:wrap}
header.top .brand{font-weight:700;font-size:18px;padding:14px 0}
header.top nav{display:flex;gap:2px;flex:1;flex-wrap:wrap}
header.top nav a{color:#dbe8ff;padding:15px 12px;font-weight:500}
header.top nav a.on,header.top nav a:hover{color:#fff;background:rgba(255,255,255,.14);text-decoration:none}
header.top form{margin:0}
main{max-width:1180px;margin:24px auto;padding:0 16px}
h1{font-size:24px;margin:0 0 16px}h2{font-size:18px;margin:24px 0 10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px}
.stat b{display:block;font-size:26px}.stat span{color:var(--muted);font-size:13px}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{background:#eaf1fb;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.scroll{overflow-x:auto}
form.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:16px}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:3px}
input,select,textarea{font:inherit;padding:9px 10px;border:1px solid #c5d3e6;border-radius:10px;background:#fff;color:var(--text);min-width:0}
input:focus,select:focus,textarea:focus{outline:2px solid #9cc2f5;border-color:var(--blue)}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.form .full{grid-column:1/-1}.form input,.form select,.form textarea{width:100%}
.check{display:flex;gap:8px;align-items:center}.check input{width:auto}.check label{margin:0;color:var(--text)}
button,.btn{font:inherit;font-weight:600;border:0;border-radius:10px;padding:10px 16px;background:var(--blue);color:#fff;cursor:pointer;display:inline-block}
button:hover,.btn:hover{background:var(--blue-d);text-decoration:none}
.btn.secondary,button.secondary{background:#e5eefb;color:var(--blue-d)}
.btn.danger,button.danger{background:var(--red)}
.btn.small,button.small{padding:5px 10px;font-size:13px}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:600}
.pill.green{background:#dff5e8;color:#157a42}.pill.orange{background:#fdecd2;color:#a65d00}.pill.red{background:#fbdcdc;color:#a52a2a}.pill.grey{background:#e8edf4;color:#55677f}
.flash{padding:12px 16px;border-radius:12px;margin-bottom:16px;font-weight:500}
.flash.ok{background:#dff5e8;color:#157a42}.flash.err{background:#fbdcdc;color:#a52a2a}
.muted{color:var(--muted)}.right{text-align:right}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.login{max-width:380px;margin:12vh auto}.login .card{padding:26px}
.pager{display:flex;gap:10px;align-items:center;margin-top:14px}
@media(max-width:640px){th,td{padding:8px}header.top nav a{padding:10px 8px}}
