
/* Floating navigation; the existing brand proportions are preserved. */
.hv-shell-v2 { grid-template-columns:280px minmax(0,1fr); }
.hv-side { --hv-side-bg:#111827; --hv-side-text:#bac7dc; --hv-side-strong:#f2f6ff; --hv-side-muted:#94a6c2; --hv-side-border:#263449; --hv-side-soft:#182235; --hv-side-hover:#1d2b42; --hv-side-active:#1a3156; --hv-side-active-border:#2d4b77; --hv-side-accent:#9bc0ff; --hv-side-icon:#22334d; --hv-side-shadow:0 12px 38px rgba(15,23,42,.18),0 2px 6px rgba(15,23,42,.08); align-self:start; top:12px; height:calc(100vh - 24px); height:calc(100dvh - 24px); margin:12px; border:1px solid var(--hv-side-border); border-radius:20px; background:var(--hv-side-bg); color:var(--hv-side-text); box-shadow:var(--hv-side-shadow); }
html[data-theme="dark"] .hv-side { --hv-side-bg:#0b1018; --hv-side-text:#9aaac0; --hv-side-strong:#edf3ff; --hv-side-muted:#7f90aa; --hv-side-border:#202a3a; --hv-side-soft:#111925; --hv-side-hover:#152031; --hv-side-active:#13243f; --hv-side-active-border:#254066; --hv-side-accent:#8bb2ff; --hv-side-icon:#162030; --hv-side-shadow:0 16px 42px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.12); }
.hv-side .hv-brand { color:var(--hv-side-strong); }
.hv-side .hv-tenant { display:flex; align-items:center; flex:none; gap:10px; margin:0 2px 19px; padding:10px; border-color:var(--hv-side-border); border-radius:12px; background:var(--hv-side-soft); color:var(--hv-side-text); font-size:12px; }
.hv-tenant-icon { display:grid; place-items:center; width:30px; height:30px; flex:none; border:1px solid var(--hv-side-border); border-radius:9px; background:var(--hv-side-bg); color:var(--hv-side-muted); }
.hv-tenant-icon .hv-icon { width:16px; height:16px; }
.hv-tenant-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.hv-side .hv-nav { margin:0 -6px; padding:6px 6px 14px; scrollbar-width:thin; scrollbar-color:var(--hv-side-border) transparent; }
.hv-side .hv-nav-link { position:relative; gap:10px; min-height:54px; margin-bottom:6px; padding:8px 10px; border-radius:12px; color:var(--hv-side-text); font-size:14px; font-weight:600; line-height:1.4; transition:background .18s,border-color .18s,color .18s; }
.hv-side .hv-nav-link>span:last-child { min-width:0; }
.hv-side .hv-nav-link::before { content:""; position:absolute; top:16px; bottom:16px; left:-1px; width:3px; border-radius:0 3px 3px 0; background:transparent; transition:background .18s; }
.hv-nav-glyph { display:grid; place-items:center; flex:none; width:36px; height:36px; border-radius:10px; background:var(--hv-side-soft); color:var(--hv-side-muted); transition:background .18s,color .18s,box-shadow .18s; }
.hv-nav-glyph .hv-icon { width:19px; height:19px; }
.hv-side .hv-nav-link:hover { background:var(--hv-side-hover); color:var(--hv-side-strong); }
.hv-side .hv-nav-link:hover .hv-nav-glyph { background:var(--hv-side-icon); color:var(--hv-side-accent); }
.hv-side .hv-nav-link.is-active { background:var(--hv-side-active); border-color:var(--hv-side-active-border); color:var(--hv-side-strong); }
.hv-side .hv-nav-link.is-active::before { background:#5486f4; }
.hv-side .hv-nav-link.is-active .hv-nav-glyph { color:#fff; background:#2457d6; box-shadow:0 3px 9px rgba(36,87,214,.22); }
.hv-side .hv-nav-heading { margin-top:16px; padding:18px 11px 10px; border-top:1px solid var(--hv-side-border); color:var(--hv-side-muted); font-size:10px; letter-spacing:.09em; }
.hv-side .hv-account { flex:none; flex-wrap:nowrap; gap:9px; margin-top:12px; padding:12px 10px; border:1px solid var(--hv-side-border); border-radius:14px; background:var(--hv-side-soft); }
.hv-side .hv-avatar { width:36px; height:36px; border-radius:11px; background:var(--hv-side-active); color:var(--hv-side-accent); border:1px solid var(--hv-side-active-border); font-size:11px; }
.hv-side .hv-account-name { color:var(--hv-side-strong); font-size:13px; line-height:1.4; }
.hv-side .hv-account-role { color:var(--hv-side-muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.hv-side .hv-account .hv-icon-button { flex:none; width:40px; height:40px; min-height:40px; padding:0; border-color:var(--hv-side-border); background:var(--hv-side-bg); color:var(--hv-side-text); transition:background .18s,color .18s,border-color .18s; }
.hv-side .hv-account .hv-icon-button:hover { background:var(--hv-side-hover); color:var(--hv-side-strong); border-color:var(--hv-side-active-border); }
.hv-side .hv-account .hv-icon-button .hv-icon { width:17px; height:17px; }
.hv-side :focus-visible { outline:2px solid var(--hv-side-accent); outline-offset:3px; }
.hv-side .hv-nav-link:focus-visible { outline-offset:2px; }
.hv-side .hv-mobile-close { color:var(--hv-side-text); background:var(--hv-side-soft); border-color:var(--hv-side-border); }
.hv-side .hv-mobile-close:hover { color:var(--hv-side-strong); background:var(--hv-side-hover); }
@media (max-width:1023px) { .hv-shell-v2 { grid-template-columns:none; } .hv-side { inset:12px auto auto 12px; margin:0; width:min(280px,calc(100vw - 24px)); transform:translateX(calc(-100% - 16px)); } .hv-menu-open .hv-side { transform:translateX(0); transition:transform .2s ease; } }
@media (prefers-reduced-motion:reduce) { .hv-nav-glyph,.hv-side .hv-nav-link,.hv-side .hv-nav-link::before,.hv-side .hv-account .hv-icon-button { transition:none; } }
