/* Ajustes sobre Bootstrap; sin build */

@media (max-width: 767.98px) {
    /* Menú apilado legible al abrir el burger */
    .navbar-collapse .navbar-nav {
        padding-top: 0.5rem;
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        margin-top: 0.5rem;
    }

    .navbar-collapse .nav-link.active {
        background-color: rgba(255, 255, 255, 0.15);
    }
}

/* Grilla ocupación (espejo de public/assets/css/app.css) */
.ocupacion-grid-wrap {
    max-height: min(72vh, 780px);
    overflow: auto;
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: #fff;
}

.table-ocupacion {
    font-size: 0.82rem;
    margin-bottom: 0;
}

.table-ocupacion th,
.table-ocupacion td {
    vertical-align: middle;
}

.table-ocupacion thead th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #f8f9fa;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);
}

.table-ocupacion thead th.ocupacion-corner {
    left: 0;
    z-index: 5;
    min-width: 8.5rem;
    max-width: 14rem;
    background: linear-gradient(180deg, #f0f4fa 0%, #edf2f7 100%);
    box-shadow:
        1px 0 0 rgba(0, 0, 0, 0.08),
        0 1px 0 rgba(0, 0, 0, 0.08);
}

.table-ocupacion thead th.ocupacion-date-head {
    min-width: 3.1rem;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
    line-height: 1.2;
}

.table-ocupacion thead th.ocupacion-col-hoy,
.table-ocupacion td.ocupacion-col-hoy {
    box-shadow: inset 0 0 0 2px rgba(13, 110, 253, 0.45);
    background-color: rgba(13, 110, 253, 0.06);
}

.table-ocupacion tbody th.ocupacion-row-head {
    position: sticky;
    left: 0;
    z-index: 2;
    min-width: 8.5rem;
    max-width: 14rem;
    background: #fff !important;
    box-shadow: 1px 0 0 rgba(0, 0, 0, 0.08);
}

.table-ocupacion .ocupacion-cell {
    min-width: 2.6rem;
    padding: 0.25rem 0.15rem;
}

.table-ocupacion .ocupacion-cell--clickable {
    cursor: pointer;
    user-select: none;
}

.table-ocupacion .ocupacion-cell--clickable:focus-visible {
    outline: 2px solid rgba(13, 110, 253, 0.65);
    outline-offset: -2px;
}

.table-ocupacion .ocupacion-cell--ocupado {
    background-color: #d8e7ff !important;
}

.table-ocupacion .ocupacion-cell--libre {
    background-color: #ecfdf3 !important;
}

.table-ocupacion .ocupacion-dot {
    display: inline-block;
    line-height: 1;
    font-size: 1rem;
}

.table-ocupacion .ocupacion-dot--busy {
    color: #0d6efd;
}

.table-ocupacion .ocupacion-dot--free {
    color: #198754;
    opacity: 0.85;
}

.table-ocupacion .ocupacion-cell--muted-free {
    opacity: 0.38;
    filter: grayscale(0.25);
}

.table-ocupacion .ocupacion-cell--muted-free .ocupacion-dot--free {
    opacity: 0.6;
}

.table-ocupacion .ocupacion-cell--muted-busy {
    opacity: 0.42;
    filter: grayscale(0.35);
}

.table-ocupacion .ocupacion-cell--muted-busy .ocupacion-dot--busy {
    font-size: 0.75rem;
    opacity: 0.85;
}

.bg-ocupado {
    background-color: #d8e7ff !important;
}
