.signin-modal-overlay{position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.6);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:signinFadeIn .25s ease}.signin-modal-overlay--closing{animation:signinFadeOut .2s ease forwards}@keyframes signinFadeIn{0%{opacity:0}to{opacity:1}}@keyframes signinFadeOut{0%{opacity:1}to{opacity:0}}.signin-modal{position:relative;width:100%;max-width:420px;animation:signinSlideUp .3s ease}@keyframes signinSlideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.signin-modal-close{position:absolute;top:-.5rem;right:-.5rem;z-index:2;width:2.25rem;height:2.25rem;border-radius:50%;border:none;background:#fff;color:#64748b;font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(15,23,42,.15);display:flex;align-items:center;justify-content:center}.signin-modal-close:hover{color:#0f172a;background:#f8fafc}.signin-card{background:#fff;border-radius:1.25rem;overflow:hidden;box-shadow:0 24px 60px rgba(15,23,42,.2)}.signin-card-header{background:linear-gradient(135deg,#4a1d96,#6b21a8 50%,#9333ea);padding:2rem 1.5rem 1.5rem;text-align:center;color:#fff}.signin-card-icon{width:3.5rem;height:3.5rem;margin:0 auto .75rem;background:hsla(0,0%,100%,.15);border-radius:1rem;display:flex;align-items:center;justify-content:center;font-size:1.75rem}.signin-card-title{font-size:1.5rem;font-weight:800;margin-bottom:.35rem}.signin-card-subtitle{font-size:.95rem;line-height:1.5;color:hsla(0,0%,100%,.88);max-width:18rem;margin:0 auto}.signin-steps{list-style:none;margin:0;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.65rem}.signin-steps li{display:flex;align-items:center;gap:.65rem;font-size:.875rem;color:#475569}.signin-step-num{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:50%;background:#f3e8ff;color:#7c3aed;font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center}.signin-alert{margin:0 1.5rem .75rem;padding:.65rem .85rem;background:#fefce8;border:1px solid #fde047;border-radius:.5rem;font-size:.8rem;color:#854d0e}.signin-google-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:calc(100% - 3rem);margin:0 1.5rem 1rem;padding:.85rem 1rem;border:2px solid #e2e8f0;border-radius:.75rem;background:#fff;font-size:.95rem;font-weight:600;color:#334155;cursor:pointer;transition:border-color .2s,box-shadow .2s,background .2s}.signin-google-btn:hover:not(:disabled){border-color:#cbd5e1;background:#f8fafc;box-shadow:0 4px 12px rgba(15,23,42,.08)}.signin-google-btn:disabled{opacity:.6;cursor:not-allowed}.signin-google-icon{width:1.25rem;height:1.25rem;flex-shrink:0}.signin-spinner{width:1.25rem;height:1.25rem;border:2px solid #e2e8f0;border-top-color:#7c3aed;border-radius:50%;animation:signinSpin .7s linear infinite}@keyframes signinSpin{to{transform:rotate(1turn)}}.signin-footer-note{padding:0 1.5rem 1.25rem;font-size:.75rem;color:#94a3b8;line-height:1.5;text-align:center}.signin-footer-note strong{color:#64748b}.signin-link{color:#7c3aed;text-decoration:underline}.signin-link:hover{color:#6d28d9}.signin-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(135deg,#faf5ff,#fff7ed 50%,#fdf2f8)}.signin-page .signin-card{width:100%;max-width:420px}