@media (min-width: 960px) {
    .grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 959px) {
    .jx-header { min-height: 56px; padding-block: 6px; }
    .jx-header__desktop, .jx-header__tools > .jx-desktop-only { display: none !important; }
    .jx-header__mobile { min-width: 0; flex: 1 1 auto; display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
    .jx-main { padding: 24px; }
    .workspace-layout, .layout-two-column { grid-template-columns: minmax(0, 1fr) !important; }
    .workspace-sidebar, .layout-sidebar { display: none !important; }
}

@media (max-width: 767px) {
    .jx-main { padding: 20px 16px; }
    .card { padding: 16px; margin-bottom: 12px; }
    .actions { gap: 8px; }
    body:is(
        [data-page-id="AUT-001"],
        [data-page-id="AUT-002"],
        [data-page-id="REV-002"],
        [data-page-id="ED-002"],
        [data-page-id="ED-004"],
        [data-page-id="ED-005"],
        [data-page-id="ED-006"],
        [data-page-id="EIC-003"],
        [data-page-id="ADM-001"],
        [data-page-id="SYS-001"]
    ) .workspace-content form > .actions:last-child,
    .jx-sticky-actions {
        position: sticky;
        z-index: 80;
        inset-block-end: 0;
        margin: 20px -16px -16px;
        padding: 12px 16px max(12px, env(safe-area-inset-bottom));
        border-top: 1px solid var(--jx-border);
        background: color-mix(in srgb, var(--jx-bg-surface) 96%, transparent);
        backdrop-filter: blur(12px);
    }
    table.jx-task-table, .jx-task-table thead, .jx-task-table tbody, .jx-task-table tr, .jx-task-table th, .jx-task-table td { display: block; max-width: 100%; min-width: 0; }
    .jx-task-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .jx-task-table tbody { display: grid; gap: 12px; }
    .jx-task-table tr { padding: 16px; border: 1px solid var(--jx-border); border-radius: var(--jx-radius-card); background: var(--jx-bg-surface); }
    .jx-task-table td { display: grid; grid-template-columns: minmax(88px, 32%) 1fr; gap: 8px; padding: 8px 0; border: 0; text-align: start; white-space: normal; }
    .jx-task-table td::before { content: attr(data-label); color: var(--jx-text-muted); font-size: 12px; font-weight: 600; }
    .jx-task-table td[data-primary="true"] { display: block; font-size: 16px; line-height: 24px; font-weight: 600; }
    .jx-task-table td[data-primary="true"]::before { display: none; }
    .jx-task-table input[type="checkbox"],
    .jx-task-table input[type="radio"] {
        width: 18px;
        height: 18px;
        min-height: 18px;
        padding: 0;
    }
    .jx-task-table :is(.jx-status, .status-chip, .list-guidance-badge) {
        max-width: 100%;
        white-space: normal;
    }
    .jx-task-table td[data-type="action"] { display: flex; justify-content: stretch; }
    .jx-task-table td[data-type="action"] > * { width: 100%; }
    .jx-task-table .button.small,
    .jx-task-table .jx-table-action {
        min-height: var(--jx-touch-target);
        padding: 9px 16px;
    }
    .jx-task-table .button.small::after,
    .jx-task-table .jx-table-action::after {
        width: 100%;
        height: 100%;
    }
    .jx-task-table :is(
        .jx-col--status,
        .jx-cell--status,
        .jx-col--stage,
        .jx-cell--stage,
        .jx-col--guidance,
        .jx-cell--guidance,
        .jx-col--action,
        .jx-cell--action
    ) { min-width: 0; }
    .jx-table-scroll:has(.jx-task-table) { overflow: visible; }
    .jx-task-table.jx-table--dense, .jx-task-table.jx-table--eic-overview { min-width: 0; }
}

@media (max-width: 639px) {
    input, select, textarea { font-size: 16px !important; }
    .page-heading { font-size: 22px; line-height: 30px; }
    .jx-signup-card { margin-block: 0; }
    .jx-signup-verification-row,
    .jx-signup-phone-row,
    .jx-signup-phone-row--optional { grid-template-columns: minmax(0, 1fr); }
    .jx-signup-verification-row > .button,
    .jx-signup-phone-send { width: 100%; }
    .modal-backdrop, .reminder-modal-backdrop, .dashboard-modal, .withdraw-modal { align-items: end; padding: 0; }
    .modal-card, .reminder-modal-card, .dashboard-modal-dialog, .withdraw-modal-panel {
        width: 100%;
        max-width: none;
        max-height: 90dvh;
        padding: 20px 16px max(20px, env(safe-area-inset-bottom));
        border-radius: 16px 16px 0 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

@media (max-width: 959px) {
    .jx-landing-shell {
        grid-template-columns: minmax(0, 1fr);
        gap: 48px;
        padding: 48px 24px 64px;
    }
    .jx-marketing-hero { max-width: 760px; padding-top: 0; }
    .jx-inquiry-card { width: min(100%, 720px); }
}

@media (max-width: 639px) {
    .jx-public-header__inner { padding-inline: 16px; }
    .jx-public-language button { padding-inline: 9px; }
    .jx-landing-shell { gap: 36px; padding: 36px 16px 48px; }
    .jx-marketing-hero h1 { font-size: 38px; line-height: 44px; }
    .jx-marketing-lead { font-size: 19px; line-height: 28px; }
    .jx-marketing-description { font-size: 16px; line-height: 27px; }
    .jx-marketing-values { margin-top: 32px; }
    .jx-inquiry-card { padding: 20px 16px; }
    .jx-inquiry-form { grid-template-columns: minmax(0, 1fr); }
    .jx-inquiry-field--full { grid-column: auto; }
    .jx-inquiry-verification-row { grid-template-columns: minmax(0, 1fr); }
    .jx-inquiry-verification-row .button { width: 100%; }
    .jx-public-footer { align-items: flex-start; flex-direction: column; padding: 20px 16px; }
}
