/* ── Language toggle (works on login + app — no Tailwind required) ── */
.language-toggle {
    display: inline-flex;
    align-items: center;
    border-radius: 0.75rem;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    padding: 2px;
    font-size: 11px;
    font-weight: 700;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    line-height: 1;
}

.language-toggle a {
    display: inline-flex;
    min-width: 32px;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    padding: 6px 8px;
    text-decoration: none !important;
    transition: color 0.15s ease, background 0.15s ease;
    color: #64748b;
    font-family: inherit;
}

.language-toggle a.is-active {
    background: #0C4079;
    color: #fff !important;
    box-shadow: 0 1px 2px rgba(12, 64, 121, 0.25);
}

.language-toggle a:not(.is-active):hover {
    color: #0C4079;
}

.login-language-toggle {
    position: fixed;
    top: 1rem;
    z-index: 1000;
}

[dir="rtl"] .login-language-toggle {
    left: 1rem;
    right: auto;
}

[dir="ltr"] .login-language-toggle {
    right: 1rem;
    left: auto;
}

/* ── App layout: LTR sidebar on the left ── */
[dir="ltr"] .sidebar,
[dir="ltr"] aside.sidebar {
    right: auto !important;
    left: 0 !important;
    border-left: none !important;
    border-right: 1px solid #f1f5f9 !important;
}

[dir="ltr"] .main-content {
    margin-right: 0 !important;
    margin-left: calc(var(--sidebar-width) + var(--sidebar-gap)) !important;
}

@media (min-width: 769px) {
    [dir="ltr"] body.app-ready .main-content {
        transition-property: margin-left !important;
    }

    [dir="ltr"] body.sidebar-collapsed .main-content {
        margin-left: calc(var(--sidebar-collapsed-width) + var(--sidebar-gap)) !important;
        margin-right: 0 !important;
    }
}

@media (max-width: 768px) {
    [dir="ltr"] .sidebar {
        transform: translate3d(-100%, 0, 0) !important;
    }

    [dir="ltr"] .sidebar.mobile-active {
        transform: translate3d(0, 0, 0) !important;
    }

    [dir="ltr"] .main-content {
        margin-left: 0 !important;
    }
}

/* Sidebar tooltip */
[dir="ltr"] .sidebar-glass-tooltip {
    transform: translateY(-50%) translateX(-8px);
}

[dir="ltr"] .sidebar-glass-tooltip.show {
    transform: translateY(-50%) translateX(0);
}

/* Pace loader */
[dir="ltr"] .pace .pace-progress {
    right: auto;
    left: 100%;
}

[dir="ltr"] .pace .pace-progress-inner {
    right: auto;
    left: 0;
}

/* Dropdowns — align to trigger on the right side in LTR */
[dir="ltr"] #profileDropdown,
[dir="ltr"] #mobileInfoDropdownMenu {
    left: auto !important;
    right: 0 !important;
}

@media (min-width: 768px) {
    [dir="ltr"] #notificationDropdown,
    [dir="ltr"] #cronCommandsDropdown {
        left: auto !important;
        right: 0 !important;
        transform-origin: top right !important;
    }

    [dir="ltr"] #notificationDropdown.show,
    [dir="ltr"] #cronCommandsDropdown.show {
        transform-origin: top right !important;
    }
}

[dir="ltr"] .dropdown-item-custom.logout,
[dir="ltr"] button.dropdown-item-custom {
    text-align: left !important;
}

/* Dashboard stat cards */
[dir="ltr"] .stat-info {
    direction: ltr;
    text-align: left;
}

[dir="ltr"] .stat-icon {
    margin-right: 0;
    margin-left: auto;
}

[dir="ltr"] .card-menu {
    right: auto;
    left: 1rem;
}

/* ── Login page LTR ── */
[dir="ltr"] .login__input {
    text-align: left;
    padding: 0 2.75rem 0 0.75rem;
}

[dir="ltr"] .login__icon {
    left: auto;
    right: 0.45rem;
}

[dir="ltr"] .login__label {
    left: 0.75rem;
    right: auto;
    text-align: left;
    direction: ltr;
}

[dir="ltr"] .login__input:focus ~ .login__label,
[dir="ltr"] .login__input:not(:placeholder-shown) ~ .login__label,
[dir="ltr"] .login__input.active ~ .login__label {
    left: 0.75rem;
    right: auto;
}

[dir="ltr"] .login__input:focus,
[dir="ltr"] .login__input:not(:placeholder-shown),
[dir="ltr"] .login__input.active {
    padding-left: 0.75rem;
    padding-right: 2.75rem;
}

[dir="ltr"] .login__forgot {
    margin-left: 0;
    margin-right: auto;
    text-align: left;
}

[dir="ltr"] .reset-step__lead,
[dir="ltr"] .reset-step__notice,
[dir="ltr"] #resetAlert .alert,
[dir="ltr"] .blocked-hint {
    text-align: left;
    direction: ltr;
}

[dir="ltr"] .back-btn i.fa-arrow-right {
    transform: scaleX(-1);
}

[dir="ltr"] .login__switch {
    text-align: center;
}

[dir="ltr"] .duplicate-logout-alert {
    direction: ltr !important;
    text-align: left !important;
}

/* Dashboard quick actions arrow */
[dir="ltr"] .dash-quick-item:hover .dash-quick-item__arrow {
    transform: translateX(2px);
}

/* Notification footer arrow */
[dir="ltr"] .notification-footer .fi-rr-arrow-small-left::before {
    transform: scaleX(-1);
    display: inline-block;
}

/* ── Login desktop layout mirror (image right, form left) ── */
@media screen and (min-width: 1150px) {
    [dir="ltr"] .login__blob-wrap {
        left: auto;
        right: 0;
    }

    /* Straight edge on screen right; curved cut faces the form on the left */
    [dir="ltr"] .login__blob {
        transform: none;
        transform-origin: right center;
    }

    [dir="rtl"] .login__blob {
        transform: scaleX(-1);
        transform-origin: center center;
    }

    [dir="ltr"] .login__form-panel {
        justify-items: start;
        padding: 2rem 0 2rem clamp(5%, 9vw, 11%);
    }

    [dir="ltr"] .login__card-stack {
        grid-column: 1;
    }

    [dir="ltr"] .login__title,
    [dir="ltr"] .login__title--col {
        text-align: left;
    }

    [dir="ltr"] .login__card-hints {
        text-align: left;
    }

    /* Form left, hints right */
    [dir="ltr"] .login__card-form {
        order: 1;
    }

    [dir="ltr"] .login__card-hints {
        order: 2;
        border-inline-start: 1px solid rgba(255, 255, 255, 0.28);
        border-inline-end: none;
    }

    [dir="ltr"] .login__hints-list li {
        flex-direction: row;
        text-align: left;
    }
}

/* ── Global LTR: pages built RTL-first with Tailwind physical utilities ── */
[dir="ltr"] .main-content .text-right,
[dir="ltr"] .main-content .sm\:text-right,
[dir="ltr"] .main-content .md\:text-right,
[dir="ltr"] .main-content .lg\:text-right {
    text-align: left !important;
}

[dir="ltr"] .main-content table th.text-right,
[dir="ltr"] .main-content table td.text-right,
[dir="ltr"] .main-content .table th.text-right,
[dir="ltr"] .main-content .table td.text-right {
    text-align: left !important;
}

/* Back / navigation arrows that point right in RTL */
[dir="ltr"] .main-content .fi-rr-arrow-small-right,
[dir="ltr"] .main-content .fi-rr-angle-small-right {
    display: inline-block;
    transform: scaleX(-1);
}

[dir="ltr"] .main-content .fi-rr-arrow-left,
[dir="ltr"] .main-content .fi-rr-angle-left {
    display: inline-block;
    transform: scaleX(-1);
}

/* Page section titles and content inherit LTR from html */
[dir="ltr"] .main-content {
    direction: ltr;
    text-align: left;
}

[dir="ltr"] .engineer-show-page,
[dir="ltr"] .engineer-show-page .eng-show-content {
    direction: ltr;
    text-align: left;
}

/* Engineer profile / show — tab nav + field rows */
[dir="ltr"] .engineer-show-page .eng-nav-btn.nav-link {
    text-align: left;
}

[dir="ltr"] .engineer-show-page #engineerTabContent .tab-pane > .grid > div {
    text-align: left;
}

[dir="ltr"] .engineer-show-page #engineerTabContent .tab-pane > .grid > div > .text-xs,
[dir="ltr"] .engineer-show-page #engineerTabContent .tab-pane > .grid > div > .info-value {
    text-align: left;
}

/* Tab sidebar divider: border on inner edge in LTR */
@media (min-width: 1024px) {
    [dir="ltr"] .engineer-show-page .rounded-xl.bg-white .grid > div:first-child {
        border-left-width: 0 !important;
        border-right: 1px solid #f1f5f9 !important;
    }
}

/* Profile header block */
[dir="ltr"] .engineer-show-page .md\:text-right {
    text-align: left !important;
}

[dir="ltr"] .engineer-show-page .md\:justify-start {
    justify-content: flex-start !important;
}

/* Mobile data tables */
[dir="ltr"] .engineer-show-page .eng-table tbody td::before {
    margin-left: 0;
    margin-right: 1rem;
}

/* Photo lightbox close button */
[dir="ltr"] .engineer-show-page .eng-photo-lightbox-close {
    left: auto;
    right: 1rem;
}

/* Data tables: keep numbers readable */
[dir="ltr"] .main-content .tabular-nums {
    direction: ltr;
    unicode-bidi: isolate;
}

/* Toasts */
[dir="ltr"] #appToastHost,
[dir="ltr"] #liveEmailToastHost {
    direction: ltr;
}

[dir="ltr"] #liveEmailToastHost {
    left: auto;
    right: 1rem;
}

/* Server settings / admin pages */
[dir="ltr"] .admin-page,
[dir="ltr"] .si-page,
[dir="ltr"] .ls-page {
    direction: ltr;
    text-align: left;
}

[dir="ltr"] .admin-page table th.text-right,
[dir="ltr"] .admin-page table td.text-right,
[dir="ltr"] .ls-page table th.text-right,
[dir="ltr"] .ls-page table td.text-right {
    text-align: left !important;
}

[dir="ltr"] .admin-page .flex.justify-end,
[dir="ltr"] .si-page .flex.justify-end {
    justify-content: flex-start;
}

[dir="ltr"] .admin-page .fi-rr-angle-small-left {
    display: inline-block;
    transform: scaleX(-1);
}

[dir="ltr"] .admin-page .fi-rr-angle-small-right {
    display: inline-block;
    transform: scaleX(-1);
}

/* App pages — teams, building notes, engineers, etc. */
[dir="ltr"] .main-content .teams-page,
[dir="ltr"] .main-content .team-form-page,
[dir="ltr"] .main-content .team-show-page,
[dir="ltr"] .main-content .notes-page,
[dir="ltr"] .main-content .note-detail-page,
[dir="ltr"] .main-content .engineers-page,
[dir="ltr"] .main-content .engineer-show-page,
[dir="ltr"] .main-content .users-page,
[dir="ltr"] .main-content .stats-page,
[dir="ltr"] .main-content .messages-page,
[dir="ltr"] .main-content .dept-page,
[dir="ltr"] .main-content .complaints-page,
[dir="ltr"] .main-content .complaints-form-page,
[dir="ltr"] .main-content .attendance-page,
[dir="ltr"] .main-content .attendance-form-page,
[dir="ltr"] .main-content .sync-page,
[dir="ltr"] .main-content .sync-form-page,
[dir="ltr"] .main-content .finance-page,
[dir="ltr"] .main-content .issues-page,
[dir="ltr"] .main-content .history-page {
    direction: ltr;
    text-align: left;
}

[dir="ltr"] .main-content .teams-table th.text-right,
[dir="ltr"] .main-content .teams-table td.text-right,
[dir="ltr"] .main-content .notes-table th.text-right,
[dir="ltr"] .main-content .notes-table td.text-right,
[dir="ltr"] .main-content .stats-table th.text-right,
[dir="ltr"] .main-content .stats-table td.text-right,
[dir="ltr"] .main-content .complaints-table th.text-right,
[dir="ltr"] .main-content .complaints-table td.text-right,
[dir="ltr"] .main-content .attendance-table th.text-right,
[dir="ltr"] .main-content .attendance-table td.text-right,
[dir="ltr"] .main-content .sync-table th.text-right,
[dir="ltr"] .main-content .sync-table td.text-right,
[dir="ltr"] .main-content table th.text-right,
[dir="ltr"] .main-content table td.text-right {
    text-align: left !important;
}

[dir="ltr"] .main-content .fi-rr-angle-small-left,
[dir="ltr"] .main-content .fi-rr-angle-small-right {
    display: inline-block;
}

[dir="ltr"] .main-content .pagination-btn .fi-rr-angle-small-left {
    transform: scaleX(-1);
}

[dir="ltr"] .main-content .pagination-btn .fi-rr-angle-small-right {
    transform: scaleX(-1);
}

[dir="ltr"] .main-content .teams-page .fi-rr-arrow-right,
[dir="ltr"] .main-content .team-form-page .fi-rr-arrow-right,
[dir="ltr"] .main-content .team-show-page .fi-rr-arrow-right,
[dir="ltr"] .main-content .notes-page .fi-rr-arrow-right,
[dir="ltr"] .main-content .note-detail-page .fi-rr-arrow-right,
[dir="ltr"] .main-content .complaints-page .fi-rr-arrow-right,
[dir="ltr"] .main-content .complaints-form-page .fi-rr-arrow-right,
[dir="ltr"] .main-content .attendance-page .fi-rr-arrow-right,
[dir="ltr"] .main-content .sync-page .fi-rr-arrow-right,
[dir="ltr"] .main-content .messages-page .fi-rr-arrow-right,
[dir="ltr"] .main-content .engineers-page .fi-rr-arrow-right {
    display: inline-block;
    transform: scaleX(-1);
}

@media (max-width: 768px) {
    [dir="ltr"] .notes-table tbody td::before,
    [dir="ltr"] .teams-table tbody td::before,
    [dir="ltr"] .complaints-table tbody td::before,
    [dir="ltr"] .attendance-table tbody td::before,
    [dir="ltr"] .sync-table tbody td::before {
        margin-left: 0;
        margin-right: 1rem;
    }
}
