@media (min-width:1400px) {
    .container,
    .container-lg,
    .container-md,
    .container-sm,
    .container-xl,
    .container-xxl {
        max-width:1420px
    }
}
.form-switch.form-check-solid .form-check-input:not(:checked) {
    background-color: #C1C1C1;
}
.progress-bar {
    overflow: visible !important;
}

button.close {
    padding: 0;
    background-color: transparent;
    border: 0;
    -webkit-appearance: none;
}

.start-45 {
    left:45%!important
}

.card-header, .card-footer, .card-body {
    padding: 1.5rem 1.5rem !important;
}

.table.table-row-dashed tr {
    border-bottom-color: #e8e8e8;
}

.text-right {
    text-align: right !important;
}

.accordion .card-header, .accordion .card-body {
    box-shadow: 0 0px 5px 0 rgba(0, 0, 0, 0.19);
}

.table-striped tbody tr:nth-of-type(2n+1) {
    background: #e8e8e8;
}

[data-theme="dark"] .table-striped tbody tr:nth-of-type(2n+1) {
    background: initial;
}

.shadow {
    border: solid 1px #DFEDEF !important;
}

[data-theme="dark"] .shadow {
    border: solid 1px #151521 !important;
}

.form-control.form-control-solid, .form-select.form-select-solid {
    border-color: #DFEDEF !important;
}

.accordion-item,.table-row-bordered {
    border: solid 1px #DFEDEF !important;
}

[data-theme="dark"] .accordion-item,[data-theme="dark"] .table-row-bordered {
    border: solid 1px white !important;
}


.repeticion .row {
    border: solid 1px #DFEDEF !important;
    border-radius: 10px;
    padding: 5px;
    margin-bottom: 25px !important;
}

/* Loader for imports */
/* Loader 2 */
.loader {
    display: block;
    height: 32px;
    width: 32px;
    -webkit-animation: loader-1 3s linear infinite;
    animation: loader-1 3s linear infinite;
}
@-webkit-keyframes loader-1 {
    0%   {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}
@keyframes loader-1 {
    0%   {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
.loader span {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    height: 32px;
    width: 32px;
    clip: rect(16px, 32px, 32px, 0);
    -webkit-animation: loader-2 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
    animation: loader-2 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}
@-webkit-keyframes loader-2 {
    0%   {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}
@keyframes loader-2 {
    0%   {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
.loader span::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    height: 32px;
    width: 32px;
    border: 3px solid transparent;
    border-top: 3px solid var(--kt-primary);
    border-radius: 50%;
    -webkit-animation: loader-3 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
    animation: loader-3 1.5s cubic-bezier(0.770, 0.000, 0.175, 1.000) infinite;
}
@-webkit-keyframes loader-3 {
    0%   {
        -webkit-transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
    }
}
@keyframes loader-3 {
    0%   {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
.loader span::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    height: 32px;
    width: 32px;
    border: 3px solid #DFEDEF;
    border-radius: 50%;
}

.timeline-label .timeline-label {
    width: 70px;
}

.timeline-label::before {
    left: 71px;
}

.fc-non-business {
    background-color: rgba(130, 130, 130, 0.3) !important; /* cambio a color rojo */
}

.fc .fc-day-today {
    background-color: rgba(97, 202, 242, 0.15) !important;
}



/* Estilo general para el contenedor de radios */
#horas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* Estilo para las etiquetas que contienen los radios */
.hora-label {
    display: inline-block;
    padding: 10px 20px;
    background-color: #e0ffe0; /* Color verde claro */
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s;
    border: 2px solid transparent;
}

/* Ocultar el input radio */
.hora-label input[type="radio"] {
    display: none;
}

/* Icono de reloj estilo */
.icono-reloj {
    margin-right: 5px;
}

/* Estilo cuando el radio está seleccionado */
.hora-label input[type="radio"]:checked + span {
    background-color: #3cb043; /* Color verde oscuro */
    color: white;
}

/* Para mostrar el cursor de mano */
.hora-label:hover {
    border-color: #a0ffa0;
}

/* Corregir el espacio entre los puntos del breadcrumb */
.breadcrumb-dot .breadcrumb-item:after {
    padding-left: .5rem;
}

#loading-spinner {
    z-index: 9999;
    margin-top: -32px;
}


.loaders,
.loadersB {
    display: flex;
    align-items: center;
    justify-content: center;
}

.loaderA {
    position: absolute;
    width: 1.15em;
    height: 13em;
    border-radius: 50px;
    background: transparent;
}
.ball0,
.ball1,
.ball2,
.ball3,
.ball4,
.ball5,
.ball6,
.ball7,
.ball8,
.ball9 {
    width: 1.15em;
    height: 1.15em;
    box-shadow:
        rgba(0, 0, 0, 0.17) 0px -10px 10px 0px inset,
        rgba(0, 0, 0, 0.15) 0px -15px 15px 0px inset,
        rgba(0, 0, 0, 0.1) 0px -40px 20px 0px inset,
        rgba(0, 0, 0, 0.06) 0px 2px 1px,
        rgba(0, 0, 0, 0.09) 0px 4px 2px,
        rgba(0, 0, 0, 0.09) 0px 8px 4px,
        rgba(0, 0, 0, 0.09) 0px 16px 8px,
        rgba(0, 0, 0, 0.09) 0px 32px 16px,
        0px -1px 15px -8px rgba(0, 0, 0, 0.09);
    border-radius: 50%;
    transition: transform 800ms cubic-bezier(1, -0.4, 0, 1.4);
    background-color: rgb(232, 232, 232, 1);
    animation: 1.10s move ease-in-out infinite;
}
.loader:nth-child(2) {
    transform: rotate(20deg);
}
.loader:nth-child(3) {
    transform: rotate(40deg);
}
.loader:nth-child(4) {
    transform: rotate(60deg);
}
.loader:nth-child(5) {
    transform: rotate(80deg);
}
.loader:nth-child(6) {
    transform: rotate(100deg);
}
.loader:nth-child(7) {
    transform: rotate(120deg);
}
.loader:nth-child(8) {
    transform: rotate(140deg);
}
.loader:nth-child(9) {
    transform: rotate(160deg);
}

.loaderA:nth-child(2) {
    transform: rotate(20deg);
}
.loaderA:nth-child(3) {
    transform: rotate(40deg);
}
.loaderA:nth-child(4) {
    transform: rotate(60deg);
}
.loaderA:nth-child(5) {
    transform: rotate(80deg);
}
.loaderA:nth-child(6) {
    transform: rotate(100deg);
}
.loaderA:nth-child(7) {
    transform: rotate(120deg);
}
.loaderA:nth-child(8) {
    transform: rotate(140deg);
}
.loaderA:nth-child(9) {
    transform: rotate(160deg);
}

.ball1 {
    animation-delay: 0.06s;
}
.ball2 {
    animation-delay: 0.12s;
}
.ball3 {
    animation-delay: 0.18s;
}
.ball4 {
    animation-delay: 0.24s;
}
.ball5 {
    animation-delay: 0.30s;
}
.ball6 {
    animation-delay: 0.36s;
}
.ball7 {
    animation-delay: 0.42s;
}
.ball8 {
    animation-delay: 0.48s;
}
.ball9 {
    animation-delay: 0.54s;
}

@keyframes move {
    0% {
        transform: translateY(0em);
    }
    50% {
        transform: translateY(12em);
    }
    100% {
        transform: translateY(0em);
    }
}


.dicom-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.dicom-viewer {
    width: 256px;
    height: 256px;
    border: 1px solid black;
}

.swal2-container .swal2-html-container {
  max-height: 1000px !important;
}



/*START SIDEBAR*/
/* Contenedor principal */
.quick-nav-container {
    z-index: 1000;
}

/* Botón flotante */
.quick-nav-toggle {
    position: fixed;
    left: 20px;
    bottom: 20px;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #007bff;
    color: white;
    border: none;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.4);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    z-index: 1001;
}

.quick-nav-toggle:hover {
    background: #0056b3;
    transform: scale(1.1);
    box-shadow: 0 6px 16px rgba(0, 123, 255, 0.5);
}

.quick-nav-toggle svg {
    width: 24px;
    height: 24px;
}

/* Panel de documentos - Vista móvil por defecto */
.quick-nav-panel {
    position: fixed;
    left: -320px;
    bottom: 20px;
    width: 300px;
    max-height: 500px;
    background: white;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
    transition: left 0.3s ease;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.quick-nav-panel.active {
    left: 90px;
}

/* Header del panel */
.quick-nav-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #e9ecef;
    background: #f8f9fa;
}

.quick-nav-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.quick-nav-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666;
    transition: color 0.2s;
}

.quick-nav-close:hover {
    color: #000;
}

/* Contenido scrollable */
.quick-nav-content {
    overflow-y: auto;
    padding: 12px;
    flex: 1;
}

/* Items de documentos */
.quick-nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    margin-bottom: 8px;
    background: #f8f9fa;
    border-radius: 8px;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease;
    border: 1px solid transparent;
    width: 100%;
    text-align: left;
}

.quick-nav-item:hover {
    background: #e9ecef;
    border-color: #007bff;
    transform: translateX(2px);
}

.quick-nav-item img {
    flex-shrink: 0;
}

.quick-nav-item span {
    font-size: 14px;
    line-height: 1.4;
    word-break: break-word;
}

.quick-nav-empty {
    text-align: center;
    color: #999;
    padding: 40px 20px;
    font-size: 14px;
}

/* Scrollbar personalizado */
.quick-nav-content::-webkit-scrollbar {
    width: 6px;
}

.quick-nav-content::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.quick-nav-content::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}

.quick-nav-content::-webkit-scrollbar-thumb:hover {
    background: #999;
}

/* Desktop: >= 1440px */
@media (min-width: 1600px) {
    /* Ocultar botón flotante */
    .quick-nav-toggle {
        display: none;
    }

    /* Panel fijo en la parte superior derecha */
    .quick-nav-panel {
        position: fixed;
        top: 150px;
        right: 0px;
        left: auto;
        bottom: auto;
        width: clamp(200px, 12vw, 280px); /* Responsive: 265px en 1920px */
        max-height: calc(100vh - 40px);
        transition: none;
    }

    .quick-nav-panel.active {
        left: auto;
    }

    /* Ocultar botón de cerrar en desktop */
    .quick-nav-close {
        display: none;
    }

    /* Ajustar header */
    .quick-nav-header {
        justify-content: center;
    }
}

/* Tablet y móvil: < 1440px */
@media (max-width: 1599px) {
    .quick-nav-container {
        left: 10px;
        bottom: 10px;
    }

    .quick-nav-panel {
        width: calc(100vw - 20px);
        max-width: 300px;
    }

    .quick-nav-panel.active {
        left: 76px;
    }
}

/* Móvil pequeño */
@media (max-width: 480px) {
    .quick-nav-toggle {
        width: 48px;
        height: 48px;
    }

    .quick-nav-toggle svg {
        width: 20px;
        height: 20px;
    }

    .quick-nav-panel.active {
        left: 68px;
    }
}

/*END SIDEBAR*/
