.login-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);display:none;justify-content:center;align-items:center;z-index:9999;backdrop-filter:blur(5px);animation:fadeIn .3s ease-out}.login-modal-overlay.active{display:flex}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.login-modal-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);width:90%;max-width:450px;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{from{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.login-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.login-modal-header h2{margin:0;font-size:24px;font-weight:600;color:#1f2937}.login-modal-close{background:0 0;border:none;font-size:28px;color:#6b7280;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.login-modal-close:hover{background-color:#f3f4f6;color:#374151}.login-modal-body{padding:0 24px 24px}.login-modal-tabs{display:flex;margin-bottom:24px;background-color:#f9fafb;border-radius:8px;padding:4px}.login-modal-tab{flex:1;background:0 0;border:none;padding:12px 16px;font-size:14px;font-weight:500;color:#6b7280;cursor:pointer;border-radius:6px;transition:all .2s ease}.login-modal-tab.active{background-color:#fff;color:#1f2937;box-shadow:0 1px 3px rgba(0,0,0,.1)}.login-modal-tab:hover:not(.active){color:#374151}.login-modal-form{display:none}.login-modal-form.active{display:block}.login-modal-field{margin-bottom:20px}.login-modal-field label{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:#374151}.login-modal-field input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:8px;font-size:16px;color:#1f2937;background-color:#fff;transition:all .2s ease;box-sizing:border-box}.login-modal-field input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.login-modal-field input.error{border-color:#ef4444}.login-modal-error{display:block;color:#ef4444;font-size:12px;margin-top:4px;min-height:16px}.login-modal-submit{width:100%;background:linear-gradient(135deg,#10b981,#059669);align-content color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;margin-bottom:16px}.login-modal-submit:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px rgba(59,130,246,.3)}.login-modal-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-modal-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.login-modal-message{padding:12px 16px;border-radius:6px;font-size:14px;text-align:center;margin-top:16px;display:none}.login-modal-message.success{background-color:#dcfce7;color:#166534;border:1px solid #bbf7d0;display:block}.login-modal-message.error{background-color:#fef2f2;color:#dc2626;border:1px solid #fecaca;display:block}.login-modal-trigger{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.login-modal-trigger:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px rgba(39,161,53,.3)}@media (max-width:768px){.login-modal-container{width:95%;margin:20px;max-height:calc(100vh - 40px)}.login-modal-header{padding:20px 20px 0;margin-bottom:20px}.login-modal-header h2{font-size:20px}.login-modal-body{padding:0 20px 20px}.login-modal-field input{font-size:16px}}@media (max-width:480px){.login-modal-container{width:100%;height:100%;border-radius:0;max-height:100vh}.login-modal-header{padding:16px 16px 0;margin-bottom:16px}.login-modal-body{padding:0 16px 16px}.login-modal-tabs{margin-bottom:20px}.login-modal-field{margin-bottom:16px}}.login-modal-field input:invalid:not(:focus):not(:placeholder-shown){border-color:#fbbf24}.login-modal-submit:active{transform:translateY(0)}.login-modal-submit.loading .login-modal-submit-text{opacity:0}.login-modal-submit.loading .login-modal-loading{display:block}.login-modal-overlay:focus-within{outline:none}.login-modal-field input:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.login-modal-tab:focus-visible,.login-modal-close:focus-visible,.login-modal-submit:focus-visible,.login-modal-trigger:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.login-modal-forgot-link{text-align:center;margin-top:15px;margin-bottom:10px}.login-modal-forgot-link a{color:#3b82f6;text-decoration:none;font-size:14px;font-weight:500;transition:color .2s ease}.login-modal-forgot-link a:hover{color:#1d4ed8;text-decoration:underline}.login-modal-back-link{text-align:center;margin-top:15px;margin-bottom:10px}.login-modal-back-link a{color:#6b7280;text-decoration:none;font-size:14px;transition:color .2s ease}.login-modal-back-link a:hover{color:#374151;text-decoration:underline}.login-modal-help{display:block;color:#6b7280;font-size:12px;margin-top:5px;line-height:1.4}.login-modal-tabs.three-tabs .login-modal-tab{flex:1;font-size:13px;padding:10px 12px}.login-modal-form{opacity:0;transform:translateY(10px);transition:all .3s ease;pointer-events:none}.login-modal-form.active{opacity:1;transform:translateY(0);pointer-events:auto}.password-wrapper{position:relative !important;display:block !important}.password-wrapper input{padding-right:45px !important}.toggle-password{position:absolute !important;right:12px !important;top:50% !important;transform:translateY(-50%) !important;height:36px !important;width:36px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;z-index:10 !important}@media (max-width:768px){.login-modal-tabs.three-tabs .login-modal-tab{font-size:12px;padding:8px 10px}.login-modal-forgot-link,.login-modal-back-link{margin-top:12px;margin-bottom:8px}.toggle-password{right:8px !important;height:32px !important;width:32px !important}.password-wrapper input{padding-right:42px !important}}@media (max-width:480px){.login-modal-tabs.three-tabs .login-modal-tab{font-size:11px;padding:8px 6px}.login-modal-help{font-size:11px}}