/* ++++ CORE ++++ */
:root,
[data-bs-theme=light],
[data-bs-theme=dark] {
    --tblr-primary: #004aad !important;
    --tblr-primary-rgb: 0, 74, 173 !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-app {
    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-app:hover,
.form-help-app[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;
}

.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-app {
    border-top: none;
}

.app-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: var(--tblr-primary) !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 ++++ */
.app-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);
}

.app-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 ++++ */
.app-card-table-vacations tr td:first-child,
.app-card-table-vacations tr th:first-child {
    padding-left: 0.75rem !important;
    border-left: 0 !important;
}

.app-card-table-vacations tr td:last-child,
.app-card-table-vacations tr th:last-child {
    padding-right: 0.75rem !important;
    border-right: 0 !important;
}

.app-card-table-vacations {
    text-align: center !important;
}

.app-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: var(--tblr-primary) !important;
    border-color: var(--tblr-primary) !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(var(--tblr-primary-rgb), .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 ---- */