:root{
    --sidebar:#101828;
    --sidebar-2:#172033;
    --primary:#2563eb;
    --success:#16a34a;
    --warning:#f59e0b;
    --danger:#ef4444;
    --surface:#f5f7fb;
    --text:#111827;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--surface);color:var(--text)}
.app-shell{min-height:100vh;display:flex}
.sidebar{width:270px;background:linear-gradient(180deg,var(--sidebar),var(--sidebar-2));color:#fff;position:fixed;left:0;top:0;bottom:0;padding:18px;z-index:1020}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:800;font-size:18px;margin-bottom:22px;padding:8px 10px}
.brand-icon{width:42px;height:42px;border-radius:14px;background:#2563eb;display:grid;place-items:center;box-shadow:0 12px 30px rgba(37,99,235,.35)}
.sidebar-menu{display:flex;flex-direction:column;gap:5px}
.sidebar-link,.mobile-link{display:flex;align-items:center;gap:12px;text-decoration:none;border-radius:12px;padding:11px 13px;color:#cbd5e1;font-weight:600;font-size:14px}
.sidebar-link:hover,.sidebar-link.active{background:rgba(255,255,255,.10);color:#fff}
.sidebar-link.logout:hover{background:rgba(239,68,68,.15);color:#fecaca}
.mobile-link{color:#334155}.mobile-link.active{background:#eff6ff;color:#2563eb}.mobile-link:hover{background:#f1f5f9;color:#111827}
.main-content{margin-left:270px;min-height:100vh;width:calc(100% - 270px)}
.topbar{height:72px}.top-search{position:relative;max-width:620px;width:100%}.top-search i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#94a3b8}.top-search input{padding-left:42px;border-radius:999px;background:#f8fafc;border-color:#e2e8f0}
.page-title{font-weight:800;letter-spacing:-.03em}.page-subtitle{color:#64748b}
.card{border:0;border-radius:18px;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-34px;top:-34px;width:110px;height:110px;border-radius:50%;background:rgba(37,99,235,.12)}
.stat-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:23px;background:#eff6ff;color:#2563eb}
.stat-title{font-size:13px;color:#64748b;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.stat-value{font-weight:800;font-size:26px;letter-spacing:-.03em}
.table{vertical-align:middle}.table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0}.table td{font-size:14px}.badge-soft{border-radius:999px;padding:.45rem .7rem;font-weight:700}
.badge-active{background:#dcfce7;color:#166534}.badge-pending{background:#fef3c7;color:#92400e}.badge-inactive{background:#fee2e2;color:#991b1b}.badge-default{background:#e0f2fe;color:#075985}
.form-control,.form-select{border-radius:12px;border-color:#dbe3ef;padding:.68rem .9rem}.form-control:focus,.form-select:focus{box-shadow:0 0 0 .2rem rgba(37,99,235,.12);border-color:#2563eb}
.btn{border-radius:12px;font-weight:700}.btn-sm{border-radius:10px}.filter-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 12px 28px rgba(15,23,42,.06)}
.ledger-box{border:1px solid #e2e8f0;border-radius:18px;background:#fff;padding:22px}.print-only{display:none}
@media(max-width:991.98px){.main-content{margin-left:0;width:100%}.topbar{height:auto;padding:.75rem 0}.top-search{max-width:100%}.page-wrap{padding-left:14px!important;padding-right:14px!important}}
@media print{.sidebar,.topbar,.no-print,.btn,.filter-card{display:none!important}.main-content{margin-left:0;width:100%}.card,.ledger-box{box-shadow:none;border:1px solid #ddd}.page-wrap{padding:0!important}.print-only{display:block}.table{font-size:12px}body{background:#fff}}
