/* ++++ CORE ++++ */
    :root,
    [data-bs-theme=light],
    [data-bs-theme=dark] {
        /* --tblr-primary: #078641 !important;
        --tblr-primary-rgb: 7, 134, 65 !important; */
        --tblr-primary: #28a637 !important;
        --tblr-primary-rgb: 38, 166, 55 !important;
        --group-webmovel-secondary: #2074a6 !important;
        --group-webmovel-secondary-rgb: 32, 116, 166 !important;
    }

    .page {
        min-height: 90% !important;
    }

    a {
        color: var(--tblr-primary);
    }
    
    a:hover {
        color: var(--tblr-primary);
        opacity: 0.8 !important;
    }
    
    .breadcrumb a {
        color: var(--tblr-primary);
    }

    #form-login-email, #form-login-passw{
        background-color: #ffffff !important;
    }

    .form-select.disabled, .form-select:disabled {
        color: var(--tblr-secondary);
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
    }

    .form-select:disabled {
        background-color: var(--tblr-bg-surface-secondary) !important;
        opacity: 1;
    }

    .form-control:focus:not(input[type=password]){
        border-color: var(--tblr-primary);
        box-shadow: 0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25) !important;
    }
    
    .form-select:focus {
        border-color: var(--tblr-primary);
        outline: 0;
        box-shadow: 0 0 0 .25rem rgba(var(--tblr-primary-rgb),.25) !important;
    }

    .form-help-webmovel {
        margin: 0px 2px;
        display: inline-flex;
        padding: 11px;
        font-weight: var(--tblr-font-weight-bold);
        align-items: center;
        justify-content: center;
        height: 1.125rem;
        font-size: .75rem;
        color: var(--tblr-muted);
        text-align: center;
        text-decoration: none;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        background: var(--tblr-gray-100);
        border-radius: 9px;
        transition: background-color .3s,color .3s;
    }
    .form-help-webmovel:hover, .form-help-webmovel[aria-describedby] {
        color: #fff;
        background: var(--tblr-primary);
    }

    .optional:after, .form-label.optional:after {
        content: "(Opcional)";
        margin-left: .25rem;
        color: #6c7a91;
    }

    .form-selectgroup-input:disabled + .form-selectgroup-label {
        background-color: var(--tblr-bg-surface-secondary);
        color: var(--tblr-gray-500);
        cursor: not-allowed;
    }

    .form-selectgroup-input:focus+.form-selectgroup-label {
        color: inherit;
    }

    .ti {
        font-size: 18px !important;
    }

    .nav-item .ti {
        font-size: 20px !important;
    }

    .pagination {
        --tblr-pagination-focus-box-shadow: 0 0 0 0.25rem rgb(var(--tblr-primary-rgb) / 25%) !important;
    }

    .page-link:hover {
        color: var(--tblr-white) !important;
    }

    .page-item:not(.active) .page-link:hover {
        color: var(--tblr-primary) !important;
    }

    .page-link:focus {
        color: var(--tblr-white) !important;
    }

    .page-item.previous .page-link:focus {
        color: var(--tblr-primary) !important;
    }

    .page-item.next .page-link:focus {
        color: var(--tblr-primary) !important;
    }

    .btn-close:focus {
        box-shadow: 0 0 0 0.25rem rgb(var(--tblr-primary-rgb) / 25%) !important;
    }

    .btn {
        --tblr-btn-padding-y: 0.3rem !important;
    }

    .bg-primary-lt {
        background-color: rgb(var(--tblr-primary-rgb) / 5%) !important;
    }

    .form-selectgroup-input:focus+.form-selectgroup-label {
        box-shadow: 0 0 0 .25rem rgb(var(--tblr-primary-rgb) / 25%) !important;
    }

    .form-check-input:focus {
        box-shadow: 0 0 0 .25rem rgb(var(--tblr-primary-rgb) / 25%) !important;
    }

    select, input[type="text"]:not([disabled]), input[type="email"]:not([disabled]), input[type="password"]:not([disabled]), input[type="number"]:not([disabled]), 
    input[type="date"]:not([disabled]), input[type="time"]:not([disabled]), input[type="file"]:not([disabled]), input[type="tel"]:not([disabled]), 
    input[type="url"]:not([disabled]), textarea, .form-select {
        background-color: #f8f8f875 !important;
    }

    .filters > .filter_user .select-filter, 
    .filters > .filter_customers .select-filter, 
    .filters > .filter_status .select-filter, 
    .filters > .filter_expire .select-filter {
        padding-top: 0.45rem !important;
        padding-right: 2.25rem !important;
        padding-bottom: 0.45rem !important;
        padding-left: 2.25rem !important;
        background-color: var(--tblr-bg-forms) !important;
    }

    .btn-webmovel {
        background-color: var(--tblr-primary) !important;
    }

    .btn-webmovel:hover {
        background-color: #1a6923 !important;
    }
    
    .border-primary {
        border-color: var(--tblr-primary) !important;
    }
    
    .nav-item.active::after {
        border: 0 solid var(--tblr-primary) !important;
        border-bottom-width: 2px !important;
    }

    .dropdown-item.active, .dropdown-item:active {
        color: var(--tblr-primary);
        text-decoration: none;
        background-color: rgba(var(--tblr-primary-rgb), 0.06);
    }

    .nav-link:focus, .nav-link:hover {
        color: var(--tblr-primary);
        text-decoration: none;
    }

    .card-footer-webmovel {
        border-top: none;
    }

    .webmovel-btn-list {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.3rem !important;
    }

    .font-21 {
        font-size: 1.3125rem !important;
    }

    .notyf-icon{
        font-size: 1.5rem !important;
    }
/* ---- CORE ---- */

/* ++++ LOAD SPINNER ++++ */
#page-loader {
    position: fixed;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background-color: rgba(255,255,255,0.8);
    z-index: 99999;
}

#page-loader::after {
    content: '';
    display: block;
    position: absolute;
    left: 48%; 
    top: 40%;
    width: 40px;
    height: 40px;
    border-style: solid;
    border-color: black;
    border-top-color: transparent;
    border-width: 4px;
    border-radius: 50%;
    -webkit-animation: spin .8s linear infinite;
    animation: spin .8s linear infinite;
}

@-webkit-keyframes spin {
	from { -webkit-transform:rotate(0deg); }
    to { -webkit-transform:rotate(360deg); }
}

@keyframes spin {
	from { transform:rotate(0deg); }
    to { transform:rotate(360deg); }
}
/* ---- LOAD SPINNER ---- */

/* ++++ DATATABLES ++++ */

table.dataTable {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

div.dataTables_wrapper div.dataTables_info {
    padding-top: 0px !important;
}

.dataTable thead th {
    font-size: 0.75rem !important;
    padding: 0.5rem 1rem !important;
}

.dataTable tbody td {
    padding: 0.3rem 1rem !important;
}

.dataTable > tbody {
    border-color: lightgray !important;
}
/* ---- DATATABLES ---- */

/* ++++ TOM SELECT ++++ */
.focus .ts-control {
    border-color: rgb(var(--tblr-primary-rgb) / 50%) !important;
    box-shadow: 0 0 0 0.25rem rgb(var(--tblr-primary-rgb) / 25%) !important;
}

.ts-wrapper.multi .ts-control > div.active {
    background: var(--tblr-primary) !important;
}

.ts-wrapper .item {
    display: block;
}
.ts-wrapper .dropdown-item {
    display: block;
}

.ts-wrapper .item .title {
    display: block;
}
.ts-wrapper .dropdown-item .title {
    display: block;
}

.ts-wrapper .item .url {
    font-size: 12px;
    display: block;
    color: #a0a0a0;
}
.ts-wrapper .dropdown-item .url {
    font-size: 12px;
    display: block;
    color: #a0a0a0;
}

/* ---- TOM SELECT ---- */

/* ++++ TOOLTIP & POPOVER ++++ */
.popover {
    --tblr-popover-max-width: 400px !important;
}
.tooltip {
    --tblr-tooltip-max-width: 400px !important;
}
.tooltip-inner {
    text-align: left !important;
}
/* ---- TOOLTIP ---- */

/* ++++ FULL CALENDAR ++++ */
.fc-timegrid-event-harness {
    min-height: 20px !important;
}
.fc-button {
    background-color: var(--tblr-primary) !important;
    border-color: var(--tblr-primary) !important
}
.fc-button-active {
    background-color: #1a6923 !important;
}
.fc-event-main {
    display: flex;
}
.fc-event-main i.ti {
    display: flex;
    margin-left: .2rem !important;
    margin-right: .2rem !important;
    margin-top: .05rem !important;
}
/* ---- FULL CALENDAR ---- */

/* ++++ JQUERY CONFIRM ++++ */
.jconfirm-content {
    padding: 5px 15px !important;
}
/* ---- JQUERY CONFIRM ---- */

/* ++++ DROPDOWN ++++ */
.webmovel-dropdown-toggle::after {
    content: "";
    display: inline-block;
    vertical-align: 0.306em;
    width: 0 !important;
    height: 0 !important;
    border-bottom: none !important;
    border-left: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: rotate(-45deg);
}

.webmovel-dropdown-item-icon {
    width: 1rem !important;
    height: 1rem !important;
    margin-right: .5rem;
    color: var(--tblr-muted);
    opacity: .7;
    text-align: center;
}
/* ---- DROPDOWN ---- */

/* ++++ DATERANGE ++++ */
.daterangepicker td.in-range {
    background-color: #b4e4ca !important;
    border-color: transparent !important;
    color: #000 !important;
    border-radius: 0 !important;
}

.daterangepicker td.active, .daterangepicker td.active:hover {
    background-color: var(--tblr-primary) !important;
    border-color: transparent !important;
    color: #fff !important;
}

.daterangepicker td.end-date {
    border-radius: 0 4px 4px 0 !important;
}
/* ---- DATERANGE ---- */

/* ++++ CARD TABLE VACATIONS ++++ */
.webmovel-card-table-vacations tr td:first-child, .webmovel-card-table-vacations tr th:first-child {
    padding-left: 0.75rem !important;
    border-left: 0 !important;
}
.webmovel-card-table-vacations tr td:last-child, .webmovel-card-table-vacations tr th:last-child {
    padding-right: 0.75rem !important;
    border-right: 0 !important;
}
.webmovel-card-table-vacations {
    text-align: center !important;
}
.webmovel-card-title-table {
    color: #667382 !important;
    background-color: #fcfdfe !important;
    padding-top: 0.5rem !important;
    padding-bottom: 0.5rem !important;
}
/* ---- CARD TABLE VACATIONS ---- */

.fc-toolbar-title::first-letter {
    text-transform: capitalize !important;
}

table.fc-scrollgrid {
    background-color: #ffffff !important;
}

a.fc-col-header-cell-cushion {
    color: var(--tblr-primary) !important;
}

/* ++++ TINY MCE ++++ */

button.tox-button {
    background-color: var(--tblr-primary) !important;
    border-color: var(--tblr-primary) !important;
    color: white !important;
}

button.tox-button:hover {
    background-color: #1a6923 !important;
    border-color: #1a6923 !important;
}

.tox .tox-dialog__body-nav-item--active {
    border-color: var(--tblr-primary) !important;
    color: var(--tblr-primary) !important;
}

.tox .tox-dialog__body-content a {
    color: var(--tblr-primary) !important;
}

.tox .tox-tbtn--enabled, .tox .tox-tbtn--enabled:hover {
    background-color: rgb( var(--tblr-primary-rgb), 0.20) !important;
}

.tox .tox-tbtn:hover, .tox .tox-tbtn:active{
    background-color: rgb( var(--tblr-primary-rgb), 0.20) !important;
}

.tox .tox-collection--list .tox-collection__item--active {
    background-color: rgb( var(--tblr-primary-rgb), 0.20) !important;
    color: rgb( var(--tblr-primary-rgb)) !important;
}

.tox .tox-insert-table-picker .tox-insert-table-picker__selected {
    background-color: rgb( var(--tblr-primary-rgb), 0.20) !important;
    border-color: rgb( var(--tblr-primary-rgb)) !important;
}

.tox .tox-split-button:hover {
    box-shadow: 0 0 0 1px rgb( var(--tblr-primary-rgb), 0.20) inset !important;
}

.tox .tox-split-button:focus {
    background: rgb( var(--tblr-primary-rgb), 0.30) !important;
}

.tox .tox-collection--toolbar .tox-collection__item--active {
    background-color: rgb( var(--tblr-primary-rgb), 0.20) !important;;
}

.tox .tox-collection--list .tox-collection__item--active.tox-collection__item--state-disabled{
    background: rgb(128, 128, 128, 0.20) !important;
    color: grey !important;
}
/* ---- TINY MCE ---- */

.input-group-flat:focus-within {
    box-shadow: 0 0 0 .25rem rgba(7, 134, 65,.25) !important;
    border-radius: var(--tblr-border-radius);
}

.input-group-flat:focus-within .form-control{
    border-color: var(--tblr-primary) !important;
}

.input-group-flat:focus-within .input-group-text{
    border-color: var(--tblr-primary) !important;
}

/* ++++ SCROLLBAR ++++ */
* {
    scrollbar-color: rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16)
}

::-webkit-scrollbar {
    width: 1rem;
    height: 1rem;
    -webkit-transition: background .3s;
    transition: background .3s
}

@media (prefers-reduced-motion:reduce) {
    ::-webkit-scrollbar {
        -webkit-transition: none;
        transition: none
    }
}

::-webkit-scrollbar-thumb {
    border-radius: 1rem;
    border: 5px solid transparent;
    box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.16)
}

::-webkit-scrollbar-track {
    background: 0 0
}

:hover::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 0 1rem rgba(var(--tblr-scrollbar-color,var(--tblr-body-color-rgb)),.32);
}

::-webkit-scrollbar-corner {
    background: 0 0
}
/* ---- SCROLLBAR ---- */