.auth-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1040;animation:fadeIn ease-out .3s ease-in-out}.auth-modal-backdrop:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.auth-modal{background:var(--surface-color);border-radius:1rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);border:1px solid var(--border-color);width:90%;max-width:480px;max-height:90vh;overflow:hidden;position:relative;animation:slideUp ease-out .3s ease-in-out;z-index:1050}.auth-modal-header{display:flex;align-items:center;justify-content:space-between;padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--border-color);background:var(--surface-color)}.auth-modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-color);display:flex;justify-content:flex-start;gap:.5rem;align-items:center}.auth-modal-header h2 svg{width:28px;height:28px;color:var(--purple)}.auth-modal-header .close-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:var(--surface-color-2);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .15s ease-in-out}.auth-modal-header .close-button svg{width:20px;height:20px}.auth-modal-header .close-button:hover{background:var(--border-color);color:var(--text-color);transform:scale(1.05)}.auth-modal-header .close-button:active{transform:scale(.95)}.auth-content{padding:2rem}.auth-content.confirmation-content{text-align:center;padding:3rem 2rem}.auth-content.confirmation-content .confirmation-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,var(--purple-light),var(--purple));border-radius:50%;margin:0 auto 2rem}.auth-content.confirmation-content .confirmation-icon svg{width:40px;height:40px;color:#fff}.auth-content.confirmation-content .confirmation-message{margin-bottom:3rem}.auth-content.confirmation-content .confirmation-message h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--text-color)}.auth-content.confirmation-content .confirmation-message p{margin:0 0 .5rem;color:var(--text-secondary);line-height:1.75}.auth-content.confirmation-content .confirmation-message p strong{color:var(--text-color);font-weight:600}.auth-content.confirmation-content .confirmation-actions{display:flex;flex-direction:column;gap:1rem}.auth-content.confirmation-content .confirmation-actions .resend-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;background:var(--surface-color-2);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-color);text-decoration:none;transition:all .15s ease-in-out;cursor:pointer;font-weight:500}.auth-content.confirmation-content .confirmation-actions .resend-button svg{width:18px;height:18px}.auth-content.confirmation-content .confirmation-actions .resend-button:hover{background:var(--surface-color);border-color:var(--purple);color:var(--purple);transform:translateY(-1px)}.auth-content.confirmation-content .confirmation-actions .resend-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-content.confirmation-content .confirmation-actions .back-button{padding:.5rem 1.5rem;background:rgba(0,0,0,0);border:none;color:var(--text-secondary);cursor:pointer;transition:color .15s ease-in-out;font-size:.875rem}.auth-content.confirmation-content .confirmation-actions .back-button:hover{color:var(--text-color)}.auth-content .forgot-password-info{text-align:center;margin-bottom:2rem}.auth-content .forgot-password-info h3{margin:0 0 1rem;font-size:1.25rem;font-weight:600;color:var(--text-color)}.auth-content .forgot-password-info p{margin:0;color:var(--text-secondary);line-height:1.75}.oauth-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.github-button,.google-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 1.5rem;background:var(--surface-color);border:2px solid var(--border-color);border-radius:.5rem;color:var(--text-color);font-weight:500;font-size:1rem;transition:all .15s ease-in-out;cursor:pointer}.github-button:hover:not(:disabled),.google-button:hover:not(:disabled){background:var(--surface-color-2);border-color:var(--text-color);transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.github-button:active,.google-button:active{transform:translateY(0)}.github-button:disabled,.google-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.google-button .google-icon{width:20px;height:20px}.google-button:hover:not(:disabled){border-color:#4285f4}.github-button .github-icon{width:20px;height:20px;fill:currentColor}.github-button:hover:not(:disabled){border-color:#333}[data-theme=dark] .github-button:hover:not(:disabled){border-color:#fff}.auth-divider{position:relative;text-align:center;margin:2rem 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-color);z-index:1}.auth-divider span{background:var(--surface-color);padding:0 1.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:500;position:relative;z-index:2}.auth-form .form-group{margin-bottom:1.5rem}.auth-form .form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text-color);margin-bottom:.5rem}.auth-form .form-group input{width:100%;padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;transition:all .15s ease-in-out;background:var(--surface-color);color:var(--text-color);height:48px;font-size:1rem}.auth-form .form-group input:focus{outline:none;box-shadow:0 0 0 1px var(--purple-light)}.auth-form .form-group input::placeholder{color:var(--text-muted)}.auth-form .form-group input:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(139,92,246,.1)}.auth-form .form-group .forgot-password-link{text-align:right;margin-top:.5rem}.auth-form .form-group .forgot-password-link .link-button{background:none;border:none;color:var(--purple);font-size:.875rem;cursor:pointer;text-decoration:none;font-weight:500;transition:color .15s ease-in-out}.auth-form .form-group .forgot-password-link .link-button:hover{color:var(--purple-dark);text-decoration:underline}.auth-form .submit-button{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;font-weight:500;transition:all .15s ease-in-out;cursor:pointer;border:none;text-decoration:none;background:linear-gradient(135deg,var(--purple),var(--purple-dark));color:#fff;padding:.5rem 1rem;width:100%;height:48px;font-size:1rem;font-weight:600;margin-top:1rem}.auth-form .submit-button:focus{outline:none;box-shadow:0 0 0 2px var(--purple-light)}.auth-form .submit-button:disabled{opacity:.5}.auth-form .submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.auth-form .submit-button:active{transform:translateY(0)}.auth-form .submit-button:disabled{background:var(--surface-color-2);color:var(--text-muted);cursor:not-allowed;transform:none}.auth-form .submit-button:disabled:hover{transform:none;box-shadow:none}.auth-form .auth-button{display:inline-flex;align-items:center;justify-content:center;border-radius:.375rem;font-weight:500;transition:all .15s ease-in-out;cursor:pointer;border:none;text-decoration:none;background:linear-gradient(135deg,var(--purple),var(--purple-dark));color:#fff;padding:.5rem 1rem;width:100%;height:48px;font-size:1rem;font-weight:600}.auth-form .auth-button:focus{outline:none;box-shadow:0 0 0 2px var(--purple-light)}.auth-form .auth-button:disabled{opacity:.5}.auth-form .auth-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05)}.auth-form .auth-button:active{transform:translateY(0)}.auth-form .auth-button:disabled{background:var(--surface-color-2);color:var(--text-muted);cursor:not-allowed;transform:none}.auth-form .auth-button:disabled:hover{transform:none;box-shadow:none}.auth-toggle{text-align:center;padding:1.5rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-color)}.auth-toggle p{margin:0;color:var(--text-secondary);font-size:.875rem}.auth-toggle p button{background:none;border:none;color:var(--purple);font-weight:600;cursor:pointer;text-decoration:none;transition:color .15s ease-in-out}.auth-toggle p button:hover{color:var(--purple-dark);text-decoration:underline}.auth-footer{text-align:center;margin-top:2rem}.auth-footer .link-button{background:none;border:none;color:var(--text-secondary);font-size:.875rem;cursor:pointer;text-decoration:none;transition:color .15s ease-in-out}.auth-footer .link-button:hover{color:var(--text-color);text-decoration:underline}.error-message{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:1rem;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:.375rem;color:#ef4444;font-size:.875rem;margin-top:1rem}.error-message svg{width:16px;height:16px;flex-shrink:0}.success-message{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:1rem;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.2);border-radius:.375rem;color:#10b981;font-size:.875rem;margin-top:1rem}.success-message svg{width:16px;height:16px;flex-shrink:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:767px){.auth-modal{width:95%;max-width:none;margin:1rem}.auth-modal-header{padding:1.5rem}.auth-modal-header h2{font-size:1.25rem}.auth-modal-header .close-button{width:36px;height:36px}.auth-modal-header .close-button svg{width:18px;height:18px}.auth-content{padding:1.5rem}.auth-content.confirmation-content{padding:2rem 1.5rem}.auth-content.confirmation-content .confirmation-icon{width:64px;height:64px}.auth-content.confirmation-content .confirmation-icon svg{width:32px;height:32px}.auth-content.confirmation-content .confirmation-message h3{font-size:1.125rem}.auth-toggle{padding:1rem 1.5rem}.github-button{padding:1rem;font-size:.875rem}.auth-form .auth-button,.auth-form .form-group input,.auth-form .submit-button{height:44px}}[data-color-mode=dark] .auth-modal-backdrop{background:rgba(0,0,0,.8)}[data-color-mode=dark] .github-button:hover:not(:disabled){border-color:var(--purple-light);color:var(--purple-light)}[data-color-mode=dark] .auth-divider span{background:var(--surface-color)}.auth-button,.github-button,.submit-button{position:relative}.auth-button:disabled .loading-spinner,.github-button:disabled .loading-spinner,.submit-button:disabled .loading-spinner{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgba(0,0,0,0);border-top-color:currentcolor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.user-profile{position:relative;display:inline-block}.user-profile .profile-trigger{display:flex;align-items:center;justify-content:center;gap:.25rem;background:var(--surface-color);border:1px solid var(--border-color);border-radius:.375rem;padding:.25rem .5rem;color:var(--text-color);cursor:pointer;transition:all .15s ease-in-out;font-size:.875rem;max-height:50px}.user-profile .profile-trigger:hover{background:var(--hover-bg);border-color:var(--primary-color)}.user-profile .profile-trigger .profile-avatar{width:32px;height:32px;max-width:50px;max-height:50px;border-radius:50%;object-fit:cover}.user-profile .profile-trigger svg{width:16px;height:16px}.user-profile .profile-trigger span{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile .profile-dropdown{position:absolute;top:100%;right:0;background:var(--surface-color);border:1px solid var(--border-color);border-radius:.375rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);z-index:1000;min-width:200px;margin-top:.25rem}.user-profile .profile-dropdown .profile-info{padding:.5rem 1rem}.user-profile .profile-dropdown .profile-info .email{color:var(--text-color);font-weight:500;margin:0 0 .25rem;font-size:.875rem}.user-profile .profile-dropdown .profile-info .status{color:var(--text-muted);margin:0;font-size:.75rem}.user-profile .profile-dropdown hr{border:none;border-top:1px solid var(--border-color);margin:0}.user-profile .profile-dropdown .dropdown-item{display:flex;align-items:center;justify-content:center;justify-content:flex-start;gap:.25rem;width:100%;padding:.5rem 1rem;background:none;border:none;color:var(--text-color);cursor:pointer;font-size:.875rem;transition:all .15s ease-in-out}.user-profile .profile-dropdown .dropdown-item:hover{background:var(--hover-bg)}.user-profile .profile-dropdown .dropdown-item svg{width:16px;height:16px}.user-profile .profile-dropdown .profile-header{display:flex;align-items:center;justify-content:flex-start;gap:1rem;padding:1rem}.user-profile .profile-dropdown .profile-header .profile-avatar-large{width:64px;height:64px;border-radius:50%;overflow:hidden;border:2px solid var(--border-color)}.user-profile .profile-dropdown .profile-header .profile-avatar-large img{width:100%;height:100%;object-fit:cover}