.shell { min-height: 100vh; display: grid; grid-template-columns: 280px 1fr; background: radial-gradient(circle at top left, rgba(88, 151, 119, .18), transparent 34%), var(--fb-dark-canvas); }
.sidebar { background: rgba(10, 18, 16, .92); border-right: 1px solid rgba(255,255,255,.08); padding: 22px; position: sticky; top: 0; height: 100vh; backdrop-filter: blur(20px); display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.brand { display: flex; gap: 14px; align-items: center; margin-bottom: 22px; flex: 0 0 auto; }
.brand-mark { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 8px; background: linear-gradient(135deg, #7bd56f, #e8b34f); color: #07100b; font-weight: 900; box-shadow: 0 0 36px rgba(123,213,111,.22); }
.brand-title { font-size: 24px; font-weight: 800; }
.brand-subtitle { color: #95a79d; font-size: 13px; }
.nav { display: grid; gap: 14px; margin-bottom: 18px; overflow: auto; padding: 2px 5px 4px 0; flex: 1 1 auto; align-content: start; }
.nav-section { display: grid; gap: 5px; padding: 10px; border-radius: 8px; background: rgba(0,0,0,.14); border: 1px solid rgba(255,255,255,.055); }
.nav-section-title { display: flex; align-items: center; gap: 8px; margin: 0 0 4px; color: #e8b34f; font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.nav-section-title::after { content: ""; height: 1px; flex: 1; background: linear-gradient(90deg, rgba(232,179,79,.34), transparent); }
.nav a { text-decoration: none; padding: 9px 10px; border-radius: 8px; color: var(--fb-dark-secondary); border: 1px solid transparent; font-size: 13px; font-weight: 750; line-height: 1.2; }
.nav a.active, .nav a:hover { background: rgba(255,255,255,.08); color: #fff; border-color: rgba(255,255,255,.08); }
