.nav-drawer-backdrop { display: none; position: fixed; inset: 0; background: rgba(0,0,0,0.4); z-index: 1200; opacity: 0; transition: opacity 0.25s; } .nav-drawer-backdrop.open { display: block; opacity: 1; } .nav-drawer { position: fixed; top: 0; left: 0; bottom: 0; width: 260px; background: var(--surface); border-right: 1px solid var(--border); z-index: 1300; transform: translateX(-100%); transition: transform 0.25s cubic-bezier(0.4,0,0.2,1); display: flex; flex-direction: column; padding: 20px 12px; overflow-y: auto; box-shadow: 4px 0 24px rgba(0,0,0,0.12); } .nav-drawer.open { transform: translateX(0); } .nav-drawer-section-label { font-size: 11px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; color: var(--text-tertiary); padding: 4px 12px 8px; margin-top: 8px; } .nav-drawer-section-label:first-child { margin-top: 0; } .nav-drawer-section-label.admin { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--border); } .nav-drawer-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border-radius: 8px; border: none; background: transparent; color: var(--text-primary); font-size: 14px; font-weight: 500; cursor: pointer; text-align: left; transition: background var(--transition); } .nav-drawer-item:hover:not(.disabled) { background: var(--background); } .nav-drawer-item.disabled { opacity: 0.45; cursor: default; } .nav-drawer-badge { margin-left: auto; font-size: 10px; font-weight: 600; background: var(--surface-variant); color: var(--text-tertiary); border-radius: 20px; padding: 2px 7px; } .nav-drawer-item.active { background: var(--primary-light); color: var(--primary); } .nav-drawer-item.active:hover { background: var(--primary-light); }