*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;font-family:Fustat,Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;background:#fff}.auth-page{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);height:100vh;max-height:100vh;overflow:hidden;background:radial-gradient(ellipse 90% 70% at 8% 0%,rgba(167,139,250,.12) 0%,transparent 55%),radial-gradient(ellipse 70% 55% at 92% 100%,rgba(196,181,253,.1) 0%,transparent 50%),#fff}.auth-page--loading{display:flex;align-items:center;justify-content:center}.auth-loading{color:#64748b;font-size:15px;font-weight:500}.auth-panel-left{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:clamp(20px,2.5vh,32px) clamp(24px,3.5vw,48px);color:#111928;overflow:hidden}.auth-carousel{flex:0 1 auto;display:flex;align-items:center;min-height:0;width:100%}.auth-carousel-viewport{position:relative;width:100%;display:flex;align-items:center;justify-content:center;padding:0 12px 0 0}.auth-carousel-track{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.5vw,16px);width:100%;max-width:760px}.auth-testimonial-card{flex:0 0 min(290px,33vw);padding:18px 20px 20px;border-radius:14px;border:4px solid transparent;background:linear-gradient(155deg,#fffffff5,#f8f5ffeb 48%,#fffffff0) padding-box,linear-gradient(145deg,#ffffffe6,#d8c9ffb8,#8b5cf68c 70%,#5b21b673) border-box;box-shadow:0 6px 24px #7c3aed14;transition:opacity .35s ease,transform .35s ease,filter .35s ease;pointer-events:none;overflow:hidden}.auth-testimonial-card--has-chart{padding-top:0}.auth-testimonial-card--active{opacity:1;transform:scale(1);filter:none;z-index:2;pointer-events:auto;box-shadow:0 0 0 1px #ffffffc7 inset,0 12px 36px #7c3aed24}.auth-testimonial-card--prev,.auth-testimonial-card--next{opacity:.22;transform:scale(.88);filter:blur(.5px)}.auth-testimonial-chart{margin:0 -20px 14px;border-radius:10px 10px 0 0;overflow:hidden;background:#fff}.auth-testimonial-chart-img{display:block;width:100%;height:auto;object-fit:contain;object-position:center top;background:#fff}.auth-testimonial-body{margin:0 0 12px;font-size:14px;line-height:1.62;color:#374151;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.auth-stars{display:flex;gap:3px;margin-bottom:14px}.auth-testimonial-foot{display:flex;align-items:center;gap:10px;padding-top:0}.auth-testimonial-avatar-wrap{flex-shrink:0;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;overflow:hidden;background:#f3f4f6}.auth-testimonial-avatar{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%;border:2px solid rgba(196,181,253,.55);border-radius:50%}.auth-testimonial-name{font-size:14px;font-weight:600;letter-spacing:-.02em;color:#1f2937}.auth-testimonial-role{font-size:12px;color:#6b7280;margin-top:2px;line-height:1.3}.auth-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid rgba(203,213,225,.95);border-radius:8px;background:#fffffff5;color:#475569;cursor:pointer;box-shadow:0 2px 10px #7c3aed1a;transition:background .2s ease,border-color .2s ease,color .2s ease}.auth-carousel-arrow:hover{background:#faf5ff;border-color:#a78bfa8c;color:#6d28d9}.auth-carousel-arrow--next{right:-4px}.auth-panel-right{display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden;padding:clamp(16px,2.5vh,28px) clamp(20px,3vw,36px)}.auth-card{width:100%;max-width:420px;max-height:calc(100vh - 32px);overflow:hidden;padding:clamp(22px,2.8vh,28px) clamp(22px,2.5vw,28px);border-radius:10px;background:#fff;border:1px solid rgba(226,232,240,.95);box-shadow:0 12px 36px #7c3aed12}.auth-card--signup .auth-form{gap:11px}.auth-card-title{margin:0 0 clamp(14px,2vh,20px);font-size:clamp(20px,2.2vw,24px);font-weight:700;letter-spacing:-.03em;color:#111928;text-align:center}.auth-alert{margin:-4px 0 12px;padding:10px 12px;border-radius:8px;font-size:12px;line-height:1.45}.auth-alert--error{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-label{font-size:13px;font-weight:600;color:#334155}.auth-input{height:44px;padding:0 12px;border-radius:8px;border:1px solid #cbd5e1;background:#fff;font-family:inherit;font-size:14px;color:#0f172a;transition:border-color .15s ease,box-shadow .15s ease}.auth-input::placeholder{color:#94a3b8}.auth-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.auth-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;height:46px;border:none;border-radius:8px;font-family:inherit;font-size:14px;font-weight:700;letter-spacing:-.02em;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease,background .15s ease}.auth-btn:disabled{opacity:.65;cursor:not-allowed}.auth-btn--primary{color:#fff;background:linear-gradient(180deg,#a855f7,#7c3aed 52%,#6d28d9);box-shadow:0 6px 20px #6d28d93d}.auth-btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px #6d28d94d}.auth-btn--google{color:#111827;background:#fff;border:1px solid rgba(15,23,42,.12);box-shadow:0 1px 2px #0f172a0d}.auth-btn--google:hover:not(:disabled){background:#fafafa;border-color:#0f172a29}.auth-google-g{flex-shrink:0}.auth-switch{margin:14px 0 0;font-size:13px;color:#64748b;text-align:center}.auth-link-btn{padding:0;border:none;background:none;font-family:inherit;font-size:inherit;font-weight:700;color:#7c3aed;cursor:pointer}.auth-link-btn:hover{text-decoration:underline}@media (max-width: 960px){html,body{overflow:auto}.auth-page{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:auto;max-height:none;min-height:100vh;overflow:visible}.auth-panel-left{justify-content:flex-start;padding-top:24px}.auth-testimonial-card--prev,.auth-testimonial-card--next{display:none}.auth-testimonial-card--active{flex:0 0 min(320px,88vw)}.auth-panel-right{overflow:visible}}@media (max-width: 480px){.auth-carousel-viewport{padding:0 24px}.auth-card{padding:20px 18px}}
