/* Primary authentication and onboarding presentation. The same auth rules are
   mirrored in public/assets for the independently deployed dedicated runtime.
   journey.css owns typography, brand fallback tokens and focus defaults. */
.auth-shell{width:100%;max-width:480px;margin:0 auto;padding:48px 20px 60px}
.auth-brand{position:relative;display:flex;align-items:center;gap:12px;margin-bottom:28px;text-decoration:none;min-width:0}
.auth-brand img{width:42px;height:42px;flex:none}
.auth-brand::after{content:"";position:absolute;left:54px;bottom:-8px;width:26px;height:3px;border-radius:2px;background:var(--journey-accent)}.auth-brand strong{display:block;font-size:16px;font-weight:600;letter-spacing:.015em}.auth-brand small{display:block;color:var(--journey-muted);font-size:12px}
.auth-panel{padding:26px;background:var(--journey-surface);border:1px solid var(--journey-line);border-radius:16px}
.auth-panel h1{margin:4px 0 10px;color:var(--journey-primary);font-size:26px}
.auth-panel h2{margin:0 0 10px;font-size:22px;color:var(--journey-primary)}
.auth-panel>p,.auth-intro{margin:0 0 22px;color:var(--journey-muted);font-size:13px}
.auth-eyebrow{display:block;color:var(--journey-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.auth-field{margin:18px 0;display:grid;gap:7px}.auth-field label,.auth-form label{font-size:13px;font-weight:500}
.auth-field input,.auth-form input{width:100%}.auth-field small{font-size:12px;color:var(--journey-muted)}
.auth-actions{display:grid;gap:10px;margin-top:22px}
.auth-submit,.auth-secondary{width:100%;min-height:46px;padding:11px 14px;border:1px solid transparent;border-radius:10px;font-weight:600;background:var(--journey-primary);color:#fff}
.auth-secondary{background:var(--journey-surface);color:var(--journey-primary);border-color:var(--journey-line)}
.auth-submit:hover:not(:disabled){filter:brightness(1.08)}.auth-secondary:hover:not(:disabled){background:var(--journey-page)}
.auth-link-button{display:inline;padding:0;border:0;background:none;color:var(--journey-primary);text-decoration:underline;text-underline-offset:3px;text-align:left;font-size:12px;line-height:1.6}
.auth-note{margin:18px 0 0;padding:12px 14px;border:1px solid var(--journey-line);border-radius:10px;font-size:13px;color:var(--journey-muted);overflow-wrap:anywhere}
.auth-note:empty{display:none}.auth-note.error,.auth-error{color:var(--journey-danger);border-color:#eac1c5;background:#fff5f6}.auth-note.good{color:var(--journey-success);background:#f0faf4;border-color:#bcdcca}
.auth-panel>.auth-foot,.auth-foot{margin:22px 0 0;color:var(--journey-muted);font-size:12px;line-height:1.65}.auth-foot a{font-weight:500}
.auth-panel>.auth-security{margin:24px 0 0;padding-top:18px;border-top:1px solid var(--journey-line);color:var(--journey-muted);font-size:12px}
.auth-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--journey-line);border-radius:12px;background:var(--journey-page);margin:22px 0}
.auth-tabs button{flex:1;min-width:0;min-height:42px;padding:8px 4px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--journey-muted);font-size:12px;font-weight:500}
.auth-tabs button.active{background:var(--journey-surface);color:var(--journey-primary);border-color:var(--journey-line)}
.auth-workspaces{display:grid;gap:10px;margin:20px 0}.auth-workspaces>p{margin:0;color:var(--journey-muted);font-size:13px}
.auth-workspaces button{padding:14px;text-align:left;border:1px solid var(--journey-line);border-radius:10px;background:var(--journey-surface);color:var(--journey-primary)}
.auth-workspaces button b,.auth-workspaces button span{display:block}.auth-workspaces button span{margin-top:4px;color:var(--journey-muted);font-size:12px}
.auth-code{font-family:var(--journey-mono)!important;font-variant-numeric:tabular-nums;letter-spacing:.18em}
.auth-error{margin-top:18px;padding:12px 14px;border:1px solid #eac1c5;border-radius:10px;font-size:13px}.auth-error:empty{display:none}
.auth-skip{position:absolute;left:16px;top:-100px;padding:10px 14px;background:var(--journey-surface);z-index:10}.auth-skip:focus{top:10px}
@media(max-width:480px){.auth-shell{padding-top:28px}.auth-panel{padding:22px}.auth-brand{margin-bottom:24px}}
@media(max-width:360px){.auth-shell{padding:22px 14px 50px}.auth-panel{padding:18px}.auth-tabs button{font-size:11px}}

.auth-heading h1{margin:6px 0 12px;color:var(--journey-primary)}.auth-heading p{color:var(--journey-muted);font-size:13px;margin:0}
.beta-promise{font-size:12px}.beta-promise strong{color:var(--journey-primary)}.beta-promise p{margin:6px 0 0}
.registration-panel{margin-top:22px}.registration-panel .auth-field:first-child{margin-top:0}
.auth-help{margin:-10px 0 16px;color:var(--journey-muted);font-size:12px}.auth-help.error{color:var(--journey-danger)}.auth-help.good{color:var(--journey-success)}
.registration-optional{margin:22px 0;border-top:1px solid var(--journey-line);border-bottom:1px solid var(--journey-line);padding:14px 0}.registration-optional summary{cursor:pointer;font-size:13px;font-weight:500;color:var(--journey-primary)}
.registration-legal{display:flex;gap:10px;align-items:flex-start;margin:20px 0;font-size:12px;line-height:1.6}.registration-legal input{flex:none;width:18px;height:18px;margin:3px 0 0}.registration-honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#registration-error>span{display:block;margin-bottom:10px}#registration-status h2{font-size:18px;margin:0 0 8px}#registration-status p{margin:0 0 8px}#turnstile-wrap{margin:20px 0}#turnstile-wrap .auth-help{margin:8px 0}

.setup-card{text-align:left}.setup-orbit{width:36px;height:36px;margin-bottom:18px;border:1px solid var(--journey-line);border-radius:10px;background:var(--journey-page);display:grid;place-items:center}.setup-orbit span{display:none}.setup-orbit::after{content:'…';color:var(--journey-primary);font-size:20px}.setup-orbit.ready::after{content:'✓';color:var(--journey-success)}.setup-orbit.attention::after{content:'!';color:var(--journey-warning)}
.setup-eyebrow{margin:0 0 6px;font-size:12px;color:var(--journey-muted)}.setup-summary{font-size:13px;color:var(--journey-muted);margin:12px 0 22px}
.setup-progress{height:7px;border-radius:8px;overflow:hidden;background:var(--journey-line)}.setup-progress>div{height:100%;background:var(--journey-primary)}
.setup-progress-meta{display:flex;justify-content:space-between;gap:12px;margin:8px 0 22px;color:var(--journey-muted);font-size:12px}.setup-progress-meta strong{font-family:var(--journey-mono);color:var(--journey-ink)}
.setup-steps,.setup-events{list-style:none;margin:0;padding:0}.setup-steps li{display:flex;gap:12px;padding:14px 0;color:var(--journey-muted)}.setup-steps li+li{border-top:1px solid var(--journey-line)}.setup-steps strong,.setup-steps small{display:block}.setup-steps strong{font-size:13px;font-weight:500}.setup-steps small{font-size:12px;margin-top:3px}
.setup-step-icon{width:26px;height:26px;flex:none;display:grid;place-items:center;border:1px solid var(--journey-line);border-radius:8px;font-size:12px}.setup-steps .active{color:var(--journey-primary)}.setup-steps .active .setup-step-icon{background:var(--journey-primary);color:#fff;border-color:var(--journey-primary)}.setup-steps .complete .setup-step-icon{color:var(--journey-success);background:#f0faf4;border-color:#bcdcca}
.setup-event-panel{margin-top:24px;border-top:1px solid var(--journey-line);padding-top:20px}.setup-event-heading{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-bottom:10px}.setup-event-heading h2{font-size:17px;margin:0}.setup-event-kicker{font-size:11px;color:var(--journey-muted);margin:0 0 4px}
.setup-refresh{min-height:42px;border:1px solid var(--journey-line);border-radius:10px;padding:8px 12px;background:var(--journey-surface);color:var(--journey-primary);font-size:12px;font-weight:500}
.setup-events li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;padding:13px 0}.setup-events li+li{border-top:1px solid var(--journey-line)}.setup-events strong,.setup-events small{display:block}.setup-events strong{font-size:12px;font-weight:500}.setup-events small{margin-top:4px;font-size:12px;color:var(--journey-muted)}.setup-events time{grid-column:2;font:11px var(--journey-mono);color:var(--journey-muted)}
.setup-event-marker{width:18px;height:18px;margin-top:2px;display:grid;place-items:center;border:1px solid var(--journey-line);border-radius:50%;font-size:10px}.complete .setup-event-marker{color:var(--journey-success);background:#f0faf4}.current .setup-event-marker{background:var(--journey-primary);border-color:var(--journey-primary)}.failed .setup-event-marker{color:var(--journey-danger);background:#fff5f6}
.setup-ready-actions,.setup-attention{margin-top:24px}.journey-page .setup-button{display:inline-flex;justify-content:center;width:100%;padding:12px 16px;background:var(--journey-primary);color:#fff;text-decoration:none;border-radius:10px;font-weight:500;font-size:13px}.setup-ready-actions p,.setup-attention p{font-size:12px;color:var(--journey-muted)}
.setup-attention{padding:14px;background:#fff9eb;border:1px solid #ebd49a;border-radius:10px;color:var(--journey-warning);font-size:13px}.setup-recovery-actions{display:grid;gap:10px;margin-top:14px}
.setup-while-waiting{margin-top:24px;padding:0 4px}.setup-while-waiting h2{font-size:17px;margin:0 0 8px}.setup-while-waiting p{color:var(--journey-muted);font-size:12px}.setup-tips{display:grid;gap:14px}.setup-tips article{display:grid;grid-template-columns:26px 1fr;gap:3px 10px}.setup-tips article>span{grid-row:1/3;font:12px var(--journey-mono);color:var(--journey-muted)}.setup-tips strong{font-size:13px;font-weight:500}.setup-tips small{color:var(--journey-muted);font-size:12px}.setup-footnote{color:var(--journey-muted);font-size:12px;margin-top:24px}
