.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem 1.25rem;background:var(--bg-body)}.auth-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.25rem;width:100%;max-width:400px;box-shadow:var(--shadow-lg),var(--shadow-glow)}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-brand{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.25rem;font-size:1.05rem;font-weight:800;color:var(--text-primary)}.auth-brand svg{color:var(--primary)}.auth-header h1{font-size:1.3rem;font-weight:700;margin-bottom:4px}.auth-header p{color:var(--text-muted);font-size:.85rem}.auth-error{background:var(--danger-ghost);border:1px solid rgba(244,63,94,.15);border-radius:var(--radius-sm);padding:.65rem .85rem;color:#fb7185;font-size:.82rem}.auth-error,.auth-form .form-group{margin-bottom:1rem}.auth-form .btn{width:100%;margin-top:.35rem}.password-field{position:relative}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-ghost);cursor:pointer;padding:4px;display:flex;align-items:center}.password-toggle:hover{color:var(--text-secondary)}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:var(--text-ghost);font-size:.78rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border-color)}.google-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem;font-weight:500;cursor:pointer;transition:all var(--transition)}.google-btn:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-hover)}.google-btn:disabled{opacity:.35;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.25rem;color:var(--text-muted);font-size:.82rem}.auth-footer a{color:var(--primary-light);font-weight:600}.auth-footer a:hover{text-decoration:underline}.auth-name-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.6rem;gap:.6rem}@media (max-width:768px){.auth-card{padding:1.5rem}.auth-name-row{grid-template-columns:1fr}}