.continue-payment-shell {
    max-width: 920px;
    margin: 0 auto 32px;
}

.continue-payment-card {
    overflow: hidden;
    border: 1px solid #d8dee6;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(31, 41, 55, 0.08);
}

.continue-payment-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 32px;
    border-bottom: 1px solid #e4e8ef;
    background: #f7f9fb;
}

.continue-payment-kicker {
    margin-bottom: 6px;
    color: #1f8f45;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.continue-payment-header h2 {
    margin: 0;
    color: #1f2933;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.25;
}

.continue-payment-header p {
    max-width: 560px;
    margin: 8px 0 0;
    color: #637083;
    font-size: 0.95rem;
    line-height: 1.45;
}

.continue-payment-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #d9e2ec;
    border-radius: 6px;
    background: #ffffff;
    color: #344054;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

.continue-payment-status i {
    color: #1f8f45;
}

.continue-payment-body {
    padding: 30px 32px 32px;
}

.continue-status-stack {
    display: grid;
    gap: 12px;
    margin-bottom: 16px;
}

.status-panel {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 68px;
    padding: 14px 16px;
    border: 1px solid #dde3eb;
    border-left-width: 4px;
    border-radius: 6px;
    background: #ffffff;
}

.status-panel .status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #edf2f7;
    color: #4a5568;
}

.status-panel .status-title {
    color: #1f2933;
    font-weight: 700;
    line-height: 1.25;
}

.status-panel .status-message {
    margin-top: 2px;
    color: #637083;
    font-size: 0.9rem;
    line-height: 1.35;
}

.status-loading {
    border-left-color: #718096;
}

.status-success {
    border-left-color: #1f9d55;
}

.status-success .status-icon {
    background: #e3f8ec;
    color: #168a45;
}

.status-error {
    border-left-color: #dc3545;
}

.status-error .status-icon {
    background: #fde8eb;
    color: #c82333;
}

.status-waiting {
    border-left-color: #f0ad00;
}

.status-waiting .status-icon {
    background: #fff7d6;
    color: #a66a00;
}

.lookup-summary {
    margin-bottom: 20px;
    padding: 12px 14px;
    border: 1px solid #dce5ef;
    border-radius: 6px;
    background: #f9fbfd;
    color: #536579;
    font-size: 0.92rem;
    line-height: 1.4;
}

.continue-payment-form {
    margin: 0;
}

.continue-payment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.continue-field .form-group {
    margin-bottom: 0;
}

.continue-field label {
    margin-bottom: 7px;
    color: #1f2933;
    font-weight: 700;
}

.continue-field .form-control {
    height: 44px;
    border-color: #cfd8e3;
    border-radius: 6px;
    color: #1f2933;
}

.continue-field .form-control:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.15rem rgba(40, 167, 69, 0.18);
}

.continue-field .form-control[readonly] {
    background: #eef2f6;
}

.continue-payment-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 28px;
}

.continue-payment-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 104px;
    height: 42px;
    border-radius: 6px;
    line-height: 1;
}

@media (max-width: 767.98px) {
    .continue-payment-shell {
        margin-bottom: 20px;
    }

    .continue-payment-header {
        align-items: flex-start;
        flex-direction: column;
        padding: 22px;
    }

    .continue-payment-body {
        padding: 22px;
    }

    .continue-payment-grid {
        grid-template-columns: 1fr;
    }

    .continue-payment-actions {
        flex-direction: column-reverse;
        align-items: stretch;
    }

    .continue-payment-actions .btn {
        width: 100%;
    }
}

.payment-add-shell {
    max-width: 980px;
    margin: 0 auto 32px;
}

.payment-add-card {
    overflow: hidden;
    border: 1px solid #d8dee6;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(31, 41, 55, 0.08);
}

.payment-add-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 32px;
    border-bottom: 1px solid #e4e8ef;
    background: #f7f9fb;
}

.payment-add-kicker {
    margin-bottom: 6px;
    color: #1f8f45;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
}

.payment-add-header h2 {
    margin: 0;
    color: #1f2933;
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.25;
}

.payment-add-header p {
    max-width: 560px;
    margin: 8px 0 0;
    color: #637083;
    font-size: 0.95rem;
    line-height: 1.45;
}

.payment-add-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid #d9e2ec;
    border-radius: 6px;
    background: #ffffff;
    color: #344054;
    font-size: 0.9rem;
    font-weight: 600;
    white-space: nowrap;
}

.payment-add-form {
    margin: 0;
}

.payment-add-body {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 18px;
    row-gap: 16px;
    padding: 30px 32px;
}

.payment-grid-service-title {
    grid-column: 1;
    grid-row: 1;
}

.payment-grid-applicant-title {
    grid-column: 2 / span 2;
    grid-row: 1;
}

.payment-col-service {
    grid-column: 1;
}

.payment-col-applicant-a {
    grid-column: 2;
}

.payment-col-applicant-b {
    grid-column: 3;
}

.payment-row-service {
    grid-row: 2;
}

.payment-row-exam {
    grid-row: 3;
}

.payment-row-amount {
    grid-row: 4;
}

.payment-add-section-title {
    margin: 0;
    color: #1f2933;
    font-size: 1rem;
    font-weight: 700;
}

.payment-add-section .form-group,
.payment-add-grid .form-group,
.payment-grid-item .form-group {
    margin-bottom: 0;
}

.payment-add-section label,
.payment-add-grid label,
.payment-grid-item label {
    margin-bottom: 7px;
    color: #1f2933;
    font-weight: 700;
}

.payment-add-section .form-control,
.payment-add-grid .form-control,
.payment-grid-item .form-control,
.payment-add-section .select2-container--default .select2-selection--single,
.payment-add-grid .select2-container--default .select2-selection--single,
.payment-grid-item .select2-container--default .select2-selection--single {
    min-height: 44px;
    border-color: #cfd8e3;
    border-radius: 6px;
    color: #1f2933;
}

.payment-add-section .select2-container--default .select2-selection--single .select2-selection__rendered,
.payment-add-grid .select2-container--default .select2-selection--single .select2-selection__rendered,
.payment-grid-item .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 44px;
}

.payment-add-section .select2-container--default .select2-selection--single .select2-selection__arrow,
.payment-add-grid .select2-container--default .select2-selection--single .select2-selection__arrow,
.payment-grid-item .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 44px;
}

.payment-add-section .form-control:focus,
.payment-add-grid .form-control:focus,
.payment-grid-item .form-control:focus {
    border-color: #28a745;
    box-shadow: 0 0 0 0.15rem rgba(40, 167, 69, 0.18);
}

.payment-amount-panel {
    display: block;
    min-height: 74px;
    margin: 0;
    padding: 14px 16px;
    border: 1px solid #dce5ef;
    border-left: 4px solid #28a745;
    border-radius: 6px;
    background: #f9fbfd;
}

.payment-amount-label {
    margin-bottom: 4px;
    color: #637083;
    font-size: 0.82rem;
    font-weight: 700;
    text-transform: uppercase;
}

.payment-amount-panel p {
    margin: 0;
    color: #1f2933;
    font-size: 0.95rem;
    line-height: 1.35;
}

.payment-add-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.payment-add-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 18px 32px;
    border-top: 1px solid #e4e8ef;
    background: #f7f9fb;
}

.payment-add-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 104px;
    height: 42px;
    border-radius: 6px;
    line-height: 1;
}

@media (max-width: 991.98px) {
    .payment-add-body {
        grid-template-columns: 1fr;
    }

    .payment-grid-service-title,
    .payment-grid-applicant-title,
    .payment-col-service,
    .payment-col-applicant-a,
    .payment-col-applicant-b,
    .payment-row-service,
    .payment-row-exam,
    .payment-row-amount {
        grid-column: auto;
        grid-row: auto;
    }

    .payment-grid-service-title {
        order: 1;
    }

    .payment-col-service.payment-row-service {
        order: 2;
    }

    .payment-col-service.payment-row-exam {
        order: 3;
    }

    .payment-col-service.payment-row-amount {
        order: 4;
    }

    .payment-grid-applicant-title {
        order: 5;
    }

    .payment-col-applicant-a.payment-row-service {
        order: 6;
    }

    .payment-col-applicant-b.payment-row-service {
        order: 7;
    }

    .payment-col-applicant-a.payment-row-exam {
        order: 8;
    }

    .payment-col-applicant-b.payment-row-exam {
        order: 9;
    }

    .payment-col-applicant-a.payment-row-amount {
        order: 10;
    }
}

@media (max-width: 767.98px) {
    .payment-add-shell {
        margin-bottom: 20px;
    }

    .payment-add-header {
        align-items: flex-start;
        flex-direction: column;
        padding: 22px;
    }

    .payment-add-body {
        padding: 22px;
    }

    .payment-add-grid {
        grid-template-columns: 1fr;
    }

    .payment-add-actions {
        flex-direction: column-reverse;
        align-items: stretch;
        padding: 18px 22px;
    }

    .payment-add-actions .btn {
        width: 100%;
    }
}
