/* The Embroidery Vault — billing page.
   Its own stylesheet on purpose (CLAUDE.md scope: shared CSS is read-only).
   It leans on the custom properties vault.css defines on :root — same palette,
   same shapes — and only adds billing-specific layout. */

/* nav entry: sits to the right, next to Sign out (which also carries
   margin-left:auto; the first auto margin wins the free space). */
#nav-billing{margin-left:auto}
#nav-billing:not([hidden]) ~ #sign-out{margin-left:0}

/* page shell */
.billing{max-width:760px;margin:0 auto;padding:16px 24px 64px}
.billing-page{display:flex;flex-direction:column;gap:18px}
.billing-header h2{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.1;margin:10px 0 0}

/* loading */
.billing-loading{color:var(--ink-2);font-size:14.5px;margin:0}

/* notices (return from Checkout) — informational, never a claimed outcome */
.billing-notice{margin:0;font-size:14px;border-radius:12px;padding:12px 15px;
  background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2)}
.billing-notice-success{border-color:color-mix(in srgb,var(--gold) 45%,transparent);
  background:color-mix(in srgb,var(--gold) 9%,var(--surface))}

/* errors */
.billing-error{margin:0;font-size:14px;color:var(--danger);
  background:color-mix(in srgb,var(--danger) 8%,var(--surface));
  border:1px solid color-mix(in srgb,var(--danger) 26%,transparent);
  border-radius:12px;padding:12px 15px}
.billing-error .btn-ghost{margin-top:10px}
.billing-error p{margin:0 0 4px}

/* state cards */
.billing-state{background:var(--surface);border:1px solid var(--line);border-radius:20px;
  padding:24px 26px;box-shadow:var(--shadow-s)}
.billing-state h3{font-family:var(--serif);font-weight:500;font-size:21px;margin:0 0 8px}
.billing-state p{margin:0 0 10px;font-size:14.5px;color:var(--ink-2)}
.billing-state .btn{margin-top:6px}

.billing-trial-count{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--ink);
  margin:0 0 6px}
.billing-past-due-note{color:var(--danger)}

/* founding member */
.billing-founding-badge{font-size:14px;color:var(--ink);margin:0 0 14px;
  border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);
  background:color-mix(in srgb,var(--gold) 9%,var(--surface));
  border-radius:12px;padding:11px 14px}
.billing-founding-badge strong{color:var(--gold);letter-spacing:.02em}

/* plans */
.billing-plans{display:flex;flex-direction:column;gap:0}
.billing-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.billing-plan{background:var(--surface);border:1px solid var(--line);border-radius:20px;
  padding:22px 24px;box-shadow:var(--shadow-s);display:flex;flex-direction:column;gap:6px}
.billing-plan-name{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);margin:0}
.billing-plan-amount{margin:0;font-size:15px;color:var(--ink-2)}
.billing-plan-amount .amt{font-family:var(--serif);font-size:30px;font-weight:500;color:var(--ink);
  margin-right:4px}
.billing-plan-savings{margin:0;font-size:13px;color:var(--accent);font-weight:560}
.billing-plan-founding{margin:0;font-size:13px;color:var(--gold);font-weight:560}
.billing-plan .btn{margin-top:auto;padding-top:12px}
.billing-plan .billing-subscribe{margin-top:12px}

.billing-fineprint{font-size:12.5px;color:var(--ink-3);margin:12px 2px 0}

/* billing not configured */
.billing-unavailable{margin:0;font-size:14px;color:var(--ink-2);
  background:var(--surface-2);border:1px dashed var(--line-2);border-radius:12px;padding:12px 15px}
