/* onboarding.css — onboarding steps, setup and analyzing screens (design match, 2026-10-01).
   Values follow the design markup's inline styles (art/markup.html ONBOARDING, SETUP, ANALYZING). */

/* ── Onboarding chrome ─────────────────────────────────────────────────── */
.ef-onb-col .ef-onb-actions { padding-right: 0; }
.ef-onb-col .ef-onb-actions .ef-meta { margin: 0; }

/* ── onb1 · platforms ──────────────────────────────────────────────────── */
.ef-platforms { gap: 6px; }
.ef-platforms .ef-platform { width: 100%; border-radius: 14px; border: 1px solid rgba(13,15,28,.12); background: #fff; text-align: left; font-family: var(--font-sans); }
.ef-platforms button.ef-platform { border-color: rgba(13,15,28,.18); cursor: pointer; transition: border-color .15s, background .15s; }
.ef-platforms button.ef-platform:hover { border-color: var(--ink); }
.ef-platforms button.ef-platform[aria-checked="true"] { border: 1.5px solid var(--ink); background: #FFFAF0; }
.ef-platforms .ef-platform[aria-disabled="true"] .ef-platform__name { font-weight: 500; color: #4E505E; }
.ef-platforms .ef-platform__logo img { width: 20px; height: 20px; border-radius: 3px; }
.ef-platform__state--pick { color: var(--ink); }
.ef-platform__state--on { color: #156238; }
.ef-platform__check { background: #1F9D55; }
.ef-platform-more { display: flex; align-items: center; min-height: 44px; padding: 0 14px; border-radius: 14px; border: 1px dashed rgba(13,15,28,.18); font: 500 11px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: #5E606C; }
.ef-platforms .ef-request { border-radius: 14px; background: #FFF1DE; }
.ef-request__row .ef-input { border-radius: 999px; border-color: rgba(13,15,28,.18); background: #fff; }
.ef-request .ef-request__btn { height: 40px; min-height: 40px; padding: 0 16px; border: 1px solid var(--ink); border-radius: 999px; background: #fff; color: var(--ink); font: 500 12px var(--font-mono); letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; box-shadow: none; }
.ef-request__note { margin: 0; font: 400 13px/1.5 var(--font-sans); color: #8A4F05; }
.ef-request__note a { color: var(--ink); }

/* ── onb1b · credentials ───────────────────────────────────────────────── */
.ef-creds { display: flex; flex-direction: column; gap: 22px; padding-top: 20px; border-top: 1px solid rgba(13,15,28,.08); animation: ef-rise .25s ease; }
.ef-creds[hidden] { display: none; }
.ef-creds__title { font: 600 17px var(--font-sans); color: var(--ink); margin: 0; }
.ef-creds__help { font: 400 14px/1.5 var(--font-sans); color: #4E505E; margin: -14px 0 -8px; }
.ef-creds__help b { font-weight: 500; color: var(--ink); }
.ef-creds > form { gap: 22px; }
.ef-creds .ef-field { gap: 6px; font: 500 13px var(--font-sans); color: var(--ink); }
.ef-creds .ef-input { height: 44px; border-radius: 999px; border: 1px solid rgba(13,15,28,.18); font: 400 15px var(--font-sans); box-shadow: 0 1px 2px rgba(22,17,11,.04); }
.ef-creds .ef-field-row { gap: 14px; }
.ef-creds form .ef-row .ef-btn { min-height: 40px; padding: 0 16px; border: 1px solid rgba(13,15,28,.18); border-radius: 999px; background: #fff; color: var(--ink); font: 500 12px var(--font-mono); letter-spacing: .03em; text-transform: uppercase; box-shadow: 0 1px 2px rgba(22,17,11,.04); }
.ef-creds .ef-onb-actions { padding-top: 8px; }
.ef-request > div:empty, .ef-creds div[aria-live]:empty { display: none; }
/* Data processing agreement (design 2026-10-07, step 1). */
.ef-dpa { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; padding: 14px; border-radius: var(--r-note); border: 1px solid var(--a14); background: #fff; cursor: pointer; transition: border-color var(--t-fast) ease, background var(--t-fast) ease; }
.ef-dpa.is-on { border-color: var(--ink); background: var(--bg-app); }
.ef-dpa.is-locked { cursor: default; border-color: var(--a14); }
.ef-dpa input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--ink); }
.ef-dpa__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ef-dpa__title { font: 500 14px/1.5 var(--font-sans); color: var(--ink); }
.ef-dpa__sub { font: 400 13px/1.5 var(--font-sans); color: var(--text-muted); text-wrap: pretty; }
.ef-dpa__link { color: var(--ink); }

/* ── onb2 · pick an event ──────────────────────────────────────────────── */
.ef-onb-col .ef-pick { grid-template-columns: 20px minmax(0, 1fr) repeat(3, 76px); border-radius: 16px; }
.ef-onb-col .ef-pick:has(input:checked) { box-shadow: 0 0 0 3px #FFF1DE; }
.ef-onb-col fieldset.ef-radiocards { gap: 8px; }
.ef-onb-col fieldset.ef-radiocards > legend { font: 500 12px var(--font-sans); color: #5E606C; margin-bottom: 8px; padding: 0 2px; }
@media (max-width: 640px) { .ef-onb-col .ef-pick { grid-template-columns: 20px minmax(0, 1fr) repeat(3, auto); } }

/* ── Setup form (onb4 + /events/:id/setup) ─────────────────────────────── */
.ef-onb-col .ef-setup { gap: 22px; }
.ef-setup .ef-fsec__head > div:first-child { flex: 1 1 0; min-width: 0; }
.ef-setup .ef-fsec__head .ef-fsec__help { max-width: 560px; line-height: 1.5; text-wrap: pretty; }
.ef-setup .ef-fsec__head .ef-btn--link { flex: none; min-height: 36px; padding: 0 4px; font: 500 13px var(--font-sans); color: var(--ink); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.ef-edadd > div[aria-live]:empty { display: none; }
.ef-onb-actions__end { flex-wrap: wrap; gap: 12px 16px; }
.ef-onb-col .ef-onb-summary { font: 400 13px var(--font-sans); color: #5E606C; }
#ef-cost-msg:empty { display: none; }
.ef-setup .ef-checkchip { padding: 0 16px 0 12px; }

/* ── onb3f · no earlier edition ─────────────────────────────────────────── */
.ef-onb-col .ef-statusblock > * { margin: 0; }
.ef-onb-col .ef-statusblock .ef-lead { font: 400 15px/1.5 var(--font-sans); color: #3A3C4A; }

/* ── Analysis card (onb5 + /events/:id/analyzing) ──────────────────────── */
.ef-ancard--onb { border-radius: 24px; }
.ef-ancard--page { border-radius: 20px; border: 1px solid rgba(13,15,28,.14); gap: 18px; }
.ef-ancard__top { color: #FFFAF0; }
.ef-ancard__head { margin: 0; font: 500 14px/1.4 var(--font-sans); color: #FFFAF0; font-variant-numeric: tabular-nums; }
h2.ef-ancard__head { font: 600 15px/1.35 var(--font-sans); }
.ef-ancard__head .ef-ansteps__num { font-weight: inherit; }
.ef-ancard__pct { font: 500 14px var(--font-sans); color: #FFAD61; }
.ef-ancard__bar { background: #383E62; }
.ef-ancard__fill { background: #FF8500; }
.ef-ancard__time { margin: -8px 0 0; font: 400 13px/1.45 var(--font-sans); color: #D9D0C3; font-variant-numeric: tabular-nums; }
.ef-ancard__time:empty, .ef-ancard__extra:empty { display: none; }
.ef-ansteps { gap: 2px; }
.ef-ansteps__item { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 4px 12px; align-items: start; padding: 10px 12px; margin: 0 -12px; border-radius: 12px; color: #7A7C8C; transition: background .3s; }
.ef-ansteps__item.is-active { background: rgba(255,133,0,.14); color: #FFFAF0; }
.ef-ansteps__item.is-done { color: #D9D0C3; }
.ef-ansteps__text { font: 400 14px/1.45 var(--font-sans); padding-top: 1px; text-wrap: pretty; }
.ef-ansteps__num { color: inherit; font-weight: 500; font-variant-numeric: tabular-nums; }
.ef-ansteps__dot { box-sizing: border-box; border: 1px solid #383E62; font: 600 11px var(--font-sans); color: #fff; }
.ef-ansteps__item.is-done .ef-ansteps__dot { background: #FF8500; border: 0; color: #fff; }
.ef-ansteps__item.is-active .ef-ansteps__dot { border: 2px solid #FF8500; animation: none; }
.ef-ansteps__pulse { width: 8px; height: 8px; border-radius: 50%; background: #FF8500; animation: ef-pulse 1.4s ease-in-out infinite; }
.ef-ansteps__detail { grid-column: 2; margin: 0; font: 400 12px/1.45 var(--font-sans); color: #8E90A0; }
.ef-ancard .ef-ancard__back { width: 100%; min-height: 40px; border: 1px solid #383E62; background: transparent; color: #FFFAF0; font: 500 12px var(--font-mono); letter-spacing: .03em; text-transform: uppercase; justify-content: center; }
.ef-ancard__safe { background: #242947; color: #D9D0C3; }
@media (prefers-reduced-motion: reduce) { .ef-ansteps__pulse { animation: none; } }

/* ── Swoogo field setup (EF.fui.fieldSetup: analyzing pages + Push), design 2026-10-13 ──────
   One card: 1 add the field (once per account), 2 hide it on the form (once per event), 3 connect.
   On Push a linked field collapses to the "ready" card. Sizes follow the design markup. */
.ef-fsetup { border: 1px solid var(--a14); border-radius: 20px; overflow: hidden; background: #fff; }
.ef-fsetup__head { padding: 20px; border-bottom: 1px solid var(--a08); }
.ef-fsetup__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 6px; font: 500 12px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); }
.ef-fsetup__opt { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: var(--r-pill); background: var(--bg-peach); color: #7A3E00; font: 500 11px var(--font-mono); letter-spacing: .04em; }
.ef-fsetup__title { margin: 0; font: 600 18px var(--font-sans); color: var(--ink); }
.ef-fsetup__title:focus { outline: none; }
.ef-fsetup__lead { margin: 4px 0 0; max-width: 480px; font: 400 14px/1.5 var(--font-sans); color: var(--text); text-wrap: pretty; }
.ef-fsetup__notfound { padding: 14px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 16px; background: var(--warn-bg); border-bottom: 1px solid var(--warn-border); }
.ef-fsetup__notfound p { margin: 0; flex: 1 1 280px; font: 400 13px/1.5 var(--font-sans); color: var(--text-strong); text-wrap: pretty; }
.ef-fsetup__notfound b { font-weight: 600; color: var(--ink); }
.ef-fsetup__msg { padding: 16px 20px 0; }
.ef-fsetup__sec { padding: 24px 20px 8px; display: flex; flex-direction: column; gap: 16px; }
.ef-fsetup__sec--s2 { padding: 8px 20px 24px; border-bottom: 1px solid var(--a08); }
.ef-fsetup__stephead { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.ef-fsetup__num { width: 28px; height: 28px; flex-shrink: 0; border-radius: 50%; background: var(--ink); color: var(--on-dark); display: grid; place-items: center; font: 600 13px var(--font-sans); }
.ef-fsetup__steptitle { margin: 0; font: 600 16px var(--font-sans); color: var(--ink); }
.ef-fsetup__once { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: var(--r-pill); background: var(--bg-peach); font: 500 11px var(--font-sans); color: #7A3E00; white-space: nowrap; }
.ef-fsetup__body { margin-left: 14px; padding: 4px 0 8px 26px; border-left: 2px solid #F1E4D2; display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.ef-fsetup__sub { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ef-fsetup__sublabel { font: 500 11px var(--font-mono); letter-spacing: .05em; text-transform: uppercase; color: #8E90A0; }
.ef-fsetup__path { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.ef-fsetup__crumb { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 12px; border-radius: var(--r-pill); background: #fff; border: 1px solid var(--a12); font: 500 13px var(--font-sans); color: var(--ink); white-space: nowrap; }
.ef-fsetup__crumb-pre { font-weight: 400; color: var(--text-muted); }
.ef-fsetup__arrow { color: #C9BBA8; font: 500 14px var(--font-sans); }
.ef-fsetup__swoogo { display: inline-flex; align-items: center; gap: 6px; height: 30px; padding: 0 14px; border-radius: var(--r-pill); background: var(--cta); color: var(--ink); font: 500 12px var(--font-mono); letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; text-decoration: none; }
.ef-fsetup__swoogo:hover { background: var(--orange); }
.ef-fsetup__box { background: #fff; border: 1px solid rgba(13,15,28,.1); border-radius: 16px; overflow: hidden; }
.ef-fsetup__row { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 16px; }
.ef-fsetup__row + .ef-fsetup__row, .ef-fsetup__tick + .ef-fsetup__tick { border-top: 1px solid var(--a07); }
.ef-fsetup__key { font: 400 13px var(--font-sans); color: var(--text-muted); }
.ef-fsetup__val { min-width: 0; font: 500 14px var(--font-sans); color: var(--ink); }
.ef-fsetup__val code { font: 600 14px var(--font-sans); color: var(--ink); background: none; padding: 0; word-break: break-word; }
.ef-fsetup__opts { display: flex; flex-wrap: wrap; gap: 6px; }
.ef-fsetup__optchip { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: var(--r-pill); background: var(--bg-app); border: 1px solid rgba(13,15,28,.1); font: 500 12px var(--font-sans); color: var(--text-strong); white-space: nowrap; }
.ef-fsetup .ef-copy { flex-shrink: 0; min-height: 28px; padding: 0 10px; border: 0; border-radius: var(--r-pill); background: var(--bg-peach); font: 500 11px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; color: #7A3E00; }
.ef-fsetup .ef-copy:hover { background: #FFE2BF; }
.ef-fsetup__tick { display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px; }
.ef-fsetup__box-glyph { flex-shrink: 0; margin-top: 1px; width: 20px; height: 20px; box-sizing: border-box; border-radius: 5px; background: #1F6FEB; border: 1px solid #1F6FEB; color: #fff; display: grid; place-items: center; font: 700 12px var(--font-sans); }
.ef-fsetup__stepnum { flex-shrink: 0; margin-top: 1px; width: 22px; height: 22px; border-radius: 50%; background: var(--bg-peach); color: #7A3E00; display: grid; place-items: center; font: 500 12px var(--font-sans); }
.ef-fsetup__box-glyph.is-off { background: #fff; border: 1.5px solid #9AA0AE; color: transparent; }
.ef-fsetup__ticktext { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ef-fsetup__tickmain { font: 500 14px/1.4 var(--font-sans); color: var(--ink); }
.ef-fsetup__tickmain b { font-weight: 600; }
.ef-fsetup__tickhelp { font: 400 12px/1.45 var(--font-sans); color: var(--text-muted); text-wrap: pretty; }
.ef-fsetup__linked { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding-top: 12px; font: 400 13px var(--font-sans); color: var(--text-strong); }
.ef-fsetup__linked-ok { color: var(--ok-fg); font-weight: 500; }
.ef-fsetup__linked code { font: 500 13px var(--font-sans); color: var(--ink); background: none; padding: 0; }
.ef-fsetup__change { min-height: 24px; padding: 0; border: 0; background: none; font: 400 13px var(--font-sans); color: var(--text-muted); text-decoration: underline; cursor: pointer; }
.ef-fsetup__map { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; padding-top: 12px; font: 400 13px/1.45 var(--font-sans); color: var(--text-strong); }
.ef-fsetup__mapmsg { flex: 1 1 220px; min-width: 0; text-wrap: pretty; }
.ef-fsetup__later { margin: 0; display: flex; gap: 8px; align-items: center; font: 400 12px/1.5 var(--font-sans); color: var(--text-muted); text-wrap: pretty; }
.ef-fsetup__later-icon { flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: var(--bg-peach); color: #C25E00; display: grid; place-items: center; font: 600 11px var(--font-sans); }
.ef-fsetup__s3 { padding: 20px; background: var(--bg-app); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; }
.ef-fsetup__s3text { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: start; }
.ef-fsetup__s3title { margin: 3px 0 0; font: 600 15px var(--font-sans); color: var(--ink); }
.ef-fsetup__s3body { margin: 2px 0 0; font: 400 13px/1.5 var(--font-sans); color: var(--text-muted); text-wrap: pretty; }
.ef-fsetup__connect { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.ef-fsetup__pill { flex-shrink: 0; display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: var(--r-pill); background: var(--warn-bg); color: var(--warn-fg); font: 500 13px var(--font-sans); font-variant-numeric: tabular-nums; }
.ef-fsetup__pill.is-ok { background: var(--ok-bg); color: var(--ok-fg); }
.ef-fsetup__btn { min-height: 44px; padding: 0 20px; border: 0; border-radius: var(--r-pill); background: var(--cta); font: 500 13px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; color: var(--ink); cursor: pointer; }
.ef-fsetup__btn.is-again { background: var(--bg-peach); }
.ef-fsetup__btn:disabled { cursor: progress; opacity: .7; }
.ef-fsetup__again { min-height: 36px; padding: 0 14px; border: 1px solid var(--a18); border-radius: var(--r-pill); background: #fff; font: 500 12px var(--font-mono); letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; color: var(--ink); cursor: pointer; }
.ef-fsetup__notfound .ef-fsetup__again { border-color: var(--ink); }
.ef-fsetup__again:disabled { cursor: progress; opacity: .7; }
.ef-fsetup__loading { padding: 4px 0; }
/* Push, field linked: the compact "ready" card. */
.ef-fsetup--ready { padding: 18px 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 16px; background: var(--bg-app); }
.ef-fsetup__readytext { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: start; }
.ef-fsetup__readyicon { width: 28px; height: 28px; border-radius: 50%; background: var(--ok-bg); color: var(--ok-fg); display: grid; place-items: center; font: 600 14px var(--font-sans); }
.ef-fsetup__readytitle { margin: 3px 0 0; font: 600 16px var(--font-sans); color: var(--ink); }
.ef-fsetup__readybody { margin: 2px 0 0; font: 400 13px/1.5 var(--font-sans); color: var(--text); text-wrap: pretty; }
.ef-fsetup__readyact { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.ef-fsetup__show { min-height: 36px; padding: 0 4px; border: 0; background: none; font: 500 13px var(--font-sans); color: var(--ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ef-fsetup--ready .ef-fsetup__msg { flex-basis: 100%; padding: 0; }
@media (max-width: 640px) {
  .ef-fsetup__body { margin-left: 0; padding-left: 14px; }
  .ef-fsetup__row { grid-template-columns: 64px minmax(0, 1fr); }
  .ef-fsetup__row > :nth-child(3) { grid-column: 2; justify-self: start; }
  .ef-fsetup__connect, .ef-fsetup__readyact { margin-left: 0; }
}
.ef-analyzing .ef-analyzing__status { flex: 1 1 300px; }
.ef-analyzing .ef-two-col__main { flex: 999 1 520px; gap: 16px; }

/* ── Setup page summary + lock banner ──────────────────────────────────── */
.ef-setup-sum { border: 1px solid rgba(13,15,28,.14); border-radius: 20px; padding: 20px; display: flex; flex-direction: column; gap: 14px; background: #FFFAF0; }
.ef-setup-sum__title { font: 600 16px var(--font-sans); color: var(--ink); margin: 0; }
.ef-setup-sum .ef-dl { gap: 10px; color: #4E505E; }
.ef-setup-sum .ef-dl dt { color: #4E505E; }
.ef-setup-sum .ef-dl dd { margin: 0; text-align: left; font-weight: 400; color: var(--ink); font-variant-numeric: tabular-nums; }
.ef-setup-sum .ef-dl dd.ef-num { font-weight: 500; }
.ef-setup-sum .ef-dl dd.ef-danger-text { color: #B4231C; }
.ef-setup-sum > div:empty { display: none; }
.ef-setup-sum__dirty { padding: 12px 14px; border-radius: 10px; background: #FDF3E3; border: 1px solid #F1DDB8; font: 400 13px/1.45 var(--font-sans); color: #3A3C4A; }
.ef-setup-sum__dirty b { font-weight: 600; color: var(--ink); }
.ef-setup-sum .ef-stack { gap: 14px; }
.ef-setup-sum .ef-btn--primary { min-height: 44px; font: 500 14px var(--font-mono); letter-spacing: .03em; text-transform: uppercase; }
.ef-setup-sum__safe { margin: 0; font: 400 13px/1.45 var(--font-sans); color: #5E606C; }
.ef-setup-sum__locked { margin: 0; padding-top: 12px; border-top: 1px solid rgba(13,15,28,.08); font: 400 13px/1.5 var(--font-sans); color: #3A3C4A; }
.ef-lockbanner { gap: 14px 18px; padding: 16px 18px; border-radius: 16px; background: #FFFAF0; border: 1px solid rgba(13,15,28,.14); }
.ef-lockbanner .ef-alert__title { font: 600 15px var(--font-sans); color: var(--ink); }
.ef-lockbanner .ef-meta { font: 400 14px/1.5 var(--font-sans); color: #3A3C4A; margin-top: 2px; }
.ef-lockbanner .ef-lockbanner__back { min-height: 40px; padding: 0 16px; border: 1px solid rgba(13,15,28,.18); border-radius: 999px; background: #fff; font: 500 12px var(--font-mono); letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; color: var(--ink); }
.ef-setup:disabled .ef-fsec__head .ef-btn--link { opacity: 1; }
/* Locked setup (2026-10-20): back + unlock side by side, and the cost editor above the read-only form. */
.ef-lockbanner__actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
@media (max-width: 640px) { .ef-lockbanner__actions { justify-content: flex-start; } }
.ef-costedit { margin: 0 0 16px; }
.ef-costedit__foot { gap: 12px; align-items: center; flex-wrap: wrap; }
.ef-costedit__msg:empty { display: none; }
.ef-costedit__msg .ef-field-error { margin: 0; }
.ef-costedit__ok { margin: 0; font: 500 13px var(--font-sans); color: var(--ok-fg); }
.ef-onb-aside .ef-dark-aside__h2 { line-height: 1.15; letter-spacing: -.01em; }

/* Add-a-field wizard (event page, design 2026-10-14 wizVals): the field-setup steps in a dialog.
   Reuses the .ef-fsetup__* parts; the backdrop and close button come from the pay modal. */
.ef-wiz { width: min(100%, 880px); border: 0; border-radius: 24px; box-shadow: 0 24px 64px rgba(0,0,0,.25); display: flex; flex-direction: column; }
.ef-wiz:focus { outline: none; }
.ef-wiz__head { padding: 22px 24px 0; display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.ef-wiz__eyebrow { margin: 0 0 4px; font: 500 12px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); }
.ef-wiz__title { margin: 0; font: 600 22px/1.2 var(--font-display); letter-spacing: -.01em; color: var(--ink); }
.ef-wiz__descs { display: flex; flex-direction: column; gap: 4px; margin-top: 8px; max-width: 640px; }
.ef-wiz__descs p { margin: 0; font: 400 14px/1.5 var(--font-sans); color: var(--text-strong); text-wrap: pretty; }
.ef-wiz__descs b { font-weight: 600; color: var(--ink); }
.ef-wiz__steps { padding: 20px 24px; display: flex; flex-direction: column; gap: 16px; }
.ef-wiz .ef-fsetup__body { padding-bottom: 4px; gap: 14px; }
.ef-wiz .ef-fsetup__tick { align-items: center; }
.ef-wiz__foot { padding: 16px 24px; background: var(--bg-app); border-top: 1px solid var(--a08); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.ef-wiz__s3 { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: start; min-width: 0; }
.ef-wiz__s3title { margin: 3px 0 0; font: 600 15px var(--font-sans); color: var(--ink); }
.ef-wiz__s3body { margin: 2px 0 0; font: 400 13px/1.5 var(--font-sans); color: var(--text-muted); text-wrap: pretty; }
.ef-wiz__consent { margin: 6px 0 0; font: 500 13px/1.45 var(--font-sans); color: var(--ink); text-wrap: pretty; font-variant-numeric: tabular-nums; }
.ef-wiz__s3 .ef-alert { margin-top: 8px; }
.ef-wiz__connect { flex-shrink: 0; min-height: 40px; padding: 0 18px; box-shadow: 0 1px 2px rgba(22,17,11,.15); }
.ef-wiz__connect .ef-btn__spin { margin-right: 6px; }
@media (max-width: 640px) {
  .ef-wiz-backdrop { padding: 0; }
  .ef-wiz { min-height: 100%; border-radius: 0; }
  .ef-wiz__head, .ef-wiz__steps { padding-left: 16px; padding-right: 16px; }
  .ef-wiz__foot { flex-direction: column; align-items: stretch; padding: 16px; }
  .ef-wiz__connect { width: 100%; }
  .ef-wiz .ef-fsetup__body { margin-left: 0; padding-left: 14px; }
}

/* The add-a-field nudge (event page Overview and the list): one dismissible line. */
.ef-nudge { display: flex; align-items: center; gap: 10px; padding: 8px 10px 8px 14px; background: #FFF7EC; border: 1px solid #F5D3A8; border-radius: 12px; }
.ef-nudge__icon { flex-shrink: 0; width: 18px; height: 18px; border-radius: 50%; background: #FFF1DE; color: #C25E00; display: grid; place-items: center; font: 600 11px var(--font-sans); }
.ef-nudge__text { flex: 1; min-width: 0; font: 400 13px/1.45 var(--font-sans); color: var(--text-strong); text-wrap: pretty; }
.ef-nudge__btn { border: 0; background: none; padding: 0; min-height: 28px; font: 600 13px var(--font-sans); color: #B4530A; cursor: pointer; white-space: nowrap; }
.ef-nudge__btn:hover { color: #7A3E00; }
.ef-nudge__x { width: 28px; height: 28px; flex-shrink: 0; border: 0; border-radius: 50%; background: none; color: #8E90A0; font: 400 16px var(--font-sans); cursor: pointer; }
.ef-nudge__x:hover { background: #FFE2BF; color: var(--ink); }
@media (max-width: 640px) { .ef-nudge { flex-wrap: wrap; } .ef-nudge__text { flex-basis: calc(100% - 64px); } }
