/* ===== SENAITE RTL overrides (Tandis) — applied only under [dir=rtl] ===== */
/* Bootstrap 4 has no built-in RTL; flip directional spacing/float/text utils. */

[dir="rtl"] .ml-0{margin-left:0!important;margin-right:0!important}
[dir="rtl"] .mr-0{margin-right:0!important;margin-left:0!important}
[dir="rtl"] .pl-0{padding-left:0!important;padding-right:0!important}
[dir="rtl"] .pr-0{padding-right:0!important;padding-left:0!important}
[dir="rtl"] .ml-1{margin-left:0!important;margin-right:0.25rem!important}
[dir="rtl"] .mr-1{margin-right:0!important;margin-left:0.25rem!important}
[dir="rtl"] .pl-1{padding-left:0!important;padding-right:0.25rem!important}
[dir="rtl"] .pr-1{padding-right:0!important;padding-left:0.25rem!important}
[dir="rtl"] .ml-2{margin-left:0!important;margin-right:0.5rem!important}
[dir="rtl"] .mr-2{margin-right:0!important;margin-left:0.5rem!important}
[dir="rtl"] .pl-2{padding-left:0!important;padding-right:0.5rem!important}
[dir="rtl"] .pr-2{padding-right:0!important;padding-left:0.5rem!important}
[dir="rtl"] .ml-3{margin-left:0!important;margin-right:1rem!important}
[dir="rtl"] .mr-3{margin-right:0!important;margin-left:1rem!important}
[dir="rtl"] .pl-3{padding-left:0!important;padding-right:1rem!important}
[dir="rtl"] .pr-3{padding-right:0!important;padding-left:1rem!important}
[dir="rtl"] .ml-4{margin-left:0!important;margin-right:1.5rem!important}
[dir="rtl"] .mr-4{margin-right:0!important;margin-left:1.5rem!important}
[dir="rtl"] .pl-4{padding-left:0!important;padding-right:1.5rem!important}
[dir="rtl"] .pr-4{padding-right:0!important;padding-left:1.5rem!important}
[dir="rtl"] .ml-5{margin-left:0!important;margin-right:3rem!important}
[dir="rtl"] .mr-5{margin-right:0!important;margin-left:3rem!important}
[dir="rtl"] .pl-5{padding-left:0!important;padding-right:3rem!important}
[dir="rtl"] .pr-5{padding-right:0!important;padding-left:3rem!important}
[dir="rtl"] .ml-auto{margin-left:0!important;margin-right:auto!important}
[dir="rtl"] .mr-auto{margin-right:0!important;margin-left:auto!important}
[dir="rtl"] .ml-sm-0{margin-left:0!important;margin-right:0!important}
[dir="rtl"] .mr-sm-0{margin-right:0!important;margin-left:0!important}
[dir="rtl"] .pl-sm-0{padding-left:0!important;padding-right:0!important}
[dir="rtl"] .pr-sm-0{padding-right:0!important;padding-left:0!important}
[dir="rtl"] .ml-sm-1{margin-left:0!important;margin-right:0.25rem!important}
[dir="rtl"] .mr-sm-1{margin-right:0!important;margin-left:0.25rem!important}
[dir="rtl"] .pl-sm-1{padding-left:0!important;padding-right:0.25rem!important}
[dir="rtl"] .pr-sm-1{padding-right:0!important;padding-left:0.25rem!important}
[dir="rtl"] .ml-sm-2{margin-left:0!important;margin-right:0.5rem!important}
[dir="rtl"] .mr-sm-2{margin-right:0!important;margin-left:0.5rem!important}
[dir="rtl"] .pl-sm-2{padding-left:0!important;padding-right:0.5rem!important}
[dir="rtl"] .pr-sm-2{padding-right:0!important;padding-left:0.5rem!important}
[dir="rtl"] .ml-sm-3{margin-left:0!important;margin-right:1rem!important}
[dir="rtl"] .mr-sm-3{margin-right:0!important;margin-left:1rem!important}
[dir="rtl"] .pl-sm-3{padding-left:0!important;padding-right:1rem!important}
[dir="rtl"] .pr-sm-3{padding-right:0!important;padding-left:1rem!important}
[dir="rtl"] .ml-sm-4{margin-left:0!important;margin-right:1.5rem!important}
[dir="rtl"] .mr-sm-4{margin-right:0!important;margin-left:1.5rem!important}
[dir="rtl"] .pl-sm-4{padding-left:0!important;padding-right:1.5rem!important}
[dir="rtl"] .pr-sm-4{padding-right:0!important;padding-left:1.5rem!important}
[dir="rtl"] .ml-sm-5{margin-left:0!important;margin-right:3rem!important}
[dir="rtl"] .mr-sm-5{margin-right:0!important;margin-left:3rem!important}
[dir="rtl"] .pl-sm-5{padding-left:0!important;padding-right:3rem!important}
[dir="rtl"] .pr-sm-5{padding-right:0!important;padding-left:3rem!important}
[dir="rtl"] .ml-sm-auto{margin-left:0!important;margin-right:auto!important}
[dir="rtl"] .mr-sm-auto{margin-right:0!important;margin-left:auto!important}
[dir="rtl"] .ml-md-0{margin-left:0!important;margin-right:0!important}
[dir="rtl"] .mr-md-0{margin-right:0!important;margin-left:0!important}
[dir="rtl"] .pl-md-0{padding-left:0!important;padding-right:0!important}
[dir="rtl"] .pr-md-0{padding-right:0!important;padding-left:0!important}
[dir="rtl"] .ml-md-1{margin-left:0!important;margin-right:0.25rem!important}
[dir="rtl"] .mr-md-1{margin-right:0!important;margin-left:0.25rem!important}
[dir="rtl"] .pl-md-1{padding-left:0!important;padding-right:0.25rem!important}
[dir="rtl"] .pr-md-1{padding-right:0!important;padding-left:0.25rem!important}
[dir="rtl"] .ml-md-2{margin-left:0!important;margin-right:0.5rem!important}
[dir="rtl"] .mr-md-2{margin-right:0!important;margin-left:0.5rem!important}
[dir="rtl"] .pl-md-2{padding-left:0!important;padding-right:0.5rem!important}
[dir="rtl"] .pr-md-2{padding-right:0!important;padding-left:0.5rem!important}
[dir="rtl"] .ml-md-3{margin-left:0!important;margin-right:1rem!important}
[dir="rtl"] .mr-md-3{margin-right:0!important;margin-left:1rem!important}
[dir="rtl"] .pl-md-3{padding-left:0!important;padding-right:1rem!important}
[dir="rtl"] .pr-md-3{padding-right:0!important;padding-left:1rem!important}
[dir="rtl"] .ml-md-4{margin-left:0!important;margin-right:1.5rem!important}
[dir="rtl"] .mr-md-4{margin-right:0!important;margin-left:1.5rem!important}
[dir="rtl"] .pl-md-4{padding-left:0!important;padding-right:1.5rem!important}
[dir="rtl"] .pr-md-4{padding-right:0!important;padding-left:1.5rem!important}
[dir="rtl"] .ml-md-5{margin-left:0!important;margin-right:3rem!important}
[dir="rtl"] .mr-md-5{margin-right:0!important;margin-left:3rem!important}
[dir="rtl"] .pl-md-5{padding-left:0!important;padding-right:3rem!important}
[dir="rtl"] .pr-md-5{padding-right:0!important;padding-left:3rem!important}
[dir="rtl"] .ml-md-auto{margin-left:0!important;margin-right:auto!important}
[dir="rtl"] .mr-md-auto{margin-right:0!important;margin-left:auto!important}
[dir="rtl"] .ml-lg-0{margin-left:0!important;margin-right:0!important}
[dir="rtl"] .mr-lg-0{margin-right:0!important;margin-left:0!important}
[dir="rtl"] .pl-lg-0{padding-left:0!important;padding-right:0!important}
[dir="rtl"] .pr-lg-0{padding-right:0!important;padding-left:0!important}
[dir="rtl"] .ml-lg-1{margin-left:0!important;margin-right:0.25rem!important}
[dir="rtl"] .mr-lg-1{margin-right:0!important;margin-left:0.25rem!important}
[dir="rtl"] .pl-lg-1{padding-left:0!important;padding-right:0.25rem!important}
[dir="rtl"] .pr-lg-1{padding-right:0!important;padding-left:0.25rem!important}
[dir="rtl"] .ml-lg-2{margin-left:0!important;margin-right:0.5rem!important}
[dir="rtl"] .mr-lg-2{margin-right:0!important;margin-left:0.5rem!important}
[dir="rtl"] .pl-lg-2{padding-left:0!important;padding-right:0.5rem!important}
[dir="rtl"] .pr-lg-2{padding-right:0!important;padding-left:0.5rem!important}
[dir="rtl"] .ml-lg-3{margin-left:0!important;margin-right:1rem!important}
[dir="rtl"] .mr-lg-3{margin-right:0!important;margin-left:1rem!important}
[dir="rtl"] .pl-lg-3{padding-left:0!important;padding-right:1rem!important}
[dir="rtl"] .pr-lg-3{padding-right:0!important;padding-left:1rem!important}
[dir="rtl"] .ml-lg-4{margin-left:0!important;margin-right:1.5rem!important}
[dir="rtl"] .mr-lg-4{margin-right:0!important;margin-left:1.5rem!important}
[dir="rtl"] .pl-lg-4{padding-left:0!important;padding-right:1.5rem!important}
[dir="rtl"] .pr-lg-4{padding-right:0!important;padding-left:1.5rem!important}
[dir="rtl"] .ml-lg-5{margin-left:0!important;margin-right:3rem!important}
[dir="rtl"] .mr-lg-5{margin-right:0!important;margin-left:3rem!important}
[dir="rtl"] .pl-lg-5{padding-left:0!important;padding-right:3rem!important}
[dir="rtl"] .pr-lg-5{padding-right:0!important;padding-left:3rem!important}
[dir="rtl"] .ml-lg-auto{margin-left:0!important;margin-right:auto!important}
[dir="rtl"] .mr-lg-auto{margin-right:0!important;margin-left:auto!important}
[dir="rtl"] .ml-xl-0{margin-left:0!important;margin-right:0!important}
[dir="rtl"] .mr-xl-0{margin-right:0!important;margin-left:0!important}
[dir="rtl"] .pl-xl-0{padding-left:0!important;padding-right:0!important}
[dir="rtl"] .pr-xl-0{padding-right:0!important;padding-left:0!important}
[dir="rtl"] .ml-xl-1{margin-left:0!important;margin-right:0.25rem!important}
[dir="rtl"] .mr-xl-1{margin-right:0!important;margin-left:0.25rem!important}
[dir="rtl"] .pl-xl-1{padding-left:0!important;padding-right:0.25rem!important}
[dir="rtl"] .pr-xl-1{padding-right:0!important;padding-left:0.25rem!important}
[dir="rtl"] .ml-xl-2{margin-left:0!important;margin-right:0.5rem!important}
[dir="rtl"] .mr-xl-2{margin-right:0!important;margin-left:0.5rem!important}
[dir="rtl"] .pl-xl-2{padding-left:0!important;padding-right:0.5rem!important}
[dir="rtl"] .pr-xl-2{padding-right:0!important;padding-left:0.5rem!important}
[dir="rtl"] .ml-xl-3{margin-left:0!important;margin-right:1rem!important}
[dir="rtl"] .mr-xl-3{margin-right:0!important;margin-left:1rem!important}
[dir="rtl"] .pl-xl-3{padding-left:0!important;padding-right:1rem!important}
[dir="rtl"] .pr-xl-3{padding-right:0!important;padding-left:1rem!important}
[dir="rtl"] .ml-xl-4{margin-left:0!important;margin-right:1.5rem!important}
[dir="rtl"] .mr-xl-4{margin-right:0!important;margin-left:1.5rem!important}
[dir="rtl"] .pl-xl-4{padding-left:0!important;padding-right:1.5rem!important}
[dir="rtl"] .pr-xl-4{padding-right:0!important;padding-left:1.5rem!important}
[dir="rtl"] .ml-xl-5{margin-left:0!important;margin-right:3rem!important}
[dir="rtl"] .mr-xl-5{margin-right:0!important;margin-left:3rem!important}
[dir="rtl"] .pl-xl-5{padding-left:0!important;padding-right:3rem!important}
[dir="rtl"] .pr-xl-5{padding-right:0!important;padding-left:3rem!important}
[dir="rtl"] .ml-xl-auto{margin-left:0!important;margin-right:auto!important}
[dir="rtl"] .mr-xl-auto{margin-right:0!important;margin-left:auto!important}
[dir="rtl"] .float-left{float:right!important}
[dir="rtl"] .float-right{float:left!important}
[dir="rtl"] .text-left{text-align:right!important}
[dir="rtl"] .text-right{text-align:left!important}
[dir="rtl"] .float-sm-left{float:right!important}
[dir="rtl"] .float-sm-right{float:left!important}
[dir="rtl"] .text-sm-left{text-align:right!important}
[dir="rtl"] .text-sm-right{text-align:left!important}
[dir="rtl"] .float-md-left{float:right!important}
[dir="rtl"] .float-md-right{float:left!important}
[dir="rtl"] .text-md-left{text-align:right!important}
[dir="rtl"] .text-md-right{text-align:left!important}
[dir="rtl"] .float-lg-left{float:right!important}
[dir="rtl"] .float-lg-right{float:left!important}
[dir="rtl"] .text-lg-left{text-align:right!important}
[dir="rtl"] .text-lg-right{text-align:left!important}
[dir="rtl"] .float-xl-left{float:right!important}
[dir="rtl"] .float-xl-right{float:left!important}
[dir="rtl"] .text-xl-left{text-align:right!important}
[dir="rtl"] .text-xl-right{text-align:left!important}

/* --- component fixes --- */
[dir="rtl"] { text-align: right; }
[dir="rtl"] .dropdown-menu { text-align: right; }
[dir="rtl"] .dropdown-menu-right { right: auto; left: 0; }
[dir="rtl"] .dropdown-toggle::after { margin-left: 0; margin-right: .255em; }
[dir="rtl"] .close { float: left; }
[dir="rtl"] .breadcrumb-item + .breadcrumb-item { padding-left: 0; padding-right: .5rem; }
[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before { padding-left: .5rem; padding-right: 0; float: right; }
[dir="rtl"] .custom-control { padding-left: 0; padding-right: 1.5rem; }
[dir="rtl"] .custom-control-label::before,
[dir="rtl"] .custom-control-label::after { left: auto; right: -1.5rem; }
[dir="rtl"] .list-inline-item:not(:last-child) { margin-right: 0; margin-left: .5rem; }
[dir="rtl"] .input-group > .input-group-append > .btn,
[dir="rtl"] .input-group > .input-group-append > .input-group-text { border-radius: .25rem 0 0 .25rem; }
[dir="rtl"] .input-group > .input-group-prepend > .btn,
[dir="rtl"] .input-group > .input-group-prepend > .input-group-text { border-radius: 0 .25rem .25rem 0; }

/* SENAITE sidebar: move divider/handle to the left edge in RTL */
[dir="rtl"] #sidebar { border-right: none !important; border-left: 1px solid #e5e7eb !important; }
[dir="rtl"] #sidebar .resize-handle { right: auto !important; left: 0 !important; }
[dir="rtl"] #sidebar-header { text-align: left; }

/* tables & forms follow text direction */
[dir="rtl"] table.listing th, [dir="rtl"] table.listing td { text-align: right; }
[dir="rtl"] .form-check { padding-left: 0; padding-right: 1.25rem; }
[dir="rtl"] .form-check-input { margin-left: 0; margin-right: -1.25rem; }

/* keep codes/numbers/latin identifiers left-to-right inline */
[dir="rtl"] .sample-id, [dir="rtl"] code, [dir="rtl"] .mono { direction: ltr; unicode-bidi: embed; display: inline-block; }

