:root {
    --bs-blue: #0d6efd;
    --bs-indigo: #6610f2;
    --bs-purple: #6f42c1;
    --bs-pink: #d63384;
    --bs-red: #dc3545;
    --bs-orange: #fd7e14;
    --bs-yellow: #ffc107;
    --bs-green: #198754;
    --bs-teal: #20c997;
    --bs-cyan: #0dcaf0;
    --bs-black: #000;
    --bs-white: #FEFEFE;
    --bs-gray: #6c757d;
    --bs-gray-90: #f8f8f8;
    --bs-gray-dark: #343a40;
    --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-primary: #3EBFDD;
    --bs-primary-hover: #3CB3CF;
    --bs-primary-light: #C4E3F9;
    --bs-secondary: #2B2B2B;
    --bs-secondary-hover: #4D5357;
    --bs-secondary-80: #808285;
    --bs-success: #78AF45;
    --bs-success-hover: #659638;
    --bs-info: #0C8CE9;
    --bs-info-hover: #0B7BCD;
    --bs-warning: #FFD23F;
    --bs-warning-hover: #F9CA30;
    --bs-danger: #E86969;
    --bs-danger-hover: #D15555;
    --bs-light: #FEFEFE;
    --bs-light-hover: #CBCBCB;
    --bs-dark: #2B2B2B;
    --bs-dark-hover: #4D5357;
    --bs-bg-70: #303C4A;


    --bs-primary-rgb: 13, 110, 253;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-success-rgb: 25, 135, 84;
    --bs-info-rgb: 13, 202, 240;
    --bs-warning-rgb: 255, 193, 7;
    --bs-danger-rgb: 220, 53, 69;
    --bs-light-rgb: 62, 191, 221;
    --bs-dark-rgb: 33, 37, 41;
    --bs-white-rgb: 255, 255, 255;
    --bs-black-rgb: 0, 0, 0;

    --bs-body-color-rgb: 33, 37, 41;
    --bs-body-bg-rgb: 255, 255, 255;
    --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Poppins, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
    --bs-body-font-family: var(--bs-font-sans-serif);
    --bs-body-font-size: 1rem;
    --bs-body-font-weight: 400;
    --bs-body-line-height: 1.5;
    --bs-body-color: #4D5357;
    --bs-body-bg: #fff;

    --bs-border-width: 1px;
    --bs-border-style: solid;
    --bs-border-color: #dee2e6;
    --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
    --bs-border-radius: 0.375rem;
    --bs-border-radius-sm: 0.25rem;
    --bs-border-radius-lg: 0.5rem;
    --bs-border-radius-xl: 1rem;
    --bs-border-radius-2xl: 2rem;
    --bs-border-radius-pill: 50rem;

    --bs-link-color: #3EBFDD;
    --bs-link-hover-color: #FFB21C;
    --bs-code-color: #d63384;
    --bs-highlight-bg: #fff3cd;

    --bg-rh: #E8F3FD;
    --bg-light-100: #EEF6FE;

    --font-main: 'Poppins', sans-serif;
}

body {
    font-family: 'Nunito-Regular', sans-serif;
    background-color: var(--bg-rh);
}

h1, .h1, h2, .h2 {
    font-family: Poppins, sans-serif;
    color: var(--bs-primary) !important;
}

em {
    font-family: 'Nunito-SemiBoldItalic', sans-serif;
}


/* header */
.vertical-menu {
    border-radius: 20px !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.08);
}

#page-topbar {
    background-color: var(--bg-rh) !important;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.header-item .top-icon i {
    border: none !important;

}

.navbar-brand-box {
    width: 218px;
}

/*MENU*/
#sidebar-menu ul li a:hover {
    color: var(--bs-primary-hover);
}

#sidebar-menu ul li a:hover i {
    color: var(--bs-primary-hover);
}

/*#sidebar-menu .has-arrow::after,*/
/*#sidebar-menu a.has-arrow::after,*/
/*#sidebar-menu .menu-arrow::before,*/
/*#sidebar-menu .menu-arrow::after{*/
/*    content:"\F0140" !important;*/
/*    font-family:"Material Design Icons" !important;*/
/*    background-image:none !important;*/
/*    display:inline-block !important;*/
/*    border:0;*/
/*    transform: none;*/
/*}*/

/* seta padrão */
#sidebar-menu .has-arrow::after {
    content: "\F0140" !important; /* mdi-chevron-down */
    font-family: "Material Design Icons" !important;
    display: inline-block !important;
    transition: transform .2s;
    border: 0;

}

/* quando expandido, gira a seta */

#sidebar-menu a.has-arrow::after {
    content: "\F0140" !important; /* mdi-chevron-down */
    font-family: "Material Design Icons" !important;

    position: absolute;
    right: 0.6rem;
    top: 50%;

    width: 0.9rem; /* box fixo evita “andar” */
    height: 0.9rem;
    line-height: 0.9rem;

    display: inline-block;
    text-align: center;

    font-size: .9rem;

    transform: translateY(-50%) rotate(0deg);
    transform-origin: 50% 50%;

    transition: transform .2s ease;
    border: 0 !important; /* se você precisar disso para evitar o quadrado */
}

/* aberto */
#sidebar-menu a.has-arrow[aria-expanded="true"]::after,
#sidebar-menu .mm-active > a.has-arrow::after {
    transform: translateY(-50%) rotate(-180deg);
}


/* BORDY */
.dropdown-menu {
    border-radius: 10px;

}

.page-content {
    padding: 72px 12px 60px 12px !important;
}

.page-title-box {

    padding: 0;

    h4 {

        font-size: 25px;

        text-transform: uppercase;

        font-weight: 600;

    }

}


.page-title {
    color: var(--bs-primary);
    font-weight: bold;
    margin-bottom: 0;

}

.page-title-back {
    border-radius: 24px;
    padding: 8px 12px;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.05);
    color: var(--bs-dark-hover);
    background-color: var(--bs-gray-90);

}

.page-title-back:hover {
    color: var(--bs-secondary-80);
}

@media (max-width: 575.98px) {
    .page-title-back span {
        display: none;
    }
}

.card {

    border-radius: var(--app-radius-4);
    box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.05);
    border: 0;

}

.card-body {
    padding: 1.5rem;
}

.card-footer {
    padding: 0;
    background-color: #fefefe;
    border-radius: 24px;
    margin: 0;
}

.alert {
    border: 1px solid;
    margin-bottom: 0;
    border-radius: 8px;
}

.alert-light {
    border-color: var(--bs-light-hover);
    background-color: var(--bs-light);
}

.form-control {
    background-color: var(--bs-gray-90);
    border-radius: 4px;
}


/* BOTÃO */
.btn-primary {
    color: var(--bs-white);
    background-color: var(--bs-primary);
    border-color: var(--bs-primary-hover);
    height: 32px;
    display: inline-flex;
    align-items: center;
}

.mx--03 {
    margin-left: -0.3rem !important;
    margin-right: -0.3rem !important;
}

.btn-primary:hover {
    color: var(--bs-white);
    background-color: var(--bs-primary-hover);
    border-color: var(--bs-primary-hover);
}

.btn-check:focus + .btn-primary, .btn-primary:focus {
    color: var(--bs-white);
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    -webkit-box-shadow: 0 0 0 0.15rem rgba(113, 126, 204, 0.5);
    box-shadow: 0 0 0 0.15rem rgba(113, 126, 204, 0.5);
}

.btn-check:checked + .btn-primary, .btn-check:active + .btn-primary, .btn-primary:active, .btn-primary.active, .show > .btn-primary.dropdown-toggle {
    color: var(--bs-white);
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-check:checked + .btn-primary:focus, .btn-check:active + .btn-primary:focus, .btn-primary:active:focus, .btn-primary.active:focus, .show > .btn-primary.dropdown-toggle:focus {
    -webkit-box-shadow: 0 0 0 0.15rem rgba(var(--bs-primary-rgb), 0.5);
    box-shadow: 0 0 0 0.15rem rgba(13, 110, 253, 0.5);
}

.btn-primary:disabled, .btn-primary.disabled {
    color: var(--bs-white);
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.btn-rounded {
    border-radius: 24px !important;;
}

.btn-light {
    background-color: var(--bs-light);
    border: 1px solid var(--bs-light-hover);
}

.btn-close {
    color: var(--bs-secondary-80) ;

}
/* LINK */


.link-primary {
    color: var(--bs-primary);
}

.link-primary:hover, .link-primary:focus {
    color: var(--bs-primary-hover);
}

.link-secondary {
    color: var(--bs-secondary);
}

.link-secondary:hover, .link-secondary:focus {
    color: var(--bs-secondary-hover);
}

.link-success {
    color: var(--bs-success);
}

.link-success:hover, .link-success:focus {
    color: var(--bs-success-hover);
}

.link-info {
    color: var(--bs-info);
}

.link-info:hover, .link-info:focus {
    color: var(--bs-info-hover);
}

.link-warning {
    color: var(--bs-warning);
}

.link-warning:hover, .link-warning:focus {
    color: var(--bs-warning-hover);
}

.link-danger {
    color: var(--bs-danger);
}

.link-danger:hover, .link-danger:focus {
    color: var(--bs-danger-hover);
}

.link-light {
    color: var(--bs-light);
}

.link-light:hover, .link-light:focus {
    color: var(--bs-light-hover);
}

.link-dark {
    color: var(--bs-dark);
}

.link-dark:hover, .link-dark:focus {
    color: var(--bs-dark-hover);
}

.link-contrast {
    color: var(--bs-link-color);
    cursor: pointer;
}

.link-contrast:hover {
    color: var(--bs-link-hover-color);
    cursor: pointer;
}

.link-muted {
    color: var(--bs-secondary);
    fill: #99abb4;
    cursor: pointer;
}

.link-muted:hover {
    color: var(--bs-secondary-80);
    fill: #6c757d;
    cursor: pointer;
}

/* rtl:end:remove */
.text-primary {
    color: var(--bs-primary) !important;
}

.text-secondary {
    color: var(--bs-secondary) !important;
}

.text-success {
    color: var(--bs-success) !important;
}

.text-info {
    color: var(--bs-info) !important;
}

.text-warning {
    color: var(--bs-warning) !important;
}

.text-danger {
    color: var(--bs-danger) !important;
}

.text-light {
    color: var(--bs-light) !important;
}

.text-light-hover {
    color: var(--bs-light-hover);
}

.text-dark {
    color: var(--bs-dark) !important;
}

.text-white {
    color: var(--bs-white) !important;
}

.text-body {
    color: var(--bs-secondary-hover) !important;
}

.text-muted {
    color: var(--bs-secondary-80) !important;
}

.text-black-50 {
    color: rgba(0, 0, 0, 0.5) !important;
}

.text-white-50 {
    color: rgba(255, 255, 255, 0.5) !important;
}

.text-reset {
    color: inherit !important;
}

.bg-primary {
    background-color: var(--bs-primary) ;
}

.bg-primary-light {
    background-color: var(--bs-primary-light);
}

.bg-secondary {
    background-color: var(--bs-secondary) !important;
}

.bg-success {
    background-color: var(--bs-success) !important;
}

.bg-info {
    background-color: var(--bs-info) !important;
}

.bg-warning {
    background-color: var(--bs-warning) !important;
}

.bg-danger {
    background-color: var(--bs-danger) !important;
}

.bg-light {
    background-color: var(--bs-light) !important;
}

.bg-dark {
    background-color: var(--bs-dark) !important;
}

.bg-body {
    background-color: var(--bs-secondary) !important;
}

.bg-white {
    background-color: var(--bs-white) !important;
}

.bg-transparent {
    background-color: transparent !important;
}

.bg-gradient {
    background-image: var(--bs-gradient) !important;
}

.bg-light-100 {
    background-color: var(--bg-light-100);
}

.bg-badge {
    background-color: var(--bg-light-100) ;
    color: var(--bs-primary) !important;
    border: 1px solid var(--bs-primary);
    font-size: medium;
}


.list-group-striped:nth-of-type(odd) {
    background-color: var(--bs-white);
}

.list-group-striped:nth-of-type(even) {
    background-color: var(--bs-gray-500);
}


.catalog {
    border: 1px solid var(--bs-light-hover);
    border-radius: 12px;
}


.catalog-head {
    font-weight: bold;
    background-color: #f8f9fa;
    padding: .5rem;
}


.catalog-striped {
    padding: 16px;
}

.catalog-striped:first-of-type {
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.catalog-striped:last-of-type {
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}

.catalog-hover:hover {
    background-color: var(--bg-light-100) !important;
    color: var(--bs-black) !important;
}

.catalog-striped:nth-child(odd) {
    background-color: var(--bs-white);
}

.catalog-striped:nth-child(even) {
    background-color: var(--bs-gray-90);
}


.custom-select .form-check.form-switch {
    padding-left: 0 !important;
    margin: 0 !important;
    min-height: auto;
}


.custom-select .form-check-input {
    margin-left: 0 !important;
    float: none !important;
}


.custom-select {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}


.list-group-item-primary {
    color: #fff !important;
    background-color: var(--bs-primary) !important;
}

.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {
    color: #fff !important;
    background-color: var(--bs-primary-hover) !important;
}

.list-group-item-primary.list-group-item-action.active {
    color: #fff !important;
    background-color: var(--bs-primary-hover) !important;
    border-color: var(--bs-primary) !important;
}

.list-group-item.active {
    z-index: 2;
    color: #fff !important;
    background-color: var(--bs-primary-hover) !important;
    border-color: var(--bs-primary) !important;
}


.form-check-input:checked {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
}

.search-bar {
    position: relative;
    width: 30%;
}

.search-bar input {
    width: 100%;
    height: 32px;
    padding-left: 40px;
    border-radius: 24px;
    border: 1px solid var(--bs-light-hover);
    background-color: var(--bs-gray-90);
}

.search-bar .mdi {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #adb5bd;
    font-size: 1.1rem;
    pointer-events: none;
}

.page-link {
    background-color: var(--bg-light-100) !important;
    border: 1px solid var(--bs-light-hover) !important;
    color: var(--bs-primary) !important;
    align-items: center;
    display: flex;
}

.page-arrow {
    background-color: transparent !important;
    border: none !important;
    color: var(--bs-secondary-hover) !important;

}

/* Página atual */
.page-number.active .page-link {
    background-color: var(--bg-light-100); /* azul */
    color: var(--bs-white);
    font-weight: 600;
    border: none;
}

/* Páginas "apagadas" */
.page-number:not(.active) .page-link {
    background: transparent !important;
    color: var(--bs-primary);
    border: none !important;

}

.empresa-dropdown-wrapper {
    position: relative;
    width: 350px;
}

.empresa-dropdown-box {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #FEFEFE;
    border: 2px solid #d9d9d9;
    padding: 4px 16px;
    border-radius: 32px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    transition: 0.2s ease;
    color: #808285;
}

.empresa-dropdown-box:hover {
    border-color: #2b4c7e;
}

.empresa-dropdown-box .bi {
    margin-left: auto;
    font-size: 18px;
}

.empresa-dropdown {
    background: #fff;
    border: 2px solid #d9d9d9;
    border-radius: 18px;
    margin-top: 8px;
    padding: 10px;
    position: absolute;
    width: 100%;
    z-index: 500;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.hidden {
    display: none;
}

.empresa-dropdown-search {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f7f7f7;
    border-radius: 18px;
    padding: 10px 14px;
    margin-bottom: 10px;
}

.empresa-dropdown-search input {
    border: none;
    background: transparent;
    width: 100%;
    outline: none;
}

.empresa-dropdown-list {
    max-height: 250px;
    overflow-y: auto;
}

.empresa-option {
    padding: 10px 14px;
    border-radius: 12px;
    cursor: pointer;
    font-size: 15px;
}

.empresa-option:hover {
    background: #e9f1ff;
}

.empresa-option.selected {
    background: #d6e7ff;
    font-weight: 600;
}

/* Seta padrão */
.empresa-dropdown-box i.bi-chevron-down {
    color: #808285; /* cor normal */
    transition: 0.2s ease;
}

/* Seta quando dropdown está aberto */
.empresa-dropdown-box.active i.bi-chevron-down {
    color: #ff9900 !important; /* coloque a cor que quiser */
    transform: rotate(180deg); /* opcional: girar a seta para cima */
}

.dropdown-menu .dropdown-item {
    padding: 6px 8px !important;
    color: var(--bs-secondary-hover) !important;
}

.dropdown-header {
    padding: 6px 8px !important;
    font-size: 14px;
    background-color: var(--bg-light-100);
    color: var(--bs-primary);
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
}

.upload-area {
    border: 1px dashed var(--bs-primary);
    color: var(--bs-primary);
    padding: 5px;
    width: 100%;
    max-width: 774px;
    border-radius: 6px;
    cursor: pointer;
}

.upload-area:hover {
    color: var(--bs-primary-hover);
}

.waves-effect {
    border-radius: 8px;
}


:root {
    /* Escala de radius do projeto */
    --app-radius-0: 0;
    --app-radius-1: 0.25rem;
    --app-radius-2: 0.5rem;
    --app-radius-3: 0.75rem;
    --app-radius-4: 1rem;
    --app-radius-5: 1.5rem;

    /* Se quiser alinhar ao Bootstrap, pode trocar alguns por:
       --app-radius-1: var(--bs-border-radius-sm);
       --app-radius-2: var(--bs-border-radius);
       --app-radius-3: var(--bs-border-radius-lg);
    */
}

/* =========================
   TOP
   ========================= */
.rounded-top-0,
.rounded-top-1,
.rounded-top-2,
.rounded-top-3,
.rounded-top-4,
.rounded-top-5 {
    border-top-left-radius: var(--app-rounded-value) !important;
    border-top-right-radius: var(--app-rounded-value) !important;
}

.rounded-top-0 {
    --app-rounded-value: var(--app-radius-0);
}

.rounded-top-1 {
    --app-rounded-value: var(--app-radius-1);
}

.rounded-top-2 {
    --app-rounded-value: var(--app-radius-2);
}

.rounded-top-3 {
    --app-rounded-value: var(--app-radius-3);
}

.rounded-top-4 {
    --app-rounded-value: var(--app-radius-4);
}

.rounded-top-5 {
    --app-rounded-value: var(--app-radius-5);
}

/* =========================
   BOTTOM
   ========================= */

.rounded-bottom-0,
.rounded-bottom-1,
.rounded-bottom-2,
.rounded-bottom-3,
.rounded-bottom-4,
.rounded-bottom-5 {
    border-bottom-left-radius: var(--app-rounded-value) !important;
    border-bottom-right-radius: var(--app-rounded-value) !important;
}

.rounded-bottom-0 {
    --app-rounded-value: var(--app-radius-0);
}

.rounded-bottom-1 {
    --app-rounded-value: var(--app-radius-1);
}

.rounded-bottom-2 {
    --app-rounded-value: var(--app-radius-2);
}

.rounded-bottom-3 {
    --app-rounded-value: var(--app-radius-3);
}

.rounded-bottom-4 {
    --app-rounded-value: var(--app-radius-4);
}

.rounded-bottom-5 {
    --app-rounded-value: var(--app-radius-5);
}

/* =========================
   START (LTR/RTL friendly)
   ========================= */

.rounded-start-0,
.rounded-start-1,
.rounded-start-2,
.rounded-start-3,
.rounded-start-4,
.rounded-start-5 {
    border-start-start-radius: var(--app-rounded-value) !important;
    border-end-start-radius: var(--app-rounded-value) !important;
}

.rounded-start-0 {
    --app-rounded-value: var(--app-radius-0);
}

.rounded-start-1 {
    --app-rounded-value: var(--app-radius-1);
}

.rounded-start-2 {
    --app-rounded-value: var(--app-radius-2);
}

.rounded-start-3 {
    --app-rounded-value: var(--app-radius-3);
}

.rounded-start-4 {
    --app-rounded-value: var(--app-radius-4);
}

.rounded-start-5 {
    --app-rounded-value: var(--app-radius-5);
}

/* =========================
   END (LTR/RTL friendly)
   ========================= */

.rounded-end-0,
.rounded-end-1,
.rounded-end-2,
.rounded-end-3,
.rounded-end-4,
.rounded-end-5 {
    border-start-end-radius: var(--app-rounded-value) !important;
    border-end-end-radius: var(--app-rounded-value) !important;
}

.rounded-end-0 {
    --app-rounded-value: var(--app-radius-0);
}

.rounded-end-1 {
    --app-rounded-value: var(--app-radius-1);
}

.rounded-end-2 {
    --app-rounded-value: var(--app-radius-2);
}

.rounded-end-3 {
    --app-rounded-value: var(--app-radius-3);
}

.rounded-end-4 {
    --app-rounded-value: var(--app-radius-4);
}

.rounded-end-5 {
    --app-rounded-value: var(--app-radius-5);
}


/* =========================================================
   CENTRAL RH | Scrollbar Custom
   Funciona com:
   1) Native scrollbar (webkit + firefox)
   2) SimpleBar (data-simplebar)
   ========================================================= */

:root {
    /* Scrollbar tokens */
    --app-scroll-size: 12px;
    --app-scroll-radius: 999px;

    --app-scroll-track: rgba(15, 23, 42, 0.06);
    --app-scroll-thumb: rgba(100, 116, 139, 0.55);
    --app-scroll-thumb-hover: rgba(71, 85, 105, 0.8);
    --app-scroll-thumb-active: rgba(51, 65, 85, 0.95);
}

/* Se quiser adaptar ao tema escuro */
body[data-topbar="dark"] {
    --app-scroll-track: rgba(255, 255, 255, 0.08);
    --app-scroll-thumb: rgba(203, 213, 225, 0.35);
    --app-scroll-thumb-hover: rgba(203, 213, 225, 0.55);
    --app-scroll-thumb-active: rgba(241, 245, 249, 0.75);
}

/* =========================================================
   1) Native scrollbar (Chrome, Edge, Safari)
   Aplicação global
   ========================================================= */

*::-webkit-scrollbar {
    width: var(--app-scroll-size);
    height: var(--app-scroll-size);
}

*::-webkit-scrollbar-track {
    background: var(--app-scroll-track);
    border-radius: var(--app-scroll-radius);
}

*::-webkit-scrollbar-thumb {
    background: var(--app-scroll-thumb);
    border-radius: var(--app-scroll-radius);
    border: 2px solid transparent;
    background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:hover {
    background: var(--app-scroll-thumb-hover);
    border: 2px solid transparent;
    background-clip: padding-box;
}

*::-webkit-scrollbar-thumb:active {
    background: var(--app-scroll-thumb-active);
    border: 2px solid transparent;
    background-clip: padding-box;
}

*::-webkit-scrollbar-corner {
    background: transparent;
}

/* =========================================================
   2) Firefox (native)
   ========================================================= */

* {
    scrollbar-width: thin;
    scrollbar-color: var(--app-scroll-thumb) var(--app-scroll-track);
}

/* =========================================================
   3) SimpleBar (quando usar data-simplebar)
   ========================================================= */

/* Track vertical */
.simplebar-track.simplebar-vertical {
    width: var(--app-scroll-size);
    background: transparent;
}

/* Track horizontal */
.simplebar-track.simplebar-horizontal {
    height: var(--app-scroll-size);
    background: transparent;
}

/* Trilho interno visual */
.simplebar-track.simplebar-vertical::before,
.simplebar-track.simplebar-horizontal::before {
    content: "";
    position: absolute;
    inset: 2px;
    border-radius: var(--app-scroll-radius);
    background: var(--app-scroll-track);
    opacity: 0.75;
}

/* Thumb */
.simplebar-scrollbar::before {
    background: var(--app-scroll-thumb) !important;
    border-radius: var(--app-scroll-radius);
    opacity: 1 !important;
}

/* Hover do thumb */
.simplebar-track:hover .simplebar-scrollbar::before,
.simplebar-scrollbar:hover::before {
    background: var(--app-scroll-thumb-hover) !important;
}

/* Estado visível/ativo */
.simplebar-scrollbar.simplebar-visible::before {
    background: var(--app-scroll-thumb) !important;
}

.simplebar-scrollbar.simplebar-visible:hover::before {
    background: var(--app-scroll-thumb-hover) !important;
}

/* Ajuste fino para não “encostar” no conteúdo */
.simplebar-content-wrapper {
    scrollbar-width: none; /* evita dupla barra em alguns cenários */
}

/* =========================================================
   4) Áreas comuns do shell (opcional, recomendado)
   ========================================================= */

/* Modal e offcanvas com scroll interno mais suave */
.modal .modal-body,
.offcanvas .offcanvas-body {
    scroll-behavior: smooth;
}

/* Classe utilitária para containers de scroll custom */
.app-scroll {
    overflow: auto;
}
