/* Quick navigation drawer. Standalone on purpose so it does not depend on a Vite rebuild. */
.quick-menu-backdrop[hidden], .quick-menu-panel[hidden] { display: none !important; }
.quick-menu-backdrop {
    position: fixed; inset: 0; z-index: 80; background: rgba(0,0,0,.68); backdrop-filter: blur(5px);
}
.quick-menu-panel {
    position: fixed; top: 0; right: 0; z-index: 90; width: min(390px, 92vw); height: 100dvh;
    overflow-y: auto; color: #e5e7eb;
    background: linear-gradient(180deg, rgba(18,22,31,.99), rgba(8,10,15,.99));
    border-left: 1px solid rgba(255,255,255,.12); box-shadow: -24px 0 70px rgba(0,0,0,.5);
    transform: translateX(0); animation: quickMenuIn .18s ease-out;
}
.quick-menu-shell { padding: 1.1rem; }
.quick-menu-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.2rem .1rem 1rem; border-bottom:1px solid rgba(255,255,255,.09); }
.quick-menu-title { margin:0; color:#fff; font-size:1.05rem; font-weight:900; }
.quick-menu-subtitle { margin:.22rem 0 0; color:#94a3b8; font-size:.76rem; }
.quick-menu-close { display:grid; place-items:center; width:2.5rem; height:2.5rem; flex:none; border-radius:.7rem; border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.055); color:#fff; cursor:pointer; font-size:1.35rem; line-height:1; }
.quick-menu-close:hover { border-color:rgba(245,158,11,.45); background:rgba(245,158,11,.1); color:#fbbf24; }
.quick-menu-section { margin-top:1rem; }
.quick-menu-label { margin:0 0 .45rem; padding:0 .45rem; color:#64748b; font-size:.67rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.quick-menu-links { display:grid; gap:.2rem; }
.quick-menu-link, .quick-menu-logout {
    display:flex; align-items:center; justify-content:space-between; gap:.75rem; width:100%; min-height:2.75rem;
    border:1px solid transparent; border-radius:.72rem; padding:.68rem .78rem; color:#cbd5e1; background:transparent;
    text-decoration:none; font:inherit; font-size:.88rem; font-weight:750; text-align:left; cursor:pointer;
}
.quick-menu-link:hover, .quick-menu-link.is-active, .quick-menu-logout:hover { color:#111827; border-color:rgba(245,158,11,.35); background:linear-gradient(135deg,var(--primary,#f59e0b),#fde68a); }
.quick-menu-arrow { color:#64748b; font-size:.95rem; }
.quick-menu-link:hover .quick-menu-arrow, .quick-menu-link.is-active .quick-menu-arrow { color:#111827; }
.quick-menu-divider { height:1px; margin:1rem 0; background:rgba(255,255,255,.08); }
.quick-menu-account { margin-top:1rem; border:1px solid rgba(255,255,255,.09); border-radius:.85rem; padding:.85rem; background:rgba(255,255,255,.035); }
.quick-menu-account strong { display:block; color:#fff; font-size:.9rem; }
.quick-menu-account small { color:#94a3b8; }
body.quick-menu-open { overflow:hidden; }
@keyframes quickMenuIn { from { transform: translateX(28px); opacity:.72; } to { transform:translateX(0); opacity:1; } }
@media (prefers-reduced-motion: reduce) { .quick-menu-panel { animation:none; } }
