:root{
  --bg:#0f172a; --card:#111827; --panel:#1f2937; --line:#334155; --txt:#e5e7eb; --muted:#94a3b8; --green:#10b981; --red:#ef4444; --amber:#f59e0b; --blue:#3b82f6;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,sans-serif;background:#020617;color:var(--txt)}
a{text-decoration:none;color:#cbd5e1}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:230px;background:#020617;border-right:1px solid #1e293b;padding:18px;overflow:auto}
.sidebar .brand{font-weight:800;font-size:20px;margin-bottom:18px;color:#fff}
.sidebar a{display:block;padding:10px 12px;border-radius:8px;margin-bottom:6px;background:transparent}
.sidebar a:hover{background:#111827}
.main{margin-left:230px;padding:22px}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.card{background:#0f172a;border:1px solid #1e293b;border-radius:14px;padding:18px;margin-bottom:18px}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
input,select,textarea,button{width:100%;padding:11px 12px;border-radius:10px;border:1px solid #334155;background:#111827;color:#e5e7eb}
button,.btn{display:inline-block;width:auto;padding:11px 16px;background:#0ea5e9;border:none;border-radius:10px;color:white;font-weight:700;cursor:pointer}
.btn.secondary{background:#374151}
.btn.green{background:#059669}
.btn.red{background:#b91c1c}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid #1e293b;text-align:left;vertical-align:top}
th{color:#cbd5e1}
.alert{padding:12px 14px;border-radius:10px;margin-bottom:16px}
.alert.success{background:#052e16;color:#bbf7d0}
.alert.error{background:#450a0a;color:#fecaca}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px}
.badge.green{background:#064e3b;color:#d1fae5}
.badge.red{background:#7f1d1d;color:#fee2e2}
.badge.blue{background:#1e3a8a;color:#dbeafe}
.kpi{font-size:26px;font-weight:800}
small.muted,.muted{color:var(--muted)}
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:14px}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.login-wrap{max-width:420px;margin:80px auto}
