/* Shared header/footer presentation. Route visibility and menu behaviour remain
   owned by the existing layout; this sheet only controls their appearance. */
html body #siteNav,
html body #siteNav.scrolled,
html body .site-footer {
    background: #171a20 !important;
    color: #e2e7ee !important;
    border-color: #343a44 !important;
    box-shadow: none !important;
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
html body #siteNav { border-bottom: 1px solid #343a44; }
html body #siteNav .navbar-inner {
    box-sizing: border-box;
    padding-inline: 24px !important;
}
html body.logged-in #siteNav .nav-links { gap: 8px; }
html body #siteNav :is(.nav-action-tip, .nav-dashboard-toggle, .nav-logout) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 40px;
    min-height: 40px;
    min-width: 40px;
    padding: 0 12px;
    gap: 8px;
    border: 1px solid #404854 !important;
    font-size: 13px;
    line-height: 1;
    text-decoration: none;
}
html body #siteNav :is(.nav-action-tip, .nav-dashboard-toggle, .nav-logout) > i {
    font-size: 16px;
    line-height: 1;
}
@media (max-width: 540px) {
    html body #siteNav .navbar-inner { padding-inline: 16px !important; }
}
html body .site-footer { border-top: 1px solid #343a44; }
html body #siteNav::before, html body #siteNav::after,
html body .site-footer::before, html body .site-footer::after { display: none; }
html body #siteNav *, html body .site-footer * { border-radius: 0 !important; }
html body #siteNav :is(a, button, .nav-camp-current, .greeting-avatar),
html body #siteNav :is(a, button)::before,
html body #siteNav :is(a, button)::after,
html body .site-footer :is(a, button),
html body .site-footer :is(a, button)::before,
html body .site-footer :is(a, button)::after {
    border-radius: 0 !important;
}
html body #siteNav :is(a, button), html body .site-footer :is(a, button) {
    font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
    box-shadow: none !important;
    text-shadow: none;
}
html body #siteNav :is(.nav-link, .nav-greeting, .nav-action-tip, .nav-logout,
    .nav-dashboard-toggle, .nav-toggler, .nav-mobile-menu > a) {
    color: #e2e7ee !important;
    font-weight: 500;
    background: transparent;
}
html body #siteNav :is(.nav-link, .nav-greeting, .nav-action-tip, .nav-logout,
    .nav-dashboard-toggle, .nav-toggler):hover {
    background: #222730 !important;
    color: #fff !important;
}
html body #siteNav :is(.greeting-avatar, .nav-camp-current, .nav-mobile-camp__name) {
    background: #222730 !important;
    color: #e2e7ee !important;
    border-color: #343a44 !important;
}
html body #siteNav :is(.greeting-avatar, .nav-camp-current i) { color: #94a3b8 !important; }
html body #siteNav :is(.nav-divider, .mobile-divider) { background: #343a44; }
html body #siteNav .nav-swap-camp {
    background: #20252d !important;
    border: 1px solid #343a44 !important;
    color: #94a3b8 !important;
}
html body #siteNav .nav-swap-camp:hover { background: #2b313b !important; color: #fff !important; }
html body #siteNav :is(.nav-mobile-menu, .nav-features-menu__inner,
    .nav-contact-menu__inner, .nav-launched-login__menu) {
    background: #222730 !important;
    border-color: #343a44 !important;
    box-shadow: 0 12px 28px #0003 !important;
}
html body #siteNav .nav-mobile-menu :is(a, button) { color: #e2e7ee; }
html body #siteNav .nav-mobile-menu :is(a, button):hover { background: #222730; color: #fff; }
html body #siteNav :is(.nav-cta:not(.nav-launched-login__toggle), .v2-nav-start) {
    background: #ff7926 !important;
    color: #fff !important;
    border-color: #ff7926 !important;
}
html body #siteNav :is(.nav-cta:not(.nav-launched-login__toggle), .v2-nav-start):hover { background: #e96818 !important; }
html body #siteNav .nav-launched-login__toggle {
    background: transparent !important;
    color: #e2e7ee !important;
    border: 1px solid #404854 !important;
    padding: 9px 14px;
    line-height: 20px;
}
html body #siteNav .nav-launched-login__toggle:hover {
    background: #222730 !important;
    color: #fff !important;
    border-color: #94a3b8 !important;
}
html body.public-v2 #siteNav .nav-links { gap: 4px; }
html body.public-v2 #siteNav .nav-links .nav-item > .nav-link,
html body.public-v2 #siteNav .nav-links .nav-features-toggle {
    padding-inline: 12px;
}
html body.public-v2 #siteNav .nav-links .nav-features-toggle:hover {
    background: #222730 !important;
}
html body .site-footer :is(.footer-inner, .portal-footer) { max-width: 1168px; margin-inline: auto; }
html body .site-footer :is(.footer-nav a, .footer-nav-btn, .footer-legal a,
    .footer-operator, .portal-footer__nav a, .portal-footer__nav button) {
    background: transparent;
    color: #adb6c2 !important;
    font-weight: 400;
}
html body .site-footer :is(a, .footer-nav-btn):hover { color: #fff !important; }
html body .site-footer :is(.footer-copy, .footer-sub, .footer-independence,
    .portal-footer__meta, .portal-footer__copy, .v2-footer-disclaimer) { color: #adb6c2 !important; }
html body .site-footer :is(.footer-bottom, .footer-sub) {
    background: transparent !important;
    border-color: #343a44 !important;
}
html body .site-footer :is(.portal-footer__icon, .footer-privacy-btn) {
    background: #222730 !important;
    border: 1px solid #343a44 !important;
    color: #e2e7ee !important;
}
html body .site-footer .portal-footer__icon { color: #94a3b8 !important; }
html body .site-footer .portal-footer__camp { color: #fff; font-weight: 500; }
html body #siteNav :is(a, button):focus-visible,
html body .site-footer :is(a, button, input):focus-visible {
    outline: 3px solid #94a3b8 !important;
    outline-offset: 4px;
}

html body .site-footer { background: #171a20 !important; }
html body .site-footer :is(a, p, .v2-footer-disclaimer) { color: #adb6c2; }
html body .site-footer nav h2 { color: #fff; }
html body #siteNav :is(.nav-contact-menu, .nav-launched-login__menu) a strong { color: #fff !important; }
html body #siteNav :is(.nav-contact-menu, .nav-launched-login__menu) a small { color: #adb6c2 !important; }

/* Keep every navigation surface dark regardless of the page theme. */
html body #siteNav :is(.nav-camp-switcher, .nav-mobile-camp) {
    background: #20252d !important;
    border-color: #343a44 !important;
}
html body #siteNav :is(.nav-features-tabs, .nav-features-tab,
    .nav-mobile-features__panel, .nav-mobile-contact__panel, .nav-mobile-pricing__panel,
    .nav-pricing-menu__inner, .nav-contact-menu__icon, .nav-launched-login__icon) {
    background: #1c2027 !important;
    color: #adb6c2 !important;
    border-color: #343a44 !important;
}
html body #siteNav :is(.nav-features-tab.is-active, .nav-features-tab:hover,
    .nav-features-group__list a:hover, .nav-features-all:hover) {
    background: #2b313b !important;
    color: #e2e7ee !important;
    border-color: #64748b !important;
}
html body #siteNav :is(.nav-features-group__list a, .nav-features-all) {
    color: #d2d9e2 !important;
}
html body #siteNav .nav-features-tab.is-active {
    border-left-color: #ff7926 !important;
}
html body #siteNav :is(.nav-features-all::after, .nav-link.active) { color: #94a3b8 !important; }
html body #router #sidebarMenu.sidebar {
    --shell-bg: #171a20;
    --shell-panel: #222730;
    --shell-accent: #94a3b8;
}
html body #sidebarMenu .sidebar-module-box__items,
html body .sidebar-module-box__items.is-sidebar-flyout {
    background: #171a20 !important;
    color: #e2e7ee !important;
    border-color: #343a44 !important;
    --shell-accent: #94a3b8;
}
