:root{--tb-dark:#14161a;--tb-accent:#f2b705;--tb-side:250px}
body{background:#f4f5f7;font-size:.9rem}
.sidebar{width:var(--tb-side);min-height:100vh;background:var(--tb-dark);color:#cfd3da;position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto;flex-shrink:0}
.sidebar .brand{font-weight:700;font-size:1.05rem;color:#fff;padding:1rem 1.1rem;letter-spacing:.5px;border-bottom:1px solid #262a31}
.sidebar .brand i{color:var(--tb-accent)}
.sidebar .nav-section{font-size:.68rem;letter-spacing:1px;color:#7c8490;padding:.9rem 1.1rem .3rem;font-weight:600}
.sidebar .nav-link{color:#cfd3da;padding:.38rem 1.1rem;font-size:.86rem;border-left:3px solid transparent}
.sidebar .nav-link i{width:1.3rem;display:inline-block}
.sidebar .nav-link:hover{background:#1f2228;color:#fff}
.sidebar .nav-link.active{background:#23272e;color:#fff;border-left-color:var(--tb-accent)}
.main{min-width:0}
.topbar{background:#fff;border-bottom:1px solid #e3e5e8;padding:.65rem 1.25rem;position:sticky;top:0;z-index:10}
.card{border:1px solid #e5e7ea;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.card-header{background:#fff;font-weight:600}
.stat .fs-5{font-variant-numeric:tabular-nums}
.table{font-size:.84rem}
.table td,.table th{vertical-align:middle}
.table thead th{background:#f8f9fa;font-weight:600;white-space:nowrap;font-size:.78rem;text-transform:uppercase;letter-spacing:.3px;color:#555}
.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.table-sm td,.table-sm th{padding:.35rem .5rem}
.size-grid input{width:64px;text-align:center}
.login-bg{background:linear-gradient(135deg,#14161a 0%,#2b2f36 100%)}
.text-pos{color:#198754}.text-neg{color:#dc3545}
.pnl td{padding:.35rem .6rem}.pnl .sub td{color:#555}.pnl .sub td:first-child{padding-left:1.6rem}.pnl .tot td{font-weight:700;border-top:2px solid #333}
.chip{display:inline-block;padding:.1rem .45rem;border-radius:1rem;background:#eef0f3;font-size:.75rem}
@media (max-width:991px){.sidebar{position:fixed;left:-260px;z-index:1050;transition:left .2s}.sidebar.open{left:0}}
@media print{.sidebar,.topbar{display:none!important}body{background:#fff}.card{border:0;box-shadow:none}}
.stat .fs-5{font-size:1.12rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
