.app-shell { min-height: 100vh; display: grid; grid-template-columns: var(--sidebar) 1fr; }
.sidebar { background: #111827; color: #fff; padding: 28px 20px; position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; }
.brand { font-weight: 800; letter-spacing: -.03em; font-size: 20px; margin-bottom: 34px; }
.brand span { color: #60a5fa; }
.nav { display: grid; gap: 8px; }
.nav a { padding: 11px 12px; border-radius: 10px; color: #cbd5e1; font-weight: 600; }
.nav a:hover, .nav a.active { background: #1f2937; color: #fff; }
.sidebar-foot { margin-top: auto; padding-top: 20px; color: #94a3b8; font-size: 13px; line-height: 1.5; }
.main { min-width: 0; padding: 34px; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 28px; }
.topbar h1 { margin: 0; font-size: clamp(26px, 3vw, 38px); letter-spacing: -.04em; }
.topbar p { margin: 6px 0 0; color: var(--muted); }
.grid { display: grid; gap: 18px; }
.stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.content-grid { grid-template-columns: minmax(0, 1.6fr) minmax(280px, .8fr); align-items: start; margin-top: 18px; }
.mobile-nav { display: none; }
