@font-face {
    font-family: "Noto Sans Arabic Local";
    src: url("../fonts/noto-sans-arabic/NotoSansArabic-Regular.ttf") format("truetype");
    font-style: normal;
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: "Noto Sans Arabic Local";
    src: url("../fonts/noto-sans-arabic/NotoSansArabic-Bold.ttf") format("truetype");
    font-style: normal;
    font-weight: 700;
    font-display: swap;
}

:root {
    --kh-ui-font: "Segoe UI", Arial, sans-serif;
    --kh-arabic-font: "Noto Sans Arabic Local", Tahoma, Arial, sans-serif;
}

html[lang="en-OM"] body { font-family: var(--kh-ui-font); }
html[lang="ar-OM"] body {
    font-family: var(--kh-arabic-font);
    line-height: 1.6;
    letter-spacing: 0;
}

[dir="rtl"] { text-align: start; }
[dir="rtl"] .text-start { text-align: right !important; }
[dir="rtl"] .text-end { text-align: left !important; }
[dir="rtl"] .dropdown-menu-end { --bs-position: start; }
[dir="rtl"] .dropdown-menu { text-align: start; }
[dir="rtl"] .form-check { padding-inline-start: 0; padding-inline-end: 1.5em; }
[dir="rtl"] .form-check .form-check-input { float: right; margin-inline-start: 0; margin-inline-end: -1.5em; }
[dir="rtl"] .input-group > :not(:first-child) { margin-inline-start: -1px; margin-left: 0; }
[dir="rtl"] .input-group > :first-child { border-start-start-radius: var(--bs-border-radius); border-end-start-radius: var(--bs-border-radius); }
[dir="rtl"] .input-group > :last-child { border-start-end-radius: var(--bs-border-radius); border-end-end-radius: var(--bs-border-radius); }
[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before { float: right; padding-inline: 0 .5rem; transform: scaleX(-1); }
[dir="rtl"] .pagination { padding-inline-start: 0; }
[dir="rtl"] .modal-header .btn-close { margin-inline-start: auto; margin-inline-end: 0; }
[dir="rtl"] .alert-dismissible { padding-inline-end: 3rem; }
[dir="rtl"] .alert-dismissible .btn-close { inset-inline-start: 0; inset-inline-end: auto; }
[dir="rtl"] .accordion-button::after { margin-inline-start: 0; margin-inline-end: auto; }
[dir="rtl"] .page-title-box,
[dir="rtl"] .card-title,
[dir="rtl"] label,
[dir="rtl"] th,
[dir="rtl"] td { text-align: start; }

.bidi-isolate,
code,
kbd,
samp,
.identifier,
[data-identifier] {
    direction: ltr;
    unicode-bidi: isolate;
    font-family: "Segoe UI", Consolas, Arial, sans-serif;
}

.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
}

.language-switcher form { margin: 0; }
.language-switcher__button {
    min-width: 44px;
    min-height: 44px;
    border: 1px solid currentColor;
    border-radius: .5rem;
    background: transparent;
    color: inherit;
    font: inherit;
    padding: .35rem .65rem;
}
.language-switcher__button[aria-current="true"] { font-weight: 700; text-decoration: underline; text-underline-offset: .2rem; }
.language-switcher__button:focus-visible { outline: 3px solid rgba(13, 110, 253, .35); outline-offset: 2px; }

html[dir="rtl"][data-menu-layout="Left"] .main-content { margin-right: var(--kh-sidebar-width); margin-left: 0; }
html[dir="rtl"][data-menu-layout="Left"] #page-topbar { right: var(--kh-sidebar-width); left: 0; }
html[dir="rtl"][data-menu-layout="Left"][data-sidebar-size="sm"] .main-content { margin-right: var(--kh-sidebar-collapsed); }
html[dir="rtl"][data-menu-layout="Left"][data-sidebar-size="sm"] #page-topbar { right: var(--kh-sidebar-collapsed); }
html[dir="rtl"][data-menu-layout="Top"] .main-content { margin-right: 0; margin-left: 0; }
html[dir="rtl"][data-menu-layout="Top"] #page-topbar { right: 0; left: 0; }
html[dir="rtl"] .navbar-menu { right: 0; left: auto; border-inline-start: 0; border-inline-end: 1px solid var(--vz-vertical-menu-border); }
html[dir="rtl"] .navbar-menu .navbar-nav .nav-link i { margin-inline-end: .35rem; }
html[dir="rtl"] .navbar-header .tenant-context-summary { text-align: end !important; margin-inline: 0 .5rem !important; }
html[dir="rtl"] .offcanvas-start { right: 0; left: auto; transform: translateX(100%); }

@media (max-width: 1024.98px) {
    html[dir="rtl"][data-menu-layout="Left"] .main-content,
    html[dir="rtl"][data-menu-layout="Top"] .main-content { margin-right: 0; margin-left: 0; }
    html[dir="rtl"][data-menu-layout="Left"] #page-topbar,
    html[dir="rtl"][data-menu-layout="Top"] #page-topbar { right: 0; left: 0; }
    html[dir="rtl"][data-menu-layout="Left"] .kh-sidebar { right: 0; left: auto; margin-right: 0; }
}

@media (max-width: 767.98px) {
    html[dir="rtl"] .app-menu { margin-right: 0; margin-left: 0; }
    button,
    .btn,
    .nav-link,
    .page-link,
    .form-control,
    .form-select {
        min-width: 44px;
        min-height: 44px;
    }
}

.table-responsive { overflow-inline: auto; }
.table-responsive table { min-width: max-content; }

@media print {
    @page { size: A4 portrait; margin: 12mm; }
    body { background: #fff !important; color: #000 !important; font-size: 10.5pt; }
    html[lang="ar-OM"] body { font-family: var(--kh-arabic-font); }
    #page-topbar, .app-menu, .footer, .vertical-overlay, .no-print, button, .btn { display: none !important; }
    .main-content, .page-content { margin: 0 !important; padding: 0 !important; }
    .card { border: 1px solid #bbb !important; box-shadow: none !important; break-inside: avoid; }
    .print-page-break { break-before: page; }
    .print-keep-together { break-inside: avoid; }
    a { color: inherit !important; text-decoration: none !important; }
}

.print-document { max-width: 210mm; margin: 0 auto; padding: 12mm; background: #fff; color: #111; }
.print-header, .print-footer { display: flex; justify-content: space-between; gap: 1rem; padding-block: .75rem; border-block-end: 1px solid #bbb; }
.print-footer { margin-block-start: 1.5rem; border-block-start: 1px solid #bbb; border-block-end: 0; }
.print-size-a5 { max-width: 148mm; }
.print-size-80mm { max-width: 80mm; padding: 4mm; font-size: 9pt; }

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
