:root{--sidebar-width:260px;--brand:#2563eb;--bg:#f5f7fb;--text:#1f2937}.auth-body{background:linear-gradient(135deg,#eff6ff,#f8fafc);min-height:100vh}.login-card{max-width:980px}.login-visual{min-height:520px;background:linear-gradient(145deg,#1d4ed8,#0f766e);position:relative}.app-shell{min-height:100vh;background:var(--bg)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:#0f172a;color:#fff;z-index:1040;overflow-y:auto;transition:.25s}.brand{height:72px;display:flex;align-items:center;gap:12px;padding:0 24px;font-size:1.35rem;font-weight:800;border-bottom:1px solid rgba(255,255,255,.08)}.brand i{color:#60a5fa}.sidebar .nav-link{color:#cbd5e1;border-radius:10px;margin:2px 6px;padding:11px 14px;display:flex;gap:12px;align-items:center}.sidebar .nav-link:hover,.sidebar .nav-link.active{background:rgba(59,130,246,.18);color:#fff}.nav-caption{font-size:.7rem;letter-spacing:.12em;color:#64748b;font-weight:700;padding:22px 20px 8px}.main-content{margin-left:var(--sidebar-width);min-height:100vh}.topbar{height:72px;background:#fff;display:flex;align-items:center;gap:16px;padding:0 24px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:1030}.page-title{font-size:1.2rem;font-weight:700}.content-area{padding:24px}.stat-card{background:#fff;border-radius:16px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 5px 20px rgba(15,23,42,.05);height:100%}.stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.4rem}.stat-value{font-size:1.6rem;font-weight:800}.card{border-radius:16px}.btn,.form-control,.form-select,.input-group-text{border-radius:10px}@media(max-width:991.98px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main-content{margin-left:0}.content-area{padding:16px}}

.sidebar-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:1035}
.sidebar-backdrop.show{display:block}
.table>thead th{white-space:nowrap;font-size:.8rem;text-transform:uppercase;letter-spacing:.035em;color:#64748b}
.form-label{font-weight:600;color:#374151}
.permission-group label{cursor:pointer;transition:.18s}
.permission-group label:hover{background:#f8fafc;border-color:#93c5fd!important}
.dataTables_wrapper .dt-search input,.dataTables_wrapper .dt-length select{border-radius:10px}
@media(max-width:991.98px){.sidebar-backdrop.show{display:block}.topbar{padding:0 16px}.page-title{font-size:1rem}}
