/* Shared by the dashboard and legacy layouts; keep shell styles scoped. */
.netsn-banner { display:block; background:#0d16aa; overflow:hidden; }
.netsn-banner img { display:block; width:100%; height:clamp(100px,9.375vw,150px); object-fit:cover; object-position:center; }
.netsn-header {
    --nav-panel:#fff; --nav-text:#182329; --nav-muted:#596772; --nav-line:#dde4e8;
    --nav-hover:#f2f5f7; --nav-active:#bf1e2e; --nav-focus:#0d16aa;
    position:sticky; top:0; z-index:1000;
    background:var(--nav-panel); color:var(--nav-text); border-bottom:1px solid var(--nav-line);
    font:14px/1.5 'Open Sans','Segoe UI',sans-serif;
}
:root[data-theme=dark] .netsn-header {
    --nav-panel:#121b20; --nav-text:#f2f5f7; --nav-muted:#aab5bd; --nav-line:#273239;
    --nav-hover:#1b272f; --nav-active:#ff8992; --nav-focus:#75baff; color-scheme:dark;
}
@media(prefers-color-scheme:dark) {
    :root:not([data-theme=light]):not([data-theme=dark]) .netsn-header {
        --nav-panel:#121b20; --nav-text:#f2f5f7; --nav-muted:#aab5bd; --nav-line:#273239;
        --nav-hover:#1b272f; --nav-active:#ff8992; --nav-focus:#75baff; color-scheme:dark;
    }
}
:root[data-theme=light] .netsn-header { color-scheme:light; }
.netsn-header *, .netsn-header *::before, .netsn-header *::after { box-sizing:border-box; }
.netsn-header [hidden] { display:none!important; }
.netsn-header-inner { position:relative; max-width:1240px; min-height:64px; margin:auto; padding:0 24px; display:flex; align-items:center; gap:20px; }
.netsn-header a, .netsn-header summary, .netsn-header button { color:inherit; text-decoration:none; font:inherit; font-weight:600; touch-action:manipulation; }
.netsn-header a, .netsn-header summary { display:flex; align-items:center; gap:7px; min-height:44px; padding:10px 12px; border-radius:6px; }
.netsn-header a:hover, .netsn-header summary:hover, .netsn-header button:hover { color:var(--nav-text); background:var(--nav-hover); }
.netsn-header :is(a,summary,button,select):focus-visible { outline:3px solid var(--nav-focus); outline-offset:2px; }
.netsn-header summary { cursor:pointer; list-style:none; white-space:nowrap; }
.netsn-header summary::-webkit-details-marker { display:none; }
.netsn-header .primary-nav { display:flex; align-items:center; gap:6px; }
.netsn-header .primary-nav > a, .netsn-header .netsn-mobile-shortcuts a { white-space:nowrap; }
.netsn-header :is(.primary-nav > a,.netsn-mobile-shortcuts a)[aria-current=page], .netsn-header .netsn-more > summary.active { box-shadow:inset 0 -3px var(--nav-active); color:var(--nav-active); }
.netsn-header .netsn-nav-panel a[aria-current=page] { color:var(--nav-active); background:var(--nav-hover); box-shadow:inset 3px 0 var(--nav-active); }
.netsn-header-actions { display:flex; align-items:center; gap:8px; margin-left:auto; }
.netsn-icon-library { position:absolute; width:0; height:0; overflow:hidden; }
.netsn-icon { width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.netsn-header .netsn-icon-control { width:44px; justify-content:center; padding:10px; }
.netsn-header .netsn-account-control { border:1px solid var(--nav-line); white-space:nowrap; }
.netsn-disclosure[open] > summary { background:var(--nav-hover); }
.netsn-more[open] > summary .netsn-icon { transform:rotate(180deg); }
.netsn-nav-panel {
    position:absolute; top:100%; margin-top:1px; background:var(--nav-panel); color:var(--nav-text);
    border:1px solid var(--nav-line); border-radius:0 0 12px 12px; padding:20px;
    box-shadow:0 12px 24px #0002; max-height:var(--nav-available-height,calc(100dvh - 230px)); overflow-y:auto; overscroll-behavior:contain;
}
.netsn-more-panel { left:24px; right:24px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.netsn-nav-group h2 { margin:0 0 8px; padding:0 12px; color:var(--nav-muted); font:600 12px/1.5 'Open Sans','Segoe UI',sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.netsn-nav-group a { width:100%; }
.netsn-utility-panel { right:24px; width:240px; }
.netsn-utility-panel label { display:block; margin-bottom:8px; font-weight:600; }
.netsn-utility-panel select { width:100%; min-height:44px; padding:8px 10px; border:1px solid var(--nav-line); border-radius:6px; background:var(--nav-panel); color:var(--nav-text); font:inherit; cursor:pointer; }
.netsn-mobile-shortcuts, .netsn-mobile-navigation { display:none; }
.netsn-mobile-panel { left:0; right:0; border-left:0; border-right:0; border-radius:0 0 12px 12px; }
.netsn-mobile-footer { display:flex; flex-wrap:wrap; gap:8px; grid-column:1/-1; padding-top:12px; border-top:1px solid var(--nav-line); }
.netsn-mobile-footer button { margin-left:auto; padding:10px 12px; min-height:44px; background:var(--nav-hover); border:1px solid var(--nav-line); border-radius:6px; cursor:pointer; }
.netsn-footer-navigation {
    --footer-text:var(--text,#fff); --footer-muted:var(--muted,#dbe2ff);
    --footer-line:var(--line,#ffffff40); --footer-active:var(--red,#fff); --footer-focus:var(--link,#fff);
    display:block; width:100%; flex-basis:100%; text-align:left; color:var(--footer-text);
    font:14px/1.5 'Open Sans','Segoe UI',sans-serif;
}
.netsn-footer-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.netsn-footer-group h2 { margin:0 0 8px; color:var(--footer-muted); font:600 12px/1.5 'Open Sans','Segoe UI',sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.netsn-footer-navigation a { display:flex; align-items:center; min-height:44px; padding:10px 0; color:var(--footer-text); font-weight:600; text-decoration:none; }
.netsn-footer-navigation a:hover { color:var(--footer-text); text-decoration:underline; text-underline-offset:4px; }
.netsn-footer-navigation a[aria-current=page] { color:var(--footer-active); text-decoration:underline; text-underline-offset:4px; }
.netsn-footer-navigation a:focus-visible { outline:3px solid var(--footer-focus); outline-offset:3px; }
.netsn-footer-utilities { display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:20px; padding-top:12px; border-top:1px solid var(--footer-line); }
.netsn-footer-utilities a { color:var(--footer-muted); font-weight:400; }
.footer .netsn-footer-navigation { max-width:1240px; margin:24px auto 0; padding:0 24px; }
@media(max-width:640px) {
    .netsn-footer-groups { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
    .footer .netsn-footer-navigation { padding:0 18px; }
}
/* Anchor targets stay visible below the compact sticky bar. */
html { scroll-padding-top:80px; }
@media(max-width:800px) {
    .netsn-header-inner { min-height:60px; padding:0 12px; gap:8px; }
    .netsn-header .primary-nav { display:none; }
    .netsn-mobile-shortcuts { display:flex; gap:2px; }
    .netsn-mobile-navigation { display:block; }
    .netsn-header-actions { gap:4px; }
    .netsn-header .netsn-account-control { width:44px; padding:10px; justify-content:center; }
    .netsn-account-control > span { display:none; }
    .netsn-header .netsn-mobile-shortcuts a { padding:10px 8px; }
    .netsn-header .netsn-mobile-navigation > summary { padding:10px 8px; gap:6px; }
    .netsn-mobile-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 12px; padding:20px 12px; }
    .netsn-utility-panel { right:12px; }
}
