/* One globe opens the existing language choices; report generation remains unchanged. */
.language-picker { position:relative; flex-shrink:0; margin:0; padding:0; border:0; color:var(--ink); }
.language-picker>summary { display:flex; align-items:center; justify-content:center; gap:0; width:42px; height:42px; min-height:0; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--surface); color:var(--muted); list-style:none; cursor:pointer; }
.language-picker>summary::-webkit-details-marker { display:none; }
.language-picker>summary::after { display:none; content:none; }
.language-picker>summary svg { width:21px; height:21px; flex-shrink:0; }
.language-picker[open]>summary { border-color:var(--purple); color:var(--purple); background:var(--lilac); }
.language-picker-options { position:absolute; z-index:100; top:calc(100% + 9px); right:0; min-width:148px; display:grid; gap:4px; padding:7px; border:1px solid var(--line); border-radius:13px; background:var(--surface); box-shadow:0 9px 28px rgb(0 0 0 / 14%); }
.language-picker-options button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:40px; padding:9px 12px; border:0; border-radius:8px; background:transparent; color:var(--ink); font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.language-picker-options button[aria-pressed="true"] { background:var(--lilac); color:var(--purple); font-weight:600; }
.language-picker-options button[aria-pressed="true"]::after { content:'✓'; margin-left:14px; }
.language-picker-options button:hover { background:var(--soft); }
.language-picker>summary:focus-visible,.language-picker-options button:focus-visible,.map-account-link:focus-visible { outline:2px solid var(--purple); outline-offset:3px; }
.map-header-row { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:26px; }
.map-header-row .map-brand { margin:0; flex-shrink:0; }
.privacy-page .map-header-row .map-brand { margin:0; }
.map-header-actions { display:flex; align-items:center; gap:18px; }
.map-account-link { display:inline-flex; align-items:center; min-height:42px; color:var(--ink); font-size:13px; font-weight:500; text-decoration:none; white-space:nowrap; }
.map-account-sign-out { min-height:42px; padding:4px 0; border:0; background:transparent; color:var(--muted); font:inherit; font-size:13px; white-space:nowrap; cursor:pointer; }
.map-account-sign-out:focus-visible { outline:2px solid var(--purple); outline-offset:4px; }
.map-account-sign-out:disabled { opacity:.6; cursor:wait; }
.map-account-status { margin:-12px 0 20px; color:var(--error,#bc6476); text-align:right; font-size:13px; }
.site-header .account-entry .account-login,.map-header-actions .account-login {
 display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:10px 17px;
 border:1px solid var(--primary); border-radius:999px; background:var(--primary); color:var(--on-primary);
 font-size:13px; font-weight:650; line-height:1.4; white-space:nowrap; text-decoration:none;
 transition:box-shadow .18s,transform .18s;
}
.account-login::before {
 content:''; display:block; flex:0 0 23px; width:23px; height:23px; background:currentColor;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='9' r='3'/%3E%3Cpath d='M5.7 19.5a6.4 6.4 0 0 1 12.6 0'/%3E%3C/svg%3E") center/contain no-repeat;
}
.site-header .account-entry [hidden],.map-header-actions [hidden] { display:none!important; }
.account-login:focus-visible { outline:2px solid var(--purple); outline-offset:4px; }
@media(hover:hover) { .account-login:hover { box-shadow:0 3px 12px rgb(0 0 0 / 15%); transform:translateY(-1px); } }
.site-header .language-picker { margin-left:auto; }
@media(max-width:700px) {
 .map-header-row { gap:12px; margin-bottom:24px; }
 .map-header-row .map-brand img { width:140px; }
 .map-header-actions { gap:12px; }
 .map-account-link { font-size:12px; }
 .language-picker>summary { width:38px; height:38px; }
 .site-header,.brand-mode .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px 12px; }
 .site-header .brand,.brand-mode .site-header .brand { order:1; grid-column:1; grid-row:1; flex-basis:auto; }
 .site-header .language-picker { order:2; grid-column:2; grid-row:1; }
 .site-header .account-entry,.dashboard-mode .site-header .account-entry { order:3; grid-column:3; grid-row:1; gap:10px; margin:0; }
 .site-header .site-nav { order:4; grid-column:1 / -1; grid-row:2; justify-self:start; }
}
@media(max-width:440px) {
 .site-header .brand img,.brand-mode .site-header .brand img { max-width:108px; height:auto; }
 .site-header .account-entry button { font-size:11px; }
 .site-header .account-entry .account-login,.map-header-actions .account-login { gap:6px; min-height:40px; padding:8px 11px; font-size:12px; }
 .account-login::before { flex-basis:21px; width:21px; height:21px; }
 .map-header-row .map-brand img { width:124px; }
 .map-header-actions { gap:10px; }
}
@media print { .language-picker,.map-header-actions { display:none!important; } }
