.login-modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-modal-container.compact{position:relative;background:#fff;border-radius:1rem;padding:2rem;width:100%;max-width:440px;min-height:480px;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.login-modal-close{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:.5rem;color:#9ca3af;cursor:pointer;transition:all .2s}.login-modal-close:hover{background:#f3f4f6;color:#111827}.login-modal-close svg{width:1.25rem;height:1.25rem}.login-modal-header{text-align:center;margin-bottom:1.25rem;flex-shrink:0}.login-modal-title{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 .375rem}.login-modal-subtitle{font-size:.875rem;color:#6b7280;margin:0}.login-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.75rem 1rem;background:#fff;border:1.5px solid #E5E7EB;border-radius:.5rem;font-size:.9rem;font-weight:600;color:#111827;cursor:pointer;transition:all .2s;flex-shrink:0}.login-google-btn:hover{background:#f9fafb;border-color:#d1d5db}.google-icon{width:1.125rem;height:1.125rem}.login-divider{display:flex;align-items:center;text-align:center;margin:1rem 0;color:#9ca3af;font-size:.8rem;flex-shrink:0}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid #E5E7EB}.login-divider span{padding:0 .875rem}.login-error-toast{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#fef2f2;border:1px solid #FCA5A5;border-radius:.5rem;color:#991b1b;font-size:.8rem;margin-bottom:.75rem;flex-shrink:0}.login-error-toast svg{width:1rem;height:1rem;flex-shrink:0}.login-modal-form{display:flex;flex-direction:column;gap:.875rem;flex:1}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.85rem;font-weight:600;color:#111827}.form-group input{width:100%;padding:.625rem .875rem;font-size:.9rem;border:1.5px solid #E5E7EB;border-radius:.5rem;background:#f9fafb;color:#111827;transition:all .2s}.form-group input:focus{outline:none;background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group input::placeholder{color:#9ca3af;font-size:.85rem}.verification-row{display:flex;gap:.5rem}.verification-row input{flex:1}.send-code-btn{padding:.625rem 1rem;background:#000;color:#fff;border:none;border-radius:.5rem;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;min-width:72px;transition:all .2s}.send-code-btn:hover:not(:disabled){background:#1f2937}.send-code-btn:disabled{background:#9ca3af;cursor:not-allowed}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:2.5rem}.password-toggle{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;font-size:1.125rem;padding:.125rem;line-height:1;opacity:.6}.password-toggle:hover{opacity:1}.form-actions{display:flex;justify-content:flex-end;margin-top:-.375rem}.forgot-password-link{font-size:.8rem;color:#3b82f6;background:none;border:none;cursor:pointer;padding:0;transition:color .2s}.forgot-password-link:hover{color:#2563eb;text-decoration:underline}.form-checkbox{display:flex;align-items:flex-start;gap:.5rem}.form-checkbox input[type=checkbox]{width:1rem;height:1rem;margin-top:.125rem;flex-shrink:0;cursor:pointer}.form-checkbox label{font-size:.8rem;color:#4b5563;line-height:1.4}.form-checkbox a{color:#3b82f6;text-decoration:none;font-weight:600}.form-checkbox a:hover{text-decoration:underline}.login-submit-btn{width:100%;padding:.75rem 1rem;background:#000;color:#fff;font-size:.9rem;font-weight:600;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s;margin-top:auto}.login-submit-btn:hover:not(:disabled){background:#1f2937}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-switch{text-align:center;margin-top:1rem;padding-top:.75rem;font-size:.85rem;color:#6b7280;flex-shrink:0}.login-switch-btn{background:none;border:none;color:#3b82f6;font-weight:600;cursor:pointer;padding:0;margin-left:.25rem;transition:color .2s}.login-switch-btn:hover{color:#2563eb;text-decoration:underline}@media(min-height:700px){.login-modal-container.compact{min-height:520px;padding:2.25rem}.login-modal-form{gap:1rem}.form-group{gap:.5rem}.form-group input{padding:.75rem 1rem}.login-modal-title{font-size:1.625rem}.login-modal-header{margin-bottom:1.5rem}.login-divider{margin:1.25rem 0}.login-switch{margin-top:1.25rem}}@media(min-height:800px){.login-modal-container.compact{min-height:580px;padding:2.5rem}.login-modal-form{gap:1.125rem}}@media(max-width:480px){.login-modal-overlay{padding:.75rem}.login-modal-container.compact{padding:1.5rem 1.25rem;border-radius:.875rem;min-height:auto;max-height:calc(100vh - 1.5rem)}.login-modal-title{font-size:1.375rem}.login-modal-subtitle{font-size:.8rem}.login-modal-form{gap:.75rem}.form-group input{padding:.5rem .75rem;font-size:.875rem}.login-google-btn{padding:.625rem .875rem;font-size:.85rem}.login-divider{margin:.75rem 0}.login-switch{margin-top:.875rem}}@media(max-width:360px){.login-modal-container.compact{padding:1.25rem 1rem}.login-modal-title{font-size:1.25rem}.form-group label{font-size:.8rem}.form-group input{padding:.5rem .625rem;font-size:.8rem}.send-code-btn{padding:.5rem .75rem;font-size:.8rem;min-width:60px}.form-checkbox label{font-size:.75rem}}@media(max-height:600px){.login-modal-container.compact{min-height:auto;padding:1.25rem 1.5rem}.login-modal-header{margin-bottom:.875rem}.login-modal-title{font-size:1.25rem}.login-modal-form{gap:.625rem}.form-group{gap:.25rem}.form-group input{padding:.5rem .75rem}.login-divider{margin:.625rem 0}.login-google-btn{padding:.5rem .875rem}.login-submit-btn{padding:.625rem 1rem;margin-top:.5rem}.login-switch{margin-top:.75rem}}
