/* Shared header and footer: compact billing-manager controls and neutral surfaces.
   Loaded after route presentation styles; layout hooks remain owned by navigation. */
body {
    --shell-bg: #1a1d24;
    --shell-panel: #232730;
    --shell-line: #363c46;
    --shell-text: #f1f5f9;
    --shell-muted: #b3bdca;
    --shell-accent: #ffb366;
    --shell-font: system-ui, -apple-system, "Segoe UI", sans-serif;
}

html body #siteNav.site-navbar,
html body #siteNav.site-navbar.scrolled {
    background: var(--shell-bg) !important;
    border-bottom: 1px solid var(--shell-line);
    box-shadow: none !important;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    font-family: var(--shell-font);
}

html body #siteNav .navbar-inner { gap: 16px; }
html body #siteNav .nav-logo img { filter: none; }
html body #siteNav :is(a, button) { font-family: var(--shell-font); }

html body #siteNav :is(.nav-link, .nav-greeting, .nav-camp-current) {
    color: var(--shell-text);
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    text-shadow: none;
}

html body #siteNav :is(.nav-greeting, .nav-camp-switcher, .nav-camp-current) {
    background: transparent;
    border-color: var(--shell-line);
    border-radius: 8px;
    box-shadow: none;
}

html body #siteNav .greeting-avatar {
    background: var(--shell-panel);
    color: var(--shell-accent);
    border-radius: 8px;
    box-shadow: none;
}

html body #siteNav :is(.nav-link:hover, .nav-link.active, .nav-greeting:hover) {
    background: var(--shell-panel);
    color: var(--shell-text);
    border-radius: 6px;
}

html body #siteNav :is(.nav-theme-toggle, .nav-feedback-toggle, .nav-support-tickets-toggle,
    .nav-public-profile-toggle, .nav-camp-messages-toggle, .nav-toggler, .nav-logout) {
    background: transparent;
    border: 1px solid var(--shell-line);
    border-radius: 8px;
    box-shadow: none;
    color: var(--shell-muted);
}

html body #siteNav :is(.nav-cta, .v2-nav-start) {
    background: #ffb366 !important;
    color: #1a1d24 !important;
    border: 1px solid #ffb366;
    border-radius: 8px !important;
    box-shadow: none;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

html body #siteNav :is(.nav-cta:hover, .v2-nav-start:hover) { background: #ffc58f !important; }

html body #siteNav :is(.nav-mobile-menu, .nav-features-menu__inner,
    .nav-contact-menu__inner, .nav-pricing-menu__inner, .nav-launched-login__menu) {
    background: var(--shell-bg) !important;
    color: var(--shell-text);
    border-color: var(--shell-line);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,.16);
    font-family: var(--shell-font);
}

html body #siteNav .nav-mobile-menu :is(a, button) {
    color: var(--shell-text);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

html body :is(.site-contact-bar, .service-announcement) {
    background: var(--shell-bg) !important;
    border-bottom-color: var(--shell-line);
    font-family: var(--shell-font);
    box-shadow: none;
}

html body footer.site-footer {
    background: var(--shell-bg) !important;
    color: var(--shell-muted);
    border-top: 1px solid var(--shell-line);
    box-shadow: none;
    font-family: var(--shell-font);
}

html body footer.site-footer::before,
html body footer.site-footer::after { display: none; }

html body footer.site-footer :is(a, button, p, h2) { font-family: var(--shell-font); }
html body footer.site-footer :is(.footer-inner, .portal-footer) {
    max-width: 1320px;
    margin-inline: auto;
    padding: 24px;
}

html body footer.site-footer :is(.footer-bar, .footer-bottom, .portal-footer) { gap: 16px 24px; }
html body footer.site-footer :is(.footer-bottom, .v2-footer-bottom, .footer-sub) {
    border-color: var(--shell-line);
    background: transparent;
}

html body footer.site-footer :is(.footer-nav a, .footer-nav-btn, .portal-footer__nav a,
    .footer-legal a, .footer-privacy-btn) {
    color: var(--shell-muted);
    background: transparent;
    border-radius: 6px;
    box-shadow: none;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

html body footer.site-footer a:hover,
html body footer.site-footer button:hover { color: var(--shell-text); }
html body footer.site-footer :is(.footer-copy, .portal-footer__meta, .portal-footer__copy) {
    color: var(--shell-muted);
    font-size: 12px;
    line-height: 1.6;
}

html body footer.site-footer .portal-footer__camp { color: var(--shell-text); font-weight: 600; }
html body footer.site-footer .portal-footer__icon {
    background: var(--shell-panel);
    color: var(--shell-accent);
    box-shadow: none;
}

html body footer.v2-footer { padding: 36px 0 20px; }
html body footer.v2-footer .v2-footer-grid { gap: 28px; padding-bottom: 28px; }
html body footer.v2-footer .v2-footer-lockup { margin-bottom: 16px; }
html body footer.v2-footer .v2-footer-lockup img { height: 36px; }
html body footer.v2-footer nav h2 {
    margin-bottom: 14px;
    font-size: 13px;
    font-weight: 600;
    color: var(--shell-text);
}
html body footer.v2-footer :is(p, a) { color: var(--shell-muted); font-size: 12px; line-height: 1.7; }
html body footer.v2-footer nav a { margin-bottom: 7px; }
html body footer.v2-footer :is(.v2-footer-disclaimer, .v2-footer-disclaimer p) { font-size: 11px; }

html body :is(#siteNav, footer.site-footer) :is(a, button):focus-visible {
    outline: 2px solid var(--shell-accent);
    outline-offset: 4px;
}

@media (max-width: 767.98px) {
    html body #siteNav .navbar-inner { gap: 8px; padding-inline: 16px; }
    html body footer.site-footer :is(.footer-inner, .portal-footer) { padding: 20px 16px; }
    html body footer.site-footer :is(.footer-bar, .footer-bottom) { flex-wrap: wrap; }
    html body footer.v2-footer .v2-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
    html body footer.v2-footer .v2-footer-brand { grid-column: 1 / -1; }
    html body footer.site-footer .portal-footer__aside { width: 100%; }
}
