@media (max-width: 1340px) {
    .para-em-stat-grid-5 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .para-em-program-layout { grid-template-columns: 1fr; }
}

@media (max-width: 1180px) {
    .para-em-stat-grid-4,
    .para-em-stat-grid-5,
    .para-em-extension-grid,
    .para-em-form-grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

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

@media (max-width: 960px) {
    :root {
        --para-em-page-padding-x: 18px;
        --para-em-page-padding-y: 20px;
        --para-em-topbar-height: 64px;
    }

    body.para-em-app-mode,
    body.para-em-app-mode #wpwrap,
    body.para-em-app-mode #wpcontent,
    body.para-em-app-mode #wpbody,
    body.para-em-app-mode #wpbody-content,
    .para-em-app,
    .para-em-workspace,
    .para-em-main,
    .para-em-content-frame,
    .para-em-page {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .para-em-app { overflow-x: clip; }

    .para-em-sidebar {
        width: min(320px, 88vw);
        transform: translateX(-100%);
        transition: transform 180ms ease;
        box-shadow: 0 18px 45px rgba(15, 23, 42, .2);
    }

    body.para-em-sidebar-open { overflow: hidden; }
    body.para-em-sidebar-open .para-em-sidebar { transform: translateX(0); }

    .para-em-sidebar-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 10020;
        background: rgba(15, 23, 42, .32);
        opacity: 0;
        visibility: hidden;
        transition: opacity 180ms ease, visibility 180ms ease;
    }

    body.para-em-sidebar-open .para-em-sidebar-backdrop { opacity: 1; visibility: visible; }
    .para-em-sidebar .para-em-sidebar-close { display: grid !important; margin-left: auto; flex: 0 0 auto; }
    .para-em-workspace { margin-left: 0; }
    .para-em-mobile-menu { display: inline-grid !important; flex: 0 0 auto; }

    .para-em-topbar {
        height: var(--para-em-topbar-height);
        min-height: var(--para-em-topbar-height);
        padding: 9px var(--para-em-page-padding-x);
        flex-wrap: nowrap;
        align-items: center;
    }

    .para-em-topbar-left {
        width: 100%;
        min-width: 0;
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 9px;
    }

    .para-em-topbar-right,
    .para-em-topbar-left > .para-em-badge,
    .para-em-event-context { display: none; }

    .para-em-event-switcher {
        width: auto;
        min-width: 0;
        flex: 1 1 auto;
    }

    .para-em-event-switcher select {
        width: 100%;
        min-width: 0;
        max-width: none;
        padding-right: 34px !important;
        text-overflow: ellipsis;
    }

    .para-em-page-header {
        min-height: 0;
        margin-bottom: 18px;
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }

    .para-em-page-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .para-em-page-actions > * { flex: 1 1 auto; }

    .para-em-toast-region {
        top: calc(var(--para-em-topbar-height) + 12px);
        left: 50%;
        width: min(500px, calc(100vw - 28px));
        transform: translateX(-50%);
    }
}

@media (max-width: 782px) {
    :root {
        --para-em-page-padding-x: 14px;
        --para-em-page-padding-y: 16px;
    }

    .para-em-brand {
        padding-inline: 14px;
        gap: 10px;
    }
    .para-em-brand-mark { width: 42px; height: 42px; }
    .para-em-brand-copy strong { font-size: 13px; }
    .para-em-brand-copy span { font-size: 12px; }
    .para-em-sidebar .para-em-sidebar-close { width: 40px; height: 40px; }
    .para-em-back-wp { margin-inline: 10px; }
    .para-em-nav { padding-inline: 8px; }

    .para-em-page-header h1 { font-size: 26px; }
    .para-em-page-header p { font-size: 12px; }

    .para-em-page-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .para-em-page-actions > * { width: 100%; }

    .para-em-stat-grid-4,
    .para-em-stat-grid-5,
    .para-em-extension-grid,
    .para-em-brand-settings,
    .para-em-brand-text-fields,
    .para-em-form-grid-2,
    .para-em-form-grid-3,
    .para-em-switch-card-grid { grid-template-columns: 1fr; }

    .para-em-stat-grid { gap: 20px; }
    .para-em-stat-card { min-height: 112px; padding: 15px; }

    .para-em-toolbar {
        padding: 12px;
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .para-em-toolbar .para-em-search-field,
    .para-em-toolbar select { width: 100%; min-width: 0; }
    .para-em-toolbar-spacer { display: none; }
    .para-em-toolbar > .para-em-muted { padding: 2px 2px 0; }

    .para-em-setting-row,
    .para-em-card-header { align-items: flex-start; }

    .para-em-setting-row {
        flex-direction: column;
        gap: 12px;
    }

    .para-em-card-header {
        min-height: 0;
        padding: 16px;
    }

    .para-em-activity-row,
    .para-em-session-card { grid-template-columns: 1fr; }

    .para-em-session-list { padding: 12px; }
    .para-em-session-card { gap: 10px; padding: 12px; }
    .para-em-drag-handle { width: auto; height: 28px; justify-content: flex-start; }
    .para-em-session-actions { width: 100%; justify-content: flex-end; }
    .para-em-session-meta { gap: 8px; }

    .para-em-day-tabs {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .para-em-day-tab { min-width: 0; }
    .para-em-mini-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 14px; }
    .para-em-mini-stats strong { font-size: 25px; }

    .para-em-drawer-panel,
    .para-em-drawer-wide .para-em-drawer-panel,
    .para-em-drawer-profile .para-em-drawer-panel {
        width: 100vw;
        max-width: 100vw;
    }

    .para-em-drawer-header { padding: 14px 16px; }
    .para-em-form-section { padding: 18px 16px; }

    .para-em-danger-zone { flex-direction: column; align-items: flex-start; }
    .para-em-save-dock { right: 10px; bottom: 10px; width: min(240px, calc(100vw - 20px)); }

    .para-em-table-wrap {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .para-em-table { min-width: 680px; }
}

@media (max-width: 480px) {
    .para-em-day-tabs { grid-template-columns: 1fr; }
    .para-em-mini-stats { grid-template-columns: 1fr; }
    .para-em-user-chip { display: none; }
    .para-em-save-dock { width: calc(100vw - 20px); }
    .para-em-toast { padding: 14px; grid-template-columns: 32px 1fr 22px; }
    .para-em-toast > .dashicons { width: 30px; height: 30px; font-size: 19px; line-height: 30px; }
}

@media (max-width: 640px) {
    .para-em-archive-toolbar { align-items: stretch; }
    .para-em-archive-select-all { justify-content: space-between; width: 100%; }
    .para-em-archive-bulk-bar { align-items: stretch; flex-direction: column; }
    .para-em-archive-bulk-bar .para-em-button { width: 100%; }
}
