/* =========================================================
   MOCURVE SAAS — RESPONSIVE
   ========================================================= */

@media (max-width: 1200px) {
    .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .dashboard-grid {
        grid-template-columns: 1fr 1fr;
    }

    .dashboard-grid .panel--large {
        grid-column: 1 / -1;
    }

    .bottom-grid {
        grid-template-columns: 1fr 1fr;
    }

    .bottom-grid .panel:last-child {
        grid-column: 1 / -1;
    }
}

@media (max-width: 900px) {
    :root {
        --sidebar-width: 0px;
    }

    .sidebar {
        width: 250px;
        transform: translateX(-100%);
        transition: transform 220ms ease;
    }

    body.sidebar-open .sidebar {
        transform: translateX(0);
    }

    .sidebar__close {
        display: block;
    }

    .sidebar-overlay {
        position: fixed;
        inset: 0;
        z-index: 90;
        background: rgba(0,0,0,.42);
        backdrop-filter: blur(2px);
    }

    body.sidebar-open .sidebar-overlay {
        display: block;
    }

    .main-content {
        width: 100%;
        margin-left: 0;
    }

    .menu-toggle {
        display: grid;
        place-items: center;
    }

    .topbar {
        padding: 0 24px;
    }

    .page-content {
        padding: 28px 24px 42px;
    }
}

@media (max-width: 700px) {
    .topbar {
        min-height: 72px;
    }

    .topbar__eyebrow {
        display: none;
    }

    .topbar h1 {
        font-size: 19px;
    }

    .user-menu__info,
    .user-menu__arrow {
        display: none;
    }

    .welcome-section {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .period-selector {
        width: 100%;
    }

    .period-selector button {
        width: 100%;
    }

    .stats-grid,
    .dashboard-grid,
    .bottom-grid {
        grid-template-columns: 1fr;
    }

    .dashboard-grid .panel--large,
    .bottom-grid .panel:last-child {
        grid-column: auto;
    }

    .panel {
        padding: 20px;
    }

    .payment-actions {
        flex-direction: column;
    }
}

@media (max-width: 460px) {
    .topbar {
        padding: 0 15px;
    }

    .page-content {
        padding: 23px 15px 35px;
    }

    .topbar__actions {
        gap: 7px;
    }

    .welcome-section h2 {
        font-size: 23px;
    }

    .stats-grid {
        gap: 10px;
    }

    .stat-card {
        padding: 17px;
    }

    .stat-card__value {
        font-size: 25px;
    }

    .panel {
        border-radius: var(--radius-md);
    }

    .approval-item {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .approval-item .status {
        grid-column: 2;
        justify-self: start;
    }

    .payment-summary {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}
