    .contract-shell {
        background: #f5f7fb;
        min-height: 100vh;
    }

    .contract-card {
        border: 1px solid #dce5ef;
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 10px 26px rgba(10, 33, 56, .06);
    }

    .contract-title {
        color: #0d2b4e;
    }

    .contract-section-title {
        font-size: 1.05rem;
        font-weight: 700;
        color: #0d2b4e;
        margin-bottom: 4px;
    }

    .contract-section-subtitle {
        color: #5b6f82;
        margin-bottom: 14px;
    }

    .contract-subtle-divider {
        border: 0;
        border-top: 1px solid #e8eef5;
        margin: 22px 0;
    }

    .contract-feedback {
        display: none;
        border-radius: 12px;
    }

    .contract-installments-group.is-hidden,
    .contract-summary-row.is-hidden {
        display: none;
    }

    .contract-summary-row {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 0;
        border-bottom: 1px solid #eef3f8;
        color: #2d4054;
    }

    .contract-summary-row strong {
        color: #0f2947;
    }

    .contract-summary-row:last-child {
        border-bottom: 0;
    }

    .contract-summary-total strong {
        font-size: 1.2rem;
    }

    .contract-summary-note {
        background: #f6f9fd;
        border: 1px solid #e4ecf5;
        border-radius: 12px;
        color: #48607a;
        padding: 12px;
        margin-top: 12px;
        font-size: .92rem;
    }

    .contract-submit-wrap {
        margin-top: 20px;
        margin-bottom: 10px;
    }

    .contract-voucher-toggle-btn {
        border: 0;
        background: transparent;
        color: #3f5f82;
        font-weight: 500;
        padding: 0;
        text-decoration: underline;
        text-decoration-style: dotted;
        text-underline-offset: 2px;
    }

    .contract-voucher-toggle-btn:hover,
    .contract-voucher-toggle-btn:focus-visible {
        color: #20466f;
    }

    .contract-voucher-panel {
        margin-top: 10px;
        padding: 12px;
        border: 1px solid #e5edf6;
        border-radius: 12px;
        background: #f8fbff;
    }

    .contract-voucher-panel.is-hidden {
        display: none;
    }

    .contract-voucher-input {
        max-width: 360px;
    }

    .contract-credit-card-fields {
        margin-top: 8px;
        padding: 14px;
        border: 1px solid #e5edf6;
        border-radius: 12px;
        background: #f8fbff;
    }

    .contract-credit-card-fields.is-hidden {
        display: none;
    }

    .contract-card-sensitive-input {
        letter-spacing: .3px;
    }

    .contract-turnstile-feedback {
        color: #556b86;
    }

    .contract-payment-hint {
        color: #5f7590;
        font-size: .88rem;
        margin-top: 6px;
    }

    .contract-submit-loading {
        position: fixed;
        inset: 0;
        background: rgba(15, 34, 56, .35);
        z-index: 1060;
        display: none;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }

    .contract-submit-loading.is-active {
        display: flex;
    }

    .contract-submit-loading-box {
        width: min(360px, 100%);
        background: #fff;
        border: 1px solid #d6e1ef;
        border-radius: 14px;
        box-shadow: 0 12px 30px rgba(15, 34, 56, .18);
        padding: 18px 18px 16px;
        color: #17345a;
    }

    .contract-submit-loading-row {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .contract-submit-loading-spinner {
        width: 22px;
        height: 22px;
        border-radius: 50%;
        border: 2px solid #c0d2e6;
        border-top-color: #1f4f82;
        animation: contract-submit-spin .8s linear infinite;
        flex: 0 0 auto;
    }

    .contract-submit-loading-note {
        margin: 8px 0 0;
        color: #5f7590;
        font-size: .9rem;
    }

    @keyframes contract-submit-spin {
        to {
            transform: rotate(360deg);
        }
    }
