.plm-form { max-width: 640px; margin: 32px auto; padding: 26px 24px; border-radius: 20px; background: radial-gradient(circle at top left,#eef2ff 0,#ffffff 40%,#f9fafb 100%); box-shadow: 0 22px 55px rgba(15,23,42,0.14); border: 1px solid #e2e8f0; font-family: "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif; font-size:16px; color:#0f1724; position:relative; overflow:hidden }
.plm-form::before{
    content:"";
    position:absolute;
    inset:-40%;
    background:radial-gradient(circle at 0 0,rgba(59,130,246,0.14),transparent 60%);
    opacity:.8;
    pointer-events:none;
}
.plm-form > *{position:relative;z-index:1}
.plm-form h2{font-size:22px;margin-bottom:16px;color:#0f1724;font-weight:700}
.plm-form .plm-row{display:grid;grid-template-columns:1fr;gap:12px}
.plm-form input, .plm-form select, .plm-form button { width: 100%; margin-bottom: 8px; padding: 12px 14px; border-radius: 12px; border: 1px solid #e2e8f0; background:#f9fafb; box-sizing: border-box; font-size:15px; color:#0f1724; transition:border-color .14s ease, box-shadow .14s ease, background-color .14s ease }
.plm-form input::placeholder, .plm-form select::placeholder{color:#9ca3af}
.plm-form input:focus, .plm-form select:focus { outline: none; box-shadow: 0 0 0 3px rgba(37,99,235,0.18); border-color:#2563eb; background:#ffffff }
.plm-form button { background: linear-gradient(135deg,#2563eb,#1d4ed8); color: #fff; border: none; cursor: pointer; font-weight: 700; padding: 12px 16px; border-radius: 999px; display:inline-flex; align-items:center; justify-content:center; gap:8px; box-shadow:0 12px 30px rgba(37,99,235,0.35); transition: background .14s ease, transform .08s ease, box-shadow .14s ease }
.plm-form button:hover{ background:linear-gradient(135deg,#1d4ed8,#1e40af); transform: translateY(-1px); box-shadow:0 16px 40px rgba(30,64,175,0.4) }
.plm-form button:active{transform:translateY(0);box-shadow:0 10px 24px rgba(30,64,175,0.3)}
.plm-message { padding: 12px; margin-bottom: 12px; border-radius: 8px; font-weight:600 }
.plm-success { background: #e6fff2; color: #044e33; border: 1px solid #c9f1dc }
.plm-error { background: #fff0f2; color: #7a1730; border: 1px solid #ffd2da }

.plm-form .plm-price{font-size:18px;color:#0b63a3;font-weight:700}


.plm-success-page {
    max-width: 520px;
    margin: 48px auto;
    padding: 32px 28px 30px;
    background: radial-gradient(circle at top left,#ecfeff 0,#eff6ff 38%,#ffffff 100%);
    border-radius: 22px;
    border: 1px solid #bfdbfe;
    box-shadow: 0 24px 55px rgba(15,23,42,0.22);
    text-align: center;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    position:relative;
    overflow:hidden;
}
.plm-success-page::before{
    content:"";
    position:absolute;
    width:160px;
    height:160px;
    border-radius:999px;
    background:conic-gradient(from 180deg at 50% 50%,rgba(34,197,94,0.22),rgba(59,130,246,0.18),transparent 70%);
    top:-60px;
    right:-40px;
    filter:blur(1px);
    opacity:.85;
}
.plm-success-page::after{
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at bottom,rgba(59,130,246,0.04),transparent 55%);
    pointer-events:none;
}

.plm-success-page h2 {
    color: #1d4ed8;
    font-size: 26px;
    margin-bottom: 18px;
    font-weight:800;
}

.plm-success-page p {
    color: #333;
    font-size: 16px;
    margin-bottom: 20px;
}

.plm-license-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.plm-license-key {
    background: #eff6ff;
    border: 1px dashed #2563eb;
    padding: 14px 22px;
    border-radius: 12px;
    font-weight: 600;
    font-size: 18px;
    word-break: break-all;
    width: 100%;
    text-align: center;
}

.plm-copy-btn {
    padding: 10px 26px;
    background: linear-gradient(135deg,#2563eb,#1d4ed8);
    color: #fff;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 15px;
    transition: 0.3s background;
    text-decoration: none;
}

.plm-copy-btn:hover {
    background: linear-gradient(135deg,#1d4ed8,#1e40af);
}

/* Error page styling (for failed payments) */
.plm-error-page{
    background:radial-gradient(circle at top left,#fef2f2 0,#fff7ed 38%,#ffffff 100%);
    border-color:#fecaca;
}
.plm-error-page h2{color:#b91c1c}
.plm-error-page p{color:#7f1d1d}

/* Responsive */
@media (max-width: 500px) {
    .plm-success-page {
        padding: 20px;
    }

    .plm-license-key {
        font-size: 16px;
        padding: 10px 15px;
    }

    .plm-copy-btn {
        font-size: 14px;
        padding: 8px 20px;
    }
}

@media (max-width:640px){
    .plm-form{padding:18px 16px;font-size:15px;margin:20px auto;border-radius:14px}
}
