/* Official entry composition; shared by login, invitation and recovery. */
.auth-entrance{--auth-ease:var(--motion-ease,cubic-bezier(.2,.7,.2,1));--auth-entry:600ms;display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:32px 48px;background:radial-gradient(ellipse at 78% 52%,#eae3f5 0,transparent 52%),#faf9fc;overflow:hidden}.auth-topbar{display:flex;align-items:center;justify-content:space-between;width:min(1120px,100%);margin:0 auto 40px}.auth-topbar .auth-wordmark{margin:0;font-size:30px}.auth-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:13px;color:var(--muted);text-decoration:none}.auth-back:hover{color:var(--accent)}.auth-back:focus-visible,.auth-wordmark:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:6px}.auth-entrance .auth-layout{width:min(1120px,100%);margin:0 auto;grid-template-columns:minmax(330px,440px) minmax(0,1fr);gap:64px;min-height:620px}.auth-entrance .auth-card{padding:24px 12px 24px 0;border-radius:0;background:none;box-shadow:none;max-width:440px;width:100%;border:0}.auth-entrance .auth-card h1{font-size:44px;line-height:1.06;letter-spacing:-.045em;max-width:400px;margin-bottom:18px}.auth-entrance .auth-card>.muted{font-size:16px;line-height:1.6;margin-bottom:36px}.auth-entrance .auth-card form{gap:22px}.auth-entrance .auth-card input{height:54px;background:#fff;border-color:#ddd6e9;font-weight:400;padding:14px 16px;transition:border-color var(--motion-control),box-shadow var(--motion-control),background var(--motion-control)}.auth-entrance .auth-card input::placeholder{font-weight:400;color:#757080}.auth-entrance .auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #6552bd12;background:#fff}.auth-entrance .password-control input{padding-right:56px}.auth-entrance .password-control button{width:44px;height:44px;padding:12px;display:grid;place-items:center;border-radius:10px;color:var(--muted);transition:color var(--motion-control),background var(--motion-control)}.password-control svg{width:20px;height:20px}.auth-entrance .password-control button:hover{color:var(--accent);background:var(--brand-tint)}.auth-entrance .auth-card .primary{height:54px;min-height:54px;border-radius:14px;font-size:15px;box-shadow:0 8px 24px -12px #6552bd50;transition:background var(--motion-control),box-shadow var(--motion-control),transform var(--motion-control)}.auth-entrance .auth-card .primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px -12px #6552bd60}.auth-entrance .auth-card .primary:active{transform:translateY(0) scale(.99)}.auth-entrance .auth-card .primary:disabled{transform:none;box-shadow:none}.auth-entrance .auth-card .text-button{margin-top:16px;font-size:13px}.auth-entrance .auth-card .auth-error{font-size:14px;margin:0;padding:16px}.auth-entrance .auth-story{height:620px;position:relative;display:block;border-radius:36px;background:linear-gradient(155deg,#f0eaf9,#e5def1 65%,#f5f0fb);isolation:isolate}.auth-glow{position:absolute;inset:10% 2% 10% 2%;background:radial-gradient(ellipse,#ffffffb3,transparent 65%);pointer-events:none}.auth-entrance .auth-product{position:absolute;width:265px;right:30px;top:36px;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px -24px #42345638;transform:translate(var(--auth-product-x,0),var(--auth-product-y,0));transition:transform 500ms var(--auth-ease)}.auth-product-bar{display:flex;gap:8px;align-items:center;padding:13px 16px;background:#fff;font-size:10px;color:#696573;border-bottom:1px solid #eeeaf3}.auth-product-bar span{color:#3c856f;font-size:8px}.auth-entrance .auth-product img{width:100%;height:auto;max-width:none;margin:0;filter:none;display:block;animation:auth-product-idle 9s ease-in-out infinite}.auth-entrance .auth-story .auth-character{position:absolute;width:360px;height:auto;left:-48px;bottom:20px;margin:0;filter:drop-shadow(0 20px 22px #6552bd20);z-index:2;transform:translate(var(--auth-character-x,0),var(--auth-character-y,0));transition:transform 500ms var(--auth-ease);animation:auth-character-idle 8s ease-in-out infinite}.auth-entrance .auth-card h1,.auth-entrance .auth-card>.muted,.auth-entrance .auth-card form,.auth-entrance .auth-story{animation:auth-appear var(--auth-entry) var(--auth-ease) both}.auth-entrance .auth-card>.muted{animation-delay:60ms}.auth-entrance .auth-card form{animation-delay:100ms}.auth-entrance .auth-story{animation-delay:140ms}.password-revealed{animation:auth-password 220ms ease}@keyframes auth-appear{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}@keyframes auth-character-idle{0%,100%{translate:0 0}50%{translate:0 -5px}}@keyframes auth-product-idle{0%,100%{translate:0 0}50%{translate:0 -3px}}@keyframes auth-password{from{background:#f1ecfa}to{background:#fff}}
@media(min-width:1600px){.auth-entrance .auth-layout{gap:90px}.auth-entrance .auth-story .auth-character{width:395px;left:-50px;bottom:10px}}
@media(max-width:1100px){.auth-entrance{padding:28px 32px}.auth-entrance .auth-layout{gap:32px;min-height:550px;grid-template-columns:minmax(320px,420px) minmax(0,1fr)}.auth-entrance .auth-story{height:550px}.auth-entrance .auth-product{width:225px;right:16px;top:24px}.auth-entrance .auth-story .auth-character{width:295px;left:-40px;bottom:14px}.auth-entrance .auth-card h1{font-size:40px}}
@media(max-width:850px){.auth-entrance .auth-layout{grid-template-columns:minmax(300px,1fr) minmax(0,1fr);gap:28px;max-width:100%}.auth-entrance .auth-story{height:460px}.auth-entrance .auth-product{width:180px;right:12px;top:20px}.auth-entrance .auth-story .auth-character{width:245px;left:-34px;bottom:4px}.auth-entrance .auth-card h1{font-size:36px}.auth-entrance .auth-card>.muted{font-size:15px}}
@media(max-width:650px){.auth-entrance{padding:20px 24px;justify-content:flex-start;overflow:clip}.auth-topbar{margin-bottom:34px}.auth-topbar .auth-wordmark{font-size:27px}.auth-back{font-size:12px;gap:7px}.auth-entrance .auth-layout{display:flex;flex-direction:column;gap:0;min-height:0;width:100%;max-width:400px}.auth-entrance .auth-card{padding:112px 0 20px;margin:0;max-width:none;order:1;position:relative}.auth-entrance .auth-card h1{font-size:36px;max-width:300px;margin-bottom:12px}.auth-entrance .auth-card>.muted{font-size:15px;margin-bottom:28px}.auth-entrance .auth-card form{gap:20px}.auth-entrance .auth-story{height:0;width:100%;background:none;border-radius:0;order:0;animation:none}.auth-entrance .auth-story .auth-character{width:125px;left:auto;right:4px;top:-20px;bottom:auto;animation:auth-character-idle 8s ease-in-out infinite}.auth-product,.auth-glow{display:none}.auth-entrance .auth-card .text-button{margin-top:12px}.auth-entrance .auth-card input{font-size:16px}.auth-entrance .auth-card .primary{margin-top:2px}}
@media(prefers-reduced-motion:reduce){.auth-entrance *{animation:none!important;transition:none!important}.auth-entrance .auth-product,.auth-entrance .auth-story .auth-character{transform:none!important;translate:none!important}.auth-entrance .primary:hover{transform:none!important}}
/* Keep product chrome readable throughout its entrance, including full-page capture. */
.auth-entrance .auth-story{opacity:1;animation-name:auth-scene-enter}.auth-product-bar{color:#595363}@keyframes auth-scene-enter{from{translate:0 10px}to{translate:0 0}}
@media(prefers-reduced-motion:reduce){.auth-entrance .auth-story{animation:none}}
.auth-entrance .auth-product{animation:auth-product-idle 9s ease-in-out infinite}.auth-entrance .auth-product img{animation:none}
.auth-entrance .auth-card h1,.auth-entrance .invite-summary{overflow-wrap:anywhere}
.workspace-choices{display:grid;gap:12px}.workspace-choices button{text-align:left;padding:16px 18px;min-height:54px;background:#fff;border-color:var(--brand-line)}.workspace-choices button:hover{background:var(--brand-tint);border-color:var(--accent)}
/* Access uses a quiet workspace scene, distinct from the sales chat hero. */
.auth-entrance .auth-story{background:radial-gradient(ellipse at 65% 40%,#f4f0fa,#e5dfef);height:560px}.auth-entrance .auth-workspace{width:88%;right:22px;top:45px;border-radius:18px}.auth-entrance .auth-workspace img{width:100%;height:auto;max-height:270px;object-fit:contain;background:#fff}.auth-entrance .auth-story .auth-character{left:24px;bottom:4px;width:350px}.auth-workspace .auth-product-bar{padding:16px 18px;font-size:11px}@media(max-width:1100px){.auth-entrance .auth-story{height:500px}.auth-entrance .auth-workspace{right:15px;top:30px}.auth-entrance .auth-story .auth-character{left:0;width:280px}}@media(max-width:850px){.auth-entrance .auth-story{height:460px}.auth-entrance .auth-story .auth-character{width:240px;left:-12px}}@media(max-width:650px){.auth-entrance .auth-story{height:0;background:none}.auth-entrance .auth-story .auth-character{width:125px;left:auto;right:4px;bottom:auto;top:-20px}}
.auth-entrance .auth-workspace img{max-height:none;aspect-ratio:auto;object-fit:contain}.auth-entrance .auth-workspace{box-shadow:0 22px 50px -25px #42345635}

/* A clear return action and readable form throughout its entrance. */
.auth-back{padding:10px 16px;border:1px solid #ddd6e9;border-radius:999px;background:#ffffffb8;color:#595363;font-weight:500;transition:background 180ms,border-color 180ms,transform 180ms}
.auth-back:hover{background:#f0ebf8;border-color:#bbb0d4;color:#49368d}
.auth-back:active{transform:scale(.98)}.auth-back svg{width:16px;height:16px;flex-shrink:0}
.auth-entrance .auth-card h1,.auth-entrance .auth-card form{animation-name:auth-content-enter}
@keyframes auth-content-enter{from{translate:0 8px}to{translate:0 0}}

/* Login scene: a crisp real workspace behind one foreground character.
   Separate translate (idle) and transform (pointer) keep motion composable. */
.auth-entrance .auth-story{background:radial-gradient(ellipse at 64% 62%,#fbf8ff 0,#f0e9f8 42%,#e5dfef 100%)}
.auth-glow{inset:28% 0 0;background:radial-gradient(ellipse at 64% 55%,#ffffffb8,transparent 66%)}
.auth-entrance .auth-workspace{width:88%;right:22px;top:64px;z-index:1;border:1px solid #ffffffc9;border-radius:18px;box-shadow:0 18px 40px -24px #42345640,0 2px 8px #42345608;animation-duration:10s}
.auth-entrance .auth-workspace img{width:100%;height:auto;filter:none}
.auth-entrance .auth-story .auth-character{width:310px;left:auto;right:14px;bottom:18px;z-index:3;filter:drop-shadow(0 14px 18px #6552bd1c);animation-duration:8s}
.auth-back{padding:9px 14px;gap:8px;line-height:1.25;border-color:#ddd6e980;background:#ffffff70;align-self:center}
.auth-back svg{display:block;width:16px;height:16px}
.auth-back:hover{background:#ffffffd9;border-color:#cfc4e0;color:#49368d}
.auth-entrance .auth-card .primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 9px 22px -13px #6552bd50}
@media(max-width:1100px){.auth-entrance .auth-workspace{top:60px;right:15px}.auth-entrance .auth-story .auth-character{width:255px;right:4px;left:auto;bottom:24px}}
@media(max-width:850px){.auth-entrance .auth-workspace{top:64px;right:12px;width:92%}.auth-entrance .auth-story .auth-character{width:225px;right:0;left:auto;bottom:12px}}
@media(max-width:650px){.auth-entrance .auth-story{height:0;background:none}.auth-entrance .auth-story .auth-character{width:125px;left:auto;right:4px;bottom:auto;top:-20px}.auth-back{padding:9px 11px}}
@media(prefers-reduced-motion:reduce){.auth-entrance .auth-card .primary:hover:not(:disabled){transform:none}}
