/* Event-page screens (push, pushed, live, finished). Namespaced .ef-ep-*; tokens from tokens.css. */

/* ── Tables ─────────────────────────────────────────────────────────────── */
.ef-ep-tablewrap { overflow-x: auto; border: 1px solid var(--a14); border-radius: var(--r-note); }
.ef-ep-tablewrap--scroll { max-height: 520px; overflow-y: auto; }
.ef-ep-table { width: 100%; border-collapse: collapse; font: 400 14px/1.4 var(--font-sans); color: var(--text-strong); }
.ef-ep-table th { position: sticky; top: 0; z-index: 1; background: var(--bg-app); text-align: left; font: 500 12px var(--font-sans); color: var(--text-muted); padding: 10px 14px; border-bottom: 1px solid var(--a08); white-space: nowrap; }
.ef-ep-table td { padding: 10px 14px; border-bottom: 1px solid var(--a07); vertical-align: middle; }
.ef-ep-table tbody tr:last-child td { border-bottom: 0; }
.ef-ep-table tbody tr:hover { background: var(--bg-app); }
.ef-ep-table td.ef-num { color: var(--ink); white-space: nowrap; }
.ef-ep-table--compact td, .ef-ep-table--compact th { padding: 8px 12px; }
.ef-ep-table--compact th { white-space: normal; }
/* Who's registered sits in a narrow column: keep all four columns visible instead of scrolling. */
.ef-ep-table--compact { font-size: 13px; }
.ef-ep-table--compact td, .ef-ep-table--compact th { padding: 8px 10px; }
.ef-ep-table--compact th:not(:first-child), .ef-ep-table--compact td:not(:first-child) { text-align: right; }
.ef-ep-table .ef-chips { gap: 4px; }
.ef-ep-chip--missing { border: 1px dashed var(--warn-dot); }

/* ── Push ───────────────────────────────────────────────────────────────── */
.ef-ep-push { flex-direction: row-reverse; }
.ef-ep-pushaside { gap: 0; border: 1px solid var(--a14); border-radius: var(--r-card); background: #fff; overflow: hidden; box-shadow: var(--sh-card); }
.ef-ep-price { padding: 18px 20px; background: var(--bg-app); border-bottom: 1px solid var(--a08); }
.ef-ep-price__val { font: var(--fw-number) 30px/1.15 var(--font-display); letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.ef-ep-pushaside__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 14px; }
.ef-ep-check { display: flex; flex-direction: column; gap: 6px; font: 400 13px/1.45 var(--font-sans); color: var(--text-strong); }
.ef-ep-check .is-pending { color: var(--warn-fg); }
.ef-ep-legend { margin-bottom: 4px; }
.ef-ep-sched { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--a12); border-radius: var(--r-box); background: #fff; cursor: pointer; transition: all var(--t-fast); }
.ef-ep-sched.is-on { border-color: var(--ink); background: var(--bg-app); }
.ef-ep-sched input { margin-top: 3px; accent-color: var(--ink); }
.ef-ep-sched__label { display: block; font: 600 14px var(--font-sans); color: var(--ink); }
.ef-ep-sched__help { display: block; font: 400 12px/1.45 var(--font-sans); color: var(--text-muted); }
.ef-ep-hour { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font: 500 13px var(--font-sans); color: var(--text-strong); }
.ef-ep-select { height: 34px; padding: 0 10px; border: 1px solid var(--a18); border-radius: var(--r-pill); background: #fff; font: 500 13px var(--font-sans); font-variant-numeric: tabular-nums; }
.ef-ep-consent { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--a14); border-radius: var(--r-note); font: 400 13px/1.5 var(--font-sans); color: var(--text-strong); cursor: pointer; transition: border-color var(--t-fast); }
.ef-ep-consent.is-on { border-color: var(--ink); }
.ef-ep-consent input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--ink); flex-shrink: 0; }
.ef-ep-consent b { font-weight: 500; }
.ef-ep-paybtn { transition: opacity var(--t-fast); }
.ef-ep-progress { display: flex; flex-direction: column; gap: 8px; }
.ef-ep-progress__bar { height: 8px; border-radius: var(--r-bar); background: var(--a08); overflow: hidden; }
.ef-ep-progress__bar span { display: block; height: 100%; background: var(--orange); border-radius: var(--r-bar); transition: width .2s linear; }
/* No count yet: a moving fill instead of a made-up width (ef-indet lives in components.css). */
.ef-ep-progress__bar.is-indeterminate span { width: 30%; animation: ef-indet 1.4s ease-in-out infinite; transition: none; }
@media (prefers-reduced-motion: reduce) { .ef-ep-progress__bar.is-indeterminate span { animation: ef-pulse 2.4s ease-in-out infinite; } }
.ef-ep-sumcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 12px; }
.ef-ep-sumcards .ef-card { gap: 6px; }

/* Fields */
.ef-ep-fieldlist { display: flex; flex-direction: column; gap: 10px; }
.ef-ep-field { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px; border: 1px solid var(--a12); border-radius: var(--r-item); background: #fff; }
.ef-ep-field.is-linked { background: var(--bg-app); }
.ef-ep-field__top { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.ef-ep-field__st { width: 26px; height: 26px; border-radius: 50%; border: 1.5px solid var(--a28); display: grid; place-items: center; font: 500 12px var(--font-sans); color: var(--text-muted); }
.ef-ep-field.is-linked .ef-ep-field__st { border: 0; background: var(--ok-dot); color: #fff; }
.ef-ep-field__name code { word-break: break-word; }
.ef-ep-field__copy { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.ef-ep-opt { display: inline-flex; align-items: center; height: 24px; padding: 0 8px; border-radius: var(--r-chip); background: var(--bg-peach); font: 500 12px var(--font-sans); color: var(--text-strong); }
.ef-ep-howto { display: flex; flex-direction: column; gap: 10px; padding-top: 4px; }
.ef-ep-field__optsblock { display: flex; flex-direction: column; gap: 8px; padding-left: 38px; }
.ef-ep-field__optshead { font: 500 13px var(--font-sans); color: var(--ink); }
.ef-ep-field__opts { gap: 6px; }
/* "Create 3 fields": numbered steps (1 add in Swoogo, 2 let us find them) */
.ef-ep-fstep { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; align-items: start; }
.ef-ep-fstep--cream { margin: 0 -24px -22px; padding: 18px 24px 20px; background: var(--bg-app); border-top: 1px solid var(--a08); border-radius: 0 0 var(--r-panel) var(--r-panel); }
.ef-ep-fstep__num { width: 28px; height: 28px; border-radius: 50%; background: var(--ink); color: var(--on-dark); display: grid; place-items: center; font: 600 13px var(--font-sans); }
.ef-ep-fstep__body { min-width: 0; }
.ef-ep-fstep__body h3 { margin: 3px 0 2px; }
.ef-ep-fstep__split { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 16px; }
@media (max-width: 640px) { .ef-ep-field__optsblock { padding-left: 0; } }

/* ── Pushed ─────────────────────────────────────────────────────────────── */
.ef-ep-pushedgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 16px; align-items: start; }
.ef-ep-pushed { padding: 28px; }
.ef-ep-pushed__icon { width: 36px; height: 36px; border-radius: 10px; font-size: 16px; }
.ef-ep-pushed .ef-row .ef-btn { align-self: flex-start; }

/* ── Suggested actions ──────────────────────────────────────────────────── */
.ef-ep-sa { display: flex; flex-direction: column; gap: 6px; }
.ef-ep-sa__item { border: 1px solid var(--a06); border-radius: var(--r-item); background: #fff; transition: border-color var(--t-fast); }
.ef-ep-sa__item:hover { border-color: var(--a18); }
.ef-ep-sa__item.is-open { border-color: var(--ink); }
.ef-ep-sa__row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding-right: 12px; }
.ef-ep-sa__row > .ef-ep-sa__head { flex: 1 1 380px; min-width: 0; width: auto; }
.ef-ep-sa__item.is-done { background: var(--ok-box-bg); }
.ef-ep-sa__status { flex-shrink: 0; margin-left: auto; min-height: 32px; padding: 0 12px; border: 1px solid var(--a18); border-radius: var(--r-pill); background: #fff; font: 500 11px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; cursor: pointer; transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast); }
.ef-ep-sa__status:hover { border-color: var(--ink); color: var(--ink); }
.ef-ep-sa__status.is-on { background: var(--ok-bg); border-color: var(--ok-box-border); color: var(--ok-fg); }
.ef-ep-sa__status:disabled { opacity: .6; cursor: progress; }
.ef-ep-sa__head { width: 100%; display: grid; grid-template-columns: 18px minmax(0, 1fr) auto auto 22px; gap: 12px; align-items: center; min-height: 58px; padding: 8px 14px; border: 0; background: none; text-align: left; font-family: var(--font-sans); border-radius: var(--r-item); }
.ef-ep-sa__dot { width: 12px; height: 12px; border-radius: 50%; background: var(--text-faint); display: grid; place-items: center; font-size: 8px; color: #fff; justify-self: center; }
.ef-ep-sa__dot.is-standard { background: var(--standard-dot); }
.ef-ep-sa__dot.is-done { width: 18px; height: 18px; background: var(--ok-dot); }
.ef-ep-sa__text { display: flex; flex-direction: column; min-width: 0; }
.ef-ep-sa__action { font: 600 14px/1.3 var(--font-sans); color: var(--ink); }
.ef-ep-sa__group { font: 400 13px/1.3 var(--font-sans); color: var(--text-muted); }
.ef-ep-sa__item.is-done .ef-ep-sa__action { color: var(--text-muted); }
.ef-ep-sa__count { font: 500 13px var(--font-sans); color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ef-ep-sa__i { width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--a22); display: grid; place-items: center; font: italic 600 12px Georgia, serif; color: var(--text-muted); }
.ef-ep-sa__item.is-open .ef-ep-sa__i { background: var(--ink); border-color: var(--ink); color: #fff; }
.ef-ep-sa__body { padding: 0 16px 16px 44px; display: flex; flex-direction: column; gap: 8px; animation: ef-rise .2s ease; }
.ef-ep-sa__lift { font: 400 13px var(--font-sans); color: var(--text-strong); }
.ef-ep-sa__lift .ef-num { font-size: 15px; }
.ef-ep-sa__doneline { font: 500 13px var(--font-sans); color: var(--ok-fg); }
.ef-ep-sa__counter { font-variant-numeric: tabular-nums; }

/* ── Live ───────────────────────────────────────────────────────────────── */
.ef-ep-head { align-items: flex-end; }
.ef-ep-head .ef-h1 { margin: 0; }
.ef-ep-head > .ef-stack > .ef-row { gap: 10px; }
.ef-ep-head > .ef-stack > p.ef-meta { font-size: 14px; margin-top: -2px; font-variant-numeric: tabular-nums; }
.ef-ep-head > .ef-row { gap: 8px; }
.ef-ep-morewrap { position: relative; }
.ef-ep-more { width: 40px; height: 40px; min-height: 40px; padding: 0; border: 1px solid var(--a18); border-radius: var(--r-pill); background: #fff; color: var(--ink); font: 500 18px/1 var(--font-sans); letter-spacing: 0; text-transform: none; }
.ef-ep-menu { top: calc(100% + 8px); right: 0; left: auto; width: 230px; }
.ef-ep-menu .ef-menu__item.is-inert { cursor: default; }
.ef-ep-stats { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; }
.ef-ep-stat { gap: 2px; box-shadow: none; }
.ef-ep-stat .ef-eyebrow { margin: 0; }
.ef-ep-stat__sentence { margin-top: 8px; font: var(--fw-number) 20px/1.35 var(--font-display); letter-spacing: -.01em; color: var(--ink); text-wrap: pretty; font-variant-numeric: tabular-nums; }
.ef-ep-stat__sub { margin-top: 8px; font: 400 13px/1.45 var(--font-sans); color: var(--text); font-variant-numeric: tabular-nums; }
.ef-ep-stat__big + .ef-ep-stat__sub { margin-top: 0; }
.ef-ep-stat__big { margin-top: 8px; font: var(--fw-number) 30px/1.15 var(--font-display); color: var(--ink); font-variant-numeric: tabular-nums; }
.ef-ep-stat__foot { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--a08); display: flex; flex-direction: column; gap: 4px; font: 400 12px var(--font-sans); color: var(--text-muted); }
.ef-ep-stat__sub + .ef-ep-stat__foot { margin-top: auto; }
.ef-ep-stat__row { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.ef-ep-stat__val { font: 500 13px var(--font-sans); color: var(--ink); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ef-ep-stat .ef-ok-text { color: var(--ok-fg); }
.ef-ep-livegrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 24px; align-items: start; }
.ef-ep-sec { gap: 16px; }
.ef-ep-panel { padding: 20px 22px; box-shadow: none; }
.ef-ep-panel .ef-meta { margin-top: 2px; }
.ef-ep-sechead { flex-wrap: wrap; align-items: baseline; gap: 4px 16px; }
/* Add UTM & email reports panel (D6). Backend not built: actions answer "Not active yet". */
.ef-ep-rep { display: flex; flex-direction: column; animation: ef-rise var(--t-rise) ease; }
.ef-ep-rep__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; align-items: start; }
.ef-ep-rep__sec { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; border: 1px solid var(--a12); border-radius: var(--r-note); background: #fff; min-width: 0; }
.ef-ep-rep__sec > .ef-btn { align-self: flex-start; }
.ef-ep-rep__off { margin: 0; padding: 10px 12px; border-radius: var(--r-field); background: var(--bg-bench); border: 1px solid var(--warn-border); font: 400 13px/1.5 var(--font-sans); color: var(--warn-fg); }
.ef-ep-rep__off b { font-weight: 600; }
.ef-ep-rep__file { font: 400 13px var(--font-sans); color: var(--text-strong); max-width: 100%; }
.ef-ep-devrow { gap: 24px; align-items: flex-start; }
.ef-ep-devrow > .ef-two-col__main { flex: 999 1 520px; min-width: 0; }
.ef-ep-liveaside { flex: 1 1 300px; gap: 14px; }
.ef-ep-asidecard { gap: 8px; box-shadow: none; }
.ef-ep-asidecard.ef-card--accent { padding: 20px; }
.ef-ep-asidecard .ef-eyebrow { margin: 0; }
.ef-ep-asidecard.ef-card--cream { gap: 10px; }
.ef-ep-asidecard__body { margin: 0; font: 400 14px/1.5 var(--font-sans); color: var(--text-strong); }
.ef-ep-asidecard__body.is-ink { color: var(--ink); }
.ef-title--17 { font-size: 17px; margin: 0; }
.ef-ep-asidecard .ef-strong { color: var(--ink); font-weight: var(--fw-number); }
.ef-ep-paid .ef-dl { font-size: 14px; gap: 8px 16px; }
.ef-ep-paid .ef-dl dt { color: var(--text-strong); }

/* "How is this developing?": flush card, chart then an edge-to-edge table */
.ef-ep-dev { padding: 0; gap: 0; overflow: hidden; box-shadow: none; }
.ef-ep-dev > .ef-ep-sechead { padding: 18px 20px 0; }
.ef-ep-dev > .ef-ep-sechead .ef-meta { margin: 0; }

/* Chart (design: 700×140 viewBox, baseline at 110, dated points) */
.ef-ep-chart { margin: 0; padding: 12px 20px 4px; }
.ef-ep-chart__svg { display: block; width: 100%; height: 140px; overflow: visible; }
.ef-ep-chart__base { stroke: var(--a08); }
.ef-ep-chart__line { fill: none; stroke: var(--orange); stroke-width: 2.5; stroke-linejoin: round; }
.ef-ep-chart__pt { fill: #fff; stroke: var(--orange); stroke-width: 2; }
.ef-ep-chart__pt.is-last { fill: var(--ink); stroke: none; }
.ef-ep-chart__lbl { font: 400 12px var(--font-sans); fill: var(--text-muted); }
.ef-ep-chart__empty { padding: 8px 20px; }

/* Refresh table */
.ef-ep-rtable { width: 100%; table-layout: fixed; border-collapse: collapse; font: 400 13px var(--font-sans); color: var(--text-strong); font-variant-numeric: tabular-nums; }
.ef-ep-rtable th { padding: 10px 8px; font: 500 12px var(--font-sans); color: var(--text-muted); text-align: right; border-top: 1px solid var(--a08); border-bottom: 1px solid var(--a08); white-space: nowrap; }
.ef-ep-rtable th:first-child { text-align: left; padding-left: 20px; width: 15.6%; }
.ef-ep-rtable th:last-child, .ef-ep-rtable tbody tr:not(.ef-ep-xtr) td:last-child { padding-right: 20px; }
.ef-ep-rtable tbody tr:not(.ef-ep-xtr) td { padding: 2px 8px; text-align: right; font-weight: 500; color: var(--ink); border-bottom: 1px solid var(--a07); }
.ef-ep-rtable tbody tr:not(.ef-ep-xtr) td:first-child { text-align: left; padding-left: 14px; }
.ef-ep-rtable tbody tr:not(.ef-ep-xtr):hover td, .ef-ep-rtable tr.is-open td { background: var(--bg-app); }
.ef-ep-rtable tbody tr:last-child td { border-bottom: 0; }
.ef-ep-rtable tbody tr:not(.ef-ep-xtr) td.ef-ep-added { color: var(--ok-fg); } /* outranks the generic ink cell rule above */
.ef-ep-rowbtn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 8px 0 4px; border: 0; background: none; font: 500 13px var(--font-sans); color: var(--ink); white-space: nowrap; cursor: pointer; }
.ef-ep-rowbtn__chev { width: 12px; color: var(--text-muted); }
.ef-ep-xtr td { padding: 12px 20px 16px 38px; background: var(--bg-app); border-bottom: 1px solid var(--a07); }
.ef-ep-xrow { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; font: 500 13px/1.7 var(--font-sans); color: var(--ink); }
.ef-ep-xrow__h { font: 500 12px var(--font-sans); color: var(--text-muted); }
.ef-ep-xrow__h.is-added { color: var(--ok-fg); }
.ef-ep-ids { font-variant-numeric: tabular-nums; word-break: break-word; max-height: 220px; overflow-y: auto; }
.ef-ep-leftlist { display: flex; flex-direction: column; }
.ef-ep-leftlist li { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; min-height: 28px; }
.ef-ep-leftlist__why { font: 400 12px var(--font-sans); color: var(--text-muted); }
.ef-ep-donechip { display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 8px; border-radius: var(--r-pill); background: var(--ok-bg); color: var(--ok-fg); font: 500 11px var(--font-sans); }

/* Who's registered */
.ef-ep-whowrap { display: flex; flex-direction: column; gap: 10px; }
.ef-ep-split { display: grid; grid-template-columns: 110px minmax(0, 1fr) minmax(150px, auto); gap: 10px; align-items: center; font: 400 12px var(--font-sans); color: var(--text-muted); }
.ef-ep-split__label { color: var(--ink); font-weight: 500; }
.ef-ep-split__txt { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ef-ep-split__bar { display: flex; gap: 2px; height: 10px; border-radius: var(--r-bar); overflow: hidden; }
.ef-ep-split__seg { display: block; height: 100%; }
.ef-ep-split__seg.is-ret, .ef-ep-swatch.is-ret { background: var(--ink); }
.ef-ep-split__seg.is-new, .ef-ep-swatch.is-new { background: var(--bg-apricot); }
.ef-ep-split__seg.is-unk { background: var(--warm-dash); }
.ef-ep-swatch { display: inline-block; width: 8px; height: 8px; border-radius: 2px; flex-shrink: 0; }
.ef-ep-swatch.is-no { background: var(--orange); }
.ef-ep-swatch.is-yes { background: var(--ok-dot); }
.ef-ep-whogrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ef-ep-who { display: flex; flex-direction: column; min-width: 0; }
.ef-ep-who__h { display: flex; align-items: center; gap: 6px; font: 500 13px var(--font-sans); color: var(--text-strong); }
.ef-ep-who__n { margin-top: 4px; font: var(--fw-number) 24px/1.2 var(--font-display); color: var(--ink); font-variant-numeric: tabular-nums; }
.ef-ep-who__pct { font: 400 14px var(--font-sans); color: var(--text-muted); }
.ef-ep-who__exp { font: 400 12px/1.5 var(--font-sans); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.ef-ep-rttable { width: 100%; border-collapse: collapse; font: 400 13px var(--font-sans); color: var(--text-strong); font-variant-numeric: tabular-nums; }
.ef-ep-rttable th { padding: 0 0 6px; font: 500 12px var(--font-sans); color: var(--text-muted); text-align: left; border-bottom: 1px solid var(--a07); }
.ef-ep-rttable td { padding: 8px 0; border-bottom: 1px solid var(--a07); }
.ef-ep-rttable td:first-child { color: var(--ink); font-weight: 500; }
.ef-ep-rttable th:nth-child(2), .ef-ep-rttable td:nth-child(2) { width: 90px; text-align: right; }
.ef-ep-rttable th:nth-child(3), .ef-ep-rttable td:nth-child(3) { width: 150px; text-align: right; }
.ef-ep-who__note { margin: 0; padding: 12px 14px; border-radius: var(--r-field); background: var(--bg-app); font: 400 13px/1.5 var(--font-sans); color: var(--text-strong); }
.ef-ep-who__note .ef-strong { font-weight: 500; color: var(--ink); }

/* Signals: risky and protective side by side */
.ef-ep-sigcols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 24px; }
.ef-ep-sig__col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.ef-ep-sig__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.ef-ep-sig__head h3 { margin: 0; display: flex; align-items: center; gap: 8px; font: 600 14px var(--font-sans); color: var(--ink); }
.ef-ep-sig__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); }
.ef-ep-sig__dot.is-prot { background: var(--ok-dot); }
.ef-ep-sig__side { font: 500 12px var(--font-sans); color: var(--text-muted); white-space: nowrap; }
.ef-ep-sig { display: flex; flex-direction: column; gap: 10px; }
.ef-ep-sig__item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; align-items: baseline; }
.ef-ep-sig__text { font: 500 13px var(--font-sans); color: var(--ink); }
.ef-ep-sig__x { font: 500 13px var(--font-sans); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.ef-ep-sig__x.is-prot { color: var(--ok-fg); }
.ef-ep-sig__track { grid-column: 1 / -1; height: 4px; border-radius: var(--r-bar); background: var(--a08); overflow: hidden; }
.ef-ep-sig__fill { display: block; height: 100%; border-radius: var(--r-bar); background: var(--orange); }
.ef-ep-sig__fill.is-prot { background: var(--ok-dot); }
.ef-ep-sig__n { grid-column: 1 / -1; font: 400 12px var(--font-sans); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.ef-ep-sig__foot { margin: 0; font: 400 12px/1.5 var(--font-sans); color: var(--text-muted); }

/* Suggested actions on the live page (Working on it / Done / Skip) */
.ef-ep-sa__title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.ef-ep-sa__counter { font: 500 11px var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.ef-ep-lsa { display: flex; flex-direction: column; gap: 8px; }
.ef-ep-lsa__item { border: 1px solid var(--a06); border-radius: var(--r-item); background: var(--bg-app); overflow: hidden; transition: border-color var(--t-fast); }
.ef-ep-lsa__item.is-open { border-color: var(--ink); }
.ef-ep-lsa__item.is-done { background: #F2FAF5; }
.ef-ep-lsa__item.is-skip { background: #fff; }
.ef-ep-lsa__row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding-right: 12px; }
.ef-ep-lsa__head { flex: 1 1 380px; min-width: 0; display: grid; grid-template-columns: 8px minmax(0, 1fr) auto auto 22px; gap: 12px; align-items: center; padding: 12px 16px; border: 0; background: none; text-align: left; cursor: pointer; font-family: var(--font-sans); }
.ef-ep-lsa__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--text-faint); }
.ef-ep-lsa__dot.is-standard { background: var(--standard-dot); }
.ef-ep-lsa__text { min-width: 0; }
.ef-ep-lsa__todo { display: block; font: 600 14px/1.35 var(--font-sans); color: var(--ink); }
.ef-ep-lsa__item.is-done .ef-ep-lsa__todo { text-decoration: line-through; }
.ef-ep-lsa__item.is-skip .ef-ep-lsa__todo { color: var(--text-muted); }
.ef-ep-lsa__group { display: block; font: 400 13px/1.35 var(--font-sans); color: var(--text-muted); }
.ef-ep-lsa__tag { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: var(--r-pill); background: var(--ok-bg); color: var(--ok-fg); font: 500 10px var(--font-mono); letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.ef-ep-lsa__tag.is-standard { background: var(--standard-bg); color: var(--standard-fg); }
.ef-ep-lsa__count { font: 500 13px var(--font-sans); color: var(--text-strong); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ef-ep-lsa__i { width: 22px; height: 22px; border-radius: 50%; background: var(--a08); color: var(--text); display: grid; place-items: center; font: italic 600 12px Georgia, serif; }
.ef-ep-lsa__item.is-open .ef-ep-lsa__i { background: var(--ink); color: var(--on-dark); }
.ef-ep-lsa__seg { display: inline-flex; flex-shrink: 0; margin-left: auto; padding: 3px; gap: 2px; border-radius: var(--r-field); background: var(--bg-peach); }
.ef-ep-lsa__opt { min-height: 30px; padding: 0 10px; border: 0; border-radius: var(--r-seg); background: transparent; font: 500 11px var(--font-mono); letter-spacing: .03em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; cursor: pointer; }
.ef-ep-lsa__opt.is-on { background: #fff; color: var(--ink); box-shadow: var(--sh-seg); }
.ef-ep-lsa__opt.is-done { background: var(--ok-bg); color: var(--ok-fg); }
.ef-ep-lsa__opt[aria-disabled="true"] { cursor: default; }
.ef-ep-lsa__body { padding: 0 16px 14px 36px; display: flex; flex-direction: column; gap: 6px; animation: ef-rise .2s ease; }
.ef-ep-lsa__why { margin: 0; font: 400 13px/1.55 var(--font-sans); color: var(--text-strong); text-wrap: pretty; }
.ef-ep-lsa__because { margin: 0; font: 400 12px var(--font-sans); color: var(--text-muted); }
.ef-ep-lsa__because b { font-weight: 600; color: var(--text-strong); }
.ef-ep-lsa__done { margin: 0; font: 500 12px var(--font-sans); color: var(--ok-fg); }

/* ── Finished ───────────────────────────────────────────────────────────── */
.ef-ep-result { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 32px; align-items: center; padding: 26px 28px; box-shadow: none; }
.ef-ep-result .ef-eyebrow { margin: 0 0 10px; }
.ef-ep-result__sentence { margin: 0; font: var(--fw-number) 26px/1.3 var(--font-display); letter-spacing: -.015em; color: var(--ink); text-wrap: pretty; }
.ef-ep-result__exp { margin: 10px 0 0; font: 400 14px/1.5 var(--font-sans); color: var(--text); }
.ef-ep-cbars { display: flex; flex-direction: column; gap: 14px; }
.ef-ep-cbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; align-items: baseline; }
.ef-ep-cbar__label { font: 600 14px var(--font-sans); color: var(--ink); }
.ef-ep-cbar__label span { font-weight: 400; color: var(--text-muted); }
.ef-ep-cbar__val { font: 500 14px var(--font-sans); color: var(--ink); font-variant-numeric: tabular-nums; }
.ef-ep-cbar__track { grid-column: 1 / -1; display: flex; gap: 2px; height: 10px; border-radius: var(--r-bar); overflow: hidden; }
.ef-ep-cbar__no { display: block; background: var(--orange); }
.ef-ep-cbar__yes { display: block; background: var(--ok-dot); }
.ef-ep-cbar__legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font: 400 12px var(--font-sans); color: var(--text-muted); }
.ef-ep-cbar__legend span { display: inline-flex; align-items: center; gap: 6px; }
.ef-ep-cbar__caveat { margin: 0; padding-top: 12px; border-top: 1px solid var(--a08); font: 400 13px/1.5 var(--font-sans); color: var(--text-strong); }
.ef-ep-final { padding: 0; gap: 0; overflow: hidden; box-shadow: none; }
.ef-ep-final__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 20px; border-bottom: 1px solid var(--a08); }
.ef-ep-final__head h2 { margin: 0; }
.ef-ep-csv { padding: 0; border: 0; background: none; font: 500 13px var(--font-sans); color: var(--ink); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.ef-ep-csv:disabled { opacity: .6; cursor: progress; }
.ef-ep-ftable { width: 100%; table-layout: fixed; border-collapse: collapse; font: 400 14px var(--font-sans); color: var(--text-strong); }
.ef-ep-ftable th { position: static; background: #fff; padding: 10px 12px; font: 500 12px var(--font-sans); color: var(--text-muted); text-align: left; border-bottom: 1px solid var(--a08); }
.ef-ep-ftable td { padding: 11px 12px; border-bottom: 1px solid var(--a07); }
.ef-ep-ftable td:last-child { padding-top: 8px; padding-bottom: 8px; }
.ef-ep-ftable th:first-child, .ef-ep-ftable td:first-child { width: 72px; padding-left: 20px; }
.ef-ep-ftable th:last-child, .ef-ep-ftable td:last-child { padding-right: 20px; }
.ef-ep-ftable tbody tr:hover { background: var(--bg-app); }
.ef-ep-ftable td.is-strong { font-weight: 500; color: var(--ink); font-variant-numeric: tabular-nums; }
.ef-ep-ftable td.is-c { color: var(--ink); font-variant-numeric: tabular-nums; }
.ef-ep-ftable td.is-nc { color: var(--text-muted); }
.ef-ep-outcome { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: var(--r-pill); font: 500 12px var(--font-sans); background: var(--neutral-bg); color: var(--neutral-fg); }
.ef-ep-outcome.is-no_show { background: var(--risk-bg); color: var(--risk-fg); }
.ef-ep-outcome.is-attended { background: var(--ok-bg); color: var(--ok-fg); }
/* Share report: inert until a share link exists (DATA marker in finished.js), drawn as the design's secondary button. */
.ef-ep-share[aria-disabled="true"] { opacity: 1; color: var(--ink); cursor: default; }
.ef-ep-headbtns { gap: 8px; }
.ef-ep-pager { padding: 12px 20px; font: 400 13px var(--font-sans); color: var(--text-muted); }

/* ── Narrow ─────────────────────────────────────────────────────────────── */
@media (max-width: 960px) {
  .ef-ep-pushaside { position: static; order: 2; }
  .ef-ep-stats { grid-template-columns: 1fr 1fr; }
  .ef-ep-stat--wide { grid-column: 1 / -1; }
  .ef-ep-livegrid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .ef-ep-stats { grid-template-columns: 1fr; }
  .ef-ep-field__top { grid-template-columns: 26px minmax(0, 1fr); }
  .ef-ep-field__copy { grid-column: 1 / -1; justify-content: flex-start; }
  .ef-ep-sa__head { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .ef-ep-sa__head .ef-tag, .ef-ep-sa__i { display: none; }
  .ef-ep-sa__body { padding-left: 16px; }
  .ef-ep-head > .ef-row { width: 100%; }
  .ef-ep-table { font-size: 13px; }
  .ef-ep-table td, .ef-ep-table th { padding: 8px 10px; }
  .ef-ep-dev, .ef-ep-final { overflow-x: auto; }
  .ef-ep-split { grid-template-columns: 1fr; gap: 6px; }
  .ef-ep-split__txt { text-align: left; }
  .ef-ep-whogrid, .ef-ep-xrow { grid-template-columns: 1fr; }
  .ef-ep-xtr td { padding-left: 20px; }
  .ef-ep-lsa__head { grid-template-columns: 8px minmax(0, 1fr) auto; }
  .ef-ep-lsa__tag, .ef-ep-lsa__i { display: none; }
  .ef-ep-lsa__body { padding-left: 16px; }
  .ef-ep-lsa__seg { margin: 0 0 10px 16px; }
  .ef-ep-result { padding: 22px 20px; gap: 24px; }
  .ef-ep-result__sentence { font-size: 22px; }
}

/* Live: what went wrong last (2026-10-13). Swoogo's reason and ids wrap on a phone. */
.ef-ep-health { margin: 0 0 16px; }
.ef-ep-health p { margin: 0 0 6px; }
/* Push again: the confirm under the header (live.js repushPanel). */
.ef-ep-repush { display: grid; gap: 10px; margin: 0 0 16px; }
.ef-ep-repush .ef-title:focus { outline: none; }
.ef-ep-repush .ef-body { margin: 0; }
.ef-ep-repush__body { display: grid; gap: 10px; }
.ef-ep-repush-result { margin: 0 0 16px; }
.ef-ep-repush-result .ef-btn { min-height: 0; padding: 0 6px; font-size: 18px; }
/* Refresh now (2026-10-20): the confirm under the header and the "refreshing" line (live.js refreshNowControl). */
.ef-ep-rn { display: grid; gap: 10px; margin: 0 0 16px; }
.ef-ep-rn .ef-title:focus { outline: none; }
.ef-ep-rn .ef-body { margin: 0; }
.ef-ep-rn__body { display: grid; gap: 10px; }
.ef-ep-rnstatus:empty { display: none; }
.ef-ep-rnstatus { margin: 0 0 16px; }
.ef-ep-rnstatus .ef-meta { margin: 0; }
.ef-ep-refreshnow[aria-busy="true"] { cursor: default; }
/* Unlock and redo setup (2026-10-20): the notice on the event page and the setup step, and the confirm's bullets. */
.ef-unlocked { margin: 0 0 16px; }
.ef-unlocked .ef-alert { align-items: center; }
.ef-unlocked__go { white-space: nowrap; }
/* Bundle places (2026-10-20): registrants held back because the bundle is full (live.js bundleNotice). */
.ef-ep-bundle { margin: 0 0 16px; }
.ef-ep-bundle .ef-alert + div:not(:empty) { margin-top: 8px; }
.ef-ep-bundle p { margin: 0 0 6px; }
.ef-ep-bundle p:last-child { margin-bottom: 0; }
.ef-ep-bundle__go { white-space: nowrap; }
.ef-unlock__list { margin: 0 0 4px; padding-left: 20px; display: grid; gap: 8px; font: 400 14px/1.5 var(--font-sans); color: var(--text-strong); }
.ef-ep-health__more summary { cursor: pointer; font-size: 13px; color: var(--text-muted); }
.ef-ep-health__more code { display: block; margin-top: 6px; font: 400 12px/1.45 var(--font-mono); color: var(--text-muted); white-space: pre-wrap; overflow-wrap: anywhere; }

/* ── Live tabs: Overview · The list · Actions (design 2026-10-13) ─────────────── */
.ef-ep-tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--a12); margin-top: -6px; }
.ef-ep-tab { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 0; border-bottom: 2px solid transparent; margin-bottom: -1px; background: none; font: 600 14px var(--font-sans); color: var(--text-muted); cursor: pointer; white-space: nowrap; text-decoration: none; }
.ef-ep-tab:hover { color: var(--ink); }
.ef-ep-tab[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--orange); }
.ef-ep-tab__n { display: inline-flex; align-items: center; height: 20px; padding: 0 8px; border-radius: var(--r-pill); background: var(--a06); font: 500 11px var(--font-sans); color: var(--text-muted); font-variant-numeric: tabular-nums; }
.ef-ep-tab__n:empty { display: none; }
.ef-ep-tab[aria-selected="true"] .ef-ep-tab__n { background: var(--bg-peach); color: #7A3E00; }
.ef-ep-tabpanel { display: flex; flex-direction: column; gap: 24px; }
.ef-ep-tabpanel[hidden] { display: none; }

/* Shared bits: mono kicker, numbered steps, pill buttons */
.ef-ep-k { font: 500 11px var(--font-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted); }
.ef-ep-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ef-ep-steps li { display: flex; gap: 10px; align-items: flex-start; font: 400 13px/1.5 var(--font-sans); color: var(--ink); }
.ef-ep-steps__n { flex-shrink: 0; width: 20px; height: 20px; border-radius: 6px; background: var(--bg-peach); color: #7A3E00; display: grid; place-items: center; font: 500 11px var(--font-sans); }
.ef-ep-steps__t { min-width: 0; text-wrap: pretty; }
.ef-ep-steps--white .ef-ep-steps__n { background: #fff; }
.ef-ep-steps--muted li { color: var(--text-strong); }
.ef-ep-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border: 1px solid var(--a18); border-radius: var(--r-pill); background: #fff; font: 500 11px var(--font-mono); letter-spacing: .03em; text-transform: uppercase; color: var(--ink); cursor: pointer; white-space: nowrap; text-decoration: none; align-self: flex-start; }
.ef-ep-pill:hover { border-color: var(--ink); }
.ef-ep-pill--cta { border-color: transparent; background: var(--cta); }
.ef-ep-pill--cta:hover { border-color: transparent; background: var(--orange); }
.ef-ep-pill:disabled { opacity: .6; cursor: progress; }

/* Suggested actions: how to do it, filter, CSV */
.ef-ep-how { margin: 6px 0 4px; padding: 12px 14px; border-radius: 12px; background: #fff; border: 1px solid var(--a08); display: flex; flex-direction: column; gap: 8px; }
.ef-ep-lsa__btns { margin-top: 6px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

/* How many calls */

/* Standard follow-ups + where to work from */
.ef-ep-std { gap: 14px; }
.ef-ep-std__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 12px; }
.ef-ep-stdcard { border: 1px solid var(--a12); border-radius: 18px; background: var(--bg-app); padding: 16px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.ef-ep-stdcard__head { display: flex; flex-direction: column; gap: 4px; }
.ef-ep-stdcard__title { margin: 0; font: 600 18px/1.25 var(--font-display); letter-spacing: -.01em; color: var(--ink); text-wrap: pretty; }
.ef-ep-stdcard__who { margin: 0; font: 400 13px/1.5 var(--font-sans); color: var(--text); text-wrap: pretty; }
.ef-ep-stdcard__how { display: flex; flex-direction: column; gap: 6px; }
.ef-ep-needs { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 12px; padding: 12px 14px; border-radius: 14px; background: var(--bg-peach); border: 1px solid #F5D3A8; }
.ef-ep-needs__line { font: 600 13px var(--font-sans); color: #7A3E00; }
.ef-ep-needs .ef-ep-pill { align-self: center; }
.ef-ep-nudgehost:empty { display: none; }
.ef-ep-ready { align-self: flex-start; display: inline-flex; align-items: center; min-height: 28px; padding: 4px 12px; border-radius: var(--r-pill); background: var(--ok-bg); color: var(--ok-fg); font: 500 12px/1.4 var(--font-sans); }
.ef-ep-script { border-top: 1px solid var(--a08); padding-top: 10px; display: flex; flex-direction: column; gap: 10px; }
.ef-ep-script__toggle { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; padding: 0; border: 0; background: none; cursor: pointer; text-align: left; }
.ef-ep-script__toggle:focus-visible { box-shadow: var(--focus-ring); border-radius: 8px; }
.ef-ep-script__label { flex: 1; font: 600 14px var(--font-sans); color: var(--ink); }
.ef-ep-script__chev { flex-shrink: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--a06); display: grid; place-items: center; font: 500 14px var(--font-sans); color: var(--ink); }
.ef-ep-script__body { display: flex; flex-direction: column; gap: 12px; min-width: 0; animation: ef-rise .2s ease; }

/* Call script and email template (design 2026-10-15): the call guide's vocabulary, compact. */
.ef-ph { padding: 0 5px; border: 1px dashed #E3A660; border-radius: 6px; background: #FFF4E5; color: #7A3E00; -webkit-box-decoration-break: clone; box-decoration-break: clone; overflow-wrap: break-word; }
.ef-ep-script .ef-copy { min-height: 44px; padding: 0 16px; }
.ef-ep-script .ef-copy:hover { border-color: var(--ink); }
.ef-ep-script .ef-copy:focus-visible { box-shadow: var(--focus-ring); }
.ef-sc-call { padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid var(--a08); }
.ef-sc-head { display: flex; justify-content: flex-end; margin: -4px 0 -6px; }
.ef-sc-link { display: inline-flex; align-items: center; gap: 4px; min-height: 32px; padding: 0 4px; font: 500 13px var(--font-sans); color: var(--ink); text-decoration: underline; text-decoration-color: var(--a18); text-underline-offset: 3px; }
.ef-sc-link:hover { text-decoration-color: var(--ink); }
.ef-sc-link:focus-visible { box-shadow: var(--focus-ring); border-radius: 6px; }
.ef-sc-prep { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 12px; background: var(--bg-peach); border: 1px solid #F5D3A8; }
.ef-sc-prep .ef-ep-k { color: #7A3E00; }
.ef-sc-prep__t { margin: 0; max-width: 70ch; font: 400 14px/1.5 var(--font-sans); color: var(--ink); text-wrap: pretty; }
.ef-sc-rules { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ef-sc-rule { max-width: 100%; padding: 6px 10px; border-radius: 10px; background: #fff; border: 1px solid #F5D3A8; font: 400 12px/1.45 var(--font-sans); color: var(--text-muted); }
.ef-sc-rule b { font-weight: 500; color: var(--ink); }
.ef-sc-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.ef-sc-step { display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 10px; row-gap: 8px; align-items: start; }
.ef-sc-step__h { grid-column: 2; margin: 0; font: 600 14px/20px var(--font-sans); color: var(--ink); }
.ef-sc-step__c { grid-column: 2; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.ef-sc-say { margin: 0; max-width: 70ch; padding: 12px 14px; border-radius: 12px; border-left: 3px solid var(--cta); background: var(--bg-app); font: 400 15px/1.55 var(--font-sans); color: var(--ink); text-wrap: pretty; overflow-wrap: break-word; }
.ef-sc-tip { margin: 0; max-width: 70ch; font: 400 13px/1.45 var(--font-sans); color: var(--text-muted); text-wrap: pretty; overflow-wrap: break-word; }
.ef-sc-why { display: flex; flex-direction: column; gap: 6px; }
.ef-sc-replies { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 8px; }
.ef-sc-reply { min-width: 0; display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 12px; background: #fff; border: 1px solid var(--a10); }
.ef-sc-reply .ef-sc-say { padding: 10px 12px; }
.ef-sc-reply .ef-sc-tip { margin-top: auto; }
.ef-sc-lists { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 8px; }
.ef-sc-may, .ef-sc-never { min-width: 0; display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border-radius: 14px; }
.ef-sc-may { border: 1px solid var(--ok-box-border); background: #F6FBF8; }
.ef-sc-never { border: 1px solid #F1D3CB; background: #FDF4F1; }
.ef-sc-box__h { margin: 0; font: 600 14px var(--font-sans); color: var(--ink); }
.ef-sc-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.ef-sc-list li { display: flex; gap: 8px; min-width: 0; font: 400 14px/1.5 var(--font-sans); color: var(--ink); }
.ef-sc-list li > span:last-child { min-width: 0; overflow-wrap: break-word; }
.ef-sc-mark { flex-shrink: 0; font-weight: 600; }
.ef-sc-may .ef-sc-mark { color: var(--ok-fg); }
.ef-sc-never .ef-sc-mark { color: #B3261E; }
.ef-sc-maynote { margin: 0; font: 400 12px/1.5 var(--font-sans); color: var(--text-strong); }
.ef-sc-lists--compact .ef-sc-may, .ef-sc-lists--compact .ef-sc-never { gap: 6px; padding: 10px 12px; border-radius: 12px; }
.ef-sc-lists--compact .ef-sc-box__h, .ef-sc-lists--compact .ef-sc-list li { font-size: 13px; }
.ef-sc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ef-sc-send { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; font: 400 14px/1.5 var(--font-sans); color: var(--ink); }
.ef-sc-send__t { min-width: 0; max-width: 70ch; text-wrap: pretty; }
.ef-sc-mail { min-width: 0; border: 1px solid var(--a14); border-radius: 14px; background: #fff; }
.ef-sc-mail__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; padding: 12px 18px; border-bottom: 1px solid var(--a08); }
.ef-sc-mail__subj { flex: 1 1 220px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.ef-sc-mail__subject { font: 500 15px/1.45 var(--font-sans); color: var(--ink); overflow-wrap: break-word; }
.ef-sc-mail__body { margin: 0; max-width: 68ch; padding: 16px 18px; font: 400 15px/1.6 var(--font-sans); color: var(--ink); white-space: pre-line; overflow-wrap: break-word; }
.ef-sc-mail__foot { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; padding: 10px 18px; border-top: 1px solid var(--a08); }
@media (max-width: 480px) {
  .ef-sc-call { padding: 12px; }
  .ef-sc-step__c { grid-column: 1 / -1; }
  .ef-sc-say { font-size: 16px; }
  .ef-sc-mail__head, .ef-sc-mail__body, .ef-sc-mail__foot { padding-left: 14px; padding-right: 14px; }
  .ef-sc-mail__foot { justify-content: flex-start; }
}
.ef-ep-note { margin: 0; font: 400 12px/1.5 var(--font-sans); color: var(--text-muted); text-wrap: pretty; }
.ef-ep-use { border-top: 1px solid var(--a08); padding-top: 14px; display: flex; flex-direction: column; gap: 10px; }
.ef-ep-use__card { max-width: 560px; border: 1px solid var(--a10); border-radius: 14px; padding: 14px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ef-ep-use__head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.ef-ep-use__title { font: 600 14px var(--font-sans); color: var(--ink); }

/* ── Call guide (/events/:id/call-guide) ───────────────────────────────────── */
.ef-cg { display: flex; flex-direction: column; gap: 16px; max-width: 920px; animation: ef-rise .3s ease; }
.ef-cg__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 24px; }
.ef-cg__headtext { flex: 1 1 380px; min-width: 0; }
.ef-cg__eyebrow { margin: 0 0 8px; }
.ef-cg__title { margin: 0; font: 600 30px/1.15 var(--font-display); letter-spacing: -.02em; color: var(--ink); }
.ef-cg__sub { margin: 8px 0 0; max-width: 600px; font: 400 15px/1.5 var(--font-sans); color: var(--text-strong); text-wrap: pretty; }
.ef-cg__tools { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ef-cg__lang { display: inline-flex; padding: 3px; gap: 2px; border-radius: var(--r-field); background: var(--bg-peach); }
.ef-cg__lang button { min-height: 34px; min-width: 44px; padding: 0 10px; border: 0; border-radius: var(--r-seg); background: transparent; font: 500 12px var(--font-mono); letter-spacing: .04em; color: var(--ink); cursor: pointer; }
.ef-cg__lang button[aria-pressed="true"] { background: #fff; box-shadow: var(--sh-seg); }
.ef-cg__rules { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 8px; }
.ef-cg__rule { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border-radius: 14px; background: var(--bg-app); border: 1px solid var(--a10); }
.ef-cg__rule b { font: 600 14px/1.35 var(--font-sans); color: var(--ink); }
.ef-cg__rule span { font: 400 12px/1.45 var(--font-sans); color: var(--text-muted); }
.ef-cg__sec { border: 1px solid var(--a14); border-radius: 20px; padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; background: #fff; }
.ef-cg__h { margin: 0; font: 600 17px var(--font-sans); color: var(--ink); }
.ef-cg__say { margin: 0; padding: 16px 18px; border-radius: 14px; background: var(--bg-app); font: 400 17px/1.55 var(--font-sans); color: var(--ink); text-wrap: pretty; }
.ef-cg__say--sm { font-size: 16px; flex: 1; }
.ef-cg__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 10px; }
.ef-cg__col { display: flex; flex-direction: column; gap: 6px; }
.ef-cg__replies { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 10px; }
.ef-cg__reply { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border-radius: 14px; background: var(--bg-app); border: 1px solid var(--a08); }
.ef-cg__badge { display: inline-flex; align-items: center; align-self: flex-start; height: 24px; padding: 0 10px; border-radius: var(--r-pill); font: 500 12px var(--font-sans); white-space: nowrap; }
.ef-cg__badge.is-yes { background: var(--ok-bg); color: var(--ok-fg); }
.ef-cg__badge.is-maybe { background: var(--warn-bg); color: var(--warn-fg); }
.ef-cg__badge.is-no { background: var(--standard-bg); color: var(--text-strong); }
.ef-cg__replysay { margin: 0; font: 400 15px/1.55 var(--font-sans); color: var(--ink); text-wrap: pretty; }
.ef-cg__note { margin: auto 0 0; font: 400 12px/1.45 var(--font-sans); color: var(--text-muted); }
.ef-cg__vmnote { margin: 0; font: 400 13px var(--font-sans); color: var(--text-muted); }
.ef-cg__lists { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 12px; }
.ef-cg__may, .ef-cg__never { border-radius: 20px; padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.ef-cg__may { border: 1px solid var(--ok-box-border); background: #F6FBF8; }
.ef-cg__never { border: 1px solid #F1D3CB; background: #FDF4F1; }
.ef-cg__lists h2 { margin: 0; font: 600 15px var(--font-sans); color: var(--ink); }
.ef-cg__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ef-cg__list li { display: flex; gap: 10px; font: 400 14px/1.5 var(--font-sans); color: var(--ink); }
.ef-cg__mark { font-weight: 600; }
.ef-cg__may .ef-cg__mark { color: var(--ok-fg); }
.ef-cg__never .ef-cg__mark { color: #B3261E; }
.ef-cg__maynote { margin: 0; font: 400 12px/1.5 var(--font-sans); color: var(--text-strong); }

@media (max-width: 640px) {
  .ef-ep-tab { padding: 0 10px; }
  .ef-ep-stdcard { padding: 14px; }
  /* Call guide on a phone (design 390): rules as chips, headings as kickers, notes left out. */
  .ef-cg { gap: 14px; }
  .ef-cg__title { font-size: 24px; }
  .ef-cg__sub { font-size: 14px; }
  .ef-cg__tools { width: 100%; }
  .ef-cg__lang button { min-height: 44px; min-width: 48px; }
  .ef-cg__rules { display: flex; flex-wrap: wrap; gap: 6px; }
  .ef-cg__rule { min-height: 28px; justify-content: center; padding: 4px 10px; border-radius: var(--r-pill); }
  .ef-cg__rule b { font: 500 12px var(--font-sans); }
  .ef-cg__rule span { display: none; }
  .ef-cg__sec { padding: 0; border: 0; border-radius: 0; gap: 6px; background: none; }
  .ef-cg__h { font: 500 11px var(--font-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--text-muted); }
  .ef-cg__say, .ef-cg__say--sm { padding: 14px; font-size: 15px; }
  .ef-cg__col .ef-ep-k, .ef-cg__note, .ef-cg__vmnote, .ef-cg__may { display: none; }
  .ef-cg__reply { padding: 12px 14px; background: #fff; border-color: var(--a10); }
  .ef-cg__never { padding: 14px; border-radius: 14px; }
}

/* Printing the call guide: the page only, no app chrome. */
@media print {
  .ef-sidebar, .ef-topbar, .ef-cg__tools { display: none !important; }
  .ef-app { display: block; height: auto; }
  .ef-main { margin: 0; border: 0; box-shadow: none; overflow: visible; }
  .ef-content { padding: 0; max-width: none; }
  .ef-cg { animation: none; }
  .ef-cg__sec, .ef-cg__may, .ef-cg__never, .ef-cg__rule, .ef-cg__reply { break-inside: avoid; }
}

/* The list tab (design isLiveList): search, count, action chips, table. IDs only. */
.ef-ep-ll { padding: 0; overflow: hidden; }
.ef-ep-ll__bar { padding: 14px 20px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.ef-ep-ll__search { flex: 0 1 220px; min-width: 150px; }
.ef-ep-ll__count { margin-left: auto; display: flex; align-items: center; gap: 10px; font: 400 13px var(--font-sans); color: var(--text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ef-ep-ll__clear { padding: 0; border: 0; background: none; font: 500 12px var(--font-mono); letter-spacing: .03em; text-transform: uppercase; color: var(--ink); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.ef-ep-ll__bar .ef-ep-pill { align-self: center; }
.ef-ep-ll__chips { padding: 12px 20px 14px; display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--a08); }
.ef-ep-ll__chip { display: inline-flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 12px; border: 1px solid var(--a14); border-radius: var(--r-pill); background: #fff; color: var(--ink); font: 500 13px var(--font-sans); cursor: pointer; white-space: nowrap; }
.ef-ep-ll__chip.is-on { background: var(--ink); border-color: var(--ink); color: var(--on-dark); }
.ef-ep-ll__n { font-variant-numeric: tabular-nums; opacity: .75; }
.ef-ep-ll__dot { flex: none; width: 7px; height: 7px; border-radius: 50%; }
.ef-ep-ll__sel { padding: 14px 20px; background: var(--bg-app); border-bottom: 1px solid var(--a08); }
.ef-ep-ll__seltodo { font: 600 15px var(--font-sans); color: var(--ink); }
.ef-ep-ll__sel p { margin: 2px 0 0; font: 400 13px/1.5 var(--font-sans); color: var(--text-strong); text-wrap: pretty; }
.ef-ep-ll__nudge:empty { display: none; }
.ef-ep-ll__nudge { margin: 12px 20px; }
.ef-ep-ll__table { max-height: 620px; overflow: auto; font: 400 13px var(--font-sans); color: var(--text-strong); font-variant-numeric: tabular-nums; }
.ef-ep-ll__row { display: grid; grid-template-columns: 52px 100px 120px minmax(0, 1.2fr) minmax(0, 1fr); gap: 12px; align-items: center; padding: 9px 20px; border-bottom: 1px solid var(--a06, rgba(13,15,28,.06)); }
.ef-ep-ll__row:hover:not(.ef-ep-ll__row--head) { background: var(--bg-app); }
.ef-ep-ll__row--head { position: sticky; top: 0; z-index: 1; background: #fff; padding-top: 10px; padding-bottom: 10px; border-bottom-color: var(--a08); font: 500 12px var(--font-sans); color: var(--text-muted); }
.ef-ep-ll__strong { font-weight: 500; color: var(--ink); }
.ef-ep-ll__action { display: flex; align-items: center; gap: 8px; min-width: 0; color: var(--ink); }
.ef-ep-ll__action > span:last-child, .ef-ep-ll__why { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ef-ep-ll__why { color: var(--text-muted); }
/* Held back, bundle full (2026-10-20): on the ranked list, not in Swoogo. */
.ef-ep-ll__held { flex-shrink: 0; }
.ef-ep-ll__row.is-held .ef-ep-ll__strong { color: var(--text-muted); }
.ef-ep-ll__empty, .ef-ep-ll__loading { margin: 0; padding: 28px 20px; text-align: center; font: 400 14px var(--font-sans); color: var(--text-muted); }
.ef-ep-ll__loading { display: flex; justify-content: center; align-items: center; gap: 8px; }
@media (max-width: 640px) {
  .ef-ep-ll__count { margin-left: 0; }
  .ef-ep-ll__row { grid-template-columns: 44px minmax(0, 1fr) minmax(0, 1.2fr); }
  .ef-ep-ll__row > :nth-child(3), .ef-ep-ll__row > :nth-child(5) { display: none; }
}
