:root{--bs-ink:#0f172a;--bs-muted:#64748b;--bs-panel:#fff;--bs-line:#e2e8f0;--bs-accent:#0f766e;--bs-accent-2:#115e59;--bs-sidebar:#0b1220;--bs-sidebar-2:#111827;--bs-gold:#c4a35a}
html{font-size:15px}body{margin:0;color:var(--bs-ink);background:#f3f5f8;font-family:Segoe UI,system-ui,sans-serif}
.auth-body{min-height:100vh;background:radial-gradient(circle at top right,rgba(196,163,90,.25),transparent 40%),linear-gradient(145deg,#0b1220 0%,#134e4a 45%,#0f172a 100%)}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}
.auth-card{width:100%;max-width:440px;background:rgba(255,255,255,.96);border-radius:1.25rem;padding:2rem;box-shadow:0 24px 60px rgba(0,0,0,.28)}
.auth-brand{display:flex;gap:1rem;align-items:center;margin-bottom:1.75rem}
.auth-logo,.brand-mark{width:3rem;height:3rem;border-radius:.9rem;display:grid;place-items:center;font-weight:700;color:#0b1220;background:linear-gradient(135deg,#f8e7b3,var(--bs-gold))}
.auth-brand h1{font-size:1.35rem;margin:0}.auth-brand p,.auth-hint{margin:0;color:var(--bs-muted)}.auth-hint{margin-top:1.25rem;text-align:center}
.auth-form .btn-primary{border:0;border-radius:.75rem;background:linear-gradient(135deg,var(--bs-accent),var(--bs-accent-2))}
.app-body{background:#eef2f6}.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
.app-sidebar{background:linear-gradient(180deg,var(--bs-sidebar),var(--bs-sidebar-2));color:#e2e8f0;padding:1.25rem 1rem}
.sidebar-brand{display:flex;gap:.85rem;align-items:center;margin-bottom:1.5rem;padding:.5rem}
.sidebar-brand strong{display:block;line-height:1.1}.sidebar-brand small{color:#94a3b8}
.sidebar-nav{display:flex;flex-direction:column;gap:.25rem}
.sidebar-nav .nav-link{color:#cbd5e1;border-radius:.65rem;padding:.65rem .85rem}
.sidebar-nav .nav-link:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-section{margin-top:1rem;margin-bottom:.35rem;padding-left:.85rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.app-main{display:flex;flex-direction:column;min-width:0}
.app-topbar{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:rgba(15,23,42,.92);color:#fff}
.topbar-title{font-weight:600}.topbar-actions{display:flex;gap:.75rem;align-items:center}
.user-chip{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:.35rem .8rem;font-size:.85rem}
.app-content{padding:1.5rem;flex:1}.app-footer{padding:.85rem 1.5rem;color:var(--bs-muted);border-top:1px solid var(--bs-line);background:#fff}
.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}
.page-title{margin:0;font-size:1.6rem;font-weight:700}.page-subtitle{margin:.25rem 0 0;color:var(--bs-muted)}
.stat-card{background:var(--bs-panel);border:1px solid var(--bs-line);border-radius:1rem;padding:1rem 1.1rem;box-shadow:0 8px 24px rgba(15,23,42,.04);display:flex;flex-direction:column;gap:.35rem}
.stat-card span{color:var(--bs-muted);font-size:.85rem}.stat-card strong{font-size:1.5rem;line-height:1}
.panel-card{border:1px solid var(--bs-line);border-radius:1rem;overflow:hidden;box-shadow:0 10px 28px rgba(15,23,42,.04)}
.panel-card .card-header{background:#f8fafc;border-bottom:1px solid var(--bs-line);font-weight:600}
.btn-primary{--bs-btn-bg:var(--bs-accent);--bs-btn-border-color:var(--bs-accent);--bs-btn-hover-bg:var(--bs-accent-2);--bs-btn-hover-border-color:var(--bs-accent-2)}
.table>:not(caption)>*]*{padding:.85rem 1rem}
@media (max-width:991px){.app-shell{grid-template-columns:1fr}.sidebar-nav{flex-direction:row;flex-wrap:wrap}}