:root{--brand:#2563eb;--brand-dark:#1d4ed8;--navy:#0f172a;--muted:#64748b;--surface:#fff;--bg:#f8fafc;--border:#e2e8f0;--success:#16a34a;--danger:#dc2626}
html,body{background:var(--bg);color:#1e293b;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{letter-spacing:.01em}
#wrapper{min-height:100vh}
.sidebar{background:linear-gradient(180deg,#0f172a 0%,#172554 100%)!important;box-shadow:4px 0 24px rgba(15,23,42,.08);padding-top:.5rem}
.sidebar .sidebar-brand{height:76px;text-decoration:none}
.sidebar .sidebar-brand-text{font-weight:800;letter-spacing:.04em;font-size:.9rem}
.sidebar .nav-item .nav-link{margin:.18rem .65rem;border-radius:.65rem;padding:.78rem .9rem;color:#cbd5e1;font-weight:600;transition:.2s ease}
.sidebar .nav-item .nav-link:hover,.sidebar .nav-item.active .nav-link{background:rgba(255,255,255,.1);color:#fff}
.sidebar .nav-item .nav-link i{width:1.5rem;text-align:center;margin-right:.35rem}
.topbar{height:76px!important;border-bottom:1px solid var(--border);box-shadow:0 2px 14px rgba(15,23,42,.04)!important}
.topbar .nav-link{color:#334155!important}
.container-fluid{padding:1.75rem 2rem}
.card{border:1px solid var(--border)!important;border-radius:1rem!important;box-shadow:0 8px 30px rgba(15,23,42,.05)!important;overflow:hidden}
.card-header{background:#fff!important;border-bottom:1px solid var(--border)!important;font-weight:700;color:#0f172a;padding:1rem 1.25rem}
.card-footer{background:#fff!important;border-top:1px solid var(--border)!important}
.table{margin-bottom:0}
.table thead th{background:#f8fafc;border-bottom:1px solid var(--border);color:#475569;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.table td{vertical-align:middle;border-color:#eef2f7}
.btn{border-radius:.55rem;font-weight:600}
.btn-primary{background:var(--brand);border-color:var(--brand)}
.btn-primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.form-control,.custom-select{border:1px solid #cbd5e1;border-radius:.55rem;min-height:42px}
.form-control:focus,.custom-select:focus{border-color:#93c5fd;box-shadow:0 0 0 .2rem rgba(37,99,235,.12)}
.border-left-primary{border-left:4px solid var(--brand)!important}
.border-left-success{border-left:4px solid var(--success)!important}
.border-left-info{border-left:4px solid #0891b2!important}
.text-xs{letter-spacing:.08em}
.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:700;color:#0f172a}
.login-page{min-height:100vh;background:radial-gradient(circle at top left,#dbeafe 0,#f8fafc 45%,#eef2ff 100%)}
.login-nav{background:rgba(15,23,42,.96)!important;box-shadow:0 4px 20px rgba(15,23,42,.12)}
.login-card{border:0!important;border-radius:1.25rem!important;box-shadow:0 20px 60px rgba(15,23,42,.12)!important}
.login-image{min-height:520px;object-fit:cover}
.login-panel{min-height:520px;display:flex;align-items:center}
.login-panel .form-control{min-height:48px}
.login-title{font-size:1.65rem;font-weight:800}
.app-footer{background:#0f172a!important;border:0!important;color:#cbd5e1;padding:.9rem 1.5rem!important}
.app-footer label{color:#cbd5e1!important;margin:0}
.badge{border-radius:.45rem;padding:.45em .65em}
@media(max-width:767.98px){.container-fluid{padding:1rem}.topbar{height:64px!important}.login-image{min-height:260px}.login-panel{min-height:auto}.sidebar .nav-item .nav-link{margin-left:.35rem;margin-right:.35rem}}
