.daily-table-head,
.daily-row {
    display: grid;
    grid-template-columns: 115px minmax(240px, 1.35fr) minmax(130px, 1fr) minmax(130px, .9fr) 110px minmax(150px, auto);
    gap: 18px;
    align-items: center;
}

.daily-table-head {
    padding: 11px 24px;
    background: #fbfcfa;
    color: #818a7e;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.daily-row {
    position: relative;
    min-height: 84px;
    padding: 15px 24px;
    border-top: 1px solid #edf0ea;
}

.daily-row::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--class-color, #a7cb37);
    content: "";
}

.daily-row.is-full::before { background: #e0a436; }
.daily-row.is-past { background: #fafbfa; opacity: .57; }
.daily-row > time, .daily-row > div { min-width: 0; }
.daily-row > div:nth-child(2) {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
}
.daily-row strong, .daily-row small { display: block; }
.daily-row strong { overflow-wrap: anywhere; font-size: 10px; }
.daily-row small, .daily-row time span { margin-top: 4px; color: #828a7f; font-size: 8px; }
.daily-row time strong { display: inline; font-size: 11px; white-space: nowrap; }
.daily-row time span { white-space: nowrap; }
.daily-row .places strong { font-size: 13px; }

.daily-action { display: flex; align-items: center; justify-content: flex-end; }
.daily-action form { display: flex; align-items: center; gap: 6px; margin: 0; }
.daily-action select { width: 105px; min-height: 35px; margin: 0; padding: 6px; font-size: 8px; }
.daily-action .button { white-space: nowrap; }
.row-status { color: #7e877a; font-size: 9px; font-weight: 800; }
.row-status.full { color: #a47620; }
.daily-empty { padding: 23px; color: #9aa197; font-size: 10px; text-align: center; }

@media (max-width: 1050px) and (min-width: 651px) {
    .daily-schedule { overflow-x: auto; }
    .daily-table { min-width: 980px; }
}

@media (max-width: 650px) {
    .daily-table { min-width: 0 !important; }
    .daily-table-head { display: none; }
    .daily-row {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 10px 14px;
        min-height: 0;
        padding: 16px 18px;
        align-items: start;
    }
    .daily-row > time { grid-column: 1; grid-row: 1; }
    .daily-row > div:nth-child(2) { grid-column: 2; grid-row: 1; }
    .daily-row > div:nth-child(3),
    .daily-row > div:nth-child(4),
    .daily-row .places,
    .daily-row .daily-action { grid-column: 2; }
    .daily-row > div:nth-child(3)::before { content: "Instruktor: "; }
    .daily-row > div:nth-child(4)::before { content: "Sala: "; }
    .daily-row > div:nth-child(3)::before,
    .daily-row > div:nth-child(4)::before {
        color: #858e82;
        font-size: 8px;
        font-weight: 800;
        text-transform: uppercase;
    }
    .daily-row .places {
        display: grid;
        grid-template-columns: auto 1fr;
        align-items: baseline;
        gap: 0 6px;
    }
    .daily-row .places .occupancy-meter-v171 { grid-column: 1 / -1; }
    .daily-action { justify-content: flex-start; }
    .daily-action .button, .daily-action form { width: 100%; }
}
