@charset "UTF-8";
/* CSS Document */

/* Estructura de grilla calendario */
.d-flex.flex-column.gap-1 > * { flex: 1; }

.d-flex.flex-column.gap-1 .marco_occur_vacuo {
    max-width: 100%;
    width: 100%;
}

.d-flex.flex-column.gap-1 .marco_occur_vacuo,
.col-12.marco_occur_vacuo {
    max-width: 100%;
    width: 100%;
}

.cal-movil .row.g-1 {
    align-items: stretch;
}

.cal-movil .row.g-1 .col-6 {
    display: flex;
    flex-direction: column;
}

.cal-movil .row.g-1 .col-6 .marco_occur_vacuo_mobil,
.cal-movil .row.g-1 .col-6 .cal-cita {
    flex: 1;
}

.cal-grid        { display: flex; overflow-x: auto; }
.cal-col-hora    { min-width: 65px; width: 65px; flex-shrink: 0; }
.cal-col-dia     { flex: 1; min-width: 110px; border-left: 1px solid #dee2e6; }
.cal-header-cel  { text-align: center; padding: 5px 2px; font-size: 0.78rem; font-weight: bold;
                   border-bottom: 2px solid #dee2e6; background: #f8f9fa;
                   position: sticky; top: 0; z-index: 1; }
.cal-header-cel.hoy { background-color: #668fab !important; color: #fff; }
.cal-franja      { min-height: 40px; border-bottom: 1px solid #f0f0f0;
                   padding: 2px 3px; display: flex; flex-direction: column; gap: 2px; }
.cal-hora-cel    { font-size: 0.72rem; color: #999; text-align: right; padding-right: 5px;
                   min-height: 40px; border-bottom: 1px solid #f0f0f0;
                   display: flex; align-items: center; justify-content: flex-end; }
.cal-cita        { font-size: 0.72rem; cursor: pointer; padding: 3px 5px;
                   white-space: normal; overflow: visible;
                   text-overflow: unset; word-break: break-word; }
.cal-fuera       { min-height: 36px; background-color: #e9ecef; border-radius: 4px; margin: 2px 0; }
.cal-almuerzo    { min-height: 36px; background-color: #fff3cd; color: #856404;
                   border-radius: 4px; margin: 2px 0; font-size: 0.72rem;
                   display: flex; align-items: center; justify-content: center; }
.cal-morbus      { min-height: 36px; background-color: #f8d7da; color: #842029;
                   border-radius: 4px; margin: 2px 0; font-size: 0.72rem;
                   display: flex; align-items: center; justify-content: center; }
.cal-manutentio  { min-height: 36px; background-color: #d1ecf1; color: #0c5460;
                   border-radius: 4px; margin: 2px 0; font-size: 0.72rem;
                   display: flex; align-items: center; justify-content: center; }
.confirmatio     { height: 13px; margin-left: 3px; vertical-align: middle; }
.cal-movil       { display: none; }
#modalDesbloquear { z-index: 1060; }
#modalDesbloquear .modal-dialog { z-index: 1061; }
.select2-container { width: 100% !important; }


.cal-mini-semana     { font-size: 0.6rem; }

.cal-mini-hora       { width: 28px; min-width: 28px; max-width: 28px; color: #000; font-size: 0.55rem; padding: 1px 2px; border-bottom: 2px solid #c0c0c0; display: flex; align-items: center; justify-content: flex-end; font-weight: 500;}

.cal-mini-dia-header { width: calc((100% - 28px) / 7); min-width: calc((100% - 28px) / 7); text-align: center; font-weight: bold; padding: 2px 0; border-left: 1px solid #dee2e6; font-size: 0.6rem; border-bottom: 2px solid #c0c0c0; }

.cal-mini-col        { width: calc((100% - 28px) / 7); min-width: calc((100% - 28px) / 7); border-left: 1px solid #dee2e6; padding: 4px; border-bottom: 2px solid #c0c0c0;  display: grid; row-gap: 5px; }



.cal-mini-hoy        { background-color: #668fab; color: #fff; border-radius: 4px; margin-bottom: 5px; }



.cal-mini-cell       { min-height: 24px; padding: 5px; cursor: pointer; overflow: hidden; white-space: nowrap; }

.cal-mini-bloq       { background-color: #e9ecef; }


.cal-mini-cita       { background-color: #d4e6f1; font-size: 0.55rem; white-space: nowrap; overflow: hidden; text-overflow: clip;}

.cal-mini-s1         { background-color: #ddedf4; }

.cal-mini-s2         { background-color: #d9e2b4; }

.cal-mini-ico        { height: 12px; margin-right: 1px; vertical-align: middle; }

.cal-mini-semana .d-flex { width: 100%; }

.cal-mini-libre {
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cal-mini-doble { min-height: 48px !important; }

.marco_occur_prov {
    background-color: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 5px;
    font-size: 0.72rem;
    cursor: pointer;
    padding: 3px 5px;
    color: #856404;
}

.form-switch {
	padding-left: 0.2em !important;
}


@media (max-width: 767px) {
    .cal-desktop { display: none; }
    .cal-movil   { display: block; }
}