/* RTL theme support — preserves colors, spacing scale, and dark mode. */

html[dir="rtl"] body {
    font-family: "IBM Plex Sans Arabic", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* App shell — sidebar slide */
aside.app-sidebar.sidebar-open {
    transform: translateX(0);
}

aside.app-sidebar.sidebar-closed {
    transform: translateX(-100%);
}

html[dir="rtl"] aside.app-sidebar.sidebar-closed {
    transform: translateX(100%);
}

aside.app-sidebar {
    left: 0;
    right: auto;
    border-right: 1px solid rgb(229 231 235);
    border-left: 0;
}

html[dir="rtl"] aside.app-sidebar {
    left: auto;
    right: 0;
    border-right: 0;
    border-left: 1px solid rgb(229 231 235);
}

html.dark aside.app-sidebar {
    border-right-color: rgb(55 65 81);
}

html.dark[dir="rtl"] aside.app-sidebar {
    border-left-color: rgb(55 65 81);
    border-right-color: transparent;
}

html[dir="rtl"] .app-shell-offset {
    margin-left: 0 !important;
}

@media (min-width: 768px) {
    html[dir="rtl"] .app-shell-offset.md\:ms-64 {
        margin-right: 16rem !important;
    }
}

/* Dropdowns & toasts */
html[dir="rtl"] .dropdown-panel {
    right: auto;
    left: 0;
}

html[dir="rtl"] .toast-container {
    right: auto;
    left: 1rem;
}

/* Search / form icons (legacy physical utility classes) */
html[dir="rtl"] .absolute.left-3 {
    left: auto;
    right: 0.75rem;
}

html[dir="rtl"] .absolute.inset-y-0.left-0,
html[dir="rtl"] .input-icon-start {
    left: auto;
    right: 0;
}

html[dir="rtl"] .absolute.inset-y-0.left-0.pl-3,
html[dir="rtl"] .input-icon-start {
    padding-left: 0;
    padding-right: 0.75rem;
}

html[dir="rtl"] .absolute.inset-y-0.right-0,
html[dir="rtl"] .input-icon-end {
    right: auto;
    left: 0;
}

html[dir="rtl"] .absolute.inset-y-0.right-0.pr-3,
html[dir="rtl"] .input-icon-end {
    padding-right: 0;
    padding-left: 0.75rem;
}

html[dir="rtl"] input.pl-10 {
    padding-left: 0.75rem;
    padding-right: 2.5rem;
}

html[dir="rtl"] input.pl-9 {
    padding-left: 0.75rem;
    padding-right: 2.25rem;
}

html[dir="rtl"] .input-with-icon-start {
    padding-left: 0.75rem;
    padding-right: 2.5rem;
}

html[dir="rtl"] .input-with-icon-start-sm {
    padding-left: 0.75rem;
    padding-right: 2.25rem;
}

html[dir="rtl"] .input-with-icons-both {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
}

/* Pagination */
html[dir="rtl"] .pagination-nav {
    flex-direction: row-reverse;
}

html[dir="rtl"] .pagination-nav > a.rounded-l-md,
html[dir="rtl"] .pagination-nav > a.rounded-s-md {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
}

html[dir="rtl"] .pagination-nav > a.rounded-r-md,
html[dir="rtl"] .pagination-nav > a.rounded-e-md {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
}

html[dir="rtl"] .pagination-nav .icon-prev {
    transform: rotate(180deg);
}

html[dir="rtl"] .pagination-nav .icon-next {
    transform: rotate(180deg);
}

/* Keep numeric columns readable */
html[dir="rtl"] .tabular-nums,
html[dir="rtl"] .font-mono {
    direction: ltr;
    unicode-bidi: isolate;
}
