/* ============================================================================
 * Catchment — auth pages styling (Login / Sign up / Reset / Callback / Account).
 * Uses the Catchment design tokens; loads after suds-catchment.css.
 * ========================================================================== */
/* WO-audit 2026-08 (owner-approved P1): brand-dress the auth field so it
   reads designed, not placeholder — soft moss/copper depth behind the card
   + a thin brand top-bar. Subtle by design (auth should not distract). */
.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:44px 20px 60px;position:relative;
  background:
    radial-gradient(900px 480px at 50% -60px, rgba(33,70,58,.06), rgba(33,70,58,0) 62%),
    radial-gradient(680px 680px at 88% 112%, rgba(180,83,9,.045), rgba(180,83,9,0) 60%),
    var(--cat-paper,#FCFBF7)}
.auth-wrap::before{content:"";position:fixed;top:0;left:0;right:0;height:3px;z-index:5;
  background:linear-gradient(90deg,#21463A 0 64%,#B45309 64% 100%)}
@media (prefers-reduced-motion: no-preference){.auth-card{animation:auth-rise .3s ease}}
@keyframes auth-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.auth-home{display:inline-flex;align-items:center;gap:1px;margin:8px 0 26px;color:var(--cat-ink,#16271F)}
/* WO-06 Item 1 (2026-07-17): the lockup is the single supplied FINAL image —
   roundel-Q as the first letter, artist-kerned (quinnsite-logo-final.png). */
.auth-home .qs-lockup{height:30px;width:auto;display:block}

.auth-card{width:100%;max-width:430px;background:#fff;border:1px solid var(--cat-card-border,#E5E0D3);border-radius:16px;box-shadow:0 1px 2px rgba(22,39,31,.04),0 12px 32px rgba(22,39,31,.06);padding:32px 30px}
.auth-card h1{font-family:var(--cat-serif,'Source Serif 4',serif);font-size:24px;font-weight:700;color:var(--cat-ink,#16271F);letter-spacing:-.3px;margin:0 0 6px}
.auth-card .auth-sub{font-size:14px;color:var(--cat-muted,#6B6457);margin:0 0 22px}

/* social buttons */
.auth-social{display:flex;flex-direction:column;gap:10px}
.auth-btn-social{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:11px 14px;border:1px solid var(--cat-card-border,#E5E0D3);border-radius:10px;background:#fff;color:var(--cat-ink,#16271F);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.auth-btn-social:hover{background:var(--cat-panel,#F6F2E9);border-color:var(--cat-green,#1F4D3D)}
.auth-btn-social svg{width:18px;height:18px;flex:0 0 auto}

.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--cat-muted,#9a9382);font-size:12px;letter-spacing:.5px;text-transform:uppercase}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--cat-hairline,#ECE7DC)}

/* form */
.auth-field{margin-bottom:14px}
.auth-field label{display:block;font-size:12.5px;font-weight:600;color:var(--cat-ink,#16271F);margin-bottom:6px}
.auth-field input,.auth-field select{width:100%;padding:11px 13px;border:1px solid var(--cat-card-border,#E5E0D3);border-radius:10px;font-family:inherit;font-size:14.5px;color:var(--cat-ink,#16271F);background:#fff;transition:border-color .15s,box-shadow .15s}
.auth-field input:focus,.auth-field select:focus{outline:none;border-color:var(--cat-green,#1F4D3D);box-shadow:0 0 0 3px rgba(31,77,61,.12)}
.auth-row2{display:flex;gap:12px}
.auth-row2 .auth-field{flex:1}

.auth-btn-primary{width:100%;padding:12px 16px;border:none;border-radius:10px;background:var(--cat-green,#1F4D3D);color:#fff;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:filter .15s}
.auth-btn-primary:hover{filter:brightness(1.08)}
.auth-btn-primary:disabled{opacity:.55;cursor:not-allowed}

.auth-consent{display:flex;gap:9px;align-items:flex-start;margin:6px 0 16px;font-size:12.5px;color:var(--cat-muted,#6B6457);line-height:1.5}
.auth-consent input{margin-top:2px;flex:0 0 auto}
.auth-consent a{color:var(--cat-clay,#8A5E33);text-decoration:underline}

.auth-links{margin-top:18px;font-size:13.5px;color:var(--cat-muted,#6B6457);text-align:center}
.auth-links a{color:var(--cat-clay,#8A5E33);font-weight:600;text-decoration:underline}
.auth-alt{margin-top:10px;text-align:center;font-size:13px}
.auth-alt button{background:none;border:none;color:var(--cat-clay,#8A5E33);font-weight:600;text-decoration:underline;cursor:pointer;font-size:13px;font-family:inherit}

/* messages */
.auth-msg{display:none;padding:11px 13px;border-radius:10px;font-size:13.5px;margin-bottom:16px;line-height:1.5}
.auth-msg.show{display:block}
.auth-msg.err{background:#FCEDEC;border:1px solid #E7B7B2;color:#8A2B22}
.auth-msg.ok{background:#EAF3EE;border:1px solid #B8D8C6;color:#1F4D3D}

/* dormant (AUTH_ENABLED=false) notice */
.auth-dormant{display:none;padding:16px;border:1px dashed var(--cat-card-border,#E5E0D3);border-radius:12px;background:var(--cat-panel,#F6F2E9);color:var(--cat-ink,#16271F);font-size:14px;line-height:1.6;text-align:center}
.auth-dormant.show{display:block}
body.auth-off .auth-live{display:none}

.cf-turnstile{margin:4px 0 14px}
.auth-foot{margin-top:24px;font-size:12px;color:var(--cat-muted,#9a9382);text-align:center;max-width:430px;line-height:1.6}
