/*
 * Hoger-till-vanster (arabiska).
 *
 * Laddas pa alla sidor, sist bland stilmallarna. Reglerna galler bara element
 * vars riktning ar rtl, och :dir(rtl) foljer NARMASTE dir-attribut - inte
 * <html>. Det ar det som later en svensk faktura (dir="ltr" pa dokumentet)
 * visas oforandrad i en arabisk app, och en arabisk faktura (dir="rtl")
 * speglas i en svensk. Byt inte tillbaka till [dir="rtl"] X: den selektorn
 * traffar varje element under ett rtl-element, aven inne i ett ltr-dokument.
 *
 * dir="rtl" speglar redan flex, grid och textflode; den har filen tar hand om
 * det som ar skrivet med fysiska left/right: Bootstrap 3, temat, app-*.css
 * och den forbyggda app-tailwind.css (som inte kan byggas om, se
 * .ai/rules/views.md). :dir() har samma specificitet som en klass, sa
 * reglerna vinner over originalen aven nar en vy laddar app-chosen.css eller
 * app-wizard.css senare i body.
 */

/* --- Tailwind: position och offcanvas-sidomenyn ------------------------- */
.tw-left-0:dir(rtl) { left: auto; right: 0; }
.tw--left-\[21px\]:dir(rtl) { left: auto; right: -21px; }
.tw--translate-x-full:dir(rtl) { --tw-translate-x: 100%; }
@media (min-width: 1024px) {
    .lg\:tw-translate-x-0:dir(rtl) { --tw-translate-x: 0px; }
}

/* --- Tailwind: marginaler och utfyllnad --------------------------------- */
.tw-ml-1:dir(rtl)     { margin-left: 0; margin-right: .25rem; }
.tw-ml-1\.5:dir(rtl)  { margin-left: 0; margin-right: .375rem; }
.tw-mr-1\.5:dir(rtl)  { margin-right: 0; margin-left: .375rem; }
.tw-pl-4:dir(rtl)     { padding-left: 0; padding-right: 1rem; }
.tw-pl-9:dir(rtl)     { padding-left: 0; padding-right: 2.25rem; }
.tw-pr-3:dir(rtl)     { padding-right: 0; padding-left: .75rem; }

/* --- Tailwind: textjustering -------------------------------------------- */
.tw-text-left:dir(rtl)  { text-align: right; }
.tw-text-right:dir(rtl) { text-align: left; }
@media (min-width: 640px) {
    .sm\:tw-text-right:dir(rtl) { text-align: left; }
}

/* --- Tailwind: kanter och horn ------------------------------------------
   Vanster sida far tillbaka den bredd elementet annars har: 1px med
   tw-border, 0 med tw-border-0 eller utan. */
.tw-border-l-2:dir(rtl) { border-left-width: 0; border-right-width: 2px; }
.tw-border-l-4:dir(rtl) { border-left-width: 0; border-right-width: 4px; }
.tw-border.tw-border-l-4:dir(rtl) { border-left-width: 1px; }
.tw-border-l-0:dir(rtl) { border-left-width: 1px; border-right-width: 0; }
.tw-border-r:dir(rtl)   { border-right-width: 0; border-left-width: 1px; }

.tw-border-l-status-blue:dir(rtl)   { border-left-color: var(--border); border-right-color: var(--status-blue); }
.tw-border-l-status-green:dir(rtl)  { border-left-color: var(--border); border-right-color: var(--status-green); }
.tw-border-l-status-orange:dir(rtl) { border-left-color: var(--border); border-right-color: var(--status-orange); }
.tw-border-l-status-red:dir(rtl)    { border-left-color: var(--border); border-right-color: var(--status-red); }

.tw-rounded-l:dir(rtl) { border-radius: 0 var(--radius) var(--radius) 0; }
.tw-rounded-r:dir(rtl) { border-radius: var(--radius) 0 0 var(--radius); }

/* --- Riktade ikoner ----------------------------------------------------- */
.fa-angle-right:dir(rtl),
.fa-angle-left:dir(rtl),
.fa-angle-double-right:dir(rtl),
.fa-angle-double-left:dir(rtl),
.fa-chevron-right:dir(rtl),
.fa-chevron-left:dir(rtl),
.fa-arrow-right:dir(rtl),
.fa-arrow-left:dir(rtl),
.fa-caret-right:dir(rtl),
.fa-caret-left:dir(rtl) { transform: scaleX(-1); }

/* --- Siffror i en rtl-rad -------------------------------------------------
   "12 500,00" och "2026-09-18" bestar av svaga tecken; i ett rtl-stycke
   hamnar de i fel ordning ("500,00 12"). plaintext later innehallet avgora
   riktningen per cell: siffror lases som ltr, arabisk text som rtl. */
td:dir(rtl),
th:dir(rtl) { unicode-bidi: plaintext; }

/* --- Bootstrap 3 -------------------------------------------------------- */
body:dir(rtl) { text-align: right; }
th:dir(rtl) { text-align: right; }

.pull-left:dir(rtl)  { float: right !important; }
.pull-right:dir(rtl) { float: left !important; }
.text-left:dir(rtl)  { text-align: right; }
.text-right:dir(rtl) { text-align: left; }
.close:dir(rtl) { float: left; }

[class*="col-xs-"]:dir(rtl) { float: right; }
@media (min-width: 768px) {
    [class*="col-sm-"]:dir(rtl) { float: right; }
    .form-horizontal .control-label:dir(rtl) { text-align: left; }
    .navbar-right:dir(rtl) { float: left !important; margin-right: 0; margin-left: -15px; }
}
@media (min-width: 992px) {
    [class*="col-md-"]:dir(rtl) { float: right; }
    .col-md-offset-1:dir(rtl) { margin-left: 0; margin-right: 8.33333333%; }
    .col-md-offset-2:dir(rtl) { margin-left: 0; margin-right: 16.66666667%; }
    .col-md-offset-3:dir(rtl) { margin-left: 0; margin-right: 25%; }
    .col-md-offset-4:dir(rtl) { margin-left: 0; margin-right: 33.33333333%; }
}
@media (min-width: 1200px) {
    [class*="col-lg-"]:dir(rtl) { float: right; }
}

.dropdown-menu:dir(rtl) { left: auto; right: 0; float: right; text-align: right; }
.dropdown-menu-right:dir(rtl),
.navbar-right .dropdown-menu:dir(rtl) { left: 0; right: auto; }

.checkbox label:dir(rtl),
.radio label:dir(rtl) { padding-left: 0; padding-right: 20px; }
.checkbox input[type="checkbox"]:dir(rtl),
.radio input[type="radio"]:dir(rtl) { margin-left: 0; margin-right: -20px; }
.checkbox-inline:dir(rtl),
.radio-inline:dir(rtl) { padding-left: 0; padding-right: 20px; }
.checkbox-inline + .checkbox-inline:dir(rtl),
.radio-inline + .radio-inline:dir(rtl) { margin-left: 0; margin-right: 10px; }

.input-group .form-control:first-child:dir(rtl),
.input-group-addon:first-child:dir(rtl),
.input-group-btn:first-child > .btn:dir(rtl) {
    border-radius: 0 var(--radius) var(--radius) 0;
}
.input-group .form-control:last-child:dir(rtl),
.input-group-addon:last-child:dir(rtl),
.input-group-btn:last-child > .btn:dir(rtl) {
    border-radius: var(--radius) 0 0 var(--radius);
}
.input-group-addon:first-child:dir(rtl) { border-right: 1px solid var(--border-strong); border-left: 0; }
.input-group-addon:last-child:dir(rtl)  { border-left: 1px solid var(--border-strong); border-right: 0; }

.btn-group > .btn:dir(rtl),
.btn-toolbar .btn-group:dir(rtl) { float: right; }
.btn-group.operations_shortcut > .btn:dir(rtl) { float: none; }
.btn-group .btn + .btn:dir(rtl) { margin-left: 0; margin-right: -1px; }
.btn-group > .btn:first-child:not(:last-child):dir(rtl) { border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.btn-group > .btn:last-child:not(:first-child):dir(rtl) { border-radius: var(--radius-sm) 0 0 var(--radius-sm); }

.nav-tabs > li:dir(rtl),
.nav-pills > li:dir(rtl) { float: right; }
.nav-tabs > li > a:dir(rtl) { margin-right: 0; margin-left: 2px; }
.nav-pills > li + li:dir(rtl) { margin-left: 0; margin-right: 2px; }

.pagination > li > a:dir(rtl),
.pagination > li > span:dir(rtl) { float: right; margin-left: 0; margin-right: -1px; }
.pagination > li:first-child > a:dir(rtl),
.pagination > li:first-child > span:dir(rtl) { margin-right: 0; border-radius: 0 var(--radius) var(--radius) 0; }
.pagination > li:last-child > a:dir(rtl),
.pagination > li:last-child > span:dir(rtl) { border-radius: var(--radius) 0 0 var(--radius); }

.modal-footer:dir(rtl) { text-align: left; }
.modal-footer .btn + .btn:dir(rtl) { margin-left: 0; margin-right: 5px; }

/* --- app-components.css ------------------------------------------------- */
label.required:dir(rtl)::after,
.is-required > label:dir(rtl)::after { margin-left: 0; margin-right: 2px; }
.alert:dir(rtl) { border-left-width: 1px; border-right-width: 3px; }
.dataTables_wrapper table.dataTable .btn-sm + .btn-sm:dir(rtl),
.dataTables_wrapper table.dataTable a + a:dir(rtl) { margin-left: 0; margin-right: 3px; }
.dataTables_wrapper .dataTables_paginate .paginate_button:dir(rtl) { margin-left: 0; margin-right: 3px; }

/* --- custom.css --------------------------------------------------------- */
.itemsTable th:dir(rtl) { text-align: right; }
.item_descwrap input:dir(rtl),
.item_wrap input:dir(rtl) { margin-right: 0; margin-left: 5px; }
.text-right-not-sm:dir(rtl) { text-align: left; }
@media (max-width: 767px) {
    .float-left:dir(rtl) { float: right; margin-right: 0; margin-left: 10px; }
    .text-right-not-sm:dir(rtl) { text-align: inherit; }
}

/* --- app-wizard.css ----------------------------------------------------- */
#create_invoice > tfoot input:dir(rtl),
.invoice-summary input:dir(rtl) { text-align: left; }

/* --- Chosen (chosen.css + app-chosen.css) -------------------------------- */
.chosen-container:dir(rtl) { text-align: right; }
.chosen-container-single .chosen-single:dir(rtl) { padding: 0 8px 0 0; }
.chosen-container-single .chosen-single div:dir(rtl) { right: auto; left: 0; }
.chosen-container-single .chosen-single abbr:dir(rtl) { right: auto; left: 26px; }
.chosen-container .chosen-results:dir(rtl) { padding: 0 4px 0 0; margin: 0 0 4px 4px; }
.chosen-container-multi .chosen-choices li:dir(rtl) { float: right; }
.chosen-container-multi .chosen-choices li.search-choice:dir(rtl) { margin: 3px 5px 3px 0; padding: 3px 5px 3px 20px; }
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:dir(rtl) { right: auto; left: 3px; }

/* --- Inline-stilar i layouts/auth och unauth/landing --------------------- */
.alert .close:dir(rtl) { right: auto; left: .625rem; }
.lp-check:dir(rtl) { padding-left: 0; padding-right: 1.75rem; }
.lp-check:dir(rtl)::before { left: auto; right: .25rem; }
