:root {
    --brand-950: #191513;
    --brand-900: #241f1c;
    --brand-800: #443a34;
    --brand-700: #8f1f24;
    --brand-600: #b12a30;
    --brand-100: #f0dcdd;
    --brand-50: #faf2ef;

    --text: #211d1a;
    --muted: #6f645d;
    --surface: #fffdfa;
    --surface-soft: #f8f3ec;
    --page: #f1e8dc;
    --border: #dfd1c2;
    --border-strong: #c8b5a3;

    --danger: #b42318;
    --danger-soft: #fff1f0;
    --success: #19725d;
    --success-soft: #eaf8f3;

    --radius-sm: 9px;
    --radius: 13px;
    --radius-lg: 17px;

    --shadow-sm:
        0 6px 20px rgba(55, 38, 29, 0.08);
    --shadow-md:
        0 16px 40px rgba(55, 38, 29, 0.12);

    --content: 1280px;
    --form: 780px;

    font-family:
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;

    color: var(--text);
    background: var(--page);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    min-width: 320px;
    min-height: 100%;
    background: var(--page);
}

body {
    min-height: 100vh;
    margin: 0;
    background:
        radial-gradient(
            circle at 10% 0,
            rgba(177, 42, 48, 0.06),
            transparent 26rem
        ),
        var(--page);
    color: var(--text);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
    font: inherit;
}

a {
    color: var(--brand-700);
    text-underline-offset: 0.16em;
}

/*
 * Mobile first.
 */

.site-header {
    position: sticky;
    z-index: 50;
    top: 0;
    border-bottom: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(12px);
}

.site-header__inner {
    display: flex;
    min-height: 64px;
    padding: 10px 14px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.brand {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
    color: var(--brand-950);
    font-weight: 800;
    letter-spacing: -0.02em;
    text-decoration: none;
}

.brand__mark {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 10px;
    background: var(--brand-900);
    color: #fff;
}

.brand__name {
    font-size: 1.05rem;
}

.site-header__account {
    display: flex;
    align-items: center;
    gap: 8px;
}

.site-header__email {
    display: none;
}

.site-header form {
    margin: 0;
}

.app-main {
    width: 100%;
    padding: 24px 14px 56px;
}

.page-header {
    margin-bottom: 22px;
}

.page-header__copy {
    min-width: 0;
}

.eyebrow {
    margin: 0 0 5px;
    color: var(--brand-700);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

h1,
h2,
h3 {
    color: var(--brand-950);
    line-height: 1.18;
    letter-spacing: -0.025em;
}

h1 {
    margin: 0;
    font-size: clamp(1.75rem, 8vw, 2.35rem);
}

h2 {
    margin: 0;
    font-size: 1.15rem;
}

.page-subtitle {
    margin: 7px 0 0;
    color: var(--muted);
}

.muted {
    color: var(--muted);
}

.small {
    font-size: 0.9rem;
}

.panel {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.panel + .panel {
    margin-top: 18px;
}

.panel__header {
    padding: 20px 18px 16px;
}

.panel__header .button {
    width: 100%;
    margin-top: 14px;
}

.panel__title {
    margin-bottom: 4px;
}

.dashboard-grid {
    display: grid;
    gap: 18px;
}

.dashboard-screenings {
    order: -1;
}

.button-row {
    display: grid;
    gap: 10px;
}

.button {
    display: inline-flex;
    width: 100%;
    min-height: 48px;
    padding: 11px 16px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    gap: 7px;
    background: var(--surface);
    color: var(--brand-950);
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.button--primary {
    border-color: var(--brand-900);
    background: var(--brand-900);
    color: #fff;
}

.button--primary:hover {
    background: var(--brand-950);
    color: #fff;
}

.button--quiet {
    background: transparent;
    box-shadow: none;
}

.button--danger {
    border-color: #e4aaa5;
    color: var(--danger);
}

.button--small {
    min-height: 44px;
    padding: 9px 13px;
    font-size: 0.88rem;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
    outline: 3px solid rgba(177, 42, 48, 0.26);
    outline-offset: 2px;
}

.back-link {
    display: inline-flex;
    min-height: 44px;
    margin-bottom: 10px;
    align-items: center;
    color: var(--muted);
    font-size: 0.92rem;
    font-weight: 700;
    text-decoration: none;
}

.property-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.property-list__item {
    padding: 16px 18px;
    border-top: 1px solid var(--border);
}

.property-list__name {
    color: var(--brand-950);
    font-weight: 750;
}

.property-list__address {
    margin-top: 4px;
    color: var(--muted);
    font-size: 0.9rem;
}

.empty-state {
    padding: 30px 20px;
    color: var(--muted);
    text-align: center;
}

/*
 * Tables become cards on phones.
 */

.table-wrap {
    width: 100%;
}

.data-table,
.data-table tbody,
.data-table tr,
.data-table td {
    display: block;
    width: 100%;
}

.data-table {
    border-collapse: collapse;
}

.data-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.data-table tbody {
    display: grid;
    padding: 0 14px 14px;
    gap: 14px;
}

.data-table tr {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
}

.data-table td {
    display: grid;
    grid-template-columns: minmax(92px, 0.38fr) minmax(0, 1fr);
    padding: 11px 14px;
    border-top: 1px solid var(--border);
    gap: 12px;
    align-items: start;
}

.data-table td:first-child {
    border-top: 0;
}

.data-table td::before {
    content: attr(data-label);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.data-table td.table-actions-cell {
    display: block;
}

.data-table td.table-actions-cell::before {
    display: block;
    margin-bottom: 9px;
}

.table-title {
    color: var(--brand-950);
    font-weight: 750;
}

.table-meta {
    margin-top: 3px;
    color: var(--muted);
    font-size: 0.8rem;
}

.status-chip {
    display: inline-flex;
    min-height: 27px;
    padding: 4px 9px;
    border: 1px solid #d9cbbd;
    border-radius: 999px;
    align-items: center;
    background: var(--brand-50);
    color: var(--brand-800);
    font-size: 0.78rem;
    font-weight: 800;
}

.table-actions {
    display: grid;
    gap: 8px;
}

.table-actions form {
    width: 100%;
    margin: 0;
}

.table-actions .button {
    width: 100%;
}

.org-select {
    width: 100%;
    margin-top: 18px;
}

.org-select label {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 750;
}

.form-shell {
    width: 100%;
    max-width: var(--form);
    margin: 0 auto;
}

.form-card {
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.field {
    margin-bottom: 18px;
}

label,
legend {
    display: block;
    margin-bottom: 6px;
    color: var(--brand-950);
    font-size: 0.9rem;
    font-weight: 750;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 12px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: #fff;
    color: var(--text);
}

textarea {
    min-height: 120px;
}

.help,
.helptext {
    display: block;
    margin-top: 6px;
    color: var(--muted);
    font-size: 0.85rem;
}

.order-email-warning {
    margin: 0 0 8px;
    color: #b12a30;
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.4;
}

.errorlist {
    margin: 7px 0 0;
    padding: 0;
    color: var(--danger);
    font-size: 0.86rem;
    font-weight: 650;
    list-style: none;
}

.form-errors,
.alert {
    padding: 14px 16px;
    border-radius: var(--radius);
}

.form-errors,
.alert--danger {
    border: 1px solid #edc2be;
    background: var(--danger-soft);
    color: #8f241a;
}

.alert--success {
    border: 1px solid #b8dfd3;
    background: var(--success-soft);
    color: #155c4c;
}

.fieldset-reset {
    min-width: 0;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
}

.choice-list {
    display: grid;
    gap: 9px;
}

.choice-list label {
    display: flex;
    min-height: 48px;
    margin: 0;
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    align-items: center;
    background: var(--surface-soft);
    font-weight: 600;
}

.choice-list input[type="radio"],
.choice-list input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0 10px 0 0;
    flex: 0 0 20px;
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr;
}

.form-actions {
    display: grid;
    margin-top: 24px;
    gap: 10px;
}

.auth-layout {
    display: grid;
    min-height: calc(100vh - 138px);
    place-items: center;
}

.auth-card {
    width: 100%;
    max-width: 430px;
    padding: 24px 18px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: var(--surface);
    box-shadow: var(--shadow-md);
}

.auth-card__intro {
    margin: 9px 0 24px;
    color: var(--muted);
}

.row-actions {
    display: flex;
    justify-content: flex-start;
    gap: 18px;
}

.row-actions a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

.danger-link {
    color: var(--danger);
}

/*
 * Control Panel properties: give actions their own row
 * in the stacked table/card layout below 900px.
 */
@media (max-width: 899px) {
    .dashboard-properties .data-table td[data-label="Actions"] {
        display: block;
    }

    .dashboard-properties .data-table td[data-label="Actions"]::before {
        display: block;
        margin-bottom: 10px;
    }

    .dashboard-properties .row-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 8px 24px;
    }

    .dashboard-properties .row-actions > .button {
        flex: 0 0 100%;
        width: 100%;
        justify-content: center;
        text-align: center;
        white-space: normal;
    }

    .dashboard-properties .row-actions > a:not(.button) {
        flex: 0 0 auto;
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.u-mt-3 {
    margin-top: 12px;
}

/*
 * Tablet and desktop enhancements.
 */

@media (min-width: 680px) {
    .site-header__inner {
        width: min(var(--content), calc(100% - 40px));
        min-height: 68px;
        margin: 0 auto;
        padding: 10px 0;
    }

    .site-header__email {
        display: block;
        max-width: 280px;
        overflow: hidden;
        color: var(--muted);
        font-size: 0.88rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .app-main {
        width: min(var(--content), calc(100% - 40px));
        margin: 0 auto;
        padding: 36px 0 72px;
    }

    .page-header {
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 24px;
    }

    .button {
        width: auto;
    }

    .button-row {
        display: flex;
        flex-wrap: wrap;
    }

    .panel__header {
        display: flex;
        padding: 22px 24px 18px;
        align-items: flex-start;
        justify-content: space-between;
        gap: 18px;
    }

    .panel__header .button {
        width: auto;
        margin-top: 0;
    }

    .form-card {
        padding: 26px;
    }

    .form-grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 0.7fr)
            minmax(0, 1fr);
        gap: 14px;
    }

    .form-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    .auth-card {
        padding: 34px;
    }

    .org-select {
        width: auto;
        min-width: 230px;
        margin-top: 0;
    }
}

@media (min-width: 900px) {
    .dashboard-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
        align-items: start;
    }

    .dashboard-properties .panel__header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 18px;
    }

    .dashboard-properties .panel__header .button-row {
        display: flex;
        flex-wrap: wrap;
        margin-top: 10px;
        gap: 8px;
    }

    .dashboard-properties .panel__header .button {
        width: auto;
        margin-top: 0;
    }

    .dashboard-properties {
        margin-bottom: 32px;
    }

    .dashboard-properties .property-list {
        display: grid;
        grid-template-columns:
            repeat(auto-fit, minmax(260px, 1fr));
    }

    /*
     * The Actions label is useful in the mobile card layout,
     * but the desktop table already has an Actions column header.
     */
    .data-table td.table-actions-cell::before {
        display: none;
        margin-bottom: 0;
    }

    .data-table {
        display: table;
        width: 100%;
    }

    .data-table thead {
        position: static;
        width: auto;
        height: auto;
        overflow: visible;
        clip: auto;
    }

    .data-table tbody {
        display: table-row-group;
        padding: 0;
    }

    .data-table tr {
        display: table-row;
        border: 0;
        border-radius: 0;
    }

    .data-table th,
    .data-table td {
        display: table-cell;
        width: auto;
        padding: 14px 15px;
        border-top: 1px solid var(--border);
        text-align: left;
        vertical-align: middle;
    }

    .data-table th {
        background: #fbfcfe;
        color: var(--muted);
        font-size: 0.74rem;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .data-table td::before {
        display: none;
    }

    .data-table td.table-actions-cell {
        display: table-cell;
    }

    .table-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 7px;
        align-items: center;
    }

    .table-actions form {
        width: auto;
    }

    .table-actions .button {
        width: auto;
    }

    .row-actions {
        justify-content: flex-end;
        white-space: nowrap;
    }
}

/*
 * Stable application action contracts.
 * These class names are covered by regression tests and are also
 * styled as mobile-first touch targets.
 */

.report-button,
.logout-button {
    display: inline-flex;
    width: 100%;
    min-height: 44px;
    padding: 9px 13px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--surface);
    color: var(--brand-950);
    font: inherit;
    font-size: 0.88rem;
    font-weight: 750;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.report-button.primary-action {
    border-color: var(--brand-900);
    background: var(--brand-900);
    color: #fff;
}

.report-button.secondary-action {
    background: var(--surface);
    color: var(--brand-950);
}

.logout-button {
    border-color: #e4aaa5;
    color: var(--danger);
}

.payer-fieldset {
    min-width: 0;
    padding: 0;
    border: 0;
}

.payer-options {
    display: grid;
    gap: 9px;
}

.payer-options label {
    display: flex;
    min-height: 48px;
    margin: 0;
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    align-items: center;
    background: var(--surface-soft);
    font-weight: 600;
}

.payer-options input[type="radio"] {
    width: 20px;
    height: 20px;
    margin: 0 10px 0 0;
    flex: 0 0 20px;
}

@media (min-width: 900px) {
    .table-actions .report-button,
    .table-actions .logout-button {
        width: auto;
    }
}

/*
 * Applicant identity verification.
 *
 * Provider/security markup remains intentionally stable. These styles
 * make that workflow phone-first without changing TransUnion state or
 * form semantics.
 */

.applicant-flow {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
}

.applicant-flow .card {
    margin-bottom: 16px;
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.applicant-flow .card:last-child {
    margin-bottom: 0;
}

.applicant-flow .card > :first-child {
    margin-top: 0;
}

.applicant-flow .card > :last-child {
    margin-bottom: 0;
}

.applicant-idv .summary {
    display: grid;
    gap: 9px;
    margin-top: 18px;
}

.applicant-idv .summary p {
    margin: 0;
    overflow-wrap: anywhere;
}

.applicant-idv .summary strong {
    color: var(--brand-950);
}

.applicant-idv .help,
.applicant-idv .privacy-note,
.applicant-idv .additional {
    color: var(--muted);
}

.applicant-idv .privacy-note {
    font-size: 0.9rem;
    line-height: 1.55;
}

.applicant-idv .error {
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid #edc2be;
    border-radius: var(--radius);
    background: var(--danger-soft);
    color: #8f241a;
}

.applicant-idv .tip {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid #d9cbbd;
    border-radius: var(--radius);
    background: var(--brand-50);
    color: var(--text);
    line-height: 1.55;
}

.applicant-idv .tip strong {
    display: block;
    margin-bottom: 6px;
    color: var(--brand-900);
}

.applicant-idv .question {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--border);
}

.applicant-idv .question h3 {
    margin-bottom: 10px;
    font-size: 1rem;
}

.applicant-idv .provider-text {
    margin: 0 0 14px;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.applicant-idv fieldset {
    min-width: 0;
    margin: 16px 0 0;
    padding: 0;
    border: 0;
}

.applicant-idv legend {
    margin-bottom: 10px;
}

.applicant-idv .choices {
    display: grid;
    gap: 10px;
}

.applicant-idv .choice {
    display: flex;
    min-height: 52px;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    align-items: flex-start;
    gap: 11px;
    background: var(--surface-soft);
    color: var(--text);
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
}

.applicant-idv .choice:has(input:checked) {
    border-color: var(--brand-600);
    background: var(--brand-50);
    box-shadow:
        0 0 0 2px rgba(177, 42, 48, 0.10);
}

.applicant-idv .choice input[type="radio"] {
    width: 21px;
    height: 21px;
    margin: 1px 0 0;
    flex: 0 0 21px;
    accent-color: var(--brand-800);
}

.applicant-idv button[type="submit"],
.applicant-idv a[href] {
    min-height: 48px;
}

.applicant-idv button[type="submit"] {
    display: inline-flex;
    width: 100%;
    padding: 11px 16px;
    border: 1px solid var(--brand-900);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--brand-900);
    color: #fff;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.applicant-idv button[type="submit"]:hover {
    background: var(--brand-950);
}

.applicant-idv .card > p > a[href] {
    display: inline-flex;
    width: 100%;
    padding: 11px 16px;
    border: 1px solid var(--brand-900);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--brand-900);
    color: #fff;
    font-weight: 750;
    text-align: center;
    text-decoration: none;
}

@media (min-width: 680px) {
    .applicant-flow .card {
        padding: 24px;
    }

    .applicant-idv button[type="submit"],
    .applicant-idv .card > p > a[href] {
        width: auto;
    }
}

/*
 * Applicant TransUnion terms and attestations.
 *
 * Provider/legal content remains in its original template markup.
 * These rules only change presentation and phone usability.
 */

.applicant-legal {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
}

.applicant-legal .card {
    margin-bottom: 16px;
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.applicant-legal .card:last-child {
    margin-bottom: 0;
}

.applicant-legal .card > :first-child {
    margin-top: 0;
}

.applicant-legal .card > :last-child {
    margin-bottom: 0;
}

.applicant-legal .summary {
    display: grid;
    gap: 9px;
    margin-top: 18px;
}

.applicant-legal .summary p {
    margin: 0;
    overflow-wrap: anywhere;
}

.applicant-legal .summary strong {
    color: var(--brand-950);
}

.applicant-legal .help,
.applicant-legal .additional,
.applicant-legal .privacy-note {
    color: var(--muted);
    line-height: 1.55;
}

.applicant-legal .error {
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid #edc2be;
    border-radius: var(--radius);
    background: var(--danger-soft);
    color: #8f241a;
}

.applicant-legal .notice,
.applicant-legal .tip {
    margin: 16px 0;
    padding: 15px 16px;
    border: 1px solid #d9cbbd;
    border-radius: var(--radius);
    background: var(--brand-50);
    line-height: 1.55;
}

.applicant-legal .provider-text,
.applicant-legal .legal-text,
.applicant-legal .terms-text {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.6;
}

.applicant-legal .question {
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid var(--border);
}

.applicant-legal .question h3 {
    margin-bottom: 10px;
    font-size: 1rem;
}

.applicant-legal fieldset {
    min-width: 0;
    margin: 16px 0 0;
    padding: 0;
    border: 0;
}

.applicant-legal legend {
    margin-bottom: 10px;
    color: var(--brand-950);
    font-weight: 750;
}

.applicant-legal .choices {
    display: grid;
    gap: 10px;
}

.applicant-legal .choice {
    display: flex;
    min-height: 52px;
    margin: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    align-items: flex-start;
    gap: 11px;
    background: var(--surface-soft);
    color: var(--text);
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
}

.applicant-legal .choice:has(input:checked) {
    border-color: var(--brand-600);
    background: var(--brand-50);
    box-shadow:
        0 0 0 2px rgba(177, 42, 48, 0.10);
}

.applicant-legal input[type="radio"],
.applicant-legal input[type="checkbox"] {
    width: 21px;
    height: 21px;
    margin: 1px 0 0;
    flex: 0 0 21px;
    accent-color: var(--brand-800);
}

.applicant-legal button[type="submit"] {
    display: inline-flex;
    width: 100%;
    min-height: 48px;
    padding: 11px 16px;
    border: 1px solid var(--brand-900);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--brand-900);
    color: #fff;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.applicant-legal button[type="submit"]:hover {
    background: var(--brand-950);
}

.applicant-legal a {
    overflow-wrap: anywhere;
}

@media (min-width: 680px) {
    .applicant-legal .card {
        padding: 24px;
    }

    .applicant-legal button[type="submit"] {
        width: auto;
    }
}

/* Shared site footer and public RealSerious legal documents. */

.site-footer {
    margin-top: 40px;
    border-top: 1px solid var(--border);
    background: var(--surface);
}

.site-footer__inner {
    display: grid;
    width: min(100% - 28px, 1180px);
    margin: 0 auto;
    padding: 22px 0 28px;
    gap: 12px;
}

.site-footer__company {
    margin: 0;
    color: var(--muted);
    font-size: 0.875rem;
    line-height: 1.5;
}

.site-footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}

.site-footer__legal a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    color: var(--brand-800);
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
}

.site-footer__legal a:hover {
    text-decoration: underline;
}

.legal-document {
    width: 100%;
    max-width: 840px;
    margin: 0 auto;
}

.legal-document__header {
    margin-bottom: 18px;
}

.legal-document__header h1 {
    margin-bottom: 0;
}

.legal-document__body {
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.legal-document__body section + section {
    margin-top: 28px;
    padding-top: 26px;
    border-top: 1px solid var(--border);
}

.legal-document__body h2 {
    margin: 0 0 12px;
    color: var(--brand-950);
    font-size: 1.08rem;
    line-height: 1.35;
}

.legal-document__body p {
    margin: 0;
    color: var(--text);
    line-height: 1.72;
}

.legal-document__body p + p {
    margin-top: 16px;
}

.legal-document__notice {
    margin-bottom: 24px !important;
    padding: 14px 16px;
    border: 1px solid #d9cbbd;
    border-radius: var(--radius);
    background: var(--brand-50);
}

@media (min-width: 680px) {
    .site-footer__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .site-footer__legal {
        justify-content: flex-end;
    }

    .legal-document__body {
        padding: 30px 34px;
    }
}

/*
 * Applicant invitation claim and screening home.
 *
 * Mobile-first: primary actions are full-width on phones,
 * touch targets are at least 48px, and screening records are cards.
 */

.invitation-flow {
    width: 100%;
    max-width: 620px;
    margin: 0 auto;
}

.invitation-card {
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.invitation-header h1,
.invitation-unavailable h1 {
    margin-bottom: 10px;
}

.invitation-header > :last-child,
.invitation-unavailable > :last-child {
    margin-bottom: 0;
}

.invitation-flow .context {
    display: grid;
    gap: 5px;
    margin: 20px 0 24px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-soft);
}

.invitation-flow .context strong {
    color: var(--brand-950);
    overflow-wrap: anywhere;
}

.invitation-flow .small {
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.invitation-step {
    padding-top: 4px;
}

.invitation-step > p:first-child {
    margin-top: 0;
}

.invitation-flow form {
    margin: 0;
}

.invitation-form label {
    display: block;
    margin: 18px 0 7px;
    color: var(--brand-950);
    font-weight: 750;
}

.invitation-form input {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: 16px;
}

.invitation-form input:focus {
    outline: 3px solid rgba(177, 42, 48, 0.20);
    outline-offset: 1px;
    border-color: var(--brand-600);
}

.invitation-flow .errorlist,
.invitation-flow .errors {
    margin: 7px 0 0;
    padding-left: 20px;
    color: var(--danger);
    font-size: 0.9rem;
}

.invitation-actions {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}

.invitation-secondary-form {
    margin-top: 10px !important;
}

.invitation-flow button {
    display: inline-flex;
    width: 100%;
    min-height: 48px;
    padding: 11px 16px;
    border: 1px solid var(--brand-900);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--brand-900);
    color: #fff;
    font: inherit;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
    cursor: pointer;
}

.invitation-form button {
    margin-top: 22px;
}

.invitation-flow button:hover {
    background: var(--brand-950);
}

.invitation-flow button.secondary {
    border-color: var(--border-strong);
    background: var(--surface);
    color: var(--brand-900);
}

.invitation-flow button.secondary:hover {
    background: var(--surface-soft);
}

.invitation-unavailable {
    max-width: 580px;
}

.applicant-screening-home {
    display: grid;
    width: 100%;
    max-width: 940px;
    margin: 0 auto;
    gap: 16px;
}

.applicant-screening-home .compatibility {
    display: grid;
    padding: 16px;
    border: 1px solid #d1bfb0;
    border-radius: var(--radius);
    gap: 14px;
    background: var(--brand-50);
}

.applicant-screening-home .compatibility p {
    margin: 5px 0 0;
    color: var(--muted);
    line-height: 1.5;
}

.applicant-screening-home .compatibility a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: var(--brand-800);
    font-weight: 750;
}

.applicant-screening-home .intro,
.applicant-screening-home .section {
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.applicant-screening-home .intro {
    display: grid;
    gap: 18px;
}

.applicant-screening-home .intro h1,
.applicant-screening-home .section h2 {
    margin-bottom: 8px;
}

.applicant-screening-home .intro p:not(.eyebrow) {
    margin-bottom: 0;
    color: var(--muted);
    line-height: 1.55;
}

.applicant-screening-home .screening-primary-link,
.applicant-screening-home .screening-row-action {
    display: inline-flex;
    width: 100%;
    min-height: 48px;
    padding: 11px 16px;
    border: 1px solid var(--brand-900);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--brand-900);
    color: #fff;
    font: inherit;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.applicant-screening-home .screening-primary-link:hover,
.applicant-screening-home .screening-row-action:hover {
    background: var(--brand-950);
}

.applicant-screening-home .section-heading {
    margin-bottom: 16px;
}

.applicant-screening-home .section-heading h2 {
    margin-bottom: 0;
}

.applicant-screening-home .rows {
    display: grid;
    gap: 12px;
}

.applicant-screening-home .row {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-soft);
}

.applicant-screening-home .screening-row-heading {
    display: grid;
    gap: 10px;
    margin-bottom: 12px;
}

.applicant-screening-home .row h3 {
    min-width: 0;
    margin: 0;
    color: var(--brand-950);
    font-size: 1rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.applicant-screening-home .screening-status {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    min-height: 28px;
    padding: 4px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    align-items: center;
    background: var(--surface);
    color: var(--muted);
    font-size: 0.8rem;
    font-weight: 750;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.applicant-screening-home .meta {
    display: grid;
    gap: 6px;
    margin-bottom: 16px;
    color: var(--muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.applicant-screening-home .meta span {
    overflow-wrap: anywhere;
}

.applicant-screening-home .actions {
    display: grid;
    gap: 8px;
}

.applicant-screening-home .cancel-form {
    margin: 0;
}

.applicant-screening-home .cancel-button {
    display: inline-flex;
    width: 100%;
    min-height: 44px;
    padding: 9px 12px;
    border: 0;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--danger);
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}

.applicant-screening-home .empty {
    padding: 16px;
    border: 1px dashed var(--border-strong);
    border-radius: var(--radius);
    background: var(--surface-soft);
}

.applicant-screening-home .empty .help {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

@media (min-width: 680px) {
    .invitation-card {
        padding: 26px;
    }

    .invitation-actions {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .applicant-screening-home .compatibility {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .applicant-screening-home .intro,
    .applicant-screening-home .section {
        padding: 24px;
    }

    .applicant-screening-home .intro {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .applicant-screening-home .screening-primary-link {
        width: auto;
    }

    .applicant-screening-home .screening-row-heading {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: start;
    }

    .applicant-screening-home .actions {
        grid-template-columns: max-content max-content;
        align-items: center;
        justify-content: start;
    }

    .applicant-screening-home .screening-row-action,
    .applicant-screening-home .cancel-button {
        width: auto;
    }
}

/*
 * Single-page applicant intake.
 *
 * Phone-first by design: one column at small widths, large controls,
 * no horizontal scrolling, and all sections remain on one page.
 */

.applicant-intake {
    display: grid;
    width: 100%;
    max-width: 940px;
    margin: 0 auto;
    gap: 16px;
}

.applicant-intake__topbar {
    display: grid;
    gap: 10px;
}

.applicant-intake__back {
    display: inline-flex;
    width: fit-content;
    min-height: 44px;
    align-items: center;
    color: var(--brand-800);
    font-weight: 750;
    text-decoration: none;
}

.applicant-intake__back:hover {
    text-decoration: underline;
}

.applicant-intake__cancel-form {
    margin: 0;
}

.applicant-intake__cancel-button {
    display: inline-flex;
    min-height: 44px;
    padding: 8px 0;
    border: 0;
    align-items: center;
    background: transparent;
    color: var(--danger);
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}

.applicant-intake__intro,
.applicant-intake__summary,
.applicant-intake__section {
    min-width: 0;
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.applicant-intake__intro h1 {
    margin-bottom: 10px;
}

.applicant-intake__lead {
    margin: 0;
    color: var(--text);
    line-height: 1.55;
}

.applicant-intake__privacy-note {
    display: grid;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid #d9cbbd;
    border-radius: var(--radius);
    gap: 4px;
    background: var(--brand-50);
    line-height: 1.5;
}

.applicant-intake__privacy-note span {
    color: var(--muted);
    font-size: 0.92rem;
}

.applicant-intake__section-heading {
    margin-bottom: 18px;
}

.applicant-intake__section-heading h2 {
    margin: 0;
    color: var(--brand-950);
    font-size: 1.2rem;
    line-height: 1.3;
}

.applicant-intake__section-heading p:not(.eyebrow) {
    margin: 8px 0 0;
    color: var(--muted);
    line-height: 1.5;
}

.applicant-intake__summary-list {
    display: grid;
    margin: 0;
    gap: 0;
}

.applicant-intake__summary-list > div {
    display: grid;
    min-width: 0;
    padding: 12px 0;
    border-top: 1px solid var(--border);
    gap: 4px;
}

.applicant-intake__summary-list > div:first-child {
    padding-top: 0;
    border-top: 0;
}

.applicant-intake__summary-list > div:last-child {
    padding-bottom: 0;
}

.applicant-intake__summary-list dt {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 750;
    line-height: 1.35;
}

.applicant-intake__summary-list dd {
    min-width: 0;
    margin: 0;
    color: var(--text);
    font-weight: 650;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.applicant-intake__saved {
    display: grid;
    padding: 15px 16px;
    border: 1px solid #a9ccb3;
    border-radius: var(--radius);
    gap: 4px;
    background: #f2f9f4;
    line-height: 1.5;
}

.applicant-intake__saved span {
    color: var(--muted);
}

.applicant-intake__form {
    display: grid;
    gap: 16px;
    margin: 0;
}

.applicant-intake__form-errors {
    padding: 15px 16px;
    border: 1px solid #e3b2ad;
    border-radius: var(--radius);
    background: #fff6f5;
    color: var(--danger);
}

.applicant-intake__form-errors > strong {
    display: block;
    margin-bottom: 6px;
}

.applicant-intake__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.applicant-intake__field {
    min-width: 0;
}

.applicant-intake__field label {
    display: block;
    margin-bottom: 7px;
    color: var(--brand-950);
    font-weight: 750;
    line-height: 1.35;
}

.applicant-intake__field input,
.applicant-intake__field select {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: 16px;
}

.applicant-intake__field input:focus,
.applicant-intake__field select:focus {
    outline: 3px solid rgba(177, 42, 48, 0.20);
    outline-offset: 1px;
    border-color: var(--brand-600);
}

.applicant-intake__field .errorlist,
.applicant-intake__certification .errorlist,
.applicant-intake__form-errors .errorlist {
    margin: 7px 0 0;
    padding-left: 20px;
    color: var(--danger);
    font-size: 0.9rem;
    line-height: 1.45;
}

.applicant-intake__section--sensitive {
    border-color: #d9cbbd;
}

.applicant-intake__sensitive-note {
    display: grid;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    gap: 4px;
    background: var(--surface-soft);
    line-height: 1.5;
}

.applicant-intake__sensitive-note strong {
    color: var(--brand-950);
}

.applicant-intake__sensitive-note span {
    color: var(--muted);
    font-size: 0.9rem;
}

.applicant-intake__section--confirm {
    border-color: #cfbdae;
}

.applicant-intake__certification {
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface-soft);
}

.applicant-intake__certification label {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    margin: 0;
    gap: 11px;
    align-items: start;
    color: var(--text);
    font-weight: 500;
    line-height: 1.55;
    cursor: pointer;
}

.applicant-intake__certification input[type="checkbox"] {
    width: 22px;
    height: 22px;
    margin: 2px 0 0;
}

.applicant-intake__submit {
    margin-top: 18px;
}

.applicant-intake__submit button {
    display: inline-flex;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border: 1px solid var(--brand-900);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--brand-900);
    color: #fff;
    font: inherit;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
    cursor: pointer;
}

.applicant-intake__submit button:hover {
    background: var(--brand-950);
}

@media (min-width: 680px) {
    .applicant-intake__topbar {
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
    }

    .applicant-intake__intro,
    .applicant-intake__summary,
    .applicant-intake__section {
        padding: 26px;
    }

    .applicant-intake__summary-list > div {
        grid-template-columns: 150px minmax(0, 1fr);
        gap: 18px;
    }

    .applicant-intake__summary-list dt {
        font-size: 0.9rem;
    }
}

@media (min-width: 760px) {
    .applicant-intake__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .applicant-intake__field--full {
        grid-column: 1 / -1;
    }

    .applicant-intake__submit {
        display: flex;
        justify-content: flex-end;
    }

    .applicant-intake__submit button {
        width: auto;
        min-width: 210px;
    }

    .applicant-intake__submit--checkout {
        justify-content: flex-start;
    }
}

.checkout-card-types {
    margin-top: 8px;
}

/*
 * Applicant report ordering and secure payment.
 */

.renter-order {
    display: grid;
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    gap: 16px;
}

.renter-order__back {
    display: inline-flex;
    width: fit-content;
    min-height: 44px;
    align-items: center;
    color: var(--brand-800);
    font-weight: 750;
    text-decoration: none;
}

.renter-order__back:hover {
    text-decoration: underline;
}

.renter-order__intro,
.renter-order__card {
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.renter-order__intro h1 {
    margin-bottom: 8px;
}

.renter-order__intro p:not(.eyebrow) {
    margin-bottom: 0;
    color: var(--muted);
    line-height: 1.55;
}

.renter-order__form {
    margin: 0;
}

.renter-order__field {
    min-width: 0;
    margin-bottom: 20px;
}

.renter-order__field label,
.renter-order__field .field-label {
    display: block;
    margin-bottom: 7px;
    color: var(--brand-950);
    font-weight: 750;
    line-height: 1.35;
}

.renter-order__field input,
.renter-order__field select {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: 16px;
}

.renter-order__field input:focus,
.renter-order__field select:focus {
    outline: 3px solid rgba(177, 42, 48, 0.20);
    outline-offset: 1px;
    border-color: var(--brand-600);
}

.renter-order__email {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
    font-weight: 650;
    overflow-wrap: anywhere;
}

.renter-order__help {
    margin-top: 7px;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.renter-order__section-heading {
    margin: 6px 0 16px;
}

.renter-order__section-heading h2 {
    margin-bottom: 6px;
    font-size: 1.1rem;
}

.renter-order__section-heading p {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

.renter-order__name-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.renter-order__errors,
.renter-order__field .errorlist {
    color: var(--danger);
}

.renter-order__errors {
    margin-bottom: 18px;
    padding: 14px;
    border: 1px solid #e3b2ad;
    border-radius: var(--radius);
    background: #fff6f5;
}

.renter-order__field .errorlist {
    margin: 7px 0 0;
    padding-left: 20px;
    font-size: 0.9rem;
}

.renter-order__actions {
    display: grid;
    gap: 8px;
    margin-top: 6px;
}

.renter-order__submit {
    display: inline-flex;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border: 1px solid var(--brand-900);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--brand-900);
    color: #fff;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.renter-order__submit:hover {
    background: var(--brand-950);
}

.renter-order__cancel {
    display: inline-flex;
    width: 100%;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    color: var(--muted);
    font-weight: 700;
}

.screening-payment {
    display: grid;
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    gap: 16px;
}

.screening-payment .card {
    margin: 0;
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.screening-payment__summary-card h1 {
    margin-bottom: 18px;
}

.screening-payment .summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    margin: 0;
    gap: 4px;
}

.screening-payment .summary span {
    margin-top: 11px;
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 750;
}

.screening-payment .summary span:first-child {
    margin-top: 0;
}

.screening-payment .summary strong {
    min-width: 0;
    color: var(--text);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.screening-payment > .error,
.screening-payment #payment-token-error {
    margin: 0;
    padding: 14px 16px;
    border: 1px solid #e3b2ad;
    border-radius: var(--radius);
    background: #fff6f5;
    color: var(--danger);
    line-height: 1.5;
}

.screening-payment #payment-token-error[hidden] {
    display: none;
}

.screening-payment__state {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
}

.screening-payment__state h2,
.screening-payment__pay-card h2 {
    margin-bottom: 8px;
}

.screening-payment__state p,
.screening-payment__pay-card > p {
    color: var(--muted);
    line-height: 1.55;
}

.screening-payment__state-icon {
    display: inline-flex;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    font-weight: 800;
}

.screening-payment__state-icon--success {
    border: 1px solid #a9ccb3;
    background: #f2f9f4;
}

.screening-payment__state-icon--review {
    border: 1px solid #e1c28d;
    background: #fff8e8;
}

.screening-payment__state--review {
    border-color: #e1c28d !important;
}

.screening-payment__actions {
    margin: 18px 0 0 !important;
}

.screening-payment__primary-link,
.screening-payment .continue-button,
.screening-payment .pay-button {
    display: inline-flex;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border: 1px solid var(--brand-900);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--brand-900);
    color: #fff;
    font: inherit;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.screening-payment__primary-link:hover,
.screening-payment .continue-button:hover,
.screening-payment .pay-button:hover {
    background: var(--brand-950);
}

.screening-payment__section-heading {
    margin-bottom: 12px;
}

.screening-payment__security-note {
    display: grid;
    margin-top: 18px;
    padding: 14px;
    border: 1px solid #d9cbbd;
    border-radius: var(--radius);
    gap: 4px;
    background: var(--brand-50);
    line-height: 1.5;
}

.screening-payment__security-note span {
    color: var(--muted);
    font-size: 0.9rem;
}

@media (min-width: 680px) {
    .renter-order__intro,
    .renter-order__card,
    .screening-payment .card {
        padding: 26px;
    }

    .renter-order__name-grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 0.7fr)
            minmax(0, 1fr);
        gap: 14px;
    }

    .renter-order__actions {
        grid-template-columns: auto auto;
        align-items: center;
        justify-content: start;
    }

    .renter-order__submit,
    .renter-order__cancel {
        width: auto;
    }

    .screening-payment .summary {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);
        gap: 10px 22px;
    }

    .screening-payment .summary span {
        margin-top: 0;
    }

    .screening-payment .summary strong {
        text-align: right;
    }

    .screening-payment__primary-link,
    .screening-payment .continue-button,
    .screening-payment .pay-button {
        width: auto;
    }
}

/*
 * Landlord property editing, deletion, and screening preparation.
 */

.property-editor {
    display: grid;
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
    gap: 16px;
}

.property-editor__back {
    display: inline-flex;
    width: fit-content;
    min-height: 44px;
    align-items: center;
    color: var(--brand-800);
    font-weight: 750;
    text-decoration: none;
}

.property-editor__back:hover {
    text-decoration: underline;
}

.property-editor__card {
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.property-editor__heading {
    margin-bottom: 22px;
}

.property-editor__heading h1 {
    margin-bottom: 8px;
}

.property-editor__heading p:not(.eyebrow) {
    margin: 0;
    color: var(--muted);
    line-height: 1.55;
}

.property-editor__form {
    margin: 0;
}

.property-editor__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.property-editor__field {
    min-width: 0;
}

.property-editor__field label {
    display: block;
    margin-bottom: 7px;
    color: var(--brand-950);
    font-weight: 750;
    line-height: 1.35;
}

.property-editor__field input,
.property-editor__field select,
.property-editor__field textarea {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: 16px;
}

.property-editor__field input:focus,
.property-editor__field select:focus,
.property-editor__field textarea:focus {
    outline: 3px solid rgba(177, 42, 48, 0.20);
    outline-offset: 1px;
    border-color: var(--brand-600);
}

.property-editor__help {
    margin-top: 7px;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.property-editor__field .errorlist,
.property-editor__errors {
    color: var(--danger);
}

.property-editor__field .errorlist {
    margin: 7px 0 0;
    padding-left: 20px;
    font-size: 0.9rem;
}

.property-editor__errors {
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid #e3b2ad;
    border-radius: var(--radius-sm);
    background: #fff6f5;
}

.property-editor__actions {
    display: grid;
    gap: 8px;
    margin-top: 24px;
}

.property-editor__submit,
.property-editor__cancel {
    display: inline-flex;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    font: inherit;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
}

.property-editor__submit {
    border: 1px solid var(--brand-900);
    background: var(--brand-900);
    color: #fff;
    cursor: pointer;
}

.property-editor__submit:hover {
    background: var(--brand-950);
}

.property-editor__cancel {
    border: 1px solid var(--border-strong);
    background: var(--surface);
    color: var(--text);
}

.property-delete {
    width: 100%;
    max-width: 640px;
    margin: 0 auto;
}

.property-delete__card {
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.property-delete__card h1 {
    margin-bottom: 18px;
}

.property-delete__warning {
    display: grid;
    margin: 18px 0;
    padding: 15px 16px;
    border: 1px solid #e3b2ad;
    border-radius: var(--radius-sm);
    gap: 5px;
    background: #fff6f5;
    line-height: 1.5;
}

.property-delete__warning strong {
    color: var(--danger);
}

.property-delete__warning span,
.property-delete__irreversible {
    color: var(--muted);
}

.property-delete__question {
    margin-bottom: 8px;
    line-height: 1.55;
}

.property-delete__irreversible {
    margin-top: 0;
    line-height: 1.5;
}

.property-delete__actions {
    display: grid;
    gap: 8px;
    margin-top: 24px;
}

.property-delete__actions form {
    margin: 0;
}

.property-delete__confirm,
.property-delete__cancel,
.property-delete__back {
    display: inline-flex;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    font: inherit;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
}

.property-delete__confirm {
    border: 1px solid var(--danger);
    background: var(--danger);
    color: #fff;
    cursor: pointer;
}

.property-delete__cancel,
.property-delete__back {
    border: 1px solid var(--border-strong);
    background: var(--surface);
    color: var(--text);
}

.screening-prepare {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}

.screening-prepare__card {
    padding: 24px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.screening-prepare__card h1 {
    margin-bottom: 10px;
}

.screening-prepare__card > p:not(.eyebrow) {
    color: var(--muted);
    line-height: 1.55;
}

.screening-prepare__icon {
    display: inline-flex;
    width: 44px;
    height: 44px;
    margin-bottom: 16px;
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 800;
}

.screening-prepare__icon--progress {
    border: 1px solid #d9cbbd;
    background: var(--brand-50);
    color: var(--brand-900);
}

.screening-prepare__icon--warning {
    border: 1px solid #e1c28d;
    background: #fff8e8;
    color: #765316;
}

.screening-prepare__subtle {
    color: var(--muted);
}

.screening-prepare__notice {
    display: grid;
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid #d9cbbd;
    border-radius: var(--radius-sm);
    gap: 4px;
    background: var(--surface-soft);
    line-height: 1.5;
}

.screening-prepare__notice span {
    color: var(--muted);
}

.screening-prepare__actions {
    display: grid;
    gap: 8px;
    margin-top: 24px;
}

.screening-prepare__button {
    display: inline-flex;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border: 1px solid var(--brand-900);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--brand-900);
    color: #fff;
    font: inherit;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.screening-prepare__button:hover {
    background: var(--brand-950);
}

.screening-prepare__button--secondary {
    border-color: var(--border-strong);
    background: var(--surface);
    color: var(--text);
}

.screening-prepare__button--secondary:hover {
    background: var(--surface-soft);
}

@media (min-width: 680px) {
    .property-editor__card,
    .property-delete__card,
    .screening-prepare__card {
        padding: 28px;
    }

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

    .property-editor__field--full {
        grid-column: 1 / -1;
    }

    .property-editor__actions,
    .property-delete__actions,
    .screening-prepare__actions {
        grid-template-columns: auto auto;
        align-items: center;
        justify-content: start;
    }

    .property-editor__submit,
    .property-editor__cancel,
    .property-delete__confirm,
    .property-delete__cancel,
    .property-delete__back,
    .screening-prepare__button {
        width: auto;
    }
}

/*
 * CIC subject intake and report-status workflow.
 */

.cic-subject,
.cic-status {
    display: grid;
    width: 100%;
    max-width: 780px;
    margin: 0 auto;
    gap: 16px;
}

.cic-subject__back {
    display: inline-flex;
    width: fit-content;
    min-height: 44px;
    align-items: center;
    color: var(--brand-800);
    font-weight: 750;
    text-decoration: none;
}

.cic-subject__back:hover {
    text-decoration: underline;
}

.cic-subject__intro,
.cic-subject__summary,
.cic-subject__form-card,
.cic-status__hero,
.cic-status__reports,
.cic-status__actions {
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.cic-subject__intro h1,
.cic-status__hero h1 {
    margin-bottom: 8px;
}

.cic-subject__intro p:not(.eyebrow),
.cic-status__hero > p:not(.eyebrow) {
    margin-bottom: 0;
    color: var(--muted);
    line-height: 1.55;
}

.cic-subject__summary h2,
.cic-status__section-heading h2 {
    margin-bottom: 10px;
    font-size: 1.1rem;
}

.cic-subject__summary-grid {
    display: grid;
    gap: 14px;
}

.cic-subject__summary-grid > div,
.cic-status__product {
    display: grid;
    gap: 3px;
}

.cic-subject__summary-grid span,
.cic-status__product span {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 750;
}

.cic-subject__summary-grid strong,
.cic-status__product strong {
    overflow-wrap: anywhere;
}

.cic-subject__privacy,
.cic-status__safe-note,
.cic-status__notice {
    display: grid;
    padding: 14px 16px;
    border-radius: var(--radius-sm);
    gap: 4px;
    line-height: 1.5;
}

.cic-subject__privacy,
.cic-status__safe-note {
    border: 1px solid #d9cbbd;
    background: var(--brand-50);
}

.cic-status__notice {
    border: 1px solid #e1c28d;
    background: #fff8e8;
}

.cic-subject__privacy span,
.cic-status__safe-note span,
.cic-status__notice span {
    color: var(--muted);
    font-size: 0.92rem;
}

.cic-subject__form {
    margin: 0;
}

.cic-subject__fields {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}

.cic-subject__field {
    min-width: 0;
}

.cic-subject__field label {
    display: block;
    margin-bottom: 7px;
    color: var(--brand-950);
    font-weight: 750;
    line-height: 1.35;
}

.cic-subject__field input,
.cic-subject__field select,
.cic-subject__field textarea {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: 16px;
}

.cic-subject__field input:focus,
.cic-subject__field select:focus,
.cic-subject__field textarea:focus {
    outline: 3px solid rgba(177, 42, 48, 0.20);
    outline-offset: 1px;
    border-color: var(--brand-600);
}

.cic-subject__help {
    margin-top: 7px;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.cic-subject__field-error,
.cic-subject__errors {
    color: var(--danger);
}

.cic-subject__field-error .errorlist {
    margin: 7px 0 0;
    padding-left: 20px;
    font-size: 0.9rem;
}

.cic-subject__errors {
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid #e3b2ad;
    border-radius: var(--radius-sm);
    background: #fff6f5;
}

.cic-subject__actions {
    display: grid;
    gap: 8px;
    margin-top: 24px;
}

.cic-subject__submit,
.cic-subject__cancel {
    display: inline-flex;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    font: inherit;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
}

.cic-subject__submit {
    border: 1px solid var(--brand-900);
    background: var(--brand-900);
    color: #fff;
    cursor: pointer;
}

.cic-subject__submit:hover {
    background: var(--brand-950);
}

.cic-subject__cancel {
    border: 1px solid var(--border-strong);
    background: var(--surface);
    color: var(--text);
}

.cic-status__product {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
}

.cic-status__section-heading {
    margin-bottom: 16px;
}

.cic-status__section-heading p {
    margin: 0;
    color: var(--muted);
    line-height: 1.5;
}

.cic-status__rows {
    display: grid;
    gap: 10px;
}

.cic-status__row {
    display: flex;
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: var(--surface-soft);
}

.cic-status__row > strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.cic-status__badge {
    display: inline-flex;
    flex: 0 0 auto;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    align-items: center;
    justify-content: center;
    background: var(--surface);
    font-size: 0.82rem;
    font-weight: 800;
    white-space: nowrap;
}

.cic-status__badge--ready {
    border-color: #a9ccb3;
    background: #f2f9f4;
}

.cic-status__badge--processing {
    border-color: #d9cbbd;
    background: var(--brand-50);
}

.cic-status__badge--pending {
    border-color: #e1c28d;
    background: #fff8e8;
}

.cic-status__actions {
    display: grid;
    gap: 8px;
}

.cic-status__actions form {
    margin: 0;
}

.cic-status__button {
    display: inline-flex;
    width: 100%;
    min-height: 50px;
    padding: 12px 18px;
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    font: inherit;
    font-weight: 750;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}

.cic-status__button--primary {
    border: 1px solid var(--brand-900);
    background: var(--brand-900);
    color: #fff;
}

.cic-status__button--primary:hover {
    background: var(--brand-950);
}

.cic-status__button--secondary {
    border: 1px solid var(--border-strong);
    background: var(--surface);
    color: var(--text);
}

.cic-status__button--secondary:hover {
    background: var(--surface-soft);
}

@media (min-width: 680px) {
    .cic-subject__intro,
    .cic-subject__summary,
    .cic-subject__form-card,
    .cic-status__hero,
    .cic-status__reports,
    .cic-status__actions {
        padding: 26px;
    }

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

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

    .cic-subject__field--house_number,
    .cic-subject__field--state {
        max-width: 180px;
    }

    .cic-subject__field--street,
    .cic-subject__field--city,
    .cic-subject__field--postal_code,
    .cic-subject__field--ssn,
    .cic-subject__field--date_of_birth {
        min-width: 0;
    }

    .cic-subject__actions {
        grid-template-columns: auto auto;
        align-items: center;
        justify-content: start;
    }

    .cic-subject__submit,
    .cic-subject__cancel {
        width: auto;
    }

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

/*
 * RealSerious brand foundation.
 *
 * Uses the authoritative RealSerious artwork from the live V2 site.
 * The logo keeps its native 179:57 aspect ratio and scales without
 * distortion across phone, tablet, and desktop layouts.
 */

.brand {
    display: inline-flex;
    min-width: 0;
    min-height: 48px;
    align-items: center;
    flex: 0 1 auto;
    text-decoration: none;
}

.brand__logo {
    display: block;
    width: 136px;
    height: auto;
    max-width: 100%;
    flex: 0 1 auto;
}

.brand:hover .brand__logo {
    opacity: 0.88;
}

.brand:focus-visible {
    border-radius: var(--radius-sm);
    outline: 3px solid rgba(177, 42, 48, 0.26);
    outline-offset: 4px;
}

@media (min-width: 390px) {
    .brand__logo {
        width: 148px;
    }
}

@media (min-width: 680px) {
    .brand__logo {
        width: 164px;
    }
}

@media (min-width: 960px) {
    .brand__logo {
        width: 179px;
    }
}

/*
 * Landlord / agent provider attestations.
 *
 * Provider legal copy remains escaped text. These rules style only the
 * RealSerious-owned presentation around the provider-required questions.
 */

.landlord-attestation-flow {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
}

.landlord-attestation-form {
    display: grid;
    gap: 18px;
    margin: 0;
}

.attestation-question {
    padding: 20px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.attestation-question h2 {
    margin: 0 0 12px;
    color: var(--brand-950);
    font-size: 1.05rem;
    line-height: 1.35;
}

.attestation-legal-text,
.attestation-additional-information {
    white-space: pre-line;
    overflow-wrap: anywhere;
    line-height: 1.6;
}

.attestation-legal-text {
    color: var(--text);
}

.attestation-additional-information {
    margin-top: 12px;
    color: var(--muted);
}

.attestation-field-errors {
    margin-top: 14px;
}

.attestation-field-errors .errorlist {
    margin: 0;
}

.attestation-choices {
    display: grid;
    gap: 10px;
    margin-top: 18px;
}

.attestation-choice {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius);
    background: var(--surface-soft);
    color: var(--brand-950);
    font-weight: 700;
    cursor: pointer;
}

.attestation-choice:hover {
    border-color: var(--brand-600);
}

.attestation-choice:focus-within {
    outline: 3px solid rgba(177, 42, 48, 0.20);
    outline-offset: 1px;
    border-color: var(--brand-600);
}

.attestation-choice input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.attestation-actions {
    margin-top: 4px;
}

@media (min-width: 640px) {
    .attestation-question {
        padding: 24px;
    }

    .attestation-choices {
        grid-template-columns:
            repeat(
                auto-fit,
                minmax(160px, max-content)
            );
    }

    .attestation-choice {
        min-width: 160px;
        align-items: center;
    }
}

/*
 * Landlord report-request recovery and conflict states.
 */

.report-request-state {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
}

.report-request-state__card {
    padding: 24px 18px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.report-request-state__card--warning {
    border-color: #e1c28d;
}

.report-request-state__card--danger {
    border-color: #e3b2ad;
}

.report-request-state__card h1 {
    margin-bottom: 12px;
}

.report-request-state__message {
    margin-bottom: 10px;
    color: var(--text);
    font-size: 1.02rem;
    line-height: 1.6;
}

.report-request-state__instruction {
    margin-bottom: 0;
    color: var(--muted);
    line-height: 1.55;
}

.report-request-state__actions {
    margin-top: 24px;
}

.report-request-state__actions .button {
    width: 100%;
    min-height: 50px;
}

.report-request-state__support {
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

@media (min-width: 640px) {
    .report-request-state__card {
        padding: 30px;
    }

    .report-request-state__actions .button {
        width: auto;
    }
}

/* RealSerious 2026 shared visual system */

.site-header__inner,
.app-main,
.site-footer__inner {
    box-sizing: border-box;
    width: min(
        calc(100% - 32px),
        var(--content)
    );
    max-width: var(--content);
    margin-left: auto;
    margin-right: auto;
}

.site-header__inner,
.site-footer__inner,
.app-main {
    padding-left: 0;
    padding-right: 0;
}

.applicant-screening-home {
    width: 100%;
    max-width: none;
}

.intro,
.section,
.panel {
    border-color: var(--border);
}

.intro {
    border-top: 4px solid var(--brand-700);
}

.site-header {
    border-bottom-color: var(--border);
}

.eyebrow {
    color: var(--brand-700);
}

.account-menu {
    position: relative;
    margin: 0;
}

.account-menu > summary {
    list-style: none;
}

.account-menu > summary::-webkit-details-marker {
    display: none;
}

.account-menu__trigger {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 7px 12px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font: inherit;
}

.account-menu__trigger:hover {
    border-color: var(--brand-700);
    background: var(--brand-50);
}

.account-menu__trigger:focus-visible {
    outline: 3px solid
        rgba(177, 42, 48, 0.24);
    outline-offset: 2px;
}

.account-menu__identity {
    display: grid;
    gap: 1px;
    min-width: 0;
    text-align: left;
}

.account-menu__name {
    color: var(--text);
    font-weight: 750;
    line-height: 1.15;
}

.account-menu__email {
    max-width: 300px;
    overflow: hidden;
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-menu__chevron {
    color: var(--brand-700);
    font-size: 0.9rem;
    transition: transform 140ms ease;
}

.account-menu[open]
.account-menu__chevron {
    transform: rotate(180deg);
}

.account-menu__panel {
    position: absolute;
    z-index: 50;
    top: calc(100% + 8px);
    right: 0;
    width: min(280px, 88vw);
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: var(--surface);
    box-shadow: var(--shadow-md);
}

.account-menu__panel > a,
.account-menu__signout {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 12px 15px;
    border: 0;
    border-bottom: 1px solid var(--border);
    background: transparent;
    color: var(--text);
    font: inherit;
    font-weight: 650;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

.account-menu__panel > a:hover,
.account-menu__signout:hover {
    background: var(--brand-50);
    color: var(--brand-700);
}

.account-menu__panel form {
    margin: 0;
}

.account-menu__signout {
    border-bottom: 0;
    color: var(--brand-700);
}

.account-page__panel {
    width: 100%;
}

.account-page__panel--narrow {
    max-width: 820px;
}

.account-form-grid {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
}

.account-form-grid__wide {
    grid-column: 1 / -1;
}

.account-form-stack {
    display: grid;
    gap: 20px;
}

.account-form__actions {
    margin-top: 28px;
}

.account-notice {
    margin-bottom: 24px;
    padding: 13px 15px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
}

.account-notice--success {
    border-color: #a9ccb3;
    background: #f2f9f4;
    color: #155c4c;
}

.account-notice--error {
    border-color: #e3b2ad;
    background: #fff6f5;
    color: #8f241a;
}

@media (max-width: 720px) {
    .site-header__inner,
    .app-main,
    .site-footer__inner {
        width: calc(100% - 24px);
    }

    .account-menu__email {
        display: none;
    }

    .account-form-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .account-form-grid__wide {
        grid-column: auto;
    }

    .account-menu__panel {
        position: fixed;
        top: auto;
        right: 12px;
        left: 12px;
        width: auto;
    }
}


/* RealSerious shared responsive containment — 2026-09-26 */

/*
 * Every customer page must contract with the viewport.
 * No primary card, form, header, or workflow container may force
 * horizontal page scrolling on a phone or narrowed desktop window.
 */

html,
body {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img,
svg,
video,
canvas {
    max-width: 100%;
    height: auto;
}

.site-header,
.site-footer,
.app-main {
    width: 100%;
    max-width: 100%;
}

.site-header__inner,
.app-main,
.site-footer__inner {
    width: 100%;
    max-width: var(--content);
    margin-left: auto;
    margin-right: auto;
    padding-left: clamp(12px, 2.5vw, 24px);
    padding-right: clamp(12px, 2.5vw, 24px);
}

.app-main > *,
.applicant-screening-home,
.page-header,
.intro,
.section,
.panel,
.card,
.account-page__panel {
    min-width: 0;
    max-width: 100%;
}

.intro > *,
.section > *,
.panel > *,
.panel__header > *,
.section-heading > *,
.row > *,
.screening-row-heading > *,
.page-header > * {
    min-width: 0;
}

form,
fieldset,
.field,
.form-row,
.form-grid,
.account-form,
.account-form-grid,
.account-form-stack {
    min-width: 0;
    max-width: 100%;
}

input,
select,
textarea {
    box-sizing: border-box;
    max-width: 100%;
    min-width: 0;
}

pre,
code {
    max-width: 100%;
}

pre {
    overflow-x: auto;
}

.site-header__inner,
.panel__header,
.section-heading,
.button-row,
.actions {
    min-width: 0;
}

.brand {
    min-width: 0;
}

.brand__logo {
    display: block;
    max-width: 100%;
    height: auto;
}

.account-menu,
.account-menu__trigger,
.account-menu__identity {
    min-width: 0;
    max-width: 100%;
}

.account-menu__name,
.account-menu__email,
.help,
.meta,
.empty,
.row,
.panel,
.section {
    overflow-wrap: anywhere;
}

@media (max-width: 900px) {
    .site-header__inner {
        flex-wrap: wrap;
        gap: 12px;
    }

    .intro {
        grid-template-columns: minmax(0, 1fr);
    }

    .intro-action {
        width: 100%;
        max-width: 100%;
    }

    .intro-action .button {
        max-width: 100%;
    }

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

    .account-form-grid__wide {
        grid-column: auto;
    }
}

@media (max-width: 620px) {
    .site-header__inner,
    .app-main,
    .site-footer__inner {
        padding-left: 12px;
        padding-right: 12px;
    }

    .site-header__inner {
        align-items: stretch;
    }

    .brand {
        width: 100%;
        max-width: 100%;
    }

    .account-menu {
        width: 100%;
        margin-left: 0;
    }

    .account-menu__trigger {
        width: 100%;
        justify-content: space-between;
    }

    .account-menu__panel {
        right: 12px;
        left: 12px;
        width: auto;
        max-width: none;
    }

    .button-row,
    .actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    .button-row .button,
    .actions .button,
    .intro-action .button {
        width: 100%;
        max-width: 100%;
    }

    .panel,
    .section,
    .intro {
        padding-left: clamp(14px, 4vw, 20px);
        padding-right: clamp(14px, 4vw, 20px);
    }
}


/* RealSerious account form spacing refinement — 2026-09-26 */

.account-page__panel {
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface);
    box-shadow: var(--shadow-sm);
}

.account-page__header {
    margin-bottom: 22px;
}

.account-page__panel .account-form {
    width: 100%;
    max-width: 100%;
}

.account-page__panel .account-form-grid {
    gap: 24px 28px;
}

.account-page__panel .field {
    min-width: 0;
    margin: 0;
}

.account-page__panel .field label {
    display: inline-block;
    margin-bottom: 7px;
    color: var(--text);
    font-weight: 750;
    line-height: 1.25;
}

.account-page__panel input,
.account-page__panel select,
.account-page__panel textarea {
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    background: #ffffff;
    color: var(--text);
    font: inherit;
    transition:
        border-color 140ms ease,
        box-shadow 140ms ease,
        background 140ms ease;
}

.account-page__panel textarea {
    min-height: 110px;
    resize: vertical;
}

.account-page__panel input:hover,
.account-page__panel select:hover,
.account-page__panel textarea:hover {
    border-color: #a88f7c;
}

.account-page__panel input:focus,
.account-page__panel select:focus,
.account-page__panel textarea:focus {
    border-color: var(--brand-700);
    outline: 0;
    box-shadow:
        0 0 0 3px rgba(177, 42, 48, 0.12);
}

.account-page__panel .help {
    margin-top: 7px;
    margin-bottom: 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.account-page__panel .errorlist {
    margin: 7px 0 0;
    padding-left: 20px;
    color: var(--danger);
    font-size: 0.9rem;
}

.account-page__panel .account-form__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--border);
}

@media (max-width: 720px) {
    .account-page__panel {
        padding: 20px 16px;
    }

    .account-page__header {
        margin-bottom: 18px;
    }

    .account-page__panel .account-form-grid {
        gap: 20px;
    }

    .account-page__panel .account-form__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
        margin-top: 26px;
        padding-top: 20px;
    }

    .account-page__panel .account-form__actions .button {
        width: 100%;
    }
}


/* RealSerious premium shared material theme — 2026-09-26 */

/*
 * Goal:
 * premium, tactile, polished, and consistent.
 * This is intentionally material-inspired rather than flashy.
 * Think refined architectural finish / luxury-home surface.
 */

:root {
    --page: #ece1d3;
    --surface: rgba(255, 251, 246, 0.96);
    --surface-soft: rgba(249, 242, 234, 0.95);
    --material-border: rgba(115, 88, 66, 0.16);
    --material-border-strong: rgba(115, 88, 66, 0.24);
    --material-shadow-sm: 0 10px 20px rgba(54, 39, 29, 0.08);
    --material-shadow-md: 0 16px 34px rgba(54, 39, 29, 0.10);
    --material-highlight: rgba(255, 255, 255, 0.55);
    --material-texture-light: rgba(255, 255, 255, 0.10);
    --material-texture-dark: rgba(132, 103, 79, 0.06);
}

html,
body {
    background-color: var(--page);
}

body {
    background-image:
        radial-gradient(
            circle at top left,
            rgba(255, 248, 241, 0.92) 0,
            rgba(255, 248, 241, 0.35) 24%,
            transparent 46%
        ),
        radial-gradient(
            circle at top right,
            rgba(214, 191, 169, 0.42) 0,
            rgba(214, 191, 169, 0.15) 22%,
            transparent 44%
        ),
        linear-gradient(
            180deg,
            rgba(255, 252, 248, 0.68) 0%,
            rgba(236, 225, 211, 0.92) 52%,
            rgba(230, 217, 202, 0.98) 100%
        );
    background-attachment: fixed;
    position: relative;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    opacity: 0.75;
    background:
        repeating-linear-gradient(
            45deg,
            transparent 0 22px,
            var(--material-texture-light) 22px 23px,
            transparent 23px 46px
        ),
        repeating-linear-gradient(
            -45deg,
            transparent 0 26px,
            var(--material-texture-dark) 26px 27px,
            transparent 27px 54px
        );
}

.site-header,
.site-footer,
.app-main {
    position: relative;
    z-index: 1;
}

.site-header,
.site-footer {
    background:
        linear-gradient(
            180deg,
            rgba(255, 252, 248, 0.92) 0%,
            rgba(248, 240, 231, 0.88) 100%
        );
    border-color: var(--material-border);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(8px);
}

.intro,
.section,
.panel,
.card {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            180deg,
            rgba(255, 253, 250, 0.98) 0%,
            rgba(248, 241, 233, 0.94) 100%
        );
    border: 1px solid var(--material-border);
    box-shadow: var(--material-shadow-sm);
}

.intro::before,
.section::before,
.panel::before,
.card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.44) 0%,
            rgba(255, 255, 255, 0.12) 24%,
            transparent 58%
        );
}

.intro > *,
.section > *,
.panel > *,
.card > * {
    position: relative;
    z-index: 1;
}

.intro {
    box-shadow: var(--material-shadow-md);
    border-top: 4px solid var(--brand-700);
}

.intro::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.55;
    background:
        repeating-linear-gradient(
            45deg,
            transparent 0 24px,
            rgba(143, 31, 36, 0.025) 24px 25px,
            transparent 25px 50px
        ),
        repeating-linear-gradient(
            -45deg,
            transparent 0 24px,
            rgba(54, 39, 29, 0.020) 24px 25px,
            transparent 25px 50px
        );
}

.page-header {
    position: relative;
}

.page-header__copy {
    max-width: 760px;
}

.eyebrow {
    letter-spacing: 0.06em;
}

.button,
.account-menu__trigger {
    box-shadow: 0 3px 12px rgba(40, 28, 22, 0.05);
}

.button--primary {
    box-shadow: 0 10px 22px rgba(143, 31, 36, 0.18);
}

.button--primary:hover {
    box-shadow: 0 13px 28px rgba(143, 31, 36, 0.24);
}

input,
select,
textarea {
    background: rgba(255, 255, 255, 0.98);
}

@media (max-width: 900px) {
    body::before {
        opacity: 0.55;
    }

    .intro::after {
        opacity: 0.35;
    }
}

@media (max-width: 620px) {
    body {
        background-attachment: scroll;
    }
}


/* RealSerious premium graphite material revision — 2026-09-26 */

/*
 * White brand header + graphite architectural background.
 * Large low-contrast diamond geometry gives the surface a premium
 * automotive/interior-material character without interfering with
 * forms, tables, reports, or customer workflow content.
 */

:root {
    --premium-graphite-950: #191a1c;
    --premium-graphite-900: #222326;
    --premium-graphite-850: #292a2d;
    --premium-graphite-800: #303135;

    --premium-line-light:
        rgba(255, 255, 255, 0.055);

    --premium-line-dark:
        rgba(0, 0, 0, 0.18);

    --premium-red-glow:
        rgba(143, 31, 36, 0.13);
}


/* ---------------------------------------------------------
   PAGE MATERIAL
   --------------------------------------------------------- */

html,
body {
    background-color: var(--premium-graphite-900);
}

body {
    position: relative;

    background-image:
        radial-gradient(
            circle at 15% 0%,
            rgba(255, 255, 255, 0.08) 0,
            rgba(255, 255, 255, 0.025) 18%,
            transparent 38%
        ),
        radial-gradient(
            circle at 88% 12%,
            var(--premium-red-glow) 0,
            transparent 32%
        ),
        linear-gradient(
            180deg,
            var(--premium-graphite-800) 0%,
            var(--premium-graphite-900) 35%,
            var(--premium-graphite-950) 100%
        );

    background-attachment: fixed;
}


/*
 * Large embossed diamond pattern.
 * It is intentionally visible, but sufficiently restrained that
 * content surfaces remain the visual priority.
 */
body::before {
    content: "";
    position: fixed;
    z-index: 0;
    inset: 0;
    pointer-events: none;

    opacity: 1;

    background-image:
        linear-gradient(
            45deg,
            transparent 47.5%,
            var(--premium-line-light) 48.5%,
            var(--premium-line-light) 49.5%,
            transparent 50.5%
        ),
        linear-gradient(
            -45deg,
            transparent 47.5%,
            var(--premium-line-dark) 48.5%,
            var(--premium-line-dark) 49.5%,
            transparent 50.5%
        );

    background-size:
        72px 72px,
        72px 72px;
}


/* ---------------------------------------------------------
   HEADER — KEEP THIS CLEAN WHITE
   --------------------------------------------------------- */

.site-header {
    position: relative;
    z-index: 1000;

    overflow: visible;

    background: #ffffff;
    border-bottom: 1px solid #ddd6cf;

    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.9),
        0 7px 24px rgba(0, 0, 0, 0.11);

    backdrop-filter: none;
}

.site-header::before,
.site-header::after {
    content: none;
}

.site-header__inner {
    position: relative;
    z-index: 1010;
    overflow: visible;
}


/* ---------------------------------------------------------
   ACCOUNT MENU — MUST ALWAYS BE FRONTMOST
   --------------------------------------------------------- */

.account-menu {
    position: relative;
    z-index: 1100;
    overflow: visible;
}

.account-menu__trigger {
    position: relative;
    z-index: 1101;

    background: #ffffff;
}

.account-menu[open] {
    z-index: 1200;
}

.account-menu__panel {
    z-index: 5000;

    overflow: hidden;

    background: #ffffff;

    box-shadow:
        0 18px 48px rgba(0, 0, 0, 0.24),
        0 3px 10px rgba(0, 0, 0, 0.13);
}


/*
 * Page content stays deliberately below header/dropdown.
 * This prevents inputs/selects/cards from painting over the menu.
 */
.app-main {
    position: relative;
    z-index: 1;
}

.app-main .intro,
.app-main .section,
.app-main .panel,
.app-main .card,
.app-main form,
.app-main input,
.app-main select,
.app-main textarea {
    z-index: auto;
}


/* ---------------------------------------------------------
   CONTENT SURFACES
   --------------------------------------------------------- */

.intro,
.section,
.panel,
.card,
.account-page__panel {
    background:
        linear-gradient(
            180deg,
            #fffefd 0%,
            #faf6f1 100%
        );

    border-color:
        rgba(111, 95, 82, 0.25);

    box-shadow:
        0 12px 28px rgba(0, 0, 0, 0.16),
        0 1px 0 rgba(255, 255, 255, 0.7) inset;
}


/*
 * Remove the earlier beige material overlay from content cards.
 */
.intro::before,
.section::before,
.panel::before,
.card::before {
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.48) 0%,
            rgba(255, 255, 255, 0.08) 32%,
            transparent 60%
        );
}


/*
 * Give hero/intro areas a very subtle premium diamond echo
 * without competing with the text.
 */
.intro::after {
    opacity: 0.32;

    background-image:
        linear-gradient(
            45deg,
            transparent 48%,
            rgba(143, 31, 36, 0.045) 49%,
            transparent 50%
        ),
        linear-gradient(
            -45deg,
            transparent 48%,
            rgba(36, 31, 28, 0.035) 49%,
            transparent 50%
        );

    background-size:
        46px 46px,
        46px 46px;
}


/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

.site-footer {
    position: relative;
    z-index: 2;

    background: rgba(25, 26, 28, 0.96);
    border-top: 1px solid rgba(255, 255, 255, 0.09);

    color: rgba(255, 255, 255, 0.76);

    box-shadow:
        0 -8px 28px rgba(0, 0, 0, 0.12);
}

.site-footer a {
    color: rgba(255, 255, 255, 0.88);
}

.site-footer a:hover {
    color: #ffffff;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 720px) {
    body {
        background-attachment: scroll;
    }

    body::before {
        background-size:
            56px 56px,
            56px 56px;
    }

    .site-header {
        z-index: 1000;
    }

    .account-menu {
        z-index: 1100;
    }

    .account-menu[open] {
        z-index: 5000;
    }

    .account-menu__panel {
        z-index: 6000;
    }
}


/* RealSerious premium sky-blue revision — 2026-09-29 */

/*
 * Soft sky blue with a restrained slate-blue base.
 * Keep the white header, cream content surfaces, red brand accents,
 * and existing premium diamond motif.
 */

:root {
    --premium-teal-950: #3b5870;
    --premium-teal-900: #52758f;
    --premium-teal-850: #6b91ad;
    --premium-teal-800: #82aac5;
    --premium-teal-700: #9abfd7;

    --premium-teal-line-light:
        rgba(255, 255, 255, 0.13);

    --premium-teal-line-dark:
        rgba(35, 67, 92, 0.15);

    --premium-teal-red-glow:
        rgba(143, 31, 36, 0.07);
}


/* ---------------------------------------------------------
   PAGE MATERIAL
   --------------------------------------------------------- */

html,
body {
    background-color: var(--premium-teal-900);
}

body {
    background-image:
        radial-gradient(
            circle at 14% 0%,
            rgba(255, 255, 255, 0.18) 0,
            rgba(255, 255, 255, 0.07) 20%,
            transparent 42%
        ),
        radial-gradient(
            circle at 90% 10%,
            var(--premium-teal-red-glow) 0,
            transparent 30%
        ),
        linear-gradient(
            180deg,
            var(--premium-teal-700) 0%,
            var(--premium-teal-850) 34%,
            var(--premium-teal-900) 100%
        );
}

body::before {
    opacity: 0.72;

    background-image:
        linear-gradient(
            45deg,
            transparent 47.8%,
            var(--premium-teal-line-light) 48.8%,
            var(--premium-teal-line-light) 49.8%,
            transparent 50.8%
        ),
        linear-gradient(
            -45deg,
            transparent 47.8%,
            var(--premium-teal-line-dark) 48.8%,
            var(--premium-teal-line-dark) 49.8%,
            transparent 50.8%
        );

    background-size:
        72px 72px,
        72px 72px;
}


/* ---------------------------------------------------------
   KEEP HEADER WHITE
   --------------------------------------------------------- */

.site-header {
    background: #ffffff;
}


/* ---------------------------------------------------------
   PAGE HEADER READABILITY
   --------------------------------------------------------- */

.page-header {
    position: relative;
    z-index: 2;
}

.page-header__copy {
    display: inline-block;
    max-width: min(760px, 100%);
    padding: 18px 22px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 18px;

    background:
        linear-gradient(
            180deg,
            rgba(255, 251, 246, 0.76) 0%,
            rgba(250, 245, 239, 0.70) 100%
        );

    box-shadow:
        0 14px 28px rgba(20, 36, 38, 0.10),
        0 1px 0 rgba(255, 255, 255, 0.45) inset;

    backdrop-filter: blur(5px);
}

.page-header h1,
.page-header .page-subtitle,
.page-header p,
.page-header .eyebrow {
    color: #1f1d1a;
}

.page-header .page-subtitle,
.page-header p:not(.eyebrow) {
    color: #4f4b46;
}


/* ---------------------------------------------------------
   CONTENT SURFACES
   --------------------------------------------------------- */

.intro,
.section,
.panel,
.card,
.account-page__panel {
    background:
        linear-gradient(
            180deg,
            rgba(255, 254, 252, 0.985) 0%,
            rgba(249, 245, 240, 0.975) 100%
        );

    border-color:
        rgba(94, 88, 79, 0.20);

    box-shadow:
        0 12px 28px rgba(26, 42, 45, 0.12),
        0 1px 0 rgba(255, 255, 255, 0.75) inset;
}

.intro::after {
    opacity: 0.20;
}


/* ---------------------------------------------------------
   FOOTER
   --------------------------------------------------------- */

.site-footer {
    background: #243e56;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 720px) {
    body::before {
        opacity: 0.55;
        background-size:
            56px 56px,
            56px 56px;
    }

    .page-header__copy {
        display: block;
        width: 100%;
        padding: 16px 16px;
        border-radius: 16px;
    }
}


/* RealSerious page-header refinement — 2026-09-26 */

/*
 * Remove the floating box treatment around page-header text.
 * Keep the background visible and make the eyebrow/section label
 * consistently use the brand red.
 */

.page-header__copy {
    display: block;
    max-width: 760px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.page-header .eyebrow,
.account-page__header .eyebrow {
    color: var(--brand-700);
}

.page-header h1,
.account-page__header h1 {
    color: #171411;
}

.page-header .page-subtitle,
.account-page__header .page-subtitle,
.page-header p:not(.eyebrow),
.account-page__header p:not(.eyebrow) {
    color: #4d4944;
}

.account-page__header {
    margin-bottom: 24px;
}

@media (max-width: 720px) {
    .page-header__copy {
        padding: 0;
    }

    .account-page__header {
        margin-bottom: 20px;
    }
}


/* RealSerious page subtitle contrast refinement — 2026-09-26 */

.page-header .page-subtitle,
.account-page__header .page-subtitle,
.page-header p:not(.eyebrow),
.account-page__header p:not(.eyebrow) {
    color: #f7efe7;
    text-shadow: 0 1px 2px rgba(20, 35, 37, 0.22);
}

/* Applicant IDV result states — payment before IDV */
.idv-result-card {
    background: var(--surface);
}

.idv-result-card--success {
    background: var(--success-soft);
    border-color: #b8dfd3;
    border-left: 0.3rem solid var(--success);
}

.idv-result-card--success h2 {
    color: var(--success);
}

.idv-result-card--manual {
    background: var(--surface);
    border-color: #edc2be;
    border-left: 0.3rem solid var(--danger);
}

.idv-result-card--manual h2 {
    color: var(--danger);
}

.idv-result-card--pending {
    background: var(--surface-soft);
    border-left: 0.3rem solid var(--brand-700);
}


/* RealSerious applicant compact field layout — 2026-09-27 */

.applicant-intake__pair {
    grid-column: 1 / -1;
    display: grid;
    align-items: end;
    gap: 16px;
}

.applicant-intake__pair--phone {
    grid-template-columns:
        minmax(0, 22rem)
        minmax(9rem, 12rem);
}

.applicant-intake__pair--money {
    grid-template-columns:
        minmax(0, 16rem)
        minmax(9rem, 12rem);
}

.applicant-intake__pair input,
.applicant-intake__pair select {
    width: 100%;
    max-width: 100%;
}

.account-form-grid__phone-pair {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns:
        minmax(0, 22rem)
        minmax(7rem, 10rem);
    align-items: end;
    gap: 16px;
}

.idv-exam-timer {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 14px;
    margin: 18px 0 24px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface-soft);
}

.idv-exam-timer strong {
    font-size: 1.4rem;
    font-variant-numeric: tabular-nums;
}

.idv-exam-timer .help {
    flex-basis: 100%;
    margin: 0;
}

.idv-exam-timer--urgent strong {
    color: var(--brand-700);
}

@media (max-width: 720px) {
    .applicant-intake__pair,
    .account-form-grid__phone-pair {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }
}


/* RealSerious account history — 2026-09-27 */

.history-page {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.history-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 20px;
}

.history-header h1 {
    margin-bottom: 6px;
}

.history-header .muted {
    margin: 0;
}

.history-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px;
    margin-bottom: 16px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
}

.history-controls label {
    display: grid;
    gap: 5px;
    min-width: 9rem;
    margin: 0;
}

.history-controls label > span {
    font-size: 0.82rem;
    font-weight: 700;
}

.history-controls select {
    min-height: 40px;
    margin: 0;
}

.history-controls__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: auto;
}

.history-summary {
    margin-bottom: 16px;
}

.history-summary__currency {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--surface);
}

.history-summary__currency + .history-summary__currency {
    margin-top: 10px;
}

.history-summary__item {
    display: grid;
    gap: 3px;
    padding: 12px 16px;
    border-right: 1px solid var(--border);
}

.history-summary__item:last-child {
    border-right: 0;
}

.history-summary__item span {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.035em;
}

.history-summary__item strong {
    font-size: 1.08rem;
    font-variant-numeric: tabular-nums;
}

.history-summary__empty {
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
    color: var(--muted);
}

.history-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: var(--surface);
}

.history-table {
    margin: 0;
}

.history-table th,
.history-table td {
    padding-top: 11px;
    padding-bottom: 11px;
    vertical-align: top;
}

.history-property-street {
    display: inline-block;
    max-width: min(100%, 28ch);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    vertical-align: middle;
}

.history-amount {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.history-amount--refund {
    font-weight: 700;
}

.history-note {
    margin: 12px 2px 0;
    color: var(--muted);
    font-size: 0.85rem;
}

@media (max-width: 720px) {
    .history-header {
        display: grid;
        gap: 12px;
    }

    .history-controls {
        display: grid;
        grid-template-columns:
            minmax(0, 1fr);
    }

    .history-controls label {
        width: 100%;
    }

    .history-controls__actions {
        width: 100%;
        margin-left: 0;
    }

    .history-controls__actions .button {
        flex: 1 1 auto;
        justify-content: center;
    }

    .history-summary__currency {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .history-summary__item {
        grid-template-columns:
            1fr auto;
        align-items: baseline;
        border-right: 0;
        border-bottom:
            1px solid var(--border);
    }

    .history-summary__item:last-child {
        border-bottom: 0;
    }

    .history-table-wrap {
        overflow: visible;
        border: 0;
        background: transparent;
    }

    .history-table,
    .history-table tbody,
    .history-table tr,
    .history-table td {
        display: block;
        width: 100%;
    }

    .history-table thead {
        display: none;
    }

    .history-table tr {
        margin-bottom: 10px;
        padding: 10px 12px;
        border: 1px solid var(--border);
        border-radius: var(--radius-sm);
        background: var(--surface);
    }

    .history-table td {
        display: grid;
        grid-template-columns:
            minmax(6rem, 0.42fr)
            minmax(0, 1fr);
        gap: 12px;
        padding: 6px 0;
        border: 0;
        text-align: left;
    }

    .history-table td::before {
        content: attr(data-label);
        color: var(--muted);
        font-size: 0.78rem;
        font-weight: 700;
    }

    .history-amount {
        text-align: left;
    }
}

@media print {
    body::before,
    .site-header,
    .site-footer,
    .support-session-banner,
    .history-back,
    .history-controls,
    .account-menu {
        display: none !important;
    }

    body {
        background: #fff !important;
    }

    .app-main,
    .history-page {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
    }

    .history-header {
        margin-bottom: 14px;
    }

    .history-summary__currency,
    .history-table-wrap {
        border: 1px solid #999;
    }

    .history-table {
        display: table;
        width: 100%;
        border-collapse: collapse;
    }

    .history-table thead {
        display: table-header-group;
    }

    .history-table tbody {
        display: table-row-group;
    }

    .history-table tr {
        display: table-row;
        break-inside: avoid;
    }

    .history-table th,
    .history-table td {
        display: table-cell;
        border-bottom: 1px solid #ccc;
    }

    .history-table td::before {
        display: none;
    }

    .history-note {
        font-size: 9pt;
    }
}

/* Renter home reports action spacing */
.applicant-screening-home .section-heading--reports .intro-action {
    margin-top: 1rem;
}

@media (min-width: 760px) {
    .applicant-screening-home .section-heading--reports {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 16px;
        align-items: center;
    }

    .applicant-screening-home .section-heading--reports .intro-action {
        margin-top: 0;
        justify-self: end;
    }
}

/* RealSerious history subtitle contrast */
.history-header .muted {
    color: #f7efe7;
    text-shadow: 0 1px 2px rgba(20, 35, 37, 0.22);
}


/* Applicant intake formatting and optional financial fields. */

.money-input {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    align-items: center;
    column-gap: 8px;
    width: 100%;
}

.money-input__prefix {
    position: static;
    width: 1.25rem;
    transform: none;
    pointer-events: none;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

.money-input input {
    width: 100%;
    min-width: 0;
    padding-left: 14px;
}

.optional-field-toggle {
    display: inline-block;
    margin: 6px 0 12px;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}

.optional-field-toggle:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 4px;
}

/*
 * Optional finance controls participate in applicant-intake__grid.
 * Keep the toggle and its field/group on separate rows.
 */
.applicant-intake .optional-money-section[hidden] {
    display: none !important;
}

.applicant-intake__grid > .optional-field-toggle {
    grid-column: 1 / -1;
    justify-self: start;
    width: auto;
    margin: 0;
    text-align: left;
}

.applicant-intake__grid > .optional-money-section {
    justify-self: start;
}

.applicant-intake__grid > .optional-money-section--single {
    grid-column: 1 / -1;
    width: min(100%, 16rem);
}


/* Recipient screening flow */
.recipient-flow {
    display: flex;
    justify-content: center;
}

.recipient-flow__card {
    width: min(100%, 960px);
}

.recipient-flow__lead {
    max-width: 52rem;
    margin-bottom: 8px;
    font-size: 1.05rem;
    line-height: 1.55;
}

.recipient-flow__help,
.recipient-flow__section-help {
    max-width: 52rem;
    line-height: 1.55;
}

.recipient-flow__summary {
    display: grid;
    gap: 14px;
    margin: 24px 0;
    padding: 18px;
    border: 1px solid #d8c5b7;
    border-radius: 14px;
    background: #fffaf3;
}

.recipient-flow__summary > div {
    display: grid;
    gap: 3px;
}

.recipient-flow__summary-label {
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.recipient-flow__section {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #d8c5b7;
}

.recipient-flow__fields {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    width: 100%;
}

.recipient-flow__fields input,
.recipient-flow__fields select {
    width: 100%;
}

.recipient-flow__hidden-field {
    display: none;
}

.recipient-flow__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 12px;
    margin-top: 24px;
}

.recipient-flow .notice {
    margin: 20px 0;
    padding: 14px 16px;
    border: 1px solid #d8c5b7;
    border-radius: 12px;
    background: #fffaf3;
    line-height: 1.5;
}

.recipient-flow .notice--success {
    border-color: #a9ccb3;
    background: #f2f9f4;
    color: #155c4c;
}

.recipient-flow .notice--error {
    border-color: #e3b2ad;
    background: #fff6f5;
    color: #8f241a;
}

.recipient-flow__legal {
    margin: 20px 0;
}

.recipient-flow__check {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.45;
}

.recipient-flow__check input {
    flex: 0 0 auto;
    margin-top: 3px;
}

.recipient-flow__questions {
    display: grid;
    gap: 14px;
    margin-top: 22px;
}

@media (min-width: 720px) {
    .recipient-flow__summary {
        grid-template-columns: 1fr 1.35fr 1fr;
        align-items: start;
    }

    .recipient-flow__fields {
        grid-template-columns: 1fr 1fr;
    }

    .recipient-flow__fields .form-field--full {
        grid-column: 1 / -1;
    }
}

@media (max-width: 719px) {
    .recipient-flow__card {
        padding-left: 18px;
        padding-right: 18px;
    }

    .recipient-flow__summary {
        padding: 15px;
    }

    .recipient-flow__actions .button {
        width: 100%;
        min-height: 44px;
    }

    .recipient-flow__check {
        gap: 12px;
    }
}


/* Signup registration layout. */
.signup-layout {
    width: 100%;
}

.signup-card {
    width: 100%;
    max-width: none;
}

.signup-form {
    margin-top: 24px;
}

.signup-role {
    margin: 0 0 24px;
    padding: 0;
    border: 0;
}

.signup-role > div {
    display: grid;
    gap: 10px;
}

.signup-role label {
    display: flex;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 10px;
    align-items: center;
    gap: 10px;
    background: var(--surface);
    cursor: pointer;
}

.signup-role input[type="radio"] {
    width: auto;
    margin: 0;
}

.signup-form__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.signup-tu-terms {
    width: 100%;
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid var(--border);
}

.signup-tu-terms__document {
    display: none;
}

.signup-form:has(
    input[name="account_type"][value="applicant"]:checked
) .signup-tu-terms__document--applicant {
    display: block;
}

.signup-form:has(
    input[name="account_type"][value="landlord"]:checked
) .signup-tu-terms__document--landlord {
    display: block;
}

.signup-tu-terms__heading {
    margin-bottom: 18px;
}

.signup-tu-terms__heading h2 {
    margin-bottom: 8px;
}

.signup-tu-terms__heading p:last-child {
    margin-bottom: 0;
    color: var(--muted);
}

.signup-tu-terms .transunion-terms-document {
    width: 100%;
    max-width: none;
    max-height: 420px;
    margin: 0;
    padding: 22px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: #fff;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.signup-tu-terms__agreement {
    display: none;
    margin-top: 16px;
}

.signup-tu-terms__agreement-text {
    display: none;
}

.signup-form:has(
    input[name="account_type"][value="applicant"]:checked
) .signup-tu-terms__agreement {
    display: block;
}

.signup-form:has(
    input[name="account_type"][value="applicant"]:checked
) .signup-tu-terms__agreement-text--applicant {
    display: inline;
}

.signup-form:has(
    input[name="account_type"][value="landlord"]:checked
) .signup-tu-terms__agreement {
    display: block;
}

.signup-form:has(
    input[name="account_type"][value="landlord"]:checked
) .signup-tu-terms__agreement-text--landlord {
    display: inline;
}

.signup-tu-terms__notice {
    margin: 18px 0 0;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.5;
}

.signup-legal {
    margin-top: 26px;
    padding-top: 22px;
    border-top: 1px solid var(--border);
}

.signup-legal__label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 500;
    line-height: 1.45;
}

.signup-legal__label input[type="checkbox"] {
    width: auto;
    margin-top: 3px;
    flex: 0 0 auto;
}

@media (min-width: 680px) {
    .signup-page .app-main {
        width: min(var(--content), calc(100% - 40px));
        margin-right: auto;
        margin-left: auto;
        padding-right: 0;
        padding-left: 0;
    }

    .signup-card {
        width: 100%;
        padding: 32px;
    }

    .signup-role > div {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .signup-form__grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
        column-gap: 24px;
        row-gap: 18px;
    }

    .signup-form__wide {
        grid-column: 1 / -1;
    }

    .signup-form__password {
        grid-column: 1;
    }
}


/* TransUnion legal-document presentation. */
.transunion-terms-document {
    max-width: 82ch;
    margin: 1.25rem 0;
    font-size: 0.95rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.transunion-terms-document p,
.transunion-terms-document blockquote,
.transunion-terms-document ol,
.transunion-terms-document ul {
    margin-top: 0;
    margin-bottom: 1rem;
}

.transunion-terms-document h1,
.transunion-terms-document h2,
.transunion-terms-document h3,
.transunion-terms-document h4 {
    margin-top: 1.6rem;
    margin-bottom: 0.7rem;
    line-height: 1.3;
}

.transunion-terms-document ol,
.transunion-terms-document ul {
    padding-left: 1.6rem;
}

.transunion-terms-document li {
    margin-bottom: 0.65rem;
}

.transunion-terms-document .tu-clause-number {
    font-weight: 700;
    margin-right: 0.2rem;
}

.transunion-terms-document h5 {
    margin-top: 1.4rem;
    margin-bottom: 0.65rem;
    font-size: 1rem;
    line-height: 1.35;
}

.transunion-terms-document blockquote {
    margin-left: 0;
    margin-right: 0;
}

.transunion-terms-document a {
    overflow-wrap: anywhere;
}

/* Renter checkout legal terms stay visible without making the page excessively long. */
.applicant-intake__terms-document {
    width: 100%;
    max-width: none;
    max-height: 320px;
    margin: 0 0 18px;
    padding: 18px;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid var(--border);
    border-radius: var(--radius);
    background: #fff;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 719px) {
    .applicant-intake__terms-document {
        max-height: 260px;
        padding: 16px;
    }
}

/*
 * Shared customer-page width.
 *
 * All customer-facing pages use the same desktop content width as the
 * branded header. Login remains the intentional narrow-card exception.
 */
body:not(.login-page) .app-main > .page-shell,
body:not(.login-page) .app-main > .applicant-intake,
body:not(.login-page) .app-main > .recipient-flow {
    width: 100%;
    max-width: none;
}

body:not(.login-page) .page-shell > .content-card,
body:not(.login-page) .recipient-flow__card {
    width: 100%;
    max-width: none;
}

/* Recipient account setup matches the renter account form treatment. */
.recipient-flow__check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    max-width: 720px;
}

.recipient-flow__check input[type="checkbox"] {
    flex: 0 0 auto;
    margin-top: 0.2rem;
}

.recipient-flow__check span {
    min-width: 0;
}

.recipient-flow__terms-help {
    margin: 10px 0 0 32px;
    max-width: 680px;
}

/* Keep recipient legal consent compact and readable beside its checkbox. */
.recipient-flow__check input[type="checkbox"] {
    width: auto;
    min-width: 0;
    height: auto;
    flex: 0 0 auto;
    margin: 0.2rem 0 0;
}

.recipient-flow__check span {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    line-height: 1.5;
}

.recipient-flow__check {
    width: 100%;
    justify-content: flex-start;
}

.recipient-flow__terms-help {
    margin-left: 0;
}

/*
 * Recipient account creation follows the established signup geometry:
 * desktop password fields stay in the first form column and introductory
 * guidance may use the full card width instead of wrapping at 52rem.
 */
.recipient-flow__help {
    width: 100%;
    max-width: none;
}

/* Stack recipient account passwords in the left form column, matching signup. */
.recipient-flow__password-field {
    grid-column: 1;
}

/* Screening report availability reminder */
.screening-report-reminder {
    padding: 0 24px 14px;
}

@media (max-width: 640px) {
    .screening-report-reminder {
        padding-right: 16px;
        padding-left: 16px;
    }
}

/* Screening history pagination */
.history-pagination {
    padding: 8px 24px;
}

@media (max-width: 640px) {
    .history-pagination {
        padding-right: 16px;
        padding-left: 16px;
    }
}


/* RealSerious screening package selector — 2026-10-09 */

/*
 * Separate the rental-property address from package selection.
 * Applies to both saved-property and new-property workflows.
 */
.screening-property-entry {
    margin-bottom: 24px;
}

.screening-package-fieldset {
    min-width: 0;
    margin: 0 0 26px;
    padding: 0;
    border: 0;
}

.screening-package-fieldset > legend {
    margin-bottom: 5px;
    color: var(--text);
    font-weight: 800;
    font-size: 1.05rem;
}

.screening-package-intro {
    margin: 0 0 16px;
    color: var(--muted);
    line-height: 1.5;
}

.screening-package-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
}

.screening-package-card {
    position: relative;
    display: flex;
    min-width: 0;
    min-height: 100%;
    padding: 18px 16px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    flex-direction: column;
    background: var(--surface);
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition:
        border-color 140ms ease,
        box-shadow 140ms ease,
        transform 140ms ease;
}

.screening-package-card:hover {
    border-color: var(--brand-600);
    box-shadow: var(--shadow-md);
}

.screening-package-card:has(
    input[type="radio"]:checked
) {
    border-color: var(--brand-700);
    background: var(--brand-50);
    box-shadow:
        0 0 0 2px rgba(177, 42, 48, 0.12),
        var(--shadow-md);
}

.screening-package-card:has(
    input[type="radio"]:focus-visible
) {
    outline: 3px solid
        rgba(177, 42, 48, 0.24);
    outline-offset: 3px;
}

.screening-package-card__top {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.screening-package-card__top input[type="radio"] {
    width: 22px;
    height: 22px;
    margin: 1px 0 0;
    flex: 0 0 22px;
    accent-color: var(--brand-800);
}

.screening-package-card__name {
    color: var(--text);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.25;
}

.screening-package-badge {
    display: inline-flex;
    margin: 0 0 8px;
    padding: 4px 8px;
    border-radius: 999px;
    background: var(--brand-900);
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.screening-package-card__price {
    margin-top: 13px;
    color: var(--text);
    font-size: 1.55rem;
    font-weight: 850;
    line-height: 1.1;
}

.screening-package-card__discount {
    margin-top: 5px;
    color: var(--muted);
    font-size: 0.82rem;
}

.screening-package-card__summary {
    margin: 12px 0 0;
    color: var(--muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.screening-package-features {
    display: grid;
    margin: 16px 0 18px;
    padding: 0;
    gap: 9px;
    list-style: none;
}

.screening-package-features li {
    position: relative;
    margin: 0;
    padding-left: 22px;
    color: var(--text);
    font-size: 0.9rem;
    line-height: 1.4;
}

.screening-package-features li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "✓";
    color: var(--brand-700);
    font-weight: 900;
}

.screening-package-card__select {
    margin-top: auto;
    padding-top: 6px;
    color: var(--brand-800);
    font-size: 0.88rem;
    font-weight: 800;
}

.screening-package-card:has(
    input[type="radio"]:checked
) .screening-package-card__select::after {
    content: " — selected";
}

.standalone-screenings {
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid var(--border);
}

.standalone-screenings__heading {
    margin-bottom: 12px;
}

.standalone-screenings__heading h3 {
    margin: 0 0 5px;
    font-size: 1rem;
}

.standalone-screenings__heading p {
    max-width: 760px;
    margin: 0;
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.5;
}

.standalone-screening-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
}

.standalone-screening-card {
    display: flex;
    min-width: 0;
    min-height: 70px;
    margin: 0;
    padding: 12px 13px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    align-items: flex-start;
    gap: 11px;
    background: var(--surface-soft);
    cursor: pointer;
}

.standalone-screening-card:hover {
    border-color: var(--brand-600);
}

.standalone-screening-card:has(
    input[type="radio"]:checked
) {
    border-color: var(--brand-700);
    background: var(--brand-50);
    box-shadow:
        0 0 0 2px rgba(177, 42, 48, 0.10);
}

.standalone-screening-card input[type="radio"] {
    width: 20px;
    height: 20px;
    margin: 1px 0 0;
    flex: 0 0 20px;
    accent-color: var(--brand-800);
}

.standalone-screening-card__copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.standalone-screening-card__copy strong {
    color: var(--text);
}

.standalone-screening-card__copy > span {
    color: var(--brand-800);
    font-weight: 800;
}

.standalone-screening-card__copy small {
    color: var(--muted);
    line-height: 1.4;
}

@media (min-width: 680px) {
    .standalone-screening-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 860px) {
    .screening-package-grid {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
        gap: 16px;
        align-items: stretch;
    }

    .screening-package-card {
        padding: 20px 18px;
    }

    .screening-package-card--featured {
        border-color: var(--brand-600);
        transform: translateY(-5px);
        box-shadow: var(--shadow-md);
    }

    .screening-package-card--featured:hover,
    .screening-package-card--featured:has(
        input[type="radio"]:checked
    ) {
        transform: translateY(-5px);
    }
}


/* RealSerious screening package polish — 2026-10-09 */

.screening-package-card {
    overflow: hidden;
}

.screening-package-card__identity {
    min-width: 0;
}

.screening-package-card__badge-slot {
    display: flex;
    min-height: 28px;
    align-items: flex-start;
}

.screening-package-badge {
    box-shadow:
        0 2px 5px rgba(28, 22, 19, 0.14);
}

.screening-package-card--featured::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: var(--brand-700);
    content: "";
}

.screening-package-card__included {
    margin-top: 17px;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.screening-package-features {
    margin-top: 9px;
}

.screening-package-card__select {
    display: flex;
    min-height: 42px;
    padding: 9px 11px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--surface-soft);
    text-align: center;
    transition:
        border-color 140ms ease,
        background 140ms ease,
        color 140ms ease;
}

.screening-package-card:hover
.screening-package-card__select {
    border-color: var(--brand-600);
    background: var(--brand-50);
}

.screening-package-card:has(
    input[type="radio"]:checked
) .screening-package-card__select {
    border-color: var(--brand-900);
    background: var(--brand-900);
    color: #ffffff;
}

.standalone-screening-card {
    box-shadow:
        0 1px 2px rgba(28, 22, 19, 0.04);
}

@media (min-width: 860px) {
    .screening-package-card__name {
        min-height: 1.5em;
    }

    .screening-package-card__price {
        min-height: 1.75em;
    }

    .screening-package-card__summary {
        min-height: 3em;
    }

    .screening-package-card__included {
        min-height: 1em;
    }

    .screening-package-features {
        min-height: 160px;
    }

    .screening-package-card--featured {
        box-shadow:
            0 10px 24px
            rgba(28, 22, 19, 0.12);
    }
}


/* Screening package card refinement — 2026-10-09 */

.screening-package-grid {
    align-items: stretch;
}

.screening-package-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid var(--border-strong);
    box-shadow:
        0 3px 10px rgba(28, 22, 19, 0.05);
}

.screening-package-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.screening-package-card__identity {
    min-width: 0;
    width: 100%;
}

.screening-package-card__badge-slot {
    display: flex;
    align-items: flex-start;
    min-height: 30px;
    margin-bottom: 6px;
}

.screening-package-badge {
    background: #2f2a28;
    color: #ffffff;
    border-radius: 999px;
    box-shadow:
        0 2px 5px rgba(28, 22, 19, 0.14);
}

.screening-package-card__name {
    min-height: 1.45em;
}

.screening-package-card__price {
    min-height: 1.7em;
}

.screening-package-card__summary {
    min-height: 3.3em;
    margin-bottom: 10px;
}

.screening-package-card__included {
    margin-top: 8px;
    margin-bottom: 10px;
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 850;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.screening-package-features {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.screening-package-features li {
    position: relative;
    min-height: 1.4em;
    margin: 0;
    padding-left: 24px;
}

.screening-package-features li::before {
    content: "✓";
    position: absolute;
    top: 0;
    left: 0;
    color: #2f7d32;
    font-weight: 900;
    line-height: 1.2;
}

.screening-package-card__select {
    margin-top: auto;
    display: flex;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-sm);
    align-items: center;
    justify-content: center;
    background: var(--surface-soft);
    text-align: center;
    transition:
        border-color 140ms ease,
        background 140ms ease,
        color 140ms ease,
        box-shadow 140ms ease;
}

.screening-package-card:hover .screening-package-card__select {
    border-color: var(--brand-700);
    background: var(--brand-50);
}

.screening-package-card:has(
    input[type="radio"]:checked
) .screening-package-card__select {
    border-color: var(--brand-900);
    background: var(--brand-900);
    color: #ffffff;
}

.screening-package-card--featured {
    border-color: var(--border-strong);
    box-shadow:
        0 8px 20px rgba(28, 22, 19, 0.10);
}

.screening-package-card--featured::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: var(--brand-900);
    content: "";
}

.screening-package-card--featured .screening-package-card__select {
    border-color: var(--brand-700);
}

@media (min-width: 860px) {
    .screening-package-card__summary {
        min-height: 3.4em;
    }

    .screening-package-features {
        min-height: 184px;
        align-content: start;
    }
}

@media (max-width: 859px) {
    .screening-package-card__summary,
    .screening-package-features {
        min-height: 0;
    }
}


/* Screening package tiers and help — 2026-10-09 */

/*
 * Keep all three desktop packages on the same baseline.
 * The featured treatment should never physically move Standard.
 */
.screening-package-card--featured,
.screening-package-card--featured:hover,
.screening-package-card--featured:has(
    input[type="radio"]:checked
) {
    transform: none;
}

.screening-package-card {
    overflow: visible;
}

.screening-package-card::before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    border-radius:
        var(--radius-lg)
        var(--radius-lg)
        0
        0;
    content: "";
}

.screening-package-card--basic-screening::before {
    background: #55788b;
}

.screening-package-card--complete-screening::before {
    background: #47745a;
}

.screening-package-card--premium-screening::before {
    background: #9a7138;
}

.screening-package-card--basic-screening
input[type="radio"] {
    accent-color: #55788b;
}

.screening-package-card--complete-screening
input[type="radio"] {
    accent-color: #47745a;
}

.screening-package-card--premium-screening
input[type="radio"] {
    accent-color: #9a7138;
}

.screening-package-card--complete-screening
.screening-package-badge {
    background: #47745a;
}

.screening-package-card--complete-screening
.screening-package-card__select {
    border-color: #7a9b85;
}

.screening-package-card--basic-screening:has(
    input[type="radio"]:checked
) {
    border-color: #55788b;
    background: #f4f8fa;
}

.screening-package-card--complete-screening:has(
    input[type="radio"]:checked
) {
    border-color: #47745a;
    background: #f3f8f4;
}

.screening-package-card--premium-screening:has(
    input[type="radio"]:checked
) {
    border-color: #9a7138;
    background: #fbf7ef;
}

.screening-package-card--basic-screening:has(
    input[type="radio"]:checked
) .screening-package-card__select {
    border-color: #55788b;
    background: #55788b;
}

.screening-package-card--complete-screening:has(
    input[type="radio"]:checked
) .screening-package-card__select {
    border-color: #47745a;
    background: #47745a;
}

.screening-package-card--premium-screening:has(
    input[type="radio"]:checked
) .screening-package-card__select {
    border-color: #9a7138;
    background: #9a7138;
}

.screening-feature-help-wrap {
    position: relative;
    display: inline-flex;
    margin-left: 5px;
    vertical-align: middle;
}

.screening-feature-help {
    display: inline-flex;
    width: 19px;
    height: 19px;
    border: 1px solid #8aaa92;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #f3faf5;
    color: #2f7138;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1;
    cursor: help;
    user-select: none;
}

.screening-feature-help:hover,
.screening-feature-help:focus-visible,
.screening-feature-help.is-open {
    border-color: #47745a;
    background: #e7f4ea;
    color: #235e2c;
}

.screening-feature-help:focus-visible {
    outline: 2px solid
        rgba(71, 116, 90, 0.28);
    outline-offset: 2px;
}

.screening-feature-tooltip {
    position: absolute;
    z-index: 30;
    top: calc(100% + 8px);
    right: 0;
    display: none;
    width: 280px;
    max-width: calc(100vw - 56px);
    padding: 11px 12px;
    border: 1px solid #b7c8bb;
    border-radius: 9px;
    background: #ffffff;
    box-shadow:
        0 8px 24px rgba(28, 22, 19, 0.16);
    color: var(--text);
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.45;
    text-align: left;
}

.screening-feature-help.is-open
+ .screening-feature-tooltip {
    display: block;
}

@media (max-width: 859px) {
    .screening-feature-tooltip {
        right: auto;
        left: 0;
        width: min(
            280px,
            calc(100vw - 64px)
        );
    }
}


/* Screening package rounded tier borders — 2026-10-09 */

/*
 * The tier color is the card's real top border so it follows
 * the rounded corners instead of looking like a separate strip.
 */
.screening-package-card::before,
.screening-package-card--featured::before {
    display: none;
}

.screening-package-card {
    border-top-width: 4px;
}

.screening-package-card--basic-screening {
    border-top-color: #55788b;
}

.screening-package-card--complete-screening {
    border-top-color: #47745a;
}

.screening-package-card--premium-screening {
    border-top-color: #9a7138;
}

.screening-package-card--basic-screening
.screening-package-badge {
    background: #55788b;
}

.screening-package-card--complete-screening
.screening-package-badge {
    background: #47745a;
}

.screening-package-card--premium-screening
.screening-package-badge {
    background: #9a7138;
}

/*
 * Every tier now has a badge, so the reserved badge row creates
 * identical vertical alignment across all three packages.
 */
.screening-package-card__badge-slot {
    min-height: 30px;
}

.screening-package-card--featured {
    border-right-color: var(--border-strong);
    border-bottom-color: var(--border-strong);
    border-left-color: var(--border-strong);
}


/* Screening package selected label — 2026-10-09 */

.screening-package-card__select-selected {
    display: none;
}

.screening-package-card:has(
    input[type="radio"]:checked
) .screening-package-card__select-default {
    display: none;
}

.screening-package-card:has(
    input[type="radio"]:checked
) .screening-package-card__select-selected {
    display: inline;
}

/* Supersede the earlier generated "— selected" suffix. */
.screening-package-card:has(
    input[type="radio"]:checked
) .screening-package-card__select::after {
    content: none;
}


/* Standalone screening desktop sentence — 2026-10-09 */

@media (min-width: 980px) {
    .standalone-screenings__heading p {
        max-width: none;
        white-space: nowrap;
    }
}


/* Screening order section hierarchy — 2026-10-09 */

.payer-fieldset > legend {
    margin-bottom: 5px;
}

.payer-fieldset__help {
    margin: 0 0 12px;
}

.screening-form-section-heading {
    margin: 28px 0 18px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--border);
}

.screening-form-section-heading h2 {
    margin: 0;
    color: var(--text);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.3;
}

@media (max-width: 620px) {
    .screening-form-section-heading {
        margin-top: 24px;
    }
}


/* Screening package compact price rhythm — 2026-10-09 */

.screening-package-card__summary {
    margin-top: 8px;
    margin-bottom: 4px;
}

.screening-package-card__included {
    margin-top: 3px;
    margin-bottom: 7px;
}

@media (min-width: 860px) {
    .screening-package-card__summary {
        min-height: 2.8em;
    }
}


/* Saved organization payment methods */
.billing-method-page,
.billing-method-card {
    min-width: 0;
}

.billing-method-card {
    display: grid;
    gap: 1rem;
}

.billing-method-card h2 {
    margin-bottom: 0.25rem;
}

.screening-saved-payment {
    align-items: center;
    border: 1px solid #d7dce2;
    border-radius: 0.75rem;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin: 0 0 1.5rem;
    padding: 1rem;
}

/*
 * Honor the existing payer-selection JavaScript.
 * Applicant pays: hide the complete landlord payment section.
 * Landlord pays: show the appropriate saved/new card UI.
 */
.screening-saved-payment[hidden],
.screening-inline-card[hidden] {
    display: none !important;
}

.screening-saved-payment > div {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

/*
 * First-time landlord card setup requires the full available width.
 * Keep the existing horizontal summary for saved payment methods.
 */
.screening-saved-payment[data-has-payment-method="false"] {
    align-items: stretch;
    flex-direction: column;
}

.screening-saved-payment[data-has-payment-method="false"]
.screening-inline-card {
    width: 100%;
    min-width: 0;
}

.screening-saved-payment .eyebrow {
    margin: 0;
}

.screening-saved-payment a {
    flex: 0 0 auto;
}

@media (max-width: 640px) {
    .screening-saved-payment {
        align-items: flex-start;
        flex-direction: column;
    }
}


/*
 * Shared address locality layout.
 * City / State / ZIP stack on phones and share one row on wide screens.
 */
.address-locality-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    grid-column: 1 / -1;
    min-width: 0;
}

.address-locality-row > * {
    min-width: 0;
}

.address-locality-row input,
.address-locality-row select {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

@media (min-width: 720px) {
    .address-locality-row {
        grid-template-columns:
            minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
    }
}

/* RealSerious completed report colors */
.status-chip.status-chip--complete {
    color: #315d49 !important;
    background: #edf6ef !important;
    border-color: #8cb39c !important;
}

.report-button.primary-action.report-button--ready {
    color: #ffffff;
    background: #326b53;
    border-color: #326b53;
}

.report-button.primary-action.report-button--ready:hover,
.report-button.primary-action.report-button--ready:focus-visible {
    color: #ffffff;
    background: #285941;
    border-color: #285941;
}

/* RealSerious Screening History: responsive column text rules (8228c95 follow-up) */
/* These rules affect only the Screening History table, not property or other tables. */
.screening-history-table td[data-label="Applicant"] .screening-history-applicant {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.screening-history-table td[data-label="Property"] .screening-history-property {
    display: block;
    min-width: 0;
    width: 100%;
    max-width: 24ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.screening-history-table td[data-label="Status"] .status-chip {
    display: inline-flex;
    width: max-content;
    justify-self: start;
    flex-wrap: nowrap;
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}

/* The package name describes its reports; it must be one line, not a status. */
.screening-history-table td[data-label="Screening"] .screening-history-package-name {
    display: block;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
}

/* Phones use cards: reserve the whole card width for long package names. */
@media (max-width: 899px) {
    .screening-history-table td[data-label="Screening"] {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    .screening-history-table td[data-label="Screening"] .screening-history-package-name {
        font-size: clamp(0.8rem, 3.1vw, 0.95rem);
    }
}

/* Only the desktop five-column table may scroll if space is genuinely tight. */
@media (min-width: 900px) {
    .dashboard-screenings .table-wrap {
        overflow-x: auto;
    }

    .screening-history-table {
        min-width: 1180px;
        width: 100%;
        table-layout: fixed;
    }

    /* Dedicated width for package names, not an expandable Actions column. */
    .screening-history-table th:nth-child(1) { width: 11%; }
    .screening-history-table th:nth-child(2) { width: 16%; }
    .screening-history-table th:nth-child(3) { width: 26%; }
    .screening-history-table th:nth-child(4) { width: 14%; }
    .screening-history-table th:nth-child(5) { width: 33%; }

    /* Only the landlord Control Panel: give the Status column more space. */
    .dashboard-screenings .screening-history-table th:nth-child(1) { width: 10%; }
    .dashboard-screenings .screening-history-table th:nth-child(2) { width: 15%; }
    .dashboard-screenings .screening-history-table th:nth-child(3) { width: 23%; }
    .dashboard-screenings .screening-history-table th:nth-child(4) { width: 20%; }
    .dashboard-screenings .screening-history-table th:nth-child(5) { width: 32%; }

    /* Control Panel invited row only: keep Copy Link / Cancel in one row.
       Override the old inline 230px Copy Link wrapper via display:contents;
       keep the explanation as a constrained, wrapping second grid row. */
    .dashboard-screenings .screening-history-table td[data-label="Actions"]
    .table-actions.table-actions--invitation {
        display: grid !important;
        grid-template-columns: max-content minmax(0, 1fr) !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        justify-content: start;
        align-items: start;
        column-gap: 10px;
        row-gap: 8px;
    }
    .dashboard-screenings .screening-history-table td[data-label="Actions"]
    .screening-history-invitation-copy {
        display: contents !important;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
    }
    .dashboard-screenings .screening-history-table td[data-label="Actions"]
    .table-actions--invitation > form {
        grid-column: 2;
        grid-row: 1;
        justify-self: start;
        align-self: start;
        width: max-content;
        max-width: 100%;
    }
    .dashboard-screenings .screening-history-table td[data-label="Actions"]
    .table-actions--invitation > .screening-history-invitation-help {
        grid-column: 1 / -1;
        grid-row: 2;
        min-width: 0;
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }


    .screening-history-table td[data-label="Screening"] {
        min-width: 0;
    }
}

.screening-history-table td[data-label="Actions"] .report-button,
.screening-history-table td[data-label="Actions"] .button {
    white-space: nowrap;
}

/* At narrow phone sizes, put the Status label above the unbroken pill. */
@media (max-width: 420px) {
    .screening-history-table td[data-label="Status"] {
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }
}

/* RealSerious unified card and billing spacing v3 */
:root { --rs-card-inset: 20px; --rs-section-space: 20px; }
.app-main .card { padding: var(--rs-card-inset); }
.app-main .panel__header,
.app-main .panel__body { padding-inline: var(--rs-card-inset); }
.app-main .card > :first-child { margin-top: 0; }
.app-main .card > :last-child { margin-bottom: 0; }
.billing-method-page { width: 100%; max-width: 780px; margin-inline: auto; }
.billing-method-page .page-header { margin-bottom: 22px; }
.billing-method-page .billing-method-card { display: grid; gap: 16px; margin-block: 0 22px; }
.billing-method-page .billing-method-card > * { margin-block: 0; }
.billing-method-page .billing-method-card h2 { line-height: 1.3; }
.billing-method-page .billing-method-card form { display: grid; gap: 18px; }
.billing-card-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.billing-card-fields > div { min-width: 0; }
.billing-card-fields__wide { grid-column: 1 / -1; }
.billing-card-fields label { display: block; margin: 0 0 7px; font-weight: 650; }
.billing-card-fields input { display: block; width: 100%; min-width: 0; min-height: 44px; }
.billing-tokenization-note { line-height: 1.55; }
.billing-method-actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 6px; }
@media (min-width: 768px) {
  :root { --rs-card-inset: 26px; --rs-section-space: 24px; }
}
@media (max-width: 640px) {
  .billing-method-page .billing-method-actions .button { width: 100%; }
  .billing-card-fields { column-gap: 12px; }
}

/* RealSerious billing matches screening order layout v5 */
/* Preserve the shared page width; breathing room belongs inside panels. */
.app-main .form-shell.billing-method-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-inline: 0;
}
.app-main .billing-method-page .billing-method-card {
  padding: 28px 30px;
  gap: 20px;
  margin-bottom: 22px;
}
.app-main .billing-method-page .billing-method-card > :first-child {
  padding-bottom: 2px;
}
.app-main .billing-method-page .billing-method-card .eyebrow {
  margin: 0 0 8px;
}
.app-main .billing-method-page .billing-method-card h2 {
  margin: 0;
}
.app-main .billing-method-page .billing-method-card form {
  margin-top: 2px;
  gap: 20px;
}
.app-main .billing-method-page .billing-card-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
  width: 100%;
  max-width: none;
}
.app-main .billing-method-page .billing-card-fields .field {
  min-width: 0;
}
.app-main .billing-method-page .billing-card-fields .field label {
  display: block;
  margin-bottom: 7px;
}
.app-main .billing-method-page .billing-card-fields .field input {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-height: 46px;
}
.app-main .billing-method-page .billing-card-fields .field .help {
  display: block;
  margin-top: 6px;
}
.app-main .billing-method-page .billing-tokenization-note {
  max-width: 65ch;
  line-height: 1.55;
}
.app-main .billing-method-page .billing-method-actions {
  padding-top: 3px;
}
@media (max-width: 600px) {
  .app-main .billing-method-page .billing-method-card {
    padding: 22px 20px;
    gap: 18px;
  }
  .app-main .billing-method-page .billing-card-fields {
    grid-template-columns: minmax(0, 1fr);
    gap: 15px;
  }
  .app-main .billing-method-page .billing-method-actions .button {
    width: 100%;
  }
}

/* Payment history uses the same gutters as the header logo. */
.app-main > .history-page.history-page--payments {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
.app-main > .history-page.history-page--payments .history-note {
    color: #f3e6cf;
}


/* RealSerious screening saved-card active-edit alignment */
/* The existing Cancel control restores the Change card button automatically. */
@supports selector(:has(*)) {
  .app-main:has(.rs-order-replacement-card:not([hidden])) [data-toggle-card-change] {
    display: none !important;
  }
}
@media (min-width: 900px) {
  .app-main .rs-order-replacement-card:not([hidden]) {
    transform: translateX(-clamp(12px, 2vw, 32px));
  }
}

/* RealSerious shared saved-card MMYY editor (billing and order pages) */
.rs-expiry-editor { min-width: 0; }
.rs-expiry-editor__panel { max-width: 280px; padding: 14px 0; }
.rs-expiry-editor__panel label { display: block; margin-bottom: 8px; font-weight: 700; }
.rs-expiry-editor__panel input { width: 160px; max-width: 100%; min-height: 46px; }
.rs-expiry-editor__panel .form-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.screening-saved-payment:has([data-expiry-panel]:not([hidden])) [data-toggle-card-change] { display: none; }
.screening-saved-payment:has(.rs-order-replacement-card:not([hidden])) .rs-expiry-editor { display: none; }
@media (max-width: 699px) { .rs-expiry-editor__panel { max-width: 100%; } }

/* Two-choice tenant screening catalog; retain established mobile card styling. */
@media (min-width: 860px) {
    .screening-package-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Screening History: keep invited actions together (screening-history-action-row-v2). */
/* Copy Link and Cancel share one row; the sent confirmation sits below. */
.screening-history-table td[data-label="Actions"] .table-actions.table-actions--invitation {
    display: grid;
    grid-template-columns: max-content max-content;
    align-items: center;
    justify-content: start;
    column-gap: 9px;
    row-gap: 6px;
}

.screening-history-table td[data-label="Actions"] .screening-history-invitation-copy {
    display: contents;
}

.screening-history-table td[data-label="Actions"] .screening-history-invitation-copy > .report-button {
    grid-column: 1;
    grid-row: 1;
    width: auto;
}

.screening-history-table td[data-label="Actions"] .table-actions--invitation > form {
    grid-column: 2;
    grid-row: 1;
    width: auto;
    margin: 0;
}

.screening-history-table td[data-label="Actions"] .screening-history-invitation-help {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
    max-width: none;
    color: var(--muted);
    font-size: 0.82rem;
    line-height: 1.45;
    white-space: nowrap;
}

@media (max-width: 899px) {
    .screening-history-table td[data-label="Actions"] .screening-history-invitation-help {
        white-space: normal;
    }
}
