/* funnel.css — the account/checkout form-card component (Coherence Spec A3).
 *
 * ONE home for the .ls-formcard-* family: the bordered form card with its
 * labels, inputs/selects, error line, note, action row, and one-time access-key
 * <code> block. Linked by the three pages that present the SAME card — sign-in,
 * sign-up, and the standalone /buy/ checkout — which before this file each kept
 * a byte-identical private copy under three different names (.ls-account-* on
 * the auth pages, .ls-buy-* on checkout: one fact wearing three names, the exact
 * drift the Coherence Spec exists to make impossible). The account DASHBOARD
 * (/account/) renders a denser card and keeps its own .ls-account-* inline — a
 * genuinely distinct fact — and links this file only for the two shared
 * one-time-key selectors below.
 *
 * Raw colors here are the white-alpha hairline neutrals grandfathered in
 * web/tools/g2-allowlist.txt (Coherence Spec A2 / gate G2); the semantic error
 * red is the --ls-danger token, the key-warning amber the --ls-warn-* tokens. */

.ls-formcard {
  max-width: 30rem; margin: 2.5rem auto; padding: 2rem;
  border: 1px solid rgba(255,255,255,0.12); border-radius: 12px;
}
.ls-formcard label { display: block; margin: 1.1rem 0 0.35rem; font-weight: 500; }
.ls-formcard input, .ls-formcard select {
  width: 100%; padding: 0.6rem 0.75rem; font: inherit;
  background: rgba(255,255,255,0.06); color: inherit;
  border: 1px solid rgba(255,255,255,0.18); border-radius: 8px;
}
.ls-formcard-error { margin-top: 1rem; color: var(--ls-danger); min-height: 1.3em; }
.ls-formcard-note  { font-size: 0.85rem; opacity: 0.75; margin-top: 0.4rem; }
.ls-formcard-actions { margin-top: 1.4rem; }
.ls-formcard-actions button { cursor: pointer; }
.ls-formcard-actions button[disabled] { opacity: 0.5; cursor: default; }
.ls-formcard-key {
  display: block; margin: 0.5rem 0 0.2rem; padding: 0.7rem 0.8rem;
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.18);
  border-radius: 8px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.9rem; word-break: break-all; user-select: all;
}

/* One-time access-key reveal — identical bytes on sign-in, sign-up, AND the
 * account dashboard, which share these two selectors BY NAME (the dashboard
 * links this file for exactly these while keeping its own .ls-account-* card). */
.ls-key-warning { margin-top: 1rem; padding: 0.7rem 0.8rem; border-radius: 8px;
  border: 1px solid var(--ls-warn-border); background: var(--ls-warn-bg);
  font-size: 0.9rem; }
.ls-save-gate { margin-top: 1.2rem; display: flex; gap: 0.5rem; align-items: baseline; }
