/* ── Overlay Backdrop ─────────────────────────────────────── */ .nav-panel__overlay { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.45); opacity: 0; pointer-events: none; transition: opacity 0.3s ease; z-index: 900; } .nav-panel__overlay--visible { opacity: 1; pointer-events: auto; } /* ── Slide-out Panel ─────────────────────────────────────── */ .nav-panel { position: fixed; top: 0; left: 0; width: 260px; height: 100%; background-color: var(--color-bg-elevated); border-right: 1px solid var(--color-border); transform: translateX(-100%); transition: transform 0.3s ease; z-index: 950; display: flex; flex-direction: column; padding: 1.5rem 0; } .nav-panel--open { transform: translateX(0); } /* ── Nav Links ───────────────────────────────────────────── */ .nav-panel__nav { display: flex; flex-direction: column; flex: 1; } .nav-panel__link { padding: 0.9rem 1.5rem; text-decoration: none; font-size: 1.3rem; font-weight: 200; color: var(--color-text-subtle); border-left: 3px solid transparent; transition: background-color 0.15s ease, color 0.15s ease; } .nav-panel__link--active { font-weight: 600; color: var(--color-text); background-color: var(--color-bg-card); border-left-color: var(--color-brand); } /* ── Logout Button ───────────────────────────────────────── */ .nav-panel__logout { margin: 1rem 1.5rem; padding: 0.5rem 1rem; font-size: 1.15rem; font-weight: 400; background-color: transparent; color: var(--color-text-subtle); border: 1px solid var(--color-border); border-radius: var(--radius-lg); cursor: pointer; transition: all 0.15s ease; } @media (max-width: 480px) { .nav-panel__overlay { position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.45); opacity: 0; z-index: 900; } }