.nv-language{display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap;margin:0 0 20px;padding:12px 16px;background:#fff;border:1px solid #c8dce4;border-radius:16px;color:#17344d;font-size:18px}
.nv-language label{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nv-language select{font:inherit;min-height:52px;max-width:100%;padding:10px 36px 10px 14px;border:1px solid #94b6c6;border-radius:12px;background:#f5fafc;color:#17344d}
.nv-language small{font-size:18px;line-height:1.6}
.nv-language select:focus-visible{outline:3px solid #287b69;outline-offset:3px}
@media(max-width:767px){.nv-language{justify-content:flex-start}.nv-language label,.nv-language select{width:100%}}

/* Keep the language picker compact on split-screen authentication pages. */
.auth-layout{position:relative}
.auth-layout>.nv-language{
  position:absolute;
  z-index:20;
  top:18px;
  right:clamp(20px,3vw,44px);
  width:auto;
  margin:0;
  gap:8px;
  padding:4px 6px 4px 8px;
  border-radius:12px;
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 24px rgba(23,52,77,.08);
  font-size:13px;
}
.auth-layout>.nv-language label{gap:6px;flex-wrap:nowrap;width:auto}
.auth-layout>.nv-language label>span{display:none}
.auth-layout>.nv-language select{
  width:auto;
  min-width:108px;
  min-height:34px;
  padding:5px 28px 5px 9px;
  border-radius:9px;
}
.auth-layout>.nv-language small:empty,
.auth-layout>.nv-language [data-language-retry][hidden]{display:none}
@media(max-width:767px){
  .auth-layout>.nv-language{top:12px;right:14px;justify-content:flex-end;width:auto}
  .auth-layout>.nv-language label,
  .auth-layout>.nv-language select{width:auto}
  .auth-layout>.nv-language select{min-width:104px}
}
/* Native system fallbacks avoid depending on a translation/font service. */
.nv-language [data-language-retry]{min-height:48px;padding:10px 18px;border:1px solid #94b6c6;border-radius:12px;background:#eaf5fa;color:#17344d;font:inherit;cursor:pointer}.nv-language [data-language-retry]:hover{background:#e5f4ef;border-color:#287b69}.nv-language [data-language-retry]:focus-visible{outline:3px solid #287b69;outline-offset:3px}.nv-language [data-language-retry]:disabled{opacity:.6;cursor:wait}.nv-language [data-language-retry][hidden]{display:none}
html:lang(ja){--font-sans:"Yu Gothic UI","Meiryo",system-ui,sans-serif;--font-display:var(--font-sans)}
html:lang(ko){--font-sans:"Malgun Gothic","Apple SD Gothic Neo",system-ui,sans-serif;--font-display:var(--font-sans)}
html:lang(th),html:lang(lo),html:lang(km),html:lang(my){--font-sans:"Leelawadee UI","Myanmar Text","Nirmala UI",system-ui,sans-serif;--font-display:var(--font-sans)}
html:not([lang="zh-Hant"]) .btn{white-space:normal;overflow-wrap:anywhere;height:auto}
html:lang(th) .nv-language,html:lang(lo) .nv-language,html:lang(km) .nv-language,html:lang(my) .nv-language{line-height:1.8}
html:not([lang="zh-Hant"]) :is(.dashboard-nav a,.motion-subnav a,.status-badge,.cu-state,.phase-source-chip,.phase-block-filters button,.doctor-center-tabs a,.therapy-center-tabs button){white-space:normal;overflow-wrap:anywhere;min-width:0}
