/* Public forms and documents share the marketing palette; app themes remain separate. */
html.public-page {
  --color-bg:#fff; --color-bg-card:#fff; --color-bg-elevated:#f2f3f6; --color-bg-input:#fff;
  --color-text:#141517; --color-text-secondary:#45484e; --color-text-muted:#626773;
  --color-border:#d5d8dd; --color-border-hover:#626773;
  --color-accent:#0b7169; --color-accent-soft:#eff7f5; --color-accent-deep:#095e57;
  --color-red:#a73426; --color-red-soft:#fff3f1;
  --font-serif:var(--serif); --font-sans:var(--sans);
}
.public-page{scroll-padding-top:24px}
.public-page body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
.public-page :focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.public-page ::selection{background:var(--teal-mid);color:var(--ink)}
.public-page .brand,.public-page .pill{color:inherit;text-decoration:none}
.public-page .pill-dark{color:#fff}
.public-page input,.public-page textarea{caret-color:var(--teal)}
.public-page a{text-underline-offset:.2em}
.public-header,.public-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px max(24px,calc((100% - 1120px)/2))}
.public-header{border-bottom:1px solid var(--line)}
.public-header .text-link,.public-footer a{display:inline-flex;align-items:center;min-height:44px}
.public-header .text-link{font-size:14px;text-decoration:underline}
.public-auth{min-height:100svh;display:flex;flex-direction:column}
.auth-content{width:min(100%,600px);margin:0 auto;padding:48px 24px 72px;flex:1}
.auth-panel{max-width:480px;margin:0 auto}
.auth-panel h1{font:300 clamp(32px,4vw,44px)/1.15 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.auth-intro{margin-top:16px;color:var(--ink-2)}
.auth-panel strong{font-weight:600;overflow-wrap:anywhere}
.form-hint{font-size:14px;line-height:1.55;color:var(--muted);margin-top:10px;overflow-wrap:anywhere}
.form-hint a,.auth-alternative a,.auth-help a{color:var(--ink);text-decoration:underline}
.public-form{display:grid;gap:22px;margin-top:28px}
.public-form label{display:block;font-size:15px;font-weight:500}
.public-form input:not([type=checkbox]):not([type=hidden]):not([type=submit]),.public-form textarea{width:100%;min-height:48px;margin-top:8px;padding:10px 12px;border:1px solid #a9aeb7;border-radius:8px;background:#fff;color:var(--ink);font:400 16px/1.5 var(--sans)}
.public-form input::placeholder{color:var(--muted)}
.public-form input:focus-visible,.public-page input:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
.public-form .consent-field{display:flex;align-items:flex-start;gap:12px}
.consent-field input{width:20px;height:20px;margin-top:3px;flex-shrink:0;accent-color:var(--teal)}
.consent-field label{font-size:14px;font-weight:400}
.consent-field a{text-decoration:underline}
.public-form input[type=submit]{cursor:pointer}
.public-form input[type=submit]:disabled{opacity:.6;cursor:wait}
.form-error{margin-top:24px;padding:16px;border:1px solid #d99e96;border-radius:8px;background:#fff3f1;color:#8b2c20}
.auth-alternative{margin-top:24px;font-size:14px;color:var(--muted)}
.auth-alternative+.auth-alternative{margin-top:12px}
.auth-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;margin-top:28px}
.auth-actions .text-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline}
.auth-help{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.auth-help h2{font-size:18px;font-weight:500}
.auth-help p{margin-top:12px;color:var(--ink-2)}
.signup-progress{max-width:480px;margin:0 auto 36px}
.signup-progress ol{display:flex;justify-content:space-between;gap:12px;margin:0;padding:0;list-style:none}
.signup-progress li{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}
.signup-progress [aria-current=step]{color:var(--ink);font-weight:600}
.step-number{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border:1px solid #b4b8c0;border-radius:50%;font-variant-numeric:tabular-nums}
[aria-current=step] .step-number{background:var(--dark);color:#fff;border-color:var(--dark)}
.public-footer{border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.public-footer nav{display:flex;flex-wrap:wrap;gap:24px}
.legal-content{max-width:960px;margin:0 auto;padding:56px 24px 80px;overflow-wrap:anywhere}
.legal-content h1{font-family:var(--serif);font-weight:300;font-size:clamp(34px,5vw,52px)}
.legal-content h2{font-family:var(--sans);font-weight:500}
.legal-content section>p,.legal-content section>ul{max-width:72ch}
.legal-content a{text-decoration:underline}
.legal-content .font-mono{font-family:var(--sans)}
.legal-content .overflow-x-auto{scrollbar-color:#a9aeb7 #f2f3f6}
@media(max-width:600px){
  .public-header,.public-footer{padding:16px 20px;gap:16px}
  .public-header .brand{font-size:23px}
  .public-header .text-link{font-size:13px}
  .auth-content{padding:32px 20px 48px}
  .signup-progress li{display:grid;gap:8px;font-size:12px}
  .public-footer{align-items:flex-start;flex-wrap:wrap}
  .public-footer nav{gap:20px}
  .legal-content{padding:36px 20px 56px}
}
