:root,
[data-bs-theme=light] {
    --bs-primary: #4f98c3;
    --bs-primary-rgb: 157, 162, 186;
}

.filters {
    padding: 15px;
    margin-top: 10px;
}

.card .table {
    font-size: 14px;
}

.filters .form-group {
    display: inline-block;
    margin-bottom: 10px;
    margin-right: 5px;
}

button .fa {
    margin-right: 5px;
}

.filters h3 {
    font-size: 18px !important;
    padding: 0;
    margin: 0;
}

button.searchList {
    min-height: 30px;
}

td.listActions {
    width: 30px;
}

.divPagination {
    width: 100%;
    justify-content: space-between;
    display: flex;
    background-color: white;
    padding: 10px;
    margin-top: 5px;
    flex-direction: row;
    align-items: anchor-center;
}


.datapax-loader {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    z-index: 99999999;
    background-color: #fffbfbd1;
    left: 0;
    right: 0;
}

.datapax-logo {
    width: 180px;
    filter: drop-shadow(0 0 8px #67747e);
    animation: pulse 2s infinite ease-in-out;
}



.text-loading {
    margin-top: 10px;
    font-family: Arial, sans-serif;
    color: #67747e;
    letter-spacing: 2px;
    font-size: 13px;
    animation: blink 1.5s infinite;
}


span.switch-on {
    align-content: center;
}

span.switch-off {
    align-content: center;
}

.forms-panel .form-group {
    padding: 10px;
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-0.5 * var(--bs-gutter-x));
    margin-left: 0;
    padding-bottom: 4px;
    padding-top: 4px;
}

.labelItem {
    padding: 6px 15px;
    border: solid 1px var(--bs-primary);
    margin: 0 15px 5px 0;
    display: inline-block;
}

.form-group.item_tiposNotas {
    flex-wrap: nowrap;
    text-align: left;
}

.tab-content:not(.doc-example-content) {
    z-index: 1;
    padding: 0;
}

.permisos .switch {
    margin-bottom: 5px;
}

.card.table-responsive {
    position: initial;
}

select.form-control {
    min-width: 60px;
}

.select2 span {
    width: 100%;
}

.form-group label {
    margin-bottom: 3px;
}

table thead th:not(:nth-last-child(-n+2)) {
    position: relative;
}

table thead th:not(:nth-last-child(-n+2))::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 2px;
    height: 16px;
    background-color: var(--bs-border-color, #dee2e6);
    margin-top: 16px;
}

.pagination .page-item .page-link {
    border-radius: 0.375rem;
}

input.form-control.ui-autocomplete-input {
    background-image: url(https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/icons/search.svg);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px 16px;
}

select.form-control {
    background-image: url(https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.5/icons/chevron-down.svg);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 16px 16px;
}

.user-disabled {
    opacity: 0.6;
    background-color: #f8f8f8;
}

.dropify-wrapper .dropify-message span.file-icon {
    font-size: 25px !important;
    color: #CCC;
}

.btn-icon.btn-sm .icon-base,
.btn-group-sm>.btn-icon.btn .icon-base {
    font-size: var(--bs-icon-size);
    block-size: var(--bs-icon-size);
    inline-size: var(--bs-icon-size);
}

/* Estilos para header de proveedor */
.proveedor-header-stats .proveedor-main-card {
    border-left: 4px solid var(--bs-primary);
}

.proveedor-header-stats .proveedor-info-text h5 {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
}

.proveedor-header-stats .proveedor-info-text small {
    font-size: 0.75rem;
}

.proveedor-header-stats .card-body {
    padding: 1rem;
}

.proveedor-header-stats .avatar {
    width: 2.5rem;
    height: 2.5rem;
}

.proveedor-header-stats .icon-24px {
    font-size: 1.5rem !important;
    width: 1.5rem;
    height: 1.5rem;
}

.proveedor-header-stats h4 {
    font-size: 1.5rem;
    font-weight: 600;
}

.proveedor-header-stats h5 {
    font-size: 1.25rem;
    font-weight: 600;
}

.proveedor-header-stats small {
    font-size: 0.75rem;
}

.proveedor-header-stats p {
    font-size: 0.875rem;
}

/* Estilos para jQuery UI Autocomplete */
.ui-autocomplete {
    position: absolute;
    z-index: 9999 !important;
    cursor: default;
    padding: 0;
    margin-top: 2px;
    list-style: none;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.375rem;
    box-shadow: 0 0.25rem 1rem rgba(165, 163, 174, 0.45);
    max-height: 300px;
    overflow-y: auto;
    overflow-x: hidden;
}

.ui-menu-item {
    padding: 0;
    margin: 0;
}

.ui-menu-item>div,
.ui-menu-item-wrapper {
    display: block;
    padding: 0.5rem 1rem;
    clear: both;
    font-weight: 400;
    color: #6d6b77;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.ui-menu-item>div:hover,
.ui-menu-item-wrapper:hover,
.ui-state-focus,
.ui-state-active {
    color: #6d6b77;
    background-color: rgba(67, 89, 113, 0.04);
    text-decoration: none;
}

.ui-helper-hidden-accessible {
    position: absolute;
    left: -9999px;
}

/* Estilos para tablas con contador automático */
.tableCuotaPasajeroPersonalizado {
    counter-reset: rowNumber;
}

.tableCuotaPasajeroPersonalizado tbody tr td:first-child::before {
    counter-increment: rowNumber;
    content: counter(rowNumber);
}

/* Estilos para Select2 múltiple */
.select2-selection__choice {
    background-color: var(--bs-primary) !important;
    border: none !important;
    border-radius: 0.25rem !important;
    color: #fff !important;
    padding: 0.25rem 0.5rem !important;
    margin: 0.25rem !important;
}

.select2-selection__choice__remove {
    border: none !important;
    color: #fff !important;
    margin-right: 0.25rem !important;
}

.select2-selection__choice__remove:hover {
    background-color: transparent !important;
    color: #ef5454 !important;
}

/* Estilos para búsqueda modal de Algolia */
.aa-DetachedSearchButton {
    border: none !important;
    background: none !important;
    padding: 0 !important;
}

.search-headings {
    font-weight: 600;
    color: var(--bs-heading-color);
    font-size: 0.9rem;
}

.suggestion-item {
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    text-decoration: none;
    color: var(--bs-body-color);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    transition: all 0.2s;
}

.suggestion-item:hover {
    background-color: rgba(67, 89, 113, 0.04);
    color: var(--bs-primary);
}

.suggestion-item i {
    font-size: 1.25rem;
    width: 1.5rem;
    text-align: center;
}

.dynamic-result-item {
    padding: 0.75rem 1rem !important;
    border-radius: 0.375rem;
    text-decoration: none;
    transition: all 0.2s;
}

.dynamic-result-item:hover {
    background-color: rgba(67, 89, 113, 0.04);
}

.dynamic-result-item .avatar {
    width: 2.5rem;
    height: 2.5rem;
}

.dynamic-result-item .avatar i {
    font-size: 1.125rem;
}

.dynamic-result-item h6 {
    font-size: 0.9375rem;
    line-height: 1.3;
}

.dynamic-result-item .badge-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
}

/* Estilos para dropdown de subidas */
.dropdown-subidas {
    min-width: 250px;
    max-height: 400px;
    overflow-y: auto;
}

.labelCantidadSubidas {
    position: absolute;
    top: -2px;
    right: -2px;
    font-size: 0.7rem;
    min-width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Estilos para tabs dentro de modales */
.modal .nav-tabs {
    flex-wrap: wrap;
    overflow-x: auto;
    overflow-y: hidden;
}

.modal .nav-tabs .nav-item {
    flex-shrink: 0;
}

.modal .nav-tabs .nav-link {
    white-space: nowrap;
    padding: 0.75rem 1rem;
    font-size: 0.9rem;
}

.modal .nav-tabs .nav-link i {
    font-size: 1rem;
}

.modal .nav-fill .nav-item {
    flex: 0 1 auto;
}

.nav-tabs {
    flex-wrap: wrap;
}

.nav-tabs .nav-item {
    flex-shrink: 0;
}

.nav-tabs .nav-link {
    white-space: nowrap;
}

.infoPasajero {
    margin-bottom: 20px;
}

.infoPasajero .itemDataPasajero {
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 5px;
}

.infoDataPlantillaPasajero .infoDataPlantillaPasajeroItem {
    margin-bottom: 5px;
    padding: 5px 10px;
    background: rgba(59, 154, 213, 0.03);
    border: 1px solid rgba(59, 154, 213, 0.19);
    display: flex;
}

.infoDataPlantillaPasajero .infoDataPlantillaPasajeroItem .infoDataPlantillaPasajeroItemNombre {
    display: inline-block;
    font-weight: bold;
}

.infoDataPlantillaPasajero .infoDataPlantillaPasajeroItem .infoDataPlantillaPasajeroItemValor {
    display: inline-block;
    margin-left: 15px;
    flex: 1;
}

.infoDataPlantillaPasajero .infoDataPlantillaPasajeroItem .infoDataPlantillaPasajeroItemValor img {
    max-width: 20%;
}

.infoDataPlantillaPasajero .infoDataPlantillaPasajeroItem .infoDataPlantillaPasajeroItemValor .formGrupoPasajeroDato input,
.infoDataPlantillaPasajero .infoDataPlantillaPasajeroItem .infoDataPlantillaPasajeroItemValor .formGrupoPasajeroDato textarea,
.infoDataPlantillaPasajero .infoDataPlantillaPasajeroItem .infoDataPlantillaPasajeroItemValor .formGrupoPasajeroDato select {
    display: inline-block;
    flex: 1;
    margin-right: 15px;
    margin-bottom: 0 !important;
}

.modal .tab-pane {
    margin-top: 20px;
}

span.input-group-append.input-group-text {
    min-width: 50px;
    text-align: center;
    justify-content: center;
    color: var(--bs-primary);
}

.tab-pane .btn {
    margin-left: 10px;
    margin-top: 10px;
    width: fit-content;
}

.fa-trash {
    color: #f36767 !important;
}

.metodo-pago-item {
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    padding: 10px;
    margin-bottom: 8px;
    position: relative;
}

.metodo-pago-item .metodo-nombre {
    font-weight: bold;
    color: #495057;
    margin-bottom: 5px;
}

.metodo-pago-item .btn-quitar-metodo {
    position: absolute;
    top: 8px;
    right: 8px;
    padding: 2px 6px;
    font-size: 10px;
}

.metodo-pago-monto {
    width: 100%;
    margin-top: 5px;
}


#modalPagarVenta .metodos-pago-lista-modal {
    margin-bottom: 15px;
}

#modalPagarVenta .metodo-pago-item {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 10px;
    position: relative;
}

#modalPagarVenta .btn-quitar-metodo-modal {
    position: absolute;
    top: 5px;
    right: 5px;
    padding: 2px 6px;
}

#modalPagarVenta .metodo-nombre {
    font-weight: bold;
    margin-bottom: 5px;
}

#modalPagarVenta .metodo-pago-monto-modal {
    margin-top: 8px;
}

#modalPagarVenta .cuenta-bancaria-transferencia-modal {
    background-color: #f8f9fa;
    padding: 10px;
    border-radius: 5px;
    border: 1px solid #e9ecef;
}

#modalPagarVenta .resumen-pagos-modal {
    background-color: #f8f9fa;
    padding: 10px;
    border-radius: 5px;
}

#modalPagarVenta .diferencia-pago-modal.exacta {
    color: #28a745;
    font-weight: bold;
}

#modalPagarVenta .diferencia-pago-modal.positiva {
    color: #007bff;
}

#modalPagarVenta .diferencia-pago-modal.negativa {
    color: #dc3545;
    font-weight: bold;
}

#modalPagarVenta .btn-quitar-metodo-modal .fa {
    margin: 0 !important;
    padding: 5px !important;
}

div#contentUploadImagesCustom .tabs .nav-link {
    box-shadow: 0 0.125rem 0.375rem 0 rgba(var(--bs-primary-rgb), 0.3);
    border-radius: 5px 5px 0 0;
    border: 1px solid;
    border-bottom: 0;
}

div#contentUploadImagesCustom .tabs .active .nav-link {
    background: linear-gradient(270deg, rgba(var(--bs-primary-rgb), 0.7) 0%, var(--bs-primary) 100%);
    box-shadow: 0 0.125rem 0.375rem 0 rgba(var(--bs-primary-rgb), 0.3);
    color: var(--bs-menu-active-color);
    border-radius: 5px 5px 0 0;
}

.file-caption.form-control.kv-fileinput-caption.icon-visible {
    display: none;
}

.file-caption.form-control.kv-fileinput-caption {
    display: none;
}

.dashboard-container thead.table-primary {
    background-color: #afe0ff;
}



/* Modo Oscuro */
[data-semidark-menu=true],
[data-bs-theme=dark] {
    .user-disabled {
        opacity: 0.6;
        background-color: #090909;
    }

    .dashboard-container thead.table-primary {
        background-color: #5a6d79;
    }
    

    input.form-control.ui-autocomplete-input {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E");
    }

    select.form-control {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ffffff' viewBox='0 0 16 16'%3E%3Cpath 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'/%3E%3C/svg%3E");
    }

    .dropify-wrapper {
        background-color: transparent;
    }

    .dropify-wrapper:hover {
        background-size: 30px 30px;
        background-image: linear-gradient(-45deg, #6565659c 25%, transparent 25%, transparent 50%, #00000000 50%, #656565 75%, transparent 75%, transparent);
        -webkit-animation: stripes 2s linear infinite;
        animation: stripes 2s linear infinite;
    }

    .dropdown-item:hover,
    .dropdown-item:focus {
        color: var(--bs-dropdown-link-hover-color);
        background-color: #54555c;
    }

    .proveedor-header-stats .proveedor-main-card {
        border-left-color: var(--bs-primary);
    }

    .ui-autocomplete {
        background-color: #2b2c40;
        border: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 0.25rem 1rem rgba(20, 20, 31, 0.45);
    }

    .ui-menu-item>div,
    .ui-menu-item-wrapper {
        color: #bab8c5;
    }

    .ui-menu-item>div:hover,
    .ui-menu-item-wrapper:hover,
    .ui-state-focus,
    .ui-state-active {
        color: #bab8c5;
        background-color: rgba(255, 255, 255, 0.04);
    }

    .select2-selection__choice {
        background-color: var(--bs-primary) !important;
        color: #fff !important;
    }

    .select2-selection__choice__remove {
        color: #fff !important;
    }

    .select2-selection__choice__remove:hover {
        color: #ef5454 !important;
    }

    .infoDataPlantillaPasajero .infoDataPlantillaPasajeroItem {
        background: rgba(59, 154, 213, 0.08);
        border: 1px solid rgba(59, 154, 213, 0.25);
    }

    .suggestion-item:hover {
        background-color: rgba(255, 255, 255, 0.04);
    }

    .search-headings {
        color: #bab8c5;
    }

    .dynamic-result-item:hover {
        background-color: rgba(255, 255, 255, 0.04);
    }

    .datapax-loader {
        background-color: #2f2f2fd1;
    }
}

div#contentUploadImagesCustom .tab-pane {
    opacity: 1 !important;
    transform: none;
}

.card .card-header+.card-body,
.card .card-header+.card-content>.card-body:first-of-type,
.card .card-header+.card-footer,
.card .card-body+.card-footer {
    padding-block-start: var(--bs-card-spacer-x);
}

.card .card-header,
.card .card-footer {
    --bs-card-border-width: 0;
    padding-top: 10px;
    padding-bottom: 10px;
}

/* Dashboard Styles */
.card-border-shadow-primary {
    border-color: rgba(var(--bs-primary-rgb), 0.2) !important;
    box-shadow: 0 0.125rem 0.5rem rgba(var(--bs-primary-rgb), 0.12);
}

.card-border-shadow-secondary {
    border-color: rgba(var(--bs-secondary-rgb), 0.2) !important;
    box-shadow: 0 0.125rem 0.5rem rgba(var(--bs-secondary-rgb), 0.12);
}

.card-border-shadow-success {
    border-color: rgba(var(--bs-success-rgb), 0.2) !important;
    box-shadow: 0 0.125rem 0.5rem rgba(var(--bs-success-rgb), 0.12);
}

.card-border-shadow-info {
    border-color: rgba(var(--bs-info-rgb), 0.2) !important;
    box-shadow: 0 0.125rem 0.5rem rgba(var(--bs-info-rgb), 0.12);
}

.card-border-shadow-warning {
    border-color: rgba(var(--bs-warning-rgb), 0.2) !important;
    box-shadow: 0 0.125rem 0.5rem rgba(var(--bs-warning-rgb), 0.12);
}

.card-border-shadow-danger {
    border-color: rgba(var(--bs-danger-rgb), 0.2) !important;
    box-shadow: 0 0.125rem 0.5rem rgba(var(--bs-danger-rgb), 0.12);
}

/* Dashboard card hover effects */
.card-border-shadow-primary:hover,
.card-border-shadow-secondary:hover,
.card-border-shadow-success:hover,
.card-border-shadow-info:hover,
.card-border-shadow-warning:hover,
.card-border-shadow-danger:hover {
    transform: translateY(-4px);
    transition: all 0.3s ease;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Dashboard charts */
.chart canvas {
    max-width: 100%;
}

/* Dashboard card body scrollbar */
.card-body::-webkit-scrollbar {
    width: 6px;
}

.card-body::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.05);
    border-radius: 10px;
}

.card-body::-webkit-scrollbar-thumb {
    background: rgba(var(--bs-primary-rgb), 0.5);
    border-radius: 10px;
}

.card-body::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--bs-primary-rgb), 0.7);
}

/* Dark mode adjustments */
[data-bs-theme="dark"] .card-border-shadow-primary:hover,
[data-bs-theme="dark"] .card-border-shadow-secondary:hover,
[data-bs-theme="dark"] .card-border-shadow-success:hover,
[data-bs-theme="dark"] .card-border-shadow-info:hover,
[data-bs-theme="dark"] .card-border-shadow-warning:hover,
[data-bs-theme="dark"] .card-border-shadow-danger:hover {
    box-shadow: 0 0.5rem 1rem rgba(255, 255, 255, 0.1);
}

/* Dashboard Estadísticas - Estilos */
.dashboard-container {
    padding: 0;
}

.stat-card {
    display: flex;
    align-items: center;
    padding: 1.5rem;
    border-radius: 0.5rem;
    color: white;
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    min-height: 120px;
}

.stat-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.2);
}

.stat-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
    pointer-events: none;
}

.stat-card-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.75rem;
    margin-right: 1rem;
    flex-shrink: 0;
    backdrop-filter: blur(10px);
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.stat-card-content {
    flex: 1;
    z-index: 1;
    position: relative;
}

.stat-card-number {
    font-size: 1.75rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.stat-card-label {
    font-size: 0.9rem;
    opacity: 0.9;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.bg-gradient-success {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
}

.bg-gradient-primary {
    background: linear-gradient(135deg, var(--bs-primary) 0%, #0056b3 100%) !important;
}

.bg-gradient-warning {
    background: linear-gradient(135deg, #ffc107 0%, #fd7e14 100%);
    color: #212529;
}

.bg-gradient-info {
    background: linear-gradient(135deg, #17a2b8 0%, #6f42c1 100%);
}

.bg-gradient-warning .stat-card-icon {
    background: rgba(0, 0, 0, 0.1);
    border-color: rgba(0, 0, 0, 0.2);
}

/* Card info - Diseño moderno con badges */
.card-info h5 {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--bs-heading-color);
    line-height: 1.2;
}

.card-info small {
    font-size: 0.8125rem;
    color: var(--bs-body-color);
    opacity: 0.8;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.badge.rounded {
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.badge.rounded i.icon-lg {
    font-size: 1.5rem;
}

/* Hover effect para los info items */
.d-flex.align-items-center:has(.badge.rounded) {
    transition: all 0.2s ease;
    padding: 0.5rem;
    border-radius: 0.375rem;
}

.d-flex.align-items-center:has(.badge.rounded):hover {
    background-color: rgba(var(--bs-primary-rgb), 0.04);
}

/* Gráficos */
.chart-container {
    position: relative;
    height: 250px;
    margin: 1rem 0;
}

.chart-container canvas {
    max-height: 100%;
    max-width: 100%;
}

/* Dark mode para dashboard estadísticas */
[data-bs-theme="dark"] .stat-card {
    box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.3);
}

[data-bs-theme="dark"] .card-info h5 {
    color: #e7e5ee;
}

[data-bs-theme="dark"] .card-info small {
    color: #bab8c5;
}

[data-bs-theme="dark"] .d-flex.align-items-center:has(.badge.rounded):hover {
    background-color: rgba(255, 255, 255, 0.04);
}

/* Notificaciones mejoradas */
.dropdown-notifications-list {
    max-height: 400px;
}

.dropdown-notifications-item {
    transition: all 0.2s ease;
}

.dropdown-notifications-item:hover {
    background-color: rgba(var(--bs-primary-rgb), 0.04);
}

.dropdown-notifications-item .avatar {
    width: 2.375rem;
    height: 2.375rem;
}

.dropdown-notifications-item .avatar i {
    font-size: 1.125rem;
}

.dropdown-notifications-item h6 {
    font-weight: 600;
    color: var(--bs-heading-color);
}

.dropdown-notifications-actions {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.dropdown-notifications-actions a {
    color: var(--bs-body-color);
    opacity: 0;
    transition: opacity 0.2s ease;
}

.dropdown-notifications-item:hover .dropdown-notifications-actions a {
    opacity: 1;
}

.dropdown-notifications-actions .badge-dot {
    width: 8px;
    height: 8px;
    background-color: var(--bs-primary);
    border-radius: 50%;
    display: inline-block;
}

.dropdown-notifications-item.marked-as-read {
    opacity: 0.6;
}

.no_avisos {
    min-height: 120px;
    align-items: center;
    justify-content: center;
}

.no_avisos i.icon-xl {
    font-size: 3rem;
    opacity: 0.5;
}

.no_avisos p {
    font-size: 0.875rem;
}

/* Badge en notificaciones */
.dropdown-notifications-item .badge-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    font-weight: 600;
}

/* Animación del badge de notificaciones */
@keyframes notification-pulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }
}

.badge-notifications.show_avisos {
    animation: notification-pulse 2s infinite;
}

/* Dark mode para notificaciones */
[data-bs-theme="dark"] .dropdown-notifications-item:hover {
    background-color: rgba(255, 255, 255, 0.04);
}

[data-bs-theme="dark"] .bg-gradient-warning .stat-card-number,
[data-bs-theme="dark"] .bg-gradient-warning .stat-card-label {
    color: #fff;
}

[data-bs-theme="dark"] .chart-container {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.1);
}

/* Estilos adicionales para dashboard estadísticas */
.card.shadow-none.border {
    border: 1px solid var(--bs-border-color) !important;
}

.card-header.bg-label-primary {
    background-color: rgba(var(--bs-primary-rgb), 0.1) !important;
    border-bottom: 1px solid rgba(var(--bs-primary-rgb), 0.2);
}

.card-header.bg-label-success {
    background-color: rgba(var(--bs-success-rgb), 0.1) !important;
    border-bottom: 1px solid rgba(var(--bs-success-rgb), 0.2);
}

.card-header.bg-label-info {
    background-color: rgba(var(--bs-info-rgb), 0.1) !important;
    border-bottom: 1px solid rgba(var(--bs-info-rgb), 0.2);
}

.card-header.bg-label-warning {
    background-color: rgba(var(--bs-warning-rgb), 0.1) !important;
    border-bottom: 1px solid rgba(var(--bs-warning-rgb), 0.2);
}

.card-header.bg-label-danger {
    background-color: rgba(var(--bs-danger-rgb), 0.1) !important;
    border-bottom: 1px solid rgba(var(--bs-danger-rgb), 0.2);
}

.card-header h6 {
    color: var(--bs-heading-color);
    font-weight: 600;
}

.modal .modal-header {
    position: relative;
    background: linear-gradient(179deg, #6998b963, transparent) !important;
}

.modal-header h3 {
    font-size: 20px;
}

h2.card-title {
    font-size: 20px;
}

.col-form-label {
    white-space: normal;
    padding-right: 3px;
}

.coord_item {
    border: 1px solid #3b9ad5;
    margin-bottom: 3px;
    padding-top: 8px;
    margin-right: 10px;
    max-width: calc(25% - 10px);
    padding-bottom: 10px;
}

.progress.vertical {
    display: inline-block;
    height: 200px;
    margin-right: 10px;
    position: relative;
    width: 30px;
    border: 1px solid #b5b0b0;
}

.progress.vertical>.progress-bar {
    bottom: 0;
    position: absolute;
    width: 100%;
}

.progress .progress-bar {
    background-color: #3d9bd6 !important;
}

span.float-right {
    float: right;
}

/* Responsive para dashboard estadísticas */
@media (max-width: 768px) {
    .stat-card {
        padding: 1rem;
        min-height: 100px;
    }

    .stat-card-icon {
        width: 50px;
        height: 50px;
        font-size: 1.5rem;
        margin-right: 0.75rem;
    }

    .stat-card-number {
        font-size: 1.5rem;
    }

    .stat-card-label {
        font-size: 0.8rem;
    }

    .badge.rounded {
        width: 40px;
        height: 40px;
    }

    .badge.rounded i.icon-lg {
        font-size: 1.25rem;
    }

    .card-info h5 {
        font-size: 1rem;
    }

    .card-info small {
        font-size: 0.75rem;
    }
}

/* Footer fijo */
.content-footer {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    margin-top: 0 !important;
    box-shadow: 0 -2px 10px rgb(79 152 195 / 48%) !important;
    background-color: var(--bs-menu-bg);
}

.main {
    margin-bottom: 50px;
}

.content-wrapper {
    padding-bottom: 80px !important;
}

.layout-menu-fixed .content-wrapper {
    padding-bottom: 80px !important;
}

.layout-page {
    padding-bottom: 0 !important;
}

.barraProgresoCarpeta {
    margin: 5px 0;
}

.barraProgresoCarpeta .progress-bar {
    border-radius: 5px;
}

.barraProgresoCarpeta .progress {
    height: 20px;    
    margin: 8px 0;
}

.itemSubidaDropdown.itemAlbumFinalizado {
    position: relative;
}

.msjNoHaySubidas {
	display:none;
}
.msjNoHaySubidas[data-cantidad^="0"] {
	display:list-item;
}

.modal-content {
    width: fit-content !important;
    min-width: 50vw !important;
    max-width: 75vw !important;
}

button.ver-detalle-plan-pasajero {
    background-color: white;
    padding: 5px !important;
    color: #7397b0;
    padding-left: 10px !important;
}

@media (min-width: 576px) {
    .modal-dialog {
        max-width: min-content;
        margin-right: auto;
        margin-left: auto;
    }
}

@media (min-width: 1200px) {
    .layout-menu-fixed:not(.layout-menu-collapsed) .content-footer {
        left: var(--bs-menu-width, 16.25rem) !important;
        width: calc(100% - var(--bs-menu-width, 16.25rem)) !important;
    }
    
    .layout-menu-fixed.layout-menu-collapsed .content-footer {
        left: var(--bs-menu-collapsed-width, 4.375rem) !important;
        width: calc(100% - var(--bs-menu-collapsed-width, 4.375rem)) !important;
    }
}

@media (max-width: 1199.98px) {
    .layout-menu-fixed .content-footer {
        left: 0 !important;
        width: 100% !important;
    }
}