/* Styles of the original Blazor section components. Each block is nested under the scope class that
   wraps the section's markup, preserving the component-scoped CSS of the original. */

.scope-about-organization {
    .about-form {
        color: #1f2533;
    }

    .about-form__intro {
        color: #697386;
        font-size: .95rem;
        line-height: 1.55;
        margin: 0 0 1.5rem;
        max-width: 520px;
    }

    .about-form__section {
        border-top: 1px solid #eef1f5;
        margin-bottom: 1.75rem;
        padding-top: 1.5rem;
    }

    .about-form__section:first-of-type {
        border-top: none;
        padding-top: 0;
    }

    .about-form__heading {
        color: #2a3240;
        font-size: 1.05rem;
        font-weight: 700;
        letter-spacing: -.01em;
        margin: 0 0 .25rem;
    }

    .about-form__question {
        color: #6b7585;
        font-size: .9rem;
        line-height: 1.5;
        margin: 0 0 1rem;
    }

    .about-form__field {
        min-width: 0;
    }

    .about-form__label {
        color: #343d4e;
        display: block;
        font-size: .88rem;
        font-weight: 600;
        margin: 0 0 .4rem;
    }

    .about-form__choices {
        display: flex;
        flex-wrap: wrap;
        gap: 1.25rem 2rem;
        margin-bottom: .25rem;
    }

    .about-form__choice {
        align-items: center;
        cursor: pointer;
        display: inline-flex;
        font-size: .94rem;
        font-weight: 500;
    }

    .about-form__other {
        margin-top: .9rem;
        max-width: 440px;
    }

    .about-form__subsidiary-details {
        display: grid;
        gap: 1rem 2rem;
        grid-template-columns: minmax(0, 1.6fr) minmax(180px, 1fr);
        margin-top: 1rem;
    }

    .about-form__subsidiary-details .about-form__field {
        min-width: 0;
    }

    /* Radzen form field styling */
    .about-form .rz-form-field {
        margin-bottom: 1rem;
        max-width: 100%;
    }

    /* Radzen inputs / select / textarea */
    .about-form .rz-textbox,
    .about-form .rz-textarea,
    .about-form .rz-inputtext,
    .about-form select {
        background: #fff;
        border: 1px solid #dfe3ea;
        border-radius: 10px;
        color: #1f2533;
        font-size: .94rem;
        font-weight: 400;
        min-height: 42px;
        outline: none;
        padding: .55rem .9rem;
        transition: border-color .15s ease, box-shadow .15s ease;
        width: 100%;
    }

    .about-form select {
        display: block;
    }

    .about-form .rz-textarea {
        min-height: 88px;
        resize: vertical;
    }

    .about-form .rz-textbox::placeholder,
    .about-form .rz-textarea::placeholder {
        color: #a7b0be;
    }

    .about-form .rz-textbox:hover,
    .about-form .rz-textarea:hover {
        border-color: #c3cad6;
    }

    .about-form .rz-textbox:focus,
    .about-form .rz-textarea:focus,
    .about-form .rz-textbox.rz-state-focused,
    .about-form .rz-textarea.rz-state-focused {
        border-color: #0f3a5f;
        box-shadow: 0 0 0 3px rgba(15, 58, 95, .14);
    }

    /* Checkboxes â€” larger, friendlier targets */
    .about-form .rz-checkbox-box {
        height: 18px;
        width: 18px;
    }

    /* Validation message styling */
    .about-form .validation-message,
    .about-form .validation-summary-errors,
    .about-form .rz-validation-message {
        color: #d92037;
        font-size: .82rem;
        font-weight: 600;
        margin: .3rem 0 0;
    }

    @media (max-width: 640px) {
        .about-form__choices {
            gap: .9rem;
        }

        .about-form__subsidiary-details {
            grid-template-columns: 1fr;
        }
    }
}

.scope-banking-resolution {
    .banking-resolution-form { color: #1f2533; }
    .banking-resolution-form__notice, .banking-resolution-form__resolved, .banking-resolution-form__clause, .banking-resolution-form__list { font-size: .9rem; line-height: 1.55; }
    .banking-resolution-form__notice, .banking-resolution-form__resolved { color: #0f3a5f; font-weight: 700; margin: 0 0 1rem; }
    .banking-resolution-form__clause { color: #3a4354; margin: 0 0 1rem; }
    .banking-resolution-form__list { color: #3a4354; margin: 0 0 1rem; padding-left: 1.5rem; }
    .banking-resolution-form__list li { margin-bottom: .5rem; }
    .banking-resolution-form__section-head { display: flex; justify-content: flex-end; margin-bottom: .75rem; }
    .banking-resolution-form__table-wrap { overflow-x: auto; }
    .banking-resolution-form__table { border-collapse: collapse; width: 100%; }
    .banking-resolution-form__table th { background: #0f3a5f; color: #fff; font-size: .78rem; font-weight: 700; padding: .65rem .75rem; text-align: left; }
    .banking-resolution-form__table td { border-bottom: 1px solid #eef1f5; padding: .5rem; vertical-align: top; }
    .banking-resolution-form__table td .rz-textbox { min-height: 38px; padding: .45rem .7rem; }
    .banking-resolution-form__remove { text-align: center; width: 48px; }
    .banking-resolution-form__remove-btn { background: transparent; border: 0; color: #a7b0be; cursor: pointer; font-size: 1.4rem; line-height: 1; }
    .banking-resolution-form__remove-btn:hover { color: #d92037; }
    .banking-resolution-form__date-line { align-items: center; display: flex; flex-wrap: wrap; font-size: .9rem; font-weight: 600; gap: .5rem; margin: 1.25rem 0 2rem; }
    .banking-resolution-form__date-line .rz-textbox { flex: 1 1 90px; max-width: 150px; }
    .banking-resolution-form__signatures { align-items: center; display: flex; gap: 2rem; }
    .banking-resolution-form__signature-fields { flex: 1; }
    .banking-resolution-form__seal { align-items: center; border: 2px solid #0f3a5f; border-radius: 50%; color: #0f3a5f; display: inline-flex; flex: 0 0 95px; font-size: .85rem; font-weight: 700; height: 95px; justify-content: center; text-align: center; width: 95px; }
    .banking-resolution-form .rz-form-field { margin-bottom: 1rem; max-width: 100%; }
    .banking-resolution-form .rz-form-field-label, .banking-resolution-form .rz-form-field > label { color: #343d4e; font-size: .88rem; font-weight: 600; margin-bottom: .4rem; }
    .banking-resolution-form .rz-textbox, .banking-resolution-form .rz-inputtext, .banking-resolution-form .rz-datepicker { background: #fff; border: 1px solid #dfe3ea; border-radius: 10px; color: #1f2533; font-size: .94rem; min-height: 42px; padding: .55rem .9rem; width: 100%; }
    .banking-resolution-form .rz-textbox:focus, .banking-resolution-form .rz-datepicker:focus, .banking-resolution-form .rz-state-focused { border-color: #0f3a5f; box-shadow: 0 0 0 3px rgba(15, 58, 95, .14); }
    .banking-resolution-form .validation-message, .banking-resolution-form .validation-summary-errors { color: #d92037; font-size: .82rem; }
    @media (max-width: 640px) { .banking-resolution-form__signatures { align-items: flex-start; flex-direction: column; } .banking-resolution-form__date-line .rz-textbox { max-width: 100%; } }
}

.scope-banking-users {
    .bu-form {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        margin-top: 1rem;
    }

    .bu-card {
        background: #fff;
        border: 3px solid #0f3a5f;
        border-radius: 8px;
        margin-bottom: 1.5rem;
        padding: 1.5rem 1.5rem 1.75rem;
    }

    .bu-card__header {
        align-items: center;
        background: #0f3a5f;
        color: #fff;
        display: flex;
        font-size: .95rem;
        font-weight: 700;
        justify-content: space-between;
        margin: -1.5rem -1.5rem 1.25rem;
        padding: .7rem 1rem;
    }

    .bu-card--official .bu-card__header {
        margin-bottom: 1.25rem;
    }

    .bu-remove {
        align-items: center;
        background: transparent;
        border: none;
        color: #cbd6e3;
        cursor: pointer;
        display: inline-flex;
        font-size: 1.4rem;
        justify-content: center;
        line-height: 1;
        padding: 0 .25rem;
    }

    .bu-remove:hover {
        color: #fff;
    }

    .bu-grid {
        display: grid;
        gap: 1rem 1.25rem;
        margin-bottom: 1.25rem;
    }

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

    .bu-section {
        margin-bottom: 1.25rem;
    }

    .bu-checkboxes {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        gap: .5rem 1.5rem;
    }

    .bu-check {
        align-items: center;
        cursor: pointer;
        display: inline-flex;
        font-size: .94rem;
        font-weight: 500;
        white-space: nowrap;
    }

    .bu-limit-input {
        max-width: 240px;
        min-width: 180px;
    }

    .bu-empty {
        color: #9aa3b2;
        font-size: .92rem;
        margin: .5rem 0 1rem;
    }

    .bu-actions {
        align-items: center;
        display: flex;
        justify-content: flex-end;
        gap: .75rem;
        margin-top: 1.5rem;
    }

    /* Radzen inputs */
    .bu-form .rz-textbox,
    .bu-form .rz-inputtext,
    .bu-form .rz-numeric {
        background: #fff;
        border: 1px solid #dfe3ea;
        border-radius: 8px;
        color: #1f2533;
        font-size: .94rem;
        font-weight: 400;
        min-height: 40px;
        outline: none;
        padding: .5rem .85rem;
        transition: border-color .15s ease, box-shadow .15s ease;
        width: 100%;
    }

    .bu-form .rz-textbox:focus,
    .bu-form .rz-inputtext:focus,
    .bu-form .rz-textbox.rz-state-focused,
    .bu-form .rz-numeric.rz-state-focused {
        border-color: #0f3a5f;
        box-shadow: 0 0 0 3px rgba(15, 58, 95, .14);
    }

    .bu-form .rz-checkbox-box {
        height: 18px;
        width: 18px;
    }

    /* Buttons */
    .bu-form .rz-button-secondary {
        background: #fff;
        border: 1px solid #0f3a5f;
        color: #0f3a5f;
        font-size: .9rem;
    }

    .bu-form .rz-button-secondary:hover {
        background: #eef4fb;
    }

    .bu-form .rz-button {
        background: #0f3a5f;
        border: 1px solid #0f3a5f;
        border-radius: 10px;
        color: #fff;
        cursor: pointer;
        font-size: .95rem;
        font-weight: 600;
        min-height: 44px;
        padding: .75rem 1.6rem;
        transition: background .15s ease, transform .15s ease;
    }

    .bu-form .rz-button:hover {
        background: #0a2a45;
        transform: translateY(-1px);
    }

    @media (max-width: 768px) {
        .bu-grid--2 {
            grid-template-columns: 1fr;
        }

        .bu-card {
            padding: 1.25rem 1rem 1.5rem;
        }

        .bu-card__header {
            margin: -1.25rem -1rem 1rem;
        }
    }
}

.scope-certificate-of-directors {
    .certificate-form {
        color: #1f2533;
    }

    .certificate-form__intro {
        color: #697386;
        font-size: .95rem;
        line-height: 1.55;
        margin: 0 0 1.5rem;
        max-width: 720px;
    }

    .certificate-form__note {
        color: #3a4354;
        font-size: .9rem;
        line-height: 1.55;
        margin: 0 0 1rem;
    }

    .certificate-form__note--mt {
        margin-top: 2rem;
    }

    .certificate-form__or {
        color: #2a3240;
        font-size: .9rem;
        font-weight: 700;
        margin: .5rem 0;
        text-align: center;
    }

    .certificate-form__declaration {
        color: #3a4354;
        font-size: .9rem;
        line-height: 1.55;
        margin: 0 0 1rem;
        padding-left: 1.5rem;
    }

    .certificate-form__declaration li {
        margin-bottom: .5rem;
    }

    .certificate-form__field,
    .profiles-form__field {
        min-width: 0;
    }

    .certificate-form__section-head {
        align-items: center;
        display: flex;
        justify-content: flex-end;
        margin-bottom: .75rem;
    }

    .certificate-form__table-wrap {
        overflow-x: auto;
    }

    .certificate-form__table {
        border-collapse: collapse;
        width: 100%;
    }

    .certificate-form__table th {
        background: #0f3a5f;
        color: #fff;
        font-size: .78rem;
        font-weight: 700;
        padding: .65rem .75rem;
        text-align: left;
    }

    .certificate-form__table td {
        border-bottom: 1px solid #eef1f5;
        padding: .5rem .5rem;
        vertical-align: top;
    }

    .certificate-form__table td .rz-textbox {
        min-height: 38px;
        padding: .45rem .7rem;
    }

    .certificate-form__remove {
        text-align: center;
        width: 48px;
    }

    .certificate-form__remove-btn {
        align-items: center;
        background: transparent;
        border: none;
        color: #a7b0be;
        cursor: pointer;
        display: inline-flex;
        font-size: 1.4rem;
        justify-content: center;
        line-height: 1;
        padding: 0 .25rem;
    }

    .certificate-form__remove-btn:hover {
        color: #d92037;
    }

    .certificate-form__empty {
        color: #9aa3b2;
        font-size: .92rem;
        margin: .5rem 0 1rem;
    }

    .certificate-form__date-line {
        align-items: center;
        color: #2a3240;
        display: flex;
        flex-wrap: wrap;
        font-size: .92rem;
        font-weight: 600;
        gap: .5rem;
        margin-bottom: 2rem;
    }

    .certificate-form__date-line .rz-textbox {
        flex: 1 1 100px;
        font-weight: 400;
        max-width: 160px;
    }

    .certificate-form__signature {
        align-items: flex-start;
        display: flex;
        gap: 2rem;
    }

    .certificate-form__signature-fields {
        flex: 1;
    }

    /* Radzen form field + label styling */
    .certificate-form .rz-form-field {
        margin-bottom: 1rem;
        max-width: 100%;
    }

    .certificate-form .rz-form-field-label,
    .certificate-form .rz-form-field > label {
        color: #343d4e;
        font-size: .88rem;
        font-weight: 600;
        margin-bottom: .4rem;
    }

    .certificate-form .rz-textbox,
    .certificate-form .rz-textarea,
    .certificate-form .rz-inputtext,
    .certificate-form .rz-datepicker {
        background: #fff;
        border: 1px solid #dfe3ea;
        border-radius: 10px;
        color: #1f2533;
        font-size: .94rem;
        font-weight: 400;
        min-height: 42px;
        outline: none;
        padding: .55rem .9rem;
        transition: border-color .15s ease, box-shadow .15s ease;
        width: 100%;
    }

    .certificate-form .rz-textbox::placeholder,
    .certificate-form .rz-datepicker::placeholder {
        color: #a7b0be;
    }

    .certificate-form .rz-textbox:hover,
    .certificate-form .rz-datepicker:hover {
        border-color: #c3cad6;
    }

    .certificate-form .rz-textbox:focus,
    .certificate-form .rz-datepicker:focus,
    .certificate-form .rz-textbox.rz-state-focused,
    .certificate-form .rz-datepicker.rz-state-focused {
        border-color: #0f3a5f;
        box-shadow: 0 0 0 3px rgba(15, 58, 95, .14);
    }

    .certificate-form .validation-message,
    .certificate-form .validation-summary-errors,
    .certificate-form .rz-validation-message {
        color: #d92037;
        font-size: .82rem;
        font-weight: 600;
        margin: .3rem 0 0;
    }

    @media (max-width: 640px) {
        .certificate-form__signature {
            flex-direction: column;
        }

        .certificate-form__date-line .rz-textbox {
            max-width: 100%;
        }
    }
}

.scope-client-information {
    .info-form {
        color: #1f2533;
    }

    .info-form__intro {
        color: #697386;
        font-size: .95rem;
        line-height: 1.55;
        margin: 0 0 1.5rem;
        max-width: 480px;
    }

    .info-form__section {
        margin-bottom: 1.75rem;
    }

    .info-form__heading {
        color: #2a3240;
        font-size: 1.05rem;
        font-weight: 700;
        letter-spacing: -.01em;
        margin: 0 0 1rem;
    }

    .info-form__grid {
        display: grid;
        gap: 1rem;
    }

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

    .info-form__field {
        min-width: 0;
    }

    .info-form__label {
        color: #343d4e;
        display: block;
        font-size: .88rem;
        font-weight: 600;
        margin: 0 0 .4rem;
    }

    /* Radzen form field styling */
    .info-form .rz-form-field {
        margin-bottom: 1rem;
        max-width: 100%;
    }

    /* Radzen inputs */
    .info-form .rz-textbox,
    .info-form .rz-datepicker,
    .info-form .rz-inputtext {
        background: #fff;
        border: 1px solid #dfe3ea;
        border-radius: 10px;
        color: #1f2533;
        font-size: .94rem;
        font-weight: 400;
        min-height: 42px;
        outline: none;
        padding: .55rem .9rem;
        transition: border-color .15s ease, box-shadow .15s ease;
        width: 100%;
    }

    .info-form .rz-textbox::placeholder,
    .info-form .rz-datepicker::placeholder {
        color: #a7b0be;
    }

    .info-form .rz-textbox:hover,
    .info-form .rz-datepicker:hover {
        border-color: #c3cad6;
    }

    .info-form .rz-textbox:focus,
    .info-form .rz-datepicker:focus,
    .info-form .rz-textbox.rz-state-focused,
    .info-form .rz-datepicker.rz-state-focused {
        border-color: #0f3a5f;
        box-shadow: 0 0 0 3px rgba(15, 58, 95, .14);
    }

    /* Validation message styling */
    .info-form .validation-message,
    .info-form .validation-summary-errors,
    .info-form .rz-validation-message {
        color: #d92037;
        font-size: .82rem;
        font-weight: 600;
        margin: .3rem 0 0;
    }

    /* Field-level error state on inputs */
    .info-form .rz-textbox.rz-invalid,
    .info-form .rz-datepicker.rz-invalid,
    .info-form .invalid:not([type=checkbox]) {
        border-color: #d92037;
        box-shadow: 0 0 0 3px rgba(217, 32, 55, .1);
    }

    @media (max-width: 768px) {
        .info-form__grid--2 {
            grid-template-columns: 1fr;
        }
    }
}

.scope-corporate-resolution {
    .resolution-form {
        color: #1f2533;
    }

    .resolution-form__notice,
    .resolution-form__resolved,
    .resolution-form__subheading {
        color: #2a3240;
        font-size: .9rem;
        font-weight: 700;
        margin: 0 0 1rem;
    }

    .resolution-form__notice {
        color: #0f3a5f;
    }

    .resolution-form__subheading {
        font-size: 1rem;
        margin-top: 1.5rem;
    }

    .resolution-form__clause,
    .resolution-form__list,
    .resolution-form__note {
        color: #3a4354;
        font-size: .9rem;
        line-height: 1.55;
    }

    .resolution-form__clause,
    .resolution-form__note {
        margin: 0 0 1rem;
    }

    .resolution-form__list {
        margin: 0 0 1rem;
        padding-left: 1.5rem;
    }

    .resolution-form__list li {
        margin-bottom: .5rem;
    }

    .resolution-form__field {
        min-width: 0;
    }

    .resolution-form__field--spaced {
        margin-top: 1rem;
    }

    .resolution-form__section-head {
        display: flex;
        justify-content: flex-end;
        margin-bottom: .75rem;
    }

    .resolution-form__table-wrap {
        overflow-x: auto;
    }

    .resolution-form__table {
        border-collapse: collapse;
        width: 100%;
    }

    .resolution-form__table th {
        background: #0f3a5f;
        color: #fff;
        font-size: .78rem;
        font-weight: 700;
        padding: .65rem .75rem;
        text-align: left;
    }

    .resolution-form__table td {
        border-bottom: 1px solid #eef1f5;
        padding: .5rem;
        vertical-align: top;
    }

    .resolution-form__table td .rz-textbox {
        min-height: 38px;
        padding: .45rem .7rem;
    }

    .resolution-form__remove {
        text-align: center;
        width: 48px;
    }

    .resolution-form__remove-btn {
        background: transparent;
        border: 0;
        color: #a7b0be;
        cursor: pointer;
        font-size: 1.4rem;
        line-height: 1;
    }

    .resolution-form__remove-btn:hover {
        color: #d92037;
    }

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

    .resolution-form__date-line {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        font-size: .9rem;
        font-weight: 600;
        gap: .5rem;
        margin-bottom: 2rem;
    }

    .resolution-form__date-line .rz-textbox {
        flex: 1 1 90px;
        max-width: 150px;
    }

    .resolution-form__signatures {
        align-items: flex-start;
        display: flex;
        gap: 2rem;
    }

    .resolution-form__seal {
        align-items: center;
        border: 2px solid #0f3a5f;
        border-radius: 50%;
        color: #0f3a5f;
        display: inline-flex;
        flex: 0 0 105px;
        font-size: .82rem;
        font-weight: 700;
        height: 105px;
        justify-content: center;
        text-align: center;
        width: 105px;
    }

    .resolution-form__signature-fields {
        flex: 1;
    }

    .resolution-form .rz-form-field {
        margin-bottom: 1rem;
        max-width: 100%;
    }

    .resolution-form .rz-form-field-label,
    .resolution-form .rz-form-field > label {
        color: #343d4e;
        font-size: .88rem;
        font-weight: 600;
        margin-bottom: .4rem;
    }

    .resolution-form .rz-textbox,
    .resolution-form .rz-inputtext,
    .resolution-form .rz-datepicker {
        background: #fff;
        border: 1px solid #dfe3ea;
        border-radius: 10px;
        color: #1f2533;
        font-size: .94rem;
        min-height: 42px;
        padding: .55rem .9rem;
        width: 100%;
    }

    .resolution-form .rz-textbox:focus,
    .resolution-form .rz-datepicker:focus,
    .resolution-form .rz-state-focused {
        border-color: #0f3a5f;
        box-shadow: 0 0 0 3px rgba(15, 58, 95, .14);
    }

    .resolution-form .validation-message,
    .resolution-form .validation-summary-errors {
        color: #d92037;
        font-size: .82rem;
    }

    @media (max-width: 768px) {
        .resolution-form__grid {
            grid-template-columns: 1fr;
        }

        .resolution-form__signatures {
            flex-direction: column;
        }
    }
}

.scope-corporate-signature-card {
    .signature-card-form { color: #1f2533; }
    .signature-card-form__intro, .signature-card-form__legal, .signature-card-form__heading { color: #3a4354; line-height: 1.55; }
    .signature-card-form__intro { font-size: .95rem; margin: 0 0 1.5rem; max-width: 720px; }
    .signature-card-form__heading { color: #2a3240; font-size: 1rem; font-weight: 700; margin: 0 0 1rem; }
    .signature-card-form__legal { font-size: .9rem; margin: 1.5rem 0; }
    .signature-card-form__field { min-width: 0; }
    .signature-card-form__section-head, .signature-card-form__section-head--right { display: flex; justify-content: flex-end; margin-bottom: .75rem; }
    .signature-card-form__table-wrap { overflow-x: auto; }
    .signature-card-form__table { border-collapse: collapse; width: 100%; }
    .signature-card-form__table th { background: #0f3a5f; color: #fff; font-size: .78rem; font-weight: 700; padding: .65rem .75rem; text-align: left; }
    .signature-card-form__table td { border-bottom: 1px solid #eef1f5; padding: .5rem; vertical-align: top; }
    .signature-card-form__table td .rz-textbox { min-height: 38px; padding: .45rem .7rem; }
    .signature-card-form__remove { text-align: center; width: 48px; }
    .signature-card-form__remove-btn { background: transparent; border: 0; color: #a7b0be; cursor: pointer; font-size: 1.4rem; line-height: 1; }
    .signature-card-form__remove-btn:hover { color: #d92037; }
    .signature-card-form__empty { color: #9aa3b2; font-size: .92rem; margin: .5rem 0 1rem; }
    .signature-card-form__choices { display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; margin-bottom: .25rem; }
    .signature-card-form__choice { align-items: center; cursor: pointer; display: inline-flex; font-size: .94rem; font-weight: 500; }
    .signature-card-form__signer { border: 1px solid #eef1f5; border-radius: 10px; margin-bottom: 1rem; padding: 1rem; position: relative; }
    .signature-card-form__signer-grid { display: grid; gap: 1rem 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .signature-card-form__signature-field .rz-textbox { min-height: 64px; }
    .signature-card-form__signer-remove { position: absolute; right: .6rem; top: .6rem; }
    .signature-card-form .rz-form-field { margin-bottom: 1rem; max-width: 100%; }
    .signature-card-form .rz-form-field-label, .signature-card-form .rz-form-field > label { color: #343d4e; font-size: .88rem; font-weight: 600; margin-bottom: .4rem; }
    .signature-card-form .rz-textbox, .signature-card-form .rz-inputtext, .signature-card-form .rz-datepicker { background: #fff; border: 1px solid #dfe3ea; border-radius: 10px; color: #1f2533; font-size: .94rem; min-height: 42px; padding: .55rem .9rem; width: 100%; }
    .signature-card-form .rz-textbox:focus, .signature-card-form .rz-datepicker:focus, .signature-card-form .rz-state-focused { border-color: #0f3a5f; box-shadow: 0 0 0 3px rgba(15, 58, 95, .14); }
    .signature-card-form .rz-checkbox-box { height: 18px; width: 18px; }
    .signature-card-form .validation-message, .signature-card-form .validation-summary-errors { color: #d92037; font-size: .82rem; }
    @media (max-width: 768px) { .signature-card-form__signer-grid { grid-template-columns: 1fr; } }
}

.scope-customers-and-suppliers {
    .cs-form {
        color: #1f2533;
    }

    .cs-form__section {
        border-top: 1px solid #eef1f5;
        margin-bottom: 1.75rem;
        padding-top: 1.5rem;
    }

    .cs-form__section:first-of-type {
        border-top: none;
        padding-top: 0;
    }

    .cs-form__section-head {
        align-items: center;
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        margin-bottom: 1rem;
    }

    .cs-form__heading {
        color: #2a3240;
        font-size: 1.05rem;
        font-weight: 700;
        letter-spacing: -.01em;
        margin: 0;
    }

    .cs-form__question {
        color: #6b7585;
        font-size: .9rem;
        line-height: 1.5;
        margin: .35rem 0 1rem;
    }

    .cs-form__choices {
        display: flex;
        flex-direction: column;
        gap: .75rem;
    }

    .cs-form__choice {
        align-items: center;
        cursor: pointer;
        display: inline-flex;
        font-size: .94rem;
        font-weight: 500;
    }

    .cs-form__table-wrap {
        border: 1px solid #e5e9f0;
        border-radius: 12px;
        overflow-x: auto;
    }

    .cs-form__table {
        border-collapse: collapse;
        width: 100%;
        min-width: 640px;
    }

    .cs-form__table thead th {
        background: #f6f8fb;
        color: #3a4557;
        font-size: .8rem;
        font-weight: 700;
        padding: .7rem 1rem;
        text-align: left;
        white-space: nowrap;
    }

    .cs-form__table tbody td {
        border-top: 1px solid #eef1f5;
        padding: .6rem 1rem;
        vertical-align: top;
    }

    .cs-form__table tbody tr:hover td {
        background: #fafbfd;
    }

    .cs-form__type,
    .cs-form__country {
        display: flex;
        flex-wrap: wrap;
        gap: .25rem 1rem;
        align-items: center;
    }

    .cs-form__other {
        flex-basis: 100%;
        margin-top: .5rem;
        min-width: 200px;
    }

    .cs-form__remove {
        text-align: right;
        width: 44px;
    }

    .cs-form__remove-btn {
        align-items: center;
        background: #fff;
        border: 1px solid #e5e9f0;
        border-radius: 8px;
        color: #9aa3b2;
        cursor: pointer;
        display: inline-flex;
        font-size: 1.15rem;
        height: 30px;
        justify-content: center;
        line-height: 1;
        transition: background .15s ease, color .15s ease, border-color .15s ease;
        width: 30px;
    }

    .cs-form__remove-btn:hover {
        background: #fdecef;
        border-color: #f5c6cf;
        color: #d92037;
    }

    .cs-form__empty {
        color: #9aa3b2;
        font-size: .9rem;
        margin: 1rem 0 0;
    }

    /* Radzen inputs */
    .cs-form .rz-textbox,
    .cs-form .rz-inputtext {
        background: #fff;
        border: 1px solid #dfe3ea;
        border-radius: 10px;
        color: #1f2533;
        font-size: .94rem;
        font-weight: 400;
        min-height: 40px;
        outline: none;
        padding: .5rem .85rem;
        transition: border-color .15s ease, box-shadow .15s ease;
        width: 100%;
    }

    .cs-form .rz-textbox::placeholder {
        color: #a7b0be;
    }

    .cs-form .rz-textbox:hover {
        border-color: #c3cad6;
    }

    .cs-form .rz-textbox:focus,
    .cs-form .rz-textbox.rz-state-focused {
        border-color: #0f3a5f;
        box-shadow: 0 0 0 3px rgba(15, 58, 95, .14);
    }

    .cs-form .rz-checkbox-box {
        height: 18px;
        width: 18px;
    }

    /* Add-row button */
    .cs-form .rz-button-secondary {
        border: 1px solid #dfe3ea;
        background: #fff;
        color: #1f2533;
        font-size: .9rem;
    }

    @media (max-width: 640px) {
        .cs-form__table {
            min-width: 520px;
        }
    }
}

.scope-entity-self-certification {
    .entity-form {
        color: #1f2533;
    }

    .entity-form__intro {
        color: #697386;
        font-size: .95rem;
        line-height: 1.55;
        margin: 0 0 1.5rem;
        max-width: 720px;
    }

    .entity-form__declaration {
        color: #3a4354;
        font-size: .9rem;
        line-height: 1.55;
        margin: 0;
        padding-left: 1.5rem;
    }

    .entity-form__declaration li {
        margin-bottom: .75rem;
    }

    .entity-form__signer {
        border: 1px solid #eef1f5;
        border-radius: 10px;
        margin-bottom: 1rem;
        padding: 1rem;
    }

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

    .entity-form__heading--inline {
        align-self: center;
        margin: 0;
    }

    /* Shared profiles-form styles (scoped per component) */
    .profiles-form__section {
        border-top: 1px solid #eef1f5;
        margin-bottom: 1.75rem;
        padding-top: 1.5rem;
    }

    .profiles-form__section:first-of-type {
        border-top: none;
        padding-top: 0;
    }

    .profiles-form__heading {
        color: #2a3240;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: -.01em;
        margin: 0 0 1rem;
    }

    .profiles-form__question {
        color: #6b7585;
        font-size: .88rem;
        line-height: 1.55;
        margin: 0 0 1rem;
        max-width: 640px;
    }

    .profiles-form__field {
        min-width: 0;
    }

    .profiles-form__choices {
        display: flex;
        flex-wrap: wrap;
        gap: 1.25rem 2rem;
        margin-bottom: .25rem;
    }

    .profiles-form__choice {
        align-items: center;
        cursor: pointer;
        display: inline-flex;
        font-size: .94rem;
        font-weight: 500;
    }

    .profiles-form__choice--block {
        align-items: flex-start;
        display: flex;
        line-height: 1.5;
        max-width: 720px;
    }

    .profiles-form__choice--block .rz-ms-2 {
        margin-top: .1rem;
    }

    .profiles-form__other {
        margin-top: .9rem;
        max-width: 440px;
    }

    .profiles-form__section-head {
        align-items: center;
        display: flex;
        justify-content: space-between;
        margin-bottom: .75rem;
    }

    .profiles-form__table-wrap {
        overflow-x: auto;
    }

    .profiles-form__table {
        border-collapse: collapse;
        width: 100%;
    }

    .profiles-form__table th {
        background: #0f3a5f;
        color: #fff;
        font-size: .78rem;
        font-weight: 700;
        padding: .65rem .75rem;
        text-align: left;
    }

    .profiles-form__table td {
        border-bottom: 1px solid #eef1f5;
        padding: .5rem .5rem;
        vertical-align: top;
    }

    .profiles-form__table td .rz-textbox {
        min-height: 38px;
        padding: .45rem .7rem;
    }

    .profiles-form__remove {
        text-align: center;
        width: 48px;
    }

    .profiles-form__remove-btn {
        align-items: center;
        background: transparent;
        border: none;
        color: #a7b0be;
        cursor: pointer;
        display: inline-flex;
        font-size: 1.4rem;
        justify-content: center;
        line-height: 1;
        padding: 0 .25rem;
    }

    .profiles-form__remove-btn:hover {
        color: #d92037;
    }

    .profiles-form__empty {
        color: #9aa3b2;
        font-size: .92rem;
        margin: .5rem 0 1rem;
    }

    /* Reuse the profiles-form section styling for consistency */
    .entity-form .rz-form-field {
        margin-bottom: 1rem;
        max-width: 100%;
    }

    .entity-form .rz-form-field-label,
    .entity-form .rz-form-field > label {
        color: #343d4e;
        font-size: .88rem;
        font-weight: 600;
        margin-bottom: .4rem;
    }

    .entity-form .rz-textbox,
    .entity-form .rz-textarea,
    .entity-form .rz-inputtext,
    .entity-form .rz-datepicker {
        background: #fff;
        border: 1px solid #dfe3ea;
        border-radius: 10px;
        color: #1f2533;
        font-size: .94rem;
        font-weight: 400;
        min-height: 42px;
        outline: none;
        padding: .55rem .9rem;
        transition: border-color .15s ease, box-shadow .15s ease;
        width: 100%;
    }

    .entity-form .rz-textbox::placeholder,
    .entity-form .rz-datepicker::placeholder {
        color: #a7b0be;
    }

    .entity-form .rz-textbox:hover,
    .entity-form .rz-datepicker:hover {
        border-color: #c3cad6;
    }

    .entity-form .rz-textbox:focus,
    .entity-form .rz-datepicker:focus,
    .entity-form .rz-textbox.rz-state-focused,
    .entity-form .rz-datepicker.rz-state-focused {
        border-color: #0f3a5f;
        box-shadow: 0 0 0 3px rgba(15, 58, 95, .14);
    }

    .entity-form .rz-checkbox-box {
        height: 18px;
        width: 18px;
    }

    .entity-form .validation-message,
    .entity-form .validation-summary-errors,
    .entity-form .rz-validation-message {
        color: #d92037;
        font-size: .82rem;
        font-weight: 600;
        margin: .3rem 0 0;
    }

    @media (max-width: 768px) {
        .entity-form__signer-grid {
            grid-template-columns: 1fr;
        }
    }
}

.scope-individual-profiles {
    .profiles-form {
        color: #1f2533;
    }

    .profiles-form__intro {
        color: #697386;
        font-size: .95rem;
        line-height: 1.55;
        margin: 0 0 1.5rem;
        max-width: 720px;
    }

    .profiles-form__section {
        border-top: 1px solid #eef1f5;
        margin-bottom: 1.75rem;
        padding-top: 1.5rem;
    }

    .profiles-form__section:first-of-type {
        border-top: none;
        padding-top: 0;
    }

    .profiles-form__heading {
        color: #2a3240;
        font-size: 1rem;
        font-weight: 700;
        letter-spacing: -.01em;
        margin: 0 0 1rem;
    }

    .profiles-form__question {
        color: #6b7585;
        font-size: .88rem;
        line-height: 1.55;
        margin: 0 0 1rem;
        max-width: 640px;
    }

    .profiles-form__field {
        min-width: 0;
    }

    .profiles-form__grid {
        display: grid;
        gap: 1rem;
    }

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

    .profiles-form__grid--3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .profiles-form__choices {
        display: flex;
        flex-wrap: wrap;
        gap: 1.25rem 2rem;
        margin-bottom: .25rem;
    }

    .profiles-form__choice {
        align-items: center;
        cursor: pointer;
        display: inline-flex;
        font-size: .94rem;
        font-weight: 500;
    }

    .profiles-form__choice--block {
        align-items: flex-start;
        display: flex;
        line-height: 1.5;
        max-width: 720px;
    }

    .profiles-form__choice--block .rz-ms-2 {
        margin-top: .1rem;
    }

    .profiles-form__other {
        margin-top: .9rem;
        max-width: 440px;
    }

    .profiles-form__field--mt {
        margin-top: 1rem;
    }

    .profiles-form__section-head {
        display: flex;
        justify-content: flex-end;
        margin-bottom: .75rem;
    }

    .profiles-form__table-wrap {
        overflow-x: auto;
    }

    .profiles-form__table {
        border-collapse: collapse;
        width: 100%;
    }

    .profiles-form__table th {
        background: #0f3a5f;
        color: #fff;
        font-size: .78rem;
        font-weight: 700;
        padding: .65rem .75rem;
        text-align: left;
    }

    .profiles-form__table td {
        border-bottom: 1px solid #eef1f5;
        padding: .5rem .5rem;
        vertical-align: top;
    }

    .profiles-form__table td .rz-textbox {
        min-height: 38px;
        padding: .45rem .7rem;
    }

    .profiles-form__remove {
        text-align: center;
        width: 48px;
    }

    .profiles-form__remove-btn {
        align-items: center;
        background: transparent;
        border: none;
        color: #a7b0be;
        cursor: pointer;
        display: inline-flex;
        font-size: 1.4rem;
        justify-content: center;
        line-height: 1;
        padding: 0 .25rem;
    }

    .profiles-form__remove-btn:hover {
        color: #d92037;
    }

    .profiles-form__empty {
        color: #9aa3b2;
        font-size: .92rem;
        margin: .5rem 0 1rem;
    }

    .profiles-form__grid--end {
        align-items: end;
    }

    /* Radzen form field + label styling */
    .profiles-form .rz-form-field {
        margin-bottom: 1rem;
        max-width: 100%;
    }

    .profiles-form .rz-form-field-label,
    .profiles-form .rz-form-field > label {
        color: #343d4e;
        font-size: .88rem;
        font-weight: 600;
        margin-bottom: .4rem;
    }

    /* Radzen inputs / select / textarea / datepicker */
    .profiles-form .rz-textbox,
    .profiles-form .rz-textarea,
    .profiles-form .rz-inputtext,
    .profiles-form .rz-datepicker {
        background: #fff;
        border: 1px solid #dfe3ea;
        border-radius: 10px;
        color: #1f2533;
        font-size: .94rem;
        font-weight: 400;
        min-height: 42px;
        outline: none;
        padding: .55rem .9rem;
        transition: border-color .15s ease, box-shadow .15s ease;
        width: 100%;
    }

    .profiles-form .rz-textarea {
        min-height: 88px;
        resize: vertical;
    }

    .profiles-form .rz-textbox::placeholder,
    .profiles-form .rz-textarea::placeholder,
    .profiles-form .rz-datepicker::placeholder {
        color: #a7b0be;
    }

    .profiles-form .rz-textbox:hover,
    .profiles-form .rz-textarea:hover,
    .profiles-form .rz-datepicker:hover {
        border-color: #c3cad6;
    }

    .profiles-form .rz-textbox:focus,
    .profiles-form .rz-textarea:focus,
    .profiles-form .rz-datepicker:focus,
    .profiles-form .rz-textbox.rz-state-focused,
    .profiles-form .rz-textarea.rz-state-focused,
    .profiles-form .rz-datepicker.rz-state-focused {
        border-color: #0f3a5f;
        box-shadow: 0 0 0 3px rgba(15, 58, 95, .14);
    }

    /* Checkboxes â€” larger, friendlier targets */
    .profiles-form .rz-checkbox-box {
        height: 18px;
        width: 18px;
    }

    /* Validation message styling */
    .profiles-form .validation-message,
    .profiles-form .validation-summary-errors,
    .profiles-form .rz-validation-message {
        color: #d92037;
        font-size: .82rem;
        font-weight: 600;
        margin: .3rem 0 0;
    }

    /* Field-level error state on inputs */
    .profiles-form .rz-textbox.rz-invalid,
    .profiles-form .rz-datepicker.rz-invalid,
    .profiles-form .invalid:not([type=checkbox]) {
        border-color: #d92037;
        box-shadow: 0 0 0 3px rgba(217, 32, 55, .1);
    }

    @media (max-width: 768px) {
        .profiles-form__choices {
            gap: .9rem;
        }

        .profiles-form__grid--2,
        .profiles-form__grid--3 {
            grid-template-columns: 1fr;
        }
    }
}

.scope-online-banking-options {
    .banking-options {
        display: grid;
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        gap: 1.5rem;
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
        margin-top: 1rem;
    }

    .banking-card {
        background: #fff;
        border: 1px solid #e5e9f0;
        border-radius: 12px;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
    }

    .banking-card:hover,
    .banking-card.is-selected {
        border-color: #0f3a5f;
        box-shadow: 0 8px 24px rgba(15, 58, 95, .12);
        transform: translateY(-2px);
    }

    .banking-card.is-selected {
        box-shadow: 0 10px 28px rgba(15, 58, 95, .18), 0 0 0 2px #0f3a5f;
    }

    .banking-card__title {
        align-items: center;
        background: linear-gradient(90deg, #0f3a5f, #14497a);
        color: #fff;
        cursor: pointer;
        display: flex;
        font-size: 1.05rem;
        font-weight: 700;
        gap: .6rem;
        padding: .8rem 1rem;
    }

    .banking-card__title input[type="radio"] {
        accent-color: #0f3a5f;
        height: 16px;
        width: 16px;
    }

    .banking-card__title span {
        line-height: 1.2;
    }

    .banking-card__table {
        border-collapse: collapse;
        width: 100%;
    }

    .banking-card__table thead th {
        background: #f6f8fb;
        color: #2a3240;
        font-size: .74rem;
        font-weight: 700;
        padding: .6rem .65rem;
        text-align: left;
    }

    .banking-card__table tbody td {
        border-top: 1px solid #eef1f5;
        color: #1f2533;
        font-size: .86rem;
        padding: .55rem .65rem;
    }

    .banking-card__table tbody tr:nth-child(even) td {
        background: #fafbfd;
    }

    .banking-card__table tbody td:first-child {
        font-weight: 600;
    }

    .banking-card__footnote {
        color: #6b7585;
        font-size: .76rem;
        margin: .6rem 1rem 1rem;
    }

    @media (max-width: 640px) {
        .banking-options {
            grid-template-columns: 1fr;
            gap: 1rem;
        }
    }
}

.scope-terms-and-conditions {
    .terms-form { color: #1f2533; }

    .terms-form__disclosure {
        color: #3a4354;
        font-size: .9rem;
        line-height: 1.55;
        margin: 0 0 1.25rem;
    }

    .terms-form__disclosure:last-child {
        margin-bottom: 0;
    }

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

    .terms-form__signer {
        border: 1px solid #eef1f5;
        border-radius: 10px;
        padding: 1rem;
    }

    .terms-form__signer-title {
        color: #2a3240;
        font-size: .95rem;
        font-weight: 700;
        margin: 0 0 1rem;
    }

    .terms-form__signer-title small {
        font-size: .75rem;
    }

    .terms-form__add-signer {
        display: flex;
        justify-content: flex-end;
        margin: 1rem 0;
    }

    .terms-form__witness {
        border: 1px solid #eef1f5;
        border-radius: 10px;
        margin-top: 1rem;
        padding: 1rem;
        position: relative;
    }

    .terms-form__witness-grid {
        display: grid;
        gap: 1rem 1.5rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .terms-form__witness-signature .rz-textbox {
        min-height: 64px;
    }

    .terms-form__seal {
        align-items: center;
        border: 2px solid #0f3a5f;
        border-radius: 50%;
        color: #0f3a5f;
        display: flex;
        font-size: .85rem;
        font-weight: 700;
        height: 110px;
        justify-content: center;
        margin-top: -120px;
        margin-left: auto;
        text-align: center;
        width: 110px;
    }

    .terms-form__bank-grid {
        display: grid;
        gap: 1rem 1.5rem;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .terms-form__empty {
        color: #9aa3b2;
        font-size: .92rem;
        margin: .5rem 0 1rem;
    }

    /* Radzen form field + label styling */
    .terms-form .rz-form-field {
        margin-bottom: 1rem;
        max-width: 100%;
    }

    .terms-form .rz-form-field-label,
    .terms-form .rz-form-field > label {
        color: #343d4e;
        font-size: .88rem;
        font-weight: 600;
        margin-bottom: .4rem;
    }

    .terms-form .rz-textbox,
    .terms-form .rz-inputtext,
    .terms-form .rz-textarea,
    .terms-form .rz-datepicker {
        background: #fff;
        border: 1px solid #dfe3ea;
        border-radius: 10px;
        color: #1f2533;
        font-size: .94rem;
        min-height: 42px;
        padding: .55rem .9rem;
        width: 100%;
    }

    .terms-form .rz-textarea {
        min-height: 96px;
        resize: vertical;
    }

    .terms-form .rz-textbox:focus,
    .terms-form .rz-datepicker:focus,
    .terms-form .rz-state-focused {
        border-color: #0f3a5f;
        box-shadow: 0 0 0 3px rgba(15, 58, 95, .14);
    }

    .terms-form .validation-message,
    .terms-form .validation-summary-errors {
        color: #d92037;
        font-size: .82rem;
    }

    @media (max-width: 768px) {
        .terms-form__signers-grid,
        .terms-form__witness-grid,
        .terms-form__bank-grid {
            grid-template-columns: 1fr;
        }

        .terms-form__seal {
            margin-top: 1rem;
        }
    }
}
