* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Space Grotesk', 'Segoe UI', system-ui, -apple-system, sans-serif; color: #1E293B; line-height: 1.7; background: #FAFAFA; }
.container { max-width: 720px; margin: 0 auto; padding: 60px 32px 80px; }
h1 { font-size: 28px; font-weight: 800; margin-bottom: 8px; }
.subtitle { font-size: 13px; color: #64748B; margin-bottom: 40px; }
h2 { font-size: 18px; font-weight: 700; margin: 32px 0 12px; color: #334155; }
p, li { font-size: 14px; color: #475569; margin-bottom: 8px; }
.muted-note { font-size: 13px; color: #64748B; }
ul { padding-left: 24px; margin-bottom: 16px; }
li { margin-bottom: 4px; }
a { color: #0271c7; }
.back { display: inline-block; margin-bottom: 24px; font-size: 13px; color: #64748B; text-decoration: none; }
.back:hover { color: #1E293B; }
.footer { text-align: center; margin-top: 48px; font-size: 12px; color: #94A3B8; }
.payment-logos { display: block; width: 100%; max-width: 320px; height: auto; margin: 18px auto 0; }
form { background: #FFFFFF; border: 1px solid #E2E8F0; border-radius: 12px; padding: 28px; margin-top: 16px; }
label { display: block; font-size: 13px; font-weight: 600; color: #334155; margin-bottom: 4px; margin-top: 14px; }
label.required::after { content: " *"; color: #EF4444; }
input, textarea { width: 100%; padding: 10px 12px; border: 1px solid #E2E8F0; border-radius: 8px; font-size: 14px; font-family: inherit; background: #FAFAFA; color: #1E293B; }
input:focus, textarea:focus { outline: none; border-color: #0271c7; background: #FFFFFF; }
textarea { min-height: 120px; resize: vertical; }
.cta-btn { display: inline-block; margin-top: 20px; padding: 8px 16px; background: #FFFFFF; color: #0271c7; border-radius: 6px; text-decoration: none; font-weight: 600; font-size: 14px; border: 1px solid #0271c7; cursor: pointer; font-family: inherit; transition: background 0.15s; }
.cta-btn:hover { background: #F0F9FF; }
.cta-btn:disabled { background: #F8FAFC; color: #94A3B8; border-color: #CBD5E1; cursor: not-allowed; }
.status { margin-top: 16px; padding: 12px 16px; border-radius: 8px; font-size: 13px; display: none; }
.status.show { display: block; }
.status.ok { background: #DCFCE7; border: 1px solid #86EFAC; color: #166534; }
.status.err { background: #FEE2E2; border: 1px solid #FCA5A5; color: #991B1B; }
