/* Logical properties preserve reading direction without mirroring maps, charts, logos or photos. */
@font-face { font-family:'Noto Sans Arabic'; src:url('/content/fonts/noto/NotoSansArabic.ttf') format('truetype'); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face { font-family:'Noto Sans'; src:url('/content/fonts/noto/NotoSans.ttf') format('truetype'); font-weight:100 900; font-style:normal; font-display:swap; }
.cm-language-picker { position:fixed; inset-inline-end:12px; inset-block-end:calc(12px + env(safe-area-inset-bottom)); z-index:11000; }
.cm-language-picker select { max-width:140px; min-height:36px; padding:5px 8px; border:1px solid #9ba7b4; border-radius:8px; background:#fff; color:#172534; font:13px system-ui,sans-serif; box-shadow:0 2px 8px #0002; }
.cm-translation-status { position:fixed; inset-inline-end:max(16px,env(safe-area-inset-right)); inset-block-end:calc(16px + env(safe-area-inset-bottom)); z-index:2147483000; display:flex; align-items:center; gap:12px; box-sizing:border-box; width:min(430px,calc(100vw - 32px)); padding:14px 16px; border:1px solid #b9cbdc; border-radius:10px; background:#f4f9ff; color:#172534; box-shadow:0 4px 22px #0003; font:14px/1.4 system-ui,sans-serif; text-align:start; }
.cm-translation-status[hidden],.cm-translation-status [hidden] { display:none!important; }
.cm-translation-status strong,.cm-translation-status small { display:block; }
.cm-translation-status small { margin-block-start:3px; font-size:12px; }
.cm-translation-status-icon { flex:0 0 18px; height:18px; box-sizing:border-box; border:2px solid #b9cbdc; border-block-start-color:#2563a0; border-radius:50%; animation:cm-translation-spin .9s linear infinite; }
.cm-translation-status[data-state="error"] { background:#fff7ed; border-color:#d8a35f; }
.cm-translation-status[data-state="error"] .cm-translation-status-icon { border:0; height:auto; animation:none; font-weight:700; color:#925518; }
.cm-translation-status[data-state="error"] .cm-translation-status-icon::before { content:'!'; }
.cm-translation-status[data-state="ready"] .cm-translation-status-icon { border:0; height:auto; animation:none; color:#21623c; }
.cm-translation-status[data-state="ready"] .cm-translation-status-icon::before { content:'✓'; }
.cm-translation-status button { flex-shrink:0; min-height:36px; padding:5px 10px; border:1px solid currentColor; border-radius:6px; background:transparent; color:inherit; cursor:pointer; font:inherit; }
.cm-translation-status button:focus-visible { outline:2px solid #2563a0; outline-offset:2px; }
@keyframes cm-translation-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .cm-translation-status-icon { animation:none; } }
html[dir="rtl"] body { text-align:start; }
html[dir="rtl"] :is(input,textarea,select,button,label,p,h1,h2,h3,h4,h5,h6,th,td) { text-align:start; }
html[dir="rtl"] :is(.topbar,.nav,.actions,.form-row,.card-header,.card-footer,.run-hd,.settabs) { direction:rtl; }
html[dir="rtl"] :is(.topback .fa-chevron-left,.back .fa-chevron-left,.run-back .fa-chevron-left) { transform:scaleX(-1); }
html[dir="rtl"] :is(input[type="email"],input[type="url"],input[type="tel"],input[type="number"],input[type="password"],code,pre,[data-ltr],.coordinates,.vrm,.imei,.vin) { direction:ltr; text-align:start; unicode-bidi:isolate; }
html[dir="rtl"] :is(.device-name,.vehicle-name,.driver-name,.account-name,[data-customer-text]) { unicode-bidi:plaintext; }
html[lang^="ar"] { --MasterFont:'Noto Sans Arabic',Tahoma,Arial,Roboto,sans-serif; }
html[lang^="ar"] body { font-family:'Noto Sans Arabic',Tahoma,Arial,Roboto,sans-serif; }
html[lang^="el"] body { font-family:'Noto Sans',Roboto,Arial,sans-serif; }
html[dir="rtl"] :is(.sl-row,.devrow,.dc-row1,.dc-row2,.shell-list,.device-list) { text-align:start; }
html[dir="rtl"] .shell-rail { border-right:0; border-inline-end:1px solid var(--border); }
html[dir="rtl"] :is(.dc-times,.svr-count,.svr-cert) { margin-left:0; margin-inline-start:auto; }
html[dir="rtl"] :is(.cert-title) { margin-right:0; margin-inline-end:auto; }
@media print { .cm-language-picker,.cm-translation-status { display:none!important; } }
