:root{--brand:#1d4ed8;--brand-dark:#1e3a8a;--bg:#f3f6fb;--card:#fff;--text:#1f2937;--sidebar-w:250px}
[data-bs-theme=dark]{--bg:#0f172a;--card:#1e293b;--text:#e2e8f0}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.app-body{background:var(--bg);color:var(--text)}
.auth-body{background:linear-gradient(135deg,#1e3a8a,#2563eb 55%,#60a5fa);min-height:100vh}
.auth-card{width:100%;max-width:440px;border-radius:16px}
.auth-logo{width:64px;height:64px;border-radius:16px;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:8px}

.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--brand-dark);color:#cbd5e1;display:flex;flex-direction:column;z-index:1040;transition:transform .25s}
.sidebar-brand{display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;color:#fff;font-weight:600;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.1)}
.sidebar-brand i{font-size:1.4rem}
.sidebar-nav{padding:.75rem;overflow-y:auto;flex:1}
.sidebar-nav a{display:flex;align-items:center;gap:.75rem;padding:.65rem .85rem;color:#cbd5e1;text-decoration:none;border-radius:8px;margin-bottom:2px}
.sidebar-nav a i{width:20px;text-align:center}
.sidebar-nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar-nav a.active{background:var(--brand);color:#fff}
.main{margin-left:var(--sidebar-w);min-height:100vh}
.topbar{position:sticky;top:0;z-index:1030;display:flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:var(--card);border-bottom:1px solid rgba(100,116,139,.2)}
.content{padding:1.25rem}
.avatar-sm{width:30px;height:30px;border-radius:50%;object-fit:cover;background:#e2e8f0}
.card{background:var(--card);border:1px solid rgba(100,116,139,.15);border-radius:12px}

.stat-card{display:flex;align-items:center;gap:.9rem;background:var(--card);border:1px solid rgba(100,116,139,.15);border-radius:12px;padding:1rem;height:100%}
.stat-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex:0 0 46px}
.stat-value{font-size:1.35rem;font-weight:700;line-height:1.2}
.stat-label{font-size:.82rem;color:#64748b}
.chart-box{position:relative;height:260px}
.activity-list{list-style:none;margin:0;padding:0}
.activity-list li{padding:.55rem 0;border-bottom:1px solid rgba(100,116,139,.15)}
.activity-list li:last-child{border-bottom:0}

.sidebar-backdrop{display:none}
@media (max-width:991.98px){
  .sidebar{transform:translateX(-100%)}
  .sidebar.open{transform:none}
  .sidebar-backdrop.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1035}
  .main{margin-left:0}
  .content{padding:.9rem}
}
@media print{.sidebar,.topbar,.btn,.sidebar-backdrop{display:none!important}.main{margin:0}}
