/* Layout */
body { background:#0c0f14; color:#dfe8ff; }
.app-shell { display:flex; min-height:100vh; }
.sidebar {
  width:260px; background:#0a0d12; border-right:1px solid #1b2230; padding:18px; position:sticky; top:0; height:100vh;
}
.brand { font-family: Orbitron, Inter, Roboto, Arial, sans-serif; font-weight:700; letter-spacing:.5px; color:#67e8f9; margin-bottom:14px; }
.menu a { display:block; padding:9px 10px; border-radius:8px; color:#cbd5e1; text-decoration:none; margin-bottom:6px; }
.menu a:hover, .menu a.active { background:#101725; color:#fff; box-shadow:0 0 12px rgba(103,232,249,.25) inset; }
.menu .menu-section { margin-top:10px; font-size:.86rem; color:#7dd3fc; text-transform:uppercase; letter-spacing:.06em; margin-bottom:8px; }
.menu a.disabled { opacity:.4; pointer-events:none; }
.sidebar-foot { position:absolute; bottom:16px; left:18px; right:18px; display:flex; justify-content:space-between; align-items:center; }
.user .u-name { font-weight:600; }
.user .u-role { font-size:.8rem; color:#94a3b8; }
.btn-ghost { color:#7dd3fc; text-decoration:none; padding:6px 10px; border:1px solid #1b2230; border-radius:6px; }
.content { flex:1; padding:20px; }

.card { background:#0f1420; border:1px solid #1b2230; border-radius:12px; padding:16px; box-shadow:0 0 0 1px rgba(103,232,249,.08) inset; }
.table { color:#e2e8f0; }
.badge { background:#111827; color:#e5e7eb; border:1px solid #374151; border-radius:6px; padding:2px 8px; }

.btn-neon {
  background:linear-gradient(90deg,#06b6d4,#7c3aed);
  border:0; color:#fff; padding:8px 14px; border-radius:10px; text-decoration:none; display:inline-block;
  box-shadow:0 0 18px rgba(103,232,249,.35);
}
.btn-neon:hover { filter:brightness(1.08); }

.filters .input { background:#0b1220; color:#dbeafe; border-color:#1f2937; }
.filters .form-label { color:#a5b4fc; }

/* KPIs */
.kpi { display:flex; flex-direction:column; gap:6px; }
.kpi-title{ font-size:.9rem; color:#a5b4fc; }
.kpi-value{ font-size:1.7rem; font-weight:700; color:#67e8f9; }
.kpi-sub{ color:#93c5fd; font-size:.9rem; }
.kpi-row{ display:flex; justify-content:space-between; padding:4px 0; border-top:1px dashed #1e293b; }

/* Login */
.login-body { display:flex; align-items:center; justify-content:center; height:100vh; background:radial-gradient(1200px 800px at 10% 10%, rgba(6,182,212,.15), transparent), radial-gradient(1200px 800px at 90% 90%, rgba(124,58,237,.15), transparent), #0c0f14; }
.login-box { width:360px; }
.neon { color:#67e8f9; }
