.form-header{text-align:center;margin-bottom:2rem}.form-header h2{font-size:1.75rem;font-weight:700;color:var(--text-dark);margin:0 0 .5rem}.form-header p{color:var(--text-light);margin:0}.error-message{background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;color:var(--error-text);cursor:pointer;transition:all .3s ease}.error-message:hover{background:#f1aeb5}.error-close{background:none;border:none;color:inherit;cursor:pointer;margin-left:auto;padding:.25rem;border-radius:50%;font-size:.875rem}.success-message{background:#dcfce7;border:1px solid #bbf7d0;border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:.75rem;color:#166534}.login-form{display:flex;flex-direction:column;gap:1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-weight:500;color:var(--text-dark);font-size:.875rem}.input{width:100%;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius);font-size:1rem;transition:all .3s ease;box-sizing:border-box;background:var(--bg-white)}.input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #7c3aed1f}.input.error{border-color:var(--danger-color)}.input.readonly{background:var(--bg-light);color:var(--text-light)}.password-input-wrapper{position:relative}.password-input{padding-right:3rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:.25rem;border-radius:var(--radius);color:var(--text-light);transition:all .3s ease}.password-toggle:hover{background:var(--bg-light);color:var(--text-dark)}.form-options{display:flex;justify-content:space-between;align-items:center;margin:-.5rem 0}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.checkbox{accent-color:var(--accent-color);width:16px;height:16px}.forgot-link{color:var(--accent-color);font-size:.875rem;text-decoration:none;transition:color .3s ease}.forgot-link:hover{color:var(--accent-color-dark, #4338ca);text-decoration:underline}.login-button{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;border-radius:var(--radius);padding:1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:54px;box-shadow:0 4px 14px #7c3aed4d}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #7c3aed66;filter:brightness(1.05)}.login-button:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}.spinner{width:16px;height:16px;border:2px solid rgba(26,26,26,.3);border-top:2px solid var(--text-dark);border-radius:50%}.form-footer{margin-top:2rem;text-align:center;font-size:.95rem;color:var(--text-light);display:flex;align-items:center;justify-content:center;gap:.5rem}.register-link{color:var(--accent-color);text-decoration:none;font-weight:600;transition:color .3s ease}.register-link:hover{color:var(--accent-color-dark, #4338ca);text-decoration:underline}.alternative-actions{margin-top:1.5rem;text-align:center;position:relative}.divider{color:var(--text-light);font-size:.875rem;margin-bottom:1rem;position:relative;display:flex;align-items:center;justify-content:center;gap:1rem}.divider:before,.divider:after{content:"";height:1px;background:var(--border-color);flex:1}.guest-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-light);text-decoration:none;font-size:.9rem;padding:.5rem 1rem;border-radius:var(--radius);transition:all .3s ease}.guest-link:hover{background:var(--bg-light);color:var(--text-dark)}.code-input{text-align:center;font-size:1.25rem;font-weight:600;letter-spacing:.5rem;font-family:monospace}.input-hint{color:var(--text-light);font-size:.75rem;text-align:center}.resend-container{display:flex;justify-content:flex-end;margin-top:.25rem}.resend-link{background:none;border:none;color:var(--accent-color);font-size:.875rem;cursor:pointer;padding:0;text-decoration:underline}.resend-link:disabled{color:var(--text-light);cursor:default;text-decoration:none}
