.login-overlay{z-index:1000;padding:var(--container-padding);background-color:#1e293b8c;animation:.18s login-fade;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes login-fade{0%{opacity:0}to{opacity:1}}.login-card{z-index:1;background:var(--card);border:var(--border-width) solid var(--foreground);border-radius:var(--radius-lg);width:100%;max-width:460px;box-shadow:var(--shadow-pop);animation:pop-in .32s var(--ease-bounce);margin:auto;padding:48px 40px;position:relative}.login-close{border:var(--border-width) solid var(--foreground);background:var(--card);width:38px;height:38px;color:var(--foreground);cursor:pointer;transition:background-color .2s ease, transform var(--transition-base);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.login-close:hover{background-color:var(--tertiary);transform:rotate(90deg)}.login-header{margin-bottom:32px}.login-brand{font-family:var(--font-heading);font-weight:800;font-size:var(--text-xl);color:var(--foreground);margin-bottom:16px;text-decoration:none;display:block}.login-brand span{color:var(--accent)}.login-tabs{gap:6px;margin-bottom:20px;display:flex}.login-tab{font-family:var(--font-heading);border:2px solid var(--foreground);color:var(--foreground);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:8px 10px;font-size:13px;font-weight:700;transition:background .15s,color .15s,transform .1s,box-shadow .1s}.login-tab:hover:not(.active){background:var(--background)}.login-tab.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:3px 3px 0 var(--foreground);transform:translate(-1px,-1px)}.login-header h2{font-size:var(--text-2xl);margin-bottom:8px}.login-header p{font-size:var(--text-sm)}.login-form{flex-direction:column;gap:20px;margin-bottom:24px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--foreground);font-weight:700}.login-field input{width:100%;font-family:var(--font-body);font-size:var(--text-base);color:var(--foreground);background:var(--input);border:var(--border-width) solid var(--foreground);border-radius:var(--radius-sm);outline:none;padding:12px 16px;transition:box-shadow .2s}.login-field input:focus{box-shadow:3px 3px 0px 0px var(--foreground)}.login-field input::placeholder{color:var(--muted-foreground)}.login-error{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--accent);margin:0;font-weight:700}.login-submit{justify-content:center;width:100%}.login-divider{color:var(--muted-foreground);font-size:var(--text-xs);align-items:center;gap:12px;margin-bottom:16px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--foreground);opacity:.15;flex:1;height:1px}.login-google-btn{width:100%;font-family:var(--font-heading);font-size:var(--text-base);color:var(--foreground);border:var(--border-width) solid var(--foreground);border-radius:var(--radius-full);cursor:pointer;transition:transform var(--transition-base), box-shadow var(--transition-base), background-color var(--transition-base);background:0 0;justify-content:center;align-items:center;gap:10px;margin-bottom:24px;padding:14px 28px;font-weight:700;display:flex}.login-google-btn:hover:not(:disabled){background-color:var(--tertiary);box-shadow:var(--shadow-pop);transform:translate(-2px,-2px)}.login-google-btn:active:not(:disabled){box-shadow:var(--shadow-pop-active);transform:translate(2px,2px)}.login-google-btn:disabled{opacity:.6;cursor:not-allowed}.login-switch{text-align:center;font-size:var(--text-sm);color:var(--muted-foreground);margin:0}.login-switch button{color:var(--secondary);font-family:var(--font-heading);font-weight:700;font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}@media (max-width:768px){.login-card{border-radius:var(--radius-md);padding:32px 24px}}.login-email-sent{text-align:center;flex-direction:column;align-items:center;gap:16px;padding-top:8px;display:flex}.login-email-icon{border:var(--border-width) solid var(--foreground);width:64px;height:64px;color:var(--accent);background:#fff3f0;border-radius:50%;justify-content:center;align-items:center;display:flex}.login-email-sent h2{font-size:var(--text-2xl)}.login-email-sent p{font-size:var(--text-sm);line-height:1.65}.login-email-sent strong{color:var(--foreground)}
