*{box-sizing:border-box;margin:0;padding:0}
body{background:#0a0a0f;color:#f2f2f5;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;min-height:100vh}
a{color:#12c2e9;text-decoration:none}
.wrap{max-width:640px;margin:0 auto;padding:50px 24px}
h1{font-size:28px;font-weight:800;margin-bottom:10px}
p.sub{color:#a9a9b8;margin-bottom:30px}
.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:30px}
.plan-card{background:#12121a;border:2px solid #22222c;border-radius:14px;padding:22px;cursor:pointer;transition:border-color .15s}
.plan-card:hover,.plan-card.selected{border-color:#ff2d6b}
.plan-card h3{font-size:18px;margin-bottom:6px}
.plan-card .price{font-size:26px;font-weight:800;margin:10px 0}
.plan-card .price span{font-size:13px;font-weight:400;color:#7a7a88}
.plan-card p{font-size:13px;color:#9a9aab}
label{display:block;font-size:13px;color:#9a9aab;margin:14px 0 6px}
input[type=text],input[type=email],input[type=tel]{
  width:100%;padding:12px 14px;border-radius:8px;border:1px solid #2a2a36;background:#12121a;color:#f2f2f5;font-size:15px}
.btn{display:inline-block;padding:14px 28px;border-radius:10px;font-weight:700;font-size:15px;border:none;cursor:pointer;background:#ff2d6b;color:#fff;width:100%;margin-top:24px}
.card{background:#12121a;border:1px solid #22222c;border-radius:14px;padding:26px;margin-bottom:20px}
.status-badge{display:inline-block;padding:5px 14px;border-radius:20px;font-size:13px;font-weight:600}
.status-active{background:rgba(45,212,167,.15);color:#2dd4a7}
.status-past_due{background:rgba(230,184,0,.15);color:#e6b800}
.status-canceled{background:rgba(229,72,77,.15);color:#e5484d}
.status-pending{background:rgba(230,184,0,.15);color:#e6b800}
.status-trialing{background:rgba(18,194,233,.15);color:#12c2e9}
.error-box{background:rgba(229,72,77,.12);border:1px solid #e5484d;color:#f2f2f5;padding:14px;border-radius:8px;margin-bottom:20px;font-size:14px}
.center{text-align:center}
