/* Shared public header; deliberately scoped away from page content and Admin. */
.public-header,.public-header *{box-sizing:border-box}
.public-header{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-height:72px;width:100%;margin:0 auto;padding:8px 12px;background:#ecf6fa;color:#173f49;font-family:Arial,Helvetica,sans-serif;line-height:1.4}
.public-header .public-logo{display:block;position:relative;overflow:hidden;flex:0 0 120px;height:48px;margin-right:auto}
.public-header .public-logo img{position:absolute;max-width:none;width:135px;height:auto;left:-5px;top:-28px}
.public-header a{color:inherit;text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}
.public-header a:focus-visible,.public-header button:focus-visible{outline:3px solid #ed8c20;outline-offset:3px}
.public-header a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.public-header .public-menu-toggle{order:2;display:flex;align-items:center;justify-content:center;flex:0 0 44px;min-height:44px;margin:0;padding:0;background:transparent;color:inherit;border:1px solid #b8c9c8;border-radius:7px;font-size:25px;cursor:pointer}
.public-header #navigation,.public-header .public-nav-actions{display:contents}
.public-header .public-nav-account{display:flex;align-items:center;gap:10px;order:1}
.public-header .public-nav-account a{display:flex;align-items:center;justify-content:center;min-height:44px}
.public-header .public-join{padding:0 12px;background:#ffb85d;border-radius:7px;color:#123b3f}
.public-header .public-nav-links{display:none;order:3;flex-basis:100%;padding:8px 0;border-top:1px solid #c6d8d6}
.public-header .public-nav-links a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:6px}
.public-header .public-nav-links a:hover{background:#dbece5}
.public-header:has(.public-menu-toggle[aria-expanded="true"]) .public-nav-links{display:grid;grid-template-columns:1fr}
.public-header .public-install{display:none;order:4;flex-basis:100%}
.public-header:has(.public-menu-toggle[aria-expanded="true"]) .public-install{display:block}
.public-header .pwa-install-button{min-height:44px;margin:0;font-size:14px}
@media(max-width:359px){.public-header{gap:6px;padding:8px}.public-header .public-logo{flex-basis:94px}.public-header .public-logo img{width:110px;top:-20px}.public-header .public-nav-account{gap:7px}.public-header .public-nav-account a{font-size:12px}.public-header .public-join{padding:0 8px}}
@media(min-width:600px) and (max-width:899px){.public-header:has(.public-menu-toggle[aria-expanded="true"]) .public-nav-links{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){
 .public-header{width:calc(100% - 64px);max-width:1280px;min-height:72px;padding:8px 22px;gap:0 18px;background:#163e41;color:#f0f7ed;border-radius:12px;box-shadow:0 5px 15px #102d3214}
 .public-header .public-logo{flex-basis:158px;height:50px}.public-header .public-logo img{width:167px;top:-35px}
 .public-header .public-menu-toggle{display:none}
 .public-header .public-nav-account{margin-left:auto}
 .public-header .public-nav-links,.public-header:has(.public-menu-toggle[aria-expanded="true"]) .public-nav-links{display:flex;justify-content:center;flex-wrap:wrap;gap:17px;order:3;border-top:1px solid #ffffff25;padding:4px 0 0}
 .public-header .public-nav-links a{padding:10px 0;font-size:14px;min-height:44px}
 .public-header .public-nav-links a:hover{background:transparent;text-decoration:underline;text-underline-offset:6px}
 .public-header .public-install{display:block;order:2;flex-basis:auto}.public-header .public-install:empty{display:none}
}
@media(min-width:1280px){
 /* Equal side tracks center the menu on the whole header, independent of session labels.
    Intrinsic wrapping keeps longer labels and the optional Install App action in their zones. */
 .public-header{display:grid;grid-template-columns:minmax(158px,1fr) minmax(0,max-content) minmax(158px,1fr);gap:14px}
 .public-header .public-logo{grid-column:1;grid-row:1;width:158px;margin:0;justify-self:start}
 .public-header .public-nav-links,.public-header:has(.public-menu-toggle[aria-expanded="true"]) .public-nav-links{grid-column:2;grid-row:1;order:0;flex-basis:auto;min-width:0;border:0;padding:0;gap:17px;justify-content:center}
 .public-header .public-nav-links a{font-size:13px}
 .public-header .public-nav-actions{grid-column:3;grid-row:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;min-width:0;gap:8px 14px}
 .public-header .public-nav-account{margin:0;gap:14px}.public-header .public-nav-account a{font-size:13px}
 .public-header .public-install:not(:has(button:not([hidden]))){display:none}
}
