.auth-page{--violet:#6a63a6;--violet-bright:#7a72c0;--violet-mid:#4e478c;--violet-deep:#2e2157;--violet-tint:#f4f2fc;--ink:#1c1830;--ink-soft:#6b6781;--line:#e7e6f1;--trust-green:#0a8f3c;background:#fff;flex-direction:column;min-height:100vh;display:flex;position:relative}.auth-topbar{background:#fff;justify-content:center;align-items:center;padding:10px 20px;display:flex;position:relative}.auth-topbar img{border-radius:9px;width:auto;height:38px;display:block}.auth-topbar-close{width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.auth-topbar-close:hover{background:#0000000d}@media (min-width:880px){.auth-topbar{justify-content:flex-start}.auth-topbar-close{display:none}}.auth-terms-line{text-align:center;color:var(--ink-soft,#6b6781);margin-top:18px;font-size:12.5px;line-height:1.5}.auth-terms-line a{color:inherit;text-underline-offset:2px;text-decoration:underline}.auth-terms-line a:hover{color:var(--violet,#6a63a6)}.auth-container{z-index:1;flex:1;justify-content:center;align-items:flex-start;padding:36px 20px 48px;display:flex;position:relative}.auth-card{background:#fff;width:100%;max-width:452px;margin-top:auto;margin-bottom:auto;padding:8px 0 0;position:relative}.auth-trust-line{color:var(--trust-green);justify-content:center;align-items:center;gap:6px;margin:6px 0 4px;font-size:13.5px;font-weight:600;display:flex}.auth-columns{flex-direction:column;display:flex}@media (min-width:880px){.auth-card{max-width:880px}.auth-card>:not(.auth-columns){max-width:520px;margin-left:auto;margin-right:auto}.auth-columns{grid-template-columns:1fr 72px 1fr;align-items:center;padding:8px 0 4px;display:grid}.auth-columns .auth-divider{flex-direction:column;justify-self:center;height:100%;min-height:120px;margin:0}.auth-columns .auth-divider:before,.auth-columns .auth-divider:after{background:var(--line);flex:1;width:1px;height:auto}.auth-columns .auth-divider span{padding:10px 0}}.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:var(--violet);cursor:pointer;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 24px;font-size:16px;font-weight:700;transition:background-color .18s;display:flex;position:relative}.btn-auth-primary:hover:not(:disabled){background:var(--violet-mid)}.btn-auth-primary:disabled{opacity:.55;cursor:not-allowed}.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}@media (prefers-reduced-motion:reduce){.auth-brand-mark,.auth-header,.auth-form,.role-option.selected:after,.auth-error{animation:none!important}}@media screen and (max-width:480px){.auth-container{padding:20px 16px 32px}.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}
