:root{--blue:#2563eb;--bg:#f5f7fb;--border:#e5e7eb;--dark:#111827}
body{background:var(--bg);color:#172033;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.auth-page{background:radial-gradient(circle at top left,#dbeafe,transparent 35rem),var(--bg)}
.min-vh-75{min-height:75vh}.logo,.brand span{display:grid;place-items:center;background:var(--blue);
color:#fff;font-weight:800;border-radius:.8rem}.logo{width:3.25rem;height:3.25rem}
.app-shell{min-height:100vh}.sidebar{--bs-offcanvas-width:17rem;width:17rem;background:var(--dark);color:#fff}
.brand{height:4.5rem;display:flex;align-items:center;gap:.75rem;padding:0 1.2rem;font-weight:700;
border-bottom:1px solid #ffffff15}.brand span{width:2rem;height:2rem}
.sidebar nav{padding:1rem}.sidebar nav a,.sidebar nav i{display:block;padding:.65rem .75rem;
margin:.15rem 0;border-radius:.6rem;color:#cbd5e1;font-style:normal}
.sidebar nav a.active{background:#ffffff18;color:#fff}.sidebar nav i{opacity:.5}
.sidebar nav small{display:block;color:#94a3b8;margin:1.4rem .75rem .4rem;font-size:.65rem}
.topbar{height:4.5rem;display:flex;align-items:center;padding:0 1.5rem;background:#fff;
border-bottom:1px solid var(--border)}.user-menu{display:flex;align-items:center;gap:.6rem;
background:none;border:0}.user-menu b{display:grid;place-items:center;width:2rem;height:2rem;
border-radius:50%;background:#dbeafe;color:#1d4ed8}.content{padding:2rem}
.page-header{display:flex;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}
.page-header small{color:var(--blue);font-weight:700}.page-header h1{margin:.2rem 0;font-weight:750}
.page-header p{color:#667085}.metric,.panel{background:#fff;border:1px solid var(--border);
border-radius:.9rem;box-shadow:0 8px 30px #0f172a0d}.metric{padding:1.25rem}
.metric span,.metric small{display:block;color:#667085}.metric strong{display:block;font-size:2rem}
.panel{padding:1.5rem}.form-control,.btn{border-radius:.65rem}
@media(min-width:992px){.app-shell{display:grid;grid-template-columns:17rem 1fr}
.sidebar{position:sticky;top:0;height:100vh;visibility:visible!important;transform:none!important}}
