/************************************************
 * Add and rotate arrow/carret on collapsed elements
 */
.card-header .fa {
    transition: .3s transform ease-in-out;
}
.card-header .collapsed .fa {
    transform: rotate(180deg);
}

.card-header {
    background-color: transparent;
    border-bottom: none;
}

.card {
    background-color: inherit;
    border: 1px solid var(--color-fg-3) !important;
}

.table {
    color: inherit !important;
}

.text-black {
    color: #495057;
}

.text-white-hover:hover {
    color: #ffffff !important;
}

.text-underline {
    text-decoration: underline !important;
}

.text-strikethrough {
    text-decoration: line-through !important;
}

.table th, .table td {
    padding: 0.4rem;
}

/* ============================================================
  text toggler
============================================================ */
.cmn-toggle {
    position: absolute;
    visibility: hidden;
}
.cmn-toggle + label {
    display: block;
    position: relative;
    cursor: pointer;
    outline: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}


/* ============================================================
  SWITCH
============================================================ */
input.text-toggler + label {
    padding: 2px;
    width: 100px;
    height: 30px;
}
input.text-toggler + label:before, input.text-toggler + label:after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    text-align: center;
    line-height: 30px;
}
input.text-toggler + label:before {
    background-color: #f46a6a;
    content: attr(data-off);
    -webkit-transition: -webkit-transform 0.5s;
    -moz-transition: -moz-transform 0.5s;
    -o-transition: -o-transform 0.5s;
    transition: transform 0.5s;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
}
input.text-toggler + label:after {
    background-color: #0b0;
    content: attr(data-on);
    -webkit-transition: -webkit-transform 0.5s;
    -moz-transition: -moz-transform 0.5s;
    -o-transition: -o-transform 0.5s;
    transition: transform 0.5s;
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
    transform: rotateY(180deg);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -o-backface-visibility: hidden;
    backface-visibility: hidden;
}
input.text-toggler:checked + label:before {
    -webkit-transform: rotateY(180deg);
    -moz-transform: rotateY(180deg);
    -ms-transform: rotateY(180deg);
    -o-transform: rotateY(180deg);
    transform: rotateY(180deg);
}
input.text-toggler:checked + label:after {
    -webkit-transform: rotateY(0);
    -moz-transform: rotateY(0);
    -ms-transform: rotateY(0);
    -o-transform: rotateY(0);
    transform: rotateY(0);
}


/* ============================================================
  Cursor shapes
============================================================ */
.cursor-alias {cursor: alias;}
.cursor-all-scroll {cursor: all-scroll;}
.cursor-auto {cursor: auto;}
.cursor-cell {cursor: cell;}
.cursor-context-menu {cursor: context-menu;}
.cursor-col-resize {cursor: col-resize;}
.cursor-copy {cursor: copy;}
.cursor-crosshair {cursor: crosshair;}
.cursor-default {cursor: default;}
.cursor-e-resize {cursor: e-resize;}
.cursor-ew-resize {cursor: ew-resize;}
.cursor-grab {cursor: grab;}
.cursor-grabbing {cursor: grabbing;}
.cursor-help {cursor: help;}
.cursor-move {cursor: move;}
.cursor-n-resize {cursor: n-resize;}
.cursor-ne-resize {cursor: ne-resize;}
.cursor-nesw-resize {cursor: nesw-resize;}
.cursor-ns-resize {cursor: ns-resize;}
.cursor-nw-resize {cursor: nw-resize;}
.cursor-nwse-resize {cursor: nwse-resize;}
.cursor-no-drop {cursor: no-drop;}
.cursor-none {cursor: none;}
.cursor-not-allowed {cursor: not-allowed;}
.cursor-pointer {cursor: pointer;}
.cursor-progress {cursor: progress;}
.cursor-row-resize {cursor: row-resize;}
.cursor-s-resize {cursor: s-resize;}
.cursor-se-resize {cursor: se-resize;}
.cursor-sw-resize {cursor: sw-resize;}
.cursor-text {cursor: text;}
.cursor-w-resize {cursor: w-resize;}
.cursor-wait {cursor: wait;}
.cursor-zoom-in {cursor: zoom-in;}
.cursor-zoom-out {cursor: zoom-out;}

/* ============================================================
  background for disabled input
============================================================ */
input[type=text]:disabled {
    background-color: light-dark(hsl(0, 0%, 97%),var(--color-bg-2)) !important;
}

/* ============================================================
  for listing booked packages and mods
============================================================ */
.vert-middle {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
}
/* ============================================================
  when something is draggable set this class
  seems it's not working with chrome
============================================================ */
.draggable {
    cursor: grab;
}

/* =============================
icons for mods with status
*/


.bg-red-yellow {
    height: 18px;
    width: 18px;
    background-image: linear-gradient(to bottom right, red 50%, yellow 51%);
}
.bg-yellow-green {
    height: 18px;
    width: 18px;
    background-image: linear-gradient(to bottom right, yellow 50%, green 51%);
}
.bg-red {
    height: 18px;
    width: 18px;
    background-color: red;
}
.bg-yellow {
    height: 18px;
    width: 18px;
    background-color: yellow;
}
.bg-green {
    height: 18px;
    width: 18px;
    background-color: green;
}

.qm-bg-yellow {
    background-color: var(--palette-yellow);
}

.width-60 {
    width: 60px;
}

.h-0 {
    height: 0;
}

.bordered-before:before {
    border: 1px solid #f46a6a !important;
}

.fa-pdf-height {
    font-size: 27px !important;
}

/* Gap classes */
.gap-0 { gap: 0; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }
.gap-6 { gap: 1.5rem; }
.gap-8 { gap: 2rem; }
.gap-10 { gap: 2.5rem; }
.gap-12 { gap: 3rem; }
.gap-16 { gap: 4rem; }
.gap-20 { gap: 5rem; }
.gap-24 { gap: 6rem; }
.gap-32 { gap: 8rem; }
.gap-40 { gap: 10rem; }
.gap-48 { gap: 12rem; }
.gap-56 { gap: 14rem; }
.gap-64 { gap: 16rem; }

.gap-x-0 > * + * { margin-left: 0; }
.gap-x-1 > * + * { margin-left: 0.25rem; }
.gap-x-2 > * + * { margin-left: 0.5rem; }
.gap-x-3 > * + * { margin-left: 0.75rem; }
.gap-x-4 > * + * { margin-left: 1rem; }
.gap-x-5 > * + * { margin-left: 1.25rem; }
.gap-x-6 > * + * { margin-left: 1.5rem; }
.gap-x-8 > * + * { margin-left: 2rem; }
.gap-x-10 > * + * { margin-left: 2.5rem; }
.gap-x-12 > * + * { margin-left: 3rem; }
.gap-x-16 > * + * { margin-left: 4rem; }
.gap-x-20 > * + * { margin-left: 5rem; }
.gap-x-24 > * + * { margin-left: 6rem; }
.gap-x-32 > * + * { margin-left: 8rem; }
.gap-x-40 > * + * { margin-left: 10rem; }
.gap-x-48 > * + * { margin-left: 12rem; }
.gap-x-56 > * + * { margin-left: 14rem; }
.gap-x-64 > * + * { margin-left: 16rem; }

.gap-y-0 > * + * { margin-top: 0; }
.gap-y-1 > * + * { margin-top: 0.25rem; }
.gap-y-2 > * + * { margin-top: 0.5rem; }
.gap-y-3 > * + * { margin-top: 0.75rem; }
.gap-y-4 > * + * { margin-top: 1rem; }
.gap-y-5 > * + * { margin-top: 1.25rem; }
.gap-y-6 > * + * { margin-top: 1.5rem; }
.gap-y-8 > * + * { margin-top: 2rem; }
.gap-y-10 > * + * { margin-top: 2.5rem; }
.gap-y-12 > * + * { margin-top: 3rem; }
.gap-y-16 > * + * { margin-top: 4rem; }
.gap-y-20 > * + * { margin-top: 5rem; }
.gap-y-24 > * + * { margin-top: 6rem; }
.gap-y-32 > * + * { margin-top: 8rem; }
.gap-y-40 > * + * { margin-top: 10rem; }
.gap-y-48 > * + * { margin-top: 12rem; }
.gap-y-56 > * + * { margin-top: 14rem; }
.gap-y-64 > * + * { margin-top: 16rem; }

.text-transparent {
    color: rgba(0, 0, 0, 0);
}

.hover-shadow:hover {
    box-shadow: 0 0 10px !important; /* Equivalent to .shadow */
}

@media print {
    .print-logo {
        display: flex !important;
        justify-content: space-between;
    }

    .table th,
    .table td {
        background-color: inherit !important;
    }

    #print-date {
        position: fixed;
        bottom: 0;
        right: 0;
        width: 100%;
        text-align: right;
        padding-right: 7mm;
        font-size: 12px;
    }

    body {
        zoom: 58%;
    }

    .qm-logo {
        float: left;
        padding: 0.1em 0.1em 0.1em calc(0.1em + 16px);
    }
    .company-logo {
        float: right;
        padding-left: 2mm;
    }

    .company-logo img {
        vertical-align: middle;
        max-height: 50px;
    }

    @page {
        size: A4 landscape;
        margin: 5mm;
    }

    .print-only {
        display: block !important;
    }

    .show-flex-print {
        display: flex !important;
        margin-left: 10px;
        margin-right: auto;
    }
}

.print-logo {
    display: none;
}
.print-only {
    display: none;
}

.w-5p {
    width: 5px !important;
}
.w-10p {
    width: 10px !important;
}
.w-15p {
    width: 15px !important;
}
.w-20p {
    width: 20px !important;
}
.w-25p {
    width: 25px !important;
}
.w-30p {
    width: 30px !important;
}
.w-35p {
    width: 35px !important;
}
.w-40p {
    width: 40px !important;
}
.w-45p {
    width: 45px !important;
}
.w-50p {
    width: 50px !important;
}
.w-55p {
    width: 55px !important;
}
.w-60p {
    width: 60px !important;
}
.w-65p {
    width: 65px !important;
}
.w-70p {
    width: 70px !important;
}
.w-75p {
    width: 75px !important;
}
.w-80p {
    width: 80px !important;
}
.w-85p {
    width: 85px !important;
}
.w-90p {
    width: 90px !important;
}
.w-95p {
    width: 95px !important;
}
.w-100p {
    width: 100px !important;
}
.w-150p {
    width: 150px !important;
}
.w-200p {
    width: 200px !important;
}

[data-simplebar] {
    position: relative;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: flex-start
}

.simplebar-wrapper {
    overflow: hidden;
    width: inherit;
    height: inherit;
    max-width: inherit;
    max-height: inherit
}

.simplebar-mask {
    direction: inherit;
    overflow: hidden;
    left: 0;
    right: 0;
    width: auto!important;
    height: auto!important;
    z-index: 0
}

.simplebar-mask,.simplebar-offset {
    position: absolute;
    padding: 0;
    margin: 0;
    top: 0;
    bottom: 0
}

.simplebar-offset {
    direction: inherit!important;
    box-sizing: inherit!important;
    resize: none!important;
    left: 0!important;
    right: 0!important;
    -webkit-overflow-scrolling: touch
}

.simplebar-content-wrapper {
    direction: inherit;
    box-sizing: border-box!important;
    position: relative;
    display: block;
    height: 100%;
    width: auto;
    visibility: visible;
    overflow: auto;
    max-width: 100%;
    max-height: 100%;
    scrollbar-width: none;
    padding: 0!important
}

.simplebar-content-wrapper::-webkit-scrollbar,.simplebar-hide-scrollbar::-webkit-scrollbar {
    display: none
}

.simplebar-content:after,.simplebar-content:before {
    content: " ";
    display: table
}

.simplebar-placeholder {
    max-height: 100%;
    max-width: 100%;
    width: 100%;
    pointer-events: none
}

.simplebar-height-auto-observer-wrapper {
    box-sizing: inherit!important;
    height: 100%;
    width: 100%;
    max-width: 1px;
    position: relative;
    float: left;
    max-height: 1px;
    overflow: hidden;
    z-index: -1;
    padding: 0;
    margin: 0;
    pointer-events: none;
    flex-grow: inherit;
    flex-shrink: 0;
    flex-basis: 0
}

.simplebar-height-auto-observer {
    box-sizing: inherit;
    display: block;
    opacity: 0;
    top: 0;
    left: 0;
    height: 1000%;
    width: 1000%;
    min-height: 1px;
    min-width: 1px;
    z-index: -1
}

.simplebar-height-auto-observer,.simplebar-track {
    position: absolute;
    overflow: hidden;
    pointer-events: none
}

.simplebar-track {
    z-index: 1;
    right: 0;
    bottom: 0
}

[data-simplebar].simplebar-dragging .simplebar-content {
    pointer-events: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-user-select: none
}

[data-simplebar].simplebar-dragging .simplebar-track {
    pointer-events: all
}

.simplebar-scrollbar {
    position: absolute;
    right: 2px;
    width: 4px;
    min-height: 10px
}

.simplebar-scrollbar:before {
    position: absolute;
    content: "";
    background: #a2adb7;
    border-radius: 7px;
    left: 0;
    right: 0;
    opacity: 0;
    transition: opacity .2s linear
}

.simplebar-scrollbar.simplebar-visible:before {
    opacity: .5;
    transition: opacity 0s linear
}

.simplebar-track.simplebar-vertical {
    top: 0;
    width: 11px
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
    top: 2px;
    bottom: 2px
}

.simplebar-track.simplebar-horizontal {
    left: 0;
    height: 11px
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
    height: 100%;
    left: 2px;
    right: 2px
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
    right: auto;
    left: 0;
    top: 2px;
    height: 7px;
    min-height: 0;
    min-width: 10px;
    width: auto
}

[data-simplebar-direction=rtl] .simplebar-track.simplebar-vertical {
    right: auto;
    left: 0
}

.hs-dummy-scrollbar-size {
    direction: rtl;
    position: fixed;
    opacity: 0;
    visibility: hidden;
    height: 500px;
    width: 500px;
    overflow-y: hidden;
    overflow-x: scroll
}

.simplebar-hide-scrollbar {
    position: fixed;
    left: 0;
    visibility: hidden;
    overflow-y: scroll;
    scrollbar-width: none
}

.custom-scroll {
    height: 100%
}

.text-lavender {
    color: #e580ff;
}

.text-error {
    color: light-dark(var(--palette-error), hsl(350, 96%, 72%)) !important;
}

/* START These classes are used in ProcessSwot swot-input */
.text-bg {
    color: light-dark(var(--color-fg-1), var(--color-bg)) !important;
}

.text-on-danger {
    color: var(--color-bg) !important;
}
/* END These classes are used in ProcessSwot swot-input */

.bg-highlight {
    background-color: #04afa933 !important;
}

.qm-form .field-message {
    font-size: 0.9rem;

    @media (width >= 576px) {
        grid-column: right;
        margin-top: -1.5rem;
    }

    @media (width <= 576px) {
        margin-top: -0.5rem;
    }
}

#menu {
    & a {
        .badge {
            right: -0.8em;
        }
    }
}

.qm-border-danger {
    border: 1px solid light-dark(var(--palette-error), hsl(350, 96%, 72%)) !important;
}

/*.select2-selection__choice {*/
/*    background-color: inherit !important;*/
/*}*/

.qm-bg-danger {
    background-color: light-dark(var(--palette-error), hsl(350, 96%, 72%)) !important;
}

.qm-bg-soft-danger {
    background-color: light-dark(hsl(350, 96%, 85%), hsl(350, 96%, 89%)) !important;
}

/* -------------------------------
   Font size utilities 1px → 30px
   with responsive variants xs, sm, md
   Using !important to override Bootstrap
---------------------------------*/

/* Default (all screens) */
.fs-1 { font-size: 1px !important; }
.fs-2 { font-size: 2px !important; }
.fs-3 { font-size: 3px !important; }
.fs-4 { font-size: 4px !important; }
.fs-5 { font-size: 5px !important; }
.fs-6 { font-size: 6px !important; }
.fs-7 { font-size: 7px !important; }
.fs-8 { font-size: 8px !important; }
.fs-9 { font-size: 9px !important; }
.fs-10 { font-size: 10px !important; }
.fs-11 { font-size: 11px !important; }
.fs-12 { font-size: 12px !important; }
.fs-13 { font-size: 13px !important; }
.fs-14 { font-size: 14px !important; }
.fs-15 { font-size: 15px !important; }
.fs-16 { font-size: 16px !important; }
.fs-17 { font-size: 17px !important; }
.fs-18 { font-size: 18px !important; }
.fs-19 { font-size: 19px !important; }
.fs-20 { font-size: 20px !important; }
.fs-21 { font-size: 21px !important; }
.fs-22 { font-size: 22px !important; }
.fs-23 { font-size: 23px !important; }
.fs-24 { font-size: 24px !important; }
.fs-25 { font-size: 25px !important; }
.fs-26 { font-size: 26px !important; }
.fs-27 { font-size: 27px !important; }
.fs-28 { font-size: 28px !important; }
.fs-29 { font-size: 29px !important; }
.fs-30 { font-size: 30px !important; }

/* Extra small screens <= 576px */
@media (max-width: 576px) {
.fs-xs-1 { font-size: 1px !important; }
.fs-xs-2 { font-size: 2px !important; }
.fs-xs-3 { font-size: 3px !important; }
.fs-xs-4 { font-size: 4px !important; }
.fs-xs-5 { font-size: 5px !important; }
.fs-xs-6 { font-size: 6px !important; }
.fs-xs-7 { font-size: 7px !important; }
.fs-xs-8 { font-size: 8px !important; }
.fs-xs-9 { font-size: 9px !important; }
.fs-xs-10 { font-size: 10px !important; }
.fs-xs-11 { font-size: 11px !important; }
.fs-xs-12 { font-size: 12px !important; }
.fs-xs-13 { font-size: 13px !important; }
.fs-xs-14 { font-size: 14px !important; }
.fs-xs-15 { font-size: 15px !important; }
.fs-xs-16 { font-size: 16px !important; }
.fs-xs-17 { font-size: 17px !important; }
.fs-xs-18 { font-size: 18px !important; }
.fs-xs-19 { font-size: 19px !important; }
.fs-xs-20 { font-size: 20px !important; }
.fs-xs-21 { font-size: 21px !important; }
.fs-xs-22 { font-size: 22px !important; }
.fs-xs-23 { font-size: 23px !important; }
.fs-xs-24 { font-size: 24px !important; }
.fs-xs-25 { font-size: 25px !important; }
.fs-xs-26 { font-size: 26px !important; }
.fs-xs-27 { font-size: 27px !important; }
.fs-xs-28 { font-size: 28px !important; }
.fs-xs-29 { font-size: 29px !important; }
.fs-xs-30 { font-size: 30px !important; }
}

/* Small screens 576px-768px */
@media (min-width: 576px) and (max-width: 768px) {
.fs-sm-1 { font-size: 1px !important; }
.fs-sm-2 { font-size: 2px !important; }
.fs-sm-3 { font-size: 3px !important; }
.fs-sm-4 { font-size: 4px !important; }
.fs-sm-5 { font-size: 5px !important; }
.fs-sm-6 { font-size: 6px !important; }
.fs-sm-7 { font-size: 7px !important; }
.fs-sm-8 { font-size: 8px !important; }
.fs-sm-9 { font-size: 9px !important; }
.fs-sm-10 { font-size: 10px !important; }
.fs-sm-11 { font-size: 11px !important; }
.fs-sm-12 { font-size: 12px !important; }
.fs-sm-13 { font-size: 13px !important; }
.fs-sm-14 { font-size: 14px !important; }
.fs-sm-15 { font-size: 15px !important; }
.fs-sm-16 { font-size: 16px !important; }
.fs-sm-17 { font-size: 17px !important; }
.fs-sm-18 { font-size: 18px !important; }
.fs-sm-19 { font-size: 19px !important; }
.fs-sm-20 { font-size: 20px !important; }
.fs-sm-21 { font-size: 21px !important; }
.fs-sm-22 { font-size: 22px !important; }
.fs-sm-23 { font-size: 23px !important; }
.fs-sm-24 { font-size: 24px !important; }
.fs-sm-25 { font-size: 25px !important; }
.fs-sm-26 { font-size: 26px !important; }
.fs-sm-27 { font-size: 27px !important; }
.fs-sm-28 { font-size: 28px !important; }
.fs-sm-29 { font-size: 29px !important; }
.fs-sm-30 { font-size: 30px !important; }
}

/* Medium screens 768px-992px */
@media (min-width: 768px) and (max-width: 992px) {
.fs-md-1 { font-size: 1px !important; }
.fs-md-2 { font-size: 2px !important; }
.fs-md-3 { font-size: 3px !important; }
.fs-md-4 { font-size: 4px !important; }
.fs-md-5 { font-size: 5px !important; }
.fs-md-6 { font-size: 6px !important; }
.fs-md-7 { font-size: 7px !important; }
.fs-md-8 { font-size: 8px !important; }
.fs-md-9 { font-size: 9px !important; }
.fs-md-10 { font-size: 10px !important; }
.fs-md-11 { font-size: 11px !important; }
.fs-md-12 { font-size: 12px !important; }
.fs-md-13 { font-size: 13px !important; }
.fs-md-14 { font-size: 14px !important; }
.fs-md-15 { font-size: 15px !important; }
.fs-md-16 { font-size: 16px !important; }
.fs-md-17 { font-size: 17px !important; }
.fs-md-18 { font-size: 18px !important; }
.fs-md-19 { font-size: 19px !important; }
.fs-md-20 { font-size: 20px !important; }
.fs-md-21 { font-size: 21px !important; }
.fs-md-22 { font-size: 22px !important; }
.fs-md-23 { font-size: 23px !important; }
.fs-md-24 { font-size: 24px !important; }
.fs-md-25 { font-size: 25px !important; }
.fs-md-26 { font-size: 26px !important; }
.fs-md-27 { font-size: 27px !important; }
.fs-md-28 { font-size: 28px !important; }
.fs-md-29 { font-size: 29px !important; }
.fs-md-30 { font-size: 30px !important; }
}

/* ================== SWEET ALERT BASE ================== */
.swal-modal {
    background: var(--color-bg-1) !important;
    color: var(--color-fg) !important;
    text-align: left !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.swal-content {
    font-size: medium !important;
    padding: 0 17px !important;
}

.swal-text {
    color: inherit !important;
    padding: 0 17px !important;
}

.swal-footer {
    border: none !important;
    padding: 0.5rem !important;
    justify-content: flex-end !important;
    background: var(--color-bg) !important;
}

/* ================== BUTTONS ================== */
.swal-button,
.swal-button:hover,
.swal-button:focus {
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    padding: 10px 20px !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: none !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    backface-visibility: hidden !important;
}

/* Confirm button */
.swal-button--confirm {
    background-image: var(--color-bg-gradient) !important;
    color: white !important;
}

/* Cancel button */
.swal-button--cancel {
    background-color: light-dark(white, var(--color-bg-2)) !important;
    color: light-dark(var(--palette-primary), var(--palette-primary)) !important;
}

/* Cancel button on hover */
.swal-button--cancel:hover {
    background-color: light-dark(#708090, #36454F) !important;
    color: light-dark(var(--palette-primary), var(--color-primary)) !important;
}

/* ================== ICONS BASE ================== */
.swal-icon {
    width: 80px !important;
    height: 80px !important;
    border-width: 4px !important;
    border-style: solid !important;
    border-radius: 50% !important;
    padding: 0 !important;
    position: relative !important;
    box-sizing: content-box !important;
    margin: 20px 0 20px 20px !important;
}

/* ---------- Warning ---------- */
.swal-icon--warning {
    border-color: var(--palette-warn) !important;
}

.swal-icon--warning ~ .swal-title {
    word-wrap: break-word !important;
    color: var(--palette-warn) !important;
    text-align: left !important;
}

.swal-icon--warning__body,
.swal-icon--warning__dot {
    background-color: var(--palette-warn) !important;
}

/* ---------- Success ---------- */
.swal-icon--success {
    border-color: var(--palette-success) !important;
}

.swal-icon--success ~ .swal-title {
    word-wrap: break-word !important;
    color: var(--palette-success) !important;
    text-align: left !important;
}

.swal-icon--success::before,
.swal-icon--success::after {
    background-color: inherit !important;
}

/* Success checkmark lines */
.swal-icon--success__line,
.swal-icon--success__line--long,
.swal-icon--success__line--tip {
    background-color: var(--palette-success) !important;
}

/* Remove unnecessary success overlays */
.swal-icon--success__hide-corners,
.swal-icon--success__ring {
    display: none !important;
}

/* ---------- Error ---------- */
.swal-icon--error {
    border-color: var(--palette-error) !important;
}

.swal-icon--error ~ .swal-title {
    text-wrap: wrap !important;
    word-wrap: break-word !important;
    text-align: left !important;
    color: var(--palette-error) !important;
}

/* Error X lines */
.swal-icon--error__line {
    background-color: var(--palette-error) !important;
}

/* ---------- Info ---------- */
.swal-icon--info {
    border-color: var(--palette-info) !important;
}

.swal-icon--info ~ .swal-title {
    word-wrap: break-word !important;
    color: var(--palette-light) !important;
    text-align: left !important;
}

.swal-icon--info::before,
.swal-icon--info::after {
    background-color: var(--palette-info) !important;
}

.custom-file-input:focus~.custom-file-label {
    border-color: var(--color-secondary) !important;
}

.custom-file-label {
    background-color: var(--color-bg) !important;
    color: var(--color-fg) !important;
    box-shadow: none !important;
    border: 1px solid var(--color-bg);
}
.custom-file-label::after {
    background-color: light-dark(hsl(0 0% 82%), var(--color-bg-1)) !important;
    color: var(--color-fg) !important;
}

.input-group-text {
    background-color: light-dark(hsl(0 0% 82%), var(--color-bg-1)) !important;
    color: var(--color-fg) !important;
    border: 1px solid var(--color-bg) !important;
}

.tox-silver-sink {
    position: absolute !important;
}

.datepicker table tr td.today {
    background-color: #F9B4B4;
}

/* Override base styles for checkboxes and radios */
input[type="checkbox"],
input[type="radio"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;

    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 1px solid #808080;
    cursor: pointer;
    position: relative; /* needed for checkmark positioning */
}

/* Indeterminate checkbox */
input[type="checkbox"]:indeterminate::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;  /* width of the dash */
    height: 2px;  /* thickness of the dash */
    background-color: var(--color-fg-1); /* color of the dash */
    border-radius: 1px; /* optional: rounded edges for dash */
}

input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background-color: light-dark(black, var(--color-fg-1));
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg fill="%23000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 78.369 78.369"><path d="M78.049,19.015L29.458,67.606c-0.428,0.428-1.121,0.428-1.548,0L0.32,40.015c-0.427-0.426-0.427-1.119,0-1.547l6.704-6.704c0.428-0.427,1.121-0.427,1.548,0l20.113,20.112l41.113-41.113c0.429-0.427,1.12-0.427,1.548,0l6.703,6.704C78.477,17.894,78.477,18.586,78.049,19.015z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg fill="%23000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 78.369 78.369"><path d="M78.049,19.015L29.458,67.606c-0.428,0.428-1.121,0.428-1.548,0L0.32,40.015c-0.427-0.426-0.427-1.119,0-1.547l6.704-6.704c0.428-0.427,1.121-0.427,1.548,0l20.113,20.112l41.113-41.113c0.429-0.427,1.12-0.427,1.548,0l6.703,6.704C78.477,17.894,78.477,18.586,78.049,19.015z"/></svg>');
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
/* Radio button: circle */
input[type="radio"] {
    border-radius: 50% !important;
}

/* Radio checked: inner dot */
input[type="radio"]:checked::after {
    content: '';
    width: 10px;   /* adjust size of inner dot */
    height: 10px;
    background-color: var(--color-fg-1); /* inner dot color */
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* ----------------------------
   Disabled state
---------------------------- */
input[type="checkbox"]:disabled,
input[type="radio"]:disabled {
    border-color: #c0c0c0 !important;
    cursor: not-allowed !important;
}

/* Disabled checkmark/dot */
input[type="checkbox"]:disabled::after,
input[type="radio"]:disabled::after {
    background-color: #a0a0a0 !important;
}

.qm-round {
    border-radius: 1rem !important;
}

.qm-round-small {
    border-radius: 0.3rem !important;
}

.form-group > label {
    margin-bottom: 0.2rem !important;
}

.badge {
    font-weight: 450 !important;
}

.mp-remove p {
    margin: 0;
    padding: 0;
}