/* Zypexa Exit-Beta UI Stage 5 Pass 2 — consolidated component system.
   Source-family rule order is preserved from the validated pre-cleanup files. */

/* ==========================================================================
   Stage 3 Pass 2 — Email & Campaign Workspaces
   ========================================================================== */
/* Zypexa Exit-Beta UI Stage 3 Pass 2 — Email & Campaign workspace polish. */
/* Email reporting UX Pass 3: progressive disclosure and bounded data surfaces. */
.zxp-report-shortcuts { display:flex; gap:8px; align-items:center; flex-wrap:wrap; padding:6px 0; }
.zxp-report-shortcuts a { display:inline-flex; align-items:center; padding:7px 12px; border:1px solid var(--border, #d9e5f2); border-radius:8px; font-weight:600; text-decoration:none; background:var(--panel-soft, #f6f9fd); }
.zxp-report-shortcuts a:focus-visible, .zxp-report-disclosure > summary:focus-visible { outline:2px solid #2466ce; outline-offset:3px; }
.zxp-report-table-window { width:100%; min-width:0; max-width:100%; overflow:auto; scrollbar-width:thin; overscroll-behavior:contain; }
.email-campaigns-workspace .zxp-report-table-window { max-height:min(72vh, 850px); }
.zxp-report-disclosure { min-width:0; margin-top:12px; }
.zxp-report-disclosure > summary { cursor:pointer; list-style:revert; font-weight:700; padding:12px 16px; border:1px solid var(--border, #d9e5f2); border-radius:10px; background:var(--panel-soft, #f6f9fd); }
.zxp-report-disclosure[open] > summary { margin-bottom:12px; }
.zxp-report-disclosure > .card { max-width:100%; }
.zxp-report-note { margin:10px 0; line-height:1.5; }
.zxp-report-detail-window { max-height:min(58vh, 550px); min-width:0; max-width:100%; overflow:auto; overscroll-behavior:contain; }
.zxp-report-detail-window table { min-width:720px; }
.zxp-report-detail-window thead th { position:sticky; top:0; z-index:2; background:var(--panel, #fff); }
.zxp-report-detail-window td.break-word, .zxp-report-detail-window .break-word { overflow-wrap:anywhere; word-break:break-word; }
.zxp-report-detail-window .analysis-reasons { max-width:360px; }
.zxp-report-actions-row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:10px 0; }
.zxp-report-actions-row > a, .zxp-report-actions-row > button { white-space:normal; }
.zxp-analysis-overview .analysis-grid { margin-top:12px; }
.zxp-analysis-advanced > summary { margin:0; }
.zxp-analysis-recipients { scroll-margin-top:18px; }
.zxp-analysis-recipients > .card { margin-bottom:12px; }
@container zxp-main-shell (max-width: 900px) {
  .zxp-email-workspace .zxp-page-header > .zxp-page-heading { flex:0 1 auto; width:100%; }
  .email-campaigns-workspace .email-campaign-filter-card .grid-4 { grid-template-columns:minmax(0, 1fr); }
  .zxp-report-shortcuts { gap:6px; }
  .zxp-report-shortcuts a { flex:1 1 auto; justify-content:center; }
}
@media (max-width: 700px) {
  .zxp-report-detail-window { max-height:60vh; }
  .zxp-report-shortcuts a { flex:1 1 45%; }
}
.zxp-email-workspace,
.zxp-email-workspace > *,
.zxp-email-workspace form,
.zxp-email-workspace .table-wrap,
.zxp-email-workspace .table-scroll {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
}

.zxp-email-workspace.zxp-page-stack {
    gap: 16px;
    align-content: start;
    grid-auto-rows: max-content;
}

.zxp-email-workspace .zxp-page-header {
    align-items: flex-start;
    gap: 16px;
}

.zxp-email-workspace .zxp-page-heading {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
}

/* A wrapped or stacked page heading must never reserve 520px vertically. */
.zxp-email-workspace .zxp-page-header {
    min-height: 0;
    height: auto;
}
@media (max-width: 980px) {
    .zxp-email-workspace .zxp-page-header > .zxp-page-heading {
        flex: 0 1 auto;
        width: 100%;
    }
}
@container zxp-main-shell (max-width: 1320px) {
    .zxp-email-workspace .zxp-page-header > .zxp-page-heading {
        flex-basis: auto;
        min-height: 0;
    }
}

.zxp-email-workspace .zxp-page-heading h1,
.zxp-email-workspace .zxp-page-heading p,
.zxp-email-workspace td,
.zxp-email-workspace th {
    overflow-wrap: anywhere;
}

.zxp-email-workspace .zxp-page-actions,
.zxp-email-workspace .row-actions,
.zxp-email-workspace .form-actions {
    max-width: 100%;
}

.zxp-email-workspace .zxp-page-actions > *,
.zxp-email-workspace .row-actions > *,
.zxp-email-workspace .form-actions > * {
    min-width: 0;
}

.email-template-workspace__header.page-header-row.zxp-page-header,
.simple-template-workspace__header.page-header-row.zxp-page-header {
    justify-content: space-between;
}

.email-template-workspace__primary-actions.zxp-page-actions,
.simple-template-workspace__actions.zxp-page-actions {
    justify-content: flex-end;
}

.email-template-workspace__header > .zxp-page-heading,
.simple-template-workspace__header > .zxp-page-heading {
    max-width: 760px;
}

.email-template-filters,
.email-campaign-filter-card,
.email-detail-filter-card {
    border-color: var(--surface-border, var(--border));
    background: var(--panel-soft);
    box-shadow: var(--surface-shadow);
}

.zxp-email-table-wrap,
.email-campaign-detail-workspace .table-scroll {
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

.email-template-table,
.email-campaign-table,
.email-unsubscribe-table {
    min-width: 820px;
}

.email-template-form-workspace {
    overflow: visible;
}

.email-template-form-header {
    margin-bottom: 2px;
}

.email-template-form-workspace #email-template-form {
    gap: 14px;
}

.email-template-form-workspace .merge-row,
.email-template-form-workspace .builder-label-row,
.email-template-form-workspace .form-actions {
    min-width: 0;
    max-width: 100%;
}

.simple-template-workspace__notice,
.simple-template-list-panel,
.simple-template-editor-panel,
.simple-template-editor,
.simple-template-preview-panel,
.simple-template-test-panel {
    min-width: 0;
    max-width: 100%;
}

.simple-template-list-panel,
.simple-template-editor-panel {
    border-color: var(--surface-border, var(--border));
    background: var(--panel);
    box-shadow: var(--surface-shadow);
}

.simple-template-list-item:focus-visible,
.simple-template-body-input:focus-visible {
    outline: 3px solid var(--control-focus-ring);
    outline-offset: 2px;
}

.email-campaigns-workspace {
    overflow: hidden;
}

.email-campaigns-header {
    margin: 0;
}

.email-campaign-filter-card {
    margin: 0;
}

.email-campaign-filter-card .grid-4 {
    align-items: end;
}

.email-campaign-filter-card .report-filter-actions {
    align-self: end;
}

.email-campaign-table {
    min-width: 980px;
}

.email-campaign-detail-meta {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--surface-border, var(--border));
    border-radius: 12px;
    background: var(--panel-soft);
}

.email-detail-section,
.email-detail-analysis-banner {
    margin-top: 0;
}

.email-detail-schedule-form {
    align-items: end;
}

.email-detail-unschedule-form {
    margin-top: 12px;
}

.email-detail-analysis-banner {
    margin-bottom: 0;
}

.email-detail-advanced-metrics {
    margin: 0;
}

.email-detail-advanced-metrics > summary {
    width: fit-content;
    list-style: none;
    cursor: pointer;
}

.email-detail-advanced-metrics > summary::-webkit-details-marker {
    display: none;
}

.email-detail-advanced-metrics > summary::after {
    content: "Show";
    margin-left: 8px;
    font-size: 0.78em;
    opacity: 0.72;
}

.email-detail-advanced-metrics[open] > summary::after {
    content: "Hide";
}

.email-detail-advanced-metrics-card {
    margin-top: 12px;
    padding-top: 20px;
}

.email-detail-advanced-metrics-card > h2 {
    margin-bottom: 4px;
}

.email-detail-filter-card {
    margin: 0;
}

.email-detail-filter-grid {
    align-items: center;
}

.email-campaign-detail-workspace .campaign-metrics-grid,
.email-campaign-confirmation-workspace .stats {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.email-blast-builder-form {
    gap: 16px;
}

.email-template-readiness {
    margin-top: 10px;
}

.email-blast-builder-workspace .selector-panel,
.email-campaign-confirmation-workspace .subtle-card,
.email-campaign-confirmation-workspace .preview-box {
    min-width: 0;
    max-width: 100%;
}

.email-blast-builder-workspace .selector-toolbar {
    min-width: 0;
    max-width: 100%;
}

.email-blast-builder-workspace .selector-toolbar input,
.email-blast-builder-workspace .selector-toolbar select {
    min-width: 0;
}

.email-confirmation-summary {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border: 1px solid var(--surface-border, var(--border));
    border-radius: 13px;
    background: var(--panel-soft);
}

.email-confirmation-summary p {
    margin: 0;
}

.email-preview-subject {
    margin-top: 10px;
}

.email-delivery-card {
    display: grid;
    gap: 8px;
    margin-top: 18px;
}

.email-delivery-choice {
    margin-top: 0;
}

.email-schedule-fields {
    display: grid;
    gap: 7px;
    margin-top: 4px;
}

.email-schedule-fields[hidden] {
    display: none;
}

.email-confirm-form > .form-actions {
    margin-top: 12px;
}

.email-unsubscribe-workspace .zxp-data-table-card {
    padding: 0;
    overflow: hidden;
}

.email-unsubscribe-workspace .zxp-empty-state {
    min-height: 180px;
    border: 0;
    box-shadow: none;
}

@media (min-width: 981px) {
    @container zxp-main-shell (max-width: 1320px) {
        .email-template-workspace__header.page-header-row.zxp-page-header,
        .simple-template-workspace__header.page-header-row.zxp-page-header,
        .email-campaigns-header.zxp-page-header,
        .email-campaign-detail-header.zxp-page-header,
        .email-blast-builder-header.zxp-page-header,
        .email-confirmation-header.zxp-page-header,
        .email-template-form-header.zxp-page-header {
            align-items: stretch;
            flex-direction: column;
            justify-content: flex-start;
        }

        .email-template-workspace__primary-actions.zxp-page-actions,
        .simple-template-workspace__actions.zxp-page-actions,
        .email-campaigns-header .zxp-page-actions,
        .email-campaign-detail-header .zxp-page-actions {
            width: 100%;
            justify-content: flex-start;
        }

        .email-template-filters {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .email-template-filters__actions {
            grid-column: 1 / -1;
            justify-content: flex-start;
        }

        .simple-template-layout {
            grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);
        }

        .email-campaign-filter-card .grid-4 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .email-campaign-filter-card .report-filter-actions {
            justify-content: flex-start;
        }
    }

    @container zxp-main-shell (max-width: 1040px) {
        .simple-template-layout,
        .email-template-form-workspace .grid-3,
        .email-blast-primary-grid,
        .email-detail-filter-grid {
            grid-template-columns: minmax(0, 1fr);
        }

        .simple-template-list {
            max-height: 360px;
        }

        .email-campaign-filter-card .grid-4 {
            grid-template-columns: minmax(0, 1fr);
        }

        .email-blast-builder-workspace .selector-toolbar {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @container zxp-main-shell (max-width: 840px) {
        .zxp-email-workspace .zxp-page-actions > *,
        .zxp-email-workspace .row-actions > *,
        .zxp-email-workspace .form-actions > * {
            flex: 1 1 180px;
        }

        .email-template-filters,
        .simple-template-form-grid,
        .email-blast-builder-workspace .selector-toolbar {
            grid-template-columns: minmax(0, 1fr);
        }

        .email-template-filters__actions {
            grid-column: 1;
        }

        .email-campaign-detail-workspace .campaign-metrics-grid,
        .email-campaign-confirmation-workspace .stats {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }
}

@media (max-width: 980px) {
    .zxp-email-workspace .zxp-page-header {
        align-items: stretch;
        flex-direction: column;
        justify-content: flex-start;
    }

    .zxp-email-workspace .zxp-page-actions,
    .zxp-email-workspace .row-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .email-campaign-filter-card .grid-4,
    .email-detail-filter-grid,
    .email-blast-primary-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 640px) {
    .zxp-email-workspace .zxp-page-actions > *,
    .zxp-email-workspace .row-actions > *,
    .zxp-email-workspace .form-actions > * {
        flex: 1 1 100%;
        width: 100%;
    }

    .email-campaign-detail-workspace .campaign-metrics-grid,
    .email-campaign-confirmation-workspace .stats {
        grid-template-columns: minmax(0, 1fr);
    }

    .email-confirmation-summary {
        padding: 12px;
    }

    .email-template-table,
    .email-campaign-table,
    .email-unsubscribe-table {
        min-width: 720px;
    }
}

/* ==========================================================================
   Stage 3 Pass 3 — Reporting & Analytics
   ========================================================================== */
/* Zypexa Exit-Beta UI Stage 3 Pass 3 — Reporting & Analytics workspace polish. */

/* Externalized from reports.html without behavioral changes. */
    .report-call-media {
        min-width: 96px;
    }

    .report-call-media details summary {
        cursor: pointer;
        color: #0b5bb8;
        font-weight: 800;
        font-size: 12px;
    }

    .report-call-transcript {
        white-space: pre-wrap;
        max-width: 420px;
        max-height: 190px;
        overflow: auto;
        margin: 8px 0 0;
        padding: 10px;
        background: #f8fbff;
        border: 1px solid #dbe7f6;
        border-radius: 10px;
        font-size: 12px;
        line-height: 1.45;
    }

    .report-visual-card h2 {
        margin-bottom: 6px;
    }

    .report-chart-note {
        margin: 0 0 12px;
        color: #6b7280;
        font-size: 12px;
    }

    .report-chart-wrap {
        position: relative;
        min-height: 280px;
    }

    .report-chart-wrap.report-chart-wrap-sm {
        min-height: 240px;
    }

    .report-chart-summary {
        margin-top: 12px;
    }

    .report-chart-summary div {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 8px 0;
        border-top: 1px solid #e5edf7;
        font-size: 12px;
    }

    .report-chart-summary div:first-child {
        border-top: 0;
        padding-top: 0;
    }

    .report-chart-summary strong {
        font-size: 13px;
    }

/* Externalized from reports_dispositions.html without behavioral changes. */
    .dispo-page {
        max-width: 100%;
    }

    .dispo-toolbar {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .dispo-filter-card,
    .dispo-table-card,
    .dispo-ai-card {
        background: rgba(255, 255, 255, 0.82);
        border: 1px solid rgba(148, 163, 184, 0.35);
        border-radius: 18px;
        padding: 1rem;
        box-shadow: 0 18px 45px rgba(15, 23, 42, 0.06);
        margin-bottom: 1rem;
    }

    .dispo-filter-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(180px, 1fr));
        gap: 0.75rem;
        align-items: end;
    }

    .dispo-filter-grid label {
        font-size: 0.78rem;
        font-weight: 800;
        color: #334155;
        display: grid;
        gap: 0.25rem;
    }

    .dispo-filter-grid input,
    .dispo-filter-grid select {
        width: 100%;
        min-height: 38px;
    }

    .dispo-stats {
        display: grid;
        grid-template-columns: repeat(5, minmax(130px, 1fr));
        gap: 0.75rem;
        margin: 1rem 0;
    }

    .dispo-stat {
        border: 1px solid rgba(148, 163, 184, 0.35);
        background: rgba(248, 250, 252, 0.9);
        border-radius: 14px;
        padding: 0.8rem;
    }

    .dispo-stat span {
        display: block;
        color: #64748b;
        font-size: 0.72rem;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        font-weight: 800;
    }

    .dispo-stat strong {
        font-size: 1.3rem;
        color: #0f172a;
    }

    .dispo-table-wrap {
        max-height: calc(100vh - 360px);
        overflow: auto;
        border: 1px solid rgba(148, 163, 184, 0.35);
        border-radius: 14px;
        background: #fff;
    }

    .dispo-table {
        width: 100%;
        min-width: 1250px;
        border-collapse: separate;
        border-spacing: 0;
        font-size: 0.82rem;
    }

    .dispo-table th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: #f8fafc;
        color: #334155;
        text-align: left;
        padding: 0.65rem;
        border-bottom: 1px solid #cbd5e1;
        white-space: nowrap;
    }

    .dispo-table td {
        padding: 0.65rem;
        border-bottom: 1px solid #e2e8f0;
        vertical-align: top;
    }

    .dispo-table tr:hover td {
        background: #f8fbff;
    }

    .dispo-muted {
        color: #64748b;
    }

    .dispo-badge {
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: 0.18rem 0.48rem;
        font-size: 0.72rem;
        font-weight: 800;
        white-space: nowrap;
    }

    .dispo-badge-none {
        background: #f1f5f9;
        color: #64748b;
    }

    .dispo-badge-human {
        background: #dcfce7;
        color: #166534;
    }

    .dispo-badge-ai {
        background: #dbeafe;
        color: #1d4ed8;
    }

    .dispo-badge-match {
        background: #ccfbf1;
        color: #0f766e;
    }

    .dispo-badge-mismatch {
        background: #fee2e2;
        color: #b91c1c;
    }

    .dispo-notes {
        color: #475569;
        font-size: 0.76rem;
        margin-top: 0.25rem;
        max-width: 260px;
    }

    .dispo-transcript {
        max-width: 340px;
        color: #475569;
        font-size: 0.76rem;
        line-height: 1.35;
    }

    .dispo-media-actions {
        display: grid;
        gap: 0.35rem;
        min-width: 130px;
    }

    .dispo-media-actions summary {
        cursor: pointer;
        color: #0b5bb8;
        font-weight: 800;
        font-size: 0.74rem;
    }

    .dispo-transcript-full {
        white-space: pre-wrap;
        max-width: 420px;
        max-height: 220px;
        overflow: auto;
        margin: 0.45rem 0 0;
        padding: 0.65rem;
        background: #f8fbff;
        border: 1px solid #dbe7f6;
        border-radius: 10px;
        font-size: 0.76rem;
        line-height: 1.4;
    }

    @media (max-width: 1100px) {
        .dispo-filter-grid,
        .dispo-stats {
            grid-template-columns: repeat(2, minmax(160px, 1fr));
        }
    }
    .dispo-visual-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(190px, 1fr));
        gap: 0.75rem;
        margin-bottom: 1rem;
    }

    .dispo-visual-card {
        background: rgba(255, 255, 255, 0.86);
        border: 1px solid rgba(148, 163, 184, 0.35);
        border-radius: 16px;
        padding: 0.9rem;
        box-shadow: 0 16px 36px rgba(15, 23, 42, 0.05);
    }

    .dispo-visual-card h3 {
        margin: 0 0 0.75rem;
        font-size: 0.92rem;
    }

    .dispo-bar-row {
        display: grid;
        grid-template-columns: minmax(90px, 1fr) 2fr auto;
        gap: 0.45rem;
        align-items: center;
        margin: 0.35rem 0;
        font-size: 0.75rem;
    }

    .dispo-bar-track {
        height: 9px;
        border-radius: 999px;
        background: #e2e8f0;
        overflow: hidden;
    }

    .dispo-bar-fill {
        height: 100%;
        width: var(--pct, 0%);
        border-radius: 999px;
        background: linear-gradient(90deg, #0f766e, #0b5bb8);
    }

    .dispo-edit-panel {
        margin-top: 0.45rem;
    }

    .dispo-edit-panel summary {
        cursor: pointer;
        display: inline-flex;
        align-items: center;
        width: fit-content;
        border-radius: 999px;
        padding: 0.25rem 0.55rem;
        background: #eff6ff;
        color: #0b4aa2;
        border: 1px solid #bfdbfe;
        font-size: 0.72rem;
        font-weight: 800;
        list-style: none;
    }

    .dispo-edit-panel summary::-webkit-details-marker {
        display: none;
    }

    .dispo-edit-form {
        margin-top: 0.5rem;
        display: grid;
        gap: 0.35rem;
        max-width: 260px;
    }

    .dispo-edit-form select,
    .dispo-edit-form input {
        min-height: 30px;
        font-size: 0.75rem;
    }

    @media (max-width: 1200px) {
        .dispo-visual-grid {
            grid-template-columns: repeat(2, minmax(190px, 1fr));
        }
    }\n\n/* Shared reporting workspace finish. */
body.zxp-reporting-page .content-wrap > * {
    min-width: 0;
}

.zxp-reporting-workspace,
body.zxp-reporting-page .automation-analytics,
body.zxp-reporting-page .automation-ops {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.zxp-reporting-header {
    align-items: flex-start;
    gap: clamp(12px, 1vw, 18px);
    margin-bottom: 2px;
}

.zxp-reporting-header .zxp-page-heading {
    flex: 1 1 620px;
    min-width: 0;
    max-width: min(980px, 100%);
}

.zxp-reporting-header .zxp-page-heading h1,
.zxp-reporting-header .zxp-page-heading p {
    overflow-wrap: anywhere;
}

.zxp-reporting-header .zxp-page-actions {
    flex: 0 1 auto;
    justify-content: flex-end;
    gap: 8px;
}

.zxp-reporting-header .zxp-page-actions > * {
    min-width: 0;
}

.zxp-reporting-filter-card {
    width: 100%;
    min-width: 0;
    margin: 0;
    border-color: var(--surface-border, var(--border));
    background: var(--panel-soft);
    box-shadow: var(--surface-shadow);
}

.zxp-reporting-dashboard-page .report-filter-card {
    display: grid;
    gap: 12px;
}

.zxp-reporting-dashboard-page .report-filter-card .grid-3 {
    margin: 0;
}

.zxp-reporting-dashboard-page .report-filter-card label,
.zxp-reporting-dashboard-page .report-filter-card input,
.zxp-reporting-dashboard-page .report-filter-card select {
    min-width: 0;
    max-width: 100%;
}

.zxp-reporting-dashboard-page .report-filter-actions {
    align-self: end;
    justify-content: flex-start;
}

.zxp-reporting-summary-note,
.zxp-reporting-page .report-summary-note {
    min-width: 0;
    overflow-wrap: anywhere;
}

.zxp-reporting-stats,
body.zxp-reporting-page .report-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 12px;
}

body.zxp-reporting-page .report-stats-grid .stat {
    min-width: 0;
}

body.zxp-reporting-page .report-stats-grid .stat h3,
body.zxp-reporting-page .report-stats-grid .stat strong {
    overflow-wrap: anywhere;
}

.zxp-reporting-dashboard-page :where(.email-report-card, .email-source-report-card, .voice-report-card, .report-visual-card, .needs-attention-card) {
    min-width: 0;
}

.zxp-reporting-dashboard-page .report-chart-wrap {
    min-width: 0;
    max-width: 100%;
}

.zxp-reporting-dashboard-page .table-wrap,
.zxp-reporting-dashboard-page .compact-scroll-table,
.zxp-reporting-dashboard-page .report-events-table-wrap {
    max-width: 100%;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

.zxp-reporting-dashboard-page .compact-table {
    min-width: 760px;
}

.zxp-reporting-dashboard-page .report-details summary {
    max-width: 100%;
}

body.zxp-report-builder-page .zxp-report-builder-header .zxp-page-heading {
    flex: 1 1 auto;
    min-width: 0;
}

body.zxp-report-builder-page .zxp-report-builder-header .zxp-page-actions {
    max-width: 100%;
}

body.zxp-report-builder-page .report-builder-table-wrap,
body.zxp-report-builder-page .report-view-toolbar,
body.zxp-report-builder-page .report-builder-toolbar,
body.zxp-report-builder-page .report-filter-shell,
body.zxp-report-builder-page .report-builder-results-card {
    min-width: 0;
    max-width: 100%;
}

.zxp-disposition-reporting-page .dispo-page {
    gap: 14px;
}

.zxp-disposition-reporting-page .dispo-toolbar {
    margin-bottom: 0;
}

.zxp-disposition-reporting-page .dispo-toolbar--flush {
    align-items: center;
}

.zxp-disposition-reporting-page .dispo-filter-card,
.zxp-disposition-reporting-page .dispo-table-card,
.zxp-disposition-reporting-page .dispo-ai-card,
.zxp-disposition-reporting-page .dispo-visual-card {
    min-width: 0;
    margin-bottom: 0;
}

.zxp-disposition-reporting-page .dispo-filter-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zxp-disposition-reporting-page .dispo-filter-grid > label,
.zxp-disposition-reporting-page .dispo-filter-grid input,
.zxp-disposition-reporting-page .dispo-filter-grid select {
    min-width: 0;
    max-width: 100%;
}

.zxp-disposition-reporting-page .dispo-stats {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 0;
}

.zxp-disposition-reporting-page .dispo-visual-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 0;
}

.zxp-disposition-reporting-page .dispo-table-wrap {
    max-width: 100%;
    min-height: 180px;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

.zxp-reporting-callout,
.zxp-reporting-followup {
    margin-top: 12px;
}

.zxp-reporting-issue-list {
    margin: 8px 0 0;
    padding-left: 20px;
}

.zxp-reporting-callout-copy {
    margin: 6px 0 10px;
}

.zxp-provider-repair-form,
.zxp-provider-repair-options {
    display: grid;
    gap: 10px;
}

.zxp-provider-repair-options {
    margin-bottom: 2px;
}

.zxp-provider-repair-options label,
.zxp-provider-repair-confirmation {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    min-width: 0;
}

.zxp-provider-repair-options input,
.zxp-provider-repair-confirmation input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.zxp-provider-repair-confirmation {
    margin-bottom: 2px;
}

.zxp-email-health-page .card,
.zxp-message-reconciliation-page .card {
    min-width: 0;
}

.zxp-email-health-page .section-heading-row,
.zxp-message-reconciliation-page .section-heading-row {
    gap: 12px;
}

.zxp-email-health-page .section-heading-row > div,
.zxp-message-reconciliation-page .section-heading-row > div {
    min-width: 0;
}

.zxp-email-health-page .table-wrap,
.zxp-message-reconciliation-page .table-wrap {
    max-width: 100%;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

.zxp-email-health-page .compact-table,
.zxp-message-reconciliation-page .compact-table {
    min-width: 760px;
}

.zxp-reconciliation-window {
    display: grid;
    gap: 12px;
}

.zxp-reconciliation-window .grid-2 {
    margin: 0;
}

.zxp-automation-analytics-page .automation-ops__header,
.zxp-reporting-qa-page .automation-ops__header {
    min-width: 0;
}

.zxp-automation-analytics-page .automation-analytics__window,
.zxp-reporting-qa-page .automation-analytics__window {
    margin-bottom: 0;
}

.zxp-automation-analytics-page .automation-analytics__metrics,
.zxp-automation-analytics-page .automation-analytics__split,
.zxp-reporting-qa-page .automation-analytics__split {
    min-width: 0;
}

.zxp-automation-analytics-page .automation-analytics__status-row {
    flex-wrap: wrap;
}

.zxp-automation-analytics-page .automation-analytics__table-wrap {
    max-width: 100%;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

@container zxp-main-shell (max-width: 1180px) {
    .zxp-reporting-header,
    .zxp-reporting-page .automation-ops__header {
        align-items: stretch;
        flex-direction: column;
    }

    .zxp-reporting-header .zxp-page-heading {
        flex: 1 1 auto;
        max-width: 100%;
    }

    .zxp-reporting-header .zxp-page-actions,
    .zxp-reporting-page .automation-ops__header-actions {
        justify-content: flex-start;
        width: 100%;
    }

    .zxp-disposition-reporting-page .dispo-filter-grid,
    .zxp-disposition-reporting-page .dispo-visual-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zxp-disposition-reporting-page .dispo-stats {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@container zxp-main-shell (max-width: 860px) {
    .zxp-reporting-dashboard-page .report-filter-card .grid-3,
    .zxp-email-health-page .grid-2,
    .zxp-message-reconciliation-page .grid-2 {
        grid-template-columns: 1fr;
    }

    .zxp-reporting-dashboard-page .report-filter-actions,
    .zxp-reporting-dashboard-page .report-filter-actions > * {
        width: 100%;
    }

    .zxp-reporting-dashboard-page .report-filter-actions > * {
        justify-content: center;
    }

    .zxp-email-health-page .section-heading-row,
    .zxp-message-reconciliation-page .section-heading-row {
        align-items: stretch;
        flex-direction: column;
    }

    .zxp-disposition-reporting-page .dispo-stats,
    .zxp-disposition-reporting-page .dispo-filter-grid,
    .zxp-disposition-reporting-page .dispo-visual-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .zxp-reporting-header .zxp-page-actions,
    .zxp-reporting-page .automation-ops__header-actions {
        width: 100%;
    }

    .zxp-reporting-header .zxp-page-actions > *,
    .zxp-reporting-page .automation-ops__header-actions > * {
        flex: 1 1 180px;
        justify-content: center;
    }
}

/* ==========================================================================
   Stage 4 Pass 1 — Company Administration
   ========================================================================== */
/* Zypexa Exit-Beta UI Stage 4 Pass 1 — Company Administration workspace polish. */

/* Externalized from billing_overview.html without behavioral changes. */
            .billing-allowance-grid {
                display: grid;
                grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
                gap: 12px;
                margin-top: 12px;
            }
            .billing-allowance-card {
                border: 1px solid #d9e8ff;
                border-radius: 16px;
                background: #f8fbff;
                padding: 14px;
            }
            .billing-allowance-card h3 {
                margin: 0 0 10px;
                color: #071a33;
            }
            .billing-allowance-card .mini-metric-list {
                gap: 8px;
            }
        

/* Externalized from company_settings/objects.html without behavioral changes. */
    .object-settings-list {
        display: grid;
        gap: 1rem;
    }
    .object-settings-grid {
        display: grid;
        grid-template-columns: minmax(150px, 0.7fr) repeat(2, minmax(220px, 1fr));
        gap: 1rem;
        align-items: end;
    }
    .object-settings-actions {
        display: flex;
        gap: 0.65rem;
        flex-wrap: wrap;
        margin-top: 1rem;
    }
    .object-machine-key {
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        font-size: 0.9rem;
    }
    @media (max-width: 760px) {
        .object-settings-grid {
            grid-template-columns: 1fr;
        }
    }

/* Externalized from company_settings/call_dispositions.html without behavioral changes. */
    .dispo-admin-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(220px, 1fr));
        gap: 0.75rem;
    }
    .dispo-admin-grid .full-span {
        grid-column: 1 / -1;
    }
    .dispo-admin-table textarea {
        min-width: 260px;
    }
    .dispo-admin-table input[type="text"] {
        min-width: 180px;
    }
    .dispo-use-list {
        display: grid;
        gap: 0.2rem;
        font-size: 0.82rem;
    }

/* Externalized from company_compliance.html without behavioral changes. */
    .trust-hero { border: 1px solid #dbeafe; border-radius: 18px; padding: 18px; background: linear-gradient(135deg, #f8fbff, #f0fdf4); margin-bottom: 16px; }
    .trust-hero-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
    .trust-priority-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 14px; align-items: start; }
    .trust-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
    .trust-stat-card { border: 1px solid #dce8f8; border-radius: 16px; padding: 14px; background: #fbfdff; }
    .trust-stat-card strong { display: block; font-size: 24px; line-height: 1; margin: 6px 0; }
    .trust-path-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .trust-path-card { border: 1px solid #dce8f8; border-radius: 16px; padding: 14px; background: #fff; }
    .trust-path-card h3 { margin-bottom: 6px; }
    .trust-mini-list { margin: 8px 0 0 0; padding-left: 18px; }
    .trust-mini-list li { margin-bottom: 4px; }
    .trust-number-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
    .trust-guidance-card { border: 1px solid #dce8f8; border-radius: 16px; padding: 14px; background: #fbfdff; }
    .trust-guidance-card ol { margin: 8px 0 0 18px; padding: 0; }
    .trust-guidance-card li { margin-bottom: 8px; }
    .trust-status-copy { font-size: 12px; color: #65738c; display: block; margin-top: 3px; }
    details.trust-details { border: 1px solid #dce8f8; border-radius: 16px; padding: 12px 14px; background: #fff; margin-top: 14px; }
    details.trust-details summary { cursor: pointer; font-weight: 900; }
    @media (max-width: 1100px) { .trust-priority-grid, .trust-card-grid, .trust-path-grid { grid-template-columns: 1fr; } }

/* Externalized from a2p_plan_form.html without behavioral changes. */
    .trust-wizard-shell { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 16px; align-items: flex-start; }
    .trust-wizard-nav { position: sticky; top: 12px; border: 1px solid #dce8f8; border-radius: 18px; background: #fbfdff; padding: 12px; }
    .trust-wizard-nav button { display: block; width: 100%; text-align: left; border: 1px solid #dce8f8; border-radius: 14px; padding: 12px; margin-bottom: 8px; background: #fff; color: #0f172a; font-weight: 900; cursor: pointer; line-height: 1.25; white-space: normal; }
    .trust-wizard-nav button span { display: block; color: #65738c; font-size: 11px; font-weight: 700; margin-top: 3px; line-height: 1.25; white-space: normal; overflow-wrap: anywhere; }
    .trust-wizard-nav button.active { border-color: #3b82f6; background: #eff6ff; box-shadow: 0 0 0 2px rgba(59, 130, 246, .10); }
    .trust-wizard-nav button.hidden-path { display: none; }
    .trust-step-panel { display: none; }
    .trust-step-panel.active { display: block; }
    .trust-step-card { border: 1px solid #dce8f8; border-radius: 18px; padding: 18px; background: #fff; margin-bottom: 14px; }
    .trust-path-banner { border: 1px solid #bfdbfe; border-radius: 16px; padding: 14px; background: #eff6ff; margin-bottom: 14px; }
    .trust-path-banner.tollfree { border-color: #bbf7d0; background: #f0fdf4; }
    .trust-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
    .trust-choice { border: 1px solid #dce8f8; border-radius: 16px; padding: 12px; background: #fbfdff; }
    .trust-choice strong { display: block; margin-bottom: 4px; }
    .reuse-editor-panel { border: 1px solid #dce8f8; border-radius: 16px; padding: 14px; background: #fff; margin-top: 12px; }
    .reuse-editor-panel.hidden-reuse { display: none; }
    .reuse-readonly-note { border: 1px solid #bbf7d0; border-radius: 14px; padding: 12px; background: #f0fdf4; margin-top: 12px; }
    .reuse-readonly-note.hidden-reuse { display: none; }
    .trust-field-help { margin: 4px 0 10px; color: #65738c; font-size: 12px; line-height: 1.45; }
    .trust-ai-tools { border: 1px solid #cce6d2; background: #f1fff5; border-radius: 16px; padding: 14px; margin: 14px 0; }
    .trust-ai-tools .button-secondary { margin: 4px 6px 4px 0; }
    .trust-checklist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 8px; }
    .trust-checklist label { border: 1px solid #dce8f8; border-radius: 12px; padding: 10px; background: #fbfdff; }
    .trust-footer-actions { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; border-top: 1px solid #e5edf7; padding-top: 14px; margin-top: 16px; }
    .trust-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .trust-summary-box { border: 1px solid #dce8f8; border-radius: 14px; padding: 12px; background: #fbfdff; }
    .local-only.hidden-path, .tollfree-only.hidden-path, .registered-business-only.hidden-path, .sole-proprietor-only.hidden-path { display: none !important; }
    @media (max-width: 1050px) { .trust-wizard-shell, .trust-choice-grid, .trust-summary-grid, .trust-checklist { grid-template-columns: 1fr; } .trust-wizard-nav { position: static; } }

/* Shared Company Admin shell and hierarchy. */
body.zxp-company-admin-page .content-wrap,
body.zxp-company-admin-page .content-wrap > *,
.zxp-company-admin-workspace,
.zxp-company-admin-page .zxp-mobile-secondary-surface,
.zxp-company-admin-page .zxp-mobile-secondary-ops {
    min-width: 0;
    max-width: 100%;
}

.zxp-company-admin-workspace {
    width: 100%;
}

body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .page-header-row,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-surface > .page-header-row,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-ops > .page-header-row,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .zxp-company-admin-workspace > .page-header-row {
    width: 100%;
    min-width: 0;
    align-items: flex-start;
    gap: 16px;
    margin: 0 0 var(--zxp-page-gap, 18px);
    padding: clamp(18px, 1.5vw, 24px);
    border: 1px solid var(--surface-border, var(--border));
    border-radius: var(--radius-xl, 22px);
    background: linear-gradient(135deg, var(--panel), var(--panel-soft));
    box-shadow: var(--surface-shadow, 0 10px 28px rgba(7, 26, 51, .07));
}

body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .page-header-row > :first-child,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-surface > .page-header-row > :first-child,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-ops > .page-header-row > :first-child,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .zxp-company-admin-workspace > .page-header-row > :first-child {
    flex: 1 1 620px;
    min-width: 0;
    max-width: min(960px, 100%);
}

body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .page-header-row h1,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-surface > .page-header-row h1,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-ops > .page-header-row h1,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .zxp-company-admin-workspace > .page-header-row h1 {
    margin: 0 0 6px;
    overflow-wrap: anywhere;
}

body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .page-header-row p:last-child,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-surface > .page-header-row p:last-child,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-ops > .page-header-row p:last-child,
body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .zxp-company-admin-workspace > .page-header-row p:last-child {
    margin-bottom: 0;
}

body.zxp-company-admin-page .form-actions,
body.zxp-company-admin-page .row-actions,
body.zxp-company-admin-page .table-actions {
    min-width: 0;
    flex-wrap: wrap;
}

body.zxp-company-admin-page .grid-2,
body.zxp-company-admin-page .grid-3,
body.zxp-company-admin-page .stats,
body.zxp-company-admin-page .card,
body.zxp-company-admin-page .dashboard-card,
body.zxp-company-admin-page form,
body.zxp-company-admin-page fieldset {
    min-width: 0;
}

body.zxp-company-admin-page .stats {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: 12px;
}

body.zxp-company-admin-page .stat {
    min-width: 0;
}

body.zxp-company-admin-page .stat strong,
body.zxp-company-admin-page .stat p {
    overflow-wrap: anywhere;
}

body.zxp-company-admin-page input,
body.zxp-company-admin-page select,
body.zxp-company-admin-page textarea {
    max-width: 100%;
    min-width: 0;
}

body.zxp-company-admin-page .table-wrap,
body.zxp-company-admin-page .table-responsive,
body.zxp-company-admin-page .table-scroll {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
}

body.zxp-company-admin-page pre {
    max-width: 100%;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

body.zxp-company-admin-page code {
    max-width: 100%;
    overflow-wrap: anywhere;
}

body.zxp-company-admin-page details {
    max-width: 100%;
}

.zxp-company-admin-form-card {
    width: min(760px, 100%);
}

.zxp-company-admin-table-card {
    width: 100%;
    min-width: 0;
}

.zxp-company-admin-users-table {
    min-width: 1180px;
}

.zxp-company-admin-audit-table {
    min-width: 760px;
}

.zxp-company-admin-status-grid .stat p {
    margin: 6px 0 0;
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-strong);
}

.zxp-company-admin-profile .zxp-mobile-settings-form > h2:not(:first-child),
.zxp-company-admin-user-form form.card > .card.subtle-card,
.zxp-company-admin-billing .card + .card {
    margin-top: 2px;
}

.zxp-inline-action-form {
    display: inline-flex;
    margin: 0;
}

.zxp-admin-details-spaced {
    margin-top: .5rem;
}

.zxp-admin-details-form {
    margin-top: .75rem;
}

.zxp-admin-callout-spaced {
    margin-top: 12px;
}

.zxp-admin-callout-compact {
    margin-top: 8px;
}

.zxp-admin-action-spaced {
    margin-top: 10px;
}

.zxp-admin-inline-assignment {
    margin-bottom: 12px;
}

.zxp-admin-priority-input {
    max-width: 100px;
}

.zxp-admin-followup-note {
    margin-top: 16px;
}

.zxp-company-admin-api-clients .zxp-admin-followup-note {
    margin-top: 12px;
}

.zxp-admin-section-heading {
    margin-top: 18px;
}

.zxp-admin-secret-card {
    position: relative;
    overflow: hidden;
}

.zxp-admin-secret-card--success {
    border: 2px solid var(--success, #2f855a);
}

.zxp-admin-secret-card--warning {
    border: 1px solid var(--warning, #c05621);
}

.zxp-admin-scope-option {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-weight: 400;
}

.zxp-admin-scope-option input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.zxp-admin-dry-run-card {
    margin-top: 16px;
}

.zxp-admin-dry-run-card--error {
    border: 1px solid var(--danger, #c53030);
}

.zxp-admin-retry-form {
    margin-bottom: 8px;
}

.zxp-company-admin-external-docs pre,
.zxp-company-admin-external-access pre {
    border: 1px solid var(--surface-border, var(--border));
    border-radius: 12px;
    background: var(--panel-soft);
    padding: 12px 14px;
}

.zxp-company-admin-suppressions .content-wrap > .card,
.zxp-company-admin-api-clients .content-wrap > .card,
.zxp-company-admin-inbound-webhooks .content-wrap > .card,
.zxp-company-admin-outbound-webhooks .content-wrap > .card,
.zxp-company-admin-automation-webhooks .content-wrap > .card {
    width: 100%;
}

/* Main-shell-aware adaptation: respond to usable workspace width, not only viewport width. */
@container zxp-main-shell (max-width: 1180px) {
    body.zxp-company-admin-page .trust-priority-grid,
    body.zxp-company-admin-page .trust-card-grid,
    body.zxp-company-admin-page .trust-path-grid,
    body.zxp-company-admin-page .trust-wizard-shell,
    body.zxp-company-admin-page .trust-choice-grid,
    body.zxp-company-admin-page .trust-summary-grid,
    body.zxp-company-admin-page .trust-checklist {
        grid-template-columns: 1fr;
    }

    body.zxp-company-admin-page .trust-wizard-nav {
        position: static;
    }

    body.zxp-company-admin-page .object-settings-grid,
    body.zxp-company-admin-page .dispo-admin-grid {
        grid-template-columns: 1fr;
    }

    body.zxp-company-admin-page .object-settings-grid .full-span,
    body.zxp-company-admin-page .dispo-admin-grid .full-span {
        grid-column: auto;
    }
}

@container zxp-main-shell (max-width: 920px) {
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .page-header-row,
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-surface > .page-header-row,
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-ops > .page-header-row,
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .zxp-company-admin-workspace > .page-header-row {
        flex-direction: column;
        align-items: stretch;
    }

    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .page-header-row > :first-child,
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-surface > .page-header-row > :first-child,
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-ops > .page-header-row > :first-child,
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .zxp-company-admin-workspace > .page-header-row > :first-child {
        flex: 1 1 auto;
        max-width: 100%;
    }

    body.zxp-company-admin-page .grid-2,
    body.zxp-company-admin-page .grid-3 {
        grid-template-columns: 1fr;
    }

    body.zxp-company-admin-page .form-actions,
    body.zxp-company-admin-page .row-actions,
    body.zxp-company-admin-page .table-actions {
        justify-content: flex-start;
        width: 100%;
    }
}

@media (max-width: 760px) {
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .page-header-row,
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-surface > .page-header-row,
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .content-wrap > .zxp-mobile-secondary-ops > .page-header-row,
    body.zxp-company-admin-page:not(.zxp-company-admin-voice-routing) .zxp-company-admin-workspace > .page-header-row {
        padding: 16px;
        border-radius: 18px;
    }

    body.zxp-company-admin-page .form-actions > .button,
    body.zxp-company-admin-page .form-actions > button,
    body.zxp-company-admin-page .form-actions > form,
    body.zxp-company-admin-page .row-actions > .button,
    body.zxp-company-admin-page .row-actions > form {
        max-width: 100%;
    }

    .zxp-company-admin-users-table {
        min-width: 1080px;
    }
}

/* ==========================================================================
   Stage 4 Pass 2 — Platform Administration & Partner Tracking
   ========================================================================== */
/* Zypexa Exit-Beta UI Stage 4 Pass 2 — Platform Administration & Partner Tracking */

/* --------------------------------------------------------------------------
   Platform Administration
   -------------------------------------------------------------------------- */
.zxp-platform-admin-page .main-content {
    background: linear-gradient(180deg, #f8fbff 0%, #f5f8fc 36rem, #f5f8fc 100%);
}

.zxp-platform-admin-page .main-content-inner {
    min-width: 0;
}

.zxp-platform-workspace {
    width: 100%;
    min-width: 0;
}

.zxp-platform-admin-page .page-header-row {
    min-width: 0;
}

.zxp-platform-admin-page .page-header-row > div:first-child {
    min-width: 0;
}

.zxp-platform-admin-page .page-header-row h1 {
    margin-bottom: .3rem;
}

.zxp-platform-hero {
    align-items: flex-start;
    gap: 1rem;
}

.zxp-platform-admin-page .card {
    min-width: 0;
}

.zxp-platform-admin-page .card > h2:first-child,
.zxp-platform-admin-page .card > .zxp-platform-section-heading:first-child {
    margin-top: 0;
}

.zxp-platform-admin-page .table-wrap,
.zxp-platform-admin-page .compact-table-wrap {
    max-width: 100%;
    overflow: auto;
}

.zxp-platform-admin-page .table th {
    white-space: nowrap;
}

.zxp-platform-admin-page .table td {
    vertical-align: top;
}

.zxp-platform-table-card {
    overflow: hidden;
}

.zxp-platform-table-card > .table-wrap,
.zxp-platform-table-card > .compact-table-wrap {
    margin-inline: -1rem;
    width: calc(100% + 2rem);
    max-width: none;
}

.zxp-platform-table-card > .table-wrap .table,
.zxp-platform-table-card > .compact-table-wrap .table {
    margin-bottom: 0;
}

.zxp-platform-section-heading,
.zxp-platform-form-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.zxp-platform-section-heading h2,
.zxp-platform-form-intro h2 {
    margin: 0;
}

.zxp-platform-section-heading p:not(.eyebrow),
.zxp-platform-form-intro p:not(.eyebrow) {
    margin: .3rem 0 0;
    color: var(--muted);
}

.zxp-platform-summary-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: .75rem;
}

.zxp-platform-company-summary {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.zxp-platform-summary-card {
    min-width: 0;
    padding: .9rem 1rem;
    border: 1px solid var(--surface-border);
    border-radius: 16px;
    background: rgba(255,255,255,.96);
    box-shadow: var(--surface-shadow);
}

.zxp-platform-summary-card span,
.zxp-platform-summary-card strong,
.zxp-platform-summary-card small {
    display: block;
}

.zxp-platform-summary-card span {
    color: var(--muted);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.zxp-platform-summary-card strong {
    margin-top: .3rem;
    color: var(--text-strong);
    font-size: 1.3rem;
    line-height: 1.15;
}

.zxp-platform-summary-card small {
    margin-top: .28rem;
    color: var(--muted);
    line-height: 1.35;
}

.zxp-platform-filter-card {
    padding: 1rem;
}

.zxp-platform-filter-form {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.zxp-platform-filter-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
    gap: .8rem;
    align-items: end;
}

.zxp-platform-filter-actions {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-height: var(--control-height);
}

.zxp-platform-status-filter {
    gap: .45rem;
    overflow-x: auto;
    padding-bottom: .1rem;
}

.zxp-platform-status-filter .button {
    flex: 0 0 auto;
}

.zxp-platform-inline-action-form {
    display: inline-flex;
    margin: 0;
}

.zxp-platform-inline-action-form button {
    margin: 0;
}

.zxp-platform-grid-span-full {
    grid-column: 1 / -1;
}

.zxp-platform-actions-spaced {
    margin-top: 1rem;
}

.zxp-platform-billing-grid {
    align-items: start;
}

.zxp-platform-billing-grid > .zxp-platform-form-card {
    min-width: 0;
}

.zxp-platform-form-card {
    width: min(1080px, 100%);
}

.zxp-platform-option-stack {
    display: grid;
    gap: .55rem;
}

.zxp-platform-feature-section {
    margin: .4rem 0;
    padding: 1rem;
    border: 1px solid var(--surface-border);
    border-radius: 16px;
    background: var(--panel-soft);
}

.zxp-platform-feature-section legend {
    padding: 0 .35rem;
    color: var(--text-strong);
    font-weight: 850;
}

.zxp-platform-setup-form {
    width: 100%;
}

.zxp-platform-setup-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: start;
}

.zxp-platform-setup-card {
    display: grid;
    gap: .55rem;
    min-width: 0;
}

.zxp-platform-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}

.zxp-platform-service-grid > label {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    min-width: 0;
    margin: 0;
    padding: .8rem;
    border: 1px solid var(--surface-border);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
}

.zxp-platform-service-grid input {
    flex: 0 0 auto;
    width: auto;
    margin-top: .15rem;
}

.zxp-platform-service-grid span,
.zxp-platform-service-grid strong,
.zxp-platform-service-grid small {
    display: block;
    min-width: 0;
}

.zxp-platform-service-grid strong {
    color: var(--text-strong);
}

.zxp-platform-service-grid small {
    margin-top: .2rem;
    color: var(--muted);
    font-weight: 500;
    line-height: 1.35;
}

.zxp-platform-submit-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid var(--surface-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: var(--surface-shadow);
}

.zxp-platform-submit-bar strong,
.zxp-platform-submit-bar span {
    display: block;
}

.zxp-platform-submit-bar span {
    margin-top: .2rem;
    color: var(--muted);
}

.zxp-platform-record-header .row-actions {
    justify-content: flex-end;
}

.zxp-platform-admin-page .inline-action-form,
.zxp-platform-admin-page .table-actions form {
    margin: 0;
}

.zxp-platform-admin-page .stacked-actions {
    min-width: 210px;
}

.zxp-platform-admin-page .stacked-actions input {
    min-width: 180px;
}

/* Deep company setup: readable sections without altering existing workflows. */
.zxp-platform-admin-page form.form > .grid-2 > .card,
.zxp-platform-admin-page .builder-v3-launch-card,
.zxp-platform-admin-page .readiness-grid .readiness-item {
    min-width: 0;
}

.zxp-platform-admin-page .readiness-grid,
.zxp-platform-admin-page .builder-v3-launch-summary {
    gap: .7rem;
}

.zxp-platform-admin-page .builder-v3-launch-summary > div {
    min-width: 0;
}

/* Platform compliance review styles moved out of the template. */
    .admin-review-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 16px; align-items: start; }
    .review-sidebar { position: sticky; top: 12px; }
    .stage-card { border: 1px solid #dce8f8; border-radius: 16px; padding: 14px; background: #fbfdff; margin-bottom: 10px; }
    .stage-card h3 { margin: 0 0 6px; }
    .stage-card.locked { opacity: .72; }
    .stage-card.current { border-color: #3b82f6; background: #eff6ff; }
    .section-card { border: 1px solid #dce8f8; border-radius: 18px; padding: 16px; background: #fff; margin-bottom: 14px; }
    .section-card.locked { background: #f8fafc; }
    .section-header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
    .section-header h2 { margin-bottom: 4px; }
    .section-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
    .admin-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .admin-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
    .summary-tile { border: 1px solid #dce8f8; border-radius: 16px; background: #fbfdff; padding: 14px; }
    .summary-tile strong { display: block; margin: 4px 0; }
    .advanced-provider { border: 1px solid #e5edf7; border-radius: 14px; padding: 10px 12px; background: #fbfdff; margin-top: 10px; }
    .advanced-provider summary { cursor: pointer; font-weight: 900; }
    .lock-note { border: 1px solid #fde68a; background: #fffbeb; border-radius: 14px; padding: 10px 12px; margin: 8px 0; }
    .provider-error-box { border: 1px solid #fecaca; background: #fff1f2; border-radius: 14px; padding: 10px 12px; margin: 10px 0; color: #991b1b; }
    .customer-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .admin-help-box { border: 1px solid #bfdbfe; background: #eff6ff; border-radius: 16px; padding: 12px 14px; margin: 12px 0; line-height: 1.45; }
    .admin-warning-box { border: 1px solid #fde68a; background: #fffbeb; border-radius: 16px; padding: 12px 14px; margin: 12px 0; line-height: 1.45; }
    @media (max-width: 1100px) { .admin-review-layout, .admin-summary-grid, .admin-field-grid, .customer-detail-grid { grid-template-columns: 1fr; } .review-sidebar { position: static; } }

/* --------------------------------------------------------------------------
   Legacy Partner Tracking
   -------------------------------------------------------------------------- */
.zxp-partner-tracking-legacy-page .main-content {
    background: linear-gradient(180deg, #f9fcff 0%, #f5f8fb 34rem, #f5f8fb 100%);
}

.zxp-partner-tracking-legacy-page .page-header-row {
    align-items: flex-start;
    gap: 1rem;
}

.zxp-partner-tracking-legacy-page .page-header-row > div:first-child {
    min-width: 0;
}

.zxp-partner-legacy-hero {
    padding: 1rem 0 .2rem;
}

.zxp-partner-tracking-legacy-page .partner-module-nav {
    display: flex;
    align-items: center;
    gap: .4rem;
    max-width: 100%;
    margin-bottom: 1rem;
    padding: .45rem;
    overflow-x: auto;
    border-radius: 14px;
}

.zxp-partner-tracking-legacy-page .partner-module-nav .button {
    flex: 0 0 auto;
    min-height: 36px;
    padding: .48rem .7rem;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
    white-space: nowrap;
}

.zxp-partner-tracking-legacy-page .partner-module-nav .button:hover {
    background: var(--panel-soft);
}

.zxp-partner-tracking-legacy-page .partner-module-nav .button.is-active {
    border-color: rgba(36, 116, 203, .18);
    background: rgba(36, 116, 203, .10);
    color: var(--primary-dark);
}

.zxp-partner-tracking-legacy-page .partner-form,
.zxp-partner-tracking-legacy-page .table-card,
.zxp-partner-tracking-legacy-page .partner-workflow {
    min-width: 0;
}

.zxp-partner-tracking-legacy-page .partner-form {
    margin-bottom: 1rem;
}

.zxp-partner-tracking-legacy-page .partner-form > h2:first-child,
.zxp-partner-tracking-legacy-page .table-card > h2:first-child {
    margin-top: 0;
}

.zxp-partner-tracking-legacy-page .partner-table th {
    white-space: nowrap;
}

.zxp-partner-tracking-legacy-page .partner-table td {
    vertical-align: top;
}

.zxp-partner-tracking-legacy-page .partner-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .75rem;
}

.zxp-partner-tracking-legacy-page .compact-stat {
    min-width: 0;
    padding: .9rem 1rem;
}

.zxp-partner-tracking-legacy-page .workflow-strip {
    gap: .6rem;
}

.zxp-partner-tracking-legacy-page .workflow-step {
    min-width: 0;
}

.zxp-partner-tracking-legacy-page td.empty-state {
    padding: 2rem 1rem;
    color: var(--muted);
    text-align: center;
}

.zxp-partner-tracking-legacy-page .actions-row,
.zxp-partner-tracking-legacy-page .table-actions {
    gap: .45rem;
    flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   Partner Tracking v2 / Partner Portal — final shell integration only.
   Existing workspace.css remains the specialized component authority.
   -------------------------------------------------------------------------- */
.zxp-partner-tracking-v2-page .main-content-inner {
    min-width: 0;
}

.zxp-partner-tracking-v2-page .ptv2-app-nav {
    width: min(1380px, 100%);
    max-width: 100%;
    padding-inline: 0;
}

.zxp-partner-tracking-v2-page .ptv2-app-nav__inner {
    min-width: 0;
}

.zxp-partner-tracking-v2-page .ptv2-app-nav__link[aria-current="page"] {
    background: var(--ptv2-blue-soft);
    color: #075dbb;
    box-shadow: inset 0 0 0 1px rgba(10, 103, 209, .12);
}

.zxp-partner-tracking-v2-page .ptv2-shell {
    width: min(1380px, 100%);
    max-width: 100%;
}

.zxp-partner-tracking-v2-page .ptv2-hero > div:first-child,
.zxp-partner-tracking-v2-page .ptv2-section-heading > div:first-child,
.zxp-partner-tracking-v2-page .ptv2-table-card__header > div:first-child {
    min-width: 0;
}

.zxp-partner-tracking-v2-page .ptv2-table-wrap,
.zxp-partner-tracking-v2-page .table-responsive,
.zxp-partner-tracking-v2-page .table-wrap {
    max-width: 100%;
    overflow: auto;
}

.zxp-partner-tracking-v2-page .ptv2-table th {
    white-space: nowrap;
}

.zxp-partner-tracking-v2-page .ptv2-actions,
.zxp-partner-tracking-v2-page .ptv2-status-stack,
.zxp-partner-tracking-v2-page .ptv2-table__actions {
    max-width: 100%;
}

.zxp-partner-tracking-v2-page .ptv2-app-nav--portal .ptv2-app-nav__inner {
    border-color: rgba(10, 103, 209, .18);
}

/* --------------------------------------------------------------------------
   Main-shell-aware responsiveness. The application sidebar changes usable
   content width without changing viewport width, so container queries are the
   authoritative intermediate-width behavior for this pass.
   -------------------------------------------------------------------------- */
@container zxp-main-shell (max-width: 1180px) {
    .zxp-platform-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .zxp-platform-company-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .zxp-platform-setup-grid,
    .zxp-platform-billing-grid {
        grid-template-columns: 1fr;
    }

    .zxp-platform-admin-page .grid-4,
    .zxp-partner-tracking-legacy-page .partner-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@container zxp-main-shell (max-width: 900px) {
    .zxp-platform-hero,
    .zxp-platform-section-heading,
    .zxp-platform-form-intro,
    .zxp-platform-submit-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .zxp-platform-hero .row-actions,
    .zxp-platform-hero .form-actions {
        justify-content: flex-start;
    }

    .zxp-platform-summary-grid,
    .zxp-platform-company-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

    .zxp-platform-filter-actions {
        min-height: 0;
    }

    .zxp-platform-admin-page .grid-3,
    .zxp-platform-admin-page .grid-4,
    .zxp-platform-admin-page .setup-field-grid {
        grid-template-columns: 1fr;
    }

    .zxp-partner-tracking-legacy-page .grid-3,
    .zxp-partner-tracking-legacy-page .grid-4,
    .zxp-partner-tracking-legacy-page .partner-stat-grid {
        grid-template-columns: 1fr;
    }
}

@container zxp-main-shell (max-width: 680px) {
    .zxp-platform-summary-grid,
    .zxp-platform-company-summary,
    .zxp-platform-service-grid {
        grid-template-columns: 1fr;
    }

    .zxp-platform-submit-bar .button,
    .zxp-platform-submit-bar button {
        width: 100%;
    }

    .zxp-platform-admin-page .row-actions,
    .zxp-platform-admin-page .form-actions,
    .zxp-partner-tracking-legacy-page .actions-row {
        width: 100%;
    }

    .zxp-platform-admin-page .row-actions > .button,
    .zxp-platform-admin-page .form-actions > .button,
    .zxp-platform-admin-page .form-actions > button,
    .zxp-platform-admin-page .row-actions > form,
    .zxp-partner-tracking-legacy-page .actions-row > .button,
    .zxp-partner-tracking-legacy-page .actions-row > button,
    .zxp-partner-tracking-legacy-page .actions-row > form {
        flex: 1 1 100%;
    }

    .zxp-platform-admin-page .row-actions > form > button,
    .zxp-partner-tracking-legacy-page .actions-row > form > button {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .zxp-platform-table-card > .table-wrap,
    .zxp-platform-table-card > .compact-table-wrap {
        margin-inline: -.75rem;
        width: calc(100% + 1.5rem);
    }

    .zxp-partner-tracking-legacy-page .partner-module-nav {
        margin-inline: 0;
        border-radius: 12px;
    }

    .zxp-partner-tracking-v2-page .ptv2-app-nav,
    .zxp-partner-tracking-v2-page .ptv2-shell {
        width: 100%;
    }
}

/* ==========================================================================
   Stage 4 Pass 3 — Authentication & Public Surfaces
   ========================================================================== */
/* Zypexa Exit-Beta UI Stage 4 Pass 3 — Authentication & Public Surfaces */

/* --------------------------------------------------------------------------
   Authentication shell
   -------------------------------------------------------------------------- */
body.zxp-auth-page,
body.zxp-public-unsubscribe-page {
    background:
        radial-gradient(circle at 12% 12%, rgba(0, 189, 227, .08), transparent 28rem),
        radial-gradient(circle at 88% 88%, rgba(32, 215, 103, .07), transparent 30rem),
        #f4f8fc;
}

body.zxp-auth-page .content-wrap,
body.zxp-public-unsubscribe-page .content-wrap {
    width: min(1180px, 100%);
    padding: clamp(22px, 4vw, 48px) clamp(16px, 3vw, 34px);
}

.zxp-auth-shell {
    width: min(1080px, 100%);
    min-height: min(760px, calc(100vh - 80px));
    grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr);
    gap: clamp(16px, 2.2vw, 26px);
    align-items: stretch;
}

.zxp-auth-brand-panel,
.zxp-auth-card {
    min-width: 0;
    min-height: 0;
}

.zxp-auth-brand-panel {
    display: flex;
    align-items: center;
    padding: clamp(30px, 4.4vw, 54px);
}

.zxp-auth-brand-panel .login-panel-content {
    max-width: 640px;
}

.zxp-auth-brand-panel .login-logo {
    width: min(220px, 62%);
    margin-bottom: clamp(24px, 4vw, 38px);
}

.zxp-auth-eyebrow {
    margin: 0 0 10px;
    color: rgba(255,255,255,.72) !important;
}

.zxp-auth-brand-panel h1 {
    max-width: 14ch;
    margin-bottom: 14px;
    font-size: clamp(2rem, 4vw, 3.35rem);
    line-height: 1.02;
    letter-spacing: -.035em;
}

.zxp-auth-brand-panel p:not(.eyebrow) {
    max-width: 52ch;
    font-size: clamp(.98rem, 1.25vw, 1.08rem);
    line-height: 1.65;
}

.zxp-auth-benefit-list {
    display: grid;
    gap: 10px;
    margin: 26px 0 0;
    padding: 0;
    list-style: none;
}

.zxp-auth-benefit-list li {
    position: relative;
    padding-left: 28px;
    color: rgba(255,255,255,.88);
    line-height: 1.45;
}

.zxp-auth-benefit-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 0;
    display: grid;
    place-items: center;
    width: 19px;
    height: 19px;
    border-radius: 999px;
    background: rgba(32, 215, 103, .18);
    color: #b8ffd2;
    font-size: .74rem;
    font-weight: 900;
}

.zxp-auth-card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(26px, 3.8vw, 42px);
    border-radius: 26px;
    background: rgba(255,255,255,.98);
}

.zxp-auth-card-heading {
    margin-bottom: 22px;
}

.zxp-auth-card-heading .eyebrow,
.zxp-auth-status-card > .eyebrow,
.zxp-public-unsubscribe-card > .eyebrow {
    margin: 0 0 7px;
    color: #31517a;
}

.zxp-auth-card-heading h2,
.zxp-auth-status-card h2,
.zxp-public-unsubscribe-card h1 {
    margin: 0;
    color: var(--text-strong);
    letter-spacing: -.02em;
}

.zxp-auth-card-heading h2 {
    font-size: clamp(1.55rem, 2.8vw, 2rem);
}

.zxp-auth-card-heading p:not(.eyebrow) {
    margin: 9px 0 0;
    color: var(--muted);
    line-height: 1.55;
}

.zxp-auth-form {
    display: grid;
    gap: 15px;
    margin: 0;
}

.zxp-auth-field {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.zxp-auth-form .zxp-auth-field label {
    margin: 0;
    color: #26364f;
    font-size: .82rem;
    font-weight: 850;
}

.zxp-auth-form :where(input[type="text"], input[type="email"], input[type="password"], select) {
    width: 100%;
    min-width: 0;
    min-height: 46px;
    border: 1px solid #cbd8e6;
    border-radius: 12px;
    background: #fff;
    color: var(--text-strong);
    padding: 10px 12px;
    box-shadow: inset 0 1px 2px rgba(8, 47, 73, .03);
    transition: border-color .16s ease, box-shadow .16s ease;
}

.zxp-auth-form :where(input[type="text"], input[type="email"], input[type="password"], select):focus {
    border-color: #2f76c8;
    outline: 0;
    box-shadow: 0 0 0 4px rgba(47, 118, 200, .12);
}

.zxp-auth-form :where(input, select):focus-visible,
.zxp-auth-links a:focus-visible,
.zxp-auth-card .button:focus-visible,
.zxp-public-unsubscribe-card .button:focus-visible {
    outline: 3px solid rgba(47, 118, 200, .28);
    outline-offset: 2px;
}

.zxp-auth-primary-action {
    width: 100%;
    min-height: 46px;
    margin-top: 2px;
    justify-content: center;
}

.zxp-auth-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 9px 16px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #e7eef6;
    color: var(--muted);
    font-size: .9rem;
}

.zxp-auth-links--single {
    justify-content: flex-start;
}

.zxp-auth-links a {
    font-weight: 750;
}

/* --------------------------------------------------------------------------
   Signup and provisioning states
   -------------------------------------------------------------------------- */
.zxp-auth-shell--signup {
    width: min(1180px, 100%);
    grid-template-columns: minmax(300px, .82fr) minmax(520px, 1.18fr);
}

.zxp-auth-signup-card {
    justify-content: flex-start;
}

.zxp-auth-signup-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px 14px;
}

.zxp-auth-field--full {
    grid-column: 1 / -1;
}

.zxp-auth-terms {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    margin: 2px 0 0;
    padding: 13px 14px;
    border: 1px solid #dce6f0;
    border-radius: 12px;
    background: #f8fbff;
    color: #40536c;
    font-size: .86rem;
    line-height: 1.45;
}

.zxp-auth-terms input {
    flex: 0 0 auto;
    width: 18px !important;
    height: 18px;
    margin: 1px 0 0;
}

.zxp-auth-process-card {
    display: grid;
    gap: 10px;
    margin-top: 26px;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 16px;
    background: rgba(255,255,255,.07);
}

.zxp-auth-process-card span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: rgba(255,255,255,.9);
    font-size: .91rem;
}

.zxp-auth-process-card strong {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 999px;
    background: rgba(255,255,255,.13);
    color: #fff;
    font-size: .77rem;
}

.zxp-auth-brand-note {
    margin-top: 16px;
    font-size: .88rem !important;
}

.zxp-auth-inline-alert {
    margin: 0;
}

.zxp-auth-status-card {
    align-items: flex-start;
}

.zxp-auth-status-card h2 {
    margin-bottom: 8px;
    font-size: clamp(1.5rem, 2.7vw, 1.95rem);
}

.zxp-auth-status-card > p:not(.eyebrow) {
    color: var(--muted);
    line-height: 1.55;
}

.zxp-auth-status-mark {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    margin-bottom: 18px;
    border-radius: 999px;
    font-size: 1.05rem;
    font-weight: 900;
}

.zxp-auth-status-mark--success {
    background: #e9f9ef;
    color: #14783d;
}

.zxp-auth-status-mark--warning {
    background: #fff4dd;
    color: #946000;
}

.zxp-auth-status-mark--pending,
.zxp-auth-status-mark--neutral {
    background: #eaf2fb;
    color: #235b99;
}

.zxp-auth-checklist {
    width: 100%;
    margin: 16px 0 22px;
    padding: 14px 16px 14px 34px;
    border: 1px solid #e1eaf3;
    border-radius: 14px;
    background: #f8fbff;
}

.zxp-auth-status-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 8px;
}

/* --------------------------------------------------------------------------
   Public unsubscribe
   -------------------------------------------------------------------------- */
body.zxp-public-unsubscribe-page .content-wrap {
    display: grid;
    place-items: center;
}

.zxp-public-unsubscribe-shell {
    width: min(680px, 100%);
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;
    min-height: min(620px, calc(100vh - 80px));
}

.zxp-public-unsubscribe-card {
    width: 100%;
    min-width: 0;
    padding: clamp(28px, 5vw, 46px);
    border-radius: 26px;
    text-align: left;
}

.zxp-public-unsubscribe-logo {
    width: min(180px, 54%);
    margin-bottom: 30px;
}

.zxp-public-unsubscribe-card h1 {
    margin-bottom: 10px;
    font-size: clamp(1.65rem, 4vw, 2.2rem);
}

.zxp-public-unsubscribe-card > p:not(.eyebrow) {
    line-height: 1.58;
}

.zxp-public-unsubscribe-form {
    margin: 22px 0 14px;
}

.zxp-public-unsubscribe-form .button {
    min-height: 44px;
}

/* --------------------------------------------------------------------------
   Responsive and reduced-motion behavior
   -------------------------------------------------------------------------- */
@supports (min-height: 100dvh) {
    .zxp-auth-shell,
    .zxp-public-unsubscribe-shell {
        min-height: min(760px, calc(100dvh - 80px));
    }
}

@media (max-width: 980px) {
    body.zxp-auth-page .content-wrap,
    body.zxp-public-unsubscribe-page .content-wrap {
        padding: max(18px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
    }

    .zxp-auth-shell,
    .zxp-auth-shell--signup {
        width: min(720px, 100%);
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    .zxp-auth-brand-panel {
        min-height: 0;
        padding: clamp(26px, 6vw, 40px);
    }

    .zxp-auth-brand-panel h1 {
        max-width: 18ch;
        font-size: clamp(1.8rem, 6vw, 2.6rem);
    }

    .zxp-auth-brand-panel .login-logo {
        width: min(190px, 52%);
        margin-bottom: 22px;
    }

    .zxp-auth-benefit-list,
    .zxp-auth-process-card {
        margin-top: 20px;
    }
}

@media (max-width: 620px) {
    .zxp-auth-card,
    .zxp-public-unsubscribe-card {
        padding: 24px 20px;
        border-radius: 20px;
    }

    .zxp-auth-signup-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .zxp-auth-field--full {
        grid-column: 1;
    }

    .zxp-auth-links,
    .zxp-auth-status-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .zxp-auth-status-actions .button,
    .zxp-public-unsubscribe-form .button {
        width: 100%;
        justify-content: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .zxp-auth-form :where(input[type="text"], input[type="email"], input[type="password"], select) {
        transition: none;
    }
}
