:root{
  --slate-900:#0f172a; --slate-800:#1e293b; --slate-700:#334155;
  --slate-600:#475569; --slate-400:#94a3b8; --slate-200:#e2e8f0;
  --steel:#64748b; --accent:#3b82f6; --ok:#22c55e; --warn:#f59e0b; --bad:#ef4444;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;background:var(--slate-900);color:var(--slate-200)}
a{color:var(--accent);text-decoration:none}
.layout{display:flex;min-height:100vh}
.sidebar{width:240px;background:var(--slate-800);padding:20px;border-right:1px solid var(--slate-700)}
.sidebar h2{color:#fff;font-size:18px;margin:0 0 20px}
.sidebar a{display:block;padding:10px 12px;border-radius:6px;color:var(--slate-200);margin-bottom:4px;font-size:14px}
.sidebar a:hover,.sidebar a.active{background:var(--slate-700);color:#fff}
.sidebar .group{font-size:11px;text-transform:uppercase;color:var(--slate-400);margin:16px 0 6px;letter-spacing:1px}
.main{flex:1;padding:28px;overflow-x:auto}
.card{background:var(--slate-800);border:1px solid var(--slate-700);border-radius:10px;padding:20px;margin-bottom:20px}
.grid{display:grid;gap:16px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.kpi{background:var(--slate-700);padding:18px;border-radius:8px}
.kpi .label{color:var(--slate-400);font-size:12px;text-transform:uppercase}
.kpi .value{font-size:26px;font-weight:600;color:#fff;margin-top:6px}
h1,h2,h3{color:#fff}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid var(--slate-700);text-align:left;font-size:14px}
th{color:var(--slate-400);font-weight:600;font-size:12px;text-transform:uppercase}
input,select,textarea{background:var(--slate-900);border:1px solid var(--slate-600);color:#fff;padding:10px;border-radius:6px;width:100%;font-size:14px}
label{display:block;margin:10px 0 4px;color:var(--slate-400);font-size:13px}
button,.btn{background:var(--accent);color:#fff;border:0;padding:10px 16px;border-radius:6px;cursor:pointer;font-size:14px;display:inline-block}
.btn-ok{background:var(--ok)} .btn-bad{background:var(--bad)} .btn-warn{background:var(--warn)}
.badge{display:inline-block;padding:3px 8px;border-radius:4px;font-size:11px;text-transform:uppercase}
.badge-ok{background:var(--ok);color:#fff} .badge-bad{background:var(--bad);color:#fff}
.badge-warn{background:var(--warn);color:#fff} .badge-pending{background:var(--steel);color:#fff}
.auth-box{max-width:400px;margin:80px auto;background:var(--slate-800);padding:32px;border-radius:10px}
.paste-zone{border:2px dashed var(--slate-600);padding:24px;text-align:center;border-radius:6px;cursor:pointer}
.paste-zone img{max-width:200px;margin-top:10px;border-radius:4px}
.flash{padding:12px;border-radius:6px;margin-bottom:16px}
.flash-ok{background:rgba(34,197,94,.2);color:#86efac}
.flash-bad{background:rgba(239,68,68,.2);color:#fca5a5}
