.auth-header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:flex-end;padding:0.75rem 1.5rem;z-index:100}.auth-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;font-size:0.85rem;font-weight:600;font-family:inherit;color:var(--text-secondary);background:rgba(255,255,255,0.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-strong);border-radius:10px;cursor:pointer;transition:border-color 0.2s,color 0.2s,background 0.2s,transform 0.2s}.auth-btn:hover{border-color:var(--accent);color:var(--accent);background:rgba(255,255,255,0.9);transform:translateY(-1px)}.verify-banner{position:fixed;top:0;left:0;right:0;z-index:99;background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%);border-bottom:1px solid #f59e0b;color:#78350f}.verify-banner-inner{max-width:1200px;margin:0 auto;padding:10px 1.5rem;display:flex;align-items:center;gap:12px;font-size:0.88rem;font-weight:500}.verify-banner-inner svg{flex-shrink:0}.verify-banner-inner span{flex:1}.verify-banner-resend{padding:5px 12px;font-size:0.82rem;font-weight:600;font-family:inherit;color:#78350f;background:rgba(255,255,255,0.7);border:1px solid #b45309;border-radius:6px;cursor:pointer;transition:background 0.15s,transform 0.1s}.verify-banner-resend:hover:not(:disabled){background:#fff}.verify-banner-resend:disabled{opacity:0.6;cursor:wait}.verify-banner-close{width:24px;height:24px;background:transparent;border:none;color:#78350f;cursor:pointer;font-size:1.2rem;opacity:0.6}.verify-banner-close:hover{opacity:1}body.has-verify-banner .auth-header{top:40px}.toast{position:fixed;top:1.5rem;left:50%;transform:translateX(-50%);z-index:300;padding:12px 20px;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:0 6px 24px rgba(0,0,0,0.12);font-size:0.9rem;font-weight:500;color:var(--text);max-width:460px;animation:toast-in 0.25s ease}.toast.toast-success{border-color:var(--green);color:#047857}.toast.toast-error{border-color:var(--red);color:#b91c1c}@keyframes toast-in{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}.toast.toast-fade{animation:toast-out 0.3s ease forwards}@keyframes toast-out{to{opacity:0;transform:translate(-50%,-8px)}}.forgot-password-link{display:block;margin-top:0.5rem;font-size:0.82rem;color:var(--accent);text-decoration:none;cursor:pointer;text-align:right}.forgot-password-link:hover{text-decoration:underline}.modal-info{font-size:0.85rem;color:var(--text-secondary);background:var(--bg-subtle,var(--bg));border-radius:8px;padding:10px 12px;margin-top:0.5rem;line-height:1.5}.auth-user{display:inline-flex;align-items:center;gap:8px;cursor:pointer;position:relative}.auth-user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--border)}.auth-user-avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700}.auth-user-name{font-size:0.85rem;font-weight:600;color:var(--text)}.auth-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden;min-width:180px;z-index:101}.auth-dropdown.open{display:block}.auth-dropdown-item{display:block;width:100%;padding:10px 16px;font-size:0.85rem;font-family:inherit;color:var(--text);background:none;border:none;cursor:pointer;text-align:left}.auth-dropdown-item:hover{background:var(--bg-subtle)}.auth-dropdown-email{padding:10px 16px;font-size:0.75rem;color:var(--text-tertiary);border-bottom:1px solid var(--border)}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.4);backdrop-filter:blur(4px);z-index:200;align-items:center;justify-content:center}.modal-overlay.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg),0 0 0 1px rgba(0,0,0,0.02);width:100%;max-width:400px;padding:2rem;position:relative}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.4rem;color:var(--text-tertiary);cursor:pointer;line-height:1}.modal-close:hover{color:var(--text)}.modal-title{font-size:1.25rem;font-weight:800;color:var(--text);margin-bottom:0.25rem}.modal-subtitle{font-size:0.85rem;color:var(--text-secondary);margin-bottom:1.5rem}.modal-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;font-size:0.9rem;font-weight:600;font-family:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;transition:border-color 0.15s,background 0.15s}.modal-google-btn:hover{border-color:var(--accent);background:var(--bg-subtle)}.modal-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;font-size:0.78rem;color:var(--text-tertiary)}.modal-divider::before,.modal-divider::after{content:'';flex:1;height:1px;background:var(--border-strong)}.modal-field{margin-bottom:0.85rem}.modal-field label{display:block;font-size:0.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:0.3rem}.modal-field input{width:100%;padding:10px 12px;font-size:0.9rem;font-family:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:8px;outline:none;transition:border-color 0.15s}.modal-field input:focus{border-color:var(--accent)}.modal-submit{width:100%;padding:12px;font-size:0.95rem;font-weight:700;font-family:inherit;color:#fff;background:linear-gradient(135deg,#4F46E5 0%,#7C3AED 100%);border:none;border-radius:var(--radius-sm);cursor:pointer;margin-top:0.5rem;transition:transform 0.2s,box-shadow 0.2s,filter 0.2s;box-shadow:0 2px 8px var(--accent-glow)}.modal-submit:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 4px 16px var(--accent-glow)}.modal-submit:disabled{opacity:0.4;cursor:not-allowed}.modal-error{font-size:0.8rem;color:var(--red);margin-top:0.5rem;min-height:1.2em}.modal-switch{text-align:center;margin-top:1rem;font-size:0.82rem;color:var(--text-secondary)}.modal-switch a{color:var(--accent);text-decoration:none;font-weight:600;cursor:pointer}.modal-switch a:hover{text-decoration:underline}