/*---------------------------------------------------
  SASS ELements (based on LESS Elements 0.9 http://lesselements.com) 
-------------------------------- -------------------
  LESS ELEMENTS made by Dmitry Fadeyev (http://fadeyev.net)
  SASS port by Samuel Beek (http://samuelbeek.com) 
---------------------------------------------------*/
/*------------------------
    Usage

  $color-white: hexToRGBString(#fff) => "255,255,255"
  $color-white: hexToRGBString(rgb(255,255,255)) => "255,255,255"
  $color-white: hexToRGBString(rgba(#fff,1)) => "255,255,255"

------------------------*/
/*------------------------
    Usage

    h1 {
      font-size: rem(32);
    }

    OR:

    h1 {
      font-size: rem(32px);
    }
------------------------*/
/*------------------------
  FADE IN
  e.g. @include fadeIn( 2s );
------------------------*/
/*------------------------
mixin that calculates if text needs to be light or dark
depending on the background color passed.

From this W3C document: http://www.webmasterworld.com/r.cgi?f=88&d=9769&url=http://www.w3.org/TR/AERT#color-contrast

usage:
@include text-contrast($bgcolor)

Color brightness is determined by the following formula: 
((Red value X 299) + (Green value X 587) + (Blue value X 114)) / 1000
------------------------*/
/*------------------------
 color factory 
  eg: contrast-ink($contrastvalue)
------------------------*/
/*------------------------
 color factory 
  eg: @include paint($blue-grey-50, bg-blue-grey-50);
------------------------*/
/* backface visibility */
/* generate theme button */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap");

:root {
    --bs-blue: #4089e0;
    --bs-indigo: #9b6ab5;
    --bs-purple: #b756a8;
    --bs-pink: #c55d9e;
    --bs-red: #fd5484;
    --bs-orange: #fe7e6b;
    --bs-yellow: #ffd274;
    --bs-green: #77c688;
    --bs-teal: #1fb0d5;
    --bs-cyan: #20a0e7;
    --bs-black: #000;
    --bs-white: #fff;
    --primary-50: #ccbfdf;
    --primary-100: #beaed7;
    --primary-200: #b19dce;
    --primary-300: #a38cc6;
    --primary-400: #967bbd;
    --primary-500: #886ab5;
    --primary-600: #7a59ad;
    --primary-700: #6e4e9e;
    --primary-800: #62468d;
    --primary-900: #563d7c;
    --success-50: #7aece0;
    --success-100: #63e9db;
    --success-200: #4de5d5;
    --success-300: #37e2d0;
    --success-400: #21dfcb;
    --success-500: #1dc9b7;
    --success-600: #1ab3a3;
    --success-700: #179c8e;
    --success-800: #13867a;
    --success-900: #107066;
    --info-50: #9acffa;
    --info-100: #82c4f8;
    --info-200: #6ab8f7;
    --info-300: #51adf6;
    --info-400: #39a1f4;
    --info-500: #2196F3;
    --info-600: #0d8aee;
    --info-700: #0c7cd5;
    --info-800: #0a6ebd;
    --info-900: #0960a5;
    --warning-50: #ffebc1;
    --warning-100: #ffe3a7;
    --warning-200: #ffdb8e;
    --warning-300: #ffd274;
    --warning-400: #ffca5b;
    --warning-500: #ffc241;
    --warning-600: #ffba28;
    --warning-700: #ffb20e;
    --warning-800: #f4a500;
    --warning-900: #da9400;
    --danger-50: #feb7d9;
    --danger-100: #fe9ecb;
    --danger-200: #fe85be;
    --danger-300: #fe6bb0;
    --danger-400: #fd52a3;
    --danger-500: #fd3995;
    --danger-600: #fd2087;
    --danger-700: #fc077a;
    --danger-800: #e7026e;
    --danger-900: #ce0262;
    --fusion-50: #909090;
    --fusion-100: #838383;
    --fusion-200: #767676;
    --fusion-300: dimgray;
    --fusion-400: #5d5d5d;
    --fusion-500: #505050;
    --fusion-600: #434343;
    --fusion-700: #363636;
    --fusion-800: #2a2a2a;
    --fusion-900: #1d1d1d;
    --dark-50: #404040;
    --dark-100: #333333;
    --dark-200: #262626;
    --dark-300: #1a1a1a;
    --dark-400: #0d0d0d;
    --dark-500: #000;
    --dark-600: black;
    --dark-700: black;
    --dark-800: black;
    --dark-900: black;
    --light-50: white;
    --light-100: white;
    --light-200: white;
    --light-300: white;
    --light-400: white;
    --light-500: #fff;
    --light-600: #f2f2f2;
    --light-700: #e6e6e6;
    --light-800: #d9d9d9;
    --light-900: #cccccc;
    --secondary-50: #afb5ba;
    --secondary-100: #a1a8ae;
    --secondary-200: #939ba2;
    --secondary-300: #868e96;
    --secondary-400: #78828a;
    --secondary-500: #6c757d;
    --secondary-600: #60686f;
    --secondary-700: #545b62;
    --secondary-800: #494f54;
    --secondary-900: #3d4246;
    --bs-primary: #886ab5;
    --bs-primary-rgb: 136, 106, 181;
    --bs-primary-text-emphasis: #3e2c5a;
    --bs-primary-bg-subtle: #dad0e8;
    --bs-primary-border-subtle: #beaed7;
    --bs-success: #1dc9b7;
    --bs-success-rgb: 29, 201, 183;
    --bs-success-text-emphasis: #0a433d;
    --bs-success-bg-subtle: #90efe5;
    --bs-success-border-subtle: #63e9db;
    --bs-info: #2196F3;
    --bs-info-rgb: 33, 150, 243;
    --bs-info-text-emphasis: #064475;
    --bs-info-bg-subtle: #b2dbfb;
    --bs-info-border-subtle: #82c4f8;
    --bs-warning: #ffc241;
    --bs-warning-rgb: 255, 194, 65;
    --bs-warning-text-emphasis: #a77100;
    --bs-warning-bg-subtle: #fff3da;
    --bs-warning-border-subtle: #ffe3a7;
    --bs-danger: #fd3995;
    --bs-danger-rgb: 253, 57, 149;
    --bs-danger-text-emphasis: #9b024a;
    --bs-danger-bg-subtle: #ffd0e6;
    --bs-danger-border-subtle: #fe9ecb;
    --bs-fusion: #505050;
    --bs-fusion-rgb: 80, 80, 80;
    --bs-fusion-text-emphasis: #030303;
    --bs-fusion-bg-subtle: #9c9c9c;
    --bs-fusion-border-subtle: #838383;
    --bs-dark: #000;
    --bs-dark-rgb: 0, 0, 0;
    --bs-dark-text-emphasis: black;
    --bs-dark-bg-subtle: #4d4d4d;
    --bs-dark-border-subtle: #333333;
    --bs-light: #fff;
    --bs-light-rgb: 255, 255, 255;
    --bs-light-text-emphasis: #b3b3b3;
    --bs-light-bg-subtle: white;
    --bs-light-border-subtle: white;
    --bs-secondary: #6c757d;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-secondary-text-emphasis: #25282b;
    --bs-secondary-bg-subtle: #bcc1c6;
    --bs-secondary-border-subtle: #a1a8ae;
    --bs-gray-100: #f8f9fa;
    --bs-gray-200: #e9ecef;
    --bs-gray-300: #dee2e6;
    --bs-gray-400: #ced4da;
    --bs-gray-500: #adb5bd;
    --bs-gray-600: #6c757d;
    --bs-gray-700: #495057;
    --bs-gray-800: #343a40;
    --bs-gray-900: #212529;
    --bs-form-valid-color: $color-success;
    --bs-form-valid-border-color: $color-success;
    --bs-form-invalid-color: $color-danger;
    --bs-form-invalid-border-color: $color-danger;
    --app-nav-link-color: var(--bs-gray-800);
    --app-nav-link-hover-color: #7a59ad;
    --app-nav-link-active-color: #7a59ad;
    --app-nav-title-color: #666666;
    --app-nav-border-color: rgba(var(--secondary), 0.3);
    --app-nav-item-hover-bg: rgba(136, 106, 181, 0.045);
    --app-nav-item-active-bg: rgba(var(--secondary), 0.07);
    --app-nav-item-active-indicator: var(--app-nav-link-active-color);
    --app-nav-collapse-sign-color: var(--bs-body-color);
    /*--app-body-color: var(--bs-warning, orange);*/
    --app-body-color: var(--app-nav-link-active-color);
    --bs-link-color: #886ab5;
    --bs-link-color-rgb: 136, 106, 181;
    --bs-link-hover-color-rgb: 110, 78, 158;
    --bs-link-decoration: underline;
    --bs-link-hover-color: darken($color-primary, 10%);
    --bs-code-color: #e7026e;
    --bs-highlight-color: #212529;
    --bs-highlight-bg: #fff3cd;
    --app-header-height: 3.5rem;
    --menu-width: 18rem;
    --right-content-width: 20rem;
    --menu-width-minified: 4.4rem;
    --menu-top-height-minified: 4rem;
    --menu-top-height: 6rem;
    --drawer-width: 25rem;
    --app-header-fixed: 0;
    --app-nav-full: 0;
    --app-header-background: var(--bs-body-bg);
    --app-nav-background: var(--bs-body-bg);
    --app-drawer-background: var(--bs-body-bg);
    --app-content-background: #fdfdfd;
    --logo-width: 11rem;
    --logo-height: 2rem;
    --app-layout-border-color: rgba(0, 0, 0, 0.07);
    --bs-border-color-translucent: rgba(0, 0, 0, 0.1);
    --bs-border-color: #dee2e6;
    --app-nav-svgicon-size: 1.25rem;
    --collapse-icon-border: rgba(0, 0, 0, 0.3);
    --collapse-icon-border-hover: rgba(var(--primary), 0.8);
    --collapse-icon-width: 2.5rem;
    --collapse-icon-height: 1.8rem;
    --primary: 136, 106, 181;
    --secondary: 108, 117, 125;
    --success: 29, 201, 183;
    --warning: 255, 194, 65;
    --info: 33, 150, 243;
    --danger: 253, 57, 149;
    --fusion: 80, 80, 80;
    --disable: 173, 181, 189;
    --white: 255, 255, 255;
    --font-family: "Nunito Sans", sans-serif;
    --direction: ltr;
    --transition: transform 470ms cubic-bezier(.34,1.25,.3,1);
    --z-index-master: 999;
    --z-index-slave: 1;
    --content-padding: 1.25rem;
    --menu-icon-size: 1.625rem;
    --settings-disabled: 0.3;
    --bs-body-color: #505050;
    --bs-body-font-size: 0.925rem;
    --bs-form-valid-border-color: #1dc9b7;
    --bs-form-invalid-border-color: #fd3995;
    --bs-form-valid-color: #1dc9b7;
    --bs-form-invalid-color: #fd3995;
    --input-placeholder-color: rgba(112, 112, 112, 0.5);
    --bs-secondary-color: rgba(70, 79, 87, 0.70);
    --scrollbar-width: 8px;
    --scrollbar-color: #f1f1f1;
    --scrollbar-thumb: #888;
    --scrollbar-thumb-hover: #555;
    --border-radius-uniform: 0.375rem;
    --border-radius-uniform-sm: 0.25rem;
    --border-radius-uniform-xs: 0.125rem;
}

.nav-pills {
    --bs-nav-pills-link-active-bg: #886ab5;
}

.progress,
.progress-stacked {
    --bs-progress-bar-bg: #886ab5;
}

.list-group {
    --bs-list-group-active-bg: #886ab5;
    --bs-list-group-active-border-color: #886ab5;
}

.form-check-input:checked {
    background-color: #886ab5;
    border-color: #886ab5;
}

.form-check-input[type=checkbox]:indeterminate {
    background-color: #886ab5;
    border-color: #886ab5;
}

.list-group-item.active {
    background-color: var(--app-nav-item-active-bg);
    color: var(--bs-body-color);
}

.list-group-item:hover {
    color: var(--app-nav-link-hover-color);
    background-color: var(--app-nav-item-hover-bg);
}

/* keyframes */
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
/* fade in up */
@keyframes animateFadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 5px, 0);
        transform: translate3d(0, 5px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}
/* mixins */
@keyframes rotating {
    0% {
        transform: rotate(0deg);
    }

    20% {
        transform: rotate(90deg);
        animation-timing-function: ease-in;
    }

    40% {
        transform: rotate(180deg);
        animation-timing-function: linear;
    }

    60% {
        transform: rotate(270deg);
        animation-timing-function: ease-out;
    }

    80% {
        transform: rotate(360deg);
        animation-timing-function: linear;
    }

    100% {
        transform: rotate(-360deg);
    }
}

@keyframes blob-anim-1 {
    0% {
        d: path("M 100 600 q 0 -700, 500 -500 t 500 500 t -500 500 T 100 600 z");
    }

    30% {
        d: path("M 100 600 q -50 -400, 500 -500 t 450 550 t -500 500 T 100 600 z");
    }

    70% {
        d: path("M 100 600 q 0 -400, 500 -500 t 400 500 t -500 500 T 100 600 z");
    }

    100% {
        d: path("M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z");
    }
}

@keyframes blob-anim-2 {
    0% {
        d: path("M 100 600 q 0 -400, 500 -500 t 400 500 t -500 500 T 100 600 z");
    }

    40% {
        d: path("M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z");
    }

    80% {
        d: path("M 100 600 q -50 -400, 500 -500 t 450 550 t -500 500 T 100 600 z");
    }

    100% {
        d: path("M 100 600 q 100 -600, 500 -500 t 400 500 t -500 500 T 100 600 z");
    }
}

@keyframes blob-anim-3 {
    0% {
        d: path("M 100 600 q -50 -400, 500 -500 t 450 550 t -500 500 T 100 600 z");
    }

    35% {
        d: path("M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z");
    }

    75% {
        d: path("M 100 600 q 100 -600, 500 -500 t 400 500 t -500 500 T 100 600 z");
    }

    100% {
        d: path("M 100 600 q 0 -400, 500 -500 t 400 500 t -500 500 T 100 600 z");
    }
}

@keyframes blob-anim-4 {
    0% {
        d: path("M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z");
    }

    30% {
        d: path("M 100 600 q 100 -600, 500 -500 t 400 500 t -500 500 T 100 600 z");
    }

    70% {
        d: path("M 100 600 q -50 -400, 500 -500 t 450 550 t -500 500 T 100 600 z");
    }

    100% {
        d: path("M 150 600 q 0 -600, 500 -500 t 500 550 t -500 500 T 150 600 z");
    }
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes refresh {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(-360deg);
    }
}

@keyframes widthAnimation {
    0% {
        transform: translate3d(-90%, 0, 0);
    }

    10% {
        transform: translate3d(-90%, 0, 0);
    }

    20% {
        transform: translate3d(-90%, 0, 0);
    }

    30% {
        transform: translate3d(-90%, 0, 0);
    }

    40% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, 0, 0);
    }

    60% {
        transform: translate3d(0, 0, 0);
    }

    70% {
        transform: translate3d(-90%, 0, 0);
    }

    80% {
        transform: translate3d(-90%, 0, 0);
    }

    100% {
        transform: translate3d(-90%, 0, 0);
    }
}

@keyframes animateFadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -5px, 0);
        transform: translate3d(0, -5px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes animateFadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 5px, 0);
        transform: translate3d(0, 5px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes animateFadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-5px, 0, 0);
        transform: translate3d(-5px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

@keyframes animateFadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(5px, 0, 0);
        transform: translate3d(5px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: none;
        transform: none;
    }
}

.fadeinup {
    animation: animateFadeInUp 0.5s;
    -webkit-animation: animateFadeInUp 0.5s;
}

.fadeindown {
    animation: animateFadeInDown 0.5s;
    -webkit-animation: animateFadeInDown 0.5s;
}

.fadeinleft {
    animation: animateFadeInLeft 0.5s;
    -webkit-animation: animateFadeInLeft 0.5s;
}

.fadeinright {
    animation: animateFadeInRight 0.5s;
    -webkit-animation: animateFadeInRight 0.5s;
}

/* 	CSS RESET 
	Documentation: This CSS sets the font size to 1rem on the HTML element, sets the 
	font family to the variable --font-family on the body element, removes text decoration, 
	color, and list style on any a, ol, or ul elements, sets the width of any images to 100% 
	and the height to auto, and sets the margin and padding to 0 on all elements, as well 
	as making all elements use the border-box box sizing.
*/
html,
body {
    height: 100%;
}

body {
    font-family: var(--font-family);
    --bs-body-font-size: 0.875rem;
}

a {
    text-decoration: none;
}

img {
    max-width: 100%;
    height: auto;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

button:focus:not(.focus-ring),
input:focus:not(.focus-ring),
textarea:focus:not(.focus-ring),
select:focus:not(.focus-ring),
a:focus:not(.focus-ring) {
    box-shadow: none !important;
}

p {
    margin-bottom: 1.5rem;
}

.subheader-title {
    font-size: 1.75rem;
    font-weight: 500;
    color: var(--page-subheader-color, var(--bs-body-color));
    text-shadow: var(--page-subheader-text-shadow, #fff) 0 1px;
    margin: 0;
}

    .subheader-title:not(:has(*)) {
        margin-bottom: 2rem;
    }

    .subheader-title small {
        color: var(--bs-body-color);
        display: block;
        margin: 0.25rem 0 2rem;
        line-height: 2;
        font-size: 1rem;
        font-weight: 300;
        align-items: center;
    }

    .subheader-title .badge-subheader {
        font-size: 0.325em;
        font-weight: 400;
        text-shadow: none;
        margin-left: 0.25rem;
        margin-top: 0.25rem;
    }

/************************************************************* Rules BELOW this point are set globally*/
.app-debug-mode {
    position: relative;
}

    .app-debug-mode .app-header::before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        background: rgba(var(--primary), 0.7);
        z-index: 1;
        padding: 2px 4px;
        font-size: 0.5rem;
        color: #fff;
    }

.content-wrapper > .app-breadcrumb + * {
    animation: animateFadeInUp 0.3s;
}

.main-content > * {
    animation: animateFadeInUp 0.7s;
}

    .main-content > * + .row {
        animation: animateFadeInUp 1.4s;
    }

/* hide right content */
body:not(.content-has-right) .content-wrapper-right {
    display: none;
}

/* app wrap */
.app-wrap {
    min-height: 100vh;
    display: grid;
    grid-template-columns: var(--menu-width) auto;
    grid-template-rows: var(--app-header-height) auto;
    grid-template-areas: "header header" "sidebar main" "sidebar main";
    gap: 0;
    padding: 0;
    /* changes value on condition */
    padding-top: var(--app-header-fixed);
}

/* app header */
.app-header {
    /* grid area */
    grid-area: header;
    height: var(--app-header-height);
    padding: 0 2rem 0 0;
    border-bottom: 1px solid var(--app-layout-border-color);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    /* changes vale on condition */
    margin-left: var(--app-nav-full);
    background-color: var(--app-header-background, silver);
}

    .app-header .app-logo {
        width: var(--menu-width);
        border-right: 1px solid var(--app-header-background);
        margin-right: 2rem;
        will-change: width;
        transition: width 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
        transform: translate3d(0, 0, 0);
    }

    .app-header .app-search .form-control {
        max-width: 21.875rem;
        height: 2.625rem;
        line-height: normal;
        border-radius: 4px;
        background: 0 0;
        border: 1px solid transparent;
        box-shadow: none;
        font-size: 0.9375rem;
        padding: 0.38rem;
        --bs-secondary-color: var(--input-placeholder-color);
        text-overflow: ellipsis;
    }

/* app sidebar */
.app-sidebar {
    /* grid area */
    grid-area: sidebar;
    width: var(--menu-width);
    padding: 0;
    border-right: 1px solid var(--app-layout-border-color);
    overflow-x: hidden;
    z-index: 10;
    position: relative;
    background: var(--app-nav-background, silver);
    will-change: width;
    transition: width 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
    transform: translate3d(0, 0, 0);
}

    .app-sidebar .app-logo {
        display: none;
    }

    .app-sidebar .app-menu-filter-container {
        width: var(--menu-width);
        position: relative;
        padding-top: 1rem;
        padding-bottom: 1rem;
    }

/* app body */
.app-body {
    grid-area: main;
    display: flex;
    flex-flow: column;
    direction: var(--direction);
    max-width: 100%;
    width: 100%;
    overflow-x: auto;
}

/* app nav */
.app-nav {
    overflow-x: auto;
    padding: var(--content-padding);
}

/* app content */
.app-content {
    flex: 1;
    background-color: var(--app-content-background, #fdfdfd);
    display: flex;
}

    .app-content .content-wrapper {
        padding: 10px 10px;
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        max-width: 100%;
        position: relative;
        overflow-x: hidden;
    }

        .app-content .content-wrapper .main-content {
            flex: 1 1 auto;
        }

    .app-content .content-wrapper-right {
        flex: 0 0 var(--right-content-width);
        border-left: 1px solid var(--app-layout-border-color);
    }

/* app footer */
.app-footer,
.nav-footer {
    padding: 1rem 2rem;
    border-top: 1px solid var(--app-layout-border-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.75rem;
}

    .app-footer .app-footer-content,
    .nav-footer .app-footer-content {
        display: flex;
        align-items: center;
        gap: 0.1875rem;
        font-weight: 900;
    }

        .app-footer .app-footer-content .logo,
        .nav-footer .app-footer-content .logo {
            height: 1.25rem;
        }

.hide-page-scrollbar {
    overflow: hidden;
    padding-right: var(--scrollbar-width, 8px);
}

.app-drawer {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    width: var(--drawer-width);
    background: var(--app-drawer-background);
    border-left: 1px solid var(--app-layout-border-color);
    transform: translate3d(calc(var(--drawer-width)), 0, 0);
    transition: var(--transition);
    z-index: calc(var(--z-index-master) + 2);
    display: flex;
    flex-direction: column;
}

    .app-drawer > * {
        padding: var(--content-padding);
    }

        .app-drawer > *:not(.app-drawer-header) {
            overflow-x: auto;
        }

    .app-drawer .app-drawer-header {
        height: var(--app-header-height);
        min-height: var(--app-header-height);
        display: flex;
        align-items: center;
        background-color: var(--app-header-background);
        border-bottom: 1px solid var(--app-layout-border-color);
    }

    .app-drawer.open {
        transform: translate3d(0, 0, 0);
    }

        .app-drawer.open + .backdrop:not([data-toggleclass=app-mobile-menu-open]) {
            display: block;
            opacity: 1;
        }

/* app menu and drawer backdrop */
.backdrop {
    display: none;
    position: fixed;
    z-index: calc(var(--z-index-master) + 1);
    background: rgba(0, 0, 0, 0.3);
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    animation: fadeIn 0.4s ease-in-out;
    transform: translate3d(0, 0, 0);
}

/* set header fixed: this is global as it transends all levels */
.set-header-fixed {
    /* 
  	CSS: incompatibility : .set-nav-full
  	CSS: needs dependency: .set-nav-fixed
  */
}

    .set-header-fixed .app-header {
        position: fixed;
        left: 0;
        right: 0;
        top: 0;
        z-index: var(--z-index-master);
    }

    .set-header-fixed.set-nav-full.set-nav-fixed:not(.set-nav-top):not(.set-nav-collapsed) .app-header {
        position: fixed;
        left: var(--menu-width);
        right: 0;
        top: 0;
    }

    .set-header-fixed.set-nav-full.set-nav-fixed:not(.set-nav-top):not(.set-nav-collapsed).set-nav-minified .app-header {
        left: var(--menu-width-minified);
        padding-left: 2rem;
    }

        .set-header-fixed.set-nav-full.set-nav-fixed:not(.set-nav-top):not(.set-nav-collapsed).set-nav-minified .app-header .app-logo {
            display: none;
        }

    .set-header-fixed:not(.set-nav-fixed) [data-class^=set-nav-full] {
        opacity: var(--settings-disabled);
    }

        .set-header-fixed:not(.set-nav-fixed) [data-class^=set-nav-full] ~ label {
            opacity: var(--settings-disabled);
        }

/************************************************************* Rules ABOVE this point are set globally*/
/**************************************** Rules BELOW this point are set for screen sizes above 992px */
/*	so we take the opportunity to set the responsive rules here as it will apply for larger screens 
    but will not apply for smaller less complex screens, if you want certain responsive rules to 
    transcent to smaller screens, you can set them above this point for (universal rules)
    or below this point for mobile only rules */
@media (min-width: 992px) {
    /* debug mode */
    .app-debug-mode .app-header::before {
        content: "XXL ";
    }
    /* large screens will hide */
    .hidden-lg {
        display: none !important;
    }
    /* set nav top */
    .set-nav-top {
        /* app wrap */
        /* app sidebar */
        /* app body */
        /* 
    	CSS: incompatibility : .set-nav-full .set-nav-collapsed
    	CSS: needs dependency: .set-nav-fixed
    */
        /* set nav full and collapsed */
        /* look for dependency */
    }

        .set-nav-top .app-wrap {
            grid-template-columns: auto auto;
            grid-template-rows: var(--app-header-height) var(--menu-top-height) auto;
            grid-template-areas: "header header " "sidebar sidebar" "main main";
        }

        .set-nav-top .app-sidebar {
            min-height: var(--menu-top-height);
            height: var(--menu-top-height);
            width: auto;
            border-right: 0;
            border-bottom: 2px dashed #333;
        }

        .set-nav-top .app-body {
            width: auto;
        }

        .set-nav-top [data-class^=set-nav-full],
        .set-nav-top [data-class^=set-nav-collapsed] {
            opacity: var(--settings-disabled);
            text-decoration: line-through;
        }

            .set-nav-top [data-class^=set-nav-full] ~ label,
            .set-nav-top [data-class^=set-nav-collapsed] ~ label {
                opacity: var(--settings-disabled);
                text-decoration: line-through;
            }

        .set-nav-top.set-nav-full [data-class^=set-nav-full],
        .set-nav-top.set-nav-full [data-class^=set-nav-collapsed], .set-nav-top.set-nav-collapsed [data-class^=set-nav-full],
        .set-nav-top.set-nav-collapsed [data-class^=set-nav-collapsed] {
            opacity: var(--settings-disabled);
            text-decoration: line-through;
        }

            .set-nav-top.set-nav-full [data-class^=set-nav-full] ~ label,
            .set-nav-top.set-nav-full [data-class^=set-nav-collapsed] ~ label, .set-nav-top.set-nav-collapsed [data-class^=set-nav-full] ~ label,
            .set-nav-top.set-nav-collapsed [data-class^=set-nav-collapsed] ~ label {
                opacity: var(--settings-disabled);
                text-decoration: line-through;
            }

        .set-nav-top:not(.set-header-fixed) [data-class^=set-nav-fixed] {
            opacity: var(--settings-disabled);
        }

            .set-nav-top:not(.set-header-fixed) [data-class^=set-nav-fixed] ~ label {
                opacity: var(--settings-disabled);
            }
    /* set nav minified and not collapsed */
    .set-nav-minified:not(.set-nav-collapsed) {
        /* check if appheader has a sibling app-sidebar that is hovered */
        /* app wrap */
        /* app header */
        /* app sidebar */
        /* change state of the collapse icon in the app-header */
    }

        .set-nav-minified:not(.set-nav-collapsed) .app-header:has(+ .app-sidebar:hover) {
            /* control app logo width from a sub div on hover */
        }

            .set-nav-minified:not(.set-nav-collapsed) .app-header:has(+ .app-sidebar:hover) .app-logo {
                width: calc(var(--menu-width));
            }

        .set-nav-minified:not(.set-nav-collapsed) .app-wrap {
            grid-template-columns: var(--menu-width-minified) auto !important;
        }

        .set-nav-minified:not(.set-nav-collapsed) .app-header .app-logo {
            width: var(--menu-width-minified);
            overflow: hidden;
            margin-right: calc(2rem + 1px);
        }

        .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) {
            width: var(--menu-width-minified);
            /* app menu filter container */
            /* when primary nav is collapsed, hide span */
            /* when nav is collapsed, hide primary nav ul ul */
            /* when nav is collapsed, hide collapse sign */
            /* when nav is collapsed, hide nav title to "..." */
        }

            .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .app-menu-filter-container #searchInput {
                visibility: hidden;
            }

            .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .primary-nav ul li a span {
                opacity: 0;
                transition: opacity 0.2s ease-in-out;
            }

            .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .primary-nav ul ul {
                display: none !important;
            }

            .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .collapse-sign {
                display: none;
            }

            .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .nav-title {
                visibility: hidden;
                position: relative;
            }

                .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .nav-title span {
                    display: none;
                }

                .set-nav-minified:not(.set-nav-collapsed) .app-sidebar:not(:hover) .nav-title::before {
                    content: "...";
                    color: currentColor;
                    font-size: inherit;
                    visibility: visible;
                    display: inline-block;
                    bottom: 50%;
                    inset-inline-start: 0;
                    margin-inline-start: 0.225rem;
                    transform: translateX(0%);
                }

        .set-nav-minified:not(.set-nav-collapsed) .collapse-icon svg {
            transform: scaleX(-1);
            margin-left: 0.75rem;
        }

        .set-nav-collapsed .collapse-icon svg {
            transform: scaleX(-1);
            margin-left: 0.75rem;
        }

        .set-nav-minified:not(.set-nav-collapsed) .collapse-icon::after {
            width: 0.5625rem;
        }

        .set-nav-minified:not(.set-nav-collapsed) .collapse-icon:hover svg {
            margin-left: 1.125rem;
        }

        .set-nav-minified:not(.set-nav-collapsed) .collapse-icon:hover::after {
            width: 0.875rem;
        }
    /* set nav fixed */
    .set-nav-fixed.set-nav-top.set-header-fixed .app-sidebar {
        position: fixed;
        top: var(--app-header-height);
        left: 0;
        right: 0;
        z-index: var(--z-index-master);
        overflow-y: auto;
        background-color: rgba(var(--danger), 0.9);
    }

    .set-nav-fixed:not(.set-nav-top).set-nav-full:not(.set-header-fixed) .app-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        z-index: var(--z-index-master);
    }

    .set-nav-fixed:not(.set-nav-top).set-header-fixed:not(.set-nav-full) .app-sidebar {
        position: fixed;
        top: var(--app-header-height);
        bottom: 0;
        z-index: var(--z-index-master);
        overflow-y: auto;
    }

    .set-nav-fixed:not(.set-nav-top).set-header-fixed.set-nav-full .app-sidebar {
        position: fixed;
        top: 0;
        bottom: 0;
        z-index: var(--z-index-master);
    }

        .set-nav-fixed:not(.set-nav-top).set-header-fixed.set-nav-full .app-sidebar .app-logo {
            display: flex;
        }

    .set-nav-fixed:not(.set-nav-top).set-header-fixed.set-nav-full .app-header {
        padding-left: 2rem;
    }

        .set-nav-fixed:not(.set-nav-top).set-header-fixed.set-nav-full .app-header .app-logo {
            display: none;
        }
    /* set nav collapsed and set nav full but not set nav top */
    /*.set-nav-collapsed.set-nav-full:not(.set-nav-top) [data-class=set-nav-minified],
    .set-nav-collapsed.set-nav-full:not(.set-nav-top) [data-class^=set-nav-minify] {
        opacity: var(--settings-disabled);
    }*/

        .set-nav-collapsed.set-nav-full:not(.set-nav-top) [data-class=set-nav-minified] ~ label,
        .set-nav-collapsed.set-nav-full:not(.set-nav-top) [data-class^=set-nav-minify] ~ label {
            opacity: var(--settings-disabled);
        }

    .set-nav-collapsed.set-nav-full:not(.set-nav-top):not(.set-nav-top) .app-wrap {
        grid-template-columns: 0 auto;
    }

    .set-nav-collapsed.set-nav-full:not(.set-nav-top) .app-sidebar {
        transform: translate3d(calc(10px - var(--menu-width)), 0, 0);
        transition: var(--transition);
        z-index: var(--z-index-slave);
        position: relative;
        background-color: var(--app-nav-background);
        overflow-x: visible;
        /* adds an invisible buffer space for better usability*/
    }

        /*.set-nav-collapsed.set-nav-full:not(.set-nav-top) .app-sidebar:hover {
            transform: translate3d(0, 0, 0);
        }*/

        .set-nav-collapsed.set-nav-full:not(.set-nav-top) .app-sidebar::after {
            content: "";
            position: absolute;
            display: block;
            z-index: -1;
            top: 0;
            bottom: 0;
            left: -1.25rem;
            background: transparent;
            width: calc(var(--menu-width) + 2.5rem);
        }
    /* set nav full and not set nav top and not set header fixed */
    .set-nav-full:not(.set-nav-top):not(.set-header-fixed) .app-wrap {
        grid-template-columns: var(--menu-width) auto;
        grid-template-rows: var(--app-header-height) auto;
        grid-template-areas: "sidebar header " "sidebar main" "sidebar main";
    }

    .set-nav-full:not(.set-nav-top):not(.set-header-fixed) .app-sidebar .app-logo {
        display: flex;
        width: var(--menu-width);
    }

    .set-nav-full:not(.set-nav-top):not(.set-header-fixed) .app-header {
        padding-left: 2rem;
    }

        .set-nav-full:not(.set-nav-top):not(.set-header-fixed) .app-header .app-logo {
            display: none;
        }
}
/*********************************** Rules BELOW this point are set for screen sizes max-width 1280px */
@media only screen and (max-width: 1280px) {
    /* debug mode */
    .app-debug-mode .app-header::before {
        content: "XL";
    }
    /* make things a little smaller to fit on the screen */
    html {
        font-size: 14px;
        --menu-width: 17rem;
    }
}
/********************************************* Rules BELOW this point are set all screens below 992px */
@media only screen and (max-width: 991.98px) {
    /* debug mode */
    .app-debug-mode {
        position: relative;
    }

        .app-debug-mode .app-header::before {
            content: "LG";
        }
    /* set all input to 16px to avoid mobile keyboard issues */
    input, textarea, select, .form-control {
        font-size: 1rem !important;
    }
    /* enforced layout changes on mobile */
    .position-on-mobile-absolute {
        position: absolute !important;
    }

    .position-on-mobile-absolute {
        position: absolute !important;
    }

    .position-on-mobile-relative {
        position: relative !important;
    }

    .position-on-mobile-static {
        position: static !important;
    }

    .height-mobile-auto {
        height: auto !important;
        min-height: auto !important;
        max-height: auto !important;
    }

    .width-mobile-auto {
        width: auto !important;
        min-width: auto !important;
        max-width: auto !important;
    }

    .expand-full-height-on-mobile {
        height: calc(100vh - var(--app-header-height)) !important;
    }

    .expand-full-width-on-mobile {
        width: 100vw !important;
        max-width: 100vw !important;
    }
    /* make things a little bigger for mobile */
    html {
        font-size: 17px;
        --menu-width: 18rem;
    }
    /* hide content scrollbar on mobile menu open */
    .app-mobile-menu-open {
        overflow: hidden;
    }
    /* set font size and menu width */
    body {
        --bs-body-font-size: 1rem;
        --mobile-page-padding: 1rem;
        --menu-width: 20rem;
    }
    /* small screens will hide this class */
    .hidden-sm {
        display: none !important;
    }
    /* app sidebar */
    .app-sidebar {
        background: var(--bs-body-bg);
    }
    /* app wrap */
    .app-wrap {
        grid-template-columns: 0 auto;
        grid-template-rows: var(--app-header-height) auto;
        grid-template-areas: "sidebar header " "sidebar main" "sidebar main";
    }
    /* app header */
    .app-header {
        padding: 0 var(--mobile-page-padding) !important;
        gap: 1rem;
        /* app logo */
        /* profile image */
    }

        .app-header .app-logo {
            display: none;
        }

        .app-header .btn-system .profile-image {
            width: 2.8rem;
            height: 2.8rem;
            max-width: 2.8rem;
            max-height: 2.8rem;
        }

        .app-header .btn-system .sa-icon {
            width: 1.8rem;
            height: 1.8rem;
            z-index: 1;
        }

        .app-header .btn-system::before {
            width: 3.5rem;
            height: 3.5rem;
            z-index: 0;
        }

        .app-header .btn-system:hover::before, .app-header .btn-system.show::before {
            background: rgba(var(--primary), 0.1);
        }

        .app-header > .flex-grow-1 {
            flex-grow: 0 !important;
        }
    /* app sidebar */
    .app-sidebar {
        transform: translate3d(calc(0px - var(--menu-width)), 0, 0);
        transition: var(--transition);
        z-index: calc(var(--z-index-master) + 1);
        top: 0;
        bottom: 0;
        position: fixed;
        overflow-y: auto;
        /* app logo */
        /* primary nav */
        /* primary nav title */
        /* search input */
    }

        .app-sidebar .app-logo {
            display: flex;
            border-bottom: 1px solid rgba(0, 0, 0, 0.05);
        }

        .app-sidebar .primary-nav ul li a {
            padding-top: 10px;
            padding-bottom: 10px;
            font-size: 1rem;
        }

        .app-sidebar .primary-nav .nav-title {
            font-size: 0.85rem;
        }

        .app-sidebar #searchInput {
            font-size: 1rem;
            line-height: 2.5rem;
        }
    /* app content */
    .app-content .content-wrapper {
        padding: var(--mobile-page-padding);
    }
    /* app footer */
    .app-footer,
    .nav-footer {
        padding: 1rem var(--mobile-page-padding);
    }
    /* app mobile menu open */
    .btn-system[data-bs-toggle=dropdown] + .dropdown-menu {
        right: var(--mobile-page-padding) !important;
    }
    /* app mobile menu backdrop */
    [data-toggleclass=app-mobile-menu-open].backdrop {
        z-index: var(--z-index-master);
    }
    /* app mobile menu open */
    .app-mobile-menu-open .app-sidebar {
        transform: translate3d(0, 0, 0);
    }

    .app-mobile-menu-open [data-toggleclass=app-mobile-menu-open].backdrop {
        display: block;
        opacity: 1;
    }
    /* set header fixed */
    .set-header-fixed .app-header {
        left: 0 !important;
    }
    /* panel header */
    .panel-hdr h2 {
        font-size: 1rem !important;
    }
    /* panel icon */
    .panel.panel-icon .panel-toolbar [data-action*=panel-]:not(.dropdown-item) .sa-icon {
        width: 1.8rem !important;
        height: 1.8rem !important;
    }
}
/*********************************** Rules BELOW this point are set for screen sizes max-width TABLET */
@media only screen and (max-width: 768px) {
    /* debug mode */
    .app-debug-mode .app-header::before {
        content: "MD";
    }
    /* hide content on tablet */
    .hidden-tablet {
        display: none !important;
    }
}
/*********************************** Rules BELOW this point are set for screen sizes max-width MOBILE */
@media only screen and (max-width: 576px) {
    /* debug mode */
    .app-debug-mode .app-header::before {
        content: "SM";
    }
    /* hide content on mobile */
    .hidden-mobile {
        display: none !important;
    }
    /* make things a little bigger for mobile : aiming for minimum 41px for clickable area */
    html {
        font-size: 16px;
        --menu-width: 18rem;
    }
    /* adataptive vars*/
    :root {
        --scrollbar-width: 0px;
    }
    /* app header */
    /* app header : focus change header icon visibility*/
    .app-header > :first-child ~ *:not(.dropdown-menu) {
        scale: 1;
        opacity: 1;
        transition: all 0.3s ease-in-out;
    }

    .app-header:has(.app-search > input:focus) {
        overflow-x: hidden;
    }

        .app-header:has(.app-search > input:focus) .app-search {
            position: absolute;
            left: calc(var(--mobile-page-padding) + 4rem + 0.5rem);
            right: var(--mobile-page-padding);
        }

            .app-header:has(.app-search > input:focus) .app-search .form-control {
                max-width: unset;
            }

        .app-header:has(.app-search > input:focus) > :first-child ~ *:not(.dropdown-menu) {
            scale: 0;
            opacity: 0;
        }
    /* app content */
    .app-content .breadcrumb {
        /* breadcrumb item math: total minimum screen width is 320px */
    }

        .app-content .breadcrumb .breadcrumb-item {
            max-width: 100px !important;
        }

            .app-content .breadcrumb .breadcrumb-item.active {
                max-width: 130px !important;
            }
}

.app-logo {
    padding: 0 1.5rem;
    position: relative;
    height: var(--app-header-height);
    width: var(--menu-width);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

    .app-logo > img,
    .app-logo > svg {
        z-index: 2;
        width: var(--logo-width);
        height: var(--logo-height);
        min-width: var(--logo-width);
    }

    .app-logo > svg {
        fill: none;
        color: currentColor;
        stroke-width: 1px !important;
        --logo-color: rgba(var(--primary), 0.8);
        --logo-color-fill: rgba(var(--white), 0.01);
    }

    .app-logo::before {
        /*content: attr(data-prefix);*/
        position: absolute;
        display: block;
        background: #fafafa;
        padding: 0.0625rem 0.25rem;
        border-radius: 0.3125rem;
        left: 13.4375rem;
        font-size: 0.6rem;
        top: 50%;
        transform: translate(0, -50%);
        line-height: 1.08375rem;
    }

    .app-logo:hover > .logo-backdrop {
        height: 4.375rem;
        top: 0.625rem;
        left: 0.1875rem;
        opacity: 0.4;
        transition: all 150ms cubic-bezier(0.34, 1.25, 0.3, 1);
    }

    .app-logo:active > .logo-backdrop {
        height: 5rem;
        top: 0.3125rem;
        left: -0.125rem;
        opacity: 0.2;
        transition: all 550ms cubic-bezier(0.34, 5.25, 0.3, 1);
    }

.logo-backdrop {
    --bg-0: var(--bs-body-bg);
    --bg-1: var(--bs-body-bg);
    --blob-1: var(--primary-500);
    --blob-2: var(--primary-200);
    --blob-3: var(--bs-body-bg);
    --blob-4: var(--bs-body-bg);
    width: 3.75rem;
    height: 3.5rem;
    position: absolute;
    opacity: 0.6;
    top: 1.0625rem;
    left: 0.625rem;
    transition: all 750ms cubic-bezier(0.34, 1.25, 0.3, 1);
    z-index: 1;
}

.palette-5 {
    --bg-0: #ffffff;
    --bg-1: #d3f7ff;
    --blob-1: #bb74ff;
    --blob-2: #7c7dff;
    --blob-3: #a0f8ff;
    --blob-4: #ffffff;
}

.blobs {
    width: min(60vw, 60vh);
    height: min(60vw, 60vh);
    max-height: 100%;
    max-width: 100%;
}

    .blobs svg {
        position: relative;
        height: 100%;
        z-index: 2;
    }

    .blobs .blob {
        animation: rotate 25s infinite alternate ease-in-out;
        transform-origin: 50% 50%;
        opacity: 0.7;
    }

        .blobs .blob path {
            animation: blob-anim-1 5s infinite alternate cubic-bezier(0.45, 0.2, 0.55, 0.8);
            transform-origin: 50% 50%;
            transform: scale(0.8);
            transition: fill 800ms ease;
        }

        .blobs .blob.alt {
            animation-direction: alternate-reverse;
            opacity: 0.3;
        }

    .blobs .blob-1 path {
        fill: var(--blob-1);
        filter: blur(1rem);
    }

    .blobs .blob-2 {
        animation-duration: 18s;
        animation-direction: alternate-reverse;
    }

        .blobs .blob-2 path {
            fill: var(--blob-2);
            animation-name: blob-anim-2;
            animation-duration: 7s;
            filter: blur(0.75rem);
            transform: scale(0.78);
        }

        .blobs .blob-2.alt {
            animation-direction: alternate;
        }

    .blobs .blob-3 {
        animation-duration: 23s;
    }

        .blobs .blob-3 path {
            fill: var(--blob-3);
            animation-name: blob-anim-3;
            animation-duration: 6s;
            filter: blur(0.5rem);
            transform: scale(0.76);
        }

    .blobs .blob-4 {
        animation-duration: 31s;
        animation-direction: alternate-reverse;
        opacity: 0.9;
    }

        .blobs .blob-4 path {
            fill: var(--blob-4);
            animation-name: blob-anim-4;
            animation-duration: 10s;
            filter: blur(10rem);
            transform: scale(0.5);
        }

        .blobs .blob-4.alt {
            animation-direction: alternate;
            opacity: 0.8;
        }

/* Navigation styles */
.primary-nav {
    padding: 0.5rem 1.5rem;
    width: var(--menu-width);
    /* Badges inside primary nav */
    /* Navigation title */
}

    .primary-nav .badge {
        --bs-badge-font-size: 0.55rem;
        font-weight: 600;
        margin-left: -0.25rem;
        border-radius: 3px;
        height: 1rem;
        align-self: center !important;
    }

        .primary-nav .badge.badge-end {
            margin-left: auto !important;
            margin-right: 1.5rem !important;
        }

    .primary-nav .nav-title {
        text-transform: uppercase;
        margin: 0;
        color: var(--app-nav-title-color);
        padding: 1rem 0;
        margin-top: 0.5rem;
        font-size: 0.7rem;
        letter-spacing: 1px;
        font-weight: 600;
    }

        .primary-nav .nav-title:first-of-type {
            margin-top: 0rem;
        }

    .primary-nav ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: none;
        position: relative;
        flex-direction: column;
        gap: 0.125rem;
    }

        .primary-nav ul ul::before {
            content: "";
            position: absolute;
            border-left: 1px dashed var(--app-nav-border-color);
            display: block;
            top: 0;
            bottom: 0;
            left: 0.55rem;
            z-index: 1;
        }

        .primary-nav ul ul > li > ul::before {
            content: "";
            left: 2.1rem;
        }

        .primary-nav ul ul li a {
            line-height: 1.5rem;
            padding-left: calc(1.9rem + 2px);
            border-radius: 0.625rem;
            font-size: 0.85rem;
            font-weight: 400;
        }

            .primary-nav ul ul li a:only-child:not(.nav-more-link):hover {
                background-color: var(--app-nav-item-hover-bg);
            }

        .primary-nav ul ul li.active > a {
            color: var(--app-nav-link-color);
        }

            .primary-nav ul ul li.active > a .badge {
                margin-left: 0.75rem;
            }

        .primary-nav ul ul li.active:not(.open):not(.has-ul) a:only-child {
            color: var(--app-nav-link-active-color);
            background-color: var(--app-nav-item-active-bg);
        }

        .primary-nav ul ul li.active:not(.open):not(.has-ul)::before {
            content: "";
            border-radius: 100%;
            width: 0.4375rem;
            height: 0.4375rem;
            background: var(--app-nav-item-active-indicator);
            position: absolute;
            left: 0.375rem;
            top: 50%;
            transform: translate(0, -50%);
            z-index: 1;
        }

        .primary-nav ul ul ul::before {
            left: 1rem;
        }

        .primary-nav ul li {
            position: relative;
        }

            .primary-nav ul li.active:not(.open).has-ul > a .nav-link-text {
                position: relative;
            }

                .primary-nav ul li.active:not(.open).has-ul > a .nav-link-text::before {
                    content: "";
                    width: 5px;
                    height: 5px;
                    background: var(--danger-500);
                    position: absolute;
                    border-radius: 100%;
                    right: -1rem;
                    top: 50%;
                    transform: translate(0, -50%);
                }

            .primary-nav ul li.active > a:only-child .nav-link-text {
                position: relative;
            }

                .primary-nav ul li.active > a:only-child .nav-link-text::before {
                    content: "";
                    width: 5px;
                    height: 5px;
                    background: var(--app-nav-active-indicator, var(--danger-500));
                    position: absolute;
                    border-radius: 100%;
                    right: -1rem;
                    top: 50%;
                    transform: translate(0, -50%);
                }

            .primary-nav ul li.active:not(.open):not(.has-ul) a:only-child {
                color: var(--app-nav-link-active-color);
            }

            .primary-nav ul li:last-child {
                border-bottom: none;
            }

            .primary-nav ul li a {
                display: flex;
                align-items: center;
                gap: 0.75rem;
                padding: 0.5rem 0;
                line-height: 2;
                color: var(--app-nav-link-color);
                font-size: 0.875rem;
                position: relative;
                text-decoration: none;
                width: 100%;
                font-weight: var(--app-nav-parent-fw, 600);
            }

                .primary-nav ul li a .sa-icon {
                    width: var(--app-nav-svgicon-size);
                    height: var(--app-nav-svgicon-size);
                }

                .primary-nav ul li a:hover {
                    color: var(--app-nav-link-hover-color);
                }

                    .primary-nav ul li a:hover .sa-icon {
                        fill: var(--app-nav-item-hover-bg);
                        stroke: var(--app-nav-link-hover-color);
                    }

                .primary-nav ul li a > i {
                    font-size: 1rem;
                    width: 1.5rem;
                }

                    .primary-nav ul li a > i::after {
                        color: rgba(var(--info), 0.9);
                    }

                    .primary-nav ul li a > i::before {
                        color: rgba(var(--primary), 0.9);
                    }

        /* Nested submenu styles */
        .primary-nav ul > li > ul {
            padding-left: 0;
            gap: 0.25rem;
        }

            .primary-nav ul > li > ul ul {
                padding-left: 1.55rem;
            }

                .primary-nav ul > li > ul ul li a {
                    padding-left: 1.4rem;
                    border-radius: 0.625rem;
                    transition: none;
                    line-height: 1.5rem;
                    font-weight: 400;
                }

                    .primary-nav ul > li > ul ul li a:not(.nav-more-link):hover {
                        background-color: var(--app-nav-item-hover-bg);
                    }

                .primary-nav ul > li > ul ul li.active:not(.open) > a {
                    background-color: var(--app-nav-item-active-bg);
                    color: var(--app-nav-link-active-color);
                }

/* Collapse/Expand sign styles */
.collapse-sign {
    position: absolute;
    right: 0.3125rem;
    font-family: monospace;
    color: var(--app-nav-collapse-sign-color);
    font-size: 1rem;
    top: 50%;
    transform: translate(0, -50%);
    font-weight: normal;
}

    .collapse-sign::before {
        flex-shrink: 0;
        width: var(--bs-accordion-btn-icon-width);
        height: var(--bs-accordion-btn-icon-width);
        margin-left: auto;
        content: "";
        background-image: var(--bs-accordion-btn-icon);
        background-repeat: no-repeat;
        background-size: var(--bs-accordion-btn-icon-width);
        transition: var(--bs-accordion-btn-icon-transition);
    }

/* List Filter Styles */
.nav-hidden {
    display: none !important;
}

.nav-hidden-container {
    transition: height 0.2s ease-in-out;
    flex-direction: column;
    gap: 0.25rem;
}

.nav-show-more {
    padding: 2px 0;
}

    .nav-show-more .nav-more-link {
        color: rgba(var(--bs-body-color-rgb), 0.85);
        font-size: 0.9em;
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        font-weight: 400;
        opacity: 0.6;
    }

        .nav-show-more .nav-more-link > a:hover {
            background-color: none !important;
        }

        .nav-show-more .nav-more-link:hover {
            color: var(--app-nav-link-hover-color) !important;
            opacity: 0.9;
        }

        .nav-show-more .nav-more-link.showing-more {
            color: var(--bs-body-color);
            opacity: 0.7;
        }

            .nav-show-more .nav-more-link.showing-more:hover {
                opacity: 0.9;
            }

        .nav-show-more .nav-more-link .collapse-sign {
            right: 0.3125rem;
        }

.nav-footer {
    padding-left: calc(1.5rem + 2px);
    padding-right: calc(1.5rem + 2px);
}

.set-nav-fixed:where(.set-nav-full, .set-header-fixed) .primary-nav::before, .set-nav-fixed:where(.set-nav-full, .set-header-fixed) .primary-nav::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 4px;
    background: var(--primary-500);
    z-index: 10;
}

.set-nav-fixed:where(.set-nav-full, .set-header-fixed) .primary-nav::before {
    top: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.03) 100%);
}

.set-nav-fixed:where(.set-nav-full, .set-header-fixed) .primary-nav::after {
    bottom: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.03) 0%, rgba(0, 0, 0, 0) 100%);
}

.set-nav-fixed:where(.set-nav-full, .set-header-fixed) .nav-footer {
    border-top: 0;
}

.info-card {
    position: relative;
    width: 100%;
    height: 9.53rem;
    color: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0 2rem;
    transition: all 0.7s cubic-bezier(0.34, 1.25, 0.3, 1);
}

    .info-card img.cover {
        opacity: 0.5;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        position: absolute;
        height: auto;
    }

    .info-card .profile-image {
        width: 3.125rem;
        height: auto;
        display: inline-block;
        z-index: 2;
        position: relative;
    }

    .info-card .info-card-text {
        margin-left: 1rem;
        color: inherit;
        text-shadow: #000 0 1px;
        z-index: 1;
        position: relative;
        line-height: normal;
    }

        .info-card .info-card-text > span {
            font-weight: 300;
        }

@media (min-width: 1399px) {
    .info-card:hover {
        transition: all 0.1s ease-in-out;
        will-change: opacity;
    }

        .info-card:hover img.cover {
            opacity: 0.7;
            backface-visibility: hidden;
        }
}

.info-card-text {
    font-size: 0.875rem;
    display: inline-block;
    vertical-align: middle;
    font-weight: 500;
    line-height: 1.35;
}

    .info-card-text > span {
        font-size: 0.875rem;
        display: block;
        font-weight: 300;
    }

.primary-nav .js-filter-hide {
    display: none !important;
}

.primary-nav .js-filter-show {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding-bottom: 0;
}

.primary-nav .js-list-active ul {
    padding-left: 1rem !important;
    display: flex !important;
    flex-direction: column;
}

    .primary-nav .js-list-active ul .nav-hidden-container {
        display: flex !important;
        height: unset !important;
        flex-direction: column;
    }

    .primary-nav .js-list-active ul .nav-show-more {
        display: none !important;
    }

    .primary-nav .js-list-active ul ul {
        padding-left: 1rem !important;
        display: flex !important;
        height: unset !important;
    }

    .primary-nav .js-list-active ul::before {
        content: none !important;
    }

.primary-nav .js-list-active li.active:not(open)::before {
    content: none !important;
}

.primary-nav .js-list-active a {
    padding-left: 0.625rem;
}

    .primary-nav .js-list-active a i,
    .primary-nav .js-list-active a svg {
        display: none;
    }

.primary-nav .js-list-active .nav-item a {
    padding-left: 0.625rem;
}

    .primary-nav .js-list-active .nav-item a i,
    .primary-nav .js-list-active .nav-item a svg {
        display: none;
    }

.primary-nav .js-list-active .collapse-sign {
    display: none;
}

.primary-nav .js-list-active .nav-title {
    color: var(--bs-link-color);
    font-weight: 600;
}

.nav-filter-msg {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    right: 2rem;
    color: var(--bs-white) !important;
}

    .nav-filter-msg:hover {
        background: var(--bs-danger) !important;
    }

        .nav-filter-msg:hover i {
            width: 0.84375rem;
        }

#searchInput {
    border-style: dashed;
    font-size: 0.875rem;
    line-height: 1.5rem;
    position: relative;
    box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.07);
    --bs-secondary-color: var(--input-placeholder-color);
}

    #searchInput:focus {
        background-color: rgba(var(--bs-primary-rgb), 0.03);
    }

#js-nav-menu:has(li:not(.js-filter-hide)) + .no-results-msg {
    display: none;
}

.set-nav-dark:not([data-bs-theme=dark]) {
    --app-nav-bg: var(--primary-900);
    --app-nav-active-indicator: var(--warning-500);
    --app-nav-collapse-sign-color: rgba(255, 255, 255, 0.5);
    --app-nav-item-active-indicator: rgba(255, 255, 255, 0.5);
    --app-nav-background: var(--app-nav-bg);
    --app-content-background: rgba(var(--bs-primary-rgb), 0.04);
    --app-nav-parent-fw: 500;
}

    .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar {
        --app-nav-item-hover-bg: rgba(245, 245, 245, 0.045);
        --app-nav-item-active-bg: rgba(255, 255, 255, 0.09);
        --app-nav-link-active-color: rgba(255, 255, 255, 1);
        --app-nav-border-color: rgba(255, 255, 255, 0.2);
    }

        .set-nav-dark:not([data-bs-theme=dark]) .app-header .app-logo,
        .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .app-logo {
            --app-header-background: var(--app-nav-bg);
        }

            .set-nav-dark:not([data-bs-theme=dark]) .app-header .app-logo .custom-logo,
            .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .app-logo .custom-logo {
                --logo-color: rgba(var(--white), 1);
                --logo-color-fill: none;
                color: #fff;
            }

            .set-nav-dark:not([data-bs-theme=dark]) .app-header .app-logo .logo-backdrop,
            .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .app-logo .logo-backdrop {
                --bg-0: var(--app-nav-bg);
                --bg-1: var(--app-nav-bg);
                --blob-1: var(--info-500);
                --blob-2: #f882e6;
                --blob-3: var(--app-nav-bg);
                --blob-4: var(--app-nav-bg);
                opacity: 0.7;
            }

            .set-nav-dark:not([data-bs-theme=dark]) .app-header .app-logo::before,
            .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .app-logo::before {
                background: #2b3362;
                color: #fff;
            }

    .set-nav-dark:not([data-bs-theme=dark]) .app-header .app-logo {
        background-image: linear-gradient(270deg, rgba(var(--bs-info-rgb), 0.18), transparent);
        background-color: var(--app-nav-bg);
        background-repeat: repeat-y;
        background-size: auto;
        background-position: left top;
    }

    .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar {
        background-image: linear-gradient(270deg, rgba(var(--bs-info-rgb), 0.18), transparent);
        background-color: var(--app-nav-bg);
        background-repeat: repeat-y;
        background-size: auto;
        background-position: left top;
    }

        .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar #searchInput {
            background-color: rgba(255, 255, 255, 0.05);
            color: rgba(255, 255, 255, 0.9);
            border-color: rgba(255, 255, 255, 0.3);
            --bs-secondary-color: rgb(255 255 255 / 40%);
        }

            .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar #searchInput:focus {
                background-color: rgba(255, 255, 255, 0.08);
                border-color: rgba(255, 255, 255, 0.5);
                outline: 4px solid rgba(255, 255, 255, 0.1);
            }

        .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .info-container {
            --bs-info-border-color: rgba(255, 255, 255, 0.3);
            --bs-info-bg: rgba(255, 255, 255, 0.05);
            --bs-info-color: rgba(255, 255, 255, 0.9);
        }

        .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav .nav-title {
            color: rgba(255, 255, 255, 0.6);
        }

        .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav ul li a {
            color: rgba(255, 255, 255, 0.6);
        }

            .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav ul li a .sa-icon {
                fill: rgba(255, 255, 255, 0.2);
                stroke: rgba(255, 255, 255, 0.4);
                flex-shrink: 0;
            }

            .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav ul li a:hover {
                color: rgba(255, 255, 255, 0.9);
            }

                .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav ul li a:hover .sa-icon {
                    fill: rgba(255, 255, 255, 0.3);
                    stroke: rgb(229, 232, 252);
                }

        .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav li.active.has-ul:not(.open) > a {
            color: rgba(255, 255, 255, 0.9);
        }

        .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav .nav-show-more .nav-more-link.showing-more,
        .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav .nav-show-more .nav-more-link {
            color: rgba(255, 255, 255, 0.65);
        }

            .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav .nav-show-more .nav-more-link.showing-more:hover,
            .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .primary-nav .nav-show-more .nav-more-link:hover {
                color: rgba(255, 255, 255, 0.9) !important;
            }

        .set-nav-dark:not([data-bs-theme=dark]) .app-sidebar .slimScrollBar {
            --scrollbar-color: rgba(255, 255, 255, 0.8);
            --scrollbar-hover-color: rgba(255, 255, 255, 1);
        }

.js-filter-hide {
    display: none;
}

.js-filter-show {
    display: block;
}

.suggestions-container {
    font-size: 0.9rem;
    color: #666;
}

.suggest-title {
    color: #999;
    margin-right: 0.5rem;
}

.suggestion {
    color: rgba(var(--bs-link-color-rgb));
    cursor: pointer;
    border-radius: 3px;
    transition: background-color 0.2s;
}

    .suggestion:hover {
        background-color: rgba(33, 150, 243, 0.1);
        color: rgba(var(--bs-link-hover-color-rgb));
    }

.did-you-mean {
    font-size: 0.9rem;
    color: #666;
    margin-top: 0.25rem;
}

    .did-you-mean a {
        color: #2196F3;
        text-decoration: none;
    }

        .did-you-mean a:hover {
            text-decoration: underline;
        }

.bg-primary-50 {
    background-color: var(--primary-50) !important;
    color: #212121 !important;
}

.bg-primary-100 {
    background-color: var(--primary-100) !important;
    color: #212121 !important;
}

.bg-primary-150 {
    background-color: var(--primary-150) !important;
    color: #212121 !important;
}

.bg-primary-200 {
    background-color: var(--primary-200) !important;
    color: #212121 !important;
}

.bg-primary-250 {
    background-color: var(--primary-250) !important;
    color: #212121 !important;
}

.bg-primary-300 {
    background-color: var(--primary-300) !important;
    color: #212121 !important;
}

.bg-primary-350 {
    background-color: var(--primary-350) !important;
    color: #212121 !important;
}

.bg-primary-400 {
    background-color: var(--primary-400) !important;
    color: white !important;
}

.bg-primary-450 {
    background-color: var(--primary-450) !important;
    color: white !important;
}

.bg-primary-500 {
    background-color: var(--primary-500) !important;
    color: white !important;
}

.bg-primary-550 {
    background-color: var(--primary-550) !important;
    color: white !important;
}

.bg-primary-600 {
    background-color: var(--primary-600) !important;
    color: white !important;
}

.bg-primary-650 {
    background-color: var(--primary-650) !important;
    color: white !important;
}

.bg-primary-700 {
    background-color: var(--primary-700) !important;
    color: white !important;
}

.bg-primary-750 {
    background-color: var(--primary-750) !important;
    color: white !important;
}

.bg-primary-800 {
    background-color: var(--primary-800) !important;
    color: white !important;
}

.bg-primary-850 {
    background-color: var(--primary-850) !important;
    color: white !important;
}

.bg-primary-900 {
    background-color: var(--primary-900) !important;
    color: white !important;
}

.bg-success-50 {
    background-color: var(--success-50) !important;
    color: #212121 !important;
}

.bg-success-100 {
    background-color: var(--success-100) !important;
    color: #212121 !important;
}

.bg-success-150 {
    background-color: var(--success-150) !important;
    color: #212121 !important;
}

.bg-success-200 {
    background-color: var(--success-200) !important;
    color: #212121 !important;
}

.bg-success-250 {
    background-color: var(--success-250) !important;
    color: #212121 !important;
}

.bg-success-300 {
    background-color: var(--success-300) !important;
    color: #212121 !important;
}

.bg-success-350 {
    background-color: var(--success-350) !important;
    color: #212121 !important;
}

.bg-success-400 {
    background-color: var(--success-400) !important;
    color: #212121 !important;
}

.bg-success-450 {
    background-color: var(--success-450) !important;
    color: #212121 !important;
}

.bg-success-500 {
    background-color: var(--success-500) !important;
    color: white !important;
}

.bg-success-550 {
    background-color: var(--success-550) !important;
    color: white !important;
}

.bg-success-600 {
    background-color: var(--success-600) !important;
    color: white !important;
}

.bg-success-650 {
    background-color: var(--success-650) !important;
    color: white !important;
}

.bg-success-700 {
    background-color: var(--success-700) !important;
    color: white !important;
}

.bg-success-750 {
    background-color: var(--success-750) !important;
    color: white !important;
}

.bg-success-800 {
    background-color: var(--success-800) !important;
    color: white !important;
}

.bg-success-850 {
    background-color: var(--success-850) !important;
    color: white !important;
}

.bg-success-900 {
    background-color: var(--success-900) !important;
    color: white !important;
}

.bg-info-50 {
    background-color: var(--info-50) !important;
    color: #212121 !important;
}

.bg-info-100 {
    background-color: var(--info-100) !important;
    color: #212121 !important;
}

.bg-info-150 {
    background-color: var(--info-150) !important;
    color: #212121 !important;
}

.bg-info-200 {
    background-color: var(--info-200) !important;
    color: #212121 !important;
}

.bg-info-250 {
    background-color: var(--info-250) !important;
    color: #212121 !important;
}

.bg-info-300 {
    background-color: var(--info-300) !important;
    color: #212121 !important;
}

.bg-info-350 {
    background-color: var(--info-350) !important;
    color: #212121 !important;
}

.bg-info-400 {
    background-color: var(--info-400) !important;
    color: white !important;
}

.bg-info-450 {
    background-color: var(--info-450) !important;
    color: white !important;
}

.bg-info-500 {
    background-color: var(--info-500) !important;
    color: white !important;
}

.bg-info-550 {
    background-color: var(--info-550) !important;
    color: white !important;
}

.bg-info-600 {
    background-color: var(--info-600) !important;
    color: white !important;
}

.bg-info-650 {
    background-color: var(--info-650) !important;
    color: white !important;
}

.bg-info-700 {
    background-color: var(--info-700) !important;
    color: white !important;
}

.bg-info-750 {
    background-color: var(--info-750) !important;
    color: white !important;
}

.bg-info-800 {
    background-color: var(--info-800) !important;
    color: white !important;
}

.bg-info-850 {
    background-color: var(--info-850) !important;
    color: white !important;
}

.bg-info-900 {
    background-color: var(--info-900) !important;
    color: white !important;
}

.bg-warning-50 {
    background-color: var(--warning-50) !important;
    color: #212121 !important;
}

.bg-warning-100 {
    background-color: var(--warning-100) !important;
    color: #212121 !important;
}

.bg-warning-150 {
    background-color: var(--warning-150) !important;
    color: #212121 !important;
}

.bg-warning-200 {
    background-color: var(--warning-200) !important;
    color: #212121 !important;
}

.bg-warning-250 {
    background-color: var(--warning-250) !important;
    color: #212121 !important;
}

.bg-warning-300 {
    background-color: var(--warning-300) !important;
    color: #212121 !important;
}

.bg-warning-350 {
    background-color: var(--warning-350) !important;
    color: #212121 !important;
}

.bg-warning-400 {
    background-color: var(--warning-400) !important;
    color: #212121 !important;
}

.bg-warning-450 {
    background-color: var(--warning-450) !important;
    color: #212121 !important;
}

.bg-warning-500 {
    background-color: var(--warning-500) !important;
    color: #212121 !important;
}

.bg-warning-550 {
    background-color: var(--warning-550) !important;
    color: white !important;
}

.bg-warning-600 {
    background-color: var(--warning-600) !important;
    color: white !important;
}

.bg-warning-650 {
    background-color: var(--warning-650) !important;
    color: white !important;
}

.bg-warning-700 {
    background-color: var(--warning-700) !important;
    color: white !important;
}

.bg-warning-750 {
    background-color: var(--warning-750) !important;
    color: white !important;
}

.bg-warning-800 {
    background-color: var(--warning-800) !important;
    color: white !important;
}

.bg-warning-850 {
    background-color: var(--warning-850) !important;
    color: white !important;
}

.bg-warning-900 {
    background-color: var(--warning-900) !important;
    color: white !important;
}

.bg-danger-50 {
    background-color: var(--danger-50) !important;
    color: #212121 !important;
}

.bg-danger-100 {
    background-color: var(--danger-100) !important;
    color: #212121 !important;
}

.bg-danger-150 {
    background-color: var(--danger-150) !important;
    color: #212121 !important;
}

.bg-danger-200 {
    background-color: var(--danger-200) !important;
    color: #212121 !important;
}

.bg-danger-250 {
    background-color: var(--danger-250) !important;
    color: #212121 !important;
}

.bg-danger-300 {
    background-color: var(--danger-300) !important;
    color: #212121 !important;
}

.bg-danger-350 {
    background-color: var(--danger-350) !important;
    color: #212121 !important;
}

.bg-danger-400 {
    background-color: var(--danger-400) !important;
    color: white !important;
}

.bg-danger-450 {
    background-color: var(--danger-450) !important;
    color: white !important;
}

.bg-danger-500 {
    background-color: var(--danger-500) !important;
    color: white !important;
}

.bg-danger-550 {
    background-color: var(--danger-550) !important;
    color: white !important;
}

.bg-danger-600 {
    background-color: var(--danger-600) !important;
    color: white !important;
}

.bg-danger-650 {
    background-color: var(--danger-650) !important;
    color: white !important;
}

.bg-danger-700 {
    background-color: var(--danger-700) !important;
    color: white !important;
}

.bg-danger-750 {
    background-color: var(--danger-750) !important;
    color: white !important;
}

.bg-danger-800 {
    background-color: var(--danger-800) !important;
    color: white !important;
}

.bg-danger-850 {
    background-color: var(--danger-850) !important;
    color: white !important;
}

.bg-danger-900 {
    background-color: var(--danger-900) !important;
    color: white !important;
}

.bg-fusion-50 {
    background-color: var(--fusion-50) !important;
    color: #212121 !important;
}

.bg-fusion-100 {
    background-color: var(--fusion-100) !important;
    color: #212121 !important;
}

.bg-fusion-150 {
    background-color: var(--fusion-150) !important;
    color: #212121 !important;
}

.bg-fusion-200 {
    background-color: var(--fusion-200) !important;
    color: #212121 !important;
}

.bg-fusion-250 {
    background-color: var(--fusion-250) !important;
    color: #212121 !important;
}

.bg-fusion-300 {
    background-color: var(--fusion-300) !important;
    color: white !important;
}

.bg-fusion-350 {
    background-color: var(--fusion-350) !important;
    color: white !important;
}

.bg-fusion-400 {
    background-color: var(--fusion-400) !important;
    color: white !important;
}

.bg-fusion-450 {
    background-color: var(--fusion-450) !important;
    color: white !important;
}

.bg-fusion-500 {
    background-color: var(--fusion-500) !important;
    color: white !important;
}

.bg-fusion-550 {
    background-color: var(--fusion-550) !important;
    color: white !important;
}

.bg-fusion-600 {
    background-color: var(--fusion-600) !important;
    color: white !important;
}

.bg-fusion-650 {
    background-color: var(--fusion-650) !important;
    color: white !important;
}

.bg-fusion-700 {
    background-color: var(--fusion-700) !important;
    color: white !important;
}

.bg-fusion-750 {
    background-color: var(--fusion-750) !important;
    color: white !important;
}

.bg-fusion-800 {
    background-color: var(--fusion-800) !important;
    color: white !important;
}

.bg-fusion-850 {
    background-color: var(--fusion-850) !important;
    color: white !important;
}

.bg-fusion-900 {
    background-color: var(--fusion-900) !important;
    color: white !important;
}

.bg-dark-50 {
    background-color: var(--dark-50) !important;
    color: #212121 !important;
}

.bg-dark-100 {
    background-color: var(--dark-100) !important;
    color: #212121 !important;
}

.bg-dark-150 {
    background-color: var(--dark-150) !important;
    color: white !important;
}

.bg-dark-200 {
    background-color: var(--dark-200) !important;
    color: white !important;
}

.bg-dark-250 {
    background-color: var(--dark-250) !important;
    color: white !important;
}

.bg-dark-300 {
    background-color: var(--dark-300) !important;
    color: white !important;
}

.bg-dark-350 {
    background-color: var(--dark-350) !important;
    color: white !important;
}

.bg-dark-400 {
    background-color: var(--dark-400) !important;
    color: white !important;
}

.bg-dark-450 {
    background-color: var(--dark-450) !important;
    color: white !important;
}

.bg-dark-500 {
    background-color: var(--dark-500) !important;
    color: white !important;
}

.bg-dark-550 {
    background-color: var(--dark-550) !important;
    color: white !important;
}

.bg-dark-600 {
    background-color: var(--dark-600) !important;
    color: white !important;
}

.bg-dark-650 {
    background-color: var(--dark-650) !important;
    color: white !important;
}

.bg-dark-700 {
    background-color: var(--dark-700) !important;
    color: white !important;
}

.bg-dark-750 {
    background-color: var(--dark-750) !important;
    color: white !important;
}

.bg-dark-800 {
    background-color: var(--dark-800) !important;
    color: white !important;
}

.bg-dark-850 {
    background-color: var(--dark-850) !important;
    color: white !important;
}

.bg-dark-900 {
    background-color: var(--dark-900) !important;
    color: white !important;
}

.bg-light-50 {
    background-color: var(--light-50) !important;
    color: #212121 !important;
}

.bg-light-100 {
    background-color: var(--light-100) !important;
    color: #212121 !important;
}

.bg-light-150 {
    background-color: var(--light-150) !important;
    color: #212121 !important;
}

.bg-light-200 {
    background-color: var(--light-200) !important;
    color: #212121 !important;
}

.bg-light-250 {
    background-color: var(--light-250) !important;
    color: #212121 !important;
}

.bg-light-300 {
    background-color: var(--light-300) !important;
    color: #212121 !important;
}

.bg-light-350 {
    background-color: var(--light-350) !important;
    color: #212121 !important;
}

.bg-light-400 {
    background-color: var(--light-400) !important;
    color: #212121 !important;
}

.bg-light-450 {
    background-color: var(--light-450) !important;
    color: #212121 !important;
}

.bg-light-500 {
    background-color: var(--light-500) !important;
    color: #212121 !important;
}

.bg-light-550 {
    background-color: var(--light-550) !important;
    color: #212121 !important;
}

.bg-light-600 {
    background-color: var(--light-600) !important;
    color: #212121 !important;
}

.bg-light-650 {
    background-color: var(--light-650) !important;
    color: white !important;
}

.bg-light-700 {
    background-color: var(--light-700) !important;
    color: white !important;
}

.bg-light-750 {
    background-color: var(--light-750) !important;
    color: white !important;
}

.bg-light-800 {
    background-color: var(--light-800) !important;
    color: white !important;
}

.bg-light-850 {
    background-color: var(--light-850) !important;
    color: white !important;
}

.bg-light-900 {
    background-color: var(--light-900) !important;
    color: white !important;
}

.bg-secondary-50 {
    background-color: var(--secondary-50) !important;
    color: #212121 !important;
}

.bg-secondary-100 {
    background-color: var(--secondary-100) !important;
    color: #212121 !important;
}

.bg-secondary-150 {
    background-color: var(--secondary-150) !important;
    color: #212121 !important;
}

.bg-secondary-200 {
    background-color: var(--secondary-200) !important;
    color: #212121 !important;
}

.bg-secondary-250 {
    background-color: var(--secondary-250) !important;
    color: #212121 !important;
}

.bg-secondary-300 {
    background-color: var(--secondary-300) !important;
    color: #212121 !important;
}

.bg-secondary-350 {
    background-color: var(--secondary-350) !important;
    color: white !important;
}

.bg-secondary-400 {
    background-color: var(--secondary-400) !important;
    color: white !important;
}

.bg-secondary-450 {
    background-color: var(--secondary-450) !important;
    color: white !important;
}

.bg-secondary-500 {
    background-color: var(--secondary-500) !important;
    color: white !important;
}

.bg-secondary-550 {
    background-color: var(--secondary-550) !important;
    color: white !important;
}

.bg-secondary-600 {
    background-color: var(--secondary-600) !important;
    color: white !important;
}

.bg-secondary-650 {
    background-color: var(--secondary-650) !important;
    color: white !important;
}

.bg-secondary-700 {
    background-color: var(--secondary-700) !important;
    color: white !important;
}

.bg-secondary-750 {
    background-color: var(--secondary-750) !important;
    color: white !important;
}

.bg-secondary-800 {
    background-color: var(--secondary-800) !important;
    color: white !important;
}

.bg-secondary-850 {
    background-color: var(--secondary-850) !important;
    color: white !important;
}

.bg-secondary-900 {
    background-color: var(--secondary-900) !important;
    color: white !important;
}

.bg-placeholder {
    --body-bg: var(--success-500);
    --gp-color-1: var(--primary-900);
    background-color: var(--body-bg);
    background-image: radial-gradient(ellipse at bottom, var(--body-bg) 5%, transparent 60%), linear-gradient(136deg, transparent, var(--gp-color-1) 290%), linear-gradient(115deg, var(--gp-color-1), transparent 40%), linear-gradient(180deg, transparent 0, var(--body-bg) 70%), radial-gradient(ellipse at -70% -180%, transparent 80%, var(--gp-color-1) 0), radial-gradient(ellipse at bottom, var(--body-bg) 40%, transparent 80%), radial-gradient(ellipse at 5% 340%, transparent 80%, var(--gp-color-1) 0);
    background-repeat: no-repeat;
}

.bg-subtlelight-fade {
    background-color: var(--bs-body-bg);
    background-image: -webkit-gradient(linear, left bottom, left top, from(var(--bs-body-bg)), to(rgba(var(--bs-primary-rgb), 0.04)));
    background-image: linear-gradient(to top, var(--bs-body-bg), rgba(var(--bs-primary-rgb), 0.04));
}

.body-bg {
    background-color: var(--bs-body-bg);
}

.content-wrapper:has(> .layout-trimmed) {
    padding: 0 !important;
}

    .content-wrapper:has(> .layout-trimmed) > *:not(.main-content) {
        display: none !important;
    }

.show-child-on-hover .show-on-hover-parent {
    display: none;
}

.show-child-on-hover:hover .show-on-hover-parent {
    display: block;
}

.hide-child-on-hover .hide-on-hover-parent {
    display: block;
}

.hide-child-on-hover:hover .hide-on-hover-parent {
    display: none;
}

.translucent-dark,
.translucent-light {
    background: rgba(0, 0, 0, 0.25);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border-radius: 0.625rem;
    border: 1px solid rgba(0, 0, 0, 0.18);
}

.translucent-light {
    background: rgba(255, 255, 255, 0.25);
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37);
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.fw-bold, b, strong,
.fw-500 {
    font-weight: 500 !important;
}

.fw-300,
.fw-light {
    font-weight: 300 !important;
}

.fw-600 {
    font-weight: 600 !important;
}

.fw-700 {
    font-weight: 700 !important;
}

code {
    --code-background: var(--bs-body-bg);
    background: var(--code-background);
    padding: 0.125rem 0.25rem;
    border-radius: 0.125rem;
}

.h2-title {
    font-size: 1.75rem;
    font-weight: 500;
    text-shadow: var(--bs-emphasis-color) 0 1px;
    margin: 3.5rem 0 0 0;
    display: flex;
    align-items: center;
    gap: 0.3125rem;
}

    .h2-title:not(:has(*)) {
        margin-bottom: 2.3rem;
    }

.h3-title {
    font-size: 1.125rem;
    font-weight: 700;
    margin: 2rem 0 0 0;
    display: flex;
    align-items: center;
    gap: 0.3125rem;
}

    .h3-title:not(:has(*)) {
        margin-bottom: 0.7rem;
    }

.hover-effect-dot {
    position: relative;
}

    .hover-effect-dot:before {
        content: "";
        background: rgba(0, 0, 0, 0.2);
        width: 0%;
        height: 0%;
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        border-radius: 100%;
        -webkit-transition: all 0.1s ease-in;
        transition: all 0.1s ease-in;
    }

    .hover-effect-dot:hover:before {
        width: 75%;
        height: 75%;
    }

.h-auto {
    height: auto !important;
}

.w-auto {
    width: auto !important;
}

.min-height-reset {
    min-height: initial !important;
}

.max-width-reset {
    max-width: none !important;
}

.max-height-reset {
    max-height: none !important;
}

.min-width-0 {
    min-width: 0;
}

.width-0 {
    width: 0;
}

.width-1 {
    width: 1.5rem;
}

.width-2 {
    width: 2rem;
}

.width-3 {
    width: 2.5rem;
}

.width-4 {
    width: 2.75rem;
}

.width-5 {
    width: 3rem;
}

.width-6 {
    width: 3.25rem;
}

.width-7 {
    width: 3.5rem;
}

.width-8 {
    width: 3.75rem;
}

.width-9 {
    width: 4rem;
}

.width-10 {
    width: 4.25rem;
}

.width-xs {
    min-width: 5rem;
}

.width-max-xs {
    max-width: 5rem;
}

.width-sm {
    min-width: 10rem;
}

.width-max-sm {
    max-width: 10rem;
}

.width-lg {
    min-width: 15rem;
}

.width-max-lg {
    max-width: 15rem;
}

.width-xl {
    min-width: 20rem;
}

.width-max-xl {
    max-width: 20rem;
}

.width-max-100 {
    max-width: 100%;
}

.height-0 {
    height: 0;
}

.height-1 {
    height: 1.5rem;
}

.height-2 {
    height: 2rem;
}

.height-3 {
    height: 2.5rem;
}

.height-4 {
    height: 2.75rem;
}

.height-5 {
    height: 3rem;
}

.height-6 {
    height: 3.25rem;
}

.height-7 {
    height: 3.5rem;
}

.height-8 {
    height: 3.75rem;
}

.height-9 {
    height: 4rem;
}

.height-10 {
    height: 4.25rem;
}

.height-xs {
    min-height: 5rem;
}

.height-sm {
    min-height: 10rem;
}

.height-lg {
    min-height: 15rem;
}

.height-xl {
    min-height: 20rem;
}

.l-h-n {
    line-height: normal;
}

.if-empty-display-none:empty {
    display: none !important;
}

[data-hasmore] {
    position: relative;
    color: #fff;
}

    [data-hasmore]:before {
        content: attr(data-hasmore);
        border-radius: inherit;
        background: rgba(0, 0, 0, 0.4);
        height: inherit;
        width: 100%;
        position: absolute;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-weight: 500;
        font-size: inherit;
    }

.time-stamp {
    font-size: 0.78125rem;
    margin: 0.25rem 0 0 0;
    color: #767676;
    font-weight: 300;
}

.border-faded {
    border: 1px solid rgba(var(--bs-body-color-rgb), var(--row-grid-opacity, 0.07));
}

.border-transparent {
    border: 1px solid transparent !important;
}

.border-top-left-radius-0 {
    border-top-left-radius: 0 !important;
}

.border-bottom-left-radius-0 {
    border-bottom-left-radius: 0 !important;
}

.border-top-right-radius-0 {
    border-top-right-radius: 0 !important;
}

.border-bottom-right-radius-0 {
    border-bottom-right-radius: 0 !important;
}

.rounded-plus {
    border-radius: 0.625rem;
}

.rounded-bottom {
    border-radius: 0 0 0.25rem 0.25rem;
}

.rounded-top {
    border-radius: 0.25rem 0.25rem 0 0;
}

a[target]:not(.btn) {
    font-weight: 500;
    -webkit-text-decoration-skip: ink;
    text-decoration: underline !important;
}

.profile-image {
    width: 3.125rem;
    height: 3.125rem;
    max-width: 3.125rem;
    max-height: 3.125rem;
    object-fit: cover;
}

.profile-image-md {
    width: 2rem;
    height: 2rem;
    max-width: 2rem;
    max-height: 2rem;
    object-fit: cover;
}

.profile-image-sm {
    width: 1.5625rem;
    height: 1.5625rem;
    max-width: 1.5625rem;
    max-height: 1.5625rem;
    object-fit: cover;
}

.text-inverse {
    color: #000;
}

.bg-inverse {
    background-color: #000;
}

[data-bs-theme=dark] .text-inverse {
    color: #fff;
}

[data-bs-theme=dark] .bg-inverse {
    background-color: #fff;
}

.status {
    position: relative;
}

    .status:before {
        content: " ";
        position: absolute;
        width: 15px;
        height: 15px;
        display: block;
        top: -2px;
        right: -2px;
        background: #505050;
        border-radius: 50%;
        border: 2px solid var(--bs-body-bg);
    }

    .status.status-sm:before {
        width: 10px;
        height: 10px;
        border-width: 1px;
        top: 0;
        right: 0;
    }

    .status.status-xs:before {
        width: 8px;
        height: 8px;
        border-width: 1px;
        top: 0;
        right: 0;
    }

    .status.status-success:before {
        background: var(--success-500);
    }

    .status.status-danger:before {
        background: var(--danger-500);
    }

    .status.status-warning:before {
        background: var(--warning-500);
    }

.bg-trans-gradient {
    background: linear-gradient(250deg, #886ab5, #2196F3);
}

.bg-primary-gradient {
    background-image: linear-gradient(250deg, rgba(var(--bs-primary-rgb), 0.5), transparent);
}

.bg-danger-gradient {
    background-image: linear-gradient(250deg, rgba(206, 2, 98, 0.7), transparent);
}

.bg-info-gradient {
    background-image: linear-gradient(250deg, rgba(9, 96, 165, 0.7), transparent);
}

.bg-warning-gradient {
    background-image: linear-gradient(250deg, rgba(218, 148, 0, 0.7), transparent);
}

.bg-success-gradient {
    background-image: linear-gradient(250deg, rgba(16, 112, 102, 0.7), transparent);
}

.bg-fusion-gradient {
    background-image: linear-gradient(250deg, rgba(29, 29, 29, 0.7), transparent);
}

.border-dashed {
    border-style: dashed !important;
}

.border-dotted {
    border-style: dotted !important;
}

.border-double {
    border-style: double !important;
}

.border-groove {
    border-style: groove !important;
}

.border-ridge {
    border-style: ridge !important;
}

.border-inset {
    border-style: inset !important;
}

.border-outset {
    border-style: outset !important;
}

.cursor-auto {
    cursor: auto !important;
}

.cursor-crosshair {
    cursor: crosshair !important;
}

.cursor-default {
    cursor: default !important;
}

.cursor-e-resize {
    cursor: e-resize !important;
}

.cursor-help {
    cursor: help !important;
}

.cursor-move {
    cursor: move !important;
}

.cursor-n-resize {
    cursor: n-resize !important;
}

.cursor-ne-resize {
    cursor: ne-resize !important;
}

.cursor-nw-resize {
    cursor: nw-resize !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

.cursor-progress {
    cursor: progress !important;
}

.cursor-s-resize {
    cursor: s-resize !important;
}

.cursor-se-resize {
    cursor: se-resize !important;
}

.cursor-sw-resize {
    cursor: sw-resize !important;
}

.cursor-text {
    cursor: text !important;
}

.cursor-w-resize {
    cursor: w-resize !important;
}

.cursor-wait {
    cursor: wait !important;
}

.cursor-inherit {
    cursor: inherit !important;
}

.row-grid {
    overflow: hidden;
}

    .row-grid > .col, .row-grid > [class$=" col"], .row-grid > [class*=" col "], .row-grid > [class*=" col-"], .row-grid > [class=col], .row-grid > [class^="col "], .row-grid > [class^=col-] {
        position: relative;
    }

        .row-grid > .col:after, .row-grid > [class$=" col"]:after, .row-grid > [class*=" col "]:after, .row-grid > [class*=" col-"]:after, .row-grid > [class=col]:after, .row-grid > [class^="col "]:after, .row-grid > [class^=col-]:after {
            --row-grid: var(--row-grid-line-rgb, var(--bs-body-color-rgb));
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            left: -1px;
            display: block;
            width: 0;
            border-left: 1px solid rgba(var(--row-grid), var(--row-grid-opacity, 0.07));
        }

        .row-grid > .col:before, .row-grid > [class$=" col"]:before, .row-grid > [class*=" col "]:before, .row-grid > [class*=" col-"]:before, .row-grid > [class=col]:before, .row-grid > [class^="col "]:before, .row-grid > [class^=col-]:before {
            --row-grid: var(--row-grid-line-rgb, var(--bs-body-color-rgb));
            content: "";
            position: absolute;
            right: 0;
            bottom: -1px;
            left: 0;
            display: block;
            height: 0;
            border-top: 1px solid rgba(var(--row-grid), var(--row-grid-opacity, 0.07));
        }

.text-gradient {
    background: linear-gradient(180deg, var(--info-50) 10%, var(--info-300) 35%, var(--primary-500) 60%, var(--primary-600) 100%);
    color: var(--info-500);
    background-clip: text;
    text-fill-color: transparent;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
}

.text-truncate-header {
    max-width: 6.0625rem;
}

.text-truncate-xs {
    max-width: 4.5625rem;
}

.text-truncate-sm {
    max-width: 117px;
}

.text-truncate-md {
    max-width: 160px;
}

.text-truncate-default {
    max-width: 180px;
}

.text-truncate-lg {
    max-width: 200px;
}

.p-g {
    padding: 2rem;
}

.m-g {
    margin: 2rem;
}

.mb-g {
    margin-bottom: 2rem !important;
}

.mb-gb {
    margin-bottom: 3rem;
}

.h1 small, .h2 small, .h3 small, .h4 small, .h5 small, .h6 small, h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    font-weight: 300;
    display: block;
    font-size: 0.9375rem;
    line-height: 1.5;
    margin: 2px 0 1.5rem;
}

.h2 small, .h3 small, h2 small, h3 small {
    font-size: 0.9375rem;
}

.h4 small, h4 small {
    font-size: 0.875rem;
}

.h5 small, .h6 small, h5 small, h6 small {
    font-size: 0.8125rem;
}

.bg-faded {
    background-color: rgba(var(--bs-emphasis-color-rgb), 0.025);
}

.fs-nano {
    font-size: 0.6875rem !important;
}

.fs-xs {
    font-size: 0.75rem !important;
}

.fs-sm {
    font-size: 0.78125rem !important;
}

.fs-b {
    font-size: 0.8125rem !important;
}

.fs-md {
    font-size: 0.875rem !important;
}

.fs-lg {
    font-size: 0.9375rem !important;
}

.fs-xl {
    font-size: 1rem !important;
}

.fs-xxl {
    font-size: 1.75rem !important;
}

.opacity-5 {
    opacity: 0.05;
}

.opacity-10 {
    opacity: 0.1;
}

.opacity-15 {
    opacity: 0.15;
}

.opacity-20 {
    opacity: 0.2;
}

.opacity-25 {
    opacity: 0.25;
}

.opacity-30 {
    opacity: 0.3;
}

.opacity-35 {
    opacity: 0.35;
}

.opacity-40 {
    opacity: 0.4;
}

.opacity-45 {
    opacity: 0.45;
}

.opacity-50 {
    opacity: 0.5;
}

.opacity-55 {
    opacity: 0.55;
}

.opacity-60 {
    opacity: 0.6;
}

.opacity-65 {
    opacity: 0.65;
}

.opacity-70 {
    opacity: 0.7;
}

.opacity-75 {
    opacity: 0.75;
}

.opacity-80 {
    opacity: 0.8;
}

.opacity-85 {
    opacity: 0.85;
}

.opacity-90 {
    opacity: 0.9;
}

.opacity-95 {
    opacity: 0.95;
}

.opacity-100 {
    opacity: 1;
}

[aria-expanded=false] ~ .collapsed-reveal {
    display: none;
}

[aria-expanded=false] .collapsed-reveal {
    display: none;
}

[aria-expanded=false] ~ .collapsed-hidden {
    display: block;
}

[aria-expanded=false] .collapsed-hidden {
    display: block;
}

[aria-expanded=true] ~ .collapsed-reveal {
    display: block;
}

[aria-expanded=true] .collapsed-reveal {
    display: block;
}

[aria-expanded=true] ~ .collapsed-hidden {
    display: none;
}

[aria-expanded=true] .collapsed-hidden {
    display: none;
}

.pos-top {
    top: 0;
}

.pos-left {
    left: 0;
}

.pos-right {
    right: 0;
}

.pos-bottom {
    bottom: 0;
}

hr {
    border: none;
    border-bottom: 1px dashed rgba(0, 0, 0, 0.3);
}

.disabled:not(.btn), .disabled:not(.btn) > * {
    -webkit-filter: grayscale(80%);
    filter: grayscale(80%);
    opacity: 0.8;
    cursor: not-allowed;
}

.hover-bg {
    background: var(--bs-body-bg);
    -webkit-transition: all 0.1s ease-in;
    transition: all 0.1s ease-in;
    color: inherit;
}

    .hover-bg:hover {
        background: inherit;
        color: inherit;
    }

.rotate-90 {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.rotate-180 {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
}

.rotate-270 {
    -webkit-transform: rotate(270deg);
    transform: rotate(270deg);
}

.shadow-0 {
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}

.shadow-1, .shadow-hover-1:hover {
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.02), 0 1px 2px rgba(0, 0, 0, 0.1);
}

.shadow-2, .shadow-hover-2:hover {
    box-shadow: 0 0.1rem 0.15rem rgba(0, 0, 0, 0.1);
}

.shadow-3, .shadow-hover-3:hover {
    box-shadow: 0 0.1rem 0.15rem rgba(0, 0, 0, 0.125);
}

.shadow-4, .shadow-hover-4:hover {
    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.125);
}

.shadow-5, .shadow-hover-5:hover {
    box-shadow: 0 0.125rem 0.325rem rgba(0, 0, 0, 0.175);
}

.shadow-hover-inset-1:hover, .shadow-inset-1 {
    box-shadow: inset 0 0.25rem 0.125rem 0 rgba(33, 37, 41, 0.025);
}

.shadow-hover-inset-2:hover, .shadow-inset-2 {
    box-shadow: inset 0 0.2rem 0.325rem rgba(0, 0, 0, 0.04);
}

.shadow-hover-inset-3:hover, .shadow-inset-3 {
    box-shadow: inset 0 0.2rem 0.325rem rgba(0, 0, 0, 0.05);
}

.shadow-hover-inset-4:hover, .shadow-inset-4 {
    box-shadow: inset 0 0.25rem 0.5rem rgba(0, 0, 0, 0.06);
}

.shadow-hover-inset-5:hover, .shadow-inset-5 {
    box-shadow: inset 0 0.35rem 0.5rem rgba(0, 0, 0, 0.07);
}

.shadow-sm-hover:hover {
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
}

.shadow-hover:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}

.shadow-lg-hover:hover {
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
}

.info-card-text {
    font-size: 0.875rem;
    display: inline-block;
    vertical-align: middle;
    font-weight: 500;
    line-height: 1.35;
}

    .info-card-text > span {
        font-size: 0.875rem;
        display: block;
        font-weight: 300;
    }

/* scrolling wrapper */
.scrolling-wrapper {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* Opacity classes */
.alpha-1 {
    opacity: 0.1;
}

.alpha-2 {
    opacity: 0.2;
}

.alpha-3 {
    opacity: 0.3;
}

.alpha-4 {
    opacity: 0.4;
}

.alpha-5 {
    opacity: 0.5;
}

.alpha-6 {
    opacity: 0.6;
}

.alpha-7 {
    opacity: 0.7;
}

.alpha-8 {
    opacity: 0.8;
}

.alpha-9 {
    opacity: 0.9;
}

.alpha-10 {
    opacity: 1;
}

/* Rotation classes - add all possible rotation values */
.rotate-0 {
    transform: rotate(0deg);
}

.rotate-45 {
    transform: rotate(45deg);
}

.rotate-90 {
    transform: rotate(90deg);
}

.rotate-135 {
    transform: rotate(135deg);
}

.rotate-180 {
    transform: rotate(180deg);
}

.rotate-225 {
    transform: rotate(225deg);
}

.rotate-270 {
    transform: rotate(270deg);
}

.rotate-315 {
    transform: rotate(315deg);
}

.rotate-360 {
    transform: rotate(360deg);
}

.kbd-key {
    align-items: center;
    background: linear-gradient(-225deg, #d5dbe4, #f8f8f8);
    border: 0;
    border-radius: 3px;
    box-shadow: inset 0 -2px 0 0 #cdcde6, inset 0 0 1px 1px #fff, 0 1px 2px 1px rgba(30, 35, 90, 0.4);
    color: #333;
    display: flex;
    justify-content: center;
    margin-right: 0.4em;
    padding: 0 0 2px;
    position: relative;
    top: -1px;
    transition-duration: 0.1s;
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    height: 18px;
    width: 20px;
}

.badge.badge-icon {
    position: absolute;
    display: inline-block;
    background-color: var(--danger-500);
    color: #fff;
    box-shadow: 0 0 0 1px var(--bs-body-bg);
    cursor: default;
    border: 1px solid transparent;
    font-size: 0.625rem;
    min-width: 1.25rem;
    max-width: 2rem;
    padding: 0 0.3125rem;
    border-radius: 1.25rem;
    font-weight: 600;
    line-height: 1rem;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    vertical-align: middle;
    transform: translate(10%, -10%);
}

.nav-link {
    font-size: 0.875rem;
}

.saving-indicator {
    position: fixed;
    top: 6.5625rem;
    right: 0.9375rem;
    font-size: 0.75rem;
    width: 1.5rem;
    height: 1.5rem;
    color: inherit;
    opacity: 0;
    transition: all 0.3s ease-out;
    z-index: calc(var(--z-index-master) + 3);
}

    .saving-indicator.show {
        opacity: 1;
    }

    .saving-indicator.success {
        color: var(--success-500);
    }

.hide-page-scrollbar .saving-indicator {
    right: calc(var(--drawer-width) + 1.5rem);
}

.slide-on-mobile {
    --sidepanel-width: 15rem;
    --sidepanel-z-index: 10;
    width: var(--sidepanel-width, 15rem);
}

@media only screen and (max-width: 991.98px) {
    .slide-on-mobile {
        transform: translate3d(0, 0, 0);
        z-index: var(--sidepanel-z-index, 10);
        position: absolute !important;
        top: 0;
        bottom: 0;
        background-color: var(--bs-body-bg, #f8f9fa);
        transition: all 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
    }

    .slide-backdrop {
        background: 0 0;
        transition: background 0.3s;
    }

    .slide-on-mobile-left {
        border-right: 1px solid rgba(0, 0, 0, 0.09);
        left: calc(-1 * var(--sidepanel-width, 15rem));
    }

    .slide-on-mobile-left-show {
        left: 0;
    }

    .slide-on-mobile-right {
        border-left: 1px solid rgba(0, 0, 0, 0.09);
        right: calc(-1 * var(--sidepanel-width, 15rem));
    }

    .slide-on-mobile-right-show {
        right: 0;
    }

        .slide-on-mobile-left-show + .slide-backdrop,
        .slide-on-mobile-right-show + .slide-backdrop {
            background: rgba(var(--bs-body-color-rgb), 0.09);
            position: absolute;
            z-index: 9;
            left: 0;
            right: 0;
            bottom: 0;
            top: 0;
        }
}

.app-content:has(> .content-wrapper-right) {
    position: relative;
}

.content-wrapper-right {
    background-color: var(--bs-body-bg);
}

@media only screen and (max-width: 1440px) {
    .content-wrapper-right {
        position: absolute;
        right: calc(-1 * var(--right-content-width));
        width: var(--right-content-width);
        height: 100%;
        top: 0;
        z-index: 1000;
        display: none;
    }

        .content-wrapper-right.show {
            display: block;
            right: 0;
        }
}

.form-control:focus {
    border-color: var(--primary-500);
}

    .form-control:focus + .input-group-text {
        background-color: var(--primary-500);
        color: var(--bs-white);
        border-color: var(--primary-500);
    }

        .form-control:focus + .input-group-text .form-check-input:checked {
            background-color: var(--primary-700);
            border-color: var(--primary-900);
        }

.form-control + .input-group-text {
    transition: all 0.15s ease-in-out;
}

.input-group:focus-within .input-group-text {
    background-color: var(--primary-500);
    color: var(--bs-white) !important;
    border-color: var(--primary-500);
}

    .input-group:focus-within .input-group-text .form-check-input:checked {
        background-color: var(--primary-700);
        border-color: var(--primary-900);
    }

.input-group:focus-within .form-select {
    border-color: var(--primary-500);
}

.input-group:focus-within .input-group-text + .input-group-text {
    border-left: 1px solid var(--primary-700);
}

.form-check-input {
    transition: all 0.3s ease;
}

.input-group-text {
    -webkit-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
}

.input-group.input-group-multi-transition input[type=text] {
    -webkit-transition: width 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
    transition: width 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
}

    .input-group.input-group-multi-transition input[type=text]:focus {
        width: 50%;
    }

/* When the input is invalid, make input-group-text red */
.was-validated .input-group.has-validation:has(> .form-control:invalid) .input-group-text,
.was-validated .input-group:has(> .form-control:invalid) .input-group-text,
.input-group:has(> .form-control.is-invalid) .input-group-text {
    background-color: var(--bs-form-invalid-color);
    border-color: var(--bs-form-invalid-border-color);
    color: #ffffff;
}

.was-validated .input-group.has-validation:has(> .form-control:valid) .input-group-text,
.was-validated .input-group:has(> .form-control:valid) .input-group-text,
.input-group:has(> .form-control.is-valid) .input-group-text {
    background-color: var(--bs-form-valid-color);
    border-color: var(--bs-form-valid-border-color);
    color: #ffffff;
}

/* create a hit area for the checkbox */
.form-check-hitbox {
    position: relative;
}

    .form-check-hitbox .form-check-input {
        position: relative;
        z-index: 2;
    }

        .form-check-hitbox .form-check-input:focus + .form-check-label {
            background: rgba(var(--bs-body-color-rgb), 0.03);
        }

    .form-check-hitbox:hover:has(.form-check-input):hover .form-check-label {
        background: rgba(var(--bs-body-color-rgb), 0.05);
    }

    .form-check-hitbox .form-check-label {
        position: absolute;
        padding: 1.53em;
        background: transparent;
        border-radius: 100%;
        transform: translate(-86%, -23%);
        z-index: 1;
        transition: background 0.3s ease;
    }

        .form-check-hitbox .form-check-label:hover {
            background: rgba(var(--bs-body-color-rgb), 0.05);
        }

.offer-card:hover {
    background-color: var(--bs-body-bg);
    border-color: var(--primary-500);
    cursor: pointer;
}

.channel-card:hover {
    background-color: var(--bs-body-bg);
    cursor: pointer;
}

.offer-card .form-check-input,
.channel-card .form-check-input {
    display: none;
}

.offer-card:has(.form-check-input:checked) {
    border-color: var(--primary-500);
    background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.channel-card:has(.form-check-input:checked) {
    border-color: var(--primary-500);
    background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.toast:not(:last-child) {
    margin-bottom: 0.75rem;
}

.list-spaced li {
    margin-top: 7px;
    margin-bottom: 7px;
}

    .list-spaced li:first-child {
        margin-top: 0;
    }

    .list-spaced li:last-child {
        margin-bottom: 0;
    }

.list-spaced > li {
    padding: 0 0 0.2rem;
}

.img-share {
    width: auto;
    height: 2.8125rem;
}

span.img-share {
    width: 4.1259375rem;
    height: 2.8125rem;
}

.notes {
    padding: 5px;
    background: #f9f4b5;
}

.disclaimer {
    padding-left: 0.625rem;
    font-size: 0.5rem;
    color: #a2a2a2;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-style: italic;
}

.nav-tabs-clean .nav-item .nav-link {
    border-radius: 0;
    border: 0;
    height: 2.8125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid transparent !important;
}

.nav-tabs .nav-item .nav-link:not(:hover) {
    color: inherit;
}

.notification li > :first-child > span > span {
    display: block;
}

.modal-content {
    -webkit-box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
}

.modal.show .modal-dialog {
    -webkit-transform: none;
    transform: none;
}

.modal-alert {
    padding: 0 !important;
}

    .modal-alert .modal-dialog {
        max-width: 100% !important;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        min-height: calc(100% - 3.5rem);
        -webkit-transform: none !important;
        transform: none !important;
    }

    .modal-alert .modal-content {
        background-color: rgba(0, 0, 0, 0.8);
        border-radius: 0;
        padding: 1.5rem 1rem 1rem;
    }

    .modal-alert .modal-title {
        font-size: 1.5rem;
        font-weight: 300;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .modal-alert .modal-body, .modal-alert .modal-footer, .modal-alert .modal-header {
        width: 100%;
        max-width: 992px;
        margin: 0 auto;
        padding: 0;
        color: #fff;
        position: relative;
    }

    .modal-alert .close {
        color: #fff;
        text-shadow: 0 1px 0 #000;
    }

.modal-backdrop-transparent {
    background: 0 0;
}

.modal-dialog-bottom, .modal-dialog-top {
    position: absolute;
    top: 0;
    margin: 0;
    min-width: 100%;
}

    .modal-dialog-bottom .modal-dialog, .modal-dialog-top .modal-dialog {
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    .modal-dialog-bottom .modal-content, .modal-dialog-top .modal-content {
        border-radius: 0;
        border: 0;
    }

.modal-dialog-bottom {
    top: auto;
    bottom: 0;
}

.modal.fade .modal-dialog-bottom {
    transform: translate(0, 25%);
}

.modal-dialog-start {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0 !important;
}

    .modal-dialog-start .modal-content {
        min-height: 100%;
        border-width: 0;
        border-radius: 0;
    }

.modal.fade .modal-dialog-start {
    transform: translate(-25%, 0);
}

.modal-dialog-end {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    border-width: 0;
}

    .modal-dialog-end .modal-content {
        min-height: 100%;
        border-width: 0;
        border-radius: 0;
    }

.modal.fade .modal-dialog-end {
    transform: translate(25%, 0);
}

.modal.show .modal-dialog {
    transform: translate(0, 0);
}

.modal-md {
    max-width: 21.875rem;
}

.modal-backdrop {
    --bs-backdrop-opacity: 0.4;
}

.modal.modal-static .modal-dialog {
    transform: scale(1.02) !important;
}

.app-breadcrumb .breadcrumb {
    padding: 0;
    background: 0 0;
    margin: 0 0 1.5rem;
    position: relative;
    --bs-breadcrumb-item-active-color: rgba(var(--bs-body-color-rgb), 0.75);
    font-size: 0.875rem;
}

    .app-breadcrumb .breadcrumb .breadcrumb-item {
        max-width: 10.625rem;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        display: block;
        transition: all 0.3s ease-in-out;
    }

        .app-breadcrumb .breadcrumb .breadcrumb-item:hover {
            max-width: 12.5rem !important;
            cursor: default;
        }

.app-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(var(--bs-body-color-rgb), 0.3);
    text-shadow: none;
}

.breadcrumb {
    margin: 0;
    --bs-breadcrumb-divider-color: rgba(var(--bs-dark-rgb), 0.2);
}

    .breadcrumb[class^=bg-] .breadcrumb-item + .breadcrumb-item::before, .breadcrumb[class*=" bg-"] .breadcrumb-item + .breadcrumb-item::before {
        color: currentColor;
        opacity: 0.7;
    }

    .breadcrumb > li.breadcrumb-item {
        max-width: 130px;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden;
        display: block;
    }

        .breadcrumb > li.breadcrumb-item:hover {
            max-width: 200px !important;
            cursor: default;
        }

[data-breadcrumb-seperator] + [data-breadcrumb-seperator]::before {
    content: attr(data-breadcrumb-seperator);
    color: currentColor;
}

.dropdown-menu {
    --bs-dropdown-link-active-bg: rgba(var(--primary), 0.9);
    --bs-dropdown-link-hover-bg: var(--app-nav-item-hover-bg);
    --bs-dropdown-link-hover-color: var(--primary-500);
    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
    min-width: 10rem;
    padding: 0.3125rem 0;
    margin: 0.125rem 0 0;
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    background-clip: padding-box;
    border: 0 solid var(--bs-border-color-translucent);
    box-shadow: 0 0 15px 1px rgba(var(--bs-dark-rgb), 0.15);
}

.dropdown-item {
    display: block;
    width: 100%;
    clear: both;
    font-weight: 400;
    color: var(--bs-body-color);
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
}

.dropdown, .dropleft, .dropright, .dropup {
    position: relative;
}

.dropdown-toggle {
    white-space: nowrap;
}

    .dropdown-toggle::after {
        display: inline-block;
        margin-left: 0.255em;
        vertical-align: 0.255em;
        content: "";
        border-top: 0.3em solid;
        border-right: 0.3em solid transparent;
        border-bottom: 0;
        border-left: 0.3em solid transparent;
    }

    .dropdown-toggle:empty::after {
        margin-left: 0;
    }

.dropdown-menu-left {
    right: auto;
    left: 0;
}

.dropdown-menu-right {
    right: 0;
    left: auto;
}

.btn-system[data-bs-toggle=dropdown] + .dropdown-menu {
    position: absolute;
    top: var(--app-header-height) !important;
    right: 2rem !important;
    left: auto !important;
    padding: 0;
    margin: 0;
}

.dropdown-menu-animated {
    transform: scale(0.8) !important;
    transition: all 270ms cubic-bezier(0.34, 1.25, 0.3, 1);
    opacity: 0;
    visibility: hidden;
    display: block;
    z-index: 1000;
}

.show + .dropdown-menu-animated {
    transform: scale(1) !important;
    transform-origin: -21px;
    opacity: 1;
    visibility: visible;
}

@media (min-width: 576px) {
    .dropdown-menu-sm-start {
        right: auto;
        left: 0;
    }

    .dropdown-menu-sm-end {
        right: 0;
        left: auto;
    }
}

@media (min-width: 768px) {
    .dropdown-menu-md-start {
        right: auto;
        left: 0;
    }

    .dropdown-menu-md-end {
        right: 0;
        left: auto;
    }
}

@media (min-width: 992px) {
    .dropdown-menu-lg-start {
        right: auto;
        left: 0;
    }

    .dropdown-menu-lg-end {
        right: 0;
        left: auto;
    }
}

@media (min-width: 1399px) {
    .dropdown-menu-xl-start {
        right: auto;
        left: 0;
    }

    .dropdown-menu-xl-end {
        right: 0;
        left: auto;
    }
}

.dropup .dropdown-menu {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 0.125rem;
}

.dropup .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0;
    border-right: 0.3em solid transparent;
    border-bottom: 0.3em solid;
    border-left: 0.3em solid transparent;
}

.dropup .dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropright .dropdown-menu {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: 0.125rem;
}

.dropright .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-right: 0;
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid;
}

.dropright .dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropright .dropdown-toggle::after {
    vertical-align: 0;
}

.dropleft .dropdown-menu {
    top: 0;
    right: 100%;
    left: auto;
    margin-top: 0;
    margin-right: 0.125rem;
}

.dropleft .dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
}

.dropleft .dropdown-toggle::after {
    display: none;
}

.dropleft .dropdown-toggle::before {
    display: inline-block;
    margin-right: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-right: 0.3em solid;
    border-bottom: 0.3em solid transparent;
}

.dropleft .dropdown-toggle:empty::after {
    margin-left: 0;
}

.dropleft .dropdown-toggle::before {
    vertical-align: 0;
}

.dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=top] {
    right: auto;
    bottom: auto;
}

.dropdown-item:focus,
.dropdown-item:hover {
    text-decoration: none;
    background-color: var(--app-nav-item-hover-bg);
}

.dropdown-item.active,
.dropdown-item:active,
.dropdown-item.selected {
    text-decoration: none;
    font-weight: 500;
    color: var(--app-nav-link-active-color);
    background-color: rgba(var(--secondary), 0.05);
}

.dropdown-item:active {
    text-decoration: none;
    font-weight: 400;
    background-color: rgba(33, 150, 243, 0.09);
}

.dropdown-item.disabled,
.dropdown-item:disabled {
    color: var(--bs-gray-500);
    pointer-events: none;
    background-color: transparent;
}

.dropdown-header {
    display: block;
    padding: 0.3125rem 1.5rem;
    margin-bottom: 0;
    font-size: 0.725rem;
    color: var(--bs-body-color);
    white-space: nowrap;
    font-weight: 300;
}

.dropdown-item-text {
    display: block;
    padding: 0.75rem 1.5rem;
    color: var(--bs-body-color);
}

.dropdown-menu.dropdown-sm {
    width: 8rem;
    height: auto;
}

.dropdown-menu.dropdown-md {
    width: 14rem;
    height: auto;
}

.dropdown-menu.dropdown-lg {
    width: 17.5rem;
    height: auto;
}

.dropdown-menu.dropdown-xl {
    width: 21.875rem;
    height: auto;
}

.dropdown-menu .dropdown-item:first-child, .dropdown-menu .dropdown-item:last-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    margin-bottom: 0.2em;
    vertical-align: middle;
    width: 0.8em;
    height: 0.8em;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9L12 17L20 9' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9L12 17L20 9' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
    background-color: currentColor;
    border: 0 !important;
    content: "" !important;
}

.dropdown-toggle:disabled::after, .dropdown-toggle.disabled::after {
    opacity: 0.65;
}

.dropdown-toggle:has(.visually-hidden)::after {
    margin-left: 0;
}

.dropup .dropdown-toggle::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 17L12 9L20 17' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 17L12 9L20 17' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
    margin-bottom: 0;
    vertical-align: 0;
}

.dropend .dropdown-toggle::after {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4L17 12L9 20' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 4L17 12L9 20' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
    margin-bottom: 0;
}

.dropstart .dropdown-toggle::before {
    display: inline-block;
    margin-right: 0.255em;
    vertical-align: middle;
    width: 0.8em;
    height: 0.8em;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 4L9 12L17 20' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17 4L9 12L17 20' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") no-repeat 50% 50%;
    background-color: currentColor;
    border: 0 !important;
    content: "" !important;
}

.dropstart .dropdown-toggle::after {
    display: none;
}

.nav-item .dropdown-toggle:after {
    font-size: 0.9em;
}

.dropdown-toggle.no-arrow::after,
.dropdown-toggle.no-arrow:not([data-bs-toggle=dropdown])::before {
    display: none !important;
}

.dropdown-menu .dropdown-menu {
    display: none;
}

    .dropdown-menu .dropdown-menu::after {
        content: "";
        display: block;
        width: 130%;
        height: 130%;
        background-color: transparent;
        position: absolute;
        z-index: -1;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

.dropdown-multilevel {
    position: relative;
}

    .dropdown-multilevel .dropdown-item {
        cursor: pointer;
    }

    .dropdown-multilevel:hover > .dropdown-menu {
        top: -2px;
        left: 100%;
        display: block;
    }

    .dropdown-multilevel.dropdown-multilevel-left .dropdown-menu {
        right: 100%;
        left: auto;
    }

.dropdown-menu .dropdown-multilevel:hover > .dropdown-item:not(.disabled) {
    background: var(--bs-dropdown-link-hover-bg);
    color: var(--bs-dropdown-link-hover-color);
}

.dropdown-menu .dropdown-menu .dropdown-item {
    padding-top: 0.45rem !important;
    padding-bottom: 0.45rem !important;
    font-size: 0.825rem;
}

.card, .card-group {
    box-shadow: 0 0 13px 0 rgba(var(--bs-primary-rgb), 0.08);
}

.card {
    --bs-card-cap-padding-y: 1rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-title-spacer-y: 0rem;
}

.card-group > .card {
    box-shadow: none;
}

.list-group-item {
    --bs-list-group-item-padding-x: 1.25rem;
    --bs-list-group-item-padding-y: 0.75rem;
}

.pagination {
    --bs-pagination-active-bg: var(--primary-900);
    --bs-pagination-active-bg: var(--primary-500);
    --bs-pagination-active-border-color: var(--primary-700);
    --bs-pagination-color: var(--bs-body-color);
    --bs-pagination-focus-color: var(--bs-body-color);
    --bs-pagination-hover-color: var(--primary-500);
    --bs-pagination-disabled-border-color: rgba(var(--bs-emphasis-color-rgb), 0.2);
    --bs-pagination-font-size: 0.875rem;
    display: flex;
    padding-left: 0;
    list-style: none;
    border-radius: var(--bs-border-radius);
}

    .pagination .page-item:not(:first-child) {
        margin-left: 0.25rem;
    }

.page-link {
    position: relative;
    display: block;
    margin-left: -1px;
    background-color: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: 0.25rem;
}

    .page-link:hover {
        z-index: 2;
        text-decoration: none;
        background-color: var(--primary-500) !important;
        color: #fff;
        border-color: var(--primary-700);
    }

    .page-link:focus {
        z-index: 3;
        outline: 0;
        box-shadow: 0 0 0 0.2rem transparent;
    }

.page-item:first-child .page-link {
    margin-left: 0;
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
}

.page-item:last-child .page-link {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
}

.page-item.active .page-link {
    z-index: 3;
    color: #fff;
}

.pagination-lg {
    --bs-pagination-padding-x: 1.5rem;
    --bs-pagination-padding-y: .75rem;
    --bs-pagination-font-size: 1rem;
    --bs-pagination-border-radius: var(--bs-border-radius-lg);
}

    .pagination-lg .page-link {
        padding: 0.75rem 1.5rem;
        font-size: 1rem;
        line-height: 1.5;
    }

    .pagination-lg .page-item:first-child .page-link {
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px;
    }

    .pagination-lg .page-item:last-child .page-link {
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
    }

.pagination-sm {
    --bs-pagination-padding-x: 0.5rem;
    --bs-pagination-padding-y: 0.25rem;
    --bs-pagination-font-size: 0.875rem;
    --bs-pagination-border-radius: var(--bs-border-radius-sm);
}

    .pagination-sm .page-link {
        padding: 0.25rem 0.6rem;
        font-size: 0.75rem;
    }

    .pagination-sm .page-item:first-child .page-link {
        border-top-left-radius: 4px;
        border-bottom-left-radius: 4px;
    }

    .pagination-sm .page-item:last-child .page-link {
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
    }

.pagination-xs .page-link {
    padding: 0.2rem 0.5rem;
    font-size: 0.75rem;
}

.popover {
    --bs-popover-header-padding-y: 1rem;
    --bs-popover-header-padding-x: 1rem;
    --bs-popover-bg: rgba(0, 0, 0, .1);
    --bs-popover-arrow-border: rgba(0, 0, 0, .1);
    background: var(--bs-body-bg);
    box-shadow: 0 0 15px 1px rgba(90, 80, 105, 0.2);
    margin: 12px;
    border: 3px solid rgba(0, 0, 0, 0.2);
    border-radius: 0.5rem;
}

    .popover .arrow {
        border-color: inherit;
    }

    .popover .popover-header {
        --bs-popover-header-font-size: 1rem;
        --bs-popover-header-font-weight: 500;
        border-radius: 0.5rem 0.5rem 0 0;
        border-bottom-width: 0;
        border-radius: 5px;
        --bs-popover-header-bg: transparent;
    }

.popover-header + .popover-body {
    padding-top: 0;
}

.primary-popover {
    --bs-popover-border-color: var(--primary-500);
    --bs-popover-header-bg: var(--primary-500);
    --bs-popover-header-color: var(--bs-light);
    --bs-popover-body-color: var(--bs-light);
    --bs-popover-bg: var(--primary-700);
    --bs-popover-arrow-border: var(--primary-800);
    background: var(--primary-500);
}

.secondary-popover {
    --bs-popover-border-color: var(--bs-secondary);
    --bs-popover-header-bg: var(--bs-secondary);
    --bs-popover-header-color: var(--bs-light);
    --bs-popover-body-color: var(--bs-light);
    --bs-popover-bg: var(--bs-secondary);
    --bs-popover-arrow-border: var(--bs-secondary);
    background: var(--bs-secondary);
}

.success-popover {
    --bs-popover-border-color: var(--success-600);
    --bs-popover-header-bg: var(--success-600);
    --bs-popover-header-color: var(--bs-light);
    --bs-popover-body-color: var(--bs-light);
    --bs-popover-bg: var(--success-800);
    --bs-popover-arrow-border: var(--success-800);
    background: var(--success-600);
}

.danger-popover {
    --bs-popover-border-color: var(--danger-700);
    --bs-popover-header-bg: var(--danger-700);
    --bs-popover-header-color: var(--bs-light);
    --bs-popover-body-color: var(--bs-light);
    --bs-popover-bg: var(--danger-900);
    --bs-popover-arrow-border: var(--danger-800);
    background: var(--danger-700);
}

.warning-popover {
    --bs-popover-border-color: var(--warning-500);
    --bs-popover-header-bg: var(--warning-500);
    --bs-popover-header-color: var(--bs-dark);
    --bs-popover-body-color: var(--bs-dark);
    --bs-popover-bg: var(--warning-900);
    --bs-popover-arrow-border: var(--warning-900);
    background: var(--warning-500);
}

.info-popover {
    --bs-popover-border-color: var(--info-500);
    --bs-popover-header-bg: var(--info-500);
    --bs-popover-header-color: var(--bs-light);
    --bs-popover-body-color: var(--bs-light);
    --bs-popover-bg: var(--info-700);
    --bs-popover-arrow-border: var(--info-800);
    background: var(--info-500);
}

.dark-popover {
    --bs-popover-border-color: var(--bs-dark);
    --bs-popover-header-bg: var(--bs-dark);
    --bs-popover-header-color: var(--bs-light);
    --bs-popover-body-color: var(--bs-light);
    --bs-popover-bg: var(--bs-dark);
    --bs-popover-arrow-border: var(--bs-dark);
    background: var(--bs-dark);
}

.light-popover {
    --bs-popover-border-color: var(--bs-light);
    --bs-popover-header-bg: var(--bs-light);
    --bs-popover-header-color: var(--bs-dark);
    --bs-popover-body-color: var(--bs-dark);
    --bs-popover-bg: rgba(255, 255, 255, 1);
    --bs-popover-arrow-border: rgba(43, 43, 43, 0.3);
    background: var(--bs-light);
}

.progress-xs {
    height: 5px;
}

.progress-sm {
    height: 8px;
}

.progress-md {
    height: 14px;
}

.progress-lg {
    height: 20px;
}

.progress-xl {
    height: 30px;
}

.progress, .progress-stacked {
    --bs-progress-bg: rgba(var(--bs-body-color-rgb), 0.07);
}

th {
    font-weight: 500;
}

.table {
    --bs-table-hover-bg: rgba(var(--bs-primary-rgb), 0.14);
    font-weight: 300;
    font-size: 0.875rem;
}

    .table.table-sm {
        font-size: 0.825rem;
    }

    .table.table-nano {
        font-size: 0.75rem;
    }

        .table.table-nano > :not(caption) > * > * {
            padding: 0.25rem 0.25rem;
        }

    .table thead td,
    .table thead th {
        border-bottom-width: 2px;
    }

.table-hover > tbody > tr:hover {
    outline: 1px solid var(--primary-500);
    z-index: 1;
    position: relative;
}

.table-border-0 td, .table-border-0 th {
    border: 0 !important;
}

.table-calendar {
    table-layout: fixed;
}

    .table-calendar th {
        border: 0 !important;
        font-weight: 500;
    }

    .table-calendar tr td:first-child {
        border-left: 0;
    }

    .table-calendar tr td:last-child {
        border-right: 0;
        padding-right: 10px;
    }

    .table-calendar td, .table-calendar th {
        text-align: right;
        vertical-align: top;
        padding: 5px 8px;
        position: relative;
        border: 1px solid var(--bs-border-color);
    }

.table-calendar-appointment-date {
    font-size: 2.2rem !important;
    vertical-align: top;
    line-height: 1.15;
    margin-right: 0.25rem;
}

/* Sort indicators */
.st-expand-btn {
    display: inline-flex;
    height: 20px;
    width: 20px;
    align-items: center;
    justify-content: center;
    line-height: 20px !important;
    font-size: 1.4em !important;
}

.st-wrapper {
    width: 100%;
}

    .st-wrapper .st-table {
        border: 1px solid var(--bs-border-color);
    }

    .st-wrapper .pagination {
        --bs-pagination-active-bg: var(--primary-500);
        --bs-pagination-active-border-color: var(--primary-700);
        --bs-pagination-focus-color: var(--bs-emphasis-color);
        --bs-pagination-hover-color: var(--primary-500);
        --bs-pagination-color: var(--bs-emphasis-color);
    }

    .st-wrapper .st-search-wrapper {
        position: relative;
    }

        .st-wrapper .st-search-wrapper .sa-icon {
            --sa-icon-size: 1.1rem;
            --sa-icon-color: rgb(155 155 155);
            --sa-fill-opacity: 0.7;
            --sa-icon-fill: rgb(255 255 255 / var(--sa-fill-opacity));
            margin: 0 0.25rem;
        }

        .st-wrapper .st-search-wrapper .input-group:focus-within .input-group-text .sa-icon {
            --sa-icon-color: rgb(255, 255, 255);
            --sa-fill-opacity: 0.3;
        }

    .st-wrapper .table {
        width: 100%;
    }

        .st-wrapper .table td,
        .st-wrapper .table th {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

.st-sort-neutral,
.st-sort-asc,
.st-sort-desc {
    position: relative;
    padding-right: 1.5em !important;
}

.st-sort-neutral,
.st-sort-asc,
.st-sort-desc {
    position: relative; /* Needed for positioning pseudo-elements */
}

.st-sort-asc,
.st-sort-desc {
    background-color: rgba(var(--primary), 0.05) !important;
    border-bottom-color: var(--primary-500);
}

    /* Down Arrow (pointing downward) using ::before */
    .st-sort-neutral::before,
    .st-sort-asc::before,
    .st-sort-desc::before {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        border-left: 3px solid transparent;
        border-right: 3px solid transparent;
        border-top: 7px solid #ccc;
        top: 55%;
        right: 7px;
    }

    /* Up Arrow (pointing upward) using ::after */
    .st-sort-neutral::after,
    .st-sort-asc::after,
    .st-sort-desc::after {
        content: "";
        position: absolute;
        width: 0;
        height: 0;
        border-left: 3px solid transparent;
        border-right: 3px solid transparent;
        border-bottom: 7px solid #ccc;
        bottom: 55%;
        right: 7px;
    }

    .st-sort-asc::after {
        border-bottom-color: var(--primary-500);
    }

    .st-sort-desc::before {
        border-top-color: var(--primary-500);
    }

/* Sort column highlight */
.st-sort-column {
    background-color: rgba(var(--primary), 0.05) !important;
}

/* If you want to style alternating rows differently */
.table-striped > tbody > tr:nth-of-type(odd) .st-sort-column {
    background-color: rgba(var(--primary), 0.09) !important;
}

/* Loading overlay */
.st-loading-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    background-color: var(--app-content-background);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
    transition: opacity 0.3s ease-out;
}

/* Loading state */
.st-wrapper {
    position: relative;
    width: 100%;
}

    .st-wrapper.st-loading {
        min-height: 550px;
        max-height: 550px;
        overflow: hidden;
        pointer-events: none;
        /* Background overlay */
        /* Loading text */
        /* Spinner - using a new element instead of pseudo-element */
    }

        .st-wrapper.st-loading::after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: var(--app-content-background);
            z-index: 1000;
        }

        .st-wrapper.st-loading::before {
            content: "Initializing table, just a second...";
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 1001;
            font-size: 0.875rem;
            color: var(--bs-body-color);
            white-space: nowrap;
            padding-top: 40px; /* Space for the spinner */
        }

        .st-wrapper.st-loading .st-loading-spinner {
            content: "";
            position: absolute;
            top: calc(50% - 30px);
            left: 50%;
            width: 30px;
            height: 30px;
            border: 3px solid var(--primary-500);
            border-top-color: transparent;
            border-radius: 50%;
            z-index: 1001;
            animation: st-spin 0.6s linear infinite;
        }

        .st-wrapper.st-loading.st-ajax-loading {
            max-height: unset;
            pointer-events: unset;
        }

            .st-wrapper.st-loading.st-ajax-loading .st-loading-spinner {
                width: 30px;
                height: 30px;
                top: 50%;
                left: 50%;
            }

            .st-wrapper.st-loading.st-ajax-loading::before {
                content: none;
                position: absolute;
                top: 50%;
                left: 50%;
                transform: translate(-50%, -50%);
                z-index: 1001;
                font-size: 0.875rem;
                color: var(--bs-body-color);
                white-space: nowrap;
                width: 200px;
                height: 100px;
                padding-top: 40px;
                background: rgba(255, 255, 255, 0.5);
                border: 1px solid #333;
                border-radius: 0.25rem;
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .st-wrapper.st-loading.st-ajax-loading::after {
                content: none;
            }

        .st-wrapper.st-loading .table {
            opacity: 0.3;
        }

    .st-wrapper .table {
        transition: opacity 0.3s ease;
    }

.st-spinner {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.5rem;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes st-spin {
    to {
        transform: rotate(360deg);
    }
}
/* No results message */
.st-no-results {
    text-align: center;
    padding: 2rem;
    background-color: rgba(var(--info), 0.1);
    border: none;
    border-radius: 0.5rem;
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: center;
}

    .st-no-results b {
        color: var(--info-400);
        font-weight: 600 !important;
        word-wrap: break-word;
        word-break: break-word;
    }

.st-table {
    width: 100%;
    border-collapse: collapse;
}

    .st-table th, .st-table td {
        padding: 0.5rem 0.75rem; /* Reduced padding */
        white-space: nowrap; /* Prevent text wrapping */
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .st-table th {
        position: relative;
        font-weight: 600;
    }

    .st-table td:first-child {
        position: relative;
    }

        .st-table td:first-child:has(.st-expand) {
            cursor: pointer;
        }

        .st-table td:first-child.st-expand::before,
        .st-table td:first-child.st-expand-active::before {
            content: "+";
            font-weight: 300;
            font-size: 12px;
            position: absolute;
            color: var(--bs-body-color);
            background-color: var(--bs-body-bg);
            border: 1px solid var(--bs-border-color);
            display: flex;
            align-items: center;
            justify-content: center;
            top: 6px;
            left: 0.5rem;
            bottom: 6px;
            width: 1rem;
            border-radius: 0.25rem;
            box-shadow: 0 1px 2px 0 rgba(var(--bs-body-color-rgb), 0.1);
        }

        .st-table td:first-child.st-expand-active::before {
            content: "-";
            background: var(--primary-500);
            border-color: var(--primary-700);
            color: #fff;
            box-shadow: 0 1px 2px 0 rgba(var(--bs-primary-rgb), 0.1);
        }

.st-expand {
    padding-left: 2.25rem !important;
}

.st-child-row {
    background-color: rgba(0, 0, 0, 0.02);
}

.st-child-content {
    padding: 0 !important;
}

.st-hidden-columns {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.5rem 0.5rem 0.5rem 2.25rem;
    position: relative;
}

    .st-hidden-columns::before {
        content: "";
        position: absolute;
        border-left: 1px dashed var(--primary-700);
        display: block;
        top: 0;
        bottom: 0;
        left: 1rem;
        z-index: 1;
    }

/* if table hover is active, show child row hover */
.table-hover tr.expanded:hover + .st-child-row {
    --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-hover tr.expanded:has(+ .st-child-row:hover) {
    --bs-table-bg-state: var(--bs-table-hover-bg);
}

.st-hidden-column-item {
    display: flex;
    align-items: baseline;
}

.st-hidden-column-label {
    font-weight: 600;
    min-width: 140px;
    display: inline-block;
}

.st-hidden-column-value {
    flex: 1;
}

.st-loading {
    position: relative;
    min-height: 200px;
}

.st-loading-spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    border-top-color: var(--primary-500);
    animation: st-spin 1s linear infinite;
    z-index: 1000;
}

@keyframes st-spin {
    to {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}
/* Optimize table for better space usage */
.st-table.st-compact th, .st-table.st-compact td {
    padding: 0.35rem 0.5rem;
    font-size: 0.9rem;
}

/* Add truncation for long text */
.st-table .st-truncate {
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.popover-body-p-0 .popover-body {
    padding: 0;
}

    .popover-body-p-0 .popover-body img {
        border-radius: var(--border-radius-uniform);
    }

/* Date management css */
.st-wrapper tr.editing td {
    font-weight: bold;
}

.st-wrapper tr.saved {
    background-image: linear-gradient(250deg, rgba(121, 250, 237, 0.7), transparent);
    background-color: var(--success-50) !important;
}

    .st-wrapper tr.saved td {
        background: transparent !important;
    }

.st-wrapper tr.new-record {
    animation: highlightNewRow 3s ease-in-out;
}

    .st-wrapper tr.new-record td {
        background: transparent !important;
    }

@keyframes highlightNewRow {
    0%, 100% {
        background-color: transparent;
    }

    30% {
        background-color: rgba(221, 233, 63, 0.2);
    }
}

@keyframes highlightSaved {
    0%, 100% {
        background-color: transparent;
    }

    30% {
        background-color: rgba(221, 233, 63, 0.2);
    }
}

.btn-primary, .Theme-button {
    box-shadow: 0 2px 6px 0 rgba(136, 106, 181, 0.5);
}

.btn-success {
    box-shadow: 0 2px 6px 0 rgba(29, 201, 183, 0.5);
}

.btn-info {
    box-shadow: 0 2px 6px 0 rgba(33, 150, 243, 0.5);
}

.btn-warning {
    box-shadow: 0 2px 6px 0 rgba(255, 194, 65, 0.5);
}

.btn-danger {
    box-shadow: 0 2px 6px 0 rgba(253, 57, 149, 0.5);
}

.btn-fusion {
    box-shadow: 0 2px 6px 0 rgba(80, 80, 80, 0.5);
}

.btn-dark {
    box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.5);
}

.btn-light {
    box-shadow: 0 2px 6px 0 rgba(255, 255, 255, 0.5);
}

.btn-secondary {
    box-shadow: 0 2px 6px 0 rgba(108, 117, 125, 0.5);
}

/* parent position needs to be relative, and turn off waves function */
.btn-icon .badge {
    top: auto;
}

    .btn-icon .badge.pos-top {
        margin-top: -0.25rem;
    }

    .btn-icon .badge.pos-bottom {
        margin-bottom: -0.25rem;
    }

    .btn-icon .badge.pos-left {
        margin-left: -0.25rem;
    }

    .btn-icon .badge.pos-right {
        margin-right: -0.25rem;
    }

.btn-default {
    --btn-background-color: var(--bs-gray-100);
    --btn-default-bg-top: var(--bs-gray-100);
    --btn-default-bg-bottom: var(--bs-gray-200);
    --btn-border-color: rgba(var(--bs-body-color-rgb), 0.1);
    --btn-hover-border-color: rgba(var(--bs-body-color-rgb), 0.3);
    --btn-color: rgba(var(--bs-body-color-rgb), 0.85);
    --btn-hover-color: rgba(var(--bs-body-color-rgb), 1);
    --btn-focus-color: rgba(var(--bs-body-color-rgb), 1);
    --bs-btn-disabled-border-color: #dddddd;
    --bs-btn-active-border-color: var(--primary-500);
    background-color: var(--btn-background-color);
    background-image: linear-gradient(to top, var(--btn-default-bg-top), var(--btn-default-bg-bottom));
    color: var(--btn-color);
    border: 1px solid var(--btn-border-color);
    -webkit-box-shadow: none;
    box-shadow: none;
}

    .btn-default:hover {
        -webkit-box-shadow: none;
        box-shadow: none;
        border-color: var(--btn-hover-border-color);
        color: var(--btn-hover-color);
    }

    .btn-default:focus {
        border-color: rgba(var(--bs-body-color-rgb), 0.5) !important;
        color: var(--btn-focus-color);
    }

    .btn-default:active,
    .ben-default.active {
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset !important;
        background: inherit;
        border-color: inherit;
    }

.btn:not(.btn-system):active {
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset !important;
    scale: 0.97;
}

.btn-check:checked + .btn,
:not(.btn-check) + .btn:active,
.btn:first-child:active,
.btn.active,
.btn.show {
    color: var(--bs-btn-active-color) !important;
    background-color: var(--bs-btn-active-bg) !important;
    border-color: var(--bs-btn-active-border-color) !important;
}

.btn-primary, .Theme-button {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: var(--app-body-color);
    --bs-btn-border-color: var(--app-body-color);
    /*--bs-btn-bg: #2a7dbf;
    --bs-btn-border-color: #2a7dbf;*/
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: var(--bs-cyan, #cc7000);
    /*--bs-btn-hover-bg: #216295;*/
    --bs-btn-hover-border-color: #1c5480;
    --bs-btn-focus-shadow-rgb: 42, 125, 191;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #1c5480;
    --bs-btn-active-border-color: #18466b;
    --bs-btn-disabled-color: var(--bs-white);
    --bs-btn-disabled-bg: #2a7dbf;
    --bs-btn-disabled-border-color: #2a7dbf;
}

.btn-success {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: #1dc9b7;
    --bs-btn-border-color: #1dc9b7;
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #179c8e;
    --bs-btn-hover-border-color: #13867a;
    --bs-btn-focus-shadow-rgb: 29, 201, 183;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #13867a;
    --bs-btn-active-border-color: #107066;
    --bs-btn-disabled-color: var(--bs-white);
    --bs-btn-disabled-bg: #1dc9b7;
    --bs-btn-disabled-border-color: #1dc9b7;
}

.btn-info {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: #2196F3;
    --bs-btn-border-color: #2196F3;
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #0c7cd5;
    --bs-btn-hover-border-color: #0a6ebd;
    --bs-btn-focus-shadow-rgb: 33, 150, 243;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #0a6ebd;
    --bs-btn-active-border-color: #0960a5;
    --bs-btn-disabled-color: var(--bs-white);
    --bs-btn-disabled-bg: #2196F3;
    --bs-btn-disabled-border-color: #2196F3;
}

.btn-warning {
    --bs-btn-color: #000;
    --bs-btn-bg: #ffc241;
    --bs-btn-border-color: #ffc241;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #ffb20e;
    --bs-btn-hover-border-color: #f4a500;
    --bs-btn-focus-shadow-rgb: 255, 194, 65;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #f4a500;
    --bs-btn-active-border-color: #da9400;
    --bs-btn-disabled-color: #000;
    --bs-btn-disabled-bg: #ffc241;
    --bs-btn-disabled-border-color: #ffc241;
}

.btn-danger {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: #fd3995;
    --bs-btn-border-color: #fd3995;
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #fc077a;
    --bs-btn-hover-border-color: #e7026e;
    --bs-btn-focus-shadow-rgb: 253, 57, 149;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #e7026e;
    --bs-btn-active-border-color: #ce0262;
    --bs-btn-disabled-color: var(--bs-white);
    --bs-btn-disabled-bg: #fd3995;
    --bs-btn-disabled-border-color: #fd3995;
}

.btn-fusion {
    --bs-btn-color: var(--bs-white);
    --bs-btn-bg: #505050;
    --bs-btn-border-color: #505050;
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #363636;
    --bs-btn-hover-border-color: #2a2a2a;
    --bs-btn-focus-shadow-rgb: 80, 80, 80;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #2a2a2a;
    --bs-btn-active-border-color: #1d1d1d;
    --bs-btn-disabled-color: var(--bs-white);
    --bs-btn-disabled-bg: #505050;
    --bs-btn-disabled-border-color: #505050;
}

.btn-outline-primary {
    --bs-btn-color: #886ab5;
    --bs-btn-border-color: #886ab5;
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #886ab5;
    --bs-btn-hover-border-color: #886ab5;
    --bs-btn-focus-shadow-rgb: 136, 106, 181;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #886ab5;
    --bs-btn-active-border-color: #886ab5;
    --bs-btn-disabled-color: #886ab5;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #886ab5;
}

.btn-outline-success {
    --bs-btn-color: #1dc9b7;
    --bs-btn-border-color: #1dc9b7;
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #1dc9b7;
    --bs-btn-hover-border-color: #1dc9b7;
    --bs-btn-focus-shadow-rgb: 29, 201, 183;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #1dc9b7;
    --bs-btn-active-border-color: #1dc9b7;
    --bs-btn-disabled-color: #1dc9b7;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #1dc9b7;
}

.btn-outline-info {
    --bs-btn-color: #2196F3;
    --bs-btn-border-color: #2196F3;
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #2196F3;
    --bs-btn-hover-border-color: #2196F3;
    --bs-btn-focus-shadow-rgb: 33, 150, 243;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #2196F3;
    --bs-btn-active-border-color: #2196F3;
    --bs-btn-disabled-color: #2196F3;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #2196F3;
}

.btn-outline-warning {
    --bs-btn-color: #ffc241;
    --bs-btn-border-color: #ffc241;
    --bs-btn-hover-color: #000;
    --bs-btn-hover-bg: #ffc241;
    --bs-btn-hover-border-color: #ffc241;
    --bs-btn-focus-shadow-rgb: 255, 194, 65;
    --bs-btn-active-color: #000;
    --bs-btn-active-bg: #ffc241;
    --bs-btn-active-border-color: #ffc241;
    --bs-btn-disabled-color: #ffc241;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #ffc241;
}

.btn-outline-danger {
    --bs-btn-color: #fd3995;
    --bs-btn-border-color: #fd3995;
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #fd3995;
    --bs-btn-hover-border-color: #fd3995;
    --bs-btn-focus-shadow-rgb: 253, 57, 149;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #fd3995;
    --bs-btn-active-border-color: #fd3995;
    --bs-btn-disabled-color: #fd3995;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #fd3995;
}

.btn-outline-fusion {
    --bs-btn-color: #505050;
    --bs-btn-border-color: #505050;
    --bs-btn-hover-color: var(--bs-white);
    --bs-btn-hover-bg: #505050;
    --bs-btn-hover-border-color: #505050;
    --bs-btn-focus-shadow-rgb: 80, 80, 80;
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: #505050;
    --bs-btn-active-border-color: #505050;
    --bs-btn-disabled-color: #505050;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #505050;
}

.btn-system {
    font-size: 1.5rem;
    padding: 0.3125rem;
    line-height: var(--app-header-height);
    border: none;
    outline: none;
    cursor: default;
    position: relative;
}

    .btn-system i {
        width: 2rem;
        height: 2rem;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .btn-system i::after {
            color: rgba(var(--info), 0.9);
            opacity: 0.4;
        }

        .btn-system i::before {
            color: rgba(var(--primary), 0.9);
        }

    .btn-system::before {
        content: "";
        position: absolute;
        width: 2.875rem;
        height: 2.875rem;
        border-radius: 50%;
        background: transparent;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

    .btn-system:focus {
        border: none;
        outline: none;
    }

    .btn-system:hover, .btn-system.show {
        border: none;
        outline: none;
    }

        .btn-system:hover .sa-icon, .btn-system.show .sa-icon {
            fill: rgba(var(--primary), var(--sa-fill-opacity));
            stroke: rgba(var(--primary), 0.8);
        }

        .btn-system:hover::before, .btn-system.show::before {
            background: rgba(var(--bs-emphasis-color-rgb), var(--btn-system-bg-opacity, 0.03));
        }

    .btn-system.btn-system-light:hover, .btn-system.btn-system-light.show {
        border: none;
        outline: none;
    }

        .btn-system.btn-system-light:hover .sa-icon, .btn-system.btn-system-light.show .sa-icon {
            fill: rgba(var(--white), var(--sa-fill-opacity));
            stroke: rgba(var(--white), 0.8);
        }

        .btn-system.btn-system-light:hover::before, .btn-system.btn-system-light.show::before {
            background: rgba(var(--white), var(--sa-fill-opacity));
        }

    .btn-system:active {
        scale: 0.9;
    }

.btn[data-action=playsound]:not(.btn-has-sound) {
    padding: 0 2px;
    position: relative;
}

    .btn[data-action=playsound]:not(.btn-has-sound) .sa-icon {
        width: 1rem;
        height: 1rem;
        stroke: rgb(34, 36, 38);
        stroke-width: 1px;
    }

    .btn[data-action=playsound]:not(.btn-has-sound):hover .sa-icon {
        stroke-width: 2px;
        stroke: rgb(255, 255, 255);
    }

    .btn[data-action=playsound]:not(.btn-has-sound)[data-audio-playing] {
        border-color: rgba(var(--danger), 0.9);
        background: rgba(var(--danger), 0.1);
    }

        .btn[data-action=playsound]:not(.btn-has-sound)[data-audio-playing] .sa-icon {
            stroke-width: 2px;
            stroke: rgba(var(--danger), 0.9);
        }

    .btn[data-action=playsound]:not(.btn-has-sound)::before {
        content: "";
        position: absolute;
        width: 3.125rem;
        height: 3.125rem;
        border-radius: 50%;
        background: transparent;
        top: -1rem;
        left: -0.875rem;
    }

.btn-icon {
    width: calc(2.1rem + 2px);
    height: calc(2.1rem + 2px);
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .btn-icon:not([class*=-primary]):not([class*=-secondary]):not([class*=-default]):not([class*=-success]):not([class*=-info]):not([class*=-warning]):not([class*=-danger]):not([class*=-dark]):not([class*=-light]):not(.nav-item):hover {
        background-color: rgba(var(--bs-body-color-rgb), 0.05);
        border-color: transparent;
    }

    .btn-icon:not([class*=-primary]):not([class*=-secondary]):not([class*=-default]):not([class*=-success]):not([class*=-info]):not([class*=-warning]):not([class*=-danger]):not([class*=-dark]):not([class*=-light]):not(.nav-item):not(.active):not(:active):not(:hover):not(:focus) {
        background: 0 0;
        color: var(--bs-body-color);
    }

    .btn-icon:not([class*=-primary]):not([class*=-secondary]):not([class*=-default]):not([class*=-success]):not([class*=-info]):not([class*=-warning]):not([class*=-danger]):not([class*=-dark]):not([class*=-light]):not(.nav-item):focus {
        border-color: rgba(var(--bs-body-color-rgb), 0.1) !important;
    }

    .btn-icon.btn-xs {
        width: calc(1.15rem + 2px);
        height: calc(1.15rem + 2px);
        padding: 0;
    }

    .btn-icon.btn-sm {
        width: calc(1.5rem + 2px);
        height: calc(1.5rem + 2px);
    }

    .btn-icon.btn-lg {
        width: calc(3rem + 2px);
        height: calc(3rem + 2px);
    }

.btn-group-xs > .btn,
.btn-xs {
    padding: 0.25rem 0.5rem;
    font-size: 0.7rem;
    line-height: 1.5;
    border-radius: 0.25rem;
}

.btn-pills {
    border-radius: 0.9375rem;
}

.btn-outline-default {
    background-color: transparent;
    color: var(--bs-body-color);
    border-color: var(--bs-border-color);
    --bs-btn-active-border-color: var(--primary-500);
    --bs-btn-disabled-border-color: #dddddd;
}

    .btn-outline-default:hover, .btn-outline-default:not(:disabled):not(.disabled).active,
    .btn-outline-default:not(:disabled):not(.disabled):active, .show > .btn-outline-default.dropdown-toggle {
        color: var(--bs-body-color);
        background-color: var(--bs-body-bg);
        border-color: var(--bs-border-color);
    }

.btn-group .btn:not([class*=btn-outline-]):not(.btn-icon):not(.btn-light) {
    border-right: 1px solid rgba(0, 0, 0, 0.1);
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.input-group-prepend .btn:not([class*=btn-outline-]):not(.btn-icon):not(:first-child) {
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.input-group-append .btn:not([class*=btn-outline-]):not(.btn-icon):not(:first-child) {
    border-left: 1px solid rgba(0, 0, 0, 0.1);
}

.btn-group-vertical .btn-group, .btn-group-vertical .btn:not([class*=btn-outline-]):not(:first-child) {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.input-group .btn:not(.btn-outline-default) + .btn:not(.btn-outline-default) {
    border-left-color: rgba(0, 0, 0, 0.1);
}

.btn-block {
    display: block;
    width: 100%;
}

    .btn-block + .btn-block {
        margin-top: 0.5rem;
    }

.tooltip {
    --bs-tooltip-padding-x: 0.6rem;
    --bs-tooltip-padding-y: 0.3rem;
    --bs-tooltip-font-size: 0.8125rem;
    --bs-tooltip-bg: rgba(14, 14, 14, 0.9);
    --bs-tooltip-border-radius: 5px;
    --bs-tooltip-opacity: 0.95;
    --bs-tooltip-arrow-width: 0.75rem;
    --bs-tooltip-arrow-height: 0.4rem;
}

.tooltip-inner {
    font-family: var(--font-family);
    font-weight: 300;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}

.tooltip-danger {
    --bs-tooltip-bg: var(--danger-500);
    --bs-tooltip-color: var(--bs-white);
}

.tooltip-warning {
    --bs-tooltip-bg: var(--warning-500);
    --bs-tooltip-color: var(--bs-dark);
}

.tooltip-success {
    --bs-tooltip-bg: var(--success-500);
    --bs-tooltip-color: var(--bs-white);
}

.tooltip-info {
    --bs-tooltip-bg: var(--info-500);
    --bs-tooltip-color: var(--bs-white);
}

.tooltip-primary {
    --bs-tooltip-bg: var(--primary-500);
    --bs-tooltip-color: var(--bs-white);
}

.tooltip-secondary {
    --bs-tooltip-bg: var(--secondary-500);
    --bs-tooltip-color: var(--bs-white);
}

.tooltip-dark {
    --bs-tooltip-bg: var(--dark-500);
    --bs-tooltip-color: var(--bs-white);
}

.tooltip-light {
    --bs-tooltip-bg: var(--light-500);
    --bs-tooltip-color: var(--bs-dark);
}

.tooltip-fusion {
    --bs-tooltip-bg: var(--fusion-500);
    --bs-tooltip-color: var(--bs-white);
}

.sa-icon {
    --sa-icon-color: rgb(155 155 155);
    --sa-fill-opacity: 0.3;
    --sa-icon-fill: rgb(219 219 219 / var(--sa-fill-opacity));
    --sa-icon-size: 1.25rem;
    width: var(--sa-icon-size);
    height: var(--sa-icon-size);
    stroke: var(--sa-icon-color);
    stroke-width: 1px;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: var(--sa-icon-fill);
    display: block;
}

    .sa-icon.sa-nofill {
        fill: none !important;
    }

    .sa-icon.sa-thin {
        stroke-width: 0.5px !important;
    }

    .sa-icon.sa-regular {
        stroke-width: 0.8px !important;
    }

    .sa-icon.sa-medium {
        stroke-width: 1.2px !important;
    }

    .sa-icon.sa-bold {
        stroke-width: 1.5px !important;
    }

    .sa-icon.sa-icon-1x {
        width: 1.125rem;
        height: 1.125rem;
    }

    .sa-icon.sa-icon-2x {
        width: 1.5rem;
        height: 1.5rem;
    }

    .sa-icon.sa-icon-3x {
        width: 2.1875rem;
        height: 2.1875rem;
    }

    .sa-icon.sa-icon-4x {
        width: 2.8125rem;
        height: 2.8125rem;
    }

    .sa-icon.sa-icon-5x {
        width: 3.4375rem;
        height: 3.4375rem;
        stroke-width: 0.5px;
    }

    .sa-icon.sa-icon-6x {
        width: 4.0625rem;
        height: 4.0625rem;
    }

    .sa-icon.sa-icon-7x {
        width: 4.6875rem;
        height: 4.6875rem;
    }

    .sa-icon.sa-icon-8x {
        width: 5.3125rem;
        height: 5.3125rem;
    }

    .sa-icon.sa-icon-9x {
        width: 5.9375rem;
        height: 5.9375rem;
    }

    .sa-icon.sa-icon-10x {
        width: 6.5625rem;
        height: 6.5625rem;
    }

    .sa-icon.sa-icon-primary {
        --sa-fill-opacity: 0.1;
        fill: rgba(var(--primary), var(--sa-fill-opacity));
        stroke: rgba(var(--primary), 0.8);
    }

    .sa-icon.sa-icon-success {
        --sa-fill-opacity: 0.1;
        fill: rgba(var(--success), var(--sa-fill-opacity));
        stroke: rgba(var(--success), 0.8);
    }

    .sa-icon.sa-icon-warning {
        --sa-fill-opacity: 0.1;
        fill: rgba(var(--warning), var(--sa-fill-opacity));
        stroke: rgba(var(--warning), 0.8);
    }

    .sa-icon.sa-icon-danger {
        --sa-fill-opacity: 0.1;
        fill: rgba(var(--danger), var(--sa-fill-opacity));
        stroke: rgba(var(--danger), 0.8);
    }

    .sa-icon.sa-icon-info {
        --sa-fill-opacity: 0.1;
        fill: rgba(var(--info), var(--sa-fill-opacity));
        stroke: rgba(var(--info), 0.8);
    }

    .sa-icon.sa-icon-light {
        --sa-fill-opacity: 0.1;
        fill: rgba(var(--bs-light-rgb), var(--sa-fill-opacity)) !important;
        stroke: rgba(var(--bs-light-rgb), 1) !important;
    }

    .sa-icon.sa-icon-dark {
        --sa-fill-opacity: 0.1;
        fill: rgba(var(--bs-dark-rgb), var(--sa-fill-opacity)) !important;
        stroke: rgba(var(--bs-dark-rgb), 1) !important;
    }

    .sa-icon.sa-icon-subtlelight {
        --sa-fill-opacity: 0.1;
        fill: rgba(var(--bs-body-color-rgb), var(--sa-fill-opacity)) !important;
        stroke: rgba(var(--bs-body-color-rgb), 1) !important;
    }

.collapse-icon {
    border-radius: var(--border-radius-uniform);
    border: 1px solid var(--collapse-icon-border);
    height: var(--collapse-icon-height);
    width: var(--collapse-icon-width);
    position: relative;
    overflow: hidden;
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    background: var(--app-header-background);
    cursor: pointer;
}

    .collapse-icon > svg {
        height: 0.6875rem;
        margin-left: 0.5625rem;
        transition: all 100ms ease-in-out;
    }

        .collapse-icon > svg polygon {
            fill: var(--collapse-icon-border);
        }

    .collapse-icon::after {
        content: "";
        position: absolute;
        border-right: 1px solid var(--collapse-icon-border);
        width: 1.25rem;
        height: var(--collapse-icon-height);
        left: 0;
        top: 0;
        background: rgba(var(--bs-emphasis-color-rgb), 0.05);
        border-radius: 0;
        transition: all 200ms cubic-bezier(0.34, 1.25, 0.3, 1);
    }

    .collapse-icon:hover {
        border-color: var(--collapse-icon-border-hover);
        background: var(--bs-body-bg);
    }

        .collapse-icon:hover > svg {
            margin-left: 0.75rem;
        }

            .collapse-icon:hover > svg polygon {
                fill: var(--collapse-icon-border-hover);
            }

        .collapse-icon:hover::after {
            border-right-color: var(--collapse-icon-border-hover);
            background: rgba(var(--primary), 0.1);
            width: 0.5625rem;
        }

    .collapse-icon:active {
        scale: 0.95;
    }

.ellipsis-icon {
    --ellipsis-icon-color: currentColor;
    --ellipsis-icon-width: 0.25rem;
    --ellipsis-icon-height: 0.25rem;
    --ellipsis-icon-spacing: 0.5rem;
    --ellipsis-icon-border-radius: 50%;
    width: var(--ellipsis-icon-width);
    height: var(--ellipsis-icon-height);
    background-color: var(--ellipsis-icon-color);
    border-radius: var(--ellipsis-icon-border-radius);
    overflow: visible;
    position: relative;
    display: inline-block;
    scale: 0.8;
    transition: all 200ms cubic-bezier(0.34, 1.25, 0.3, 1);
}

    .ellipsis-icon::before, .ellipsis-icon::after {
        content: "";
        position: absolute;
        width: var(--ellipsis-icon-width);
        height: var(--ellipsis-icon-height);
        background-color: var(--ellipsis-icon-color);
        display: block;
        border-radius: var(--ellipsis-icon-border-radius);
    }

    .ellipsis-icon::before {
        top: calc(var(--ellipsis-icon-spacing) * -1);
        transition: all 100ms cubic-bezier(0.34, 1.25, 0.3, 1);
        transform: rotate(45deg);
    }

    .ellipsis-icon::after {
        bottom: calc(var(--ellipsis-icon-spacing) * -1);
        transition: all 300ms cubic-bezier(0.34, 1.25, 0.3, 1);
        transform: rotate(-45deg);
    }

.btn-toolbar-master.show .ellipsis-icon {
    --ellipsis-icon-spacing: 0px;
    --ellipsis-icon-border-radius: 0px;
    --ellipsis-icon-width: 0.9375rem;
    --ellipsis-icon-height: 0.125rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: transparent;
}

.mobile-menu-icon {
    --mobile-menu-icon-width: 4rem;
    --mobile-menu-icon-height: 2.5rem;
    width: var(--mobile-menu-icon-width);
    height: var(--mobile-menu-icon-height);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-uniform);
    background: rgba(var(--danger), 0.9);
    border: 1px solid var(--bs-body-bg);
}

    .mobile-menu-icon .sa-icon {
        width: 1.8rem;
        height: 1.8rem;
        stroke-width: 1.5px;
        fill: rgba(var(--bs-light-rgb), 0.1);
        stroke: rgba(var(--bs-light-rgb), 1);
    }

    .mobile-menu-icon:active {
        background: rgba(var(--primary), 0.9);
        scale: 0.95;
    }

    .mobile-menu-icon::before {
        content: "";
        position: absolute;
        width: 100%;
    }

.icon-stack {
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    line-height: 1em;
    vertical-align: middle;
    text-align: center;
}

.icon-stack-1x, .icon-stack-2x, .icon-stack-3x {
    position: absolute !important;
    left: 0;
    bottom: 0;
    width: 100%;
    text-align: center;
    line-height: inherit !important;
}

.icon-stack-1x {
    font-size: 0.5em;
}

.icon-stack-2x {
    font-size: 0.7em;
    margin-left: 1px;
}

.icon-stack-3x {
    font-size: 1em;
}

.icon-stack-xl {
    font-size: 3.125rem;
}

.icon-stack-lg {
    font-size: 2.5rem;
}

.icon-stack-md {
    font-size: 2.125rem;
}

.icon-stack-sm {
    font-size: 1.875rem;
}

.stack-icon,
#my-icon {
    position: relative;
    display: inline-block;
    width: 1.1em;
    height: 1.1em;
    font-size: 1.25em;
    vertical-align: middle;
    text-align: center;
    overflow: hidden;
}

    .stack-icon .icon-layers,
    #my-icon .icon-layers {
        position: absolute;
        left: 0;
        bottom: 0;
        top: 0;
        right: 0;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .stack-icon .icon-layers .stack-3x,
        #my-icon .icon-layers .stack-3x {
            font-size: 100%;
        }

            .stack-icon .icon-layers .stack-3x.sa-icon,
            #my-icon .icon-layers .stack-3x.sa-icon {
                width: 100%;
                height: 100%;
            }

        .stack-icon .icon-layers .stack-2x,
        #my-icon .icon-layers .stack-2x {
            font-size: 80%;
        }

            .stack-icon .icon-layers .stack-2x.sa-icon,
            #my-icon .icon-layers .stack-2x.sa-icon {
                width: 75%;
                height: 75%;
            }

        .stack-icon .icon-layers .stack-1x,
        #my-icon .icon-layers .stack-1x {
            font-size: 60%;
        }

            .stack-icon .icon-layers .stack-1x.sa-icon,
            #my-icon .icon-layers .stack-1x.sa-icon {
                width: 57%;
                height: 57%;
            }

        .stack-icon .icon-layers .stack-0x,
        #my-icon .icon-layers .stack-0x {
            font-size: 50%;
        }

            .stack-icon .icon-layers .stack-0x.sa-icon,
            #my-icon .icon-layers .stack-0x.sa-icon {
                width: 45%;
                height: 45%;
            }

/* width */
::-webkit-scrollbar {
    width: var(--scrollbar-width, 8px);
}

/* Track */
::-webkit-scrollbar-track {
    background: var(--scrollbar-color, var(--bs-body-bg));
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--scrollbar-thumb, rgba(var(--bs-body-color-rgb), 0.8));
}

    /* Handle on hover */
    ::-webkit-scrollbar-thumb:hover {
        background: var(--scrollbar-thumb-hover, rgba(var(--bs-body-color-rgb), 1));
    }

.slimScrollBar {
    --scrollbar-color: rgba(var(--bs-body-color-rgb), 0.8);
    --scrollbar-hover-color: rgba(var(--bs-body-color-rgb), 1);
    background: var(--scrollbar-color) !important;
    cursor: default !important;
    user-select: none;
    outline: 0.5px solid transparent;
    transition: opacity 0.2s linear;
}

    .slimScrollBar:hover {
        outline-color: var(--scrollbar-color);
    }

    .slimScrollBar.dragging {
        background: var(--scrollbar-hover-color) !important;
        outline-color: var(--scrollbar-hover-color);
    }

    .slimScrollBar::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: calc(100% + 10px);
        height: calc(100% + 2px);
        left: -5px;
        opacity: 0;
    }

.slimScrollRail {
    background: var(--bs-body-bg) !important;
    cursor: default !important;
    user-select: none;
    outline: 1px solid rgba(var(--bs-body-bg-rgb), 0.3);
}

    .slimScrollRail:hover {
        opacity: 0.5 !important;
    }

    .slimScrollRail::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        width: calc(100% + 8px);
        height: calc(100% + 2px);
        left: -3px;
        opacity: 0;
    }

.slimScrollDiv {
    user-select: none;
}

/* slimscroll bug */
.app-sidebar .slimScrollDiv {
    width: var(--menu-width) !important;
}

body:not(.no-slimscroll) .custom-scroll {
    overflow: hidden;
}

.custom-scroll,
.custom-scrollbar {
    overflow: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

    .custom-scroll::-webkit-scrollbar,
    .custom-scrollbar::-webkit-scrollbar {
        height: 4px;
        width: 4px;
    }

        .custom-scroll::-webkit-scrollbar:hover,
        .custom-scrollbar::-webkit-scrollbar:hover {
            background-color: rgba(var(--bs-body-color-rgb), 0.8);
        }

    .custom-scroll::-webkit-scrollbar-track-piece,
    .custom-scrollbar::-webkit-scrollbar-track-piece {
        background-color: var(--bs-body-bg);
    }

        .custom-scroll::-webkit-scrollbar-track-piece:hover,
        .custom-scrollbar::-webkit-scrollbar-track-piece:hover {
            background-color: var(--bs-body-bg);
        }

    .custom-scroll::-webkit-scrollbar-thumb:vertical,
    .custom-scrollbar::-webkit-scrollbar-thumb:vertical {
        background-color: rgba(var(--bs-body-color-rgb), 0.5);
    }

        .custom-scroll::-webkit-scrollbar-thumb:vertical:hover,
        .custom-scrollbar::-webkit-scrollbar-thumb:vertical:hover {
            background-color: rgba(var(--bs-body-color-rgb), 0.8);
        }

/* 
 * Left Panel custom scroll
 */
.primary-nav::-webkit-scrollbar-track-piece {
    background-color: var(--bs-body-bg);
}

.primary-nav::-webkit-scrollbar-thumb:vertical {
    background-color: rgba(var(--bs-body-color-rgb), 0.8);
}

    .primary-nav::-webkit-scrollbar-thumb:vertical:hover {
        background-color: rgba(var(--bs-body-color-rgb), 0.5);
    }

.primary-nav::-webkit-scrollbar {
    height: 4px;
    width: 4px;
}

.primary-nav:hover::-webkit-scrollbar-corner {
    width: 40px;
}

.accordion-button {
    --bs-accordion-active-color: var(--app-nav-link-active-color);
    --bs-accordion-active-bg: rgba(var(--fusion), 0.04);
    background-color: var(--bs-accordion-active-bg);
    font-size: var(--bs-body-font-size);
    font-weight: 500;
}

.accordion.accordion-clean .accordion-item {
    border-left: 0;
    border-right: 0;
    background: transparent;
}

    .accordion.accordion-clean .accordion-item:first-child {
        border-top: 0;
    }

    .accordion.accordion-clean .accordion-item:last-child {
        border-bottom: 0;
    }

.accordion.accordion-clean:not(.accordion-outline):not(.accordion-hover) .accordion-button,
.accordion.accordion-clean:not(.accordion-outline):not(.accordion-hover) .accordion-body {
    padding-left: 0;
    padding-right: 0;
}

.accordion.accordion-clean:not(.accordion-outline):not(.accordion-hover) .accordion-body {
    padding-top: 0;
}

.accordion.accordion-clean .accordion-button {
    background: transparent;
}

    .accordion.accordion-clean .accordion-button:not(.collapsed) {
        color: rgba(var(--bs-body-color-rgb), 1);
    }

    .accordion.accordion-clean .accordion-button.collapsed {
        color: rgba(var(--bs-body-color-rgb), 0.75);
    }

.accordion.accordion-outline .accordion-item {
    margin-bottom: 1rem;
    border: 2px solid var(--bs-border-color) !important;
    border-radius: var(--bs-border-radius);
}

    .accordion.accordion-outline .accordion-item .accordion-button {
        background: transparent;
    }

        .accordion.accordion-outline .accordion-item .accordion-button:focus {
            box-shadow: none;
        }

.accordion.accordion-hover {
    --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");
}

    .accordion.accordion-hover .accordion-item {
        background: transparent;
    }

    .accordion.accordion-hover .accordion-button {
        transition: all 0.5s ease;
        background: transparent;
    }

        .accordion.accordion-hover .accordion-button:hover.collapsed {
            color: var(--bs-white);
            background-color: var(--primary-400);
        }

            .accordion.accordion-hover .accordion-button:hover.collapsed::after {
                background-image: var(--bs-accordion-btn-active-icon);
            }

        .accordion.accordion-hover .accordion-button:not(.collapsed) {
            color: var(--bs-white);
            background-color: var(--primary-700);
        }

            .accordion.accordion-hover .accordion-button:not(.collapsed)::after {
                background-image: var(--bs-accordion-btn-active-icon);
            }

.accordion-button:not(.collapsed) {
    box-shadow: none;
}

    .accordion-button:not(.collapsed)::after {
        background-image: var(--bs-accordion-btn-active-icon);
    }

[aria-expanded=false] ~ .collapsed-reveal {
    display: none;
}

[aria-expanded=false] .collapsed-reveal {
    display: none;
}

[aria-expanded=false] ~ .collapsed-hidden {
    display: block;
}

[aria-expanded=false] .collapsed-hidden {
    display: block;
}

[aria-expanded=true] ~ .collapsed-reveal {
    display: block;
}

[aria-expanded=true] .collapsed-reveal {
    display: block;
}

[aria-expanded=true] ~ .collapsed-hidden {
    display: none;
}

[aria-expanded=true] .collapsed-hidden {
    display: none;
}

.accordion-button.custom-collapse::after {
    content: none;
}

.panel-fullscreen {
    overflow: hidden;
    max-width: 100%;
}

.sortable-active .panel:not(.panel-locked):not(.panel-fullscreen) .panel-hdr > h2 {
    cursor: move;
}

.panel {
    --border-radius: 0.375rem;
    display: flex;
    flex-direction: column;
    position: relative;
    background-color: var(--app-panel-bg, #fff);
    box-shadow: 0px 0px 13px 0px rgba(0, 0, 0, 0.05);
    margin-bottom: 2rem;
    border: 1px solid var(--app-panel-border-color, rgba(0, 0, 0, 0.09));
    border-bottom: 1px solid var(--app-panel-border-bottom, #e0e0e0);
    border-radius: var(--border-radius);
    transition: border 500ms ease-out;
}

    .panel.panel-selected {
        position: relative;
    }

        .panel.panel-selected::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: inherit;
            z-index: 10;
            background: repeating-linear-gradient(-55deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 5px, rgba(0, 0, 0, 0) 5px, rgba(0, 0, 0, 0) 9px);
            background-color: var(--panel-drag-bg, rgb(249, 249, 249));
            opacity: 0.5;
            border: 2px solid rgba(var(--success), 0.9);
        }

    .panel.panel-icon .panel-toolbar .btn-panel {
        margin-left: 0;
        position: relative;
        --sa-icon-hover-fill-opacity: 0.2;
    }

        .panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-collapse] .sa-icon {
            stroke: var(--bs-success);
        }

        .panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-collapse]:hover .sa-icon {
            fill: rgba(var(--success), var(--sa-icon-hover-fill-opacity));
        }

        .panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-fullscreen] .sa-icon {
            stroke: var(--bs-warning);
        }

        .panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-fullscreen]:hover .sa-icon {
            fill: rgba(var(--warning), var(--sa-icon-hover-fill-opacity));
        }

        .panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-close] .sa-icon {
            stroke: var(--bs-danger);
        }

        .panel.panel-icon .panel-toolbar .btn-panel[data-action=panel-close]:hover .sa-icon {
            fill: rgba(var(--danger), var(--sa-icon-hover-fill-opacity));
        }

        .panel.panel-icon .panel-toolbar .btn-panel::after {
            content: "";
            width: 1.875rem;
            height: 1.875rem;
            position: absolute;
            border-radius: 100%;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
        }

    .panel.panel-icon .panel-toolbar [data-action*=panel-]:not(.dropdown-item) .sa-icon {
        width: 1.5rem;
        height: 1.5rem;
        stroke-width: 1px;
        fill: var(--app-body-color);
    }

    .panel:not(.panel-icon) .btn-panel {
        width: 1rem;
        height: 1rem;
        opacity: 0.8;
    }

        .panel:not(.panel-icon) .btn-panel:hover {
            opacity: 1;
        }

        .panel:not(.panel-icon) .btn-panel .sa-icon {
            display: none;
        }

        .panel:not(.panel-icon) .btn-panel[data-action=panel-collapse], .panel:not(.panel-icon) .btn-panel.js-panel-collapse {
            background: var(--bs-success);
        }

        .panel:not(.panel-icon) .btn-panel[data-action=panel-fullscreen], .panel:not(.panel-icon) .btn-panel.js-panel-fullscreen {
            background: var(--bs-warning);
        }

        .panel:not(.panel-icon) .btn-panel[data-action=panel-close], .panel:not(.panel-icon) .btn-panel.js-panel-close {
            background: var(--bs-danger);
        }

    .panel .panel-container {
        position: relative;
        border-radius: 0 0 var(--border-radius) var(--border-radius);
    }

        .panel .panel-container .panel-content {
            padding: 1rem;
        }

            .panel .panel-container .panel-content:only-child, .panel .panel-container .panel-content:last-child {
                border-radius: 0 0 var(--border-radius) var(--border-radius);
            }

    .panel.panel-refreshing [data-action=panel-refresh] {
        color: var(--bs-gray-500);
        pointer-events: none;
        background-color: rgba(0, 0, 0, 0.07);
        box-shadow: none;
        border-color: rgba(0, 0, 0, 0.05);
        cursor: wait;
    }

        .panel.panel-refreshing [data-action=panel-refresh].dropdown-item {
            background: none;
        }

    .panel.panel-refreshing .panel-container .panel-content {
        opacity: 0.5;
        transition: all 470ms cubic-bezier(0.34, 1.25, 0.3, 1);
    }

    .panel.panel-refreshing .panel-container::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(255, 255, 255, 0.3);
        border-radius: inherit;
        z-index: 10;
    }

    .panel.panel-refreshing .panel-container::after {
        content: "\e098";
        position: absolute;
        font-family: "smartadmin-icons";
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        z-index: 11;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: 2rem;
        color: var(--bs-gray-500);
        color: currentColor;
        animation: refresh 2s linear infinite;
    }

    .panel.panel-fullscreen {
        position: fixed !important;
        z-index: 2055;
        top: 0;
        left: 0;
        right: 0;
        height: 100vh !important;
        max-height: 100vh !important;
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 0;
        border: 0;
    }

        .panel.panel-fullscreen [data-action=panel-collapse] [data-action=panel-close] {
            display: none !important;
        }

        .panel.panel-fullscreen .panel-hdr {
            height: 4.125rem;
            border-radius: 0;
            box-shadow: 0 0.125rem 0.125rem -0.0625rem rgba(45, 71, 120, 0.1);
        }

            .panel.panel-fullscreen .panel-hdr h2 {
                font-size: 14px;
                font-weight: 400;
            }

            .panel.panel-fullscreen .panel-hdr .panel-toolbar .btn-panel[data-action=panel-fullscreen] .sa-icon {
                width: 2rem;
                height: 2rem;
            }

            .panel.panel-fullscreen .panel-hdr .panel-toolbar [data-action=panel-collapse],
            .panel.panel-fullscreen .panel-hdr .panel-toolbar [data-action=panel-close] {
                display: none;
            }

        .panel.panel-fullscreen .panel-container {
            flex: 1;
            overflow-y: auto;
            border-radius: 0;
            display: block !important;
        }

    .panel.panel-locked [data-panel-toggle=panel-locked].dropdown-item {
        font-weight: 500;
        color: var(--primary-500);
    }

    .panel.panel-locked .panel-hdr h2::before {
        font-family: "smartadmin-icons";
        content: "\f2ae";
        position: absolute;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1rem;
        color: currentColor;
        height: 24px;
        width: 24px;
        right: 0;
        background: var(--bs-body-bg);
        border-radius: 24px;
        border: 1px solid #ededed;
        padding-bottom: 2px;
        padding-right: 1px;
        top: 50%;
        transform: translate(0, -50%);
    }

    .panel.panel-locked .panel-hdr h2:active::before {
        color: #fff;
        background: var(--danger-500);
        border-color: var(--danger-600);
    }

    .panel.panel-locked .panel-hdr h2:only-child::before {
        right: 1rem;
    }

    .panel.panel-locked .panel-locked-text {
        display: block;
    }

    .panel.panel-locked .panel-unlock-text {
        display: none;
    }

    .panel:not(.panel-locked) .panel-locked-text {
        display: none;
    }

    .panel:not(.panel-locked) .panel-unlock-text {
        display: block;
    }

    .panel.ui-sortable-helper {
        box-shadow: 0 5px 16px 0 rgba(0, 0, 0, 0.05), 0 5px 20px 0 rgba(0, 0, 0, 0.09);
    }

.panel-tag {
    padding: 1rem 1rem;
    margin-bottom: 2rem;
    border-left: 0.1875rem solid var(--success-500);
    background: var(--panel-tag-background, #f2fdfc);
    font-weight: 400;
    font-size: 0.875rem;
    border-radius: 0px 0.25rem 0.25rem 0px;
}

    .panel-tag > *:last-child,
    .panel-tag > *:only-child {
        margin-bottom: 0;
    }

    .panel-tag:only-child {
        margin-bottom: 0;
    }

.panel-container {
    transition: height 0.35s ease;
}

.panel-collapsed .panel-container {
    height: 0;
    overflow: hidden;
}

.panel-hdr {
    display: flex;
    align-items: center;
    min-height: 3rem;
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.panel-collapsed .panel-hdr {
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.panel-hdr > :first-child {
    padding-left: 1rem;
}

.panel-hdr > :last-child {
    padding-right: 1rem;
}

.panel-hdr h2 {
    flex: 1;
    font-size: 0.875rem;
    margin: 0;
    display: flex;
    align-items: center;
    line-height: 3rem;
    color: inherit;
    color: var(--bs-body-color);
    position: relative;
    font-weight: 500;
}

    .panel-hdr h2:not(:only-child) {
        margin-right: 0.667rem;
    }

    .panel-hdr h2 > [class*=fw-] {
        margin-left: 0.25rem;
    }

    .panel-hdr h2 small {
        display: inline-block;
        margin: 0;
        opacity: 0.8;
        font-weight: 400;
        font-size: 0.875rem;
        margin-left: 0.5rem;
    }

    .panel-hdr h2 .panel-icon {
        margin-right: 0.5rem;
    }

.panel-hdr[class^=bg-] h2,
.panel-hdr[class*=" bg-"] h2 {
    color: inherit;
}

.panel:not(.panel-collapsed).panel-icon .panel-expand-icon {
    display: none;
}

.panel-toolbar {
    display: flex;
    align-items: center;
    position: relative;
}

    .panel-toolbar .btn-panel {
        margin-left: 0.3rem;
        padding: 0;
        box-sizing: border-box;
        border-radius: 50%;
    }

    .panel-toolbar .btn-toolbar-master {
        height: 3rem;
        width: 1.826875rem;
        border-radius: 0;
        margin-right: -1rem;
        border-top-right-radius: 0.25rem;
        margin-left: 0.5rem;
        padding: 0 0.8125rem;
        background: transparent;
        border: 0;
        font-size: 1.5625rem;
        color: inherit;
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .panel-toolbar .btn-toolbar-master.show {
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15) inset !important;
        }

        .panel-toolbar .btn-toolbar-master + .dropdown-menu {
            right: 0 !important;
            top: 3rem;
            left: auto !important;
            margin: 0;
            border-radius: 0;
            top: 100% !important;
        }

    .panel-toolbar .btn-panel-flat:last-child {
        border-top-right-radius: 0.1875rem;
    }

/*
.panel-placeholder {
	background-color: #c3b5d9;
	box-sizing: border-box;
	margin-bottom: 1.5rem;
	border-radius: 0.3125rem;
	position: relative;
	overflow: hidden;
	border: 1px solid transparent;

	&:before,
	&:after {
		content: " ";
		background-image: url(data:image/gif;base64,R0lGODlhCAAIAJAAAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQECgD/ACwAAAAACAAIAAACD4SDYZB6udpiaMJYsXuoAAAh+QQECgD/ACwAAAAACAAIAAACDYQRGadrzVRMB9FZ5SwAIfkEBAoA/wAsAAAAAAgACAAAAg8MDqGYaudeW9ChyOyltQAAIfkEBAoA/wAsAAAAAAgACAAAAg9MgGCXm+rQYtC0WGl9oQAAIfkEBAoA/wAsAAAAAAgACAAAAg+MgWCRernaYmjCWLF7qAAAIfkEBAoA/wAsAAAAAAgACAAAAg2MAwmna81UTAfRWeUsACH5BAQKAP8ALAAAAAAIAAgAAAIPRB6gmGrnXlvQocjspbUAACH5BAQKAP8ALAAAAAAIAAgAAAIPBIJhl5vq0GLQtFhpfaAAADs=);
		border-radius: 0.3125rem;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		opacity: 0.3;
	}

	&:before {
		background: #c3b5d9;
		margin: 1px;
		box-sizing: border-box;
		opacity: 1;
		z-index: 1;
	}
}
*/
.mod-panel-clean .panel-hdr {
    background: var(--bs-body-bg);
    background-image: linear-gradient(to bottom, #f7f7f7, var(--bs-body-bg));
    box-shadow: none;
}

    .mod-panel-clean .panel-hdr h2 {
        color: var(--bs-body-color);
        font-weight: 500;
    }

/* nav tabs panel */
.nav-tabs-clean .nav-item .nav-link {
    border: 0;
}

    .nav-tabs-clean .nav-item .nav-link.active {
        border-bottom: 1px solid var(--primary-500) !important;
        color: var(--primary-500);
        font-weight: 500;
        border-width: 2px !important;
    }

    .nav-tabs-clean .nav-item .nav-link:hover {
        color: var(--primary-500);
    }

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--primary-500);
}

@media only screen and (max-width: 420px) {
    .panel .panel-hdr {
        font-size: 0.875rem;
        min-height: 2.75rem;
    }

        .panel .panel-hdr > :first-child {
            padding-left: 0.625rem;
        }

        .panel .panel-hdr > :last-child {
            padding-right: 0.625rem;
        }

        .panel .panel-hdr .panel-toolbar .btn-toolbar-master {
            margin-right: -0.625rem;
        }

    .panel .panel-container .panel-content:first-child {
        padding: 0.625rem;
    }
}

@media print {
    .panel-fullscreen .subheader,
    .panel-fullscreen .page-breadcrumb,
    .panel-fullscreen .page-content .panel:not(.panel-fullscreen) {
        display: none;
    }

    .panel-fullscreen .panel-hdr,
    .panel-fullscreen .panel-container,
    .panel-fullscreen .panel-content,
    .panel-fullscreen h2 {
        border: none;
        padding: 0 !important;
    }

    .panel-fullscreen .panel {
        margin: 0;
    }
}

.sortable-ghost {
    opacity: 0.4;
}

.sortable-drag {
    cursor: move;
}

[data-toggle=dropdown] .profile-image {
    width: 2rem;
    height: auto;
}

.notification-header {
    padding: 1.5rem 1.5rem 0.5rem;
    text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    background: var(--bs-body-bg);
    font-size: 0.75rem;
    white-space: nowrap;
    margin-bottom: 0;
}

    .notification-header h4 {
        display: flex;
        flex-direction: column;
        font-size: 1.25rem;
    }

        .notification-header h4 small {
            font-size: 0.825rem;
            font-weight: 300;
            margin-top: 0.25rem;
        }

.tab-notification {
    height: 22.6875rem;
}

    .tab-notification .tab-pane {
        height: 100%;
    }

.notification {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
}

    .notification li {
        position: relative;
        background: var(--bs-body-bg);
        padding: 0;
        margin: 0;
        border: 0;
        border-radius: 0;
    }

        .notification li [data-bs-dismiss=alert] {
            position: absolute;
            right: 0;
            top: 0;
            padding: 15px;
            background: transparent var(--bs-btn-close-bg) center/0.7em auto no-repeat;
            visibility: hidden;
        }

        .notification li:hover [data-bs-dismiss=alert] {
            visibility: visible;
        }

        .notification li.unread {
            background: rgba(var(--bs-primary-rgb), 0.05);
        }

            .notification li.unread .name {
                font-weight: 600;
            }

        .notification li > :first-child {
            padding: 0.75rem 1.5rem;
            border-bottom: 1px solid rgba(0, 0, 0, 0.06);
        }

        .notification li:hover > :first-child {
            text-decoration: none;
            background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(29, 33, 41, 0.03)), to(rgba(29, 33, 41, 0.04)));
            background-image: linear-gradient(rgba(29, 33, 41, 0.03), rgba(29, 33, 41, 0.04));
        }

        .notification li > :first-child:focus {
            text-decoration: none;
        }

        .notification li > :first-child > span {
            position: relative;
        }

            .notification li > :first-child > span > span {
                display: block;
            }

        .notification li:last-child > a {
            border: 0;
        }

    .notification .name {
        color: var(--bs-body-color);
        font-weight: 400;
        font-size: 0.825rem;
    }

    .notification .msg-a,
    .notification .msg-b {
        color: var(--bs-body-color);
        text-overflow: ellipsis;
        overflow: hidden;
        white-space: nowrap;
        max-width: 300px;
    }

    .notification:has(*) + .notification-empty-msg {
        display: none;
    }

    .notification:not(:has(*)) + .notification-empty-msg {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
        font-size: 1.25rem;
        font-weight: 300;
    }

.set-colorblind-mode .alert-danger,
.set-colorblind-mode .btn-danger,
.set-colorblind-mode .btn-outline-danger,
.set-colorblind-mode [class*=bg-danger-],
.set-colorblind-mode .bg-danger,
.pattern-0 {
    background-size: 10px 10px;
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.07) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.07) 50%, rgba(255, 255, 255, 0.05) 75%, transparent 75%, transparent);
}

.pattern-1 {
    background-size: 5px 5px;
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.04) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.04) 50%, rgba(255, 255, 255, 0.04) 75%, transparent 75%, transparent);
}

.set-colorblind-mode .alert-primary,
.set-colorblind-mode .btn-outline-primary,
.set-colorblind-mode .btn-primary,
.set-colorblind-mode .Theme-button,
.set-colorblind-mode [class*=bg-primary-],
.set-colorblind-mode .bg-primary,
.pattern-2 {
    background-size: 15px 15px;
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(255, 255, 255, 0.2)), color-stop(50%, transparent), to(transparent));
    background-image: linear-gradient(rgba(255, 255, 255, 0.2) 50%, transparent 50%, transparent);
}

.set-colorblind-mode .alert-success,
.set-colorblind-mode .btn-outline-success,
.set-colorblind-mode .btn-success,
.set-colorblind-mode [class*=bg-success-],
.set-colorblind-mode .bg-success,
.pattern-3 {
    background-size: 15px 15px;
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(255, 255, 255, 0.2)), color-stop(50%, transparent), to(transparent));
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.2) 50%, transparent 50%, transparent);
}

.set-colorblind-mode .alert-info,
.set-colorblind-mode .btn-info,
.set-colorblind-mode .btn-outline-info,
.set-colorblind-mode [class*=bg-info-],
.set-colorblind-mode .bg-info,
.pattern-4 {
    background-size: 37px 37px;
    background-position: 0 0, 18.5px 18.5px;
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2)), linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2));
}

.set-colorblind-mode .alert-warning,
.set-colorblind-mode .btn-outline-warning,
.set-colorblind-mode .btn-warning,
.set-colorblind-mode [class*=bg-warning-],
.set-colorblind-mode .bg-warning,
.pattern-5 {
    background-size: 37px 37px;
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2)), linear-gradient(135deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 75%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0.2));
}

.set-high-contrast-mode[data-bs-theme=light] {
    --bs-body-color: #000;
    --input-placeholder-color: #000;
    --app-nav-link-color: #000;
    --app-nav-link-hover-color: #000;
    --app-nav-border-color: #000;
    --bs-primary-text-emphasis: #000;
    --bs-success-text-emphasis: #000;
    --bs-danger-text-emphasis: #000;
    --bs-warning-text-emphasis: #000;
    --bs-info-text-emphasis: #000;
    --bs-light-text-emphasis: #fff;
    --bs-dark-text-emphasis: #000;
    --bs-border-color: #b1b1b1;
    --app-layout-border-color: rgba(0, 0, 0, 0.17);
    --app-panel-border-color: #b1b1b1;
    --app-panel-border-bottom: #b1b1b1;
    --bs-info-border-color: #b1b1b1;
    --collapse-icon-border: #000;
    --row-grid-line-rgb: 0, 0, 0;
    --row-grid-opacity: 0.17;
}

    .set-high-contrast-mode[data-bs-theme=light] .panel.panel-icon .panel-toolbar .btn-panel .sa-icon {
        stroke: #000 !important;
    }

    .set-high-contrast-mode[data-bs-theme=light] .panel.panel-icon .panel-toolbar .btn-panel {
        --sa-icon-hover-fill-opacity: 1;
    }

    .set-high-contrast-mode[data-bs-theme=light] .primary-nav {
        --app-nav-link-active-color: #fff;
        --app-nav-item-active-indicator: #fff;
        --app-nav-item-active-bg: #000;
    }

    .set-high-contrast-mode[data-bs-theme=light] .list-group {
        --bs-list-group-border-color: #b1b1b1;
    }

    .set-high-contrast-mode[data-bs-theme=light] .chat-segment-get .chat-message {
        background: #000 !important;
        color: #fff;
    }

    .set-high-contrast-mode[data-bs-theme=light] table {
        --bs-table-border-color: #000;
    }

    .set-high-contrast-mode[data-bs-theme=light] .sa-icon {
        --sa-icon-color: #000;
    }

    .set-high-contrast-mode[data-bs-theme=light] .text-muted,
    .set-high-contrast-mode[data-bs-theme=light] .frame-heading {
        color: #000 !important;
    }

    .set-high-contrast-mode[data-bs-theme=light] .btn-default {
        --btn-color: #000;
        --btn-border-color: #000;
        --btn-hover-border-color: #000;
    }

    .set-high-contrast-mode[data-bs-theme=light] [class^=bg-opacity-],
    .set-high-contrast-mode[data-bs-theme=light] [class*=" bg-opacity-"] {
        --bs-bg-opacity: 1;
    }

.app-fob-lg {
    height: 16.25rem;
    width: 100%;
    border-radius: 0.625rem;
    border: 1px dashed rgba(var(--info), 1);
    background: rgba(var(--info), 0.1);
    position: relative;
}

    .app-fob-lg:not(.active) {
        border-color: var(--bs-body-color);
        background: var(--bs-body-bg);
    }

    .app-fob-lg > div {
        transition: all 0.5s ease-in-out;
    }

    .app-fob-lg > :nth-child(1) {
        position: absolute;
        height: 20%;
        top: 0;
        right: 0;
        left: 0;
        border-radius: 0.625rem 0.625rem 0 0;
        background: rgba(var(--bs-body-color-rgb), 0.15);
        display: block;
    }

    .app-fob-lg > :nth-child(2) {
        width: 25%;
        background: rgba(var(--bs-body-color-rgb), 0.15);
        left: 0;
        bottom: 0;
        top: 25%;
        position: absolute;
        border-radius: 0 0 0 0.625rem;
    }

    .app-fob-lg > :nth-child(3) {
        background: repeating-linear-gradient(-55deg, rgba(var(--bs-body-color-rgb), 0.05), rgba(var(--bs-body-color-rgb), 0.05) 2px, rgba(var(--bs-body-color-rgb), 0) 2px, rgba(var(--bs-body-color-rgb), 0) 6px);
        background-color: rgba(var(--bs-body-color-rgb), 0.15);
        width: 70%;
        top: 25%;
        right: 0;
        bottom: 0;
        position: absolute;
    }

    .app-fob-lg[data-class^=set-header-fixed] > :nth-child(1) {
        background: #F68BEC;
    }

    .app-fob-lg[data-class^=set-nav-full] > :nth-child(1) {
        left: 35%;
        border-radius: 0 0.625rem 0 0;
    }

    .app-fob-lg[data-class^=set-nav-full] > :nth-child(2) {
        border-radius: 0.625rem 0 0 0.625rem;
        top: 5%;
    }

    .app-fob-lg[data-class^=set-nav-fixed] > :nth-child(2) {
        background: #F68BEC;
    }

    .app-fob-lg[data-class^=set-nav-collapse] > :nth-child(1) {
        background: rgba(0, 0, 0, 0.1);
    }

    .app-fob-lg[data-class^=set-nav-collapse] > :nth-child(2) {
        top: 14%;
        height: auto;
        bottom: 14%;
        z-index: 1;
        border-radius: 0 0.625rem 0.625rem 0;
        width: 7%;
        background: rgba(var(--warning), 0.6);
    }

    .app-fob-lg[data-class^=set-nav-collapse] > :nth-child(3) {
        width: auto;
        left: 5%;
        border-radius: 0 0 0.625rem 0.625rem;
    }

    .app-fob-lg[data-class^=set-nav-minified] > :nth-child(2) {
        width: 13%;
    }

    .app-fob-lg[data-class^=set-nav-minified] > :nth-child(3) {
        width: 73%;
    }

.app-fob-showcase {
    overflow: hidden;
    border: none;
}

.app-fob-showcase-text {
    margin-bottom: 2rem;
    position: relative;
    padding: 1.1rem 1rem 1rem;
    border: 1px dashed var(--bs-emphasis-color);
    border-radius: 0.625rem;
}

    .app-fob-showcase-text:after {
        content: attr(data-prefix);
        position: absolute;
        padding: 0.3125rem;
        border-radius: 0.3125rem;
        background: var(--bs-body-color);
        top: -0.875rem;
        right: 0.625rem;
        color: var(--bs-body-bg);
        font-size: 0.8125rem;
        line-height: 0.8125rem;
    }

.app-themes {
    /* Hide the actual checkbox */
    /* Ensure items stretch and look selected when checked */
}

    .app-themes .clickable-boxes input[type=radio] {
        display: none;
    }

    .app-themes .clickable-boxes {
        display: flex;
        flex-wrap: wrap;
        /* Allows items to wrap to the next line */
        justify-content: start;
        /* Aligns items at the start of each row */
        align-items: stretch;
        /* Stretch items vertically */
        align-content: flex-start;
        /* Align rows at the start */
        gap: 0.8125rem;
        /* Adds consistent spacing between items */
        padding: 0.5rem 0;
    }

        .app-themes .clickable-boxes label {
            flex: 1 1 calc(25% - 0.625rem);
            /* Adjust flex to define 4 items per row */
            max-width: calc(25% - 0.625rem);
            /* Set maximum width based on row layout */
            text-align: center;
            background-color: #ddd;
            color: #333;
            line-height: 4.04375rem;
            height: 4.04375rem;
            border-radius: 0.25rem;
            cursor: pointer;
            transition: background-color 0.3s, transform 0.2s;
            font-size: 0.825rem;
            position: relative;
        }

            .app-themes .clickable-boxes label::after {
                content: attr(data-prefix);
                position: absolute;
                padding: 0.25rem;
                border-radius: 0.25rem;
                background: #e9e9e9;
                bottom: 0.25rem;
                left: 0.25rem;
                color: #333;
                font-size: 0.66rem;
                line-height: 0.66rem;
            }

        .app-themes .clickable-boxes input[type=radio]:checked + label {
            background-color: #4CAF50;
            color: white;
            transform: scale(1.05);
            outline: 3px solid #156be1;
        }

            .app-themes .clickable-boxes input[type=radio]:checked + label::after {
                background: #333;
                color: #e9e9e9;
            }

.set-header-fixed .app-fob-showcase :nth-child(1) {
    background-color: rgba(var(--danger), 0.9);
}

.set-nav-full:not(.set-header-fixed) .app-fob-showcase :nth-child(1) {
    left: 30%;
    border-radius: 0 0.625rem 0 0;
}

.set-nav-full:not(.set-header-fixed) .app-fob-showcase :nth-child(2) {
    top: 0;
    border-radius: 0.625rem 0 0 0.625rem;
}

.set-nav-full.set-nav-collapsed:not(.set-header-fixed) .app-fob-showcase :nth-child(1) {
    left: 0;
    border-radius: 0.625rem 0.625rem 0 0;
}

.set-nav-full.set-nav-collapsed:not(.set-header-fixed) .app-fob-showcase :nth-child(2) {
    top: 0;
    background-color: rgba(var(--warning), 0.9);
    border-radius: 0;
}

.set-nav-full.set-nav-collapsed:not(.set-header-fixed) .app-fob-showcase :nth-child(3) {
    left: 0;
    right: 0;
    width: auto;
}

.set-nav-full.set-nav-fixed:not(.set-header-fixed) .app-fob-showcase :nth-child(2) {
    background-color: rgba(var(--danger), 0.9);
}

.set-nav-fixed.set-header-fixed .app-fob-showcase :nth-child(2) {
    background-color: rgba(var(--danger), 0.9);
}

.set-nav-full.set-nav-fixed.set-header-fixed .app-fob-showcase :nth-child(1) {
    left: 30%;
    border-radius: 0 0.625rem 0 0;
    background-color: rgba(var(--danger), 0.9);
}

.set-nav-full.set-nav-fixed.set-header-fixed .app-fob-showcase :nth-child(2) {
    top: 0;
    background-color: rgba(var(--danger), 0.9);
    border-radius: 0.625rem 0 0 0.625rem;
}

.set-header-fixed.set-nav-full.set-nav-fixed.set-nav-collapsed .app-fob-showcase :nth-child(1),
.set-header-fixed.set-nav-collapsed .app-fob-showcase :nth-child(1),
.set-nav-full.set-nav-collapsed .app-fob-showcase :nth-child(1) {
    left: 0;
}

.set-header-fixed.set-nav-full.set-nav-fixed.set-nav-collapsed .app-fob-showcase :nth-child(2),
.set-header-fixed.set-nav-collapsed .app-fob-showcase :nth-child(2),
.set-nav-full.set-nav-collapsed .app-fob-showcase :nth-child(2) {
    transform: translate3d(-90%, 0, 0);
    box-shadow: rgba(0, 0, 0, 0.1) 7px 0px 6px 2px;
    animation: widthAnimation 4s ease-in-out 2 alternate;
    z-index: 1;
}

.set-header-fixed.set-nav-full.set-nav-fixed.set-nav-collapsed .app-fob-showcase :nth-child(3),
.set-header-fixed.set-nav-collapsed .app-fob-showcase :nth-child(3),
.set-nav-full.set-nav-collapsed .app-fob-showcase :nth-child(3) {
    left: 0;
    right: 0;
    width: auto;
    border-radius: 0 0 0.625rem 0.625rem;
}

.set-header-fixed.set-nav-collapsed .app-fob-showcase :nth-child(2) {
    background-color: rgba(var(--warning), 0.9);
}

.set-nav-fixed:not(.set-nav-full):not(.set-header-fixed) .primary-mod {
    border-color: rgba(var(--danger), 0.9);
    color: rgba(var(--danger), 0.9);
}

    .set-nav-fixed:not(.set-nav-full):not(.set-header-fixed) .primary-mod:after {
        content: "Select an option";
        color: var(--bs-white);
        background: rgba(var(--danger), 0.9);
    }

.mod-status {
    padding: 0.8rem 1rem 0.5rem;
    border: 1px dashed var(--bs-border-color);
    position: relative;
    border-radius: 0.5rem;
    margin-bottom: 2.5rem;
}

    .mod-status:first-of-type {
        margin-top: 2rem;
    }

    .mod-status:after {
        content: attr(data-prefix);
        position: absolute;
        padding: 0.3125rem;
        border-radius: 0.3125rem;
        background: var(--bs-border-color);
        top: -0.875rem;
        right: 0.625rem;
        color: var(--bs-body-color);
        font-size: 0.8125rem;
        line-height: 0.8125rem;
    }

.reset-button {
    opacity: 0.75;
    filter: grayscale(50%);
}

[class*=set-],
[data-bs-theme=dark],
.theme-active {
    /* style rules go here */
}

    [class*=set-] .reset-button,
    [data-bs-theme=dark] .reset-button,
    .theme-active .reset-button {
        opacity: 1;
        filter: grayscale(0%);
    }

.color-disp-demo tr:first-child td {
    height: 100px;
    -webkit-box-shadow: inset 0 -5px 0 rgba(255, 255, 255, 0.8);
    box-shadow: inset 0 -5px 0 rgba(255, 255, 255, 0.8);
}

.color-disp-demo tr td {
    border: none;
    padding-top: 0.4375rem;
    padding-bottom: 0.4375rem;
}

    .color-disp-demo tr td:hover {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
        font-weight: 500;
    }

.cr-c {
    width: 1.3125rem;
    height: 1.3125rem;
    display: block;
    border-radius: 50%;
}

.icon-demo {
    list-style: none;
    padding: 0;
}

    .icon-demo li {
        border: 1px solid #7f8995;
        padding: 0.625rem;
        display: inline-block;
        font-size: 1.25rem;
        width: 3.75rem;
        height: 3.75rem;
        overflow: hidden;
        margin: 0 0.375rem 0 0;
        text-align: center;
        background: var(--bs-body-bg);
    }

        .icon-demo li:hover {
            -webkit-transform: scale(1.4);
            transform: scale(1.4);
        }

pre code.hljs {
    border-radius: 1rem;
}

.show-codes code[class*=language-], .show-codes pre[class*=language-] {
    display: block !important;
}

.container-demo {
    max-width: 100%;
    width: 100%;
}

.bd-example {
    position: relative;
    padding: 1rem 0;
}

.bd-example-row-flex-cols .row {
    min-height: 10rem;
    background-color: rgba(255, 0, 0, 0.1);
}

.bd-example-row .row > .col, .bd-example-row .row > [class^=col-] {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    background-color: rgba(86, 61, 124, 0.15);
    border: 1px solid rgba(86, 61, 124, 0.2);
}

.bd-example-row .row + .row {
    margin-top: 1rem;
}

.bd-highlight {
    background-color: rgba(86, 61, 124, 0.2);
    border: 1px solid rgba(86, 61, 124, 0.2);
}

.demo {
    margin: 0;
}

    .demo > * {
        margin: 0 0.375rem 1rem 0 !important;
    }

    .demo.demo-no-mb > * {
        margin-bottom: 0 !important;
    }

.demo-v-spacing-lg > * + *,
.demo-v-spacing-sm > * + *,
.demo-v-spacing > * + * {
    margin-top: 0.875rem !important;
    margin-bottom: 0 !important;
}

.demo-v-spacing-lg > *, .demo-v-spacing-sm > *, .demo-v-spacing > * {
    margin-bottom: 0 !important;
}

    .demo-v-spacing > * + * {
        margin-top: 1rem !important;
    }

    .demo-v-spacing-lg > * + * {
        margin-top: 1.5rem !important;
    }

.demo-h-spacing > :not(last-child):not(only-child) {
    margin-right: 1rem !important;
}

.frame-heading {
    font-size: 0.8125rem;
    margin-bottom: 1rem;
    color: #a1a1a1;
    font-weight: 500;
}

    .frame-heading small {
        font-size: 0.8125rem;
        margin-bottom: 0.5rem;
    }

.frame-wrap {
    background: inherit;
    padding: 0;
    margin-bottom: 1.5rem;
}

* > .frame-wrap:last-child {
    margin-bottom: 0 !important;
}

.demo-window {
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding-top: 1.4375rem;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
    user-select: none;
}

    .demo-window:before {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        z-index: 3;
        height: 1.4375rem;
        background: #e5e5e5;
    }

    .demo-window:after {
        content: "";
        position: absolute;
        left: 0.625rem;
        background: #ccc;
        top: 0.375rem;
        z-index: 4;
        width: 0.6875rem;
        height: 0.6875rem;
        border-radius: 50%;
    }

    .demo-window .demo-window-content {
        width: 100%;
        background: rgba(255, 255, 255, 0.15);
    }

        .demo-window .demo-window-content img {
            display: block;
            width: 100%;
        }

        .demo-window .demo-window-content:before {
            content: "";
            position: absolute;
            left: 1.625rem;
            background: #ccc;
            top: 0.375rem;
            z-index: 4;
            width: 0.6875rem;
            height: 0.6875rem;
            border-radius: 50%;
        }

        .demo-window .demo-window-content:after {
            content: "";
            position: absolute;
            left: 2.6875rem;
            background: #ccc;
            top: 0.375rem;
            z-index: 4;
            width: 0.6875rem;
            height: 0.6875rem;
            border-radius: 50%;
        }

.button {
    background-color: rgba(var(--primary), 1);
    border: none;
    color: white;
    padding: 0.9375rem 1.25rem;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 1rem;
    cursor: pointer;
    width: 100%;
    font-weight: 500;
    border-radius: 0.625rem;
}

    .button:hover {
        background-color: rgba(var(--primary), 0.9);
    }

    .button:active {
        scale: 0.98;
    }

.info-container {
    padding: 1rem;
    border: 1px dashed var(--bs-info-border-color, rgba(0, 0, 0, 0.1));
    border-radius: 0.625rem;
    margin-bottom: 2rem;
    font-size: 0.875rem;
    background: var(--bs-info-bg, rgba(var(--warning), 0.1));
    color: var(--bs-info-color, var(--bs-body-color));
}

ol {
    margin: 0; /* removes the default margin */
    padding: 0; /* removes the default padding */
    margin-left: 2.5rem; /* adds a left margin of 40px */
}

[data-bs-theme=dark] {
    color-scheme: dark;
    --bs-body-color: #dee2e6;
    --bs-body-color-rgb: 222, 226, 230;
    --bs-body-bg: #212529;
    --bs-body-bg-rgb: 33, 37, 41;
    --bs-emphasis-color: #fff;
    --bs-emphasis-color-rgb: 255, 255, 255;
    --bs-secondary-color: rgba(222, 226, 230, 0.75);
    --bs-secondary-color-rgb: 222, 226, 230;
    --bs-secondary-bg: #343a40;
    --bs-secondary-bg-rgb: 52, 58, 64;
    --bs-tertiary-color: rgba(222, 226, 230, 0.5);
    --bs-tertiary-color-rgb: 222, 226, 230;
    --bs-tertiary-bg: #2b3035;
    --bs-tertiary-bg-rgb: 43, 48, 53;
    --bs-primary-text-emphasis: #b8a6d3;
    --bs-secondary-text-emphasis: #a7acb1;
    --bs-success-text-emphasis: #77dfd4;
    --bs-info-text-emphasis: #7ac0f8;
    --bs-warning-text-emphasis: #ffda8d;
    --bs-danger-text-emphasis: #fe88bf;
    --bs-light-text-emphasis: #f8f9fa;
    --bs-dark-text-emphasis: #dee2e6;
    --bs-primary-bg-subtle: #1b1524;
    --bs-secondary-bg-subtle: #161719;
    --bs-success-bg-subtle: #062825;
    --bs-info-bg-subtle: #071e31;
    --bs-warning-bg-subtle: #33270d;
    --bs-danger-bg-subtle: #330b1e;
    --bs-light-bg-subtle: #343a40;
    --bs-dark-bg-subtle: #1a1d20;
    --bs-primary-border-subtle: #52406d;
    --bs-secondary-border-subtle: #41464b;
    --bs-success-border-subtle: #11796e;
    --bs-info-border-subtle: #145a92;
    --bs-warning-border-subtle: #997427;
    --bs-danger-border-subtle: #982259;
    --bs-light-border-subtle: #495057;
    --bs-dark-border-subtle: #343a40;
    --bs-border-color: #495057;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
    --bs-headings-color: inherit;
    --bs-link-color: #b8a6d3;
    --bs-link-hover-color: #c6b8dc;
    --bs-code-color: #a7acb1;
    --bs-mark-color: #dee2e6;
    --bs-mark-bg: #ffda6a;
    --bs-form-select-indicator-color: #dee2e6;
    --bs-form-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>");
    --bs-form-switch-color: rgba(255, 255, 255, 0.25);
    --bs-form-switch-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='rgba(255, 255, 255, 0.25)'/></svg>");
    --bs-form-valid-color: #75b798;
    --bs-form-valid-border-color: #75b798;
    --bs-form-invalid-color: #ea868f;
    --bs-form-invalid-border-color: #ea868f;
    --bs-accordion-icon-color: #b8a6d3;
    --bs-accordion-icon-active-color: #b8a6d3;
    --bs-accordion-button-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#b8a6d3'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>");
    --bs-accordion-button-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#b8a6d3'><path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/></svg>");
    --bs-border-color: #495057;
    --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
    --app-nav-link-color: #adb5bd;
    --app-nav-link-hover-color: #59adff;
    --app-nav-link-active-color: #fff;
    --app-nav-title-color: #6c757d;
    --app-nav-border-color: #495057;
    --app-nav-item-hover-bg: rgba(255, 255, 255, 0.05);
    --app-nav-item-active-bg: rgba(255, 255, 255, 0.05);
    --app-nav-item-active-indicator: rgba(255, 255, 255, 0.9);
    --app-nav-collapse-sign-color: var(--app-nav-link-color);
    --app-header-background: #272b30;
    --app-nav-background: var(--app-header-background);
    --app-drawer-background: var(--app-header-background);
    --app-layout-border-color: var(--bs-border-color);
    --app-content-background: #363c41;
    --app-panel-bg: var(--app-header-background);
    --app-panel-border-color: var(--bs-border-color);
    --app-panel-border-bottom: var(--bs-border-color);
    --panel-tag-background: rgb(43 68 62);
    --panel-drag-bg: var(--app-content-background);
    --bs-input-bg: #2b3035;
    --bs-input-border-color: #495057;
    --bs-input-color: var(--bs-body-color);
    --bs-input-focus-bg: #2b3035;
    --bs-input-focus-border-color: #86b7fe;
    --bs-input-focus-color: var(--bs-emphasis-color);
    --app-scrollbar-bg: var(--bs-tertiary-bg);
    --app-scrollbar-thumb: var(--bs-secondary-bg);
    --app-scrollbar-thumb-hover: var(--bs-border-color);
    --app-card-bg: var(--bs-tertiary-bg);
    --app-dropdown-bg: var(--bs-tertiary-bg);
    --app-dropdown-border-color: var(--bs-border-color);
    --app-dropdown-link-color: var(--bs-body-color);
    --app-dropdown-link-hover-bg: var(--bs-secondary-bg);
    --app-dropdown-link-hover-color: var(--bs-emphasis-color);
    --app-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.25);
    --app-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
    --app-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.35);
    --page-breadcrumbs-text-shadow: #000;
    --page-subheader-text-shadow: #000;
    --page-subheader-color: var(--bs-emphasis-color);
    --bs-info-bg: rgb(69 59 31);
    --bs-info-border-color: rgb(147 126 70);
    --btn-system-bg-opacity: 0.07;
    --collapse-icon-border: rgba(255, 255, 255, 0.3);
    --collapse-icon-border-hover: rgba(var(--primary), 0.8);
    --collapse-icon-width: 2.5rem;
    --collapse-icon-height: 1.8rem;
    --bs-link-color-rgb: 110, 168, 254;
    --bs-link-hover-color-rgb: 139, 185, 254;
}

    [data-bs-theme=dark] .dropdown-menu {
        --bs-dropdown-link-hover-color: var(--app-nav-link-hover-color);
    }

    [data-bs-theme=dark] #panelDeleteModal .modal-content {
        border-color: var(--bs-border-color);
    }

    [data-bs-theme=dark] .grid-background {
        --background-color: #333333;
        --background-image-color: 255, 255, 255;
    }

    [data-bs-theme=dark] .grid-background-dark {
        --background-color: #ffffff;
        --background-image-color: 0, 0, 0;
    }

    [data-bs-theme=dark] .form-check-input {
        --bs-form-check-bg: #727374;
    }

    [data-bs-theme=dark] .pagination {
        --bs-pagination-focus-color: var(--bs-emphasis-color);
        --bs-pagination-color: var(--bs-emphasis-color);
    }

    [data-bs-theme=dark] .app-logo::before {
        background-color: var(--bs-body-bg);
    }

    [data-bs-theme=dark] .app-logo > svg {
        --logo-color: var(--primary-500);
        color: rgb(225, 227, 229);
    }

    [data-bs-theme=dark] .card {
        --bs-card-bg: var(--app-panel-bg);
    }

    [data-bs-theme=dark] .dropdown-menu {
        --bs-dropdown-bg: #373b3f;
        border: 1px solid var(--bs-border-color);
    }

    [data-bs-theme=dark] .accordion-button {
        --bs-accordion-active-bg: rgba(var(--white), 0.04);
    }

        [data-bs-theme=dark] .accordion-button::after {
            filter: invert(90%) hue-rotate(180deg) brightness(1.2);
        }

    [data-bs-theme=dark] .nav-tabs {
        --bs-nav-tabs-link-active-bg: var(--app-panel-bg);
        --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) transparent;
    }

    [data-bs-theme=dark] .tooltip {
        --bs-tooltip-color: #fff;
    }

    [data-bs-theme=dark] .modal-content {
        --bs-modal-bg: #373b3f;
        --bs-modal-border-color: var(--bs-border-color);
        --bs-modal-header-color: #fff;
    }

    [data-bs-theme=dark] .inverse-color {
        filter: invert(90%) hue-rotate(180deg) brightness(1.2);
    }

    [data-bs-theme=dark] .popover:not([class*=primary-], [class*=secondary-], [class*=success-], [class*=danger-], [class*=warning-], [class*=info-], [class*=dark-], [class*=light-]) {
        --bs-popover-border-color: rgba(0, 0, 0, 0.5);
        --bs-popover-header-color: var(--bs-light);
        --bs-popover-bg: rgba(0, 0, 0, 0.5);
        --bs-popover-arrow-border: rgba(0, 0, 0, 0.5);
    }

    [data-bs-theme=dark] .btn-outline-secondary {
        --bs-btn-color: var(--bs-body-color);
    }

    [data-bs-theme=dark] .btn-default {
        --btn-background-color: var(--bs-gray-300);
        --btn-default-bg-top: rgba(var(--bs-body-bg-rgb), 0.85);
        --btn-default-bg-bottom: rgba(var(--bs-body-bg-rgb), 1);
        --btn-border-color: var(--fusion-700);
        --btn-hover-border-color: var(--fusion-900);
        --btn-color: rgba(var(--bs-light-rgb), 0.85);
        --btn-hover-color: rgba(var(--bs-light-rgb), 1);
        --btn-focus-color: rgba(var(--bs-light-rgb), 1);
    }

    [data-bs-theme=dark] .k-grid .k-grid-header .k-table-th {
        --app-body-color: #000;
    }

.k-grid .k-grid-header .k-table-th {
    background: var(--app-body-color) !important;
}

.set-rtl {
    --direction: rtl;
    direction: var(--direction);
}

.Theme-button {
    margin-bottom: 2px !important;
}

.modal-header {
    background-color: var(--app-body-color) !important;
    /*background-color: var(--primary-500) !important;*/
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
}

[data-bs-theme=dark] .modal-header {
    background-color: var(--bs-primary-bg-subtle) !important;
}

.modal-header .modal-title {
    color: white;
}

.modal-header .btn-close {
    filter: invert(1);
}

[data-bs-theme=dark] .modal-header .btn-close {
    filter: invert(0.8);
}

.modal-footer {
    background-color: var(--app-body-color);
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
}

[data-bs-theme=dark] .modal-footer {
    background-color: var(--bs-tertiary-bg);
}

.modal-footer .btn-primary, .modal-footer .Theme-button {
    background-color: var(--app-body-color);
    /*background-color: var(--primary-500);*/
}

[data-bs-theme=dark] .modal-footer .btn-primary, [data-bs-theme=dark] .modal-footer .Theme-button {
    background-color: var(--bs-primary-border-subtle);
}

.modal-footer .btn-secondary {
    background-color: var(--secondary-500);
}

[data-bs-theme=dark] .modal-footer .btn-secondary {
    background-color: var(--bs-secondary-bg);
}

.tabs-container {
    position: relative;
    width: 100%;
}

    .tabs-container input[name=tabs]:checked + .tabs-label {
        color: var(--app-nav-link-active-color, #256faa);
        /*border: 1px solid var(--app-nav-border-color, rgba(0, 0, 0, 0.07));*/
        border-top: 3px solid var(--app-body-color);
        border-left: 3px solid var(--app-body-color);
        border-right: 3px solid var(--app-body-color);
        position: relative;
        z-index: 2;
    }

    .tabs-container input[name=tabs] {
        display: none;
    }

    .tabs-container .tabs-labels-wrapper {
        margin-left: 10px;
        position: relative;
        display: flex;
        align-items: center;
        width: 100%;
    }

    .tabs-container .tabs-inner {
        padding-left: 12px;
        display: flex;
        flex: 1;
        overflow-x: auto;
        scroll-behavior: smooth;
        -ms-overflow-style: none;
        scrollbar-width: none;
        white-space: nowrap;
    }

        .tabs-container .tabs-inner::-webkit-scrollbar {
            display: none;
        }

    .tabs-container .tabs-label {
        display: inline-flex;
        padding: 2px 10px;
        font-weight: 600;
        text-align: center;
        color: var(--page-subheader-color, var(--bs-body-color));
        transition: all 0.2s ease;
        flex: 0 0 auto;
        margin: 0;
        border: 1px solid transparent;
        font-family: var(--font-family);
        border-radius: 5px 5px 0 0;
    }

        .tabs-container .tabs-label i {
            display: none;
        }

[data-bs-theme=light] .tabs-container .tabs-label:hover {
    color: var(--app-nav-link-hover-color, #256faa);
    cursor: pointer;
}

[data-bs-theme=light] input[name=tabs]:checked + .tabs-container .tabs-label {
    color: var(--app-nav-link-active-color, #256faa);
    border: 1px solid var(--app-nav-border-color, rgba(0, 0, 0, 0.07));
    border-top: 2px solid rgba(var(--primary), 1);
    border-bottom: 1px solid var(--bs-white);
    background-color: var(--bs-white);
}

[data-bs-theme=dark] .tabs-container .tabs-label:hover {
    color: var(--app-nav-link-hover-color, #59adff);
    cursor: pointer;
}

[data-bs-theme=dark] input[name=tabs]:checked + .tabs-container .tabs-label {
    color: var(--app-nav-link-active-color, #fff);
    border: 1px solid var(--app-nav-border-color, #495057);
    border-top: 2px solid rgba(var(--primary), 1);
    border-bottom: 1px solid var(--bs-tertiary-bg);
    background-color: var(--bs-tertiary-bg);
}

.tabs-container .tabs-scroll-left,
.tabs-container .tabs-scroll-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: var(--bs-body-bg);
    border-radius: 50%;
    width: 29px;
    height: 29px;
    line-height: 22px;
    text-align: center;
    font-size: 50px;
    font-weight: bold;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    z-index: 5;
    color: var(--page-subheader-color, var(--bs-body-color));
    user-select: none;
    display: none;
}

.tabs-container .tabs-scroll-left {
    left: -9px;
}

.tabs-container .tabs-scroll-right {
    right: 7px;
}

.tabs-container.overflowing .tabs-scroll-left,
.tabs-container.overflowing .tabs-scroll-right {
    display: block;
}

.tabs-container .tabs-scroll-disabled {
    opacity: 0.3;
    pointer-events: none;
}

.tabs-container .tab-content section {
    display: none;
    border-top: 3px solid var(--app-body-color);
}

.button-group {
    padding: 7px 0px 7px 0;
}

.sub-tabs-container .sub-tab-panel {
    display: none;
    border-top: none !important;
}

.sub-tabs-container {
    margin-top: 20px;
}

.sub-tab-content {
    position: relative;
}

    /* Hide radio buttons */
    .sub-tab-content input[type="radio"] {
        display: none;
    }

/* Tab labels */
.sub-tabs-label {
    display: inline-block;
    padding: 10px 20px;
    background: #e0e0e0;
    margin-right: 5px;
    cursor: pointer;
    border-radius: 8px 8px 0 0;
    font-weight: bold;
    color: #333;
    transition: all 0.3s ease;
}

/* Tab content panels */
.sub-tab-panel {
    display: none;
    background: transparent;
    border-radius: 0 4px 4px 4px;
}

/* Show selected tab's content */
#subtab1:checked ~ #subcontent1,
#subtab2:checked ~ #subcontent2 {
    display: block;
}

/* Active tab style */
#subtab1:checked + label,
#subtab2:checked + label {
    background: var(--app-body-color);
    color: white;
    border-bottom: 1px solid #fff;
}

.k-input, .k-picker {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
    font-family: var(--font-family) !important;
    padding: 0 !important;
}

/*Kendo */
/* Kendo Grid Styles */
.k-grid {
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
    font-family: var(--font-family) !important;
    border-style: solid;
    border-width: 0;
}

[data-bs-theme=light] .k-header {
    background-color: var(--dark-400) !important;
    color: white !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme=light] .k-grid-header {
    background-color: var(--app-body-color) !important;
    color: white important;
}

.k-grid-content {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
    font-family: var(--font-family) !important;
}

.k-table, .k-data-table {
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
}

/* Pager Styles */
.k-pager-wrap {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
}

.k-pager {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
    font-family: var(--font-family) !important;
}

.k-filter-row {
    background-color: var(--bs-body-bg) !important;
}

.k-pager-numbers-wrap,
.k-pager-info,
.k-pager-info .k-label {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
}

.k-pager-nav,
.k-pager-numbers .k-link,
.k-pager-numbers .k-state-selected {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
}

    .k-pager-nav:hover,
    .k-pager-numbers .k-link:hover,
    .k-pager-numbers .k-state-selected:hover {
        background-color: rgba(var(--bs-success-rgb), 0.15) !important;
    }

.k-pager-numbers .k-state-selected {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
}

/* Dropdown Styles */
.k-pager-sizes .k-dropdown,
.k-pager-sizes .k-dropdown .k-input-inner {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
}

    .k-pager-sizes .k-dropdown:hover,
    .k-pager-sizes .k-dropdown .k-input-inner:hover {
        background-color: rgba(var(--bs-success-rgb), 0.15) !important;
    }

/* Refresh Button */
.k-pager-refresh {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
}

    .k-pager-refresh:hover {
        background-color: var(--bs-body-bg) !important;
    }

/* Picker Styles */
.k-picker-solid,
.k-picker-solid.k-hover {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
}

/* Button Styles */
.k-button-flat-primary {
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
}

    .k-button-flat-primary:hover {
        background-color: var(--bs-body-bg) !important;
    }

.k-grid-norecords-template {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
}

[data-bs-theme=dark] .k-header {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
}

[data-bs-theme=dark] .k-grid-header {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
    font-family: var(--font-family) !important;
    border-style: solid;
    border-width: 0;
}

[data-bs-theme="dark"] .k-grid .k-table-tbody > .k-table-row:not(.k-detail-row):hover:not(.highlight-row),
[data-bs-theme="dark"] .k-grid .k-table-tbody > .k-table-row:not(.k-detail-row).k-hover:not(.highlight-row) {
    background-color: rgba(var(--bs-primary-rgb), 0.14) !important;
}

[data-bs-theme=dark] .k-grid .k-table-row.k-table-alt-row:not(.highlight-row) {
    background-color: rgba(var(--bs-emphasis-color-rgb), 0.05) !important;
}

/* List Styles */
[data-bs-theme=dark] .k-list-container,
[data-bs-theme=dark] .k-list {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
}

    [data-bs-theme=dark] .k-list .k-item:hover {
        background-color: var(--bs-secondary-bg) !important;
    }

/*select2*/
.select2-container--default .select2-selection--single {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
    font-family: var(--font-family) !important;
}

.select2-dropdown {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
    border-color: var(--bs-border-color) !important;
    font-family: var(--font-family) !important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: rgba(var(--primary), 0.9) !important;
}

.select2-container--default .select2-selection--multiple {
    background-color: var(--bs-body-bg) !important;
    color: var(--page-subheader-color, var(--bs-body-color)) !important;
}

    .select2-container--classic .select2-selection--multiple .select2-selection__choice, .select2-container--default .select2-selection--multiple .select2-selection__choice, .select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
        background-color: transparent;
        border-color: #2cabe3;
        color: var(--page-subheader-color, var(--bs-body-color)) !important;
    }

    .select2-container--default .select2-selection--multiple .select2-selection__choice {
        background-color: var(--bs-body-bg) !important;
        color: var(--page-subheader-color, var(--bs-body-color)) !important;
    }

/*Custome Password */
input[type=password1 i] {
    -webkit-text-security: disc !important;
    padding-block: 1px;
    padding-inline: 2px;
}

.custompassword {
    -webkit-text-security: disc !important;
}

/*Icon*/
.Theme-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: var(--menu-icon-size);
    height: var(--menu-icon-size);
    font-size: 1.1rem !important;
    color: var(--bs-success);
    border-radius: var(--border-radius-uniform);
    transition: var(--transition);
    cursor: pointer;
}

    .Theme-icon:hover {
        color: var(--app-nav-link-hover-color);
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
    }

    .Theme-icon:active, .Theme-icon.active {
        color: var(--app-nav-link-active-color);
        transform: scale(0.96);
        box-shadow: inset 0 0 0 2px rgba(var(--primary), 0.2);
    }

.Theme-icon--sm {
    width: calc(var(--menu-icon-size) * 0.75);
    height: calc(var(--menu-icon-size) * 0.75);
    font-size: 0.85rem;
    border-radius: var(--border-radius-uniform-sm);
}

.Theme-icon--lg {
    width: calc(var(--menu-icon-size) * 1.5);
    height: calc(var(--menu-icon-size) * 1.5);
    font-size: 1.3rem;
    border-radius: var(--border-radius-uniform);
}

.Theme-icon--circle {
    border-radius: 50%;
}

.Theme-icon--rounded {
    border-radius: var(--border-radius-uniform-sm);
}

/*required field*/
.requiredField {
    color: red;
    vertical-align: top;
    font-size: large;
    font-weight: 800;
}

.text-red {
    color: red;
    vertical-align: top;
    font-size: small;
    font-weight: 800;
}
/*# sourceMappingURL=smartapp.css.map */

[data-bs-theme="dark"] .Theme-button {
    background-color: var(--app-nav-background) !important;
    color: white !important;
}

[data-bs-theme="dark"] input::placeholder {
    color: var(--bs-body-color) !important;
    opacity: 0.4 !important;
}

[data-bs-theme="dark"] span.select2 span[role="textbox"], [data-bs-theme="dark"] select.form-select {
    color: var(--bs-body-color) !important
}

[data-bs-theme="dark"] a.k-svg-i-caret-alt-down, [data-bs-theme="dark"] a.k-svg-i-caret-alt-right {
    color: white !important;
}

.app-logo > a {
    margin-top: -15px !important;
    margin-left: -5px !important;
    z-index: 2;
    width: var(--logo-width);
    height: var(--logo-height);
    min-width: var(--logo-width);
}

/*html.set-nav-collapsed button[data-class="set-nav-minified"] {
    display: none !important;
}*/
