body{background:#f5f7fb;color:#1f2937;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.sidebar{width:255px;min-height:100vh;background:#10233f;color:#fff;position:sticky;top:0}.brand{display:flex;gap:10px;align-items:center;font-size:18px}.brand i{font-size:28px}.brand small,.user-mini small{display:block;color:#aebbd0;font-size:11px}.nav-label{font-size:10px;color:#8fa2bf;letter-spacing:1px;margin:18px 8px 4px}.nav-link{color:#dbe6f5;border-radius:9px;padding:10px 12px}.nav-link:hover,.nav-link.active{background:#1f4b7a;color:#fff}.nav-link i{width:24px}.sidebar-bottom{position:absolute;bottom:18px;left:16px;right:16px}.user-mini{display:flex;gap:9px;align-items:center;font-size:13px}.user-mini i{font-size:25px}.content{min-width:0}.topbar{height:82px;background:#fff;border-bottom:1px solid #e6eaf0;padding:18px 28px;display:flex;justify-content:space-between;align-items:center}.topbar h4{font-weight:700}.date-now{color:#6b7280}.card{border:0;border-radius:14px;box-shadow:0 4px 18px rgba(20,35,60,.05)}.stat{padding:20px}.stat .icon{width:44px;height:44px;border-radius:12px;background:#edf5ff;display:grid;place-items:center;font-size:21px;color:#2563eb}.stat h3{margin:8px 0 0;font-weight:800}.table>thead th{font-size:12px;color:#64748b;text-transform:uppercase;background:#f8fafc}.badge-soft{background:#eef2ff;color:#334155}.progress{height:9px}.login-wrap{min-height:100vh;background:#eef3f9;display:grid;place-items:center}.login-card{width:min(430px,92vw);padding:32px;border-radius:18px}.brand-login{color:#10233f}.form-control,.form-select{padding:10px 12px;border-radius:9px}.btn{border-radius:9px}.filter-bar{background:#fff;border-radius:14px;padding:15px;box-shadow:0 4px 18px rgba(20,35,60,.05)}.sidebar{min-height:100vh;height:100vh;position:sticky;top:0;overflow-y:auto}.sidebar-bottom{position:sticky;margin-top:24px;top:auto;bottom:auto}.nav-label{margin-top:15px}.nav-link{display:flex;align-items:center}

/* Branding RT 04 / RW 06 */
.brand{display:block;text-align:center;padding:4px 4px 10px}.sidebar-logo{width:145px;height:145px;object-fit:contain;display:block;margin:0 auto 10px}.brand-text b{display:block;font-size:18px}.brand-text small{display:block}.topbar-brand{display:flex;align-items:center;gap:12px}.header-logo{width:48px;height:48px;object-fit:contain;border-radius:50%}.topbar-name{font-size:13px;color:#64748b;font-weight:600;line-height:1.1;margin-bottom:2px}
@media(max-width:768px){.sidebar{width:220px}.sidebar-logo{width:110px;height:110px}.header-logo{width:42px;height:42px}.topbar{padding:14px 16px}}


/* Mobile responsive navigation */
.app-shell{min-height:100vh}
.mobile-menu-btn{display:none;border:0;background:#10233f;color:#fff;width:42px;height:42px;border-radius:10px;font-size:23px;align-items:center;justify-content:center;flex:0 0 auto}
.sidebar-overlay{display:none}
@media (max-width: 991.98px){
  body{overflow-x:hidden}
  .app-shell{display:block!important;min-height:100vh}
  .sidebar{position:fixed!important;left:0;top:0;bottom:0;width:270px!important;height:100vh!important;min-height:100vh!important;z-index:1050;transform:translateX(-105%);transition:transform .25s ease;overflow-y:auto;box-shadow:8px 0 30px rgba(0,0,0,.18);background:#10233f!important}
  .sidebar.sidebar-open{transform:translateX(0)}
  .sidebar-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:1040}
  .sidebar-overlay.show{display:block}
  .content{width:100%;min-width:0;margin:0!important}
  .mobile-menu-btn{display:inline-flex}
  .topbar{height:72px;padding:12px 14px;gap:10px;justify-content:flex-start}
  .topbar-brand{min-width:0;flex:1}
  .header-logo{width:40px;height:40px;flex:0 0 40px}
  .topbar-name{font-size:11px}
  .topbar h4{font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .date-now{font-size:11px;white-space:nowrap}
  .container-fluid{padding:16px!important}
}
@media (max-width: 575.98px){
  .sidebar{width:280px!important}
  .topbar{padding:10px 12px}
  .date-now{display:none}
  .container-fluid{padding:12px!important}
  .card{border-radius:14px}
  .stat{padding:18px}
  .row{--bs-gutter-x:12px;--bs-gutter-y:12px}
  .topbar-brand{gap:8px}
  .header-logo{width:38px;height:38px;flex-basis:38px}
}


/* RW06 FINAL MOBILE OVERRIDES 2026-09-14 */
@media (max-width: 991.98px){
html,body{width:100%!important;min-width:0!important;overflow-x:hidden!important}
.app-shell{display:block!important;width:100%!important;min-width:0!important}
.sidebar{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:280px!important;height:100vh!important;min-height:100vh!important;z-index:2000!important;transform:translateX(-110%)!important}
.sidebar.sidebar-open{transform:translateX(0)!important}
.sidebar-overlay{display:none!important;position:fixed!important;inset:0!important;z-index:1990!important}
.sidebar-overlay.show{display:block!important}
.content{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
.mobile-menu-btn{display:inline-flex!important;visibility:visible!important;opacity:1!important}
.topbar{width:100%!important;box-sizing:border-box!important}
.container-fluid{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
}
