.app-shell { min-height: 100dvh; }
.desktop-sidebar { display: none; }
.mobile-topbar { position: sticky; top: 0; z-index: 30; display:flex; align-items:center; justify-content:space-between; gap:.65rem; padding:.7rem .8rem; background:color-mix(in srgb, var(--surface) 94%, transparent); backdrop-filter: blur(14px); border-bottom:1px solid var(--line); }
.mobile-topbar-actions { display:flex; align-items:center; gap:.45rem; min-width:0; }
.brand { display:flex; align-items:center; gap:.65rem; font-weight:800; letter-spacing:-.02em; color:var(--text-strong); text-decoration:none; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:12px; background:var(--primary); color:#fff; font-size:.78rem; }
.main-wrap { min-width:0; }
.desktop-header { display:none; }
.main-content { width:min(100%, var(--max-content)); margin:0 auto; padding:1rem 1rem 6.5rem; }
.page { display:grid; gap:1rem; animation:page-in var(--motion-normal) var(--ease-standard); }
@keyframes page-in { from { opacity:.6; transform:translateY(3px); } }
.page-header { display:flex; gap:1rem; align-items:flex-start; justify-content:space-between; flex-wrap:wrap; }
.page-title { margin:0; font-size:clamp(1.45rem, 4vw, 2.05rem); letter-spacing:-.035em; line-height:1.18; }
.page-subtitle { color:var(--muted); margin:.25rem 0 0; max-width:72ch; }
.section { display:grid; gap:.75rem; }
.section-heading { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; }
.section-title { margin:0; font-size:1rem; }
.grid { display:grid; gap:1rem; }
.grid-2, .grid-3 { grid-template-columns:1fr; }
.bottom-nav { position:fixed; left:0; right:0; bottom:0; z-index:40; display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--line); background:color-mix(in srgb, var(--surface) 97%, transparent); backdrop-filter:blur(14px); padding:.35rem .25rem max(.35rem, env(safe-area-inset-bottom)); box-shadow:0 -8px 24px rgb(15 23 42 / .05); }
.nav-item { min-height:52px; border:0; background:transparent; border-radius:12px; color:var(--muted); display:grid; place-items:center; align-content:center; gap:.1rem; text-decoration:none; font-size:.72rem; }
.nav-item .nav-icon { font-size:1.1rem; line-height:1; }
.nav-item.active,.nav-item[aria-current="page"] { color:var(--primary); background:var(--surface-2); font-weight:750; }
.desktop-nav-section { display:grid; gap:.25rem; }
.desktop-nav-label { padding:.7rem .75rem .25rem; color:var(--muted); font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sidebar-footer { display:grid; gap:.75rem; }
.sidebar-user { min-width:0; }
.sidebar-user a { color:inherit; }
.status-slot { padding-bottom:0; }
