:root{
  --bg:#071033; /* dark blue */
  --card:#071f3a;
  --accent:#1e90ff;
  --muted:#94a3b8;
  --success:#10b981; /* green gains */
  --danger:#ef4444; /* red withdrawals */
  --text:#ffffff;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:linear-gradient(180deg,var(--bg),#041027);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  display:flex;
  flex-direction:column;
  min-height:100vh;
  padding:20px;
  gap:16px;
}

/* Top bar */
.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  max-width:1100px;
  width:100%;
  margin:0 auto;
}
.logo{
  font-weight:700;
  font-size:18px;
  color:var(--text);
  background:linear-gradient(90deg,#0ea5e9,#60a5fa);
  padding:8px 12px;
  border-radius:10px;
  box-shadow:0 6px 18px rgba(2,6,23,0.6);
}
.top-actions{display:flex;gap:8px}
.pill{
  background:var(--success);
  color:#04202a;
  border-radius:999px;
  padding:10px 14px;
  border:0;
  cursor:pointer;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
  box-shadow:0 4px 10px rgba(2,6,23,0.4);
}
.pill.outline{
  background:transparent;
  border:1px solid rgba(255,255,255,0.12);
  color:var(--text);
  padding:10px 14px;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

/* Main hero */
.hero{display:flex;gap:20px;max-width:1100px;width:100%;margin:0 auto;align-items:flex-start}
.center{width:100%}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01));
  border-radius:12px;
  box-shadow:0 8px 30px rgba(2,6,23,0.6);
  padding:20px;
  color:var(--text);
}
.left{flex:1;min-width:280px}
.right{width:360px}

/* Plan block */
.plan{display:flex;flex-direction:column;gap:6px;margin:12px 0}
.rate{font-size:28px;font-weight:800}
.rate span{font-size:14px;font-weight:600;color:var(--muted)}
.min{font-size:13px;color:var(--muted)}
.benefits ul{margin:8px 0 0 18px;padding:0;color:var(--muted)}
.cta-row{display:flex;gap:12px;margin-top:12px}
.primary{background:linear-gradient(180deg,var(--accent),#0b6efd);color:white;border-radius:12px;padding:12px 18px;border:0;cursor:pointer;font-weight:700}
.primary.large{font-size:16px;flex:1}
.outline{background:transparent;border:1px solid rgba(255,255,255,0.12);color:var(--text);padding:12px 18px;border-radius:12px;cursor:pointer;flex:1}
.hint{font-size:13px;color:var(--muted)}

/* Forms */
form{display:flex;flex-direction:column;gap:10px}
input{
  height:48px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,0.06);
  border-radius:10px;
  font-size:15px;
  background:rgba(255,255,255,0.02);
  color:var(--text);
}
.row{display:flex;gap:8px;align-items:center}
button{
  height:44px;
  padding:0 12px;
  border-radius:8px;
  border:1px solid transparent;
  font-weight:600;
  cursor:pointer;
  background:transparent;
  color:var(--text);
  min-width:64px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
button:focus{
  outline:3px solid rgba(30,144,255,0.14);
  outline-offset:2px;
  border-radius:8px;
}
.hidden{display:none}
.message{
  margin-top:12px;
  padding:10px 12px;
  border-radius:8px;
  font-size:14px;
}
.message.success{background:rgba(16,185,129,0.12);color:var(--success);border:1px solid rgba(16,185,129,0.2)}
.message.error{background:rgba(239,68,68,0.06);color:var(--danger);border:1px solid rgba(239,68,68,0.14)}

/* small helpers */
.row-spread{display:flex;justify-content:space-between;align-items:center}
.card.small{padding:12px}

/* responsive */
@media (max-width:900px){
  .hero{flex-direction:column;align-items:stretch}
  .right{width:100%}
}