.auth-page{--violet:#6a63a6;--violet-bright:#7a72c0;--violet-mid:#4e478c;--violet-deep:#2e2157;--violet-tint:#f4f2fc;--ink:#1c1830;--ink-soft:#6b6781;--line:#e7e6f1;background:radial-gradient(1100px 720px at 88% -12%,#7a72c033,#0000 60%),radial-gradient(880px 620px at -8% 112%,#4e478c29,#0000 55%),radial-gradient(700px 700px at 50% 120%,#6a63a614,#0000 60%),linear-gradient(#fbfbfe 0%,#f3f2fb 100%);flex-direction:column;min-height:100vh;display:flex;position:relative;overflow:hidden}.auth-page:before{content:"";pointer-events:none;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");position:absolute;inset:0}.auth-container{z-index:1;flex:1;justify-content:center;align-items:center;padding:48px 20px;display:flex;position:relative}.auth-card{-webkit-backdrop-filter:blur(22px)saturate(150%);background:#ffffffd1;border:1px solid #ffffffb3;border-radius:26px;width:100%;max-width:452px;padding:38px 40px 30px;animation:.7s cubic-bezier(.16,1,.3,1) both authCardIn;position:relative;box-shadow:inset 0 1px #ffffffa6,0 8px 26px -14px #2e215747,0 34px 64px -32px #2e21576b}.auth-card:before{content:"";background:linear-gradient(90deg,#0000,#6a63a68c,#0000);height:1px;position:absolute;top:0;left:24px;right:24px}@keyframes authCardIn{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-brand-mark{justify-content:center;margin-bottom:18px;animation:.7s cubic-bezier(.16,1,.3,1) 50ms both authRise;display:flex}.auth-brand-mark img{object-fit:cover;border-radius:18px;width:60px;height:60px}.auth-header{text-align:center;margin-bottom:28px;animation:.7s cubic-bezier(.16,1,.3,1) .1s both authRise}.auth-title{letter-spacing:-.02em;color:var(--ink);margin-bottom:7px;font-size:27px;font-weight:700}.auth-subtitle{color:var(--ink-soft);font-size:14.5px;line-height:1.5}.auth-form{flex-direction:column;gap:16px;animation:.7s cubic-bezier(.16,1,.3,1) .2s both authRise;display:flex}.form-group-auth{margin-bottom:0}.form-label-auth{color:var(--ink);letter-spacing:-.01em;margin-bottom:9px;font-size:13.5px;font-weight:600;display:block}.form-input-auth{width:100%;color:var(--ink);border:1.5px solid var(--line);background-color:#fff;border-radius:13px;padding:14px 16px;font-size:16px;transition:border-color .18s,box-shadow .18s,background-color .18s}.form-input-auth:hover{border-color:#d6d4e6}.form-input-auth:focus{border-color:var(--violet);background-color:#fefeff;outline:none;box-shadow:0 0 0 4px #6a63a624}.form-input-auth::placeholder{color:#aeacc0}.btn-auth-primary{letter-spacing:.01em;color:#fff;background:linear-gradient(135deg,var(--violet-bright)0%,var(--violet)48%,var(--violet-mid)100%);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 24px;font-size:16px;font-weight:600;transition:transform .18s,box-shadow .18s,filter .18s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff47,0 10px 24px -10px #6a63a6bf}.btn-auth-primary:after{content:"";background:linear-gradient(100deg,#0000,#ffffff47,#0000);width:60%;height:100%;transition:left .6s;position:absolute;top:0;left:-120%;transform:skew(-18deg)}.btn-auth-primary:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff52,0 16px 34px -10px #6a63a6d9}.btn-auth-primary:hover:not(:disabled):after{left:130%}.btn-auth-primary:active:not(:disabled){transform:translateY(0)}.btn-auth-primary:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2);box-shadow:none;transform:none}.auth-divider{align-items:center;margin:22px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:linear-gradient(90deg,transparent,var(--line));flex:1;height:1px}.auth-divider:after{background:linear-gradient(90deg,var(--line),transparent)}.auth-divider span{color:#9b97ad;text-transform:uppercase;letter-spacing:1px;padding:0 14px;font-size:11.5px;font-weight:600}.social-buttons{flex-direction:column;gap:12px;display:flex}.btn-social{cursor:pointer;border-radius:13px;justify-content:center;align-items:center;gap:12px;width:100%;padding:13px 24px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s,background-color .18s;display:flex}.btn-google{border:1.5px solid var(--line);color:var(--ink);background-color:#fff}.btn-google:hover{background-color:#fff;border-color:#cfcce4;transform:translateY(-1px);box-shadow:0 8px 20px -12px #2e215766}.btn-google img{width:20px;height:20px}.btn-apple{color:#fff;background-color:#111;border:1.5px solid #111}.btn-apple:hover{background-color:#000;transform:translateY(-1px);box-shadow:0 8px 20px -12px #00000080}.auth-footer-text{text-align:center;color:var(--ink-soft);margin-top:24px;font-size:14px}.auth-footer-text a{color:var(--violet);font-weight:600;text-decoration:none;transition:color .15s}.auth-footer-text a:hover{color:var(--violet-deep);text-underline-offset:3px;text-decoration:underline}.auth-error{color:#a32238;background-color:#fdf2f4;border:1px solid #f6d4da;border-left:3px solid #d23f5a;border-radius:11px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px 14px;font-size:13.5px;line-height:1.45;animation:.4s authShake;display:flex}@keyframes authShake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.role-selection{gap:12px;margin-bottom:8px;display:flex}.role-option{border:1.5px solid var(--line);cursor:pointer;text-align:center;background:#fff;border-radius:18px;flex:1;padding:18px 14px;transition:transform .18s,border-color .18s,box-shadow .18s,background .18s;position:relative}.role-option:hover{border-color:#cfcce4;transform:translateY(-2px);box-shadow:0 12px 24px -16px #2e215766}.role-option.selected{border-color:var(--violet);background:linear-gradient(#faf9ff 0%,#f1eefb 100%);box-shadow:0 0 0 3px #6a63a629,0 14px 28px -16px #6a63a680}.role-option.selected:after{content:"✓";color:#fff;background:linear-gradient(135deg,var(--violet-bright),var(--violet-mid));border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;font-weight:700;animation:.3s cubic-bezier(.34,1.56,.64,1) authPop;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 4px 10px -3px #6a63a6b3}@keyframes authPop{0%{transform:scale(0)}to{transform:scale(1)}}.role-icon{background:var(--violet-tint);border-radius:15px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 12px;font-size:27px;line-height:1;transition:background .18s,transform .18s;display:inline-flex}.role-option.selected .role-icon{background:linear-gradient(#ece8fb 0%,#e0d9f6 100%);transform:scale(1.04)}.role-title{letter-spacing:-.01em;color:var(--ink);margin-bottom:4px;font-size:14.5px;font-weight:700}.role-description{color:var(--ink-soft);font-size:12px;line-height:1.4}.spinner{border:2px solid #ffffff80;border-top-color:#0000;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes authRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.code-input-container{justify-content:center;gap:8px;width:100%;margin-bottom:16px;display:flex}.code-input{text-align:center;min-width:0;max-width:48px;height:56px;color:var(--ink);border:1.5px solid var(--line);border-radius:12px;flex:1 1 0;font-size:24px;font-weight:700;transition:border-color .18s,box-shadow .18s}.auth-hint{color:var(--ink-soft);text-align:center;margin-bottom:18px;font-size:13px;line-height:1.5}.code-input:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 4px #6a63a624}.resend-code{text-align:center;margin-top:16px}.resend-code button{color:var(--violet);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;font-size:14px;font-weight:600;text-decoration:underline}.resend-code button:disabled{color:#b0b0b0;cursor:not-allowed;text-decoration:none}.btn-change-email{width:100%;color:var(--ink-soft);border:1.5px solid var(--line);cursor:pointer;background-color:#fff;border-radius:13px;justify-content:center;align-items:center;gap:8px;margin-top:12px;padding:13px 24px;font-size:14px;font-weight:600;transition:background-color .18s,color .18s,border-color .18s;display:flex}.btn-change-email:hover{background-color:var(--violet-tint);color:var(--ink);border-color:#cfcce4}.auth-page-header{background-color:#fff;border-bottom:1px solid #ebebeb;justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.auth-page-header .logo{height:40px}.auth-page-header .nav-links a{color:#222;font-size:14px;text-decoration:none}.auth-page-header .nav-links a:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){.auth-card,.auth-brand-mark,.auth-header,.auth-form,.role-option.selected:after,.auth-error{animation:none!important}.btn-auth-primary:after{display:none}}@media screen and (max-width:480px){.auth-card{-webkit-backdrop-filter:none;background:#fff;border-radius:22px;padding:28px 22px 24px;box-shadow:0 10px 30px -18px #2e215759}.auth-container{padding:24px 16px}.auth-title{font-size:24px}.code-input-container{gap:6px}.role-selection{flex-direction:column}.role-option{text-align:left;align-items:center;gap:14px;padding:14px 16px;display:flex}.role-icon{flex-shrink:0;width:46px;height:46px;margin:0;font-size:24px}.role-option.selected:after{top:50%;transform:translateY(-50%)}}.auth-footer-link{appearance:none;font:inherit;cursor:pointer;color:var(--violet,#6a63a6);background:0 0;border:none;margin:0;padding:0;font-weight:600;transition:color .15s}.auth-footer-link:hover{color:var(--violet-deep,#2e2157);text-underline-offset:3px;text-decoration:underline}.auth-notice{color:#4e478c;background-color:#f4f2fc;border:1px solid #e0dcf3;border-left:3px solid #6a63a6;border-radius:11px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px 14px;font-size:13.5px;line-height:1.45;display:flex}.auth-modal-body{--violet:#6a63a6;--violet-bright:#7a72c0;--violet-mid:#4e478c;--violet-deep:#2e2157;--violet-tint:#f4f2fc;--ink:#1c1830;--ink-soft:#6b6781;--line:#e7e6f1;padding:30px 28px 24px;position:relative}.auth-modal-close{color:#6b6781;cursor:pointer;z-index:2;background:#0000000a;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .15s;display:flex;position:absolute;top:14px;right:14px}.auth-modal-close:hover{background:#00000014}
