/* Arabic / right-to-left adjustments. Loaded only when the Arabic language is on. */
:root, [dir="rtl"] {
  --ar-sans: 'IBM Plex Sans Arabic', 'Figtree', system-ui, 'Segoe UI', Tahoma, sans-serif;
  --ar-serif: 'Noto Naskh Arabic', 'IBM Plex Sans Arabic', 'Traditional Arabic', serif;
}
[dir="rtl"] { --bs-body-font-family: var(--ar-sans); }
[dir="rtl"] body { font-family: var(--ar-sans); letter-spacing: 0; }
[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, [dir="rtl"] .page-head h1 { letter-spacing: 0; }
[dir="rtl"] .auth-side h1, [dir="rtl"] [style*="Source Serif"] { font-family: var(--ar-serif) !important; line-height: 1.35; }
[dir="rtl"] .chart text, [dir="rtl"] .chart .tick, [dir="rtl"] .donut-value, [dir="rtl"] .donut-label { font-family: var(--ar-sans); }
/* Codes, IDs, phone numbers and amounts stay left-to-right inside Arabic text */
[dir="rtl"] code, [dir="rtl"] kbd, [dir="rtl"] input[type="email"], [dir="rtl"] input[type="tel"], [dir="rtl"] input[type="number"],
[dir="rtl"] input[type="url"], [dir="rtl"] input[type="password"] { direction: ltr; text-align: right; }

/* Sidebar */
[dir="rtl"] .side-nav .nav-link { text-align: right; }
[dir="rtl"] .side-nav .nav-link.active::before { left: auto; right: -10px; border-radius: 3px 0 0 3px; }
[dir="rtl"] .side-nav .sub .nav-link.active::before { left: auto; right: -13px; }
[dir="rtl"] .side-nav .caret { margin-left: 0; margin-right: auto; }
[dir="rtl"] .side-nav .sub { padding: 2px 31px 6px 0; }
@media (max-width: 991.98px) {
  [dir="rtl"] .sidebar { left: auto; right: 0; transform: translateX(100%); }
  [dir="rtl"] body.sidebar-open .sidebar { transform: none; }
}

/* Top bar */
[dir="rtl"] .top-search .bi { left: auto; right: 13px; }
[dir="rtl"] .top-search input { padding: 0 38px 0 44px; }
[dir="rtl"] .top-search kbd { right: auto; left: 12px; }
[dir="rtl"] .top-actions { margin-left: 0; margin-right: auto; }
[dir="rtl"] .term-chip { margin-right: 0; margin-left: 6px; }
[dir="rtl"] .dot-count { right: auto; left: 3px; }

/* Figures, tables, forms */
[dir="rtl"] .stat { border-left: 0; border-right: 1px solid var(--line); }
[dir="rtl"] .stat:first-child { border-right: 0; }
@media (max-width: 420px) { [dir="rtl"] .stat { border-right: 0; } }
[dir="rtl"] .table .num, [dir="rtl"] .num, [dir="rtl"] .grid-input { text-align: left; }
[dir="rtl"] .row-actions { text-align: left; }
[dir="rtl"] .filters .f-actions { margin-left: 0; margin-right: auto; }
[dir="rtl"] .form-label .req { margin-left: 0; margin-right: 2px; }
[dir="rtl"] .tabs .count { margin-left: 0; margin-right: 4px; }
[dir="rtl"] .profile-figures div { border-left: 0; border-right: 1px solid var(--line); }
[dir="rtl"] .profile-figures div:first-child { border-right: 0; }
@media (max-width: 767.98px) { [dir="rtl"] .profile-card { text-align: right; } }
[dir="rtl"] .legend-list .v { margin-left: 0; margin-right: auto; }
[dir="rtl"] .att-toggle label { border-left: 0; border-right: 1px solid var(--line); }
[dir="rtl"] .att-toggle label:first-of-type { border-right: 0; }
[dir="rtl"] .tt-time { text-align: left; padding: 4px 0 0 8px; border-right: 0; border-left: 1px solid var(--line); }
[dir="rtl"] .tt-col { border-left: 0; border-right: 1px solid var(--line); }
[dir="rtl"] .tt-item { border-left: 0; border-right: 3px solid hsl(var(--hue, 220) 60% 45%); }
[dir="rtl"] .tt-item .tt-del { right: auto; left: 4px; }
[dir="rtl"] .notice-card.urgent { border-left: 0; border-right: 3px solid var(--red); }
[dir="rtl"] .notice-card.important { border-left: 0; border-right: 3px solid var(--gold); }
[dir="rtl"] .chart-legend i { margin-right: 0; margin-left: 6px; }
[dir="rtl"] .cal .pill { text-align: right; }
[dir="rtl"] .crumbs .bi-chevron-right, [dir="rtl"] .bi-arrow-right, [dir="rtl"] .bi-arrow-left, [dir="rtl"] .bi-chevron-left { display: inline-block; transform: scaleX(-1); }
/* Charts keep their left-to-right axes */
[dir="rtl"] svg.chart, [dir="rtl"] .chart svg { direction: ltr; }
[dir="rtl"] .ts-control, [dir="rtl"] .ts-dropdown { text-align: right; }
[dir="rtl"] .dropdown-menu { text-align: right; }

/* ---- Printed documents (transcripts, receipts, ID cards) -------------------- */
[dir="rtl"] body:has(> .toolbar) { font-family: var(--ar-serif); }
[dir="rtl"] .toolbar, [dir="rtl"] .tb-btn, [dir="rtl"] .letterhead { font-family: var(--ar-sans); }
[dir="rtl"] .toolbar { justify-content: flex-start; }
[dir="rtl"] .lh-address { text-align: left; }
[dir="rtl"] .lh-contact .bi { margin-right: 0; margin-left: 4px; }
[dir="rtl"] .lh-title h1 { letter-spacing: 0; font-family: var(--ar-serif); }
[dir="rtl"] .doc-band, [dir="rtl"] .sec-head, [dir="rtl"] table.doc th { letter-spacing: 0; }
[dir="rtl"] .sec-head { border-left: 0; border-right: 4px solid var(--ink); }
[dir="rtl"] table.doc th { text-align: right; }
[dir="rtl"] table.doc .r { text-align: left; }
[dir="rtl"] .info-grid .r span { letter-spacing: 0; }
