:root{
  --text:#e9eefc;
  --muted:rgba(233,238,252,.74);
  --line:rgba(233,238,252,.12);
  --shadow: 0 14px 46px rgba(0,0,0,.35);
  --r:18px;
  --brand1:#7c3aed;
  --brand2:#2563eb;
  --danger:#ef4444;
  --font: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}

body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  min-height:100vh;
  background:none !important;
}

/* One continuous background */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(1100px 700px at 10% -10%, rgba(124,58,237,.45), transparent 60%),
    radial-gradient(900px 600px at 90% 0%, rgba(37,99,235,.28), transparent 55%),
    radial-gradient(900px 700px at 70% 110%, rgba(34,197,94,.14), transparent 60%),
    #070d18;
  background-repeat:no-repeat;
  background-size:cover;
}

.wrap{max-width:1100px; margin:26px auto; padding:0 16px 44px;}

.topbar{
  display:flex; gap:16px; align-items:center; justify-content:space-between;
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:var(--shadow);
}

.brand{display:flex; gap:12px; align-items:center;}
.logo{
  width:44px; height:44px; border-radius:14px;
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.35), transparent 55%),
    linear-gradient(135deg, var(--brand1), var(--brand2));
  box-shadow: 0 12px 26px rgba(124,58,237,.22);
  display:flex; align-items:center; justify-content:center;
}
.logo span{font-weight:900; color:rgba(255,255,255,.92)}

h1{margin:0; font-size:18px; letter-spacing:.2px}
.brand p{margin:5px 0 0; color:var(--muted); font-size:13px}

.kpi{display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end}
.pill{
  display:inline-flex; align-items:center;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  font-size:12px;
  color:var(--muted);
}

.grid{
  margin-top:14px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
@media (max-width: 920px){ .grid{grid-template-columns:1fr;} }

.card{
  border:1px solid var(--line);
  border-radius:var(--r);
  background:linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: 0 12px 28px rgba(0,0,0,.28);
  overflow:hidden;
}

.hd{padding:14px 14px 10px;}
.hd h2{margin:0; font-size:16px}
.sub{margin-top:6px; color:var(--muted); font-size:12.5px; line-height:1.35}

.bd{padding:12px 14px 14px;}

.label{
  display:block;
  font-size:12px;
  color:rgba(233,238,252,.86);
  margin:10px 0 8px;
  font-weight:800
}

.textarea{
  width:100%;
  min-height:140px;
  resize:vertical;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:var(--text);
  outline:none;
  line-height:1.4;
}
.textarea::placeholder{color:rgba(233,238,252,.52)}
.textarea:focus{
  border-color: rgba(124,58,237,.55);
  box-shadow:0 0 0 2px rgba(124,58,237,.22);
}

.row{display:flex; gap:10px; flex-wrap:wrap; margin-top:10px}
.field{flex:1; min-width:180px}

.select{
  width:100%;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:var(--text);
  outline:none;
}

/* Dropdown visibility fix */
.select option{
  background-color:#0f1a2f;
  color:#e9eefc;
}

.select:focus{
  border-color: rgba(124,58,237,.55);
  box-shadow:0 0 0 2px rgba(124,58,237,.22);
}

.actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}

.btn{
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:rgba(233,238,252,.95);
  padding:10px 12px;
  border-radius:14px;
  cursor:pointer;
  font-weight:900;
  font-size:13px;
  transition: transform .08s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{transform: translateY(-1px); background:rgba(255,255,255,.07)}
.btn:active{transform: translateY(0px)}
.btn.primary{border:none; background:linear-gradient(135deg, var(--brand1), var(--brand2));}
.btn.danger{border:1px solid rgba(239,68,68,.35); background:rgba(239,68,68,.12);}

.micro{
  margin-top:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.03);
  font-size:12px;
  color:rgba(233,238,252,.80);
  line-height:1.35;
}

.out{
  min-height:220px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
  color:rgba(233,238,252,.93);
  white-space:pre-wrap;
  line-height:1.45;
}

.small{margin-top:12px; color:rgba(233,238,252,.70); font-size:12px;}

.footer{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.foot-left{display:flex; align-items:center; gap:10px; color:rgba(233,238,252,.76); font-size:12px}
.dot{
  width:9px; height:9px; border-radius:999px;
  background:linear-gradient(135deg, #22c55e, #34d399);
  box-shadow:0 8px 18px rgba(34,197,94,.18);
}
.foot-link{
  color:rgba(233,238,252,.92);
  text-decoration:none;
  font-weight:900;
  font-size:13px;
}
.foot-link:hover{text-decoration:underline}

/* Stripe CTA */
.stripeCta{
  margin-top: 16px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}
.stripeCta__title{font-weight:1000; font-size:14px}
.stripeCta__sub{margin-top:4px; font-size:12px; color:rgba(233,238,252,.72)}
.stripeBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.92);
  text-decoration:none;
  font-weight:1000;
  font-size:13px;
  transition: transform .08s ease, background .15s ease;
}
.stripeBtn.primary{
  border:none;
  background: linear-gradient(135deg, var(--brand1), var(--brand2));
}
.stripeBtn:hover{transform:translateY(-1px)}
.stripeBtn:active{transform:translateY(0)}

/* SEO helper block */
.seoBlock{
  margin-top: 18px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}
.seoBlock h2{
  margin:0 0 10px;
  font-size:14px;
}
.seoBlock p{
  margin:0 0 10px;
  font-size:12.5px;
  color: rgba(233,238,252,.74);
  line-height:1.5;
}
.seoBlock p:last-child{margin-bottom:0}

/* Toast */
.toast{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  background:rgba(15,26,47,.92);
  border:1px solid var(--line);
  color:var(--text);
  padding:10px 12px;
  border-radius:999px;
  font-size:13px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
  box-shadow:var(--shadow);
}
.toast.show{
  opacity:1;
  transform:translateX(-50%) translateY(-2px);
}
