:root{
  --bg:#0b1220;--bg-2:#0f172a;--card:#111827;--card-2:#1f2937;
  --border:#1f2937;--text:#e5e7eb;--muted:#9ca3af;
  --accent:#60a5fa;--accent-2:#34d399;--danger:#f87171;--warn:#fbbf24;
  --radius:14px;--shadow:0 10px 30px rgba(0,0,0,.35);
}
[data-theme="light"]{
  --bg:#f8fafc;--bg-2:#f1f5f9;--card:#ffffff;--card-2:#e2e8f0;
  --border:#e2e8f0;--text:#0f172a;--muted:#475569;
  --accent:#2563eb;--accent-2:#059669;--danger:#dc2626;--warn:#b45309;
  --shadow:0 10px 30px rgba(0,0,0,.08);
}
body{background:var(--bg);color:var(--text)}
.muted{color:var(--muted)}.small{font-size:.85rem}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.btn{border:1px solid var(--border);background:var(--card-2);color:var(--text);padding:8px 14px;border-radius:10px;font-weight:600;transition:.15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.btn-primary{background:var(--accent);color:#fff;border-color:transparent}
.btn-danger{background:var(--danger);color:#fff;border-color:transparent}
.btn-sm{padding:4px 10px;font-size:.85rem}
.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(240px,1fr))}
.stat{font-size:2rem;font-weight:800}
.kpi{display:flex;flex-direction:column;gap:4px}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left;font-size:.9rem}
.table th{color:var(--muted);font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em}
.table tr:hover td{background:var(--card-2)}
.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.form-row label{font-size:.85rem;color:var(--muted);font-weight:600}
.form-row input,.form-row select,.form-row textarea{padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);color:var(--text)}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid var(--accent);border-color:transparent}
.search-input{padding:8px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-2);color:var(--text);min-width:220px}
.nav-item{display:block;padding:10px 14px;border-radius:10px;margin:4px 0;color:var(--muted);transition:.15s}
.nav-item:hover{background:var(--card-2);color:var(--text)}
.nav-item.active{background:var(--accent);color:#fff}
.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;place-items:center;z-index:50}
.modal-ov.open{display:grid}
.modal-box{background:var(--card);border-radius:16px;padding:20px;max-width:720px;width:92%;max-height:86vh;overflow:auto}
.err{color:var(--danger);margin-top:8px}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--card-2);color:var(--muted)}
.badge.accent{background:var(--accent);color:#fff}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}