/* Language controls are independent of forms and never submit them. */
.language-picker { display:flex; flex-wrap:wrap; align-items:center; gap:3px; flex-shrink:0; }
.language-picker button { border:1px solid #d6dce3; background:#fff; color:#425466; border-radius:6px; padding:6px 8px; font:500 12px/1.3 system-ui,sans-serif; cursor:pointer; min-height:30px; }
.language-picker button[aria-pressed="true"] { background:#174f41; color:#fff; border-color:#174f41; }
.language-picker button:focus-visible { outline:3px solid #77bca4; outline-offset:2px; }
.auth-card > .language-picker,.boot > .language-picker { justify-content:flex-end; margin-bottom:18px; }
.modal-head { flex-wrap:wrap; gap:8px; }
.modal-head .language-picker { margin-left:auto; }
.topbar { flex-wrap:wrap; gap:8px; }
[data-i18n-slot] { display:contents; }
@media (max-width:640px) { .topbar > .language-picker { order:5; width:100%; justify-content:flex-end; } .modal-head > .language-picker { order:5; width:100%; justify-content:flex-end; } }
@media print { .language-picker { display:none!important; } }
/* Let translated table headings wrap without expanding the form. */
.qty-table { table-layout:fixed; width:100%; min-width:580px; }
.qty-table th,.qty-table td { white-space:normal; overflow-wrap:anywhere; }
.qty-table th:first-child { width:35%; }
.qty-table input { width:100%; min-width:0; }
.line-table th { white-space:normal; overflow-wrap:anywhere; }
/* Embedded subset of Noto Sans JP (OFL), so Japanese UI also works offline. */
@font-face { font-family:'Ternus Japanese UI'; src:url('../fonts/Ternus-Japanese.woff') format('woff'); font-weight:400; font-style:normal; font-display:swap; }
html[lang='ja'] body,html[lang='ja'] input,html[lang='ja'] select,html[lang='ja'] textarea,html[lang='ja'] button { font-family:'Ternus Japanese UI','Yu Gothic','Meiryo',sans-serif; }
.language-picker button[lang='ja'] { font-family:'Ternus Japanese UI','Yu Gothic','Meiryo',sans-serif; }
