/**
 * Invitea 0.68.45.94 shared accessibility, RTL, and responsive hardening.
 */

:root {
    --invitea-focus-ring: #174ea6;
    --invitea-focus-offset: #ffffff;
    --invitea-error-text: #a11919;
    --invitea-touch-target: 44px;
}

.invitea-a11y-runtime :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
.invitea-admin-dashboard :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
.invitea-frontend-app :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
.invitea-public-invitation-page :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--invitea-focus-ring) !important;
    outline-offset: 3px !important;
    box-shadow: 0 0 0 2px var(--invitea-focus-offset) !important;
}

.invitea-app-skip-link {
    position: fixed;
    z-index: 2147483647;
    inset-block-start: 10px;
    inset-inline-start: 10px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    border-radius: 10px;
    background: #111827;
    color: #fff !important;
    font: 700 14px/1.2 system-ui, sans-serif;
    text-decoration: none;
    transform: translateY(-180%);
}

.invitea-app-skip-link:focus {
    transform: translateY(0);
}

.invitea-field-error {
    display: block;
    margin-block-start: 6px;
    color: var(--invitea-error-text);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
}

.invitea-a11y-runtime [aria-invalid="true"] {
    border-color: var(--invitea-error-text) !important;
}

.invitea-a11y-runtime :where(button, .button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"], select),
.invitea-frontend-app :where(button, [role="button"], input[type="button"], input[type="submit"], select),
.invitea-public-invitation-page :where(button, [role="button"], input[type="button"], input[type="submit"], select) {
    min-height: 44px;
}

.invitea-a11y-runtime :where(button, .button, [role="button"]),
.invitea-frontend-app :where(button, [role="button"]),
.invitea-public-invitation-page :where(button, [role="button"]) {
    min-width: 44px;
}

.invitea-ops-table-wrap[role="region"],
.invitea-template-table-wrap[role="region"],
.invitea-users-table-wrap[role="region"],
.invitea-statistics-card--table[role="region"] {
    scrollbar-gutter: stable both-edges;
    -webkit-overflow-scrolling: touch;
}

[role="dialog"][aria-modal="true"] {
    max-block-size: calc(100dvh - 32px);
    overflow: auto;
    overscroll-behavior: contain;
}

[dir="rtl"] .invitea-admin-page-head__title,
[dir="rtl"] .invitea-ops-panel__head,
[dir="rtl"] .invitea-admin-context-nav,
[dir="rtl"] .invitea-template-modal__dialog > header,
[dir="rtl"] .invitea-template-drawer__head {
    text-align: start;
}

[dir="rtl"] .dashicons-arrow-right-alt2,
[dir="rtl"] .dashicons-arrow-left-alt2 {
    transform: scaleX(-1);
}

[dir="rtl"] .invitea-admin-context-nav__links,
[dir="rtl"] .invitea-ops-head-actions,
[dir="rtl"] .invitea-admin-page-head__title {
    direction: rtl;
}

[dir="rtl"] .invitea-field-error,
[dir="rtl"] .invitea-performance-definition-list,
[dir="rtl"] .invitea-accessibility-definition-list {
    margin-inline: 0;
    text-align: start;
}

@media (min-width: 1920px) {
    .invitea-admin-dashboard,
    .invitea-accessibility-workspace {
        --invitea-qa-viewport-contract: 1920px;
        max-inline-size: 1760px;
    }
}

@media (max-width: 1440px) {
    .invitea-admin-dashboard,
    .invitea-accessibility-workspace {
        --invitea-qa-viewport-contract: 1440px;
        max-inline-size: calc(100vw - 40px);
    }
}

@media (max-width: 1366px) {
    .invitea-accessibility-grid,
    .invitea-ops-layout--2,
    .invitea-performance-capacity-grid {
        --invitea-qa-viewport-contract: 1366px;
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 1024px) {
    .invitea-admin-page-head,
    .invitea-accessibility-head {
        --invitea-qa-viewport-contract: 1024px;
        align-items: stretch;
        flex-direction: column;
    }

    .invitea-ops-head-actions,
    .invitea-accessibility-head__actions {
        inline-size: 100%;
        flex-wrap: wrap;
    }
}

@media (max-width: 768px) {
    .invitea-admin-dashboard,
    .invitea-accessibility-workspace {
        --invitea-qa-viewport-contract: 768px;
        margin-inline: 10px;
    }

    .invitea-ops-kpis,
    .invitea-accessibility-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .invitea-ops-head-actions > *,
    .invitea-accessibility-head__actions > * {
        flex: 1 1 210px;
    }

    .invitea-ops-table,
    .invitea-accessibility-table {
        min-inline-size: 720px;
    }
}

@media (max-width: 430px) {
    .invitea-admin-dashboard,
    .invitea-accessibility-workspace {
        --invitea-qa-viewport-contract: 430px;
        margin-inline: 4px;
    }

    .invitea-ops-kpis,
    .invitea-accessibility-kpis {
        grid-template-columns: minmax(0, 1fr);
    }

    .invitea-admin-page-head__title {
        align-items: flex-start;
    }
}

@media (max-width: 390px) {
    .invitea-accessibility-workspace,
    .invitea-admin-dashboard {
        --invitea-qa-viewport-contract: 390px;
        font-size: 15px;
    }

    .invitea-admin-panel,
    .invitea-ops-panel {
        padding-inline: 12px;
    }
}

@media (max-width: 360px) {
    .invitea-accessibility-workspace,
    .invitea-admin-dashboard {
        --invitea-qa-viewport-contract: 360px;
        min-inline-size: 0;
    }

    .invitea-ops-head-actions .button,
    .invitea-accessibility-head__actions .button {
        inline-size: 100%;
        justify-content: center;
    }
}

@media (orientation: landscape) and (max-height: 520px) {
    [role="dialog"][aria-modal="true"] {
        max-block-size: calc(100dvh - 12px);
    }
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto !important;
    }

    .invitea-a11y-runtime *,
    .invitea-a11y-runtime *::before,
    .invitea-a11y-runtime *::after,
    .invitea-frontend-app *,
    .invitea-frontend-app *::before,
    .invitea-frontend-app *::after,
    .invitea-public-invitation-page *,
    .invitea-public-invitation-page *::before,
    .invitea-public-invitation-page *::after {
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: .001ms !important;
    }
}

@media (forced-colors: active) {
    :root {
        --invitea-focus-ring: Highlight;
        --invitea-focus-offset: Canvas;
        --invitea-error-text: Mark;
    }

    .invitea-a11y-runtime :where(.button, button, input, select, textarea, [role="button"]),
    .invitea-frontend-app :where(button, input, select, textarea, [role="button"]),
    .invitea-public-invitation-page :where(button, input, select, textarea, [role="button"]) {
        border: 1px solid ButtonText;
        forced-color-adjust: auto;
    }

    .invitea-ops-status,
    .invitea-accessibility-status {
        border: 1px solid currentColor;
    }
}

.invitea-accessibility-workspace {
    max-inline-size: 1540px;
}

.invitea-accessibility-head,
.invitea-accessibility-head__actions,
.invitea-accessibility-kpis,
.invitea-accessibility-grid,
.invitea-accessibility-check-grid {
    display: flex;
}

.invitea-accessibility-head {
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.invitea-accessibility-head__actions {
    align-items: center;
    gap: 10px;
}

.invitea-accessibility-head__actions form {
    margin: 0;
}

.invitea-accessibility-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-block: 18px;
}

.invitea-accessibility-kpis article,
.invitea-accessibility-check,
.invitea-accessibility-panel {
    border: 1px solid #e6e1da;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(38, 32, 25, .05);
}

.invitea-accessibility-kpis article {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    padding: 18px;
}

.invitea-accessibility-kpis .dashicons {
    inline-size: 36px;
    block-size: 36px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #f5efe8;
    color: #6d4c2f;
}

.invitea-accessibility-kpis small,
.invitea-accessibility-kpis p {
    color: #667085;
}

.invitea-accessibility-kpis strong {
    display: block;
    margin-block: 2px 4px;
    font-size: 28px;
    line-height: 1;
}

.invitea-accessibility-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-block: 18px;
}

.invitea-accessibility-panel {
    padding: 20px;
}

.invitea-accessibility-panel > header {
    margin-block-end: 16px;
}

.invitea-accessibility-panel h2,
.invitea-accessibility-panel p {
    margin-block-start: 0;
}

.invitea-accessibility-check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.invitea-accessibility-check {
    padding: 16px;
}

.invitea-accessibility-check > header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
}

.invitea-accessibility-check p {
    margin-block-end: 0;
    color: #475467;
}

.invitea-accessibility-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding-inline: 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.invitea-accessibility-status--pass,
.invitea-accessibility-status--instrumented {
    background: #e8f7ed;
    color: #176b39;
}

.invitea-accessibility-status--warning,
.invitea-accessibility-status--manual {
    background: #fff4d8;
    color: #7a4b00;
}

.invitea-accessibility-status--error,
.invitea-accessibility-status--blocker {
    background: #fdeaea;
    color: #a11919;
}

.invitea-accessibility-table-wrap {
    overflow: auto;
}

.invitea-accessibility-table {
    inline-size: 100%;
    border-collapse: collapse;
}

.invitea-accessibility-table th,
.invitea-accessibility-table td {
    padding: 12px;
    border-block-end: 1px solid #ece8e2;
    text-align: start;
    vertical-align: top;
}

.invitea-accessibility-definition-list {
    margin: 0;
}

.invitea-accessibility-definition-list > div {
    display: grid;
    grid-template-columns: minmax(160px, .8fr) minmax(0, 1.2fr);
    gap: 16px;
    padding-block: 10px;
    border-block-end: 1px solid #ece8e2;
}

.invitea-accessibility-definition-list dt {
    color: #667085;
}

.invitea-accessibility-definition-list dd {
    margin: 0;
    font-weight: 600;
    overflow-wrap: anywhere;
}

.invitea-accessibility-limitations {
    margin: 0;
    padding-inline-start: 20px;
}

.invitea-accessibility-limitations li + li {
    margin-block-start: 8px;
}

@media (max-width: 1024px) {
    .invitea-accessibility-check-grid,
    .invitea-accessibility-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 768px) {
    .invitea-accessibility-head__actions,
    .invitea-accessibility-head__actions form,
    .invitea-accessibility-head__actions .button {
        inline-size: 100%;
    }

    .invitea-accessibility-definition-list > div {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
    }
}
