.onboard { --field: #121214; --field-line: #606067; --warning: #f0cb94; max-width: 760px; }
.onboard [hidden] { display: none !important; }
.onboard h1 { margin-bottom: 8px; font-size: 28px; letter-spacing: -.03em; }
.onboard h2 { font-size: 21px; line-height: 1.35; font-weight: 550; letter-spacing: -.025em; scroll-margin-top: 28px; }
.onboard h3 { font-size: 16px; font-weight: 550; line-height: 1.5; }
.onboard p { max-width: 68ch; }
.onboard .on-progress { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding: 0; margin: 26px 0 30px; list-style: none; }
.on-progress li { border-bottom: 2px solid #36363b; padding-bottom: 13px; color: var(--muted); }
.on-progress li[aria-current=step], .on-progress .on-done { border-color: #e5e5ea; color: var(--ink); }
.on-progress button { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0; background: none; border: 0; color: inherit; font-size: 13px; text-align: left; }
.on-progress button:disabled { opacity: 1; cursor: default; }
.on-progress span { display: inline-grid; flex-shrink: 0; place-items: center; border: 1px solid #646469; border-radius: 50%; width: 24px; height: 24px; font-size: 11px; font-variant-numeric: tabular-nums; }
.on-progress [aria-current=step] span, .on-progress .on-done span { border-color: #e5e5ea; background: #e5e5ea; color: #141416; }
.onboard .on-step-copy { color: var(--muted); margin-top: 8px; margin-bottom: 26px; font-size: 14px; }
.onboard .on-before-copy { margin: 20px 0 24px; color: var(--muted); font-size: 15px; line-height: 1.8; }
.onboard .on-before-copy p + p { margin-top: 18px; }
.onboard .on-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.onboard .on-names { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.onboard .on-names label { min-height: 22px; }
.onboard .on-email-summary { margin: 24px 0; padding-block: 16px; border-block: 1px solid var(--line); }
.on-email-summary dt { color: var(--muted); font-size: 13px; margin-bottom: 6px; }
.on-email-summary dd { font-size: 14px; overflow-wrap: anywhere; }
.onboard .on-email-entry { margin-top: 24px; }
.onboard .on-field { display: block; margin-bottom: 22px; min-width: 0; }
.onboard .on-grid .on-field { margin-bottom: 0; }
.onboard .on-field > label { display: block; margin-bottom: 9px; font-size: 14px; font-weight: 500; }
.onboard .on-field label small { color: var(--muted); font-size: 12px; font-weight: 400; margin-left: 4px; }
.onboard input:not([type=radio]):not([type=checkbox]), .onboard select { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 11px 13px; border: 1px solid var(--field-line); border-radius: 10px; background: var(--field); color: var(--ink); caret-color: var(--ink); font: inherit; letter-spacing: -.015em; }
.onboard input::placeholder { color: #a0a0a8; opacity: 1; }
.onboard input[readonly] { color: var(--muted); border-color: #414146; }
.onboard input:disabled { cursor: not-allowed; opacity: .5; }
.onboard input[type=radio], .onboard input[type=checkbox] { width: 18px; height: 18px; flex-shrink: 0; accent-color: #e5e5ea; margin: 3px 0 0; cursor: pointer; }
.onboard input[aria-invalid=true], .onboard select[aria-invalid=true] { border-color: #ffb4ac; }
.onboard fieldset { border: 0; padding: 0; margin: 0 0 26px; min-width: 0; }
.onboard legend { padding: 0; margin-bottom: 12px; font-size: 15px; font-weight: 500; }
.onboard .on-check { display: flex; align-items: start; gap: 11px; min-height: 44px; cursor: pointer; font-size: 14px; line-height: 1.65; }
.onboard .on-check small, .onboard .on-hint { display: block; margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.65; font-weight: 400; }
.onboard .on-declaration + .on-declaration { margin-block-start: 24px; }
.onboard .on-declaration .on-check > span { min-width: 0; }
.onboard .on-declaration .on-field-error { margin-inline-start: 29px; }
.onboard .on-declarations > .on-small { margin-block: 16px 0; padding-inline-start: 29px; }
.onboard .on-single { margin-top: 12px; }
.onboard .on-optional { margin: 18px 0 24px; }
.on-optional summary { display: flex; align-items: center; gap: 6px; min-height: 44px; cursor: pointer; color: var(--muted); font-size: 13px; }
.on-optional[open] summary { margin-bottom: 12px; }
.on-optional summary .icon { width: 16px; height: 16px; }
.onboard .on-rule { padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--line); }
.onboard .on-eligibility .on-check { align-items: center; gap: 14px; font-size: 16px; min-height: 52px; }
.onboard .on-eligibility input[type=checkbox] { width: 24px; height: 24px; margin: 0; }
.onboard .on-choices { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 22px; }
.onboard .on-choice { display: flex; align-items: start; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--line); cursor: pointer; min-height: 64px; }
.on-choice strong { display: block; font-size: 14px; font-weight: 500; }
.on-choice small { display: block; margin-top: 3px; font-size: 12px; color: var(--muted); line-height: 1.5; }
.on-choice:has(input:checked) strong { color: #fff; }
.onboard .on-party { display: grid; gap: 10px; }
.on-party .on-choice { padding: 15px 16px; border: 1px solid var(--field-line); border-radius: 12px; }
.on-party .on-choice:has(input:checked) { background: #1e1e22; border-color: #e5e5ea; }
.onboard .on-org, .onboard .on-notice-fields { margin-top: 26px; }
.onboard .on-inline-options { display: flex; flex-wrap: wrap; gap: 10px 26px; }
.onboard .on-inline-options .on-check { align-items: center; }
.onboard .on-inline-options input { margin-top: 0; }
.onboard .on-message { font-size: 13px; color: var(--warning); line-height: 1.65; margin-top: 16px; padding-block: 14px; border-block: 1px solid #5e503c; }
.onboard .on-message:empty, .onboard .on-field-error:empty { display: none; }
.onboard .on-field-error { margin-top: 7px; font-size: 12px; color: #ffb4ac; line-height: 1.6; }
.onboard .on-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--line); }
.onboard .on-actions-end { justify-content: flex-end; }
.onboard .action { margin-top: 0; min-width: 145px; }
.onboard button:disabled { cursor: not-allowed; }
.onboard .on-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0; border: 0; background: none; color: var(--ink); font-size: 13px; text-decoration: underline; text-underline-offset: 4px; }
.on-link .icon { width: 16px; height: 16px; }
.onboard .on-back { min-height: 46px; border: 1px solid #606067; border-radius: 999px; padding: 10px 18px; background: transparent; color: var(--ink); font-size: 13px; }
.onboard .on-small { color: var(--muted); font-size: 12px; line-height: 1.7; }
.onboard .on-quiet-row { display: flex; gap: 12px 22px; justify-content: space-between; align-items: center; flex-wrap: wrap; margin: 16px 0 0; }
.onboard .on-summary { margin-block: 20px 24px; border-top: 1px solid var(--line); }
.on-summary > div { display: grid; grid-template-columns: 150px minmax(0,1fr); gap: 14px; border-bottom: 1px solid var(--line); padding-block: 12px; }
.on-summary dt { font-size: 13px; } .on-summary dd { font-size: 14px; }
.onboard .on-document { margin: 20px 0; border: 1px solid #606067; border-radius: 12px; overflow: clip; }
.on-document .on-document-top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 14px 18px; background: #19191d; border-bottom: 1px solid var(--line); }
.on-document-body { max-height: 390px; overflow-y: auto; overflow-wrap: anywhere; padding: 24px; font-size: 14px; line-height: 1.8; }
.onboard .on-summary dd { overflow-wrap: anywhere; min-width: 0; }
.on-document-body h3 { margin-top: 22px; margin-bottom: 8px; }
.on-document-body h3:first-child { margin-top: 0; }
.on-document-body p + p { margin-top: 12px; }
.onboard .on-reader-status { padding: 12px 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.6; }
.on-reader-status progress { display: block; width: 100%; height: 4px; margin-top: 10px; accent-color: #e5e5ea; }
.on-reader-status progress::-webkit-progress-bar { background: #36363b; border-radius: 2px; }
.on-reader-status progress::-webkit-progress-value { background: #e5e5ea; border-radius: 2px; }
.on-reader-status progress::-moz-progress-bar { background: #e5e5ea; border-radius: 2px; }
.on-document-top button[aria-expanded=true] .icon { transform: rotate(180deg); }
.onboard .on-document-end { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--line); font-weight: 500; }
.onboard .on-confirmation { margin-block: 16px 28px; }
.onboard .on-confirmation.is-locked { cursor: not-allowed; }
.onboard .on-confirmation > span { min-width: 0; }
.onboard .on-success-mark { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid #92929a; border-radius: 50%; margin-bottom: 20px; }
.onboard .on-success-mark .icon { width: 22px; height: 22px; }
.onboard .on-profile-test { margin-top: 22px; }
.onboard .on-profile-test strong { font-weight: 500; }
@media (max-width: 767px) {
  .onboard h1 { font-size: 25px; }
  .onboard .on-progress { gap: 10px; margin-block: 20px 26px; }
  .on-progress button { display: grid; gap: 6px; font-size: 11px; }
  .onboard .on-grid, .onboard .on-choices { grid-template-columns: 1fr; gap: 18px; }
  .onboard .on-choices { gap: 0; }
  .onboard .on-summary > div { grid-template-columns: 1fr; gap: 5px; }
  .onboard .on-actions { align-items: stretch; }
  .onboard .on-actions .action { flex: 1; }
  .onboard .on-quiet-row { gap: 0 18px; }
  .on-document-body { max-height: min(390px,55dvh); padding: 18px; }
  .onboard input:not([type=checkbox]):not([type=radio]), .onboard select { font-size: 16px; }
}
.on-policy-list{margin:24px 0;border-block:1px solid var(--line,#34363b);padding:18px 0}
.on-policy-list summary{cursor:pointer;font-weight:600;min-height:32px}
.on-policy-list ul{padding:12px 0;list-style:none;display:grid;gap:14px}
.on-policy-list li{display:flex;justify-content:space-between;gap:18px;align-items:baseline}
.on-policy-list li .on-small{white-space:nowrap}
@media(max-width:600px){.on-policy-list li{display:grid;gap:3px}}
