#mobileSidebar{--bs-offcanvas-width:300px}
.sidebar{height:100vh;max-height:100vh;overflow:hidden;transition:transform .25s ease}.sidebar-menu-scroll{width:100%;flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 8px 14px 0;overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:#aeb3c2 #f4f5f8;touch-action:pan-y}.sidebar-menu-scroll .nav{width:100%;min-width:0;padding-bottom:8px}.sidebar-menu-scroll .nav-link{width:100%;min-width:0;flex:0 0 auto;white-space:normal}.sidebar-menu-scroll .nav-link i{flex:0 0 auto}.sidebar-menu-scroll .nav-link span{display:block;min-width:0;overflow-wrap:anywhere}.sidebar-menu-scroll::-webkit-scrollbar{width:8px}.sidebar-menu-scroll::-webkit-scrollbar-thumb{background:#aeb3c2;border:2px solid #f4f5f8;border-radius:10px}.sidebar-menu-scroll::-webkit-scrollbar-track{background:#f4f5f8;border-radius:10px}.sidebar-menu-scroll:focus-visible{outline:2px solid rgba(98,102,241,.35);outline-offset:3px;border-radius:10px}
.sidebar .brand{flex-shrink:0;border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:10px}.sidebar .sidebar-footer{flex:0 0 auto;margin-top:12px}.main{display:flex;flex-direction:column;transition:margin-left .25s ease}.content{width:100%;flex:1 0 auto}.app-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 30px;padding:18px 0 22px;border-top:1px solid var(--border);color:var(--muted);font-size:.74rem}.app-footer strong{color:var(--ink);font-weight:700}.sidebar-collapsed .sidebar{transform:translateX(-100%)}.sidebar-collapsed .main{margin-left:0}
.brand-mark{overflow:hidden;flex:0 0 40px;box-shadow:none!important}
.brand-logo{width:100%;height:100%;object-fit:contain;background:#fff;padding:3px}
.notification-count{position:absolute;right:0;top:-3px;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:#ef4444;color:#fff;border:2px solid #fff;display:grid;place-items:center;font-size:.6rem;font-weight:800;line-height:1}
.settings-logo-preview{width:72px;height:72px;flex:0 0 72px;border:1px solid var(--border);border-radius:16px;background:#f8f9fc;display:grid;place-items:center;overflow:hidden;color:var(--primary);font-size:1.8rem}
.settings-logo-preview img{width:100%;height:100%;object-fit:contain;padding:5px}
.announcement-preview{max-width:320px;max-height:3.7em;overflow:hidden;line-height:1.25;color:var(--muted)}
.chart-wrap{position:relative;min-height:280px}
.login-list{max-height:560px;overflow-y:auto}
.login-entry{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--border)}
.login-entry:last-child{border-bottom:0}
.login-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:#eef2ff;color:var(--primary)}
.login-entry strong,.login-entry small{display:block}.login-entry small{font-size:.7rem;color:var(--muted)}
.transaction-detail .icon{width:48px;height:48px;border-radius:14px;place-items:center;background:#eef2ff;color:var(--primary);font-size:1.25rem}
#mobileSidebar .offcanvas-header{border-bottom:1px solid var(--border);padding:16px 18px}#mobileSidebar .offcanvas-header .brand{min-width:0;padding:0}#mobileSidebar .offcanvas-header .brand>span:last-child{min-width:0}
@media(max-width:991.98px){.app-footer{margin:0 20px}}@media(max-width:575.98px){#mobileSidebar{--bs-offcanvas-width:min(300px,86vw)}.offcanvas .brand{font-size:.95rem}.offcanvas .brand small{max-width:185px;white-space:normal}.transaction-detail{font-size:.9rem}.app-footer{align-items:flex-start;flex-direction:column;gap:5px;padding-bottom:18px}}@media print{.app-footer{display:none!important}}
