/* Page chrome: announcement bar, header, footer, grids and the dashboard shell */
.announce{background:linear-gradient(90deg,var(--c-indigo),var(--c-violet));text-align:center;padding:8px 16px;font-size:var(--fs-sm);color:#fff}.announce a{text-decoration:underline;font-weight:600}
.site-header{position:sticky;top:0;z-index:60;background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--c-border)}
.nav{display:flex;align-items:center;gap:var(--sp-5);height:var(--topbar)}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.06em;font-size:1.12rem}.logo svg{width:30px;height:30px}
.nav-links{display:flex;gap:var(--sp-1);margin-left:auto;align-items:center}
.nav-links>a,.dd-btn{padding:8px 12px;border-radius:var(--r-sm);color:var(--c-muted);font:500 var(--fs-sm) var(--f-sans);background:none;border:0;cursor:pointer}
.nav-links>a:hover,.nav-links>a[aria-current="page"],.dd-btn:hover{color:var(--c-text);background:var(--c-surface)}
.nav-cta{display:flex;gap:var(--sp-2);align-items:center}.btn.menu-btn{display:none}
.dd{position:relative}.dd-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--c-bg2);border:1px solid var(--c-border);border-radius:var(--r-md);box-shadow:var(--sh-2);padding:6px;display:none;z-index:90}
.dd.open>.dd-menu{display:block}.dd-menu a,.dd-menu button{display:flex;gap:10px;align-items:center;width:100%;padding:9px 12px;border-radius:var(--r-sm);color:var(--c-text);background:none;border:0;font:inherit;font-size:var(--fs-sm);cursor:pointer;text-align:left}.dd-menu a:hover,.dd-menu button:hover{background:var(--c-surface2)}
.dd-menu .dd-title{padding:8px 12px;font-size:var(--fs-xs);color:var(--c-muted);text-transform:uppercase;letter-spacing:.08em}
.section{padding:var(--sp-9) 0}.sec-head{max-width:var(--w-narrow);margin:0 auto var(--sp-7);text-align:center}
.eyebrow{display:inline-block;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--c-lime);font-weight:700;margin-bottom:var(--sp-3)}
.grid{display:grid;gap:var(--sp-5)}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-8);align-items:center}.split.rev>:first-child{order:2}
.site-footer{border-top:1px solid var(--c-border);background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--sp-8) 0 var(--sp-5);margin-top:var(--sp-8)}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:var(--sp-6)}.foot-grid h4{font-size:var(--fs-sm);margin-bottom:var(--sp-3)}.foot-grid a{display:block;color:var(--c-muted);padding:4px 0;font-size:var(--fs-sm)}.foot-grid a:hover{color:var(--c-lime)}
.foot-bottom{margin-top:var(--sp-6);padding-top:var(--sp-4);border-top:1px solid var(--c-border);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:var(--fs-sm);color:var(--c-muted)}
.app{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:var(--sp-5) var(--sp-4);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-right:1px solid var(--c-border);display:flex;flex-direction:column;gap:var(--sp-5);z-index:80;overflow-y:auto}
.side-nav{display:flex;flex-direction:column;gap:4px}.side-nav a{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:var(--r-sm);color:var(--c-muted);font-size:var(--fs-sm);font-weight:500}.side-nav a:hover{background:var(--c-surface);color:var(--c-text)}.side-nav a[aria-current="page"]{background:var(--c-surface2);color:var(--c-text);box-shadow:inset 3px 0 0 var(--c-lime)}.side-foot{margin-top:auto}
.topbar{position:sticky;top:0;z-index:50;height:var(--topbar);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5);background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--c-border)}
.topbar .grow-search{flex:1;max-width:420px;margin-left:var(--sp-2)}.topbar .sp{flex:1}.topbar .dd-btn{display:flex;align-items:center;gap:8px;border:1px solid var(--c-border);background:var(--c-surface)}
.app-content{padding:var(--sp-6) var(--sp-5) var(--sp-8);max-width:1280px}
.scrim{position:fixed;inset:0;background:rgba(2,4,20,.6);z-index:70;display:none}.scrim.show{display:block}
