:root {
  --bg:#071926;
  --bg-2:#0b2233;
  --bg-3:#10314a;
  --panel:rgba(9,28,42,.72);
  --panel-strong:rgba(10,37,57,.92);
  --line:rgba(255,255,255,.10);
  --text:#eff8ff;
  --muted:#a7c6d9;
  --muted-2:#77a4bf;
  --accent:#39b8ff;
  --accent-2:#87dbff;
  --shadow:0 20px 60px rgba(0,0,0,.34);
  --shadow-soft:0 18px 40px rgba(0,0,0,.22);
  --radius:28px;
  --radius-sm:22px;
  --max:1280px;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
body.onboarding-page,
body.onboarding-entry-page,
body.onboarding-status-page {
  font-family: Inter, Arial, Helvetica, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 15% 0%, rgba(57,184,255,.18), transparent 25%),
    radial-gradient(circle at 80% 15%, rgba(135,219,255,.12), transparent 22%),
    linear-gradient(180deg, #081521 0%, #091b2a 28%, #0b2233 100%);
}
a { text-decoration:none; color:inherit; }
img { display:block; max-width:100%; }
.container { width:min(var(--max), calc(100% - 40px)); margin:0 auto; }
.eyebrow {
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--accent-2);
}
.brand-logo.brand-logo-full {
  width: 190px;
  height: auto;
  object-fit: contain;
}
.onboarding-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: rgba(6,17,26,.72);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.06);
  transition: background .24s ease, border-color .24s ease, backdrop-filter .24s ease, box-shadow .24s ease;
}
.onboarding-topbar.is-scrolled {
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.topbar-line {
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(96,215,255,.85) 12%, rgba(255,255,255,.5) 34%, rgba(84,173,219,.2) 56%, transparent 72%);
}
.onboarding-topbar-inner {
  min-height: 86px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.workspace-pill {
  padding: 10px 14px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(57,184,255,.22), rgba(255,255,255,.04));
  border: 1px solid rgba(135,219,255,.18);
  color: #dff3ff;
  font-size: 13px;
  font-weight: 700;
}
.onboarding-main { padding: 132px 0 56px; }
.onboarding-layout {
  display:grid;
  grid-template-columns:minmax(280px,.82fr) minmax(560px,1.18fr);
  gap:42px;
  align-items:start;
}
.onboarding-intro h1,
.status-card h1,
.entry-card h1 {
  margin: 12px 0 0;
  font-size: clamp(40px,5vw,60px);
  line-height: .98;
  letter-spacing: -.04em;
}
.onboarding-intro p,
.status-card p,
.entry-card p {
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.6;
}
.intro-panel,
.intro-summary,
.status-meta,
.status-note {
  margin-top: 20px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
  box-shadow: var(--shadow-soft);
}
.intro-panel strong,
.intro-summary strong,
.status-meta strong {
  display:block;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--accent-2);
}
.intro-panel p,
.intro-summary p,
.status-meta p,
.status-note {
  margin: 8px 0 0;
  color: #dbeef9;
  font-size: 15px;
}
.onboarding-card {
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.08);
  background: linear-gradient(180deg, rgba(10,28,41,.88), rgba(8,21,33,.78));
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
  padding: 34px 34px 32px;
  position: relative;
  overflow: hidden;
}
.onboarding-card:before {
  content: "";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: linear-gradient(135deg, rgba(255,255,255,.10), transparent 34%, transparent 70%, rgba(57,184,255,.08));
  opacity:.78;
}
.onboarding-card > * { position: relative; z-index: 1; }
.onboarding-stepper {
  position: relative;
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
  margin-bottom:34px;
  padding-top:10px;
}
.onboarding-stepper .step-line {
  position:absolute;
  left:8%;
  right:8%;
  top:28px;
  height:1px;
  background:rgba(255,255,255,.22);
}
.step-item { text-align:center; color:rgba(255,255,255,.38); }
.step-item strong { display:block; font-size:15px; margin-top:12px; font-weight:700; }
.step-item small { display:block; font-size:13px; margin-top:6px; color:rgba(255,255,255,.28); }
.step-item.is-active, .step-item.is-complete { color:#fff; }
.step-item.is-active small, .step-item.is-complete small { color:var(--accent); }
.step-badge {
  width:40px; height:40px; border-radius:10px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.10); border:1px solid rgba(255,255,255,.14); font-size:20px; font-weight:800; color:#fff; position:relative; z-index:1;
}
.step-item.is-active .step-badge, .step-item.is-complete .step-badge {
  background:linear-gradient(180deg,#39b8ff,#1b8fcc); border-color:rgba(135,219,255,.5);
}
.onboarding-card-head {
  display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:28px;
}
.onboarding-card-head h2 { margin:0; font-size:28px; line-height:1.08; letter-spacing:-.03em; }
.onboarding-card-head p { margin:14px 0 0; color:var(--muted); font-size:17px; line-height:1.55; max-width:38rem; }
.onboarding-progress { font-size:20px; font-weight:700; color:var(--accent); padding-top:8px; white-space:nowrap; }
.onboarding-step-body { display:none; }
.onboarding-step-body.is-active { display:block; }
.field-grid { display:grid; grid-template-columns:1fr; gap:18px; }
.field-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.field-wrap { display:flex; flex-direction:column; gap:8px; }
.field-wrap-full { grid-column:1 / -1; }
.field-wrap label { font-size:15px; color:#dcecf8; font-weight:600; }
.field-wrap label span { color:#58c6ff; }
.field-control {
  width:100%; min-height:56px; border:none; border-bottom:1px solid rgba(255,255,255,.28); background:transparent; color:#fff; font-size:18px; padding:12px 0; outline:none; border-radius:0; box-shadow:none;
}
.field-control:focus { border-bottom-color:#58c6ff; }
.field-control option { color:#081521; background:#fff; }
.field-textarea { min-height:150px; resize:vertical; padding-top:16px; }
.file-control { padding: 14px 0 10px; }
.checkbox-list { color:#d7ebf8; font-size:15px; line-height:1.7; }
.checkbox-list input { margin-right:8px; }
.checkbox-list label { margin-right:18px; }
.checkbox-list.stacked label { display:block; margin-right:0; margin-bottom:6px; }
.upload-grid { display:grid; gap:14px; }
.upload-row { display:grid; grid-template-columns:220px 1fr; gap:16px; align-items:end; }
.small-select { min-height:46px; }
.upload-note { margin-top: 8px; font-size:14px; color: var(--muted); }
.consent-box {
  padding:16px 18px; border-radius:18px; border:1px solid rgba(135,219,255,.14); background:linear-gradient(180deg,rgba(57,184,255,.08),rgba(255,255,255,.02)); color:#d9eef9; font-size:15px; line-height:1.6;
}
.honeypot-wrap { position:absolute; left:-9999px; top:-9999px; opacity:0; pointer-events:none; }
.onboarding-error, .onboarding-success {
  margin:0 0 22px; padding:14px 16px; border-radius:16px; font-weight:600;
}
.onboarding-error { border:1px solid rgba(255,108,108,.25); background:rgba(120,18,18,.22); color:#ffd7d7; }
.onboarding-success { border:1px solid rgba(135,219,255,.24); background:rgba(10,51,76,.40); color:#dff3ff; }
.onboarding-actions {
  display:flex; justify-content:space-between; gap:16px; margin-top:30px; flex-wrap:wrap;
}
.onboarding-actions-right { display:flex; gap:12px; flex-wrap:wrap; }
.btn {
  min-height:52px; padding:13px 22px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; font-weight:800; transition:.2s ease; border:1px solid transparent; cursor:pointer; text-decoration:none;
}
.btn:hover { transform:translateY(-2px); }
.btn-primary { background:linear-gradient(180deg,#76dbff,#28aef8); color:#062033; box-shadow:0 14px 36px rgba(57,184,255,.25); }
.btn-secondary { border-color:rgba(135,219,255,.26); background:rgba(255,255,255,.03); color:#fff; }
.is-hidden { display:none !important; }
.status-shell {
  min-height:100vh; display:grid; place-items:center; padding: 40px 20px;
}
.status-card {
  width:min(760px, 100%); border-radius:30px; border:1px solid rgba(255,255,255,.08); background:linear-gradient(180deg, rgba(10,28,41,.88), rgba(8,21,33,.78)); box-shadow:0 28px 70px rgba(0,0,0,.28); padding:38px 36px 34px;
}
.entry-card { text-align:center; }
.entry-logo { width: 96px; margin: 0 auto 16px; }
.status-meta { margin-top: 26px; }
@media (max-width: 1200px) {
  .onboarding-layout { grid-template-columns:1fr; gap:30px; }
  .onboarding-intro h1 { max-width:15ch; }
}
@media (max-width: 980px) {
  .onboarding-stepper { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 760px) {
  .container { width:min(var(--max), calc(100% - 24px)); }
  .onboarding-main { padding: 112px 0 36px; }
  .onboarding-card { padding:24px 20px 22px; border-radius:24px; }
  .workspace-pill { display:none; }
  .brand-logo.brand-logo-full { width: 160px; }
  .onboarding-stepper { grid-template-columns:1fr; gap:12px; padding-top:0; }
  .onboarding-stepper .step-line { display:none; }
  .step-item { text-align:left; display:grid; grid-template-columns:40px 1fr; column-gap:12px; align-items:center; }
  .step-item strong,.step-item small { margin-top:0; grid-column:2; }
  .onboarding-card-head { flex-direction:column; }
  .field-grid-two { grid-template-columns:1fr; }
  .upload-row { grid-template-columns:1fr; }
  .onboarding-actions, .onboarding-actions-right { flex-direction:column; align-items:stretch; }
  .btn { width:100%; }
}
