:root{
  --bg:#0b1220; --panel:#121a2b; --panel2:#182338; --muted:#92a0b8; --text:#e8eef9;
  --line:#25324a; --brand:#4f8cff; --green:#2fb67c; --red:#e05555; --yellow:#d7a93c;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:linear-gradient(180deg,#0b1220 0%,#10182a 100%);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:#8fb4ff;text-decoration:none}
.wrap{max-width:1300px;margin:0 auto;padding:24px}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}
.brand{font-weight:700;font-size:20px;letter-spacing:.2px}
.muted{color:var(--muted)}
.card{background:rgba(18,26,43,.95);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.22)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}
@media (max-width:980px){.col-8,.col-6,.col-4,.col-3{grid-column:span 12}}
h1,h2,h3{margin:0 0 12px}
h1{font-size:24px} h2{font-size:18px} h3{font-size:15px}
input,select,button,textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid #2b3956;background:#0f1728;color:var(--text);outline:none}
textarea{min-height:108px;resize:vertical}
button{cursor:pointer;background:linear-gradient(180deg,#4f8cff,#3c75e7);border:none;font-weight:600}
button.secondary{background:#1b2740;border:1px solid #30415f}
button.danger{background:linear-gradient(180deg,#e96a6a,#d14747)}
button.ghost{background:transparent;border:1px solid #30415f}
button.small{width:auto;padding:7px 10px;border-radius:10px}
button[disabled]{opacity:.55;cursor:not-allowed}
.form-row{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}
.form-row>*{grid-column:span 12}
.form-row .span-6{grid-column:span 6}
.form-row .span-4{grid-column:span 4}
.form-row .span-3{grid-column:span 3}
.form-row .span-2{grid-column:span 2}
@media (max-width:980px){.form-row .span-6,.form-row .span-4,.form-row .span-3,.form-row .span-2{grid-column:span 12}}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.tab{padding:10px 14px;border-radius:999px;background:#121c31;border:1px solid #293757;cursor:pointer}
.tab.active{background:#1f3155;border-color:#4f8cff}
table{width:100%;border-collapse:collapse}
th,td{border-bottom:1px solid #24324a;padding:10px 8px;text-align:left;vertical-align:top}
th{color:#a9b7d2;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#16243c;border:1px solid #30415f;font-size:12px}
.badge.green{color:#89f0bf;border-color:#21553f;background:#11291f}
.badge.red{color:#ffb1b1;border-color:#6d3030;background:#2d1515}
.badge.yellow{color:#f5da92;border-color:#6c5423;background:#2f2612}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.toolbar .grow{flex:1}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:980px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{padding:14px;border-radius:14px;background:#10192b;border:1px solid #25324a}
.kpi .n{font-size:24px;font-weight:700}
.notice{padding:10px 12px;border-radius:12px;background:#132039;border:1px solid #24416b}
.error{padding:10px 12px;border-radius:12px;background:#331b1b;border:1px solid #713232;color:#ffc6c6}
.success{padding:10px 12px;border-radius:12px;background:#13281e;border:1px solid #28573d;color:#b4f0c9}
.hidden{display:none!important}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap;word-break:break-word}
hr{border:none;border-top:1px solid #25324a;margin:16px 0}
.checkgrid{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px}
@media (max-width:980px){.checkgrid{grid-template-columns:repeat(2,minmax(120px,1fr))}}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px}
.login-card{width:min(520px,100%);padding:24px}
.smalltext{font-size:12px;color:var(--muted)}
.list{display:grid;gap:10px}
.list-item{padding:12px;border-radius:12px;background:#10192b;border:1px solid #25324a}
