/* Shared site navigation. Plan controls remain independent. */
.global-brand-group{display:flex;align-items:center;gap:10px;min-width:0}
.site-header .site-brand{display:flex;align-items:center;gap:9px;max-width:none;white-space:nowrap}
.global-brandmark{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;background:#174d42;border-radius:9px}
.global-brandmark svg{width:22px;fill:none;stroke:#c8e5b7;stroke-width:2.5}
.global-desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap;font-family:system-ui,sans-serif;line-height:1.3}
.global-desktop-nav a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:10px 12px;border-radius:7px;color:#395b4d;font-size:14px;font-weight:550;text-decoration:none;white-space:nowrap}
.global-desktop-nav a:hover,.global-desktop-nav .global-nav-active{background:#eaf2e7;color:#174d42}
.global-desktop-nav .global-nav-active{font-weight:700}
.global-nav-external{font-size:12px;opacity:.65}
.global-menu{position:relative;display:none;flex:0 0 44px;width:44px;margin:0;padding:0;border:0;font-family:system-ui,sans-serif;line-height:1.4;letter-spacing:normal;text-align:left}
.global-menu>summary{display:flex;align-items:center;justify-content:center;list-style:none;width:44px;height:44px;padding:0;margin:0;border:1px solid #dce5dc;border-radius:8px;background:#f4f7f1;color:#174d42;cursor:pointer}
.global-menu>summary::-webkit-details-marker{display:none}
.global-menu>summary::after{content:none}
.global-menu>summary svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.global-menu[open]{z-index:160}
.global-menu[open]>summary,.global-menu>summary:hover{background:#e6f0e1}
.global-menu-panel{position:absolute;top:calc(100% + 8px);left:0;width:min(320px,calc(100vw - 48px));max-height:calc(100dvh - 140px);overflow:auto;padding:12px;background:#fff;border:1px solid #d9e4d8;border-radius:12px;box-shadow:0 12px 35px #173c3626;z-index:160;color:#213a35}
.global-menu-panel .global-menu-heading{font-size:12px;font-weight:650;color:#65786d;margin:2px 10px 9px;line-height:1.4}
.global-menu-panel nav{display:flex;flex-direction:column;gap:3px;padding:0;margin:0}
.global-menu-panel nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:11px 12px;margin:0;border-radius:7px;color:#213a35;font-size:16px;font-weight:550;text-decoration:none;line-height:1.4;letter-spacing:normal;white-space:normal}
.global-menu-panel nav a:hover,.global-menu-panel nav a.global-nav-active{color:#174d42;background:#eaf2e7}
.global-menu-panel nav a.global-nav-active{font-weight:700}
.global-menu-panel nav .global-menu-help{display:flex;align-items:center;gap:10px;min-height:46px;width:100%;margin:7px 0 0;padding:11px 12px;border:0;border-top:1px solid #e0e6df;border-radius:0 0 7px 7px;background:white;color:#174d42;font:550 16px/1.4 system-ui,sans-serif;text-align:left;cursor:pointer}
.global-menu-panel nav .global-menu-help:hover{background:#eaf2e7}
.global-menu-help .global-help-icon{display:inline-grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border:1.5px solid currentColor;border-radius:50%;font-size:13px;font-weight:700}
.global-menu-help:focus-visible{outline:3px solid #89b7a4;outline-offset:2px}
.scenario-label-short{display:none}
.global-menu-wizard{display:none}
.global-menu-panel .global-menu-note{border-top:1px solid #e0e6df;padding-top:10px;margin:10px 10px 2px;color:#65786d;font-size:12px;font-weight:400;line-height:1.5;white-space:normal}
.global-menu>summary:focus-visible,.global-menu-panel a:focus-visible,.global-desktop-nav a:focus-visible{outline:3px solid #89b7a4;outline-offset:2px}
/* Calculator desktop controls need their own row at ordinary laptop widths. */
@media(min-width:1101px) and (pointer:fine),(min-width:1101px) and (pointer:none),(min-width:1401px){
 #applicationHeader.topbar{height:auto;flex-wrap:wrap;row-gap:0;padding-top:8px;padding-bottom:4px}
 #applicationHeader>.global-desktop-nav{order:3;flex:1 0 100%;justify-content:flex-start;margin-top:6px;border-top:1px solid #e8eee6}
 #applicationHeader>.global-desktop-nav a{min-height:36px;padding:8px 12px;font-size:13px}
}
@media(min-width:1700px){
 #applicationHeader.topbar{flex-wrap:nowrap;min-height:68px;padding-top:0;padding-bottom:0}
 #applicationHeader>.global-desktop-nav{order:0;flex:0 1 auto;flex-wrap:nowrap;margin:0;border:0}
}
/* Match the compact tablet workflow, with a menu on narrow laptop windows too. */
@media(max-width:1100px),(max-width:1400px) and (pointer:coarse){
 .global-desktop-nav{display:none}
 .global-menu{display:block}
 #applicationHeader .header-brand{gap:10px}
 .site-header{gap:12px;padding:14px 20px}
 .site-header .site-brand{font-size:20px;line-height:1.2;letter-spacing:-.7px}
 .summary-sticky-brand .global-menu{flex-basis:40px;width:40px}
 .summary-sticky-brand .global-menu>summary{width:40px;height:40px}
}
/* Welcome is a dialog, so its own menu remains available at every screen size. */
#getStartedDialog .global-menu-welcome{display:block}
#getStartedDialog .welcome-brand{gap:8px}
@media(max-width:540px){
 .site-header{padding:12px 14px}
 .site-header .site-brand{font-size:18px}
 #getStartedDialog .welcome-brand{font-size:clamp(16px,4.7vw,22px);margin-right:24px}
 #getStartedDialog .welcome-brand .brandmark{width:26px;height:26px;flex-basis:26px}
 #getStartedDialog .welcome-brand .brand-name{min-width:0;white-space:normal}
}
@media(max-width:360px){
 .site-header .site-brand{gap:6px;font-size:16px}
 #applicationHeader .header-brand{gap:7px}
 #applicationHeader .header-brand .brand-name{font-size:16px}
}
/* Phones and touch-first tablets share the compact help/navigation layout. */
@media(max-width:800px),(max-width:1400px) and (pointer:coarse){
 #helpLauncher{display:none!important}
 #applicationHeader.topbar{height:auto;min-height:64px;flex-wrap:nowrap;gap:8px;padding-block:10px}
 #applicationHeader .header-brand{flex:1 1 auto;min-width:0;gap:8px}
 #applicationHeader .header-plan-actions{flex:0 0 auto;flex-basis:auto;flex-wrap:nowrap;gap:0;margin-left:0}
 #applicationHeader .header-brand .brand{gap:6px;min-width:0}
 #applicationHeader .header-brand .brand-name{white-space:nowrap}
 #applicationHeader .scenario-menu{margin:0}
 #applicationHeader .scenario-menu>summary{min-height:44px;height:44px}
 #settingsDialog .global-menu-wizard{display:block}
 #settingsDialog .settings-header{flex-wrap:nowrap;gap:8px}
 #settingsDialog .settings-header>div:first-child{flex:1 1 auto;min-width:0}
 #settingsDialog .settings-title-row{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px}
 #settingsDialog #settingsTitle{min-width:0}
 #settingsDialog #settingsHeaderActions{flex:0 0 auto;gap:0}
 #settingsDialog #settingsHeaderActions>#minimizeSettings{width:44px;min-width:44px;height:44px;min-height:44px}
}
@media(max-width:600px){
 #applicationHeader.topbar{padding-inline:12px}
 #applicationHeader .header-brand{gap:6px}
 #applicationHeader .header-brand .brand-name{font-size:clamp(14px,4.2vw,17px);letter-spacing:-.6px}
 #applicationHeader .header-brand .brandmark{width:22px;height:22px;flex:0 0 22px;border-radius:7px}
 #applicationHeader .header-brand .brandmark svg{width:18px}
 #applicationHeader .scenario-label-full{display:none}
 #applicationHeader .scenario-label-short{display:inline}
 #applicationHeader .scenario-menu>summary{font-size:12px;padding:8px;gap:5px}
}
