:root{--sidebar-width:250px;--sidebar-collapsed-width:76px}.app-shell-sidebar{min-height:100vh}.app-sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:#101828;color:#d0d5dd;display:flex;flex-direction:column;z-index:60;transition:width .22s ease,transform .22s ease;box-shadow:6px 0 24px rgba(16,24,40,.08)}.sidebar-brand{height:72px;display:flex;align-items:center;gap:11px;padding:0 17px;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden}.sidebar-brand .brand-mark{flex:0 0 38px}.sidebar-brand-copy{min-width:0;white-space:nowrap}.sidebar-brand-copy strong,.sidebar-brand-copy small{display:block}.sidebar-brand-copy small{margin-top:3px;font-size:10px;letter-spacing:.08em;color:#98a2b3}.sidebar-nav{padding:16px 11px;display:grid;gap:5px;overflow-y:auto}.sidebar-link{width:100%;display:flex;align-items:center;gap:12px;min-height:44px;padding:9px 12px;border:0;border-radius:10px;background:transparent;color:#d0d5dd;text-align:left;font-size:14px;font-weight:650;white-space:nowrap;overflow:hidden}.sidebar-link:hover{background:rgba(255,255,255,.07);color:#fff}.sidebar-link.active{background:#175cd3;color:#fff}.sidebar-icon{width:28px;flex:0 0 28px;text-align:center;font-size:18px}.sidebar-label{overflow:hidden;text-overflow:ellipsis}.sidebar-footer{margin-top:auto;padding:12px 11px 18px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-footer form{margin:0}.sidebar-logout{color:#fda29b}.app-main{min-height:100vh;margin-left:var(--sidebar-width);transition:margin-left .22s ease}.app-topbar{height:64px;background:#fff;border-bottom:1px solid #e4e9f1;position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;padding:0 20px}.sidebar-toggle{width:40px;height:40px;border:1px solid #d0d5dd;background:#fff;border-radius:10px;font-size:20px;color:#344054;display:grid;place-items:center}.sidebar-toggle:hover{background:#f8fafc}.topbar-title{min-width:0}.topbar-title strong,.topbar-title small{display:block}.topbar-title strong{font-size:14px}.topbar-title small{font-size:11px;color:#667085;margin-top:2px}.topbar-role{margin-left:auto;background:#f2f4f7;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:800;color:#475467;letter-spacing:.04em}.sidebar-overlay{display:none}.sidebar-collapsed .app-sidebar{width:var(--sidebar-collapsed-width)}.sidebar-collapsed .app-main{margin-left:var(--sidebar-collapsed-width)}.sidebar-collapsed .sidebar-brand{padding:0 19px}.sidebar-collapsed .sidebar-brand-copy,.sidebar-collapsed .sidebar-label{display:none}.sidebar-collapsed .sidebar-link{justify-content:center;padding-left:12px;padding-right:12px}.role-badge.admin_gudang,.role-badge.checker_gudang{background:#eff8ff;color:#175cd3}
@media(max-width:900px){.app-sidebar{width:min(82vw,280px);transform:translateX(-105%)}.app-main{margin-left:0}.sidebar-collapsed .app-main{margin-left:0}.sidebar-collapsed .app-sidebar{width:min(82vw,280px)}.sidebar-collapsed .sidebar-brand-copy,.sidebar-collapsed .sidebar-label{display:block}.sidebar-collapsed .sidebar-link{justify-content:flex-start}.sidebar-open .app-sidebar{transform:translateX(0)}.sidebar-overlay{display:block;position:fixed;inset:0;border:0;background:rgba(16,24,40,.42);z-index:50;opacity:0;pointer-events:none;transition:opacity .2s}.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}.app-topbar{height:58px;padding:0 12px}.topbar-role{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
.app-main .page-wrap{width:min(1180px,calc(100% - 32px))}
