.vz2-layout { display: grid; grid-template-columns: var(--vz2-sidebar-w) minmax(0, 1fr); min-height: 100vh; }
.vz2-sidebar { position: sticky; top: 0; height: 100vh; overflow: auto; padding: 16px; border-right: 1px solid var(--vz2-border-1); background: rgba(15,17,21,.88); backdrop-filter: blur(14px); }
.vz2-brand { display: flex; gap: 10px; align-items: center; min-height: 48px; margin-bottom: 12px; font-weight: 850; }
.vz2-nav { display: grid; gap: 5px; }
.vz2-nav a { min-height: 42px; display: flex; align-items: center; gap: 10px; padding: 0 12px; border-radius: 12px; color: var(--vz2-muted); text-decoration: none; transition: background var(--vz2-dur-2), color var(--vz2-dur-2), transform var(--vz2-dur-2); }
.vz2-nav a:hover { color: var(--vz2-txt); background: color-mix(in srgb, var(--vz2-accent) 11%, transparent); transform: translateX(2px); }
.vz2-nav a[aria-current="page"] { color: var(--vz2-txt); background: color-mix(in srgb, var(--vz2-accent) 16%, transparent); box-shadow: inset 3px 0 0 var(--vz2-accent); }
.vz2-topbar { position: sticky; top: 0; z-index: 10; display: flex; gap: 10px; justify-content: space-between; align-items: center; min-height: 64px; padding: 0 20px; border-bottom: 1px solid var(--vz2-border-1); background: rgba(15,17,21,.78); backdrop-filter: blur(14px); }
.vz2-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; color: var(--vz2-muted); font-size: 13px; }
.vz2-tabs { display: flex; gap: 6px; overflow-x: auto; padding: 4px; border: 1px solid var(--vz2-border-1); border-radius: 999px; background: rgba(255,255,255,.035); }
.vz2-tabs button { min-height: 36px; border: 0; border-radius: 999px; background: transparent; color: var(--vz2-muted); padding: 0 13px; cursor: pointer; }
.vz2-tabs button[aria-selected="true"] { color: var(--vz2-txt); background: color-mix(in srgb, var(--vz2-accent) 20%, transparent); }
.vz2-bottom-nav { display: none; }
@media (max-width: 840px) {
  .vz2-layout { grid-template-columns: 1fr; }
  .vz2-sidebar { display: none; }
  .vz2-bottom-nav { display: grid; grid-template-columns: repeat(4, 1fr); position: fixed; z-index: 40; left: 0; right: 0; bottom: 0; padding: 8px max(8px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); background: rgba(15,17,21,.92); border-top: 1px solid var(--vz2-border-1); backdrop-filter: blur(14px); }
  .vz2-bottom-nav a { min-height: 44px; display: grid; place-items: center; color: var(--vz2-muted); text-decoration: none; }
}
