    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    
    body {
        background: linear-gradient(135deg, #f7f7f7 0%, #eaeaea 100%);
        font-family: 'Ubuntu', 'Segoe UI', Arial, sans-serif;
        min-height: 100vh;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 20px;
    }

    .centered {
        width: 100%;
        max-width: 450px;
        margin: auto;
    }

    .payment-box {
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 4px 24px rgba(0,0,0,0.08);
        padding: 32px;
        width: 100%;
        text-align: left;
    }

    .amount {
        font-size: 1.5em;
        font-weight: 700;
        margin-bottom: 8px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        color: #1a1a1a;
    }

    .id {
        color: #666;
        font-size: 0.95em;
        margin-bottom: 24px;
        letter-spacing: 0.5px;
    }

    label {
        font-size: 0.95em;
        margin-bottom: 6px;
        display: block;
        color: #333;
        font-weight: 500;
    }

    input[type = "text"], input[type = "number"] {
        width: 100%;
        padding: 12px 16px;
        margin-bottom: 16px;
        border: 2px solid #eee;
        border-radius: 8px;
        font-size: 1em;
        background: #fff;
        font-family: 'Ubuntu', sans-serif;
        transition: border-color 0.2s;
    }

    input[type = "text"]:focus, input[type = "number"]:focus {
        outline: none;
        border-color: #333;
    }

    .input-hint {
        font-size: 0.8em;
        color: #666;
        margin-top: -12px;
        margin-bottom: 12px;
        display: none;
    }

    .input-hint.show {
        display: block;
    }

    .row {
        display: flex;
        gap: 16px;
        margin-bottom: 16px;
    }

    .time {
        color: #666;
        font-size: 0.95em;
        margin-top: 16px;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .bottom-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-top: 16px;
    }

    .pay-btn {
        background: linear-gradient(135deg, #1a1a1a 0%, #333 100%);
        color: #fff;
        border: none;
        border-radius: 8px;
        padding: 10px 24px;
        font-size: 1em;
        cursor: pointer;
        transition: transform 0.2s, box-shadow 0.2s;
        font-family: 'Ubuntu', sans-serif;
        font-weight: 500;
        position: relative;
    }

    .pay-btn:hover:not(:disabled) {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

    .pay-btn:disabled {
        opacity: 0.7;
        cursor: not-allowed;
        background: linear-gradient(135deg, #555 0%, #777 100%);
    }

    .loader {
        display: none;
        width: 16px;
        height: 16px;
        border: 2px solid rgba(255, 255, 255, 0.3);
        border-radius: 50%;
        border-top-color: #fff;
        animation: spin 1s ease-in-out infinite;
        margin-left: 8px;
    }

    .loader.active {
        display: inline-block;
    }

    @keyframes spin {
        to { 
            transform: rotate(360deg); 
        }
    }

    @media (max-width: 480px) {
        .payment-box {
            padding: 24px;
        }

        .amount {
            font-size: 1.3em;
        }

        .row {
            flex-direction: column;
            gap: 8px;
        }

        input[type = "text"], input[type = "number"] {
            padding: 10px 14px;
        }

        .bottom-row {
            flex-direction: column;
            gap: 16px;
        }

        .pay-btn {
            width: 100%;
        }
    }