@media (max-width: 860px) {
    .metric-grid,
    .split-grid {
        grid-template-columns: 1fr 1fr;
    }

    .hero-panel {
        min-height: 156px;
        padding: 18px;
    }

}

@media (max-width: 640px) {
    .os-topbar {
        padding: 12px 14px;
    }

    .os-topbar__meta span {
        display: none;
    }

    .os-shell {
        padding: 14px 10px 92px;
    }

    .hero-panel,
    .page-head {
        align-items: stretch;
        flex-direction: column;
    }

    .hero-panel .action-btn,
    .page-head .action-btn,
    .head-actions,
    .head-actions form,
    .head-actions .action-btn {
        width: 100%;
    }

    .metric-grid,
    .split-grid,
    .signal-grid {
        grid-template-columns: 1fr;
    }

    .day-strip {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 5px;
    }

    .day-pill {
        min-height: 74px;
        padding: 8px 3px;
        border-radius: 22px;
    }

    .day-pill strong {
        width: 36px;
        height: 31px;
        border-radius: 15px;
        font-size: 16px;
    }

    .dashboard-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .filter-pills {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 2px;
    }

    .upcoming-card {
        padding: 14px;
    }

    .upcoming-card__top {
        align-items: flex-start;
    }

    .upcoming-card__meta {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0;
    }

    .upcoming-card__meta span + span {
        padding-left: 8px;
        border-left: 1px solid var(--line-strong);
        padding-top: 0;
        border-top: 0;
    }

    .upcoming-card__meta span {
        gap: 5px;
        font-size: 11px;
    }

    .upcoming-card__meta i {
        font-size: 14px;
    }

    .metric-card {
        min-height: 86px;
    }

    .trainer-actions {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
    }

    .muscle-picker {
        grid-template-columns: 1fr;
    }

    .muscle-buttons {
        grid-template-columns: repeat(3, 1fr);
    }

    .report-filter {
        grid-template-columns: 1fr;
    }

    .schedule-head,
    .schedule-row {
        min-width: calc(48px + (var(--trainer-count, 5) * 75px));
        grid-template-columns: 48px repeat(var(--trainer-count, 5), 75px);
    }

    .schedule-head-scroller,
    .schedule-board {
        width: calc(100% + 20px);
        margin-inline: -10px;
    }

    .schedule-head strong,
    .slot-link strong,
    .slot-link span {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .slot-link strong {
        font-size: 11px;
    }

    .slot-link span {
        font-size: 9px;
    }

    .slot-link em {
        display: none;
    }
}
