:root{--brand:#e2264d;--side:#1d2433;--side-2:#262f42;--bg:#f4f6fb}
body{background:var(--bg);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:.92rem;color:#1f2633}
.app{display:flex;min-height:100vh}
.sidebar{width:240px;background:var(--side);color:#c9d1e1;position:fixed;top:0;bottom:0;left:0;display:flex;flex-direction:column;z-index:1040;transition:transform .2s}
.sb-brand{display:flex;align-items:center;gap:.6rem;padding:1rem 1.1rem;color:#fff;text-decoration:none;font-weight:700;border-bottom:1px solid rgba(255,255,255,.06)}
.sb-brand img{max-height:32px;max-width:40px;border-radius:6px;background:#fff}
.sb-nav{flex:1;overflow-y:auto;padding:.5rem 0}
.sb-link{display:flex;align-items:center;gap:.7rem;padding:.6rem 1.1rem;color:#c9d1e1;text-decoration:none;border-left:3px solid transparent}
.sb-link:hover{background:var(--side-2);color:#fff}
.sb-link.active{background:var(--side-2);color:#fff;border-left-color:var(--brand)}
.sb-link .chev{font-size:.7rem;transition:transform .2s}
.sb-link.collapsed .chev{transform:rotate(-90deg)}
.sb-sub{display:block;padding:.42rem 1rem .42rem 3rem;color:#9aa5bb;text-decoration:none;font-size:.86rem}
.sb-sub:hover{color:#fff}
.sb-sub.active{color:#fff;background:rgba(255,255,255,.05);box-shadow:inset 3px 0 var(--brand)}
.sb-foot{padding:.7rem 1.1rem;color:#6e7891;border-top:1px solid rgba(255,255,255,.06)}
.main{flex:1;margin-left:240px;min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:1030;background:#fff;border-bottom:1px solid #e6e9f0;display:flex;align-items:center;padding:.6rem 1.2rem;gap:.5rem}
.content{padding:1.2rem}
@media(max-width:991px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:none;box-shadow:0 0 40px rgba(0,0,0,.4)}.main{margin-left:0}.content{padding:.8rem}}
.brand-mark{width:44px;height:44px;border-radius:12px;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem}
.brand-mark.sm{width:30px;height:30px;font-size:1rem;border-radius:8px;flex:none}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-brand:hover,.btn-brand:focus{background:color-mix(in srgb,var(--brand) 85%,#000);border-color:color-mix(in srgb,var(--brand) 85%,#000);color:#fff}
.text-brand{color:var(--brand)!important}
.login-bg{background:linear-gradient(135deg,#1d2433 0%,#3a2440 55%,var(--brand) 100%);min-height:100vh}
.card{border:1px solid #e6e9f0;border-radius:.8rem;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.card-header{background:#fff;border-bottom:1px solid #eef0f5;font-weight:600}
.stat{padding:1rem 1.1rem;border-radius:.8rem;background:#fff;border:1px solid #e6e9f0;height:100%;position:relative;overflow:hidden}
.stat .lbl{font-size:.78rem;color:#6b7385;text-transform:uppercase;letter-spacing:.03em;font-weight:600}
.stat .val{font-size:1.35rem;font-weight:700;margin-top:.2rem}
.stat .ico{position:absolute;right:.9rem;top:.9rem;font-size:1.4rem;opacity:.25}
.stat.green{border-left:4px solid #18a058}.stat.red{border-left:4px solid #e2264d}.stat.blue{border-left:4px solid #2f6fed}.stat.amber{border-left:4px solid #f0a020}.stat.purple{border-left:4px solid #7a4cf0}.stat.teal{border-left:4px solid #13a8a8}
.table{--bs-table-bg:transparent}
.table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:#6b7385;background:#f7f8fb;font-weight:600;white-space:nowrap}
.table td{vertical-align:middle}
.table-hover tbody tr{cursor:default}
.inv-table input,.inv-table select{min-width:60px}
.inv-table td{padding:.25rem}
.inv-table .form-control,.inv-table .form-select{padding:.3rem .45rem;font-size:.88rem}
.totals-box{background:#f7f8fb;border-radius:.6rem;padding:1rem}
.totals-box .row>div{padding-top:.2rem;padding-bottom:.2rem}
.grand{font-size:1.25rem;font-weight:700}
.ac-list{position:absolute;z-index:1060;background:#fff;border:1px solid #dfe3eb;border-radius:.4rem;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:260px;overflow:auto;min-width:320px}
.ac-list div{padding:.4rem .6rem;cursor:pointer;display:flex;justify-content:space-between;gap:1rem;font-size:.86rem}
.ac-list div:hover,.ac-list div.on{background:#f1f4fa}
.ac-list small{color:#6b7385}
.report-nav .list-group-item{border:0;border-radius:.4rem!important;padding:.45rem .7rem;font-size:.87rem}
.report-nav .list-group-item.active{background:var(--brand);color:#fff}
.filter-bar .form-control,.filter-bar .form-select{min-width:130px}
.badge{font-weight:600}
.empty{padding:3rem 1rem;text-align:center;color:#8a93a6}
.empty i{font-size:2.4rem;display:block;margin-bottom:.4rem}
@media print{.sidebar,.topbar,.no-print,.filter-bar{display:none!important}.main{margin:0}.content{padding:0}body{background:#fff}.card{border:0;box-shadow:none}}
.inv-jw{table-layout:fixed;min-width:1180px}.inv-jw .form-control,.inv-jw .form-select{min-width:0;padding-left:.35rem;padding-right:.35rem}.inv-jw .form-select{padding-right:1.4rem;background-position:right .3rem center}
