/* ════════════════════════════════════════════════════════════════════════
   Account section styles — layered on top of /main.css.
   Uses the homepage design-system variables (--bg, --accent, etc.).
   ════════════════════════════════════════════════════════════════════════ */

.account {
  min-height: calc(100vh - 200px);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 5rem 1.5rem 6rem;
}

/* ── Auth card (login / signup / reset) ─────────────────────────────────── */
.auth-card {
  width: 100%;
  max-width: 420px;
  background: var(--bg-card, #141416);
  border: 1px solid var(--border, #27272a);
  border-radius: 16px;
  padding: 2.5rem 2rem;
}

.auth-card__title {
  font-size: 1.6rem;
  font-weight: 600;
  margin: 0 0 0.4rem;
  color: var(--text, #fafafa);
}

.auth-card__subtitle {
  color: var(--text-muted, #a1a1aa);
  font-size: 0.95rem;
  margin: 0 0 1.75rem;
}

/* ── Form fields ────────────────────────────────────────────────────────── */
.field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 1.1rem;
}

.field__label {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--text-secondary, #e4e4e7);
}

.field__input {
  background: var(--bg, #09090b);
  border: 1px solid var(--border-light, #3f3f46);
  border-radius: 10px;
  padding: 0.7rem 0.85rem;
  color: var(--text, #fafafa);
  font-family: inherit;
  font-size: 0.95rem;
  transition: border-color 0.15s ease;
}

.field__input:focus {
  outline: none;
  border-color: var(--accent, #c8ff00);
}

/* ── Optional "website to audit" field (captured at checkout) ─────────────── */
.na-url-field { max-width: 420px; margin-bottom: 1.25rem; }
.na-opt {
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted, #a1a1aa);
  background: var(--card-bg, #141416);
  border: 1px solid var(--border, #27272a);
  border-radius: 999px;
  padding: 0.1rem 0.5rem;
  margin-left: 0.4rem;
  vertical-align: middle;
}
.na-url-hint { margin: 0.4rem 0 0; font-size: 0.8rem; }

/* ── Buttons ────────────────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 10px;
  padding: 0.75rem 1.25rem;
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
  text-decoration: none;
}

.btn--primary {
  background: var(--accent, #c8ff00);
  color: #09090b;
  width: 100%;
}
.btn--primary:hover { opacity: 0.9; }

.btn--ghost {
  background: transparent;
  border-color: var(--border-light, #3f3f46);
  color: var(--text, #fafafa);
}
.btn--ghost:hover { border-color: var(--accent, #c8ff00); }

.btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ── Links / helper rows ────────────────────────────────────────────────── */
.auth-links {
  display: flex;
  justify-content: space-between;
  margin-top: 1.25rem;
  font-size: 0.85rem;
}
.auth-links a { color: var(--accent, #c8ff00); text-decoration: none; }
.auth-links a:hover { text-decoration: underline; }

/* ── Status / error line ────────────────────────────────────────────────── */
.status {
  font-size: 0.88rem;
  border-radius: 8px;
  padding: 0.65rem 0.85rem;
  margin-bottom: 1.1rem;
}
.status[data-kind="error"]   { background: rgba(239,68,68,0.12); color: #fca5a5; }
.status[data-kind="success"] { background: var(--accent-dim, rgba(200,255,0,0.12)); color: var(--accent, #c8ff00); }
.status[data-kind="info"]    { background: #1a1a1d; color: var(--text-muted, #a1a1aa); }

/* ── Dashboard ──────────────────────────────────────────────────────────── */
.dash {
  width: 100%;
  max-width: 720px;
}

.dash__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 2rem;
}
.dash__title { font-size: 1.8rem; font-weight: 600; margin: 0; }
.dash__email { color: var(--text-muted, #a1a1aa); font-size: 0.9rem; }

.panel {
  background: var(--bg-card, #141416);
  border: 1px solid var(--border, #27272a);
  border-radius: 14px;
  padding: 1.75rem;
  margin-bottom: 1.5rem;
}
.panel__label {
  font-family: var(--mono, monospace);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted, #a1a1aa);
  margin: 0 0 0.75rem;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  text-transform: capitalize;
}
.badge--active   { background: var(--accent-dim, rgba(200,255,0,0.12)); color: var(--accent, #c8ff00); }
.badge--inactive { background: #1a1a1d; color: var(--text-muted, #a1a1aa); }
.badge--warn     { background: rgba(245,158,11,0.12); color: #fbbf24; }

.plan-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-top: 1rem;
}
.plan-card {
  border: 1px solid var(--border, #27272a);
  border-radius: 12px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.plan-card--featured { border-color: var(--accent, #c8ff00); }
.plan-card__name { font-weight: 600; }
.plan-card__price { font-size: 1.5rem; font-weight: 700; }
.plan-card__price span { font-size: 0.85rem; font-weight: 400; color: var(--text-muted, #a1a1aa); }
.plan-card__blurb { font-size: 0.85rem; color: var(--text-muted, #a1a1aa); flex: 1; }

.dash__signout {
  background: none;
  border: none;
  color: var(--text-muted, #a1a1aa);
  font-family: inherit;
  font-size: 0.85rem;
  cursor: pointer;
  text-decoration: underline;
}
.dash__signout:hover { color: var(--text, #fafafa); }

/* ── Dev panel (local testing only) ─────────────────────────────────────── */
.panel--dev {
  border-style: dashed;
  border-color: var(--border-light, #3f3f46);
}
.dev-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}
.dev-actions .btn { width: auto; }
.panel--dev .status { margin: 1rem 0 0; }

/* ── Account chrome: subnav + page head ─────────────────────────────────── */
.account-subnav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid var(--border, #27272a);
  margin-bottom: 2rem;
  /* Sticks just below the 64px site-nav so account navigation is always present. */
  position: sticky;
  top: 64px;
  z-index: 50;
  background: var(--bg, #09090b);
  padding-top: 0.4rem;
}
.account-subnav__links { display: flex; gap: 0.25rem; flex-wrap: wrap; }
.account-subnav__link {
  padding: 0.65rem 0.9rem;
  color: var(--text-muted, #a1a1aa);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.9rem;
  border-bottom: 2px solid transparent;
}
.account-subnav__link:hover { color: var(--text, #fafafa); }
.account-subnav__link[aria-current="page"] {
  color: var(--text, #fafafa);
  border-bottom-color: var(--accent, #c8ff00);
}
.account-subnav__signout {
  background: none; border: none; color: var(--text-muted, #a1a1aa);
  font-family: inherit; font-size: 0.85rem; cursor: pointer; text-decoration: underline;
}
.account-subnav__signout:hover { color: var(--text, #fafafa); }

.account-head { margin-bottom: 1.5rem; }
.account-head__eyebrow {
  font-family: var(--mono, monospace); font-size: 0.72rem; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--text-muted, #a1a1aa); margin: 0 0 0.4rem;
}
.account-head__title { font-size: 1.9rem; font-weight: 600; margin: 0 0 0.3rem; }

.panel__row {
  display: flex; align-items: baseline; justify-content: space-between; gap: 1rem;
  margin-bottom: 0.75rem;
}
.panel__row .panel__label { margin: 0; }
.panel__link { color: var(--accent, #c8ff00); text-decoration: none; font-size: 0.85rem; font-weight: 500; }
.panel__link:hover { text-decoration: underline; }
.back-link {
  display: inline-block; color: var(--text-muted, #a1a1aa); text-decoration: none;
  font-size: 0.88rem; margin-bottom: 1.25rem;
}
.back-link:hover { color: var(--text, #fafafa); }

/* ── Audits: home summary row + list cards ──────────────────────────────── */
.audit-row {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 0.9rem 1rem; border: 1px solid var(--border, #27272a); border-radius: 10px;
  text-decoration: none; color: var(--text, #fafafa); transition: border-color 0.15s ease;
}
.audit-row:hover { border-color: var(--border-light, #3f3f46); }
.audit-row__title { font-weight: 600; margin: 0; }
.audit-row__meta { color: var(--text-muted, #a1a1aa); font-size: 0.85rem; margin: 0.2rem 0 0; }

.audit-list { display: flex; flex-direction: column; gap: 0.75rem; }
.audit-card {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  background: var(--bg-card, #141416); border: 1px solid var(--border, #27272a);
  border-radius: 12px; padding: 1.1rem 1.25rem; text-decoration: none;
  color: var(--text, #fafafa); transition: border-color 0.15s ease, background 0.15s ease;
}
.audit-card:hover { border-color: var(--border-light, #3f3f46); background: var(--bg-card-hover, #1a1a1d); }
.audit-card__title { font-weight: 600; margin: 0; }
.audit-card__meta { color: var(--text-muted, #a1a1aa); font-size: 0.85rem; margin: 0.25rem 0 0; }
.audit-card__right { display: flex; align-items: center; gap: 0.9rem; }
.audit-card__chevron { color: var(--text-muted, #a1a1aa); }

/* Multi-deliverable audit card (foundation / report / plan in one row) */
.audit-card--multi { flex-direction: column; align-items: stretch; gap: 0.9rem; }
.audit-card--multi .audit-card__main { text-decoration: none; color: inherit; display: block; }
.audit-card__deliverables { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.deliverable-pill {
  font-family: var(--mono, monospace); font-size: 0.74rem; letter-spacing: 0.02em;
  color: var(--text-secondary, #e4e4e7); background: var(--bg, #09090b);
  border: 1px solid var(--border, #27272a); border-radius: 99px; padding: 0.4rem 0.85rem;
  text-decoration: none; transition: border-color 0.15s ease, color 0.15s ease;
}
.deliverable-pill:hover { border-color: var(--border-light, #3f3f46); color: var(--text, #fafafa); }
.deliverable-pill--accent { color: var(--accent, #c8ff00); border-color: rgba(200,255,0,0.35); }
.deliverable-pill--accent:hover { border-color: var(--accent, #c8ff00); }

.empty-state__title { font-size: 1.1rem; font-weight: 600; margin: 0 0 0.4rem; }

/* ── Audits page: scalable series-card grid ───────────────────────────────────
   Each audited target is one card in a responsive grid (auto-fill), so the page
   stays scannable past 10+ audits instead of an ever-growing stack. Latest cycle
   is prominent; older cycles tuck into a <details>. */
.series-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr)); gap: 1rem; margin-bottom: 1.5rem; align-items: start; }
.series-card { display: flex; flex-direction: column; gap: 0.8rem; background: var(--bg-card, #141416); border: 1px solid var(--border, #27272a); border-radius: 14px; padding: 1.25rem 1.35rem; }
.series-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; }
.series-card__head .badge { flex: 0 0 auto; }
.series-card__title-wrap { min-width: 0; }
.series-card__name { margin: 0; font-size: 1.05rem; font-weight: 600; color: var(--text, #fafafa); }
.series-card__url { margin: 0.2rem 0 0; color: var(--text-muted, #a1a1aa); font-size: 0.82rem; word-break: break-word; }
/* cycle rows read lighter inside a card (no heavy per-row border) */
.series-card .audit-rows { gap: 0.3rem; }
.series-card .audit-row { border: none; border-radius: 8px; padding: 0.5rem 0.4rem; }
.series-card .audit-row:hover { border: none; background: var(--bg, #09090b); }
.series-card__latest { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 0.4rem; text-decoration: none; border-radius: 8px; }
.series-card__latest:hover { background: var(--bg, #09090b); }
.series-card__history { border-top: 1px solid var(--border, #27272a); padding-top: 0.55rem; }
.series-card__history > summary { cursor: pointer; color: var(--text-muted, #a1a1aa); font-size: 0.82rem; }
.series-card__history > summary:hover { color: var(--text, #fafafa); }
.series-card__history .audit-rows { margin-top: 0.5rem; }
.series-card .series__nextrun { margin: 0; }
.series-card__actions { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: auto; padding-top: 0.3rem; }
.series-card__actions .btn { width: auto; }
.series-card--shared { border-style: dashed; }
.btn--sm { padding: 0.4rem 0.85rem; font-size: 0.85rem; width: auto; }

/* ── Guided pricing (first-time buyers): lead with one recommended path ───────
   Staged is demoted behind a disclosure; membership is a link, not a competing
   price on the same screen. */
.pricing-guided { max-width: 440px; }
.pricing-guided .price-card { margin: 0; }
.pricing-ladder__foot { grid-column: 1 / -1; margin-top: 0.25rem; }
.pricing-split { margin: 0.9rem 0 0; border: 1px solid var(--border, #27272a); border-radius: 12px; background: var(--bg-card, #141416); }
.pricing-split > summary { cursor: pointer; padding: 0.85rem 1.1rem; color: var(--text-secondary, #e4e4e7); font-weight: 500; font-size: 0.92rem; }
.pricing-split > summary:hover { color: var(--text, #fafafa); }
.pricing-split__body { padding: 0 1.1rem 1.1rem; }
.pricing-split__body p { margin: 0 0 0.85rem; color: var(--text-muted, #a1a1aa); font-size: 0.9rem; line-height: 1.5; }
.pricing-split__body .btn { width: auto; }
.pricing-membership-hint { margin: 1rem 0 0; color: var(--text-muted, #a1a1aa); font-size: 0.88rem; }
.pricing-membership-hint a { color: var(--accent, #c8ff00); text-decoration: none; }
.pricing-membership-hint a:hover { text-decoration: underline; }

/* ── Membership page: billing summary + payment history ───────────────────── */
.bill-summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.bill-summary__plan { margin: 0.4rem 0 0.35rem; font-size: 1.15rem; font-weight: 600; color: var(--text, #fafafa); }
.bill-summary__plan small { font-size: 0.8rem; font-weight: 500; color: var(--text-muted, #a1a1aa); }
.bill-summary__next { margin: 0; color: var(--text-secondary, #e4e4e7); font-size: 0.92rem; }
.bill-summary__next strong { color: var(--text, #fafafa); }
.bill-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.bill-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.bill-table th { text-align: left; font-weight: 500; color: var(--text-muted, #a1a1aa); font-size: 0.74rem; text-transform: uppercase; letter-spacing: 0.05em; padding: 0 0.5rem 0.6rem; border-bottom: 1px solid var(--border, #27272a); }
.bill-table td { padding: 0.7rem 0.5rem; border-bottom: 1px solid var(--border, #27272a); color: var(--text-secondary, #e4e4e7); }
.bill-table tr:last-child td { border-bottom: none; }
.bill-table__right { text-align: right; }
.bill-pill { display: inline-block; padding: 0.12rem 0.55rem; border-radius: 99px; font-size: 0.74rem; font-weight: 600; text-transform: capitalize; background: var(--border, #27272a); color: var(--text-secondary, #e4e4e7); }
.bill-pill--paid { background: rgba(200,255,0,0.14); color: var(--accent, #c8ff00); }
.bill-pill--open { background: rgba(96,165,250,0.16); color: #60a5fa; }
.bill-pill--void, .bill-pill--uncollectible { background: rgba(245,158,11,0.12); color: #fbbf24; }

/* Membership "Your brands": one-off vs folded-into-subscription per brand */
.brand-list { display: flex; flex-direction: column; gap: 0.6rem; }
.brand-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: 0.8rem 1rem; border: 1px solid var(--border, #27272a); border-radius: 10px; }
.brand-row__main { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; }
.brand-row__name { font-weight: 600; color: var(--text, #fafafa); }
.brand-row__badge { font-size: 0.82rem; color: var(--text-muted, #a1a1aa); }
.brand-row__badge--in { color: var(--accent, #c8ff00); }
.brand-row__actions .btn { width: auto; }

/* ── Report viewer: action plan + locked gate ───────────────────────────── */
.panel--unlocked { border-color: var(--accent, #c8ff00); }

/* ── "Needs your attention" zone — accent-emphasized, distinct from the
      "start a new audit" zone so the two jobs read separately ─────────────── */
.panel--attention {
  border-color: var(--accent, #c8ff00);
  background:
    radial-gradient(160% 120% at 0% 0%, var(--accent-glow, rgba(200,255,0,0.08)), transparent 55%),
    var(--bg-card, #141416);
}
.panel--attention .panel__label { color: var(--accent, #c8ff00); }
.attention__count {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 1.4rem; height: 1.4rem; padding: 0 0.45rem;
  font-family: var(--mono, monospace); font-size: 0.78rem; font-weight: 500;
  color: #09090b; background: var(--accent, #c8ff00); border-radius: 99px;
}

/* ── "Start a new audit" zone wrapper — separates ordering from status ─────── */
.order-zone { margin-bottom: 1.5rem; }
.order-card__reassure { color: var(--text-muted, #a1a1aa); }

/* ── Version timeline (audits page series cards) ──────────────────────────── */
.cyc-row { align-items: center; }
.cyc-dot { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; margin-right: 0.1rem; background: var(--border-light, #3f3f46); }
.cyc-dot.is-done { background: var(--accent, #c8ff00); }
.cyc-dot.is-active { background: #60a5fa; box-shadow: 0 0 0 3px rgba(96,165,250,0.18); }
.audits-head__eyebrow { font-family: var(--mono, monospace); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent, #c8ff00); margin: 0 0 0.35rem; }

/* ── Report viewer: version switcher + "did the needle move?" deltas ───────── */
.cyc-switch { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.8rem; margin: 0 0 1.5rem; }
.cyc-switch__label { font-family: var(--mono, monospace); font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--text-muted, #a1a1aa); }
.cyc-switch__chips { display: flex; flex-wrap: wrap; gap: 0.45rem; }
.cyc-chip { display: inline-flex; align-items: center; padding: 0.32rem 0.7rem; border-radius: 99px; font-size: 0.82rem; font-weight: 500; text-decoration: none; border: 1px solid var(--border, #27272a); color: var(--text-secondary, #e4e4e7); background: var(--bg-card, #141416); }
a.cyc-chip:hover { border-color: var(--border-light, #3f3f46); color: var(--text, #fafafa); }
.cyc-chip.is-current { border-color: var(--accent, #c8ff00); color: #09090b; background: var(--accent, #c8ff00); }
.cyc-chip.is-pending { color: var(--text-muted, #a1a1aa); border-style: dashed; }

.needle { margin: 1.5rem 0 0; padding: 1.25rem 1.4rem; border: 1px solid var(--accent, #c8ff00); border-radius: 14px; background: radial-gradient(150% 160% at 0% 0%, var(--accent-glow, rgba(200,255,0,0.08)), transparent 55%), var(--bg-card, #141416); }
.needle__title { margin: 0; font-size: 1.15rem; font-weight: 700; letter-spacing: -0.01em; color: var(--text, #fafafa); }
.needle__sub { margin: 0.2rem 0 1rem; font-size: 0.9rem; color: var(--text-muted, #a1a1aa); }
.needle__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.9rem; }
.needle__cell { padding: 0.85rem 0.95rem; border: 1px solid var(--border, #27272a); border-radius: 10px; background: rgba(0,0,0,0.18); }
.needle__metric { margin: 0; font-size: 0.74rem; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted, #a1a1aa); }
.needle__val { margin: 0.2rem 0 0.5rem; font-size: 1.5rem; font-weight: 700; color: var(--text, #fafafa); }
.needle__delta { display: block; margin: 0.15rem 0 0; font-size: 0.82rem; font-weight: 600; }
.needle__delta small { font-weight: 400; color: var(--text-muted, #a1a1aa); }
.needle__delta.is-up { color: var(--accent, #c8ff00); }
.needle__delta.is-down { color: #f87171; }
.needle__delta.is-flat { color: var(--text-muted, #a1a1aa); font-weight: 500; }

/* ── Guided "New audit" flow modal ────────────────────────────────────────── */
.modal.modal--wide { max-width: 520px; }
.na-choice { display: grid; gap: 0.75rem; margin: 0.5rem 0 0.5rem; }
.na-card { display: flex; flex-direction: column; gap: 0.25rem; text-align: left; padding: 1rem 1.1rem; border: 1px solid var(--border-light, #3f3f46); border-radius: 12px; background: var(--bg-card, #141416); cursor: pointer; font: inherit; }
.na-card:hover { border-color: var(--accent, #c8ff00); background: var(--bg-card-hover, #1a1a1d); }
.na-card__title { font-size: 1.02rem; font-weight: 600; color: var(--text, #fafafa); }
.na-card__body { font-size: 0.9rem; color: var(--text-muted, #a1a1aa); line-height: 1.5; }
.na-series-list { display: flex; flex-direction: column; gap: 0.5rem; margin: 0.5rem 0; max-height: 320px; overflow-y: auto; }
.na-series { display: flex; align-items: center; gap: 0.5rem 0.9rem; flex-wrap: wrap; text-align: left; padding: 0.8rem 1rem; border: 1px solid var(--border, #27272a); border-radius: 10px; background: var(--bg-card, #141416); cursor: pointer; font: inherit; }
.na-series:hover { border-color: var(--accent, #c8ff00); }
.na-series__name { font-weight: 600; color: var(--text, #fafafa); }
.na-series__url { font-size: 0.85rem; color: var(--text-muted, #a1a1aa); }
.na-series .audit-row__go { margin-left: auto; color: var(--accent, #c8ff00); }
.plan-list { list-style: none; margin: 1rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.plan-item {
  display: flex; gap: 0.9rem; align-items: flex-start;
  padding: 0.9rem 1rem; border: 1px solid var(--border, #27272a); border-radius: 10px;
}
.plan-item__num {
  flex: 0 0 auto; width: 26px; height: 26px; border-radius: 50%;
  background: var(--accent, #c8ff00); color: var(--bg, #09090b);
  font-family: var(--mono, monospace); font-weight: 700; font-size: 12px;
  display: flex; align-items: center; justify-content: center;
}
.plan-item__title { font-weight: 600; margin: 0 0 0.35rem; }
.plan-item__impact {
  font-family: var(--mono, monospace); font-size: 0.68rem; text-transform: uppercase;
  letter-spacing: 0.05em; padding: 0.15rem 0.5rem; border-radius: 999px;
}
.plan-item__impact--high { background: var(--accent-dim, rgba(200,255,0,0.12)); color: var(--accent, #c8ff00); }
.plan-item__impact--medium { background: rgba(245,158,11,0.12); color: #fbbf24; }
.plan-item__impact--low { background: #1a1a1d; color: var(--text-muted, #a1a1aa); }

.gate { position: relative; }
.gate__blur { display: flex; flex-direction: column; gap: 0.75rem; filter: blur(6px); opacity: 0.45; pointer-events: none; margin-top: 1rem; }
.gate__blur span { display: block; height: 46px; border-radius: 10px; background: var(--bg, #09090b); border: 1px solid var(--border, #27272a); }
.gate__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 0.5rem 1rem; }
.gate__title { font-size: 1.15rem; font-weight: 600; margin: 0 0 0.4rem; }

@media (max-width: 480px) {
  .auth-card { padding: 2rem 1.25rem; }
  .dash__header { flex-direction: column; gap: 0.25rem; }
  .account-subnav { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
}

/* ── Self-service journey tracker (dashboard): Foundations+Visibility → Actions → Re-audits ── */
.journey-panel { border-color: var(--border-light, #3f3f46); }
.journey-panel__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0 0 1.25rem; }
.journey-panel__lead { color: var(--text-muted, #a1a1aa); font-size: 0.9rem; margin: 0.35rem 0 0; }

.jtrack { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.75rem; }
.jstep {
  position: relative; background: var(--bg, #09090b); border: 1px solid var(--border, #27272a);
  border-radius: 12px; padding: 1.1rem 1.2rem; display: flex; flex-direction: column;
}
.jstep--active { border-color: var(--accent, #c8ff00); box-shadow: 0 0 0 1px var(--accent, #c8ff00); }
.jstep:not(:last-child)::after {
  content: "›"; position: absolute; right: -0.62rem; top: 1.05rem; z-index: 2;
  color: var(--text-muted, #a1a1aa); font-size: 1.1rem; line-height: 1;
}
.jstep__top { display: flex; align-items: center; gap: 0.6rem; }
.jstep__num {
  width: 1.9rem; height: 1.9rem; border-radius: 50%; border: 1px solid var(--border-light, #3f3f46);
  display: flex; align-items: center; justify-content: center; font-family: var(--mono, monospace);
  font-weight: 700; font-size: 0.82rem; color: var(--text-muted, #a1a1aa); flex: 0 0 auto;
}
.jstep--done .jstep__num { background: var(--accent, #c8ff00); color: #09090b; border-color: var(--accent, #c8ff00); }
.jstep--active .jstep__num { border-color: var(--accent, #c8ff00); color: var(--accent, #c8ff00); }
.jstep__label { font-weight: 600; color: var(--text, #fafafa); font-size: 0.92rem; line-height: 1.25; }
.jstep__price { display: block; font-family: var(--mono, monospace); font-size: 0.7rem; color: var(--text-muted, #a1a1aa); margin-top: 0.15rem; }
.jstep__status { font-size: 0.82rem; margin: 0.8rem 0 0; color: var(--text-muted, #a1a1aa); line-height: 1.45; }
.jstep__status--done { color: var(--accent, #c8ff00); }
.jstep__spacer { flex: 1; }
.jstep__cta { margin-top: 0.9rem; }
.jstep__cta .btn { width: 100%; padding: 0.6rem 0.9rem; font-size: 0.88rem; }

@media (max-width: 640px) {
  .jtrack { grid-template-columns: 1fr; }
  .jstep:not(:last-child)::after { content: "⌄"; right: auto; left: 1.05rem; top: auto; bottom: -0.62rem; }
}

/* ── Hero Returns home: superhero header ──────────────────────────────────── */
.hero-returns { margin-bottom: 2rem; }
.hero-returns__eyebrow { font-family: var(--mono, monospace); font-size: 0.72rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent, #c8ff00); margin: 0 0 0.5rem; }
.hero-returns__title { font-size: clamp(1.9rem, 5vw, 2.8rem); font-weight: 700; letter-spacing: -0.02em; line-height: 1.05; margin: 0 0 0.6rem; }
.hero-returns__sub { color: var(--text-muted, #a1a1aa); font-size: 1rem; line-height: 1.55; margin: 0; max-width: 60ch; }

/* ── Audit story-cards (the character story, tied to each audit) ───────────── */
.story-deck { display: flex; flex-direction: column; gap: 1rem; }
.story-card { background: var(--bg-card, #141416); border: 1px solid var(--border, #27272a); border-radius: 16px; padding: 1.2rem 1.35rem; transition: border-color 0.15s ease; }
.story-card:hover { border-color: var(--border-light, #3f3f46); }
.story-card__main { display: flex; gap: 1.25rem; align-items: center; text-decoration: none; color: inherit; }
.story-card__main:hover .story-card__go { transform: translateX(3px); }
.story-card__art { flex: 0 0 auto; width: 104px; height: 104px; border-radius: 12px; background: radial-gradient(circle at 50% 28%, rgba(200,255,0,0.14), #0f0f11 72%); border: 1px solid var(--border, #27272a); display: flex; align-items: flex-end; justify-content: center; overflow: hidden; }
.story-card__art .char--person { width: 94px; margin-bottom: -10px; }
.story-card__body { flex: 1; min-width: 0; }
.story-card__pills { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--border, #27272a); }
.story-card__kicker { font-family: var(--mono, monospace); font-size: 0.64rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent, #c8ff00); margin: 0 0 0.3rem; }
.story-card__title { font-weight: 700; font-size: 1.1rem; margin: 0 0 0.3rem; color: var(--text, #fafafa); }
.story-card__teaser { color: var(--text-secondary, #e4e4e7); font-size: 0.9rem; line-height: 1.45; margin: 0 0 0.7rem; }
.story-card__steps { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.story-step { font-family: var(--mono, monospace); font-size: 0.64rem; letter-spacing: 0.03em; text-transform: uppercase; padding: 0.2rem 0.55rem; border-radius: 99px; border: 1px solid var(--border, #27272a); color: var(--text-muted, #a1a1aa); }
.story-step--done { color: var(--accent, #c8ff00); border-color: rgba(200,255,0,0.4); }
.story-card__go { flex: 0 0 auto; align-self: center; color: var(--accent, #c8ff00); font-weight: 700; font-size: 1.3rem; transition: transform 0.15s ease; }
.story-empty { text-align: center; padding: 2.5rem 1.5rem; }
.story-empty .char--person { width: 110px; margin-bottom: -8px; }

/* ── Pricing ladder (pay upfront, no tax — vs staged +10%) ─────────────────── */
.pricing-ladder { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.price-card { display: flex; flex-direction: column; border: 1px solid var(--border, #27272a); border-radius: 14px; padding: 1.35rem 1.4rem; background: var(--bg, #09090b); }
.price-card--featured { border-color: var(--accent, #c8ff00); box-shadow: 0 0 0 1px var(--accent, #c8ff00); background: radial-gradient(130% 130% at 50% 0%, var(--accent-glow, rgba(200,255,0,0.07)), transparent 60%), var(--bg-card, #141416); }
.price-card__tag { font-family: var(--mono, monospace); font-size: 0.66rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted, #a1a1aa); margin: 0 0 0.5rem; }
.price-card--featured .price-card__tag { color: var(--accent, #c8ff00); }
.price-card__amount { font-size: 2.1rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1; color: var(--text, #fafafa); }
.price-card__amount small { font-size: 0.9rem; font-weight: 600; color: var(--text-muted, #a1a1aa); }
.price-card__note { color: var(--text-muted, #a1a1aa); font-size: 0.82rem; margin: 0.5rem 0 1rem; line-height: 1.45; }
.price-card__list { list-style: none; margin: 0 0 1.1rem; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.price-card__list li { font-size: 0.86rem; color: var(--text-secondary, #e4e4e7); padding-left: 1.3rem; position: relative; }
.price-card__list li::before { content: "✓"; position: absolute; left: 0; color: var(--accent, #c8ff00); font-weight: 700; }
.price-card .btn { margin-top: auto; }
.price-strike { color: var(--text-muted, #a1a1aa); text-decoration: line-through; }

/* ── Per-audit hub: views grid ────────────────────────────────────────────── */
.hub-views { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0.75rem; }
.hub-view { display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem 1.1rem; border: 1px solid var(--border, #27272a); border-radius: 12px; background: var(--bg-card, #141416); text-decoration: none; color: inherit; transition: border-color 0.15s ease, transform 0.15s ease; }
.hub-view:hover { border-color: var(--accent, #c8ff00); transform: translateY(-2px); }
.hub-view--locked { opacity: 0.45; pointer-events: none; }
.hub-view__icon { font-size: 1.2rem; }
.hub-view__name { font-weight: 600; color: var(--text, #fafafa); }
.hub-view__meta { font-size: 0.78rem; color: var(--text-muted, #a1a1aa); }

@media (max-width: 560px) {
  .story-card__main { flex-direction: column; align-items: flex-start; gap: 0.9rem; }
  .story-card__art { width: 76px; height: 76px; }
  .story-card__art .char--person { width: 68px; }
  .story-card__go { display: none; }
  .pricing-ladder { grid-template-columns: 1fr; }
}

/* ── Home audit-system explainer (the 1·2·3, woven with ordering) ─────────── */
.account-explainer { margin-bottom: 1.5rem; }
.account-explainer__title { font-size: clamp(1.5rem, 4vw, 2.1rem); font-weight: 700; letter-spacing: -0.02em; margin: 0 0 0.5rem; color: var(--text, #fafafa); }
.account-explainer__sub { color: var(--text-muted, #a1a1aa); line-height: 1.55; margin: 0 0 0.5rem; max-width: 64ch; }
.price-card__member { display: inline-block; font-family: var(--mono, monospace); font-size: 0.66rem; letter-spacing: 0.04em; text-transform: uppercase; color: #09090b; background: var(--accent, #c8ff00); padding: 0.15rem 0.5rem; border-radius: 99px; margin-left: 0.5rem; }

/* ── Warm adaptive home hero (text + character) ───────────────────────────── */
.home-hero { display: flex; gap: 2rem; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 2.25rem; }
.home-hero .hero-returns { margin: 0; flex: 1; min-width: 260px; }
.home-hero__char { flex: 0 0 auto; width: 158px; height: 158px; border-radius: 50%; background: radial-gradient(circle at 50% 34%, rgba(200,255,0,0.18), #0f0f11 72%); border: 1px solid var(--border-light, #3f3f46); display: flex; align-items: flex-end; justify-content: center; overflow: hidden; }
.home-hero__char .char--person { width: 146px; margin-bottom: -14px; }
.home-glance { display: flex; width: fit-content; align-items: center; gap: 0.55rem; margin: 1.1rem 0 0; font-size: 0.92rem; color: var(--text-secondary, #e4e4e7); }
.home-glance__dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent, #c8ff00); flex: 0 0 auto; }
.home-hero__cta { width: auto !important; margin-top: 1.25rem; }

/* ── Compact "run another audit" card (returning users) ───────────────────── */
.order-card { display: flex; gap: 1.5rem; align-items: center; justify-content: space-between; flex-wrap: wrap; background: radial-gradient(150% 170% at 0% 0%, var(--accent-glow, rgba(200,255,0,0.08)), transparent 55%), var(--bg-card, #141416); border: 1px solid var(--border-light, #3f3f46); border-radius: 16px; padding: 1.5rem 1.6rem; }
.order-card__body { flex: 1; min-width: 240px; }
.order-card__eyebrow { font-family: var(--mono, monospace); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--accent, #c8ff00); margin: 0; }
.order-card__title { font-size: 1.35rem; font-weight: 700; letter-spacing: -0.01em; margin: 0.25rem 0 0.4rem; color: var(--text, #fafafa); }
.order-card__sub { color: var(--text-secondary, #e4e4e7); margin: 0; max-width: 52ch; line-height: 1.5; }
.order-card__cta { width: auto !important; flex: 0 0 auto; }
.order-card__foot { font-size: 0.86rem; color: var(--text-muted, #a1a1aa); margin: 0.9rem 0 1.5rem; }
.order-card__foot a { color: var(--accent, #c8ff00); text-decoration: none; }
.order-card__foot a:hover { text-decoration: underline; }

@media (max-width: 560px) {
  .home-hero { flex-direction: column-reverse; align-items: flex-start; gap: 1.25rem; }
  .home-hero__char { width: 120px; height: 120px; }
  .home-hero__char .char--person { width: 112px; }
  .order-card__cta { width: 100% !important; }
}
.order-card__foot button { background: none; border: none; color: var(--accent, #c8ff00); cursor: pointer; font: inherit; padding: 0; }
.order-card__foot button:hover { text-decoration: underline; }

/* ── Post-purchase progress stepper ──────────────────────────────────────── */
.prog-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.prog { display: flex; gap: 0.9rem; padding: 0 0 1.4rem; position: relative; }
.prog:last-child { padding-bottom: 0; }
.prog:not(:last-child)::before {
  content: ""; position: absolute; left: 13px; top: 28px; bottom: 0;
  width: 2px; background: var(--border, #27272a);
}
.prog__dot {
  flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.8rem; font-weight: 700; font-family: var(--mono, monospace);
  background: var(--bg, #09090b); border: 2px solid var(--border-light, #3f3f46);
  color: var(--text-muted, #a1a1aa); z-index: 1;
}
.prog.is-done .prog__dot { background: var(--accent, #c8ff00); border-color: var(--accent, #c8ff00); color: #09090b; }
.prog.is-active .prog__dot { border-color: var(--accent, #c8ff00); color: var(--accent, #c8ff00); }
.prog__body { padding-top: 0.15rem; flex: 1; }
.prog__title { margin: 0; font-weight: 600; color: var(--text-muted, #a1a1aa); }
.prog.is-active .prog__title { color: var(--text, #fafafa); }
.prog.is-done .prog__title { color: var(--text-secondary, #e4e4e7); }
.prog__detail { margin: 0.3rem 0 0; font-size: 0.92rem; line-height: 1.55; color: var(--text-muted, #a1a1aa); }
.prog__cta { display: inline-flex; margin-top: 0.75rem; width: auto; }
.prog__link { display: inline-block; margin-top: 0.5rem; color: var(--accent, #c8ff00); font-size: 0.9rem; }

/* ── Audits page header ───────────────────────────────────────────────────── */
.audits-head { margin: 0 0 1.5rem; }
.audits-head__title { margin: 0 0 0.35rem; font-size: 1.9rem; }
.audits-head__sub { margin: 0; color: var(--text-muted, #a1a1aa); }

/* ── Home status glance card ──────────────────────────────────────────────── */
.glance { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; justify-content: space-between; }
.glance__body { flex: 1 1 280px; }
.glance__kicker { margin: 0 0 0.35rem; font-family: var(--mono, monospace); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent, #c8ff00); }
.glance__headline { margin: 0 0 0.35rem; font-size: 1.15rem; font-weight: 600; color: var(--text, #fafafa); }
.glance__detail { margin: 0; color: var(--text-muted, #a1a1aa); font-size: 0.95rem; line-height: 1.55; }
.glance__cta { width: auto; flex: 0 0 auto; }

/* ── Status badges (In Progress / Needs Review / Complete) ────────────────── */
.badge--review { background: rgba(250,204,21,0.14); color: #facc15; border: 1px solid rgba(250,204,21,0.4); }
.badge--progress { background: rgba(96,165,250,0.16); color: #60a5fa; border: 1px solid rgba(96,165,250,0.4); }
.badge--complete { background: rgba(200,255,0,0.14); color: var(--accent, #c8ff00); border: 1px solid rgba(200,255,0,0.45); }
.badge--lg { font-size: 0.85rem; padding: 0.42rem 0.85rem; border-radius: 999px; }

/* ── Audit rows (series-grouped list) ─────────────────────────────────────── */
.audit-rows { display: flex; flex-direction: column; gap: 0.6rem; }
.audit-row { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid var(--border, #27272a); border-radius: 12px; text-decoration: none; transition: border-color .15s ease; }
.audit-row:hover { border-color: var(--accent, #c8ff00); }
.audit-row__main { flex: 1; display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.audit-row__title { color: var(--text, #fafafa); font-weight: 600; }
.audit-row__line { color: var(--text-muted, #a1a1aa); font-size: 0.9rem; }
.audit-row__go { color: var(--text-muted, #a1a1aa); flex: 0 0 auto; }

/* ── Series grouping ──────────────────────────────────────────────────────── */
.series__head { margin-bottom: 1rem; }
.series__name { margin: 0; font-size: 1.1rem; font-weight: 600; color: var(--text, #fafafa); }
.series__meta { margin: 0.2rem 0 0; color: var(--text-muted, #a1a1aa); font-size: 0.85rem; }
.series__tag { display: inline-block; margin-left: 0.5rem; padding: 0.1rem 0.5rem; border-radius: 99px; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; vertical-align: middle; color: #09090b; background: var(--accent, #c8ff00); }
.series__suggest { margin-top: 1rem; padding: 1rem 1.15rem; border: 1px dashed var(--border-light, #3f3f46); border-radius: 12px; display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; align-items: center; justify-content: space-between; }
.series__suggest p { margin: 0; color: var(--text-secondary, #e4e4e7); font-size: 0.92rem; }
.series__suggest .btn { width: auto; }

/* Next automatic re-audit line + inline date editor (membership benefit). */
.series__nextrun { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.7rem; margin: 0 0 1rem; padding: 0.6rem 0.85rem; border: 1px solid var(--border, #27272a); border-radius: 10px; background: var(--bg-card, #141416); font-size: 0.9rem; }
.series__nextrun-icon { color: var(--accent, #c8ff00); font-size: 1rem; line-height: 1; }
.series__nextrun-text { color: var(--text-secondary, #e4e4e7); }
.series__nextrun-text strong { color: var(--text, #fafafa); }
.series__nextrun-edit { margin-left: auto; background: none; border: none; padding: 0; font: inherit; font-size: 0.85rem; color: var(--accent, #c8ff00); cursor: pointer; }
.series__nextrun-edit:hover { text-decoration: underline; }
.series__nextrun-input { padding: 0.35rem 0.5rem; border: 1px solid var(--border-light, #3f3f46); border-radius: 8px; background: var(--bg, #09090b); color: var(--text, #fafafa); font: inherit; font-size: 0.85rem; color-scheme: dark; }
.series__nextrun-save, .series__nextrun-cancel { padding: 0.35rem 0.7rem; border-radius: 8px; font: inherit; font-size: 0.82rem; cursor: pointer; border: 1px solid var(--border-light, #3f3f46); background: var(--bg-card, #141416); color: var(--text, #fafafa); }
.series__nextrun-save { border-color: var(--accent, #c8ff00); background: var(--accent, #c8ff00); color: #09090b; font-weight: 600; }
.series__nextrun-err { flex-basis: 100%; color: #f59e0b; font-size: 0.82rem; }

/* ── Per-audit detail page ────────────────────────────────────────────────── */
.audit-detail-head { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; justify-content: space-between; }
.back-link { display: inline-block; margin-bottom: 1rem; color: var(--text-muted, #a1a1aa); text-decoration: none; font-size: 0.9rem; }
.back-link:hover { color: var(--accent, #c8ff00); }
.intake-form { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 0.85rem; }
.intake-form input { flex: 1 1 240px; padding: 0.7rem 0.9rem; border-radius: 10px; background: var(--bg, #09090b); border: 1px solid var(--border-light, #3f3f46); color: var(--text, #fafafa); font: inherit; }
.intake-form input:focus { outline: none; border-color: var(--accent, #c8ff00); }
.intake-form .btn { width: auto; }

/* ── Confirmation modal ───────────────────────────────────────────────────── */
.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.7); display: flex; align-items: center; justify-content: center; padding: 1.5rem; z-index: 100; animation: modal-fade .12s ease; }
@keyframes modal-fade { from { opacity: 0; } to { opacity: 1; } }
.modal { background: #141416; border: 1px solid var(--border-light, #3f3f46); border-radius: 16px; padding: 1.85rem; max-width: 440px; width: 100%; }
.modal__title { margin: 0 0 0.6rem; font-size: 1.3rem; color: var(--text, #fafafa); }
.modal__body { margin: 0 0 1rem; color: var(--text-muted, #a1a1aa); line-height: 1.55; }
.modal__body a { color: var(--accent, #c8ff00); }
.modal__target { margin: 0 0 1.4rem; padding: 0.8rem 1rem; border-radius: 10px; background: var(--accent-glow, rgba(200,255,0,0.06)); border: 1px solid rgba(200,255,0,0.35); color: var(--text, #fafafa); font-weight: 600; font-family: var(--mono, monospace); word-break: break-all; }
.modal__actions { display: flex; gap: 0.6rem; justify-content: flex-end; }
.modal__actions .btn { width: auto; }
.modal__textarea { width: 100%; resize: vertical; margin: 0 0 1.2rem; padding: 0.8rem 0.9rem; border-radius: 10px; background: var(--bg, #09090b); border: 1px solid var(--border-light, #3f3f46); color: var(--text, #fafafa); font: inherit; }
.modal__textarea:focus { outline: none; border-color: var(--accent, #c8ff00); }

/* ── Phased fulfillment (Foundations → The Audit → Actions) ───────────────── */
.phase { border: 1px solid var(--border, #27272a); border-radius: 14px; padding: 1.35rem 1.45rem; margin-bottom: 1.1rem; }
.phase--complete { border-color: rgba(200,255,0,0.3); }
.phase--active { border-color: rgba(96,165,250,0.4); }
.phase__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.phase__name { font-size: 1.2rem; font-weight: 700; color: var(--text, #fafafa); }
.phase__badge { flex: 0 0 auto; font-family: var(--mono, monospace); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.32rem 0.65rem; border-radius: 999px; background: var(--border, #27272a); color: var(--text-muted, #a1a1aa); }
.phase--complete .phase__badge { background: rgba(200,255,0,0.14); color: var(--accent, #c8ff00); }
.phase--active .phase__badge { background: rgba(96,165,250,0.16); color: #60a5fa; }
.phase__sub { margin: 0.45rem 0 1.2rem; color: var(--text-muted, #a1a1aa); font-size: 0.92rem; line-height: 1.55; max-width: 60ch; }
.phase .prog:last-child { padding-bottom: 0; }

/* Entitlement tag on the Actions step (paid/included vs unlock-required). */
.ent-tag { display: inline-block; margin-right: 0.45rem; padding: 0.1rem 0.5rem; border-radius: 999px; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.02em; vertical-align: middle; }
.ent-tag--paid { background: rgba(200,255,0,0.16); color: var(--accent, #c8ff00); border: 1px solid rgba(200,255,0,0.4); }
.ent-tag--locked { background: rgba(250,204,21,0.14); color: #facc15; border: 1px solid rgba(250,204,21,0.4); }

/* ── Live "building your foundations" experience ──────────────────────────── */
.prog__dot--pulse { animation: prog-pulse 1.4s ease-in-out infinite; }
@keyframes prog-pulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
.build-live__spin { display: inline-block; width: 13px; height: 13px; margin-left: .5rem; border: 2px solid var(--border-light, #3f3f46); border-top-color: var(--accent, #c8ff00); border-radius: 50%; vertical-align: middle; animation: build-spin .8s linear infinite; }
@keyframes build-spin { to { transform: rotate(360deg); } }
.build-live__est { margin: .5rem 0 0; display: inline-block; font-size: .82rem; font-weight: 600; color: var(--accent, #c8ff00); background: var(--accent-glow, rgba(200,255,0,0.06)); border: 1px solid rgba(200,255,0,0.3); border-radius: 999px; padding: .25rem .7rem; }
.build-live__steps { list-style: none; margin: .9rem 0 0; padding: 0; display: flex; flex-direction: column; gap: .55rem; }
.build-live__steps li { position: relative; padding-left: 1.6rem; color: var(--text-muted, #71717a); font-size: .94rem; transition: color .3s ease; }
.build-live__steps li::before { content: "○"; position: absolute; left: 0; color: var(--border-light, #3f3f46); transition: all .3s ease; }
.build-live__steps li.is-active { color: var(--text, #fafafa); }
.build-live__steps li.is-active::before { content: "◐"; color: #60a5fa; animation: build-spin 1.2s linear infinite; }
.build-live__steps li.is-done { color: var(--text-secondary, #e4e4e7); }
.build-live__steps li.is-done::before { content: "✓"; color: var(--accent, #c8ff00); }
.build-live__fact { margin: 1.1rem 0 0; padding: .85rem 1rem; border-left: 3px solid var(--accent, #c8ff00); background: var(--accent-glow, rgba(200,255,0,0.06)); border-radius: 0 10px 10px 0; color: var(--text-secondary, #e4e4e7); font-size: .92rem; line-height: 1.55; min-height: 1.2em; }
.build-live__eta { margin: .9rem 0 0; color: var(--text-muted, #71717a); font-size: .85rem; }

/* ── Audit sharing (read-only viewers) ──────────────────────────────────────
   Owner-side share manager + viewer-side read-only treatment. Reuses the
   homepage design-system variables; no new colors. */
.series__head--row { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.series__share-btn { flex: 0 0 auto; padding: 0.4rem 0.9rem; font-size: 0.85rem; }

/* "Shared · read-only" tag — same pill as series__tag but muted, not accent. */
.series__tag--shared { color: var(--text-secondary, #e4e4e7); background: var(--bg, #09090b); border: 1px solid var(--border-light, #3f3f46); }

/* In-flight cycle in a shared series: visible but not linkable. */
.audit-row.is-disabled { cursor: default; opacity: 0.72; }
.audit-row.is-disabled:hover { border-color: var(--border, #27272a); }
.audit-row.is-disabled .audit-row__go { visibility: hidden; }

/* Share manager panel (inline under an owned series). */
.share-mgr { margin: 0 0 1rem; padding: 1rem; border: 1px solid var(--border, #27272a); border-radius: 12px; background: var(--bg, #09090b); }
.share-mgr__empty { margin: 0 0 0.85rem; }
.share-mgr__status { margin: 0.75rem 0 0; }

.share-list { list-style: none; margin: 0 0 0.85rem; padding: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.share-list__item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.5rem 0.75rem; border: 1px solid var(--border, #27272a); border-radius: 9px; background: var(--bg-card, #141416); }
.share-list__email { color: var(--text, #fafafa); font-size: 0.9rem; word-break: break-all; }
.share-list__pending { margin-left: 0.4rem; padding: 0.05rem 0.45rem; border-radius: 99px; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--text-muted, #a1a1aa); background: var(--bg, #09090b); border: 1px solid var(--border, #27272a); }
.share-list__revoke { flex: 0 0 auto; background: none; border: none; padding: 0; font: inherit; font-size: 0.85rem; color: var(--text-muted, #a1a1aa); cursor: pointer; }
.share-list__revoke:hover { color: var(--danger, #ef4444); text-decoration: underline; }

.share-add { display: flex; gap: 0.5rem; }
.share-add__input { flex: 1 1 auto; min-width: 0; color: var(--text, #fafafa); background: var(--bg-card, #141416); border: 1px solid var(--border, #27272a); border-radius: 9px; padding: 0.55rem 0.75rem; font: inherit; font-size: 0.9rem; }
.share-add__input:focus { outline: none; border-color: var(--accent, #c8ff00); }
/* width:auto overrides .btn--primary's hardcoded width:100% so the button hugs
   its label and the input takes the remaining space. */
.share-add__btn { flex: 0 0 auto; width: auto; padding: 0.55rem 1rem; font-size: 0.85rem; white-space: nowrap; }

/* Read-only banner at the top of a shared report. */
.ro-banner { display: flex; align-items: center; gap: 0.55rem; margin: 0 0 1.25rem; padding: 0.7rem 1rem; border: 1px solid var(--border-light, #3f3f46); border-radius: 10px; background: var(--bg-card, #141416); color: var(--text-secondary, #e4e4e7); font-size: 0.88rem; }
.ro-banner__dot { width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto; background: var(--accent, #c8ff00); }
