.login-container{color:#1e293b;background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 30%,#e0ecf8 55%,#c7d9f0 80%,#dbeafe 100%) 0 0/400% 400%;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1.5rem;animation:20s infinite loginBgShift;display:flex;position:relative;overflow:hidden}@keyframes loginBgShift{0%,to{background-position:0%}50%{background-position:100%}}.login-container:before,.login-container:after{content:"";filter:blur(90px);opacity:.3;pointer-events:none;z-index:0;border-radius:50%;position:absolute}.login-container:before{background:radial-gradient(circle,#93c5fd,#3b82f6);width:380px;height:380px;animation:15s ease-in-out infinite loginOrb1;top:-100px;left:-80px}.login-container:after{background:radial-gradient(circle,#a5b4fc,#818cf8);width:300px;height:300px;animation:18s ease-in-out infinite loginOrb2;bottom:-60px;right:-50px}@keyframes loginOrb1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(30px,20px)scale(1.06)}}@keyframes loginOrb2{0%,to{transform:translate(0)scale(1)}50%{transform:translate(-20px,-30px)scale(1.08)}}.login-card{-webkit-backdrop-filter:blur(20px);z-index:1;background:#fff9;border:1px solid #93c5fd66;border-radius:20px;flex-direction:column;gap:1.75rem;width:100%;max-width:420px;padding:2.75rem 2.5rem;animation:.6s cubic-bezier(.34,1.56,.64,1) both cardEnter;display:flex;position:relative;box-shadow:0 8px 40px #2563eb14,0 2px 12px #2563eb0a}@keyframes cardEnter{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-header{text-align:center;flex-direction:column;align-items:center;display:flex}.login-logo{object-fit:contain;filter:drop-shadow(0 4px 20px #2563eb38);border-radius:50%;margin-bottom:1.25rem;transition:transform .4s,filter .4s}.login-logo:hover{filter:drop-shadow(0 6px 28px #2563eb61);transform:scale(1.06)}.login-title{letter-spacing:-.025em;background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 60%,#3b82f6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:1.85rem;font-weight:800}.login-subtitle{color:#64748b;margin:0;font-size:.9rem;font-weight:400;line-height:1.5}.login-form{flex-direction:column;gap:1.1rem;display:flex}.form-field{flex-direction:column;gap:.4rem;display:flex}.form-label{color:#334155;letter-spacing:.01em;font-size:.85rem;font-weight:600}.form-input{color:#1e293b;box-sizing:border-box;background:#ffffffa6;border:1.5px solid #94a3b859;border-radius:10px;outline:none;width:100%;padding:.7rem .95rem;font-family:inherit;font-size:.9375rem;transition:border-color .2s,box-shadow .2s,background .2s}.form-input::placeholder{color:#94a3b8}.form-input:focus{background:#ffffffd9;border-color:#60a5fa;box-shadow:0 0 0 3.5px #60a5fa2e}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#3b82f6,#60a5fa) 0 0/200% 200%;border:none;border-radius:12px;width:100%;margin-top:.5rem;padding:.8rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:transform .2s,box-shadow .2s,background-position .4s;position:relative;overflow:hidden;box-shadow:0 4px 16px #2563eb38}.login-button:after{content:"";pointer-events:none;background:linear-gradient(120deg,#0000 0%,#fff3 50%,#0000 100%);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.login-button:hover:not(:disabled):after{left:100%}.login-button:hover:not(:disabled){background-position:100% 0;transform:translateY(-2px);box-shadow:0 8px 28px #2563eb4d}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #2563eb2e}.login-button:disabled{opacity:.55;cursor:not-allowed}.login-error{color:#dc2626;text-align:center;-webkit-backdrop-filter:blur(6px);background:#fef2f2d9;border:1px solid #fecaca;border-radius:10px;padding:.75rem 1rem;font-size:.8125rem;line-height:1.4}.login-message{color:#166534;text-align:center;-webkit-backdrop-filter:blur(6px);background:#f0fdf4d9;border:1px solid #bbf7d0;border-radius:10px;padding:.75rem 1rem;font-size:.8125rem;line-height:1.4}.forgot-password-button{color:#2563eb;cursor:pointer;font:inherit;background:0 0;border:0;align-self:center;padding:.25rem .5rem;font-size:.85rem;font-weight:700}.forgot-password-button:hover:not(:disabled){color:#1d4ed8;text-decoration:underline}.forgot-password-button:disabled{opacity:.55;cursor:not-allowed}.login-loading{justify-content:center;align-items:center;gap:.5rem;display:inline-flex}.spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-switch-container{border-top:1px solid #94a3b826;justify-content:center;align-items:center;gap:.35rem;margin-top:.75rem;padding-top:1rem;font-size:.85rem;display:flex}.auth-switch-text{color:#64748b}.auth-switch-button{color:#2563eb;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:.85rem;font-weight:700}.auth-switch-button:hover{color:#1d4ed8;text-decoration:underline}.password-input-container{width:100%;position:relative}.password-input-container .form-input{padding-right:2.75rem}.password-toggle-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;transition:color .2s,background-color .2s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.password-toggle-btn:hover{color:#1e293b;background-color:#0000000d}
