/**
 * Biloro RTL Stylesheet
 * Enhanced for Arabic language support
 * Version: 2.0
 *
 * Features:
 * - CSS Logical Properties
 * - Mobile-First Design
 * - Touch-Friendly Targets
 * - Safe Area Support
 */

/* ========== Base RTL Styles ========== */
html[dir="rtl"] {
    direction: rtl;
}

[dir="rtl"] body {
    text-align: right;
    font-family: "Tajawal", "Instrument Sans", sans-serif;
}

/* ========== Layout RTL ========== */
[dir="rtl"] .page-layout {
    direction: rtl;
}

/* ========== App Wrapper & Main Content ========== */
/* Layout is now handled by sidebar.css */

/* ========== Header Elements ========== */
[dir="rtl"] .app-header-start {
    margin-inline-start: 0;
    margin-inline-end: auto;
}

[dir="rtl"] .app-header-end {
    margin-inline-end: 0;
    margin-inline-start: auto;
}

/* ========== Breadcrumb RTL ========== */
[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    float: right;
    padding-inline-start: 0.5rem;
    padding-inline-end: 0;
}

[dir="rtl"] .breadcrumb-item + .breadcrumb-item {
    padding-inline-start: 0.5rem;
    padding-inline-end: 0;
}

/* ========== Forms RTL ========== */
[dir="rtl"] .form-control,
[dir="rtl"] .form-select {
    text-align: right;
}

[dir="rtl"] .form-check {
    padding-inline-start: 0;
    padding-inline-end: 1.5em;
}

[dir="rtl"] .form-check-input {
    float: right;
    margin-inline-start: 0;
    margin-inline-end: -1.5em;
}

[dir="rtl"] .form-label {
    text-align: right;
}

/* Input Groups - Enhanced */
[dir="rtl"] .input-group {
    flex-direction: row-reverse;
}

[dir="rtl"] .input-group > .form-control,
[dir="rtl"] .input-group > .form-select,
[dir="rtl"] .input-group > .form-floating {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
}

[dir="rtl"] .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-inline-start: -1px;
    margin-inline-end: 0;
    border-start-start-radius: var(--bs-border-radius);
    border-end-start-radius: var(--bs-border-radius);
    border-start-end-radius: 0;
    border-end-end-radius: 0;
}

[dir="rtl"] .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-start-end-radius: var(--bs-border-radius);
    border-end-end-radius: var(--bs-border-radius);
    border-start-start-radius: 0;
    border-end-start-radius: 0;
}

[dir="rtl"] .input-group-text {
    display: flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
}

/* Form Floating Labels */
[dir="rtl"] .form-floating > label {
    right: 0;
    left: auto;
    padding-inline-start: 0.75rem;
    padding-inline-end: 0.75rem;
    transform-origin: 100% 0;
}

/* Search Input */
[dir="rtl"] .app-header-start .position-absolute.start-0 {
    inset-inline-start: 0 !important;
    inset-inline-end: auto !important;
}

[dir="rtl"] .app-header-start .ps-5 {
    padding-inline-start: 3rem !important;
    padding-inline-end: 1rem !important;
}

/* ========== Buttons RTL ========== */
[dir="rtl"] .btn-group {
    flex-direction: row-reverse;
}

[dir="rtl"] .btn-group > .btn:not(:last-child):not(.dropdown-toggle),
[dir="rtl"] .btn-group > .btn-group:not(:last-child) > .btn {
    border-start-end-radius: var(--bs-border-radius);
    border-end-end-radius: var(--bs-border-radius);
    border-start-start-radius: 0;
    border-end-start-radius: 0;
}

[dir="rtl"] .btn-group > .btn:not(:first-child),
[dir="rtl"] .btn-group > .btn-group:not(:first-child) > .btn {
    border-start-start-radius: var(--bs-border-radius);
    border-end-start-radius: var(--bs-border-radius);
    border-start-end-radius: 0;
    border-end-end-radius: 0;
}

/* Button with Icon */
[dir="rtl"] .btn > i:first-child,
[dir="rtl"] .btn > svg:first-child {
    margin-inline-start: 0;
    margin-inline-end: 0.5rem;
}

[dir="rtl"] .btn > i:last-child,
[dir="rtl"] .btn > svg:last-child {
    margin-inline-end: 0;
    margin-inline-start: 0.5rem;
}

/* ========== Dropdowns RTL ========== */
[dir="rtl"] .dropdown-menu {
    text-align: right;
    --bs-dropdown-min-width: 10rem;
}

[dir="rtl"] .dropdown-menu-end {
    --bs-position: start;
    inset-inline-end: auto;
    inset-inline-start: 0;
}

[dir="rtl"] .dropdown-menu-start {
    --bs-position: end;
    inset-inline-start: auto;
    inset-inline-end: 0;
}

[dir="rtl"] .dropdown-item {
    text-align: right;
    padding-inline-start: 1rem;
    padding-inline-end: 1rem;
}

[dir="rtl"] .dropdown-item i,
[dir="rtl"] .dropdown-item svg {
    margin-inline-start: 0;
    margin-inline-end: 0.5rem;
}

/* ========== Tables RTL ========== */
[dir="rtl"] .table {
    text-align: right;
}

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

[dir="rtl"] .table th:first-child,
[dir="rtl"] .table td:first-child {
    padding-inline-start: 1rem;
}

[dir="rtl"] .table th:last-child,
[dir="rtl"] .table td:last-child {
    padding-inline-end: 1rem;
}

/* ========== Cards RTL ========== */
[dir="rtl"] .card-header {
    text-align: right;
}

[dir="rtl"] .card-header .card-title {
    text-align: right;
}

/* ========== Modals RTL ========== */
[dir="rtl"] .modal-header .btn-close {
    margin: -0.5rem auto -0.5rem -0.5rem;
    margin-inline-start: -0.5rem;
    margin-inline-end: auto;
}

[dir="rtl"] .modal-footer {
    justify-content: flex-start;
}

[dir="rtl"] .modal-footer > * {
    margin-inline-start: 0.25rem;
    margin-inline-end: 0;
}

/* ========== Alerts RTL ========== */
[dir="rtl"] .alert {
    text-align: right;
}

[dir="rtl"] .alert-dismissible {
    padding-inline-start: 3rem;
    padding-inline-end: 1rem;
}

[dir="rtl"] .alert-dismissible .btn-close {
    inset-inline-start: 0;
    inset-inline-end: auto;
}

/* ========== Badges RTL ========== */
[dir="rtl"] .badge {
    margin-inline-start: 0.25rem;
    margin-inline-end: 0;
}

/* ========== List Groups RTL ========== */
[dir="rtl"] .list-group {
    padding-inline-end: 0;
}

[dir="rtl"] .list-group-item {
    text-align: right;
}

[dir="rtl"] .list-group-item > i:first-child,
[dir="rtl"] .list-group-item > svg:first-child {
    margin-inline-end: 0.5rem;
    margin-inline-start: 0;
}

/* ========== Pagination RTL ========== */
[dir="rtl"] .pagination {
    padding-inline-end: 0;
    flex-direction: row-reverse;
}

[dir="rtl"] .page-item:not(:first-child) .page-link {
    margin-inline-start: 5px;
    margin-inline-end: 0;
}

[dir="rtl"] .page-link {
    border-radius: var(--bs-border-radius);
}

/* ========== Progress RTL ========== */
[dir="rtl"] .progress {
    flex-direction: row-reverse;
}

[dir="rtl"] .progress-bar {
    float: right;
}

/* ========== Navs & Tabs RTL ========== */
[dir="rtl"] .nav {
    padding-inline-end: 0;
}

[dir="rtl"] .nav-tabs .nav-item {
    margin-inline-start: 0;
    margin-inline-end: -1px;
}

[dir="rtl"] .nav-pills .nav-link {
    text-align: right;
}

/* ========== Sidebar Menu RTL ========== */
[dir="rtl"] .side-menubar {
    padding-inline-end: 0;
}

[dir="rtl"] .side-menubar .menu-item .menu-link {
    text-align: right;
    flex-direction: row;
}

[dir="rtl"] .side-menubar .menu-item .menu-link i,
[dir="rtl"] .side-menubar .menu-item .menu-link svg {
    margin-inline-end: 0;
    margin-inline-start: 10px;
    order: -1;
}

[dir="rtl"] .side-menubar .menu-heading {
    text-align: right;
}

/* ========== Avatar RTL ========== */
[dir="rtl"] .avatar-status-success::after,
[dir="rtl"] .avatar-status-danger::after,
[dir="rtl"] .avatar-status-warning::after {
    inset-inline-start: auto;
    inset-inline-end: 0;
}

/* ========== Notifications RTL ========== */
[dir="rtl"] .dropdown-menu .list-group-item .ms-2 {
    margin-inline-start: 0 !important;
    margin-inline-end: 0.5rem !important;
}

[dir="rtl"] .dropdown-menu .list-group-item .me-auto {
    margin-inline-end: 0 !important;
    margin-inline-start: auto !important;
}

/* ========== Chat RTL ========== */
[dir="rtl"] .chat-sidebar {
    inset-inline-start: auto;
    inset-inline-end: 0;
    border-inline-start: 1px solid var(--bs-border-color);
    border-inline-end: none;
}

[dir="rtl"] .chat-container {
    margin-inline-start: 0;
    margin-inline-end: 300px;
}

[dir="rtl"] .chat-message-right,
[dir="rtl"] .message-wrapper.outgoing {
    text-align: left;
    justify-content: flex-start;
}

[dir="rtl"] .chat-message-left,
[dir="rtl"] .message-wrapper.incoming {
    text-align: right;
    justify-content: flex-end;
}

[dir="rtl"] .message-wrapper.outgoing .message-bubble {
    border-end-start-radius: 1rem;
    border-end-end-radius: 0.25rem;
}

[dir="rtl"] .message-wrapper.incoming .message-bubble {
    border-end-end-radius: 1rem;
    border-end-start-radius: 0.25rem;
}

/* ========== Icons RTL ========== */
[dir="rtl"] .fi-rr-angle-left::before {
    content: "\f104";
}

[dir="rtl"] .fi-rr-angle-right::before {
    content: "\f105";
}

[dir="rtl"] .fi-rr-arrow-left::before {
    transform: scaleX(-1);
}

[dir="rtl"] .fi-rr-arrow-right::before {
    transform: scaleX(-1);
}

/* ========== Utilities RTL ========== */
[dir="rtl"] .text-start {
    text-align: right !important;
}

[dir="rtl"] .text-end {
    text-align: left !important;
}

[dir="rtl"] .ms-auto {
    margin-inline-start: auto !important;
    margin-inline-end: 0 !important;
}

[dir="rtl"] .me-auto {
    margin-inline-end: auto !important;
    margin-inline-start: 0 !important;
}

/* Margin Start */
[dir="rtl"] .ms-1 { margin-inline-start: 0.25rem !important; }
[dir="rtl"] .ms-2 { margin-inline-start: 0.5rem !important; }
[dir="rtl"] .ms-3 { margin-inline-start: 1rem !important; }
[dir="rtl"] .ms-4 { margin-inline-start: 1.5rem !important; }
[dir="rtl"] .ms-5 { margin-inline-start: 3rem !important; }

/* Margin End */
[dir="rtl"] .me-1 { margin-inline-end: 0.25rem !important; }
[dir="rtl"] .me-2 { margin-inline-end: 0.5rem !important; }
[dir="rtl"] .me-3 { margin-inline-end: 1rem !important; }
[dir="rtl"] .me-4 { margin-inline-end: 1.5rem !important; }
[dir="rtl"] .me-5 { margin-inline-end: 3rem !important; }

/* Padding Start */
[dir="rtl"] .ps-1 { padding-inline-start: 0.25rem !important; }
[dir="rtl"] .ps-2 { padding-inline-start: 0.5rem !important; }
[dir="rtl"] .ps-3 { padding-inline-start: 1rem !important; }
[dir="rtl"] .ps-4 { padding-inline-start: 1.5rem !important; }
[dir="rtl"] .ps-5 { padding-inline-start: 3rem !important; }

/* Padding End */
[dir="rtl"] .pe-1 { padding-inline-end: 0.25rem !important; }
[dir="rtl"] .pe-2 { padding-inline-end: 0.5rem !important; }
[dir="rtl"] .pe-3 { padding-inline-end: 1rem !important; }
[dir="rtl"] .pe-4 { padding-inline-end: 1.5rem !important; }
[dir="rtl"] .pe-5 { padding-inline-end: 3rem !important; }

/* Float */
[dir="rtl"] .float-start {
    float: right !important;
}

[dir="rtl"] .float-end {
    float: left !important;
}

/* Position */
[dir="rtl"] .start-0 {
    inset-inline-start: 0 !important;
    inset-inline-end: auto !important;
}

[dir="rtl"] .end-0 {
    inset-inline-end: 0 !important;
    inset-inline-start: auto !important;
}

[dir="rtl"] .start-50 {
    inset-inline-start: 50% !important;
    inset-inline-end: auto !important;
}

[dir="rtl"] .end-50 {
    inset-inline-end: 50% !important;
    inset-inline-start: auto !important;
}

[dir="rtl"] .start-100 {
    inset-inline-start: 100% !important;
    inset-inline-end: auto !important;
}

[dir="rtl"] .end-100 {
    inset-inline-end: 100% !important;
    inset-inline-start: auto !important;
}

/* Border */
[dir="rtl"] .border-start {
    border-inline-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    border-inline-end: 0 !important;
}

[dir="rtl"] .border-end {
    border-inline-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    border-inline-start: 0 !important;
}

/* ========== DataTables RTL ========== */
[dir="rtl"] .dataTables_wrapper .dataTables_filter {
    text-align: left;
}

[dir="rtl"] .dataTables_wrapper .dataTables_info {
    text-align: right;
}

[dir="rtl"] .dataTables_wrapper .dataTables_length {
    text-align: right;
}

[dir="rtl"] .dataTables_wrapper .dataTables_paginate {
    text-align: left;
}

[dir="rtl"] table.dataTable thead th,
[dir="rtl"] table.dataTable thead td {
    text-align: right;
}

/* ========== Calendar RTL ========== */
[dir="rtl"] .fc {
    direction: rtl;
}

[dir="rtl"] .fc .fc-toolbar {
    flex-direction: row-reverse;
}

/* ========== Charts RTL ========== */
[dir="rtl"] .apexcharts-legend {
    direction: rtl;
}

[dir="rtl"] .apexcharts-legend-text {
    margin-inline-start: 5px;
    margin-inline-end: 0;
}

/* ========== Toggler RTL ========== */
[dir="rtl"] .app-toggler svg {
    transform: scaleX(-1);
}

/* ========== Select2 / Bootstrap Select RTL ========== */
[dir="rtl"] .bootstrap-select .dropdown-toggle {
    text-align: right;
}

[dir="rtl"] .bootstrap-select .dropdown-menu {
    text-align: right;
}

[dir="rtl"] .bootstrap-select .dropdown-toggle .filter-option {
    text-align: right;
}

/* ========== Toasts RTL ========== */
[dir="rtl"] .toast {
    text-align: right;
}

[dir="rtl"] .toast-header .btn-close {
    margin-inline-start: -0.375rem;
    margin-inline-end: 0.75rem;
}

/* ========== Offcanvas RTL ========== */
[dir="rtl"] .offcanvas-start {
    inset-inline-start: 0;
    inset-inline-end: auto;
    transform: translateX(100%);
}

[dir="rtl"] .offcanvas-end {
    inset-inline-end: 0;
    inset-inline-start: auto;
    transform: translateX(-100%);
}

[dir="rtl"] .offcanvas.show {
    transform: translateX(0);
}

/* ========== Responsive RTL ========== */
@media (max-width: 1479.98px) {
    [dir="rtl"] .app-wrapper {
        margin-inline-end: 0;
    }

    [dir="rtl"] .app-header {
        inset-inline-end: 0;
    }

    [dir="rtl"] .app-menubar-tabs.open {
        transform: translateX(0);
    }
}

@media (max-width: 991.98px) {
    [dir="rtl"] .chat-container {
        margin-inline-end: 0;
    }

    [dir="rtl"] .chat-sidebar.open {
        transform: translateX(0);
    }

    /* Touch-friendly adjustments */
    [dir="rtl"] .btn {
        min-height: 44px;
        padding: 0.5rem 1rem;
    }

    [dir="rtl"] .form-control,
    [dir="rtl"] .form-select {
        min-height: 44px;
        font-size: 16px; /* Prevents zoom on iOS */
    }

    [dir="rtl"] .dropdown-item {
        padding: 0.75rem 1rem;
        min-height: 44px;
        display: flex;
        align-items: center;
    }

    [dir="rtl"] .list-group-item {
        padding: 0.75rem 1rem;
        min-height: 44px;
    }

    [dir="rtl"] .nav-link {
        padding: 0.75rem 1rem;
        min-height: 44px;
    }
}

/* ========== Safe Area Support ========== */
@supports (padding: env(safe-area-inset-bottom)) {
    [dir="rtl"] .app-wrapper {
        padding-bottom: env(safe-area-inset-bottom);
    }

    [dir="rtl"] .fixed-bottom,
    [dir="rtl"] .sticky-bottom {
        padding-bottom: env(safe-area-inset-bottom);
    }

    [dir="rtl"] .modal-dialog {
        padding-inline-start: env(safe-area-inset-left);
        padding-inline-end: env(safe-area-inset-right);
    }
}

/* ========== Print RTL ========== */
@media print {
    [dir="rtl"] .app-wrapper {
        margin: 0;
    }

    [dir="rtl"] .app-sidebar,
    [dir="rtl"] .app-menubar-tabs {
        display: none;
    }
}
