/* ── Arabe : sens d'écriture de droite à gauche ─────────────────
 * Chargé seulement quand la langue est l'arabe (<html dir="rtl">). Les mises en page en flex et en grille s'inversent d'elles-mêmes ;
 * ce fichier remplace les positions et marges écrites en « gauche / droite ». */
html[dir="rtl"] body, html[dir="rtl"] button, html[dir="rtl"] input, html[dir="rtl"] select, html[dir="rtl"] textarea { font-family: 'Noto Sans Arabic', 'Segoe UI', Tahoma, Arial, sans-serif; }
html[dir="rtl"] body { line-height: 1.75; }
html[dir="rtl"] code, html[dir="rtl"] pre, html[dir="rtl"] kbd, html[dir="rtl"] .mono, html[dir="rtl"] input[type="email"], html[dir="rtl"] input[type="url"], html[dir="rtl"] input[type="tel"],
html[dir="rtl"] input[name="slug"], html[dir="rtl"] input[name="instance_name"], html[dir="rtl"] input[type="password"] { direction: ltr; text-align: left; }
html[dir="rtl"] .form-control::placeholder { text-align: right; }

/* Tableaux et textes alignés */
html[dir="rtl"] table.table th, html[dir="rtl"] .adm-t th, html[dir="rtl"] .adm-t td, html[dir="rtl"] .spec-table th, html[dir="rtl"] .spec-table td,
html[dir="rtl"] .compare-table th:first-child, html[dir="rtl"] .compare-table td:first-child { text-align: right; }
html[dir="rtl"] .adm-t td.r, html[dir="rtl"] .adm-t th.r { text-align: left; }
html[dir="rtl"] .faq-q, html[dir="rtl"] .app-user-name, html[dir="rtl"] .app-side-foot button.app-link, html[dir="rtl"] .announce-bar { text-align: right; }
html[dir="rtl"] .prose ul, html[dir="rtl"] .doc ul, html[dir="rtl"] ol { padding-left: 0; padding-right: 22px; }
html[dir="rtl"] .toast.success, html[dir="rtl"] .toast.error, html[dir="rtl"] .toast.info { border-left: 0; border-right: 3px solid var(--accent); }
html[dir="rtl"] .toast.error { border-right-color: #ef4444; } html[dir="rtl"] .toast.info { border-right-color: #3b82f6; }
html[dir="rtl"] .toast-container { right: auto; left: 24px; }

/* Icônes et petits espacements */
html[dir="rtl"] .ui-dots span, html[dir="rtl"] .trust-row i, html[dir="rtl"] .app-panel-empty i, html[dir="rtl"] .cmdk-foot kbd { margin-right: 0; margin-left: 6px; }
html[dir="rtl"] .fa-arrow-right, html[dir="rtl"] .fa-arrow-right-long, html[dir="rtl"] .fa-chevron-right, html[dir="rtl"] .fa-angle-right, html[dir="rtl"] .fa-arrow-up-right-from-square { transform: scaleX(-1); }
html[dir="rtl"] .fa-arrow-left, html[dir="rtl"] .fa-chevron-left, html[dir="rtl"] .fa-angle-left { transform: scaleX(-1); }
html[dir="rtl"] .prod-go, html[dir="rtl"] .panel-row b, html[dir="rtl"] .navbar-actions, html[dir="rtl"] .navbar-toggle, html[dir="rtl"] .app-top-actions { margin-left: 0; margin-right: auto; }
html[dir="rtl"] .frame-url { margin-left: 0; margin-right: 10px; }

/* Site public : en-tête, menus, bandeaux */
html[dir="rtl"] .mm-panel { left: auto; right: -16px; } html[dir="rtl"] .mm-panel.wide { left: auto; right: -140px; }
html[dir="rtl"] .engage-card.featured::before { left: auto; right: 24px; }
html[dir="rtl"] .hero::before { right: auto; left: -160px; } html[dir="rtl"] .hero::after { left: auto; right: -180px; }
html[dir="rtl"] .pass-wrap button { right: auto; left: 10px; }
html[dir="rtl"] select.form-select { background-position: left 12px center; padding-right: 14px; padding-left: 36px; }
html[dir="rtl"] .skip-link { left: auto; right: -999px; } html[dir="rtl"] .skip-link:focus { right: 8px; left: auto; }

/* Application connectée : barre latérale, menus, notifications */
html[dir="rtl"] .app-side { border-right: 0; border-left: 1px solid var(--border); }
html[dir="rtl"] .app-link.active::before, html[dir="rtl"] .app-shell.collapsed .app-link.active::before { left: auto; right: -12px; border-radius: 3px 0 0 3px; }
html[dir="rtl"] .app-shell.collapsed .app-count { right: auto; left: 6px; }
html[dir="rtl"] .app-menu, html[dir="rtl"] .app-panel, html[dir="rtl"] .dg-cols-menu { right: auto; left: 0; }
html[dir="rtl"] .app-menu a, html[dir="rtl"] .app-menu button { text-align: right; }
html[dir="rtl"] .app-notif > summary b { right: auto; left: -5px; }
html[dir="rtl"] .kpi-ring { right: auto; left: 16px; }
html[dir="rtl"] .activity li::before { left: auto; right: 16px; }
html[dir="rtl"] .app-content.narrow { margin-left: auto; margin-right: auto; }
@media (max-width: 960px) { html[dir="rtl"] .app-side { left: auto; right: 0; transform: translateX(100%); } html[dir="rtl"] .app-shell.open .app-side { transform: none; } }

/* Grilles de données */
html[dir="rtl"] .dg-search i { left: auto; right: 11px; }
html[dir="rtl"] .dg-search input { padding: 8px 33px 8px 12px; }
html[dir="rtl"] .dg-host .adm-t thead th.dg-sortable { padding-right: 14px; padding-left: 26px; }
html[dir="rtl"] .dg-host .adm-t thead th.dg-sortable::after { right: auto; left: 9px; }
html[dir="rtl"] .dg-host .adm-t td.r:last-child, html[dir="rtl"] .dg-host .adm-t th.r:last-child { right: auto; left: 0; box-shadow: 8px 0 8px -8px rgba(0,0,0,.12); }

/* Assistant IA */
html[dir="rtl"] .asst-fab, html[dir="rtl"] .asst { right: auto; left: 22px; }

/* Fenêtres et formulaires */
html[dir="rtl"] .dlg-x { margin-right: auto; margin-left: 0; }
html[dir="rtl"] .dlg-tabs, html[dir="rtl"] .profile-tabs { direction: rtl; }
html[dir="rtl"] .form-hint, html[dir="rtl"] .form-label { text-align: right; }

/* Sélecteur de langue (aussi utilisé en RTL) */
html[dir="rtl"] .lang-menu { right: auto; left: 0; }

/* Illustrations de couverture de thème : conservées telles quelles */
html[dir="rtl"] .mod-cover.theme { direction: ltr; }
html[dir="rtl"] .hp { left: auto; right: -9999px; }   /* champ piège : ne doit pas créer de défilement horizontal vers la gauche */
