.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:1rem;width:100%;max-width:480px;position:relative;animation:modalFadeIn .3s ease-out}.modal-content .modal-close{position:absolute;right:10px;top:10px;cursor:pointer;z-index:999}.modal-header{padding:1.5rem;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:space-between}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600}.modal-close{background:none;border:none;padding:.5rem;cursor:pointer;color:#666;display:flex;align-items:center;justify-content:center;border-radius:.5rem;transition:all .2s}.modal-close:hover{background:#f5f5f5;color:#000}.modal-body{padding:1.5rem}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-modal .auth-form-container{padding:0;box-shadow:none;background:none}.auth-modal .auth-form-container h1{font-size:1.5rem;margin-bottom:2rem;text-align:left;margin-top:0}.auth-link-btn{background:none;border:none;padding:0;color:var(--primary);font-weight:500;cursor:pointer;text-decoration:none}.auth-link-btn:hover{text-decoration:underline}.auth-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:2rem;background:var(--gradient-light)}.auth-container{width:100%;max-width:480px;padding:2.5rem;background:#fff;border-radius:1rem;box-shadow:0 4px 6px rgba(0,0,0,.1)}.auth-logo{text-align:center;margin-bottom:2rem}.auth-logo img{height:32px;width:auto}.auth-form-container h1{font-size:2rem;font-weight:700;text-align:center;margin-bottom:.5rem}.auth-form-container .auth-subtitle{text-align:center;color:#666;margin-bottom:2rem}.auth-form-container .auth-error{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:.5rem;margin-bottom:1rem;text-align:center}.google-auth-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem;border:1px solid #ddd;border-radius:.5rem;background:#fff;font-weight:500;cursor:pointer;transition:background-color .2s}.google-auth-btn:hover:not(:disabled){background:#f5f5f5}.google-auth-btn:disabled{opacity:.7;cursor:not-allowed}.google-auth-btn img{width:24px;height:24px}.auth-divider{position:relative;text-align:center;margin:1.5rem 0}.auth-divider:before{content:"";position:absolute;left:0;top:50%;width:100%;height:1px;background:#ddd}.auth-divider span{position:relative;background:#fff;padding:0 1rem;color:#666}.auth-form .form-group{margin-bottom:1.25rem}.auth-form .form-group label{display:block;margin-bottom:.5rem;font-weight:500}.auth-form .form-group input:not([type=checkbox]){width:100%;padding:.75rem;border:1px solid #ddd;border-radius:.5rem;font-size:1rem}.auth-form .form-group input:not([type=checkbox]):focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1)}.auth-form .form-group input:not([type=checkbox]):disabled{background:#f5f5f5;cursor:not-allowed}.auth-form .form-group.checkbox{display:flex;align-items:center;gap:.5rem}.auth-form .form-group.checkbox label{margin:0;font-weight:400}.auth-form .form-group.checkbox input[type=checkbox]:disabled{cursor:not-allowed}.auth-form .form-group.checkbox a{color:#6366f1;text-decoration:none}.auth-form .form-group.checkbox a:hover{text-decoration:underline}.auth-form .form-footer{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem}.auth-form .form-footer .forgot-password{color:var(--primary);text-decoration:none;font-size:.875rem;font-weight:500}.auth-form .form-footer .forgot-password:hover{text-decoration:underline}.auth-submit-btn{width:100%;padding:.75rem;color:#fff;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s}.auth-submit-btn,.auth-submit-btn:hover:not(:disabled){background:var(--gradient)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;margin-top:1.5rem;color:#666}.auth-footer a{color:var(--primary);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}