.login-container{background:linear-gradient(135deg, var(--gradient-start) 0%, var(--gradient-end) 100%);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);width:200%;height:200%;animation:4s ease-in-out infinite pulse;position:absolute;top:-50%;left:-50%}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.login-card{z-index:1;background:#fff;border-radius:20px;width:100%;max-width:450px;padding:32px 24px;animation:.6s ease-out slideUp;position:relative;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:32px}.login-logo{border-radius:16px;margin-bottom:18px}.login-title{color:var(--text);background:linear-gradient(135deg, var(--primary), var(--gradient-end));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:1.6rem;font-weight:700}.login-subtitle{color:var(--text-secondary);font-size:.9rem}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text);font-size:.9rem;font-weight:600}.form-group input{border:2px solid var(--border);-webkit-appearance:none;border-radius:12px;min-height:52px;padding:16px;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #1ca8a81a}.login-button{background:linear-gradient(135deg, var(--primary), var(--gradient-end));color:#fff;cursor:pointer;border:none;border-radius:12px;min-height:52px;margin-top:8px;padding:16px;font-size:1.05rem;font-weight:600;transition:all .3s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #1ca8a866}.login-button:active:not(:disabled){transform:scale(.98)}.login-button:disabled{opacity:.8;cursor:not-allowed}.button-loading{justify-content:center;align-items:center;gap:10px;display:flex}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:#dc2626;background:#fee2e2;border-left:4px solid #dc2626;border-radius:10px;padding:14px 16px;font-size:.875rem;animation:.3s ease-out slideIn}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.login-footer{text-align:center;color:var(--text-secondary);margin-top:28px;font-size:.875rem}.login-footer p{margin-bottom:8px}.login-footer .footer-secondary{opacity:.8;margin-bottom:0;font-size:.8rem}.login-footer a{color:var(--primary);font-weight:600;text-decoration:none;transition:color .3s}.login-footer a:hover{color:var(--primary-dark)}@media (min-width:640px){.login-card{padding:40px 36px}.login-title{font-size:1.85rem}.login-header{margin-bottom:36px}.form-group input:focus{transform:translateY(-2px)}}@media (min-width:768px){.login-container{padding:20px}.login-card{padding:50px 40px}.login-title{font-size:2rem}.login-header{margin-bottom:40px}.login-form{gap:24px}}
