.auth-page{min-height:100vh;color:#0b132b;background:radial-gradient(ellipse at 8% 12%,#14b88924,transparent 38%),radial-gradient(ellipse at 92% 86%,#f1a3321e,transparent 35%),#f5f8f7}
.auth-layout{width:min(1080px,calc(100% - 32px));min-height:100vh;margin:auto;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:clamp(28px,6vw,76px);padding:42px 0}
.auth-story{position:relative;isolation:isolate;min-height:570px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:clamp(28px,5vw,54px);border:1px solid #b9e7d5;border-radius:32px;background:linear-gradient(145deg,#0b132b 0%,#10263b 58%,#087750 150%);color:#fff;box-shadow:0 30px 90px #0b132b26}
.auth-story:before,.auth-story:after{content:"";position:absolute;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none;will-change:transform,opacity}
.auth-story:before{width:340px;height:340px;right:-120px;top:-115px;background:radial-gradient(circle,#10b98188,transparent 68%)}
.auth-story:after{width:280px;height:280px;left:-130px;bottom:-120px;background:radial-gradient(circle,#f59e0b55,transparent 68%)}
.auth-brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:18px;font-weight:850;letter-spacing:-.03em}
.auth-brand img{width:36px;height:36px}
.auth-kicker{margin:clamp(40px,7vh,70px) 0 12px;color:#7af2c4;font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}
.auth-story h1{max-width:500px;margin:0;color:#fff;font:850 clamp(38px,5vw,58px)/1.02 Manrope,Inter,system-ui,sans-serif;letter-spacing:-.065em}
.auth-story-copy{max-width:470px;margin:16px 0 0;color:#d1e4df;font-size:15px;line-height:1.7}
.auth-flow{display:flex;align-items:center;gap:8px;margin-top:34px;color:#e5f4ef;font-size:11px;font-weight:800}
.auth-flow span{padding:10px 12px;border:1px solid #ffffff26;border-radius:99px;background:#ffffff0d;white-space:nowrap}
.auth-flow i{height:1px;flex:1;background:linear-gradient(90deg,#10b981,#f59e0b)}
.auth-reassurance{display:grid;gap:11px;margin-top:30px;color:#effaf6;font-size:13px}
.auth-reassurance p{display:flex;align-items:center;gap:10px;margin:0}
.auth-reassurance p span{display:grid;place-items:center;width:24px;height:24px;border:1px solid #36d69b66;border-radius:8px;background:#10b9812e;color:#72f4c4;font-weight:900}
.auth-home-link{width:max-content;margin-top:28px;color:#bcefe0;font-size:12px;font-weight:800;text-decoration:none}
.auth-home-link span{display:inline-block;margin-left:5px}
.auth-card{padding:clamp(26px,4vw,46px);border:1px solid #e0e8e5;border-radius:26px;background:#fff;box-shadow:0 22px 70px #0b132b12}
.auth-card-mark{display:grid;place-items:center;width:40px;height:40px;margin-bottom:22px;border:1px solid #b8edda;border-radius:13px;background:#ecfaf4;color:#078b61;font-size:20px;font-weight:900}
.auth-card h2{margin:0;font:850 clamp(25px,3vw,32px)/1.15 Manrope,Inter,system-ui,sans-serif;letter-spacing:-.045em}
.auth-subtitle{margin:9px 0 25px;color:#637168;font-size:14px;line-height:1.55}
.auth-google,.auth-submit{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:49px;padding:12px 16px;border-radius:12px;font:800 14px Inter,system-ui,sans-serif;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease}
.auth-google{border:1px solid #dce5e1;background:#fff;color:#14251f}
.auth-google svg{width:19px;height:19px;flex:none}
.auth-submit{border:0;background:#08aa78;color:white;box-shadow:0 8px 18px #08aa7833}
.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:#87938c;font-size:10px;font-weight:800;letter-spacing:.04em}
.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:#e6ece9}
.auth-form{display:grid;gap:9px}
.auth-form label{color:#26372f;font-size:12px;font-weight:800}
.auth-form input{width:100%;min-height:48px;padding:12px 13px;border:1px solid #dce5e1;border-radius:12px;background:#fbfdfc;color:#14251f;font:500 15px Inter,system-ui,sans-serif;outline:none;transition:border-color .18s,box-shadow .18s,background-color .18s}
.auth-password-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}
.auth-password-label button,.auth-signup a{padding:0;border:0;background:none;color:#087750;font:800 12px Inter,system-ui,sans-serif;text-decoration:none;cursor:pointer}
.auth-status{display:none;margin:3px 0 0;padding:11px 12px;border-radius:11px;font-size:12px;line-height:1.5}
.auth-status[data-kind="error"],.auth-status[data-kind="success"]{display:block}
.auth-status[data-kind="error"]{background:#fff0ef;color:#a1271d}
.auth-status[data-kind="success"]{background:#e9f8f1;color:#087750}
.auth-signup{margin:20px 0 0;text-align:center;color:#718078;font-size:12px}
.auth-admin-link{margin:10px 0 0;text-align:center;font-size:11px}
.auth-admin-link a{color:#64756d;font-weight:750;text-decoration:none}
.auth-admin-link a:hover{color:#087750;text-decoration:underline}
.auth-security{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 0;color:#849087;font-size:10px}
.auth-security span{color:#07956b;font-size:9px}
.auth-reset-dialog{width:min(94vw,440px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #dce5e1;border-radius:20px;padding:24px;background:white;color:#0b132b;box-shadow:0 25px 80px #14213d33}
.auth-reset-dialog::backdrop{background:#0b132b77;backdrop-filter:blur(5px)}
.auth-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.auth-dialog-head h2{margin:0;font-size:20px}
.auth-dialog-head button{width:38px;height:38px;border:0;border-radius:10px;background:#f0f4f3;color:#14251f;font-size:24px;cursor:pointer}
.auth-reset-dialog>p{color:#637168;font-size:13px;line-height:1.6}
.auth-reset-dialog .auth-form{margin-top:18px}
.auth-page :is(a,button,input):focus-visible{outline:3px solid #10b981;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){
  .auth-story:before{animation:auth-glow-green 10s ease-in-out infinite alternate}
  .auth-story:after{animation:auth-glow-amber 12s ease-in-out infinite alternate}
  .auth-story,.signup-page .signup-story{animation:auth-arrive .55s cubic-bezier(.2,.75,.25,1) both}
  .auth-card,.signup-page .signup-card{animation:auth-arrive .5s .08s cubic-bezier(.2,.75,.25,1) both}
  .auth-card>*{animation:auth-item-in .38s cubic-bezier(.2,.75,.25,1) both}
  .auth-card>*:nth-child(1){animation-delay:.12s}.auth-card>*:nth-child(2){animation-delay:.16s}.auth-card>*:nth-child(3){animation-delay:.2s}.auth-card>*:nth-child(4){animation-delay:.24s}.auth-card>*:nth-child(5){animation-delay:.28s}.auth-card>*:nth-child(6){animation-delay:.32s}.auth-card>*:nth-child(7){animation-delay:.36s}.auth-card>*:nth-child(8){animation-delay:.4s}
  .auth-flow span,.signup-page .signup-flow span{animation:auth-step-pulse 3.2s ease-in-out infinite}
  .auth-flow span:nth-of-type(2),.signup-page .signup-flow span:nth-of-type(2){animation-delay:.25s}.auth-flow span:nth-of-type(3),.signup-page .signup-flow span:nth-of-type(3){animation-delay:.5s}.auth-flow span:nth-of-type(4),.signup-page .signup-flow span:nth-of-type(4){animation-delay:.75s}
  .auth-form input:hover{border-color:#a7d8c5}.auth-form input:focus{border-color:#10b981;background:#fff;box-shadow:0 0 0 4px #10b9811c}
  .auth-google:hover,.auth-submit:hover{transform:translateY(-1px)}.auth-google:hover{background:#f7faf8;box-shadow:0 7px 20px #0b132b12}.auth-submit:hover{background:#078a63;box-shadow:0 11px 24px #08aa7840}.auth-google:active,.auth-submit:active{transform:translateY(1px) scale(.99)}
  .auth-home-link span{transition:transform .18s ease}.auth-home-link:hover span{transform:translateX(4px)}
  .signup-page .signup-card>*{animation:auth-item-in .38s cubic-bezier(.2,.75,.25,1) both}.signup-page .signup-card>*:nth-child(1){animation-delay:.12s}.signup-page .signup-card>*:nth-child(2){animation-delay:.16s}.signup-page .signup-card>*:nth-child(3){animation-delay:.2s}.signup-page .signup-card>*:nth-child(4){animation-delay:.24s}.signup-page .signup-card>*:nth-child(5){animation-delay:.28s}
}
@keyframes auth-glow-green{from{transform:translate3d(-10px,4px,0) scale(.94);opacity:.72}to{transform:translate3d(12px,-8px,0) scale(1.06);opacity:1}}
@keyframes auth-glow-amber{from{transform:translate3d(7px,-5px,0) scale(1);opacity:.55}to{transform:translate3d(-8px,8px,0) scale(1.08);opacity:.85}}
@keyframes auth-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes auth-item-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes auth-step-pulse{0%,72%,100%{transform:translateY(0);border-color:#ffffff26;background:#ffffff0d}78%{transform:translateY(-2px);border-color:#5be1b2aa;background:#10b98128}}
@media(max-width:780px){.auth-layout{width:min(560px,calc(100% - 24px));grid-template-columns:1fr;gap:14px;padding:18px 0 28px}.auth-story{min-height:auto;padding:23px;border-radius:23px}.auth-brand img{width:31px;height:31px}.auth-kicker{margin:22px 0 8px}.auth-story h1{font-size:clamp(32px,8vw,40px)}.auth-story-copy{margin-top:9px;font-size:13px}.auth-flow{margin-top:18px;gap:5px;font-size:9px}.auth-flow span{padding:8px 9px}.auth-reassurance{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;font-size:10px}.auth-reassurance p{align-items:flex-start}.auth-reassurance p:last-child{grid-column:1/-1}.auth-reassurance p span{width:21px;height:21px;flex:none}.auth-home-link{margin-top:15px;font-size:11px}.auth-card{padding:24px 20px;border-radius:21px}.auth-card-mark{width:34px;height:34px;margin-bottom:14px}.auth-subtitle{margin:7px 0 18px}}
@media(max-width:370px){.auth-flow{gap:4px;font-size:8px}.auth-flow span{padding:7px}.auth-reassurance{grid-template-columns:1fr}.auth-reassurance p:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.auth-page *, .auth-page *::before,.auth-page *::after,.signup-page .signup-story,.signup-page .signup-card,.signup-page .signup-card *,.signup-page .signup-flow span{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
