  body {
                        font-family: 'Inter', sans-serif;
                    }

                    /* Glassmorphism Card */
                    .glass-box {
                        max-width: 650px;
                        margin: 40px auto;
                        padding: 35px;
                        border-radius: 25px;
                        backdrop-filter: blur(18px);
                        background: rgba(255, 255, 255, 0.25);
                        border: 1px solid rgba(255, 255, 255, 0.35);
                        box-shadow: 0 25px 45px rgba(0,0,0,0.15);
                        animation: fadeIn 0.7s ease;
                        position: relative;
                        overflow: visible !important;
                    }

                    @keyframes fadeIn {
                        from {opacity: 0; transform: translateY(20px);}
                        to {opacity: 1; transform: translateY(0);}
                    }

                    .billing-title {
                        font-size: 28px;
                        font-weight: 700;
                        color: #1f2937;
                        margin-bottom: 20px;
                        text-align: center;
                        letter-spacing: -0.5px;
                    }

                    .label-premium {
                        font-weight: 600;
                        margin-bottom: 6px;
                        color: #374151;
                        display: block;
                    }

                    /* Flex container */
                    .flex-row {
                        display: flex;
                        gap: 15px;
                        margin-bottom: 20px;
                    }

                    /* Stripe Elements Premium */
                    .StripeElement {
                        padding: 12px;
                        border-radius: 12px;
                        background: #ffffff;
                        border: 1px solid rgba(200,200,200,0.8);
                        min-height: 50px;
                        transition: all .25s ease;
                        position: relative !important;
                        z-index: 99 !important;
                        pointer-events: auto !important;
                        backdrop-filter: none !important;
                    }

                    .StripeElement--focus {
                        border-color: #6366f1 !important;
                        box-shadow: 0 0 10px rgba(99,102,241,0.4);
                        background: #ffffff;
                    }

                    /* Card Icons Row */
                    .card-icons {
                        display: flex;
                        justify-content: flex-end;
                        gap: 10px;
                        margin-bottom: 10px;
                    }

                    .card-icons img {
                        width: 42px;
                        opacity: 0.7;
                        transition: 0.2s;
                    }

                    .card-icons img:hover {
                        opacity: 1;
                    }

                    /* Error text */
                    #card-errors {
                        margin-top: 6px;
                        color: #ef4444;
                        font-size: 14px;
                    }

                    /* Premium Animated Button */
                    .premium-btn {
                        width: 100%;
                        padding: 15px;
                        background: linear-gradient(135deg, #6d28d9, #4f46e5);
                        border: none;
                        border-radius: 14px;
                        font-size: 18px;
                        font-weight: 600;
                        color: #fff;
                        cursor: pointer;
                        transition: all .25s ease;
                        box-shadow: 0 8px 25px rgba(79,70,229,.35);
                        margin-top: 15px;
                    }

                    .premium-btn:hover {
                        transform: translateY(-3px);
                        box-shadow: 0 12px 32px rgba(79,70,229,.50);
                    }

                    .premium-btn:disabled {
                        opacity: 0.5;
                        cursor: not-allowed;
                        transform: none;
                        box-shadow: none;
                    }

                    .payment-table-container {
        margin-top: 40px;
    }

    .payment-table-title {
        font-size: 22px;
        font-weight: 700;
        color: #1f2937;
        margin-bottom: 15px;
        text-align: left;
    }

    .payment-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 12px;
    }

    .payment-row {
        background: rgba(255,255,255,0.75);
        backdrop-filter: blur(10px);
        border-radius: 14px;
        box-shadow: 0 4px 16px rgba(0,0,0,0.08);
        transition: 0.25s ease;
    }

    .payment-row:hover {
        transform: translateY(-2px);
        box-shadow: 0 10px 25px rgba(0,0,0,0.12);
    }

    .payment-cell {
        padding: 16px 20px;
        vertical-align: middle;
        font-size: 15px;
        color: #374151;
    }

    .pm-brand {
        display: flex;
        align-items: center;
        gap: 8px;
        font-weight: 600;
        text-transform: capitalize;
    }

    .pm-brand img {
        width: 32px;
        height: 20px;
        object-fit: contain;
    }

    .pm-default-badge {
        background: #d1fae5;
        color: #065f46;
        padding: 4px 10px;
        border-radius: 8px;
        font-size: 13px;
        font-weight: 600;
    }

    .pm-action-btn {
        background: #eef2ff;
        color: #4f46e5;
        padding: 6px 14px;
        border-radius: 10px;
        font-size: 14px;
        border: none;
        cursor: pointer;
        transition: 0.2s ease;
    }

    .pm-action-btn:hover {
        background: #e0e7ff;
    }

    .pm-delete-btn {
        background: #fee2e2;
        color: #dc2626;
        padding: 6px 14px;
        border-radius: 10px;
        border: none;
        font-size: 14px;
        cursor: pointer;
        transition: 0.2s ease;
    }

    .pm-delete-btn:hover {
        background: #fecaca;
    }

    /* Empty message */
    .empty-payment-message {
        text-align: center;
        color: #6b7280;
        padding: 25px;
        font-size: 16px;
    }

    .toast {
    min-width: 280px;
    border-radius: 12px;
    overflow: hidden;
    animation: slideUp .25s ease;
}

@keyframes slideUp {
    from { transform: translateY(15px); opacity: 0 }
    to { transform: translateY(0); opacity: 1 }
}

.toast-icon {
    font-size: 16px;
    margin-right: 8px;
}

.toast-progress {
    height: 3px;
    width: 100%;
    animation: progress linear forwards;
}

@keyframes progress {
    from { width: 100%; }
    to { width: 0%; }
}

/* 📱 Mobile full width */
@media (max-width: 576px) {
    #toastWrapper {
        left: 0;
        right: 0;
        bottom: 0;
    }

    .toast {
        width: 100%;
    }
}