
:root{
  --bg:#fbfbff; --text:#0f172a; --card:#ffffff; --border:#e9e7ff;
  --muted:#5b6477; --primary:#7c3aed; --primaryText:#ffffff;
  --accent:#06b6d4; --accent2:#f59e0b; --accent3:#fb7185;
  --shadow:0 14px 40px rgba(2,6,23,.08);
}
html[data-theme='dark']{
  --bg:#070a16; --text:#e5e7eb; --card:#0b1022; --border:#1f2a44;
  --muted:#a1acc2; --primary:#a78bfa; --primaryText:#071027;
  --accent:#67e8f9; --accent2:#fbbf24; --accent3:#fda4af;
  --shadow:0 18px 60px rgba(0,0,0,.55);
}
body{
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(124,58,237,.14), transparent 60%),
    radial-gradient(900px 420px at 80% 0%, rgba(6,182,212,.12), transparent 60%),
    radial-gradient(900px 520px at 50% 100%, rgba(251,113,133,.10), transparent 55%),
    var(--bg);
  color:var(--text);
}
.hero{
  background:linear-gradient(135deg, rgba(124,58,237,.14), rgba(6,182,212,.10), rgba(251,113,133,.12));
  border:1px solid var(--border);
}
.card{background:var(--card); border:1px solid var(--border); border-radius:1.25rem; box-shadow:var(--shadow);}
.nav{display:block;padding:.7rem .8rem;border-radius:1rem;font-weight:900;}
.nav:hover{background:rgba(124,58,237,.10)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  background:linear-gradient(135deg, var(--primary), var(--accent));
  color:var(--primaryText);padding:.62rem 1rem;border-radius:1rem;font-weight:950;}
.btn:hover{filter:brightness(1.02)}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  border:1px solid rgba(124,58,237,.35);
  color:var(--text);background:rgba(255,255,255,.0);padding:.62rem 1rem;border-radius:1rem;font-weight:950;}
.label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:.25rem;font-weight:950}
.input{width:100%;border:1px solid var(--border);border-radius:1rem;padding:.62rem .8rem;background:rgba(255,255,255,.7);color:var(--text)}
html[data-theme='dark'] .input{background:rgba(15,23,42,.55)}
.input:focus{outline:none;box-shadow:0 0 0 3px rgba(124,58,237,.22);border-color:rgba(124,58,237,.55)}
.table{width:100%;font-size:.92rem}
.table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:left;padding:.7rem .4rem}
.table td{padding:.7rem .4rem;vertical-align:top}
.badge{display:inline-flex;align-items:center;padding:.22rem .65rem;border-radius:999px;font-size:.75rem;font-weight:950}
.badge-ok{background:rgba(34,197,94,.16);color:#16a34a;border:1px solid rgba(34,197,94,.22)}
.badge-err{background:rgba(244,63,94,.16);color:#e11d48;border:1px solid rgba(244,63,94,.22)}
.badge-warn{background:rgba(245,158,11,.16);color:#b45309;border:1px solid rgba(245,158,11,.22)}
.badge-cyan{background:rgba(6,182,212,.14);color:#0e7490;border:1px solid rgba(6,182,212,.22)}
.kpi{border-radius:1.25rem;background:linear-gradient(135deg, rgba(124,58,237,.12), rgba(6,182,212,.10));border:1px solid var(--border)}
@media print{aside,header,.btn,.btn-outline{display:none !important;} body{background:#fff;color:#000}}
