.auth-page{min-height:100vh;height:100vh;display:flex;background:#fff;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}.auth-promo{flex:1;display:none;position:relative;background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a);padding:3rem;overflow:hidden;height:100%}@media(min-width:1024px){.auth-promo{display:flex;flex-direction:column;justify-content:center}}.auth-promo:before{top:-20%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(99,91,255,.4) 0,transparent 70%)}.auth-promo:after,.auth-promo:before{content:"";position:absolute;filter:blur(80px);pointer-events:none}.auth-promo:after{bottom:-20%;left:-10%;width:400px;height:400px;background:radial-gradient(circle,rgba(0,212,255,.3) 0,transparent 70%)}.auth-promo__grid{position:absolute;inset:0;background-image:linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:60px 60px;pointer-events:none}.auth-promo__content{position:relative;z-index:1;max-width:480px;margin:0 auto}.auth-promo__logo{display:block;margin-bottom:3rem}.auth-promo__logo img{height:40px;width:auto}.auth-promo__headline{font-size:clamp(2rem,3vw,2.75rem);font-weight:700;color:#fff;line-height:1.2;letter-spacing:-.02em;margin:0 0 1.5rem}.auth-promo__headline span{background:linear-gradient(135deg,#2563eb,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-promo__text{font-size:1.125rem;color:#ffffffb3;line-height:1.7;margin:0 0 3rem}.auth-promo__features{list-style:none;padding:0;margin:0 0 3rem;display:flex;flex-direction:column;gap:1rem}.auth-promo__feature{display:flex;align-items:center;gap:.875rem;color:#ffffffe6;font-size:1rem}.auth-promo__feature-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#635bff33;border-radius:8px;flex-shrink:0}.auth-promo__feature-icon svg{width:16px;height:16px;color:#2563eb}.auth-promo__testimonial{background:#ffffff0d;border:1px solid hsla(0,0%,100%,.1);border-radius:16px;padding:1.5rem;margin-top:auto}.auth-promo__quote{font-size:1rem;color:#ffffffd9;line-height:1.7;font-style:italic;margin:0 0 1rem}.auth-promo__author{display:flex;align-items:center;gap:.75rem}.auth-promo__author-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#06b6d4);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff;font-size:.875rem}.auth-promo__author-info{display:flex;flex-direction:column}.auth-promo__author-name{font-weight:600;color:#fff;font-size:.9rem}.auth-promo__author-role{font-size:.8rem;color:#ffffff80}.auth-form-panel{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:2.5rem 2rem;height:100%;position:relative;overflow-y:auto}@media(min-width:1024px){.auth-form-panel{max-width:980px;padding:3.5rem 3rem}}.auth-form-container{width:100%;max-width:900px;animation:authFadeIn .5s ease-out}@keyframes authFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-mobile-logo{display:block;text-align:center;margin-bottom:2rem}.auth-mobile-logo img{height:36px;width:auto}@media(min-width:1024px){.auth-mobile-logo{display:none}}.auth-back-link{display:inline-flex;align-items:center;gap:.5rem;color:#64748b;font-size:.875rem;text-decoration:none;margin-bottom:2rem;transition:color .2s ease}.auth-back-link:hover{color:#2563eb}.auth-back-link svg{width:16px;height:16px}.auth-header{text-align:center;margin-bottom:2rem}.auth-header__title{font-size:1.75rem;font-weight:700;color:#0f172a;letter-spacing:-.02em;margin:0 0 .5rem}.auth-header__subtitle{font-size:1rem;color:#64748b;margin:0;line-height:1.5}.auth-form{gap:1.5rem}.auth-form,.auth-form-section{display:flex;flex-direction:column}.auth-form-section{gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid #e2e8f0}.auth-form-section:last-of-type{padding-bottom:0;border-bottom:none}.auth-section-title{font-size:.95rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:0}.auth-form-grid{display:grid;grid-template-columns:1fr;gap:1rem}.auth-form-grid__full{grid-column:1/-1}@media(min-width:980px){.auth-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}}.auth-alert{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:.9rem}.auth-alert__icon{flex-shrink:0;width:20px;height:20px}.auth-input-group{display:flex;flex-direction:column;gap:.5rem}.auth-input-label{font-size:.875rem;font-weight:600;color:#334155}.auth-input-help{margin:0;font-size:.875rem;line-height:1.5;color:#64748b}.auth-input{width:100%;padding:.875rem 1rem;font-size:1rem;color:#0f172a;background:#f8fafc;border:2px solid #e2e8f0;border-radius:10px;transition:all .2s ease}.auth-input:focus{outline:none;border-color:#2563eb;background:#fff;box-shadow:0 0 0 4px #635bff1a}.auth-input::-moz-placeholder{color:#6b7280}.auth-input::placeholder{color:#6b7280}.auth-input--error{border-color:#dc2626}.auth-input--error:focus{box-shadow:0 0 0 4px #dc26261a}.auth-input-error{font-size:.8rem;color:#dc2626;margin-top:.25rem}.auth-consent-group{gap:.35rem}.auth-consent,.auth-consent-group{display:flex;flex-direction:column}.auth-consent{gap:.75rem;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:10px;background:#f8fafc}.auth-consent--error{border-color:#dc2626}.auth-consent__item{display:flex;align-items:flex-start;gap:.75rem;font-size:.9rem;color:#334155}.auth-consent__checkbox{margin-top:1px;inline-size:20px;block-size:20px;accent-color:#2563eb;flex-shrink:0;cursor:pointer}.auth-consent__text{line-height:1.4}.auth-consent__link{color:#2563eb;font-weight:600;text-decoration:none}.auth-consent__link:hover{color:#1d4ed8;text-decoration:underline}.auth-consent__error{margin-top:0}.auth-profile-recommendation{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.125rem;border:1px solid #bfdbfe;border-radius:12px;background:linear-gradient(180deg,#eff6ff,#f8fafc)}.auth-profile-recommendation__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.auth-profile-recommendation__eyebrow{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1d4ed8}.auth-profile-card__badge,.auth-profile-recommendation__badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .625rem;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:.75rem;font-weight:700}.auth-profile-recommendation__body,.auth-profile-recommendation__footnote{margin:0;color:#334155;line-height:1.6}.auth-profile-recommendation__footnote{color:#475569;font-size:.875rem}.auth-profile-options{display:grid;grid-template-columns:1fr;gap:.875rem}.auth-profile-card{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.125rem;border:2px solid #e2e8f0;border-radius:12px;background:#f8fafc;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.auth-profile-card:hover{border-color:#93c5fd;background:#fff}.auth-profile-card--recommended{border-color:#bfdbfe}.auth-profile-card--selected{border-color:#2563eb;background:#fff;box-shadow:0 0 0 4px #2563eb1f}.auth-profile-card__control{margin-top:.125rem;inline-size:18px;block-size:18px;accent-color:#2563eb;flex-shrink:0}.auth-profile-card__content{display:flex;flex:1;flex-direction:column;gap:.5rem}.auth-profile-card__top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.auth-profile-card__title{font-size:1rem;font-weight:700;color:#0f172a}.auth-profile-card__description{margin:0;color:#475569;line-height:1.6}@media(min-width:980px){.auth-profile-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.auth-forgot-link{display:block;text-align:right;font-size:.875rem;color:#2563eb;text-decoration:none;margin-top:-.5rem;font-weight:500;transition:color .2s ease}.auth-forgot-link:hover{color:#1d4ed8;text-decoration:underline}.auth-submit-btn{width:100%;padding:1rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#1d4ed8,#1e40af);transform:translateY(-1px);box-shadow:0 4px 12px #635bff66}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-submit-btn svg{width:18px;height:18px}.auth-spinner{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(1turn)}}.auth-divider{display:flex;align-items:center;gap:1rem;margin:.5rem 0;color:#6b7280;font-size:.875rem}.auth-divider:after,.auth-divider:before{content:"";flex:1;height:1px;background:#e2e8f0}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.9rem;color:#64748b}.auth-footer a{color:#2563eb;font-weight:600;text-decoration:none;transition:color .2s ease}.auth-footer a:hover{color:#1d4ed8;text-decoration:underline}.auth-success{text-align:center;padding:2rem 0}.auth-success__icon{width:64px;height:64px;margin:0 auto 1.5rem;background:linear-gradient(135deg,#635bff1a,#00d4ff1a);border-radius:50%;display:flex;align-items:center;justify-content:center}.auth-success__icon svg{width:32px;height:32px;color:#2563eb}.auth-success__title{font-size:1.5rem;font-weight:700;color:#0f172a;margin:0 0 .75rem}.auth-success__message{font-size:1rem;color:#64748b;line-height:1.6;margin:0 0 2rem}.auth-success__actions{display:flex;justify-content:center;margin-bottom:1rem}.auth-success__note{font-size:.9rem;color:#64748b;margin:0}.auth-trust{justify-content:center;gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #e2e8f0}.auth-trust,.auth-trust__item{display:flex;align-items:center}.auth-trust__item{gap:.5rem;color:#6b7280;font-size:.8rem}.auth-trust__item svg{width:16px;height:16px;color:#2563eb}@media(max-width:480px){.auth-form-panel{padding:1.5rem}.auth-header__title{font-size:1.5rem}.auth-trust{flex-direction:column;gap:.75rem}}@media(min-width:1280px){.auth-promo{flex:1.2;padding:4rem}.auth-promo__content{max-width:520px}}
