:root { color-scheme: light; --ink:#10233f; --muted:#60708a; --line:#dbe3ee; --accent:#315ee4; --soft:#f4f7fb; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:var(--ink); background:radial-gradient(circle at 10% 0,#eaf4ff 0,transparent 35%),linear-gradient(145deg,#f7f9fc,#edf2f8); }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #8bb8ff; outline-offset:2px; }
.onboarding-shell { width:min(900px,calc(100% - 32px)); margin:0 auto; padding:38px 0 64px; }
.onboarding-card,.loading-card,.error-card { border:1px solid rgba(160,177,201,.55); border-radius:24px; background:rgba(255,255,255,.96); box-shadow:0 26px 70px rgba(25,48,82,.14); overflow:hidden; }
.loading-card,.error-card { max-width:600px; margin:12vh auto 0; padding:38px; text-align:center; }
.jr-mark { display:inline-grid; place-items:center; width:42px; height:42px; border-radius:12px; color:#fff; background:#087f70; font-weight:900; font-size:22px; }
.onboarding-head { display:flex; gap:16px; align-items:center; padding:28px 32px 22px; border-bottom:1px solid var(--line); }
.eyebrow { margin:0 0 5px; color:#087f70; font-size:.74rem; font-weight:850; letter-spacing:.12em; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:4px; font-size:clamp(1.55rem,4vw,2.2rem); line-height:1.08; }
.muted { color:var(--muted); }
.progress { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; padding:18px 32px 0; }
.progress i { height:5px; border-radius:20px; background:#e4eaf2; }
.progress i.active { background:var(--accent); }
.step { padding:30px 32px 18px; }
.step h2 { margin-bottom:8px; font-size:1.55rem; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
label { display:grid; gap:7px; color:#263b58; font-weight:750; }
label.full { grid-column:1/-1; }
input,select,textarea { width:100%; min-height:48px; padding:11px 13px; border:1px solid #cbd6e4; border-radius:11px; color:var(--ink); background:#fff; }
input[readonly] { color:#52637c; background:#f2f5f9; }
.model-grid,.template-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin-top:20px; }
.choice { position:relative; display:grid; grid-template-columns:auto 1fr; gap:4px 12px; min-height:112px; padding:18px; border:2px solid var(--line); border-radius:16px; cursor:pointer; background:#fff; }
.choice:has(input:checked) { border-color:var(--accent); background:#f3f6ff; box-shadow:0 0 0 3px rgba(49,94,228,.09); }
.choice input { width:20px; min-height:20px; margin:2px 0 0; }
.choice strong { font-size:1rem; }
.choice span { grid-column:2; color:var(--muted); font-weight:500; line-height:1.42; }
.template-grid .choice { min-height:84px; }
.review { display:grid; gap:0; margin:20px 0; border:1px solid var(--line); border-radius:16px; overflow:hidden; }
.review div { display:flex; justify-content:space-between; gap:20px; padding:14px 16px; border-bottom:1px solid var(--line); }
.review div:last-child { border-bottom:0; }
.review span { color:var(--muted); }
.actions { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:18px 32px 28px; }
button { min-height:46px; border:0; border-radius:11px; padding:11px 19px; font-weight:800; cursor:pointer; }
button.primary { color:#fff; background:var(--accent); }
button.secondary { color:var(--ink); background:#eaf0f7; }
button:disabled { opacity:.58; cursor:wait; }
.notice { min-height:24px; margin:0; padding:0 32px; color:#a12727; font-weight:700; }
.privacy-note { margin:12px 0 0; color:var(--muted); font-size:.86rem; font-weight:500; }
.text-action { color:#174bc6; font-weight:800; text-decoration-thickness:1px; text-underline-offset:3px; }
.request-success { min-height:360px; display:grid; place-content:center; text-align:center; }
.hidden { display:none !important; }
@media (max-width:620px) {
  .onboarding-shell { width:min(100% - 18px,900px); padding:10px 0 34px; }
  .onboarding-card,.loading-card,.error-card { border-radius:18px; }
  .onboarding-head,.step { padding-left:20px; padding-right:20px; }
  .progress { padding-left:20px; padding-right:20px; }
  .form-grid,.model-grid,.template-grid { grid-template-columns:1fr; }
  label.full { grid-column:auto; }
  .actions { padding-left:20px; padding-right:20px; }
}
@media (max-width:350px) {
  .onboarding-shell { width:100%; padding:0; }
  .onboarding-card { min-height:100vh; border:0; border-radius:0; }
  .onboarding-head { padding-top:22px; }
  .actions { position:sticky; bottom:0; background:rgba(255,255,255,.97); border-top:1px solid var(--line); }
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }
