.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 20; width: var(--sidebar-width); padding: var(--space-5) var(--space-3); color: #dbe8f3; background: var(--color-primary-900); overflow-y: auto; }
.sidebar-brand { display: block; padding: 0 var(--space-3) var(--space-6); color: #fff; font-size: var(--text-lg); font-weight: 750; line-height: 1.35; }
.sidebar-brand small { display: block; margin-top: 3px; color: #9fb7ca; font-size: var(--text-xs); font-weight: 500; }
.nav-list { display: grid; gap: 4px; }
.nav-link { display: flex; justify-content: space-between; align-items: center; min-height: 42px; padding: 0 var(--space-3); border-radius: var(--radius-md); color: #dbe8f3; }
.nav-link:hover, .nav-link.active { color: #fff; background: rgb(255 255 255 / 10%); text-decoration: none; }
.nav-link.disabled { color: #7590a6; cursor: not-allowed; }
.nav-soon { font-size: 10px; }
.main-shell { min-height: 100vh; margin-left: var(--sidebar-width); }
.topbar { position: sticky; top: 0; z-index: 10; min-height: var(--topbar-height); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding: 10px var(--space-6); background: rgb(255 255 255 / 96%); border-bottom: 1px solid var(--color-border); }
.context { display: flex; flex-wrap: wrap; gap: var(--space-5); font-size: var(--text-sm); }
.context strong { display: block; color: var(--color-text); }
.context span { color: var(--color-muted); }
.user-menu { display: flex; align-items: center; gap: var(--space-3); font-size: var(--text-sm); }
.page { width: 100%; max-width: 1440px; margin: 0 auto; padding: var(--space-8); }
.stack { display: grid; gap: var(--space-6); }
.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.login-shell { min-height: 100vh; display: grid; place-items: center; padding: var(--space-6); background: var(--color-bg); }
.login-card { width: min(440px, 100%); padding: var(--space-8); }
.login-brand { margin-bottom: var(--space-8); color: var(--color-primary-900); }
.login-brand strong { display: block; font-size: var(--text-xl); }
.filter-panel { padding: var(--space-4) var(--space-5); }
@media (max-width: 960px) { .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .definition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 720px) { .sidebar { position: static; width: auto; } .nav-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .main-shell { margin-left: 0; } .topbar { position: static; align-items: flex-start; } .page { padding: var(--space-5); } .page-header { display: block; } .page-header .actions { margin-top: var(--space-4); } .grid, .definition-grid { grid-template-columns: 1fr; } .context { gap: var(--space-3); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
