:root{
  --brand:#2f5cf0;
  --brand-dark:#1e3fb0;
  --bg:#f4f6fb;
}
body{ background:var(--bg); font-family:'Segoe UI',system-ui,-apple-system,sans-serif; }

.top-navbar{ background:linear-gradient(90deg,var(--brand),var(--brand-dark)); }

.app-wrapper{ display:flex; min-height:calc(100vh - 56px); }
.app-sidebar{
  width:250px; background:#fff; border-right:1px solid #e6e9f2;
  flex-shrink:0; position:sticky; top:56px; height:calc(100vh - 56px); overflow-y:auto;
}
.app-content{ flex:1; min-width:0; }

.app-sidebar .nav-link{ color:#333; padding:.55rem 1rem; border-radius:.4rem; margin:.1rem .5rem; font-size:.92rem; }
.app-sidebar .nav-link i{ width:20px; display:inline-block; }
.app-sidebar .nav-link.active, .app-sidebar .nav-link:hover{ background:var(--brand); color:#fff; }
.app-sidebar .nav-heading{ font-size:.72rem; text-transform:uppercase; color:#9aa1b5; font-weight:700; margin:.9rem 1rem .2rem; }

.login-wrapper{ min-height:100vh; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg,var(--brand),#7b3ff2); }
.login-card{ max-width:420px; width:100%; border:none; border-radius:1rem; box-shadow:0 20px 60px rgba(0,0,0,.25); }

.stat-card{ border:none; border-radius:.9rem; color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.08); }
.stat-card .stat-icon{ font-size:2.2rem; opacity:.85; }
.bg-grad-blue{ background:linear-gradient(135deg,#2f5cf0,#1e3fb0); }
.bg-grad-green{ background:linear-gradient(135deg,#17c78b,#0d9c6b); }
.bg-grad-orange{ background:linear-gradient(135deg,#ff9f43,#e6800f); }
.bg-grad-red{ background:linear-gradient(135deg,#ff5b5b,#d43a3a); }
.bg-grad-purple{ background:linear-gradient(135deg,#8a5bff,#5f2fd6); }

.card{ border:none; border-radius:.9rem; box-shadow:0 3px 12px rgba(20,30,60,.06); }
.table thead th{ background:#f0f3fa; font-size:.82rem; text-transform:uppercase; color:#5c6480; border-bottom:none; }
.badge-status-active{ background:#17c78b; }
.badge-status-inactive{ background:#adb5bd; }

@media (max-width: 991px){
  .app-sidebar{ position:fixed; left:-260px; top:56px; z-index:1030; transition:.25s; box-shadow:0 0 30px rgba(0,0,0,.15);}
  .app-sidebar.show{ left:0; }
}
