/* Shared site header. Page-specific styles must not change this component. */
.needo-header,.needo-header *{box-sizing:border-box}
.needo-header{position:sticky;top:0;z-index:40;flex:0 0 80px;height:80px;min-height:80px;margin:0;padding:0 24px;border:0;border-bottom:1px solid #dfe4da;background:#fffef9;color:#203b30;font:16px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.needo-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;max-width:1200px;height:100%;margin:0 auto}
.needo-header .needo-brand{display:inline-flex;align-items:center;flex-shrink:0;margin:0;padding:0;color:#203b30;font:800 28px/1 system-ui,sans-serif;letter-spacing:-1px;text-decoration:none;white-space:nowrap}
.needo-brand>span{color:#203b30}.needo-header .needo-accent{color:#729061}
.needo-desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto}
.needo-header a:not(.needo-brand){color:#203b30;font:600 16px/1.4 system-ui,sans-serif;text-decoration:none;letter-spacing:0}
.needo-desktop-nav>a{display:flex;align-items:center;min-height:44px;padding:8px 0;border-bottom:2px solid transparent}
.needo-header a[aria-current=page]{border-bottom-color:#729061;color:#42603a}
.needo-menu{position:relative;flex-shrink:0;margin:0;padding:0;border:0}
.needo-menu>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:8px 14px;border:1px solid #cbd5c5;border-radius:8px;background:transparent;color:#203b30;font:600 16px/1.4 system-ui,sans-serif;list-style:none;cursor:pointer}
.needo-menu>summary::-webkit-details-marker{display:none}.needo-menu-small{display:none}.needo-menu[open]>summary{background:#e9efdf}
.needo-menu>nav{position:absolute;top:calc(100% + 10px);right:0;width:min(290px,calc(100vw - 32px));max-height:calc(100dvh - 170px);overflow:auto;padding:8px;border:1px solid #dfe4da;border-radius:12px;background:#fffef9;box-shadow:0 8px 28px #10251c26}
.needo-menu nav a,.needo-menu-action{display:block;width:100%;min-height:44px;margin:0;padding:12px;border:0;border-radius:6px;background:transparent;color:#203b30;font:600 16px/1.4 system-ui,sans-serif;text-align:left;cursor:pointer;text-decoration:none}
.needo-menu nav a:hover,.needo-menu-action:hover{background:#e9efdf}.needo-menu-action:disabled{opacity:.6}.needo-mobile-links{display:none}.needo-header [hidden]{display:none!important}
.needo-header #admin-account{display:block;border-top:1px solid #dfe4da;margin-top:8px;padding-top:8px}.needo-header #admin-phone{display:block;padding:8px 12px;font:16px/1.4 system-ui,sans-serif;overflow-wrap:anywhere}
.needo-header :focus-visible{outline:3px solid #729061;outline-offset:3px}
@media(max-width:960px){.needo-header{height:72px;min-height:72px;flex-basis:72px;padding:0 16px}.needo-header-inner{gap:16px}.needo-desktop-nav,.needo-menu-wide{display:none}.needo-menu-small{display:inline}.needo-mobile-links{display:block;border-bottom:1px solid #dfe4da;margin-bottom:8px;padding-bottom:8px}.needo-menu nav a[aria-current=page]{background:#e9efdf;border:0}}

/* One compact footer on every page, including account and sign-in screens. */
.needo-footer,.needo-footer *{box-sizing:border-box}
.needo-footer{flex:0 0 auto;position:relative;z-index:8;display:block;width:100%;margin:0;padding:12px 24px;border:0;border-top:1px solid #dfe4da;background:#fffef9;color:#203b30;font:16px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.needo-footer-inner{display:flex;align-items:center;gap:20px;max-width:1200px;min-height:44px;margin:0 auto}
.needo-footer .needo-footer-brand{display:inline-flex;gap:0;align-items:center;margin:0;padding:0;color:#203b30;font:800 24px/1 system-ui,sans-serif;letter-spacing:-1px;text-decoration:none;white-space:nowrap}
.needo-footer-brand span{color:#729061}.needo-footer-copy{font:16px/1.4 system-ui,sans-serif;color:#53634f}
.needo-footer-links{display:flex;align-items:center;gap:20px;margin-left:auto}
.needo-footer-links>a,.needo-footer-more>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin:0;padding:8px 0;border:0;background:transparent;color:#203b30;font:600 16px/1.4 system-ui,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer;list-style:none}
.needo-footer-more{position:relative;margin:0;padding:0;border:0}.needo-footer-more>summary::-webkit-details-marker{display:none}
.needo-footer-more>nav{position:absolute;right:0;bottom:calc(100% + 8px);width:min(290px,calc(100vw - 32px));max-height:calc(100dvh - 180px);overflow:auto;padding:8px;border:1px solid #dfe4da;border-radius:12px;background:#fffef9;box-shadow:0 -6px 28px #10251c26}
.needo-footer-more nav a{display:block;min-height:44px;margin:0;padding:12px;border-radius:6px;color:#203b30;font:600 16px/1.4 system-ui,sans-serif;text-decoration:none;text-align:left}.needo-footer-more nav a:hover{background:#e9efdf}
.needo-footer :focus-visible{outline:3px solid #729061;outline-offset:3px}
@media(max-width:760px){.needo-footer{padding:8px 16px}.needo-footer .needo-footer-brand,.needo-footer-copy{display:none}.needo-footer-inner{justify-content:center;gap:0}.needo-footer-links{justify-content:center;flex-wrap:wrap;column-gap:20px;row-gap:0;margin:0;width:100%;min-width:0}}

/* Reserve scrollbar space so navigation does not shift between short and long pages. */
html{scrollbar-gutter:stable}

/* Public brand and legal-operator relationship, readable on every screen size. */
.needo-footer .needo-footer-operator{display:block;max-width:1200px;margin:4px auto 0;padding:0;color:#53634f;font:16px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
@media(max-width:760px){.needo-footer .needo-footer-operator{text-align:center;margin-top:4px}}

.needo-footer .needo-footer-operator a{display:inline-block;min-height:44px;padding:10px 0;color:#203b30;font:600 16px/1.5 system-ui,sans-serif;text-underline-offset:3px}

.needo-action-notice{font:16px/1.45 system-ui,sans-serif;color:#53634f;margin:10px 0}.needo-action-notice[hidden]{display:none!important}.needo-action-notice a{color:#203b30;text-decoration:underline;text-underline-offset:3px}.apply-legal{color:#53634f!important}
