/* Phase 2 authentication: the Phase 1 palette and primitives remain the source of truth. */
.tap5-auth { min-height:100dvh; background:radial-gradient(circle at 80% 12%,#2a2519 0,transparent 38%),#080807; }
.tap5-auth a { text-underline-offset:.2em; }
.skip-link { position:absolute;left:1rem;top:-5rem;z-index:10;padding:.6rem 1rem;background:var(--tap5-gold);color:#080807!important; }
.skip-link:focus { top:1rem; }
.auth-header { height:76px;display:flex;align-items:center;justify-content:space-between;gap:1rem; }
.auth-wordmark { color:var(--tap5-ink)!important;text-decoration:none;font-size:1.25rem;font-weight:800;letter-spacing:.1em;white-space:nowrap; }
.auth-wordmark .tap5-logo-crop { display:block; }
.auth-back { font-size:.87rem;text-decoration:none;white-space:nowrap; }
.auth-layout { display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1rem,3vw,3rem);align-items:stretch;padding-bottom:2rem;min-height:calc(100dvh - 76px); }
.auth-story { position:relative;display:flex;align-items:end;min-height:610px;overflow:hidden;border-radius:1.5rem;background:#211e17;isolation:isolate; }
.auth-story::after { content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.08) 66%);z-index:-1; }
.auth-story img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2; }
.auth-story-copy { padding:clamp(1.5rem,5vw,4rem);max-width:42rem; }
.auth-eyebrow { margin:0;color:var(--tap5-gold);font-size:.7rem;letter-spacing:.23em;font-weight:800; }
.auth-story h1 { margin:1rem 0;font-size:clamp(3rem,5vw,5.4rem);line-height:.99;letter-spacing:-.055em; }
.auth-story h1 em { color:var(--tap5-gold);font-style:normal; }
.auth-story-copy>p:last-child { max-width:30rem;color:#e4ded0;line-height:1.65; }
.auth-panel { align-self:center;max-width:570px;width:100%;margin:auto;padding:clamp(1.5rem,3vw,3rem);background:linear-gradient(145deg,rgba(39,36,28,.93),rgba(20,20,17,.93)); }
.auth-panel h2 { margin:.55rem 0;font-size:clamp(2.2rem,4vw,3.7rem);line-height:1.05;letter-spacing:-.045em; }
.auth-subtitle { margin:.6rem 0 1.5rem;color:var(--tap5-muted); }
.auth-tabs { display:grid;grid-template-columns:1fr 1fr;padding:.25rem;margin-bottom:1.4rem;border:1px solid var(--tap5-line);border-radius:.85rem; }
.auth-tabs a { display:grid;place-items:center;min-height:44px;border-radius:.65rem;color:var(--tap5-muted);text-decoration:none;font-weight:700; }
.auth-tabs a[aria-current=page] { color:#080807;background:var(--tap5-gold); }
.auth-google,.auth-submit { width:100%;min-height:50px; }
.auth-google { background:rgba(255,255,255,.06);color:var(--tap5-ink);border-color:var(--tap5-line); }
.auth-google:hover:not(:disabled) { background:rgba(255,255,255,.12); }
.auth-google-mark { display:grid;place-items:center;width:1.4rem;height:1.4rem;border-radius:50%;background:#fff;color:#4285f4;font-weight:800; }
.auth-divider { display:flex;align-items:center;gap:.8rem;margin:1.3rem 0;color:var(--tap5-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.13em;white-space:nowrap; }
.auth-divider::before,.auth-divider::after { content:"";height:1px;flex:1;background:var(--tap5-line); }
.auth-form { display:grid;gap:1rem; }
.auth-form .tap5-field small { color:var(--tap5-muted);font-size:.76rem; }
.auth-phone-field,.auth-password-field { display:flex;align-items:center;border:1px solid var(--tap5-line);border-radius:var(--tap5-radius-sm);background:var(--tap5-surface); }
.auth-phone-field>span { padding:0 .85rem;border-right:1px solid var(--tap5-line);color:var(--tap5-gold);font-weight:700; }
.auth-phone-field input,.auth-password-field input { min-width:0;border:0;background:transparent; }
.auth-password-toggle { flex:none;min-height:44px;padding:0 .9rem;border:0;background:transparent;color:var(--tap5-gold);font:inherit;font-weight:700;cursor:pointer; }
.auth-submit { margin-top:.35rem;justify-content:space-between; }
.auth-footnote,.auth-bottom { color:var(--tap5-muted);font-size:.82rem;line-height:1.55; }
.auth-bottom { padding-top:1rem;margin-top:1.4rem;border-top:1px solid var(--tap5-line);text-align:center; }
.auth-alert { padding:.8rem 1rem;margin:0 0 1rem;border:1px solid var(--tap5-danger);border-radius:.7rem;background:rgba(239,129,125,.12);color:#ffd1cf; }
.tap5-auth :focus-visible { outline:2px solid var(--tap5-gold);outline-offset:3px; }
@media(max-width:800px) { .auth-layout { display:block;padding-bottom:2.5rem; } .auth-story { min-height:220px;max-height:290px;align-items:end; } .auth-story-copy { padding:1.5rem; } .auth-story h1 { font-size:clamp(2.4rem,7vw,3.5rem); } .auth-story-copy>p:last-child { display:none; } .auth-panel { position:relative;max-width:none;margin:-1rem auto 0; } }
@media(max-width:480px) { .auth-header { height:64px; } .auth-layout { width:100%;padding:0 0 2rem; } .auth-story { min-height:180px;max-height:180px;border-radius:0; } .auth-story-copy { padding:1rem 1.25rem 1.9rem; } .auth-story h1 { margin:.45rem 0;font-size:2.4rem; } .auth-panel { border-radius:1.25rem 1.25rem 0 0;padding:1.5rem 1.15rem;box-shadow:none; } .auth-back { font-size:.76rem; } }
@media(prefers-reduced-motion:reduce) { .tap5-auth * { scroll-behavior:auto!important;transition:none!important; } }

.auth-alert--success{border-color:#6e9d6a80;background:#17351fd9;color:#dff5d9}
