/* Backyard Studio 4.0 — paid-pilot project path, value preview, and professional repeat workflow. */
:root {
  --v3-ink: var(--ink, #17241f);
  --v3-muted: var(--muted, #69766f);
  --v3-line: var(--line, #d7dfda);
  --v3-paper: var(--paper, #fff);
  --v3-panel: var(--panel, #f7f9f7);
  --v3-soft: var(--soft, #edf2ef);
  --v3-brand: var(--brand, #18372f);
  --v3-brand-2: var(--brand-2, #285a4e);
  --v3-accent: var(--accent, #b8ea6f);
  --v3-accent-ink: var(--accent-ink, #18372f);
  --v3-success: var(--success, #2b7658);
  --v3-warning: var(--warning, #a86b18);
  --v3-danger: var(--danger, #b44d47);
  --v3-shadow: 0 28px 100px rgba(12, 25, 20, .30);
  --v3-shadow-sm: 0 12px 34px rgba(14, 31, 24, .12);
  --v3-radius: 18px;
  --v3-radius-sm: 12px;
  --v3-font: var(--bs-font-scale, 1);
}

body.v3-open { overflow: hidden; }

.v3-project-path-button {
  min-height: 38px !important;
  gap: 8px;
  padding: 0 13px 0 10px !important;
  border-radius: 11px !important;
  box-shadow: 0 8px 22px rgba(185, 235, 111, .18);
}
.v3-project-path-button .v3-path-mark {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border-radius: 7px;
  background: rgba(255,255,255,.56);
  font-size: 16px;
  line-height: 1;
}
.v3-project-path-button > span:not(.v3-path-mark) { font-weight: 800; }
.v3-project-path-button small {
  display: block;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: color-mix(in srgb, var(--v3-accent-ink) 74%, transparent);
  font-size: calc(8.5px * var(--v3-font));
  font-weight: 750;
}
.v3-role-button {
  min-height: 38px;
  min-width: 94px;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: 1fr;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 10px;
}
.v3-role-button:hover { background: rgba(255,255,255,.14); }
.v3-role-button span {
  min-width: 32px;
  padding: 3px 5px;
  border-radius: 5px;
  background: rgba(255,255,255,.14);
  font-size: calc(8px * var(--v3-font));
  letter-spacing: .1em;
  font-weight: 850;
}
.v3-role-button strong { font-size: calc(10px * var(--v3-font)); white-space: nowrap; }
.v3-cloud-state {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 2px;
  font-size: calc(8.5px * var(--v3-font));
  color: rgba(255,255,255,.62);
}
.v3-cloud-state::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #83b9a1;
}
.v3-cloud-state[data-state="saving"]::before { background: #e8c163; animation: v3-pulse 1.2s ease-in-out infinite; }
.v3-cloud-state[data-state="saved"]::before { background: #7bd49d; }
.v3-cloud-state[data-state="error"]::before { background: #d9877d; }

#v3PilotRoot {
  position: fixed;
  inset: 0;
  z-index: 7600;
  display: none;
  color: var(--v3-ink);
  font-size: calc(14px * var(--v3-font));
}
#v3PilotRoot.open { display: block; }
.v3-backdrop {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(10px, 2vw, 26px);
  overflow: auto;
  background:
    radial-gradient(circle at 15% 8%, rgba(184, 234, 111, .13), transparent 30%),
    rgba(9, 17, 14, .68);
  backdrop-filter: blur(11px) saturate(.9);
}

.v3-shell,
.v3-pro-shell,
.v3-welcome {
  width: min(1500px, 100%);
  max-height: calc(100dvh - 34px);
  overflow: hidden;
  background: var(--v3-paper);
  border: 1px solid color-mix(in srgb, var(--v3-line) 85%, transparent);
  border-radius: clamp(14px, 1.6vw, 24px);
  box-shadow: var(--v3-shadow);
}
.v3-shell,
.v3-pro-shell { display: grid; grid-template-rows: auto minmax(0, 1fr); }

.v3-header {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 12px 18px;
  color: #f6faf8;
  background:
    radial-gradient(circle at 82% 0%, rgba(184,234,111,.18), transparent 28%),
    linear-gradient(120deg, color-mix(in srgb, var(--v3-brand) 96%, #000), color-mix(in srgb, var(--v3-brand-2) 88%, #12251f));
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.v3-header-brand,
.v3-brand-line {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 11px;
}
.v3-logo {
  flex: none;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: var(--v3-accent);
  color: var(--v3-accent-ink);
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 0 0 4px rgba(255,255,255,.08);
}
.v3-header-brand strong,
.v3-brand-line strong { display: block; font-size: calc(15px * var(--v3-font)); letter-spacing: -.01em; }
.v3-header-brand small,
.v3-brand-line small { display: block; margin-top: 2px; color: rgba(255,255,255,.66); font-size: calc(9.5px * var(--v3-font)); }
.v3-header-actions { display: flex; align-items: center; gap: 8px; }
.v3-quiet,
.v3-close {
  min-height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.20);
  color: #f5faf7;
  background: rgba(255,255,255,.08);
  font-weight: 750;
}
.v3-quiet { padding: 0 12px; font-size: calc(10px * var(--v3-font)); }
.v3-close { width: 38px; padding: 0; font-size: 24px; line-height: 1; }
.v3-quiet:hover,
.v3-close:hover { background: rgba(255,255,255,.17); }

.v3-body {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(190px, 242px) minmax(480px, 1fr) minmax(240px, 300px);
  overflow: hidden;
  background: var(--v3-soft);
}
.v3-step-rail,
.v3-proof-rail,
.v3-step-main { min-height: 0; overflow: auto; }
.v3-step-rail {
  padding: 18px 12px;
  background: color-mix(in srgb, var(--v3-panel) 92%, var(--v3-paper));
  border-right: 1px solid var(--v3-line);
}
.v3-progress-copy { padding: 4px 8px 16px; }
.v3-progress-copy > span {
  display: block;
  color: var(--v3-muted);
  font-size: calc(9px * var(--v3-font));
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.v3-progress-copy strong { display: block; margin-top: 4px; font-size: calc(12px * var(--v3-font)); }
.v3-progress-track {
  height: 6px;
  margin-top: 11px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--v3-line) 72%, transparent);
}
.v3-progress-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--v3-brand-2), var(--v3-accent));
  transition: width 320ms ease;
}
.v3-step {
  width: 100%;
  min-height: 60px;
  display: grid;
  grid-template-columns: 31px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  margin: 3px 0;
  padding: 8px;
  text-align: left;
  color: var(--v3-muted);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 12px;
}
.v3-step > span {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--v3-muted);
  background: var(--v3-paper);
  border: 1px solid var(--v3-line);
  font-size: calc(10px * var(--v3-font));
  font-weight: 850;
}
.v3-step strong { display: block; color: var(--v3-ink); font-size: calc(10.5px * var(--v3-font)); }
.v3-step small { display: block; margin-top: 2px; color: var(--v3-muted); font-size: calc(8.5px * var(--v3-font)); line-height: 1.35; }
.v3-step:hover { background: color-mix(in srgb, var(--v3-paper) 80%, transparent); }
.v3-step.active {
  color: var(--v3-ink);
  background: var(--v3-paper);
  border-color: color-mix(in srgb, var(--v3-brand-2) 28%, var(--v3-line));
  box-shadow: 0 7px 20px rgba(31, 72, 58, .08);
}
.v3-step.active > span { color: var(--v3-accent-ink); background: var(--v3-accent); border-color: var(--v3-accent); }
.v3-step.complete > span { color: white; background: var(--v3-success); border-color: var(--v3-success); }
.v3-step-foot {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 9px;
  align-items: center;
  margin: 18px 6px 0;
  padding: 12px;
  color: var(--v3-muted);
  background: color-mix(in srgb, var(--v3-brand-2) 5%, var(--v3-paper));
  border: 1px solid var(--v3-line);
  border-radius: 12px;
}
.v3-step-foot p { margin: 0; font-size: calc(8.5px * var(--v3-font)); line-height: 1.45; }
.v3-soft-hourglass {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: var(--v3-brand-2);
  background: color-mix(in srgb, var(--v3-accent) 24%, var(--v3-paper));
  font-size: 24px;
  filter: saturate(.8);
  animation: v3-hourglass 3.2s ease-in-out infinite;
}
.v3-soft-hourglass.done { animation: none; color: var(--v3-success); }

.v3-step-main { padding: clamp(18px, 2.4vw, 34px); background: var(--v3-paper); }
.v3-step-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.v3-step-head h1 { max-width: 760px; margin: 5px 0 0; font-size: clamp(23px, 2.1vw, 34px); line-height: 1.08; letter-spacing: -.035em; }
.v3-status-pill {
  flex: none;
  display: inline-flex;
  align-items: center;
  min-height: 29px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: calc(8.5px * var(--v3-font));
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--v3-warning);
  background: color-mix(in srgb, var(--v3-warning) 10%, var(--v3-paper));
  border: 1px solid color-mix(in srgb, var(--v3-warning) 32%, var(--v3-line));
}
.v3-status-pill.complete { color: var(--v3-success); background: color-mix(in srgb, var(--v3-success) 9%, var(--v3-paper)); border-color: color-mix(in srgb, var(--v3-success) 30%, var(--v3-line)); }

.v3-card {
  margin-bottom: 14px;
  padding: clamp(17px, 2vw, 25px);
  background: var(--v3-paper);
  border: 1px solid var(--v3-line);
  border-radius: var(--v3-radius);
  box-shadow: 0 7px 24px rgba(23, 51, 42, .055);
}
.v3-card h2 { margin: 5px 0 8px; font-size: clamp(18px, 1.45vw, 24px); line-height: 1.18; letter-spacing: -.025em; }
.v3-card h3 { margin: 4px 0 7px; font-size: calc(15px * var(--v3-font)); }
.v3-card p { margin: 7px 0; color: var(--v3-muted); line-height: 1.58; }
.v3-card ul { margin: 13px 0; padding-left: 19px; color: var(--v3-muted); line-height: 1.55; }
.v3-section-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.v3-action-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 17px; }
.v3-action-row.end { justify-content: flex-end; }
.v3-primary,
.v3-secondary,
.v3-link {
  min-height: 39px;
  border-radius: 10px;
  font-weight: 800;
  font-size: calc(10.5px * var(--v3-font));
}
.v3-primary { padding: 0 16px; color: var(--v3-accent-ink); background: var(--v3-accent); border: 1px solid var(--v3-accent); box-shadow: 0 9px 18px rgba(126, 170, 69, .16); }
.v3-primary:hover { filter: brightness(.97); transform: translateY(-1px); }
.v3-primary:disabled { opacity: .48; transform: none; box-shadow: none; }
.v3-secondary { padding: 0 14px; color: var(--v3-ink); background: var(--v3-paper); border: 1px solid var(--v3-line); }
.v3-secondary:hover { border-color: color-mix(in srgb, var(--v3-brand-2) 45%, var(--v3-line)); background: var(--v3-soft); }
.v3-link { min-height: 31px; padding: 0; color: var(--v3-brand-2); background: transparent; border: 0; text-align: left; }
.v3-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.v3-property-start {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 260px);
  gap: 24px;
  align-items: stretch;
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb, var(--v3-accent) 20%, transparent), transparent 35%),
    var(--v3-paper);
}
.v3-site-summary {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 160px;
  padding: 18px;
  border-radius: 15px;
  color: white;
  background:
    linear-gradient(rgba(13,35,28,.26), rgba(13,35,28,.78)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.07) 0 1px, transparent 1px 15px),
    linear-gradient(135deg, var(--v3-brand-2), var(--v3-brand));
  border: 1px solid rgba(255,255,255,.18);
}
.v3-site-summary span { color: rgba(255,255,255,.65); font-size: calc(8px * var(--v3-font)); font-weight: 850; letter-spacing: .13em; }
.v3-site-summary strong { margin-top: 5px; font-size: clamp(18px, 2vw, 28px); }
.v3-site-summary small { margin-top: 5px; color: rgba(255,255,255,.70); line-height: 1.4; }
.v3-check-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.v3-check-card {
  position: relative;
  min-height: 80px;
  display: grid;
  grid-template-columns: 31px 1fr;
  gap: 10px;
  align-items: start;
  padding: 13px;
  cursor: pointer;
  border: 1px solid var(--v3-line);
  border-radius: 13px;
  background: color-mix(in srgb, var(--v3-paper) 92%, var(--v3-soft));
}
.v3-check-card:hover { border-color: color-mix(in srgb, var(--v3-brand-2) 36%, var(--v3-line)); }
.v3-check-card input { position: absolute; opacity: 0; pointer-events: none; }
.v3-check-mark {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border: 1px solid var(--v3-line);
  border-radius: 9px;
  color: white;
  background: var(--v3-paper);
  font-weight: 900;
}
.v3-check-card:has(input:checked) { background: color-mix(in srgb, var(--v3-success) 7%, var(--v3-paper)); border-color: color-mix(in srgb, var(--v3-success) 35%, var(--v3-line)); }
.v3-check-card:has(input:checked) .v3-check-mark { background: var(--v3-success); border-color: var(--v3-success); }
.v3-check-card strong { display: block; font-size: calc(11px * var(--v3-font)); }
.v3-check-card small { display: block; margin-top: 4px; color: var(--v3-muted); font-size: calc(9px * var(--v3-font)); line-height: 1.42; }
.v3-callout { margin-top: 13px; padding: 11px 13px; color: color-mix(in srgb, var(--v3-warning) 88%, var(--v3-ink)); background: color-mix(in srgb, var(--v3-warning) 8%, var(--v3-paper)); border: 1px solid color-mix(in srgb, var(--v3-warning) 26%, var(--v3-line)); border-radius: 11px; font-size: calc(9px * var(--v3-font)); line-height: 1.5; }

.v3-outcome-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.v3-outcome { position: relative; display: block; cursor: pointer; }
.v3-outcome input { position: absolute; opacity: 0; }
.v3-outcome > span { min-height: 116px; display: flex; flex-direction: column; padding: 15px; border: 1px solid var(--v3-line); border-radius: 14px; background: var(--v3-paper); }
.v3-outcome:hover > span { border-color: color-mix(in srgb, var(--v3-brand-2) 38%, var(--v3-line)); }
.v3-outcome.selected > span,
.v3-outcome:has(input:checked) > span { background: color-mix(in srgb, var(--v3-accent) 8%, var(--v3-paper)); border-color: color-mix(in srgb, var(--v3-brand-2) 52%, var(--v3-line)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--v3-brand-2) 25%, transparent); }
.v3-outcome em { color: var(--v3-brand-2); font-size: calc(8px * var(--v3-font)); font-style: normal; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.v3-outcome strong { margin-top: 7px; font-size: calc(13px * var(--v3-font)); }
.v3-outcome small { margin-top: 5px; color: var(--v3-muted); line-height: 1.45; }
.v3-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.v3-form-grid > label { display: grid; gap: 6px; }
.v3-form-grid > label > span,
.v3-goal-row > span { color: var(--v3-muted); font-size: calc(9px * var(--v3-font)); font-weight: 800; }
.v3-form-grid .wide { grid-column: 1 / -1; }
.v3-form-grid input,
.v3-form-grid select,
.v3-form-grid textarea,
.v3-pro-grid input,
.v3-pro-grid select {
  width: 100%;
  min-height: 40px;
  padding: 9px 11px;
  color: var(--v3-ink);
  background: var(--v3-paper);
  border: 1px solid var(--v3-line);
  border-radius: 10px;
  font: inherit;
  font-size: calc(10px * var(--v3-font));
}
.v3-form-grid textarea { min-height: 80px; resize: vertical; }
.v3-money-input { display: grid; grid-template-columns: 34px 1fr; }
.v3-money-input i { display: grid; place-items: center; color: var(--v3-muted); background: var(--v3-soft); border: 1px solid var(--v3-line); border-right: 0; border-radius: 10px 0 0 10px; font-style: normal; font-weight: 850; }
.v3-money-input input { border-radius: 0 10px 10px 0; }
.v3-goal-row { margin-top: 17px; }
.v3-goal-row > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 8px; }
.v3-goal-row label { cursor: pointer; }
.v3-goal-row input { position: absolute; opacity: 0; }
.v3-goal-row label span { display: inline-flex; min-height: 32px; align-items: center; padding: 0 11px; border: 1px solid var(--v3-line); border-radius: 999px; background: var(--v3-paper); color: var(--v3-muted); font-size: calc(9px * var(--v3-font)); font-weight: 700; }
.v3-goal-row label:has(input:checked) span { color: var(--v3-brand); background: color-mix(in srgb, var(--v3-accent) 21%, var(--v3-paper)); border-color: color-mix(in srgb, var(--v3-brand-2) 35%, var(--v3-line)); }

.v3-plan-builder { display: grid; grid-template-columns: minmax(280px, .85fr) minmax(330px, 1.15fr); gap: 25px; align-items: stretch; }
.v3-plan-copy { display: flex; flex-direction: column; justify-content: center; }
.v3-plan-frame,
.v3-preview-plan {
  min-height: 320px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--v3-line);
  border-radius: 15px;
  background: #e6ebe7;
  box-shadow: inset 0 0 0 8px rgba(255,255,255,.35);
}
.v3-plan-frame svg,
.v3-preview-plan svg { width: 100%; height: 100%; max-height: 460px; display: block; }
.v3-feedback-row { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; margin-top: 15px; }
.v3-feedback-row button { min-height: 46px; padding: 8px 10px; color: var(--v3-ink); background: var(--v3-paper); border: 1px solid var(--v3-line); border-radius: 11px; font-size: calc(9px * var(--v3-font)); font-weight: 750; }
.v3-feedback-row button:hover { background: var(--v3-soft); border-color: color-mix(in srgb, var(--v3-brand-2) 35%, var(--v3-line)); }
.v3-empty-instruction { display: grid; grid-template-columns: 44px 1fr; gap: 13px; align-items: center; padding: 18px; border: 1px dashed color-mix(in srgb, var(--v3-brand-2) 30%, var(--v3-line)); border-radius: 15px; color: var(--v3-muted); background: color-mix(in srgb, var(--v3-brand-2) 4%, var(--v3-paper)); }
.v3-empty-instruction > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--v3-accent-ink); background: var(--v3-accent); font-weight: 900; }
.v3-empty-instruction strong { color: var(--v3-ink); }
.v3-empty-instruction p { margin: 3px 0 0; }

.v3-tier-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; margin-top: 15px; }
.v3-tier-grid article { position: relative; min-height: 145px; padding: 16px; border: 1px solid var(--v3-line); border-radius: 14px; background: var(--v3-paper); }
.v3-tier-grid article.recommended { border-color: color-mix(in srgb, var(--v3-brand-2) 48%, var(--v3-line)); background: color-mix(in srgb, var(--v3-accent) 9%, var(--v3-paper)); box-shadow: 0 10px 24px rgba(48, 92, 73, .09); }
.v3-tier-grid em { position: absolute; top: 10px; right: 10px; padding: 3px 7px; border-radius: 999px; color: var(--v3-accent-ink); background: var(--v3-accent); font-size: calc(7px * var(--v3-font)); font-style: normal; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }
.v3-tier-grid span { display: block; color: var(--v3-muted); font-weight: 800; font-size: calc(9px * var(--v3-font)); }
.v3-tier-grid strong { display: block; margin-top: 8px; font-size: clamp(19px, 2vw, 27px); letter-spacing: -.035em; }
.v3-tier-grid p { margin-top: 8px; font-size: calc(9px * var(--v3-font)); line-height: 1.45; }
.v3-driver-list { display: grid; gap: 7px; margin-top: 11px; }
.v3-driver-list > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--v3-line); }
.v3-driver-list > div:last-child { border-bottom: 0; }
.v3-driver-list strong { display: block; font-size: calc(10px * var(--v3-font)); }
.v3-driver-list small { display: block; margin-top: 2px; color: var(--v3-muted); font-size: calc(8.5px * var(--v3-font)); }
.v3-driver-list b { font-size: calc(11px * var(--v3-font)); }

.v3-confidence-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.v3-confidence-grid .v3-proof-card { min-height: 135px; }
.v3-review-list { display: grid; gap: 8px; margin-top: 12px; }
.v3-review-list article { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: start; padding: 12px; border: 1px solid var(--v3-line); border-radius: 12px; background: var(--v3-paper); }
.v3-review-list article > span { min-width: 68px; padding: 4px 6px; border-radius: 999px; text-align: center; color: var(--v3-warning); background: color-mix(in srgb, var(--v3-warning) 9%, var(--v3-paper)); font-size: calc(7px * var(--v3-font)); font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.v3-review-list strong { display: block; font-size: calc(10px * var(--v3-font)); }
.v3-review-list small { display: block; margin-top: 3px; color: var(--v3-muted); line-height: 1.4; }
.v3-ack { display: flex; gap: 9px; align-items: flex-start; margin-top: 15px; padding: 12px; border-radius: 11px; background: var(--v3-soft); color: var(--v3-muted); font-size: calc(9px * var(--v3-font)); line-height: 1.45; cursor: pointer; }
.v3-ack input { margin-top: 2px; }

.v3-decision-preview { display: grid; grid-template-columns: minmax(360px, 1.15fr) minmax(280px, .85fr); gap: 20px; align-items: stretch; }
.v3-preview-summary { display: flex; flex-direction: column; padding: 3px; }
.v3-preview-summary h2 { font-size: clamp(24px, 2.4vw, 38px); }
.v3-preview-metrics { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin: 13px 0; }
.v3-preview-metrics > div { padding: 12px; border: 1px solid var(--v3-line); border-radius: 12px; background: var(--v3-soft); }
.v3-preview-metrics span { display: block; color: var(--v3-muted); font-size: calc(8px * var(--v3-font)); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.v3-preview-metrics strong { display: block; margin-top: 5px; font-size: calc(16px * var(--v3-font)); }
.v3-preview-list { display: grid; gap: 7px; margin-top: 10px; }
.v3-preview-list > div { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--v3-line); }
.v3-preview-list strong { font-size: calc(9.5px * var(--v3-font)); }
.v3-preview-list span { color: var(--v3-muted); font-size: calc(9px * var(--v3-font)); }
.v3-unlock-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(230px, .44fr);
  gap: 18px;
  align-items: center;
  background:
    radial-gradient(circle at 90% 5%, color-mix(in srgb, var(--v3-accent) 24%, transparent), transparent 35%),
    color-mix(in srgb, var(--v3-brand) 96%, #000);
  color: white;
  border-color: rgba(255,255,255,.12);
}
.v3-unlock-card h2,
.v3-unlock-card h3 { color: white; }
.v3-unlock-card p { color: rgba(255,255,255,.70); }
.v3-unlock-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-top: 13px; }
.v3-unlock-list span { display: flex; gap: 7px; align-items: center; color: rgba(255,255,255,.87); font-size: calc(9px * var(--v3-font)); }
.v3-unlock-list span::before { content: "✓"; color: var(--v3-accent); font-weight: 900; }
.v3-unlock-card aside { padding: 17px; border-radius: 15px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16); }
.v3-unlock-card aside strong { display: block; font-size: clamp(28px, 3vw, 42px); }
.v3-unlock-card aside span { display: block; margin: 2px 0 13px; color: rgba(255,255,255,.65); font-size: calc(9px * var(--v3-font)); }
.v3-unlock-card .v3-primary { width: 100%; }
.v3-complete-card { text-align: center; padding: 34px; }
.v3-complete-mark { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 14px; border-radius: 21px; color: white; background: var(--v3-success); font-size: 31px; box-shadow: 0 12px 32px color-mix(in srgb, var(--v3-success) 27%, transparent); }

.v3-proof-rail { padding: 18px 14px; background: color-mix(in srgb, var(--v3-panel) 92%, var(--v3-paper)); border-left: 1px solid var(--v3-line); }
.v3-proof-card { margin-bottom: 10px; padding: 14px; background: var(--v3-paper); border: 1px solid var(--v3-line); border-radius: 14px; }
.v3-proof-card h3 { margin: 5px 0 10px; }
.v3-proof-card p { margin: 6px 0 10px; color: var(--v3-muted); font-size: calc(9px * var(--v3-font)); line-height: 1.48; }
.v3-proof-row { display: grid; grid-template-columns: 8px 1fr; gap: 9px; align-items: start; padding: 8px 0; border-top: 1px solid var(--v3-line); }
.v3-proof-row i { width: 8px; height: 8px; margin-top: 4px; border-radius: 50%; background: var(--v3-warning); }
.v3-proof-row.strong i { background: var(--v3-success); }
.v3-proof-row.needed i { background: var(--v3-danger); }
.v3-proof-row strong { display: block; font-size: calc(9.5px * var(--v3-font)); }
.v3-proof-row small { display: block; margin-top: 2px; color: var(--v3-muted); font-size: calc(8px * var(--v3-font)); line-height: 1.35; }
.v3-price-card { background: color-mix(in srgb, var(--v3-accent) 9%, var(--v3-paper)); border-color: color-mix(in srgb, var(--v3-brand-2) 25%, var(--v3-line)); }
.v3-price-card .v3-primary { width: 100%; }

/* Welcome experience */
.v3-welcome {
  min-height: min(770px, calc(100dvh - 34px));
  display: grid;
  grid-template-columns: minmax(390px, .95fr) minmax(480px, 1.05fr);
  background: var(--v3-paper);
}
.v3-welcome-visual {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  padding: clamp(28px, 4vw, 62px);
  color: white;
  background:
    radial-gradient(circle at 20% 17%, rgba(184,234,111,.23), transparent 28%),
    linear-gradient(145deg, #102d24 0%, #214d3f 51%, #112b23 100%);
}
.v3-welcome-grid { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(to bottom, black, transparent 92%); }
.v3-property-card { position: relative; width: min(500px, 95%); padding: 14px; border-radius: 20px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.21); box-shadow: 0 28px 70px rgba(0,0,0,.28); backdrop-filter: blur(8px); }
.v3-property-card > span { display: block; margin: 2px 4px; color: rgba(255,255,255,.59); font-size: 9px; letter-spacing: .15em; font-weight: 850; }
.v3-property-card > strong { display: block; margin: 3px 4px 10px; font-size: clamp(15px, 1.5vw, 21px); }
.v3-mini-plan { height: 340px; overflow: hidden; border-radius: 12px; background: #e1e8e3; border: 7px solid rgba(255,255,255,.85); }
.v3-mini-plan svg { width: 100%; height: 100%; display: block; }
.v3-property-proof { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 7px; margin-top: 10px; }
.v3-property-proof b { padding: 8px 4px; text-align: center; border: 1px solid rgba(255,255,255,.13); border-radius: 9px; background: rgba(0,0,0,.12); font-size: calc(8px * var(--v3-font)); }
.v3-welcome-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 5vw, 72px); }
.v3-welcome-copy .v3-brand-line { margin-bottom: 34px; color: var(--v3-ink); }
.v3-welcome-copy .v3-brand-line small { color: var(--v3-muted); }
.v3-welcome-copy h1 { max-width: 760px; margin: 8px 0 12px; font-size: clamp(30px, 3.5vw, 54px); line-height: 1.02; letter-spacing: -.055em; }
.v3-lead { max-width: 720px; margin: 0 0 22px; color: var(--v3-muted); font-size: clamp(14px, 1.25vw, 18px); line-height: 1.58; }
.v3-role-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.v3-role-card { min-height: 174px; display: flex; flex-direction: column; align-items: flex-start; padding: 17px; text-align: left; color: var(--v3-ink); background: var(--v3-paper); border: 1px solid var(--v3-line); border-radius: 15px; }
.v3-role-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--v3-brand-2) 46%, var(--v3-line)); box-shadow: var(--v3-shadow-sm); }
.v3-role-icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 12px; color: var(--v3-accent-ink); background: var(--v3-accent); font-size: 21px; }
.v3-role-card strong { margin-top: 12px; font-size: calc(13px * var(--v3-font)); }
.v3-role-card p { margin: 6px 0; color: var(--v3-muted); line-height: 1.45; font-size: calc(9.5px * var(--v3-font)); }
.v3-role-card em { margin-top: auto; color: var(--v3-brand-2); font-size: calc(8px * var(--v3-font)); font-style: normal; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.v3-resume { width: 100%; display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; margin-top: 10px; padding: 12px 14px; text-align: left; color: var(--v3-ink); background: var(--v3-soft); border: 1px solid var(--v3-line); border-radius: 12px; }
.v3-resume span { color: var(--v3-muted); font-size: calc(8.5px * var(--v3-font)); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.v3-resume strong { font-size: calc(10.5px * var(--v3-font)); }
.v3-resume small { color: var(--v3-brand-2); font-weight: 750; }
.v3-trust-row { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 22px; color: var(--v3-muted); font-size: calc(8.5px * var(--v3-font)); }
.v3-trust-row span::before { content: "✓"; margin-right: 5px; color: var(--v3-success); font-weight: 900; }

/* Professional repeat workflow */
.v3-pro-body { min-height: 0; overflow: auto; padding: clamp(18px, 2.5vw, 34px); background: var(--v3-soft); }
.v3-pro-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(210px, 300px); gap: 20px; align-items: center; margin-bottom: 14px; padding: clamp(21px, 2.8vw, 34px); color: white; background: radial-gradient(circle at 88% 10%, rgba(184,234,111,.20), transparent 33%), linear-gradient(125deg, var(--v3-brand), color-mix(in srgb, var(--v3-brand-2) 90%, #10261f)); border-radius: var(--v3-radius); box-shadow: var(--v3-shadow-sm); }
.v3-pro-hero h1 { margin: 6px 0 9px; color: white; font-size: clamp(27px, 3vw, 43px); line-height: 1.04; letter-spacing: -.04em; }
.v3-pro-hero p { max-width: 760px; color: rgba(255,255,255,.72); line-height: 1.55; }
.v3-pro-score { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.v3-pro-score > div { padding: 13px; border-radius: 12px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.14); }
.v3-pro-score span { display: block; color: rgba(255,255,255,.60); font-size: calc(8px * var(--v3-font)); font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.v3-pro-score strong { display: block; margin-top: 5px; font-size: calc(17px * var(--v3-font)); }
.v3-pro-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.v3-pro-grid > .v3-card { margin-bottom: 0; }
.v3-pro-grid label { display: grid; gap: 5px; margin-bottom: 9px; color: var(--v3-muted); font-size: calc(9px * var(--v3-font)); font-weight: 750; }
.v3-intake-list,
.v3-template-list,
.v3-pipeline { display: grid; gap: 7px; margin-top: 12px; }
.v3-intake-list article,
.v3-template-list article,
.v3-pipeline article { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid var(--v3-line); border-radius: 11px; background: var(--v3-paper); }
.v3-pipeline article { grid-template-columns: auto minmax(0,1fr) auto; }
.v3-intake-list strong,
.v3-template-list strong,
.v3-pipeline strong { display: block; font-size: calc(10px * var(--v3-font)); }
.v3-intake-list small,
.v3-template-list small,
.v3-pipeline small { display: block; margin-top: 2px; color: var(--v3-muted); font-size: calc(8.5px * var(--v3-font)); }
.v3-intake-list button,
.v3-template-list button,
.v3-pipeline button { min-height: 30px; padding: 0 9px; color: var(--v3-brand-2); background: var(--v3-paper); border: 1px solid var(--v3-line); border-radius: 8px; font-size: calc(8.5px * var(--v3-font)); font-weight: 750; }
.v3-pipeline article > span { min-width: 66px; padding: 4px 6px; border-radius: 999px; text-align: center; color: var(--v3-muted); background: var(--v3-soft); font-size: calc(7.5px * var(--v3-font)); font-weight: 850; }
.v3-pipeline article > span.complete,
.v3-pipeline article > span.paid { color: var(--v3-success); background: color-mix(in srgb, var(--v3-success) 10%, var(--v3-paper)); }
.v3-empty-inline { padding: 15px; color: var(--v3-muted); background: var(--v3-soft); border: 1px dashed var(--v3-line); border-radius: 11px; text-align: center; font-size: calc(9px * var(--v3-font)); }
.v3-pro-offer { display: grid; grid-template-columns: minmax(0,1fr) minmax(220px, 310px); gap: 22px; align-items: center; margin-top: 14px; background: color-mix(in srgb, var(--v3-accent) 8%, var(--v3-paper)); border-color: color-mix(in srgb, var(--v3-brand-2) 25%, var(--v3-line)); }
.v3-pro-offer aside { display: flex; flex-direction: column; align-items: stretch; padding: 15px; border: 1px solid var(--v3-line); border-radius: 14px; background: var(--v3-paper); }
.v3-pro-offer aside > strong { font-size: clamp(25px, 3vw, 39px); }
.v3-pro-offer aside > span { margin: 1px 0 12px; color: var(--v3-muted); }
.v3-pro-offer .v3-link { text-align: center; margin-top: 6px; }

/* Parcel simplification */
.v3-guided-parcel .parcel-modal { max-width: 1240px; }
.v3-guided-parcel .parcel-url-row[hidden],
.v3-guided-parcel [hidden] { display: none !important; }
.v3-parcel-advanced { margin-left: auto; }

/* Toasts */
.v3-toast-root { position: fixed; right: 19px; bottom: 19px; z-index: 7900; display: grid; gap: 8px; pointer-events: none; }
.v3-toast { max-width: min(390px, calc(100vw - 32px)); padding: 12px 14px; color: white; background: #263b33; border: 1px solid rgba(255,255,255,.12); border-radius: 11px; box-shadow: 0 14px 38px rgba(0,0,0,.25); font-size: calc(10px * var(--v3-font)); line-height: 1.4; animation: v3-toast-in 180ms ease-out; }
.v3-toast.success { background: #245b43; }
.v3-toast.warning { background: #7b551e; }
.v3-toast.error { background: #7b3531; }
.v3-toast.leaving { opacity: 0; transform: translateY(8px); transition: 220ms ease; }
.v3-start-error { padding: 18px; color: var(--v3-danger); background: color-mix(in srgb, var(--v3-danger) 8%, var(--v3-paper)); border: 1px solid color-mix(in srgb, var(--v3-danger) 25%, var(--v3-line)); border-radius: 12px; }

/* Theme integration */
body[data-bs-theme="dark"] {
  --v3-shadow: 0 30px 100px rgba(0,0,0,.62);
  --v3-shadow-sm: 0 13px 38px rgba(0,0,0,.32);
}
body[data-bs-theme="dark"] .v3-backdrop { background: rgba(0,0,0,.74); }
body[data-bs-theme="dark"] :is(.v3-card,.v3-proof-card,.v3-role-card,.v3-outcome > span,.v3-tier-grid article,.v3-review-list article,.v3-intake-list article,.v3-template-list article,.v3-pipeline article,.v3-pro-offer aside) { background: var(--v3-paper); }
body[data-bs-theme="dark"] :is(.v3-plan-frame,.v3-preview-plan,.v3-mini-plan) { background: #d9e0dc; }
body[data-bs-theme="dark"] .v3-form-grid :is(input,select,textarea),
body[data-bs-theme="dark"] .v3-pro-grid :is(input,select) { background: #141b18; color: var(--v3-ink); }
body[data-bs-theme="dark"] .v3-unlock-card { background: linear-gradient(125deg,#0f211b,#1e493a); }
body[data-bs-theme="minimal"] {
  --v3-radius: 3px;
  --v3-radius-sm: 2px;
  --v3-shadow: 0 20px 65px rgba(0,0,0,.18);
  --v3-shadow-sm: 0 6px 20px rgba(0,0,0,.09);
}
body[data-bs-theme="minimal"] :is(.v3-shell,.v3-pro-shell,.v3-welcome,.v3-card,.v3-proof-card,.v3-role-card,.v3-step,.v3-status-pill,.v3-plan-frame,.v3-preview-plan,.v3-outcome > span,.v3-tier-grid article,.v3-check-card,.v3-callout,.v3-site-summary,.v3-pro-hero,.v3-unlock-card) { border-radius: 2px; }
body[data-bs-theme="minimal"] .v3-header,
body[data-bs-theme="minimal"] .v3-welcome-visual,
body[data-bs-theme="minimal"] .v3-pro-hero,
body[data-bs-theme="minimal"] .v3-unlock-card { background: #111; }
body[data-bs-theme="minimal"] .v3-primary { color: #fff; background: #111; border-color: #111; box-shadow: none; }
body[data-bs-theme="minimal"] .v3-logo,
body[data-bs-theme="minimal"] .v3-role-icon,
body[data-bs-theme="minimal"] .v3-step.active > span { color: white; background: #111; border-color: #111; border-radius: 1px; }
body[data-bs-theme="architect"] {
  --v3-radius: 2px;
  --v3-radius-sm: 1px;
}
body[data-bs-theme="architect"] :is(.v3-shell,.v3-pro-shell,.v3-welcome,.v3-card,.v3-proof-card,.v3-role-card,.v3-step,.v3-status-pill,.v3-plan-frame,.v3-preview-plan,.v3-outcome > span,.v3-tier-grid article,.v3-check-card,.v3-callout,.v3-site-summary,.v3-pro-hero,.v3-unlock-card,.v3-primary,.v3-secondary,.v3-quiet,.v3-close) { border-radius: 1px; }
body[data-bs-theme="architect"] .v3-header,
body[data-bs-theme="architect"] .v3-welcome-visual,
body[data-bs-theme="architect"] .v3-pro-hero,
body[data-bs-theme="architect"] .v3-unlock-card { background: linear-gradient(120deg,#252321,#5a3028); }
body[data-bs-theme="architect"] .v3-primary,
body[data-bs-theme="architect"] .v3-logo,
body[data-bs-theme="architect"] .v3-role-icon,
body[data-bs-theme="architect"] .v3-step.active > span { background: #d65c43; border-color: #d65c43; color: white; }
body[data-bs-theme="architect"] :is(.v3-card h2,.v3-step-head h1,.v3-welcome-copy h1,.v3-pro-hero h1) { letter-spacing: .015em; }

@keyframes v3-pulse { 0%,100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes v3-hourglass { 0%,100% { transform: rotate(0deg); } 44%,56% { transform: rotate(180deg); } }
@keyframes v3-toast-in { from { opacity: 0; transform: translateY(8px); } }

@media (prefers-reduced-motion: reduce) {
  .v3-soft-hourglass,
  .v3-cloud-state[data-state="saving"]::before { animation: none !important; }
  .v3-primary:hover,
  .v3-role-card:hover { transform: none; }
}
body[data-bs-motion="reduced"] .v3-soft-hourglass,
body[data-bs-motion="reduced"] .v3-cloud-state[data-state="saving"]::before { animation: none !important; }

@media (max-width: 1180px) {
  .v3-body { grid-template-columns: 200px minmax(420px, 1fr); }
  .v3-proof-rail { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; border-left: 0; border-top: 1px solid var(--v3-line); overflow: visible; }
  .v3-proof-rail .v3-proof-card { margin: 0; }
  .v3-shell { overflow: auto; }
  .v3-body { overflow: visible; }
  .v3-step-main,.v3-step-rail { overflow: visible; }
  .v3-welcome { grid-template-columns: .8fr 1.2fr; }
  .v3-mini-plan { height: 280px; }
}

@media (max-width: 900px) {
  .v3-backdrop { padding: 0; place-items: stretch; }
  .v3-shell,.v3-pro-shell,.v3-welcome { width: 100%; max-height: none; min-height: 100dvh; border: 0; border-radius: 0; }
  .v3-body { display: block; }
  .v3-step-rail { position: sticky; top: 0; z-index: 3; display: flex; gap: 5px; padding: 8px; overflow-x: auto; border-right: 0; border-bottom: 1px solid var(--v3-line); }
  .v3-progress-copy,.v3-step-foot { display: none; }
  .v3-step { min-width: 122px; min-height: 52px; grid-template-columns: 26px 1fr; padding: 6px; }
  .v3-step > span { width: 25px; height: 25px; }
  .v3-step small { display: none; }
  .v3-proof-rail { grid-template-columns: 1fr; }
  .v3-welcome { display: block; }
  .v3-welcome-visual { min-height: 380px; }
  .v3-mini-plan { height: 270px; }
  .v3-welcome-copy { padding: 30px 22px 42px; }
  .v3-welcome-copy .v3-brand-line { margin-bottom: 24px; }
  .v3-property-start,.v3-plan-builder,.v3-decision-preview,.v3-unlock-card,.v3-pro-hero,.v3-pro-offer { grid-template-columns: 1fr; }
  .v3-pro-grid { grid-template-columns: 1fr; }
  .v3-plan-frame,.v3-preview-plan { min-height: 280px; }
}

@media (max-width: 620px) {
  .v3-header { align-items: flex-start; padding: 10px; }
  .v3-header-actions .v3-quiet { display: none; }
  .v3-step-main { padding: 14px 10px 28px; }
  .v3-step-head { display: block; }
  .v3-step-head .v3-status-pill { margin-top: 10px; }
  .v3-check-grid,.v3-outcome-grid,.v3-form-grid,.v3-tier-grid,.v3-confidence-grid,.v3-preview-metrics,.v3-role-grid { grid-template-columns: 1fr; }
  .v3-feedback-row { grid-template-columns: 1fr; }
  .v3-unlock-list { grid-template-columns: 1fr; }
  .v3-property-proof { grid-template-columns: 1fr; }
  .v3-resume { grid-template-columns: 1fr; }
  .v3-trust-row { display: grid; gap: 7px; }
  .v3-welcome-visual { min-height: 300px; padding: 22px; }
  .v3-property-card { width: 100%; }
  .v3-mini-plan { height: 220px; }
  .v3-review-list article { grid-template-columns: 1fr; }
}

/* Pilot identity and recovery are deliberately lightweight but sufficient for a real paid cohort. */
.v3-identity-card {
  margin-top: 2px;
  padding: 17px;
  border: 1px solid var(--v3-line);
  border-radius: 15px;
  background: color-mix(in srgb, var(--v3-brand-2) 4%, var(--v3-paper));
}
.v3-identity-card h2 { margin: 6px 0 6px; font-size: calc(18px * var(--v3-font)); line-height: 1.2; }
.v3-identity-card > p { margin: 0 0 13px; color: var(--v3-muted); font-size: calc(9.5px * var(--v3-font)); line-height: 1.48; }
.v3-identity-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.v3-identity-fields label { display: grid; gap: 5px; }
.v3-identity-fields label > span { color: var(--v3-muted); font-size: calc(8.5px * var(--v3-font)); font-weight: 800; }
.v3-identity-fields input { width: 100%; min-height: 41px; padding: 9px 11px; color: var(--v3-ink); background: var(--v3-paper); border: 1px solid var(--v3-line); border-radius: 10px; font: inherit; font-size: calc(10px * var(--v3-font)); }
.v3-identity-card .v3-continue { width: 100%; margin-top: 11px; }
.v3-identity-note { display: block; margin-top: 9px; color: var(--v3-muted); font-size: calc(8px * var(--v3-font)); line-height: 1.45; }
.v3-back-link,
.v3-recover-link { color: var(--v3-brand-2); background: transparent; border: 0; font-size: calc(8.5px * var(--v3-font)); font-weight: 800; }
.v3-back-link { display: block; margin: -3px 0 11px; padding: 0; }
.v3-recover-link { width: 100%; min-height: 34px; margin-top: 7px; text-align: center; }
.v3-back-link:hover,
.v3-recover-link:hover { text-decoration: underline; text-underline-offset: 3px; }
body[data-bs-theme="minimal"] .v3-identity-card { border-radius: 2px; }
body[data-bs-theme="architect"] .v3-identity-card { border-radius: 1px; }
@media (max-width:620px) { .v3-identity-fields { grid-template-columns: 1fr; } }
