/* Compact language switch; independent of the iPhone's input surface. */
.locale-topbar { display: flex; justify-content: flex-end; width: min(1080px, calc(100% - 48px)); margin: 0 auto; padding: 16px 0 0; }
.language-switch { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 3px; padding: 3px; border: 1px solid #3a5378; border-radius: 10px; background: #0c1b31; }
.language-switch button { min-width: 34px; min-height: 32px; padding: 6px 8px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: #b9cbe5; font-size: 11px; font-weight: 700; line-height: 1.2; }
.language-switch button:hover { background: #213858; color: #fff; }
.language-switch button[aria-pressed="true"] { background: #265ed6; border-color: #5287ef; color: #fff; }
.language-switch button:focus-visible { outline: 2px solid #a0c4ff; outline-offset: 2px; }
.locale-topbar + .login-shell { min-height: calc(100vh - 149px); }
@media (min-width: 701px) and (max-width: 1100px) {
  .dashboard-theme .user-menu { gap: 9px; }
  .dashboard-theme .language-switch button { min-width: 29px; padding: 6px; }
}
@media (max-width: 700px) {
  .dashboard-theme .topbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; row-gap: 4px; padding-top: 4px; padding-bottom: 8px; }
  .dashboard-theme .user-menu { display: contents; }
  .dashboard-theme .topbar > .brand { grid-column: 1; grid-row: 1; justify-self: start; }
  .dashboard-theme .user-menu > form:not(.language-switch) { grid-column: 2; grid-row: 1; justify-self: end; }
  .dashboard-theme .language-switch { grid-column: 1 / -1; grid-row: 2; justify-self: end; }
  .locale-topbar { width: calc(100% - 32px); padding-top: 12px; }
}
