/* Language control stays within the existing header: no extra table rows. */
.app-shell .topbar { grid-template-columns: minmax(0, 1fr) auto; overflow: visible; z-index: 65; }
.language-switcher { position: relative; justify-self: end; min-width: 0; }
.language-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 8px 11px; border: 1px solid #454545; border-radius: 6px; background: #171717; color: #f2f0eb; font: 500 13px/1.3 system-ui, sans-serif; cursor: pointer; }
.language-toggle svg { width: 17px; height: 17px; flex: 0 0 auto; stroke: currentColor; fill: none; stroke-width: 1.5; }
.language-chevron { color: #a7a7a7; font-size: 12px; }
.language-toggle:hover, .language-toggle[aria-expanded="true"] { border-color: #b89b61; background: #20201d; }
.language-menu { position: absolute; top: calc(100% + 9px); right: 0; width: min(284px, calc(100vw - 24px)); max-height: calc(100dvh - 80px); overflow-y: auto; padding: 14px 8px 8px; border: 1px solid #595045; border-radius: 10px; color: #eee; background: #171717; box-shadow: 0 16px 44px #0008; text-align: start; }
.language-menu[hidden] { display: none; }
.language-menu h2 { margin: 0 7px 10px; font: 600 14px/1.5 system-ui, sans-serif; }
.language-options { display: grid; gap: 2px; }
.language-options button { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid transparent; border-radius: 5px; color: #ddd; background: transparent; font: 500 14px/1.5 system-ui, sans-serif; text-align: start; cursor: pointer; }
.language-options button:hover { background: #292929; }
.language-options button[aria-checked="true"] { color: #e7cd98; background: #2c2922; }
.language-check { visibility: hidden; }
[aria-checked="true"] > .language-check { visibility: visible; }
.language-note { margin: 10px 7px 3px; padding-top: 11px; border-top: 1px solid #333; color: #a7a7a7; font: 400 12px/1.7 system-ui, sans-serif; }
.language-toggle:focus-visible, .language-options button:focus-visible { outline: 2px solid #e5c984; outline-offset: 2px; }

/* Translations can be longer than Chinese. Wrap rather than overlap or
   shrink text below a readable size. This does not change table geometry. */
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .audit-stage-button strong { white-space: normal; overflow-wrap: anywhere; line-height: 1.4; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .audit-stage-button small { overflow-wrap: anywhere; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .audit-head { gap: 10px; flex-wrap: wrap; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .audit-head h3 { font-size: 20px; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .coach-utilities .session-metrics { min-height: 74px; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .session-metrics span { white-space: normal; overflow-wrap: anywhere; font-size: 11px; line-height: 1.5; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .coach-utilities .topbar-actions button { height: auto; min-height: 40px; white-space: normal; line-height: 1.4; padding: 6px 4px; overflow-wrap: anywhere; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .panel-tab { min-width: 0; white-space: normal; overflow-wrap: anywhere; line-height: 1.4; padding-inline: 6px; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .panel-tab > span { flex: 0 0 auto; white-space: nowrap; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .panel-heading { flex-wrap: wrap; gap: 8px; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .coach-panel h2 { overflow-wrap: anywhere; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .review-pair strong { overflow-wrap: anywhere; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) .action-button strong { font: 600 11px/1.2 system-ui, sans-serif; white-space: normal; max-width: 100%; overflow-wrap: anywhere; }
html:not([lang="zh-CN"]):not([lang="zh-TW"]) #confirm-custom { font: 600 11px/1.3 system-ui, sans-serif; padding-inline: 3px; white-space: normal; overflow-wrap: anywhere; }
html[lang="ar"] :is(.checkpoint-rail, .coach-panel, .modal-sheet, .decision-copy) { text-align: start; font-family: Tahoma, Arial, sans-serif; }
html[lang="ar"] :is(.observation-question, .observation-help, .observation-feedback, .training-glossary, .analysis-copy) { line-height: 1.9; }
html[lang="ar"] :is(.observation-number input, .bet-number, .session-metrics strong, .console-node strong, .verdict-score, .observation-score > strong, .range-matrix, .frequency-list) { direction: ltr; unicode-bidi: isolate; }
html[lang="ar"] .audit-check { text-align: right; }
html[lang="ar"] .audit-toggle i { direction: ltr; flex-shrink: 0; }
html[lang="ar"] .observation-number input { text-align: right; }
html[lang="ar"] :is(.action-button strong, #confirm-custom) { direction: rtl; }
@media (max-width: 680px) {
  .language-toggle { min-height: 40px; padding: 7px 9px; gap: 6px; }
  .language-menu { max-height: calc(100dvh - 100px); }
}
