/**
 * MIP — RTL / Arabic UX (MAIN + TENANTS)
 * Ne force PAS direction:rtl sur tout le DOM.
 * Respecte html[dir=rtl] / lang=ar et isole les îlots LTR (tel, email, codes).
 * L’ordre DOM des actions [Cancel][Save] n’est PAS inversé via row-reverse.
 */

/* Hiérarchie logique : flex-end + ordre DOM (Cancel puis Save).
   En RTL le flux inline va de droite à gauche : l’utilisateur lit d’abord Cancel, puis Save. */
[dir="rtl"] .form-actions,
[dir="rtl"] .mip-form-actions,
[dir="rtl"] .mip-form-actions-bar,
[dir="rtl"] .mip-dialog-footer,
[dir="rtl"] .modal-footer,
[dir="rtl"] .preview-modal-footer,
[dir="rtl"] .payment-modal-footer,
[dir="rtl"] .lab-form-actions,
[dir="rtl"] .cds-form-footer,
[dir="rtl"] .cds-appt-form-actions,
[dir="rtl"] .mip-crud-dialog__footer,
[dir="rtl"] .mip-tenant-dialog-footer,
[dir="rtl"] .mip-tenant-dialog-form-footer,
[dir="rtl"] .mip-modal-footer,
[dir="rtl"] .mip-alert-dialog__actions,
[dir="rtl"] .babel-support-modal-footer,
[dir="rtl"] .support-form-actions,
[dir="rtl"] .register-form-actions,
[dir="rtl"] .mip-proc-form-foot {
    flex-direction: row;
    justify-content: flex-end;
}

[dir="rtl"] .form-actions,
[dir="rtl"] .mip-dialog-footer,
[dir="rtl"] .modal-footer,
[dir="rtl"] .preview-modal-footer,
[dir="rtl"] .mip-alert-dialog__actions {
    flex-wrap: wrap;
}

/* Alignement de contenu : start = droite en RTL, sans text-align:right hardcodé partout */
[dir="rtl"] .page-title,
[dir="rtl"] .saydali-page-title,
[dir="rtl"] .cds-page-title,
[dir="rtl"] .mip-drugs-page-title,
[dir="rtl"] label,
[dir="rtl"] .cds-breadcrumb,
[dir="rtl"] .mip-breadcrumb,
[dir="rtl"] .babel-page-breadcrumb,
[dir="rtl"] .mip-breadcrumb-shell {
    text-align: start;
}

[dir="rtl"] .mip-breadcrumb,
[dir="rtl"] .cds-breadcrumb,
[dir="rtl"] .babel-page-breadcrumb {
    flex-direction: row;
}

[dir="rtl"] .mip-breadcrumb__sep {
    transform: none;
}

[dir="rtl"] .data-table th,
[dir="rtl"] .data-table td,
[dir="rtl"] table.mip-table th,
[dir="rtl"] table.mip-table td,
[dir="rtl"] .mip-table th,
[dir="rtl"] .mip-table td {
    text-align: start;
}

/* Champs texte métier : alignement logique (pas direction:rtl forcé sur chaque input) */
[dir="rtl"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]):not([type="color"]),
[dir="rtl"] textarea,
[dir="rtl"] select {
    text-align: start;
}

/* Chevrons / Back / Next : miroir des glyphes FA uniquement (pas le texte رجوع).
   !important : certains thèmes tenant resetent transform:none sur <i>. */
html[dir="rtl"] i.fa-chevron-right,
html[dir="rtl"] i.fa-arrow-right,
html[dir="rtl"] i.fa-angle-right,
html[dir="rtl"] i.fa-chevron-left,
html[dir="rtl"] i.fa-arrow-left,
html[dir="rtl"] i.fa-angle-left,
html[dir="rtl"] i.fa-caret-left,
html[dir="rtl"] i.fa-caret-right,
html[dir="rtl"] i.fa-long-arrow-right,
html[dir="rtl"] i.fa-long-arrow-left,
html[dir="rtl"] i.fa-long-arrow-alt-right,
html[dir="rtl"] i.fa-long-arrow-alt-left,
html[dir="rtl"] i.fa-angle-double-right,
html[dir="rtl"] i.fa-angle-double-left,
html[dir="rtl"] i.fa-arrow-circle-right,
html[dir="rtl"] i.fa-arrow-circle-left,
html[dir="rtl"] i.fa-chevron-circle-right,
html[dir="rtl"] i.fa-chevron-circle-left,
html[dir="rtl"] i.fa-caret-square-right,
html[dir="rtl"] i.fa-caret-square-left,
html[dir="rtl"] .fa-chevron-right,
html[dir="rtl"] .fa-arrow-right,
html[dir="rtl"] .fa-angle-right,
html[dir="rtl"] .fa-chevron-left,
html[dir="rtl"] .fa-arrow-left,
html[dir="rtl"] .fa-angle-left,
html[dir="rtl"] svg.fa-chevron-right,
html[dir="rtl"] svg.fa-arrow-right,
html[dir="rtl"] svg.fa-chevron-left,
html[dir="rtl"] svg.fa-arrow-left {
    transform: scaleX(-1) !important;
}

[dir="rtl"] .mip-rtl-keep,
[dir="rtl"] .mip-rtl-keep i,
[dir="rtl"] .mip-rtl-keep .fa,
[dir="rtl"] .mip-rtl-keep [class*="fa-"] {
    transform: none !important;
}

/* Pagination / Back-Next : même ordre DOM, pas row-reverse */
[dir="rtl"] .pagination,
[dir="rtl"] .mip-pagination,
[dir="rtl"] .mip-list-pager,
[dir="rtl"] .products-page-arrow,
[dir="rtl"] .products-pagination,
[dir="rtl"] .register-wizard-nav {
    flex-direction: row;
}

/* Recherche / filtres : icône en inline-start, pas d’inversion de barre */
[dir="rtl"] .search-bar,
[dir="rtl"] .list-filters,
[dir="rtl"] .filters-bar,
[dir="rtl"] .list-search {
    flex-direction: row;
}

/* Dropdowns : ancrage inline-end (profil, langue, notifs) */
[dir="rtl"] .topbar-dropdown,
[dir="rtl"] .dropdown-menu,
[dir="rtl"] .user-dropdown,
[dir="rtl"] .profile-dropdown,
[dir="rtl"] .lang-dropdown,
[dir="rtl"] .saydali-header-profile-menu {
    inset-inline-end: 0;
    inset-inline-start: auto;
}

/* Neutralise row-reverse sur les barres d’actions (y compris styles injectés plus tard).
   Ordre DOM [Cancel][Save] + flex-end : lecture RTL = Cancel puis Save.
   Ne cible PAS les badges login / KPI / bulles chat (row-reverse décoratif). */
html[dir="rtl"] .form-actions,
html[dir="rtl"] .mip-form-actions,
html[dir="rtl"] .mip-form-actions-bar,
html[dir="rtl"] .mip-dialog-footer,
html[dir="rtl"] .mip-crud-dialog__footer,
html[dir="rtl"] .mip-tenant-dialog-footer,
html[dir="rtl"] .mip-tenant-dialog-form-footer,
html[dir="rtl"] .modal-footer,
html[dir="rtl"] .preview-modal-footer,
html[dir="rtl"] .payment-modal-footer,
html[dir="rtl"] .lab-form-actions,
html[dir="rtl"] .cds-form-footer,
html[dir="rtl"] .cds-appt-form-actions,
html[dir="rtl"] .mip-modal-footer,
html[dir="rtl"] .mip-alert-dialog__actions,
html[dir="rtl"] .babel-support-modal-footer,
html[dir="rtl"] .support-form-actions,
html[dir="rtl"] .register-form-actions,
html[dir="rtl"] .mip-proc-form-foot,
html[dir="rtl"] .dialog-actions,
html[dir="rtl"] .modal-actions {
    flex-direction: row !important;
    justify-content: flex-end !important;
}

html[dir="rtl"] .pagination,
html[dir="rtl"] .mip-pagination,
html[dir="rtl"] .mip-list-pager {
    flex-direction: row !important;
}

/* Îlots LTR : chiffres, téléphone, email, dates ISO, codes-barres */
[dir="rtl"] input[type="tel"],
[dir="rtl"] input[type="email"],
[dir="rtl"] input[type="url"],
[dir="rtl"] input[type="number"],
[dir="rtl"] input[type="date"],
[dir="rtl"] input[type="time"],
[dir="rtl"] input[type="datetime-local"],
[dir="rtl"] input[inputmode="numeric"],
[dir="rtl"] input[inputmode="decimal"],
[dir="rtl"] input[inputmode="tel"],
[dir="rtl"] input[inputmode="email"],
[dir="rtl"] input[autocomplete="tel"],
[dir="rtl"] input[autocomplete="email"],
[dir="rtl"] input[autocomplete="url"],
[dir="rtl"] .mip-ltr-island,
[dir="rtl"] [data-mip-ltr],
[dir="rtl"] input[id*="Barcode" i]:not([data-mip-input-dir="content"]),
[dir="rtl"] input[id*="Phone" i],
[dir="rtl"] input[id*="Email" i],
[dir="rtl"] input[id*="Qty" i],
[dir="rtl"] input[name*="phone" i],
[dir="rtl"] input[name*="tel" i],
[dir="rtl"] input[name*="email" i],
[dir="rtl"] input[name*="barcode" i]:not([data-mip-input-dir="content"]),
[dir="rtl"] input[name*="qty" i],
[dir="rtl"] input[name*="price" i],
[dir="rtl"] input[name*="amount" i],
[dir="rtl"] code,
[dir="rtl"] kbd,
[dir="rtl"] .mono,
[dir="rtl"] .font-mono {
    direction: ltr;
    unicode-bidi: isolate;
    text-align: left;
}

/* Navigation / sidebar : alignement logique, pas d’inversion de flex des items */
[dir="rtl"] .sidebar,
[dir="rtl"] .app-sidebar,
[dir="rtl"] .sidebar-nav,
[dir="rtl"] .nav-link,
[dir="rtl"] .sidebar-nav a,
[dir="rtl"] .dock-nav-link {
    text-align: start;
}

[dir="rtl"] .nav-link,
[dir="rtl"] .sidebar-nav a,
[dir="rtl"] .dock-nav-link {
    flex-direction: row;
}

/* Recherche : padding logique (icône en inline-start) */
[dir="rtl"] .search-bar input,
[dir="rtl"] input[type="search"],
[dir="rtl"] .list-search input {
    text-align: start;
}

/* Chat / notifications : bulles restent en flux RTL du document.
   On n’applique PAS row-reverse aux barres d’actions ; les avatars chat métier restent hors scope. */
[dir="rtl"] .support-bubble,
[dir="rtl"] .mip-tc-msg,
[dir="rtl"] .cs-msg,
[dir="rtl"] .toast,
[dir="rtl"] #toast,
[dir="rtl"] .mip-live-notify-item {
    text-align: start;
}

[dir="rtl"] .toast,
[dir="rtl"] #toast,
[dir="rtl"] .mip-live-notify-stack {
    inset-inline-end: 16px;
    inset-inline-start: auto;
}

/* Icon-only : pas d’inversion du glyphe emoji ni de l’ordre des boutons */
[dir="rtl"] .mip-action-icon,
[dir="rtl"] .btn-icon,
[dir="rtl"] .tenant-action-btn,
[dir="rtl"] .cds-icon-action-btn,
[dir="rtl"] .mip-drugs-row-actions,
[dir="rtl"] .row-actions {
    flex-direction: row;
}

/* Boutons avec icône + libellé : ordre DOM conservé (icône en inline-start = droite en RTL) */
[dir="rtl"] .btn-primary,
[dir="rtl"] .btn-secondary,
[dir="rtl"] .submit-btn {
    flex-direction: row;
}

/* Focus : outline logique */
[dir="rtl"] :focus-visible {
    outline-offset: 2px;
}
