:root{
  --bg: #2b3e7c;
  --header: #10155e;
  --card: #11152b;
  --cardText: #e7ebff;
  --muted: #8f97b8;
  --cardBorder: rgba(255,255,255,.08);
  --accent: #48b7ff;
  --btn: #48b7ff;
  --btnText: #001024;
}

html, body { 
  background:linear-gradient(180deg, var(--bg), #2b3e7c 45%, #2b3e7c);
  min-height:100%;
}

.page-title{ color:#fff; font-weight:800; letter-spacing:.3px; margin:1rem 0 1.25rem; }
.subtext{ color:var(--muted); }
.wizard-shell{ max-width:980px; margin:0 auto; }

.card{
  background:var(--card); border:1px solid var(--cardBorder);
  box-shadow:0 8px 30px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.03);
  border-radius:18px;
}
.card h5{ color:var(--cardText); font-weight:700; }

.form-control, .form-select{
  background:#0c1132; border:1px solid rgba(255,255,255,.12); color:#e8ecff;
}
.form-control::placeholder{ color:#6e77a6; }

.badge-type{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; letter-spacing:.2px; }

.btn-primary{
  background:var(--btn); border-color:var(--btn); color:var(--btnText);
  font-weight:700; border-radius:12px; padding:.75rem 1.25rem;
}
.btn-outline-primary{ border-radius:10px; }

.choice{
  border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:12px 14px;
  display:flex; align-items:flex-start; gap:10px; cursor:pointer; transition:all .18s ease;
  background:#0c1132;
}
.choice:hover{ border-color:rgba(255,255,255,.25); transform:translateY(-1px); }
.choice input{ margin-top:4px; }
.choice .title{ color:#e9ecff; font-weight:700; }
.choice .note{ color:#9aa2c9; font-size:.9rem; margin-top:2px; }

.help{ color:#9aa2c9; font-size:.9rem; }
.alert{ border-radius:12px; }
.row-divider{ height:1px; background:rgba(255,255,255,.08); margin:10px 0 14px; }

.sticky-footer{ 
  position:sticky; bottom:0;
  padding:16px 0 8px;
}
