.ohd-form-container,
.ohd-ui-v2 .ohd-form-container {
    margin: 0 auto;
    max-width: 880px;
    width: 100%;
}

.ohd-form,
.ohd-ui-v2 .ohd-form {
    color: var(--ohd-ink);
    font-size: 1rem;
}

.ohd-form-section,
.ohd-ui-v2 .ohd-form-section {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius);
    margin: 0 0 1rem;
    padding: clamp(1rem, 3vw, 1.5rem);
}

.ohd-form-section-header {
    align-items: flex-start;
    display: flex;
    gap: .75rem;
    margin-bottom: 1.25rem;
}

.ohd-form-section-icon {
    align-items: center;
    background: #f8eee9;
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 38px;
    height: 38px;
    justify-content: center;
}

.ohd-form-section-header h3,
.ohd-form-section-header h4 {
    font-size: 1.2rem;
    margin: .1rem 0 .25rem;
}

.ohd-form-section-desc {
    color: var(--ohd-muted);
    font-size: .94rem;
    margin: 0;
}

.ohd-form-row {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ohd-form-group {
    margin: 0 0 1.15rem;
    min-width: 0;
}

.ohd-form-group > label,
.ohd-form-group > .ohd-statement-label,
.ohd-upload-title {
    color: var(--ohd-navy);
    display: block;
    font-size: .94rem;
    font-weight: 720;
    line-height: 1.4;
    margin: 0 0 .42rem;
}

.ohd-optional,
.ohd-upload-optional {
    color: var(--ohd-muted);
    font-size: .84rem;
    font-weight: 500;
}

.required,
.ohd-required {
    color: var(--ohd-danger);
}

.ohd-input,
.ohd-form input[type="text"],
.ohd-form input[type="email"],
.ohd-form input[type="tel"],
.ohd-form input[type="url"],
.ohd-form input[type="number"],
.ohd-form input[type="date"],
.ohd-form input[type="password"],
.ohd-form select,
.ohd-form textarea {
    appearance: none;
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line-strong);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-ink);
    font: inherit;
    line-height: 1.4;
    min-height: 46px;
    padding: .72rem .8rem;
    width: 100%;
}

.ohd-form textarea {
    min-height: 132px;
    resize: vertical;
}

.ohd-form select {
    background-image: linear-gradient(45deg, transparent 50%, var(--ohd-muted) 50%), linear-gradient(135deg, var(--ohd-muted) 50%, transparent 50%);
    background-position: calc(100% - 17px) 50%, calc(100% - 12px) 50%;
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    padding-right: 2.35rem;
}

.ohd-input:hover,
.ohd-form input:hover,
.ohd-form select:hover,
.ohd-form textarea:hover {
    border-color: #8190a0;
}

.ohd-input:focus,
.ohd-form input:focus,
.ohd-form select:focus,
.ohd-form textarea:focus {
    border-color: var(--ohd-blue);
    box-shadow: 0 0 0 3px rgba(23, 105, 170, .17);
    outline: 0;
}

.ohd-input[readonly],
.ohd-input:disabled,
.ohd-form input:disabled,
.ohd-form select:disabled,
.ohd-form textarea:disabled {
    background: var(--ohd-soft);
    color: var(--ohd-muted);
}

.ohd-input.ohd-error,
.ohd-form-group.ohd-error .ohd-input,
.ohd-form [aria-invalid="true"] {
    border-color: var(--ohd-danger);
    box-shadow: 0 0 0 2px rgba(161, 41, 41, .12);
}

.ohd-field-error,
.ohd-upload-error-message:not(:empty) {
    color: var(--ohd-danger);
    display: block;
    font-size: .86rem;
    font-weight: 650;
    margin-top: .35rem;
}

.ohd-field-help,
.ohd-textarea-meta {
    color: var(--ohd-muted);
    display: block;
    font-size: .86rem;
    line-height: 1.5;
    margin: .35rem 0 0;
}

.ohd-field-help-prominent {
    margin-bottom: .5rem;
}

.ohd-textarea-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1rem;
    justify-content: space-between;
}

.ohd-input-prefix {
    align-items: stretch;
    display: flex;
}

.ohd-input-prefix .ohd-prefix {
    align-items: center;
    background: var(--ohd-soft);
    border: 1px solid var(--ohd-line-strong);
    border-radius: var(--ohd-radius-sm) 0 0 var(--ohd-radius-sm);
    border-right: 0;
    display: flex;
    font-weight: 750;
    justify-content: center;
    min-width: 44px;
}

.ohd-input-prefix .ohd-input {
    border-radius: 0 var(--ohd-radius-sm) var(--ohd-radius-sm) 0;
}

.ohd-form input[type="checkbox"],
.ohd-form input[type="radio"] {
    accent-color: var(--ohd-blue);
    flex: 0 0 auto;
    height: 1.2rem;
    margin: .1rem .5rem 0 0;
    width: 1.2rem;
}

.ohd-checkbox-label,
.ohd-radio-label {
    align-items: flex-start;
    cursor: pointer;
    display: flex;
    gap: .25rem;
    line-height: 1.5;
    min-height: 44px;
    padding: .55rem .65rem;
}

.ohd-radio-group {
    display: grid;
    gap: .35rem;
}

.ohd-statement-group {
    border-top: 1px solid var(--ohd-line);
    margin-top: 1rem;
    padding-top: 1rem;
}

.ohd-statement-highlight {
    background: var(--ohd-info-soft);
    border: 1px solid #bdd8eb;
    border-radius: var(--ohd-radius);
    padding: 1rem;
}

.ohd-statement-highlight-header {
    align-items: center;
    display: flex;
    gap: .6rem;
}

.ohd-statement-highlight-title {
    color: var(--ohd-navy);
    font-weight: 750;
}

.ohd-statement-highlight-text,
.ohd-statement-highlight-cost,
.ohd-consent-scope-note {
    font-size: .91rem;
    margin: .55rem 0;
}

.ohd-consent-scope-note {
    background: var(--ohd-white);
    border-left: 3px solid var(--ohd-blue);
    color: var(--ohd-muted);
    padding: .7rem .8rem;
}

.ohd-form-nav {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    justify-content: flex-end;
    margin-top: 1.25rem;
}

.ohd-progress-bar {
    margin: 0 0 1.25rem;
}

.ohd-progress-steps {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    position: relative;
}

.ohd-progress-line {
    display: none;
}

.ohd-progress-step {
    align-items: center;
    background: var(--ohd-soft);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-muted);
    display: flex;
    gap: .45rem;
    min-height: 48px;
    padding: .55rem .65rem;
}

.ohd-progress-step.active {
    background: var(--ohd-info-soft);
    border-color: var(--ohd-blue);
    color: var(--ohd-navy);
}

.ohd-progress-step.completed {
    border-color: #70a98d;
    color: var(--ohd-success);
}

.ohd-step-number {
    align-items: center;
    background: var(--ohd-white);
    border: 1px solid currentColor;
    border-radius: 50%;
    display: flex;
    flex: 0 0 26px;
    font-size: .78rem;
    font-weight: 800;
    height: 26px;
    justify-content: center;
}

.ohd-step-label {
    font-size: .79rem;
    font-weight: 650;
    line-height: 1.25;
}

.ohd-step-state {
    display: block;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.2;
    text-transform: uppercase;
}

.ohd-step-state[hidden] {
    display: none;
}

.ohd-progress-status {
    color: var(--ohd-muted);
    font-size: .82rem;
    margin-top: .55rem;
    text-align: right;
}

.ohd-upload-groups {
    display: grid;
    gap: .8rem;
}

.ohd-upload-field {
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    padding: .85rem;
}

.ohd-upload-drop {
    align-items: center;
    background: var(--ohd-soft);
    border: 1px dashed #8aa0b3;
    border-radius: var(--ohd-radius-sm);
    cursor: pointer;
    display: flex;
    gap: .6rem;
    justify-content: center;
    margin-top: .65rem;
    min-height: 64px;
    padding: .75rem;
    text-align: center;
}

.ohd-upload-drop:hover {
    background: var(--ohd-info-soft);
    border-color: var(--ohd-blue);
}

.ohd-upload-input {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

.ohd-upload-list {
    list-style: none;
    margin: .65rem 0 0;
    padding: 0;
}

.ohd-upload-item {
    align-items: center;
    border-top: 1px solid var(--ohd-line);
    display: flex;
    gap: .6rem;
    padding: .55rem 0;
}

.ohd-upload-item-meta {
    display: grid;
    flex: 1;
    min-width: 0;
}

.ohd-upload-item-name {
    overflow-wrap: anywhere;
}

.ohd-upload-item-size {
    color: var(--ohd-muted);
    font-size: .78rem;
}

.ohd-upload-remove {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line);
    border-radius: 50%;
    color: var(--ohd-danger);
    cursor: pointer;
    height: 36px;
    width: 36px;
}

.ohd-anonymous-modal {
    align-items: center;
    background: rgba(12, 20, 30, .72);
    display: none;
    inset: 0;
    justify-content: center;
    overflow: auto;
    padding: clamp(.5rem, 3vw, 1.5rem);
    position: fixed;
    z-index: 100000;
}

.ohd-anonymous-modal.active {
    display: flex;
}

.ohd-modal-open {
    overflow: hidden;
}

.ohd-anonymous-modal-content {
    background: var(--ohd-soft);
    border-radius: var(--ohd-radius-lg);
    box-shadow: var(--ohd-shadow);
    max-height: min(92dvh, 940px);
    max-width: 920px;
    overflow: auto;
    padding: clamp(1rem, 3vw, 2rem);
    position: relative;
    width: 100%;
}

.ohd-modal-title {
    font-size: clamp(1.35rem, 3vw, 1.9rem);
    margin: 0 3rem 1rem 0;
}

.ohd-modal-close {
    align-items: center;
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-navy);
    cursor: pointer;
    display: flex;
    font-size: .82rem;
    font-weight: 750;
    height: 44px;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 1rem;
    top: 1rem;
    min-width: 72px;
    padding: 0 .65rem;
}

.ohd-honeypot {
    display: none;
}

.ohd-upload-remove {
    border-radius: var(--ohd-radius-sm);
    font-size: .78rem;
    font-weight: 700;
    height: auto;
    min-height: 36px;
    padding: .35rem .55rem;
    width: auto;
}

.ohd-pre-intake-head {
    margin-bottom: 1rem;
}

.ohd-pre-intake-head h2 {
    font-size: clamp(1.5rem, 4vw, 2rem);
    margin: 0;
}

.ohd-pre-intake-progress {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.ohd-pre-intake-progress > span {
    align-items: center;
    background: var(--ohd-soft);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-muted);
    display: flex;
    gap: .5rem;
    min-height: 48px;
    padding: .55rem .65rem;
}

.ohd-pre-intake-progress > span.is-active {
    background: var(--ohd-info-soft);
    border-color: var(--ohd-blue);
    color: var(--ohd-navy);
}

.ohd-pre-intake-progress > span.is-done {
    border-color: var(--ohd-success);
    color: var(--ohd-success);
}

.ohd-pre-intake-progress b {
    align-items: center;
    background: var(--ohd-white);
    border: 1px solid currentColor;
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 26px;
    font-size: .78rem;
    height: 26px;
    justify-content: center;
}

.ohd-progress-label {
    font-size: .82rem;
    font-weight: 680;
    line-height: 1.25;
}

.ohd-pre-step {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius);
    padding: clamp(1rem, 3vw, 1.5rem);
}

.ohd-pre-step h3 {
    font-size: 1.25rem;
    margin: 0 0 1rem;
}

.ohd-choice-fieldset {
    border: 0;
    margin: 0 0 1rem;
    min-width: 0;
    padding: 0;
}

.ohd-choice-fieldset legend,
.ohd-block-label,
.ohd-field-grid > label {
    color: var(--ohd-navy);
    display: grid;
    font-size: .94rem;
    font-weight: 720;
    gap: .4rem;
    margin: 0 0 .65rem;
}

.ohd-choice-cards {
    display: grid;
    gap: .65rem;
    margin-top: .55rem;
}

.ohd-choice-cards-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ohd-choice-cards label {
    cursor: pointer;
    display: grid;
    margin: 0;
    min-height: 72px;
    position: relative;
}

.ohd-choice-cards input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.ohd-choice-cards label > span {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line-strong);
    border-radius: var(--ohd-radius-sm);
    display: grid;
    gap: .2rem;
    min-height: 72px;
    padding: .85rem;
}

.ohd-choice-cards input:checked + span {
    background: var(--ohd-info-soft);
    border-color: var(--ohd-blue);
    box-shadow: 0 0 0 2px rgba(23, 105, 170, .14);
}

.ohd-choice-cards input:focus-visible + span {
    outline: 3px solid rgba(23, 105, 170, .45);
    outline-offset: 3px;
}

.ohd-choice-cards small {
    color: var(--ohd-muted);
    font-weight: 500;
}

.ohd-field-grid {
    display: grid;
    gap: 1rem;
    margin: 1rem 0;
}

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

.ohd-pre-intake input[type="text"],
.ohd-pre-intake input[type="email"],
.ohd-pre-intake input[type="tel"],
.ohd-pre-intake select,
.ohd-pre-intake textarea {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line-strong);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-ink);
    font: inherit;
    min-height: 46px;
    padding: .7rem .8rem;
    width: 100%;
}

.ohd-pre-intake input[readonly] {
    background: var(--ohd-soft);
    color: var(--ohd-muted);
}

.ohd-pre-intake :is(input, select, textarea):focus {
    border-color: var(--ohd-blue);
    box-shadow: 0 0 0 3px rgba(23, 105, 170, .17);
    outline: 0;
}

.ohd-pre-intake .ohd-error-field {
    border-color: var(--ohd-danger);
    box-shadow: 0 0 0 2px rgba(161, 41, 41, .12);
}

.ohd-pre-intake-help {
    background: var(--ohd-info-soft);
    border-left: 3px solid var(--ohd-blue);
    color: var(--ohd-muted);
    line-height: 1.55;
    padding: .7rem .8rem;
}

.ohd-money-input {
    align-items: stretch;
    display: flex;
}

.ohd-money-input b {
    align-items: center;
    background: var(--ohd-soft);
    border: 1px solid var(--ohd-line-strong);
    border-radius: var(--ohd-radius-sm) 0 0 var(--ohd-radius-sm);
    border-right: 0;
    display: flex;
    justify-content: center;
    min-width: 44px;
}

.ohd-money-input input {
    border-radius: 0 var(--ohd-radius-sm) var(--ohd-radius-sm) 0;
}

.ohd-pre-intake .ohd-upload-field {
    margin-bottom: 1rem;
}

.ohd-pre-intake .ohd-upload-field > p {
    color: var(--ohd-muted);
    font-size: .88rem;
    line-height: 1.5;
}

.ohd-pre-upload-input {
    background: var(--ohd-soft);
    border: 1px dashed #8aa0b3;
    border-radius: var(--ohd-radius-sm);
    min-height: 52px;
    padding: .65rem;
    width: 100%;
}

.ohd-pre-upload-list {
    list-style: none;
    margin: .5rem 0 0;
    padding: 0;
}

.ohd-pre-upload-item {
    align-items: center;
    border-top: 1px solid var(--ohd-line);
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    padding: .55rem 0;
}

.ohd-pre-upload-name {
    min-width: 0;
    overflow-wrap: anywhere;
}

.ohd-pre-upload-remove {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-danger);
    cursor: pointer;
    font-weight: 700;
    min-height: 40px;
    padding: .45rem .65rem;
}

.ohd-check-row {
    align-items: flex-start;
    cursor: pointer;
    display: flex;
    gap: .55rem;
    line-height: 1.5;
    margin: 1rem 0;
    min-height: 44px;
    padding: .55rem .2rem;
}

.ohd-check-row input {
    accent-color: var(--ohd-blue);
    flex: 0 0 auto;
    height: 1.2rem;
    margin-top: .1rem;
    width: 1.2rem;
}

.ohd-email-verify-required {
    background: var(--ohd-warning-soft);
    border-left: 4px solid var(--ohd-warning);
    border-radius: var(--ohd-radius-sm);
    padding: 1rem;
}

@media (max-width: 620px) {
    .ohd-pre-intake-progress,
    .ohd-choice-cards-2,
    .ohd-field-grid-2 {
        grid-template-columns: 1fr;
    }

    .ohd-pre-intake-progress > span:not(.is-active) .ohd-progress-label {
        display: none;
    }

    .ohd-pre-intake-progress {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.ohd-intake-shell {
    color: var(--ohd-ink);
    margin: 0 auto;
    max-width: 920px;
}

.ohd-intake-header {
    margin-bottom: 1rem;
}

.ohd-intake-header h2 {
    font-size: clamp(1.45rem, 4vw, 2rem);
    margin: 0 0 .45rem;
}

.ohd-intake-header p,
.ohd-intake-short-summary > summary,
.ohd-intake-autosave {
    color: var(--ohd-muted);
}

.ohd-intake-short-summary {
    background: var(--ohd-soft);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    margin-bottom: 1rem;
    padding: .75rem 1rem;
}

.ohd-intake-short-summary > summary {
    cursor: pointer;
    font-weight: 720;
    min-height: 36px;
}

.ohd-intake-short-summary dl {
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: .75rem 0 0;
}

.ohd-intake-short-summary dl > div {
    background: var(--ohd-white);
    border-radius: var(--ohd-radius-sm);
    padding: .65rem;
}

.ohd-intake-short-summary dt {
    color: var(--ohd-muted);
    font-size: .76rem;
    font-weight: 750;
}

.ohd-intake-short-summary dd {
    font-weight: 700;
    margin: .2rem 0 0;
}

.ohd-full-intake {
    color: var(--ohd-ink);
}

.ohd-intake-autosave {
    font-size: .84rem;
    min-height: 1.4rem;
    text-align: right;
}

.ohd-intake-error-summary {
    background: #fff5f5;
    border: 1px solid rgba(161, 41, 41, .35);
    border-left: 4px solid var(--ohd-danger);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-danger);
    font-size: .92rem;
    font-weight: 700;
    margin: .7rem 0 1rem;
    padding: .75rem .9rem;
}

.ohd-intake-progress .ohd-progress-steps {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ohd-intake-progress .ohd-progress-step {
    appearance: none;
    cursor: pointer;
    font-family: inherit;
    text-align: left;
}

.ohd-intake-progress .ohd-progress-step:disabled {
    cursor: default;
    opacity: .62;
}

.ohd-intake-step {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-lg);
    min-height: 260px;
    padding: clamp(1rem, 3vw, 1.65rem);
}

.ohd-intake-step > h3,
.ohd-intake-step > div > h3 {
    font-size: 1.3rem;
    margin: 0 0 .55rem;
}

.ohd-intake-step > p,
.ohd-intake-step > div > p {
    color: var(--ohd-muted);
    line-height: 1.55;
}

.ohd-full-intake label:not(.ohd-check-row),
.ohd-full-intake legend {
    color: var(--ohd-navy);
    display: grid;
    font-size: .93rem;
    font-weight: 700;
    gap: .4rem;
    line-height: 1.4;
    margin-bottom: .9rem;
}

.ohd-full-intake input[type="text"],
.ohd-full-intake input[type="email"],
.ohd-full-intake input[type="tel"],
.ohd-full-intake input[type="url"],
.ohd-full-intake input[type="date"],
.ohd-full-intake input[type="number"],
.ohd-full-intake select,
.ohd-full-intake textarea {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line-strong);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-ink);
    font: inherit;
    min-height: 46px;
    padding: .7rem .8rem;
    width: 100%;
}

.ohd-full-intake textarea {
    min-height: 120px;
    resize: vertical;
}

.ohd-full-intake :is(input, select, textarea):focus {
    border-color: var(--ohd-blue);
    box-shadow: 0 0 0 3px rgba(23, 105, 170, .17);
    outline: 0;
}

.ohd-full-intake :is(input, select, textarea):invalid[aria-invalid="true"] {
    border-color: var(--ohd-danger);
}

.ohd-stack-choices {
    display: grid;
    gap: .35rem;
}

.ohd-stack-choices label {
    align-items: flex-start;
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    cursor: pointer;
    display: flex;
    gap: .55rem;
    margin: 0;
    min-height: 44px;
    padding: .65rem .75rem;
}

.ohd-stack-choices input {
    accent-color: var(--ohd-blue);
    flex: 0 0 auto;
    height: 1.15rem;
    margin-top: .1rem;
    width: 1.15rem;
}

.ohd-evidence-guidance,
.ohd-intake-evidence-summary,
.ohd-return-questions,
.ohd-intake-screenshot-upload,
.ohd-document-batches,
.ohd-intake-next-step {
    background: var(--ohd-soft);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius);
    margin: 1rem 0;
    padding: 1rem;
}

.ohd-evidence-guidance > p,
.ohd-intake-evidence-summary > p,
.ohd-return-questions > p,
.ohd-intake-screenshot-upload > p,
.ohd-document-batches > p,
.ohd-intake-next-step > p {
    color: var(--ohd-muted);
    margin: .4rem 0 .8rem;
}

.ohd-full-intake input[type="file"] {
    background: var(--ohd-white);
    border: 1px dashed #8aa0b3;
    border-radius: var(--ohd-radius-sm);
    font: inherit;
    min-height: 50px;
    padding: .6rem;
    width: 100%;
}

.ohd-intake-file-list {
    list-style: none;
    margin: .55rem 0 0;
    padding: 0;
}

.ohd-intake-file-list li {
    align-items: center;
    border-top: 1px solid var(--ohd-line);
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    padding: .55rem 0;
}

.ohd-intake-file-list li.is-saved {
    color: var(--ohd-success);
}

.ohd-intake-file-list small {
    color: inherit;
}

.ohd-intake-file-state {
    align-items: center;
    display: inline-flex;
    flex: 0 0 auto;
    gap: .55rem;
}

.ohd-intake-file-state small {
    max-width: 18rem;
    text-align: right;
}

.ohd-intake-saved-documents {
    margin-top: 1rem;
}

.ohd-intake-saved-documents h4 {
    margin-bottom: .35rem;
}

.ohd-intake-file-remove,
.ohd-document-batch-remove,
.ohd-document-batch-add,
.ohd-intake-review-edit {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line-strong);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-blue-dark);
    cursor: pointer;
    font: inherit;
    font-size: .82rem;
    font-weight: 720;
    min-height: 40px;
    padding: .45rem .65rem;
}

.ohd-intake-file-remove:disabled {
    cursor: wait;
    opacity: .55;
}

.ohd-intake-file-retry {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-blue-dark);
    border-radius: 4px;
    color: var(--ohd-blue-dark);
    cursor: pointer;
    font-size: .76rem;
    font-weight: 720;
    line-height: 1.2;
    min-height: 30px;
    padding: .3rem .5rem;
    white-space: nowrap;
}

.ohd-document-batch {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    margin: .75rem 0;
    padding: .8rem;
}

.ohd-intake-extension-section {
    border-top: 1px solid var(--ohd-line);
    margin-top: 1.25rem;
    padding-top: 1rem;
}

.ohd-intake-extension-section h3,
.ohd-intake-extension-section h4 {
    margin: 0 0 .75rem;
}

.ohd-upload-save-status {
    color: var(--ohd-success);
    font-size: .82rem;
}

.ohd-upload-save-status.is-error,
.ohd-iban-feedback:not(:empty) {
    color: var(--ohd-danger);
}

.ohd-intake-review {
    border-top: 1px solid var(--ohd-line);
    margin-top: 1.5rem;
    padding-top: 1.25rem;
}

.ohd-intake-review > h4 {
    font-size: 1.2rem;
    margin: 0 0 .45rem;
}

.ohd-intake-review > p {
    color: var(--ohd-muted);
    margin: 0 0 .75rem;
}

.ohd-intake-review-list {
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    overflow: hidden;
}

.ohd-intake-review-list article {
    align-items: flex-start;
    background: var(--ohd-white);
    border-bottom: 1px solid var(--ohd-line);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: .8rem;
}

.ohd-intake-review-list article:last-child {
    border-bottom: 0;
}

.ohd-intake-review-list h5 {
    color: var(--ohd-navy);
    font-size: .88rem;
    margin: 0 0 .25rem;
}

.ohd-intake-review-list p {
    color: var(--ohd-muted);
    line-height: 1.45;
    margin: 0;
    overflow-wrap: anywhere;
}

.ohd-intake-actions {
    align-items: center;
    display: flex;
    gap: .75rem;
    margin-top: 1rem;
}

.ohd-guided-question {
    background: var(--ohd-soft, #f5f7f8);
    border-left: 3px solid var(--ohd-accent, #9b4d35);
    border-radius: var(--ohd-radius-sm);
    margin: 0 0 1rem;
    padding: .85rem 1rem;
}

.ohd-guided-question strong {
    color: var(--ohd-navy);
    display: block;
    font-size: .86rem;
    margin-bottom: .2rem;
}

.ohd-guided-question p {
    margin: 0;
}

.ohd-intake-spacer {
    flex: 1;
}

@media (max-width: 760px) {
    .ohd-intake-short-summary dl {
        grid-template-columns: 1fr;
    }

    .ohd-intake-progress .ohd-progress-steps {
        display: none;
    }

    .ohd-intake-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ohd-intake-spacer {
        display: none;
    }

    .ohd-intake-actions .ohd-button {
        width: 100%;
    }
}

/* Inline register workspace: keep the secure form in the page flow. */
.ohd-anonymous-modal.ohd-anonymous-inline,
.ohd-anonymous-modal.ohd-anonymous-inline.active {
    background: transparent;
    display: block;
    inset: auto;
    min-height: 0;
    overflow: visible;
    padding: 0;
    position: relative;
    width: 100%;
    z-index: auto;
}

.ohd-anonymous-inline .ohd-anonymous-modal-content {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    margin: 0;
    max-height: none;
    max-width: none;
    min-height: 0;
    overflow: visible;
    padding: 0;
    width: 100%;
}

.ohd-anonymous-inline .ohd-modal-title {
    color: var(--ohd-navy);
    margin: 0 0 1rem;
}

.ohd-anonymous-inline .ohd-progress-bar,
.ohd-anonymous-inline .ohd-form-section,
.ohd-anonymous-inline .ohd-route-note {
    background: var(--ohd-white);
}

@media (max-width: 760px) {
    .ohd-form-row {
        grid-template-columns: 1fr;
    }

    .ohd-progress-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ohd-anonymous-modal .ohd-progress-steps {
        display: none;
    }

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

    .ohd-form-nav .ohd-button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .ohd-progress-steps {
        grid-template-columns: 1fr;
    }

    .ohd-step-label {
        font-size: .86rem;
    }

    .ohd-anonymous-modal {
        padding: 0;
    }

    .ohd-anonymous-modal-content {
        border-radius: 0;
        max-height: 100dvh;
        min-height: 100dvh;
    }
}

/*
 * Intake clarity and theme isolation.
 * Elementor prints page CSS after plugin assets, so the customer-facing form
 * controls deliberately use scoped !important declarations here.
 */
html body #ohd-anonymous-modal .ohd-route-note a.ohd-route-note-action {
    background: var(--ohd-blue) !important;
    border: 1px solid var(--ohd-blue) !important;
    color: var(--ohd-white) !important;
    -webkit-text-fill-color: var(--ohd-white) !important;
}

html body #ohd-anonymous-modal .ohd-route-note a.ohd-route-note-action:hover,
html body #ohd-anonymous-modal .ohd-route-note a.ohd-route-note-action:focus-visible {
    background: var(--ohd-blue-dark) !important;
    border-color: var(--ohd-blue-dark) !important;
    color: var(--ohd-white) !important;
    -webkit-text-fill-color: var(--ohd-white) !important;
}

html body #ohd-anonymous-modal button.ohd-modal-close {
    background: var(--ohd-white) !important;
    border: 1px solid var(--ohd-line-strong) !important;
    color: var(--ohd-navy) !important;
    -webkit-text-fill-color: var(--ohd-navy) !important;
    text-transform: none !important;
}

html body #ohd-anonymous-modal button.ohd-modal-close:hover,
html body #ohd-anonymous-modal button.ohd-modal-close:focus-visible {
    background: var(--ohd-info-soft) !important;
    border-color: var(--ohd-blue) !important;
    color: var(--ohd-blue-dark) !important;
    -webkit-text-fill-color: var(--ohd-blue-dark) !important;
}

html body #ohd-anonymous-modal .ohd-form-nav .ohd-button,
html body #ohd-anonymous-modal .ohd-form-nav .ohd-button-primary,
html body #ohd-anonymous-modal .ohd-form-nav button[type="submit"] {
    background: var(--ohd-blue) !important;
    border: 1px solid var(--ohd-blue) !important;
    color: var(--ohd-white) !important;
    -webkit-text-fill-color: var(--ohd-white) !important;
    text-transform: none !important;
}

html body #ohd-anonymous-modal .ohd-form-nav .ohd-button:hover,
html body #ohd-anonymous-modal .ohd-form-nav .ohd-button:focus-visible,
html body #ohd-anonymous-modal .ohd-form-nav button[type="submit"]:hover,
html body #ohd-anonymous-modal .ohd-form-nav button[type="submit"]:focus-visible {
    background: var(--ohd-blue-dark) !important;
    border-color: var(--ohd-blue-dark) !important;
    color: var(--ohd-white) !important;
    -webkit-text-fill-color: var(--ohd-white) !important;
}

html body #ohd-anonymous-modal .ohd-form-nav .ohd-prev-step,
html body #ohd-anonymous-modal .ohd-form-nav .ohd-prev-step:hover,
html body #ohd-anonymous-modal .ohd-form-nav .ohd-prev-step:focus-visible {
    background: var(--ohd-white) !important;
    border-color: var(--ohd-blue) !important;
    color: var(--ohd-blue-dark) !important;
    -webkit-text-fill-color: var(--ohd-blue-dark) !important;
}

.ohd-anonymous-modal :is(h2, h3, h4, h5)[tabindex="-1"]:focus,
.ohd-full-intake :is(h2, h3, h4, h5)[tabindex="-1"]:focus {
    outline: 0 !important;
}

.ohd-anonymous-modal :is(h2, h3, h4),
.ohd-full-intake :is(h2, h3, h4, legend, label) {
    text-transform: none !important;
}

.ohd-full-intake label:has(> input:not([type="radio"]):not([type="checkbox"])),
.ohd-full-intake label:has(> select),
.ohd-full-intake label:has(> textarea),
.ohd-full-intake label:has(> .ohd-currency-input) {
    display: block !important;
}

.ohd-full-intake legend {
    display: block !important;
}

.ohd-full-intake label > .required,
.ohd-full-intake legend > .required {
    display: inline !important;
    margin-left: .2rem;
}

.ohd-full-intake label > input:not([type="radio"]):not([type="checkbox"]),
.ohd-full-intake label > select,
.ohd-full-intake label > textarea,
.ohd-full-intake label > .ohd-currency-input {
    display: block;
    margin-top: .4rem;
}

@media (max-width: 760px) {
    .ohd-intake-progress,
    .ohd-anonymous-modal .ohd-progress-bar {
        margin-bottom: .75rem;
    }

    .ohd-intake-progress .ohd-progress-status,
    .ohd-anonymous-modal .ohd-progress-status {
        background: var(--ohd-info-soft);
        border-left: 3px solid var(--ohd-blue);
        border-radius: var(--ohd-radius-sm);
        color: var(--ohd-navy);
        margin: 0;
        padding: .5rem .65rem;
        text-align: left;
    }

    .ohd-intake-step,
    .ohd-anonymous-modal .ohd-form-section {
        min-height: 0;
        padding: .9rem;
    }

    .ohd-anonymous-modal .ohd-form-section-header {
        margin-bottom: .85rem;
    }

    .ohd-anonymous-modal .ohd-form-group {
        margin-bottom: .85rem;
    }

    .ohd-full-intake label:not(.ohd-check-row),
    .ohd-full-intake legend {
        margin-bottom: .7rem;
    }

    .ohd-full-intake textarea {
        min-height: 104px;
    }

    .ohd-choice-cards,
    .ohd-stack-choices {
        gap: .5rem;
    }

    .ohd-choice-cards label > span,
    .ohd-stack-choices label {
        min-height: 0;
        padding: .7rem;
    }

    .ohd-route-note {
        margin-bottom: .75rem;
        padding: .75rem;
    }
}

/* Repeatable counterparty editor shared by dossier and anonymous intake. */
.ohd-counterparty-details {
    color: var(--ohd-ink);
    margin: 1.15rem 0 .5rem;
    width: 100%;
}

.ohd-counterparty-details [hidden] {
    display: none;
}

.ohd-counterparty-details__intro {
    border-bottom: 1px solid var(--ohd-line);
    padding-bottom: 1rem;
}

.ohd-counterparty-details__intro h4,
.ohd-counterparty-picker__heading h5 {
    color: var(--ohd-navy);
    font-size: 1.2rem;
    margin: 0 0 .35rem;
}

.ohd-counterparty-picker__heading h5 {
    font-size: 1.05rem;
}

.ohd-counterparty-details__intro p,
.ohd-counterparty-picker__heading p {
    color: var(--ohd-muted);
    line-height: 1.55;
    margin: 0;
}

.ohd-counterparty-picker {
    padding: 1rem 0;
}

.ohd-counterparty-picker__heading {
    margin-bottom: .75rem;
}

.ohd-counterparty-groups {
    display: grid;
    gap: .65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ohd-counterparty-group {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    min-width: 0;
    overflow: hidden;
}

.ohd-counterparty-group > summary {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    list-style: none;
    min-height: 62px;
    padding: .75rem .85rem;
}

.ohd-counterparty-group > summary::-webkit-details-marker {
    display: none;
}

.ohd-counterparty-group > summary:focus-visible {
    outline: 3px solid rgba(23, 105, 170, .22);
    outline-offset: -3px;
}

.ohd-counterparty-group__copy {
    display: grid;
    gap: .15rem;
    min-width: 0;
}

.ohd-counterparty-group__copy strong {
    color: var(--ohd-navy);
    font-size: .94rem;
    overflow-wrap: anywhere;
}

.ohd-counterparty-group__copy small {
    color: var(--ohd-muted);
    font-size: .8rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.ohd-counterparty-group__action {
    color: var(--ohd-blue-dark);
    flex: 0 0 auto;
    font-size: .72rem;
    font-weight: 750;
    text-transform: uppercase;
}

.ohd-counterparty-group[open] {
    border-color: var(--ohd-blue);
    grid-column: 1 / -1;
}

.ohd-counterparty-group[open] .ohd-counterparty-group__action {
    font-size: 0;
}

.ohd-counterparty-group[open] .ohd-counterparty-group__action::after {
    content: "Sluiten";
    font-size: .72rem;
}

.ohd-counterparty-group__choices {
    border-top: 1px solid var(--ohd-line);
    display: grid;
    gap: .5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: .75rem .85rem .85rem;
}

.ohd-counterparty-choice {
    align-items: flex-start;
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line-strong);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-blue-dark);
    cursor: pointer;
    display: flex;
    font: inherit;
    font-size: .88rem;
    font-weight: 700;
    gap: .45rem;
    min-height: 46px;
    min-width: 0;
    padding: .65rem .7rem;
    text-align: left;
    width: 100%;
}

.ohd-counterparty-choice.is-primary {
    background: var(--ohd-info-soft);
    border-color: var(--ohd-blue);
}

.ohd-counterparty-choice:hover,
.ohd-counterparty-choice:focus-visible {
    background: var(--ohd-blue-dark);
    border-color: var(--ohd-blue-dark);
    color: var(--ohd-white);
}

.ohd-counterparty-selected {
    display: grid;
    gap: .75rem;
    padding-top: .25rem;
}

.ohd-counterparty-empty {
    background: var(--ohd-soft);
    border: 1px dashed var(--ohd-line-strong);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-muted);
    display: grid;
    gap: .2rem;
    padding: 1rem;
}

.ohd-counterparty-empty strong {
    color: var(--ohd-navy);
}

.ohd-counterparty-empty span {
    font-size: .88rem;
}

.ohd-counterparty-item {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line-strong);
    border-left: 4px solid var(--ohd-blue);
    border-radius: var(--ohd-radius-sm);
    padding: .9rem;
}

.ohd-counterparty-item__header {
    align-items: center;
    display: flex;
    gap: .75rem;
    justify-content: space-between;
    margin-bottom: .7rem;
}

.ohd-counterparty-item__heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.ohd-counterparty-item__required {
    background: var(--ohd-info-soft);
    border-radius: 999px;
    color: var(--ohd-blue-dark);
    font-size: .72rem;
    font-weight: 750;
    padding: .2rem .45rem;
}

.ohd-counterparty-item__remove {
    background: transparent;
    border: 0;
    color: var(--ohd-danger);
    cursor: pointer;
    font: inherit;
    font-size: .86rem;
    font-weight: 700;
    min-height: 44px;
    padding: .55rem 0;
    text-decoration: underline;
    text-underline-offset: .18em;
}

.ohd-counterparty-item__fields {
    display: grid;
    gap: .85rem;
    min-width: 0;
}

.ohd-counterparty-item__fields--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ohd-counterparty-item__fields--webshop {
    grid-template-columns: minmax(180px, 1.2fr) minmax(210px, 1.25fr) minmax(130px, .65fr);
}

.ohd-counterparty-item__fields--address {
    grid-template-columns: minmax(112px, .8fr) minmax(100px, .7fr) minmax(180px, 1.4fr) minmax(150px, 1fr);
}

.ohd-counterparty-item__fields--address label:last-of-type {
    grid-column: 1 / -1;
}

.ohd-counterparty-details label {
    color: var(--ohd-navy);
    display: grid;
    font-size: .92rem;
    font-weight: 680;
    gap: .35rem;
    min-width: 0;
}

.ohd-counterparty-details input:not([type="checkbox"]),
.ohd-counterparty-details select,
.ohd-counterparty-details textarea {
    background: var(--ohd-white);
    border: 1px solid var(--ohd-line-strong);
    border-radius: var(--ohd-radius-sm);
    color: var(--ohd-ink);
    font: inherit;
    min-height: 46px;
    min-width: 0;
    padding: .7rem .75rem;
    width: 100%;
}

.ohd-counterparty-details input:focus,
.ohd-counterparty-details select:focus,
.ohd-counterparty-details textarea:focus {
    border-color: var(--ohd-blue);
    box-shadow: 0 0 0 3px rgba(23, 105, 170, .16);
    outline: 0;
}

.ohd-counterparty-item__help {
    color: var(--ohd-muted);
    font-size: .82rem;
    font-weight: 400;
}

.ohd-counterparty-error {
    background: var(--ohd-danger-soft);
    border-left: 4px solid var(--ohd-danger);
    border-radius: var(--ohd-radius-sm);
    color: #7d2020;
    font-size: .88rem;
    font-weight: 650;
    margin: .75rem 0 0;
    padding: .7rem .8rem;
}

.ohd-counterparty-confirm,
.ohd-counterparty-unknown {
    align-items: flex-start;
    border: 1px solid var(--ohd-line);
    border-radius: var(--ohd-radius-sm);
    display: flex;
    gap: .65rem;
    margin-top: 1rem;
    min-height: 46px;
    padding: .8rem;
}

.ohd-counterparty-confirm {
    background: var(--ohd-info-soft);
    border-color: #bdd8eb;
}

.ohd-counterparty-confirm input,
.ohd-counterparty-unknown input {
    accent-color: var(--ohd-blue);
    flex: 0 0 auto;
    height: 1.2rem;
    margin: .12rem 0 0;
    width: 1.2rem;
}

@media (max-width: 760px) {
    .ohd-counterparty-groups,
    .ohd-counterparty-group__choices,
    .ohd-counterparty-item__fields--two,
    .ohd-counterparty-item__fields--webshop,
    .ohd-counterparty-item__fields--address {
        grid-template-columns: minmax(0, 1fr);
    }

    .ohd-counterparty-group[open],
    .ohd-counterparty-item__fields--address label:last-of-type {
        grid-column: auto;
    }

    .ohd-counterparty-item {
        padding: .75rem;
    }

    .ohd-counterparty-item__header {
        align-items: flex-start;
    }
}

/* Keep the desktop intake progress readable when the WordPress theme styles buttons. */
html body .ohd-portal.ohd-ui-v2 .ohd-intake-progress .ohd-progress-steps {
    gap: .65rem !important;
}

html body .ohd-portal.ohd-ui-v2 .ohd-intake-progress button.ohd-progress-step {
    -webkit-text-fill-color: var(--ohd-navy) !important;
    align-items: center !important;
    appearance: none !important;
    background: var(--ohd-white) !important;
    border: 1px solid var(--ohd-line-strong) !important;
    border-radius: var(--ohd-radius-md) !important;
    box-shadow: none !important;
    color: var(--ohd-navy) !important;
    display: grid !important;
    gap: .65rem !important;
    grid-template-columns: 30px minmax(0, 1fr) !important;
    min-height: 66px !important;
    opacity: 1 !important;
    padding: .75rem !important;
    text-align: left !important;
    text-transform: none !important;
    width: 100% !important;
}

html body .ohd-portal.ohd-ui-v2 .ohd-intake-progress button.ohd-progress-step:hover,
html body .ohd-portal.ohd-ui-v2 .ohd-intake-progress button.ohd-progress-step:focus-visible {
    -webkit-text-fill-color: var(--ohd-navy) !important;
    background: var(--ohd-info-soft) !important;
    border-color: var(--ohd-blue) !important;
    color: var(--ohd-navy) !important;
}

html body .ohd-portal.ohd-ui-v2 .ohd-intake-progress button.ohd-progress-step.active {
    -webkit-text-fill-color: var(--ohd-navy) !important;
    background: var(--ohd-info-soft) !important;
    border-color: var(--ohd-blue) !important;
    box-shadow: inset 0 3px 0 var(--ohd-blue) !important;
    color: var(--ohd-navy) !important;
}

html body .ohd-portal.ohd-ui-v2 .ohd-intake-progress .ohd-step-number {
    -webkit-text-fill-color: var(--ohd-blue) !important;
    align-items: center !important;
    background: var(--ohd-white) !important;
    border: 2px solid var(--ohd-blue) !important;
    border-radius: 50% !important;
    color: var(--ohd-blue) !important;
    display: flex !important;
    flex: 0 0 30px !important;
    height: 30px !important;
    justify-content: center !important;
    max-width: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
    width: 30px !important;
}

html body .ohd-portal.ohd-ui-v2 .ohd-intake-progress button.ohd-progress-step.active .ohd-step-number {
    -webkit-text-fill-color: var(--ohd-white) !important;
    background: var(--ohd-blue) !important;
    color: var(--ohd-white) !important;
}

html body .ohd-portal.ohd-ui-v2 .ohd-intake-progress .ohd-step-label {
    -webkit-text-fill-color: var(--ohd-navy) !important;
    color: var(--ohd-navy) !important;
    display: block !important;
    font-size: .82rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    text-transform: none !important;
}
