.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0a0e17,#141a2c 50%,#0a0e17);position:relative;overflow:hidden;padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.4),transparent);z-index:1}.login-background{background:radial-gradient(circle at 15% 85%,rgba(59,130,246,.15) 0,transparent 45%),radial-gradient(circle at 85% 15%,rgba(14,165,233,.1) 0,transparent 45%),linear-gradient(45deg,rgba(15,23,42,.8),transparent 50%,rgba(30,41,59,.8))}.floating-shapes,.login-background{position:absolute;inset:0;z-index:0}.floating-shapes{overflow:hidden}.shape{position:absolute;background:linear-gradient(135deg,rgba(59,130,246,.15),rgba(14,165,233,.1));filter:blur(40px);animation:float 20s ease-in-out infinite}.shape-1{width:300px;height:300px;top:-100px;right:-50px;border-radius:30% 70% 70% 30%/30% 30% 70% 70%}.shape-2{width:250px;height:250px;bottom:-80px;left:-30px;border-radius:60% 40% 30% 70%/60% 30% 70% 40%;animation-delay:-10s}.shape-3{width:180px;height:180px;top:50%;left:10%;animation-delay:-5s;border-radius:50% 50% 50% 70%/50% 50% 70% 60%}@keyframes float{0%,to{transform:translate(0) rotate(0deg)}33%{transform:translate(30px,-50px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.login-card{background:linear-gradient(145deg,rgba(30,41,59,.92),rgba(15,23,42,.95));border-radius:24px;padding:48px 40px;width:100%;max-width:440px;position:relative;z-index:1;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 25px 50px -12px rgba(0,0,0,.5),0 0 0 1px rgba(59,130,246,.15),inset 0 1px 0 hsla(0,0%,100%,.08),0 20px 40px rgba(0,0,0,.4);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:slideUp .6s cubic-bezier(.4,0,.2,1);box-sizing:border-box;transition:transform .3s ease,box-shadow .3s ease}.login-card:hover{transform:translateY(-2px);box-shadow:0 30px 60px -12px rgba(0,0,0,.6),0 0 0 1px rgba(59,130,246,.2),inset 0 1px 0 hsla(0,0%,100%,.1)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{text-align:center;margin-bottom:40px}.logo-login{width:90px;height:90px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;position:relative;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#0ea5e9);box-shadow:0 10px 25px rgba(59,130,246,.4),0 0 0 1px hsla(0,0%,100%,.1),inset 0 1px 0 hsla(0,0%,100%,.2);overflow:hidden;transition:all .3s ease;padding:15px}.logo-login:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,hsla(0,0%,100%,.15),transparent);border-radius:50%;transform:translateX(-100%)}.logo-login:hover:before{animation:shimmer 1s ease}.logo-login:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 15px 35px rgba(59,130,246,.5),0 0 0 2px hsla(0,0%,100%,.15),inset 0 1px 0 hsla(0,0%,100%,.3)}@keyframes shimmer{to{transform:translateX(100%)}}.logo-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3)) brightness(1.2) contrast(1.1);transition:all .3s ease;position:relative;z-index:1;padding:8px}.logo-login:hover .logo-image{transform:scale(1.05);filter:drop-shadow(0 4px 12px rgba(0,0,0,.4)) brightness(1.3) contrast(1.2)}.logo-login.small-logo .logo-image{padding:12px}.logo-login.large-logo .logo-image{padding:5px;object-fit:cover}.logo-login.border-only{background:transparent;border:2.5px solid #3b82f6;padding:12px}.logo-login.border-only .logo-image{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3)) brightness(1.1)}.logo-login.white-bg{background:#fff;padding:10px}.logo-login.white-bg .logo-image{filter:drop-shadow(0 2px 8px rgba(0,0,0,.3)) brightness(1)}.login-title{font-size:2rem;font-weight:800;background:linear-gradient(90deg,#60a5fa,#22d3ee,#60a5fa);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;animation:gradient 3s ease infinite}@keyframes gradient{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.login-subtitle{color:#94a3b8;font-size:.9375rem;font-weight:400;letter-spacing:.5px}.login-form{display:flex;flex-direction:column;gap:24px;width:100%;box-sizing:border-box}.form-group,.input-wrapper{position:relative;width:100%;box-sizing:border-box}.input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#60a5fa;z-index:1;transition:color .2s ease}.login-input{width:100%;box-sizing:border-box;padding:16px 52px;background:rgba(15,23,42,.5);border:1.5px solid hsla(0,0%,100%,.1);border-radius:12px;color:#f1f5f9;font-size:.9375rem;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none;display:block;font-family:inherit}.login-input::placeholder{color:#64748b;transition:color .2s ease}.login-input:hover{border-color:rgba(59,130,246,.4);background:rgba(15,23,42,.7)}.login-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px rgba(59,130,246,.15),0 0 30px rgba(59,130,246,.2);background:rgba(15,23,42,.9);transform:translateY(-1px)}.login-input:focus+.input-icon{color:#3b82f6}.login-input:focus::placeholder{color:#94a3b8}.password-toggle{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);color:#94a3b8;cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:2;width:36px;height:36px}.password-toggle:hover{color:#60a5fa;background:hsla(0,0%,100%,.1);border-color:rgba(59,130,246,.3);transform:translateY(-50%) scale(1.05)}.password-input{padding-right:60px}.login-button{width:100%;box-sizing:border-box;padding:17px;background:linear-gradient(90deg,#3b82f6,#0ea5e9);border:none;border-radius:12px;color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px;position:relative;overflow:hidden;font-family:inherit;letter-spacing:.5px}.login-button:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#2563eb,#0284c7);opacity:0;transition:opacity .3s ease}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 25px rgba(59,130,246,.4),0 5px 15px rgba(0,0,0,.2)}.login-button:hover:not(:disabled):before{opacity:1}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 15px rgba(59,130,246,.3),0 2px 5px rgba(0,0,0,.2)}.login-button:disabled{opacity:.6;cursor:not-allowed;background:linear-gradient(90deg,#475569,#64748b);transform:none}.button-icon{position:relative;z-index:1;transition:transform .3s ease}.login-button:hover:not(:disabled) .button-icon{transform:translateX(4px)}.loading-spinner,.login-button span{position:relative;z-index:1}.loading-spinner{width:20px;height:20px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-message{background:linear-gradient(135deg,rgba(239,68,68,.1),rgba(239,68,68,.05));border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:16px;border-radius:12px;font-size:.875rem;display:flex;align-items:center;gap:10px;animation:slideIn .3s ease;box-sizing:border-box;width:100%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-footer{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid hsla(0,0%,100%,.08);box-sizing:border-box;width:100%}.forgot-link{color:#60a5fa;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .3s ease;position:relative;padding:4px 8px;border-radius:6px}.forgot-link:after{content:"";position:absolute;bottom:-2px;left:8px;right:8px;height:1px;background:currentColor;transform:scaleX(0);transition:transform .3s ease;transform-origin:left}.forgot-link:hover{color:#38bdf8;background:rgba(59,130,246,.1)}.forgot-link:hover:after{transform:scaleX(1)}@media (max-width:640px){.login-container{padding:12px;background:linear-gradient(135deg,#0a0e17,#141a2c)}.login-card{padding:32px 24px;border-radius:20px;margin:0;border-width:1px;box-shadow:0 20px 40px rgba(0,0,0,.4),0 0 0 1px rgba(59,130,246,.1)}.logo-login{width:80px;height:80px;padding:12px}.logo-image{padding:6px}.login-title{font-size:1.625rem}.login-subtitle{font-size:.875rem}.login-input{padding:14px 48px;font-size:.9375rem}.login-button{padding:16px;font-size:.9375rem}.shape-1,.shape-2,.shape-3{filter:blur(30px);opacity:.8}}@media (max-width:380px){.login-card{padding:24px 20px;border-radius:18px}.login-title{font-size:1.5rem}.logo-login{width:70px;height:70px;padding:10px}.logo-image{padding:5px}.login-input{padding:12px 44px}.password-toggle{width:32px;height:32px;padding:6px}}@media (min-height:900px){.login-container{padding:40px 20px}}@media (prefers-color-scheme:dark){.login-card{background:linear-gradient(145deg,rgba(30,41,59,.95),rgba(15,23,42,.98))}}.login-form>*{animation:fadeInUp .6s ease backwards}.login-form>:first-child{animation-delay:.1s}.login-form>:nth-child(2){animation-delay:.2s}.login-form>:nth-child(3){animation-delay:.3s}.login-form>:nth-child(4){animation-delay:.4s}.login-footer{animation-delay:.5s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-container *{box-sizing:border-box}.logo-image{width:150%!important;height:150%!important;object-fit:contain!important;max-width:150%!important;max-height:150%!important;display:block!important}.logo-login{padding:10px!important}.error-message.error-disabled{background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);color:#f87171;padding:14px;border-radius:10px;display:flex;align-items:center;gap:12px;margin-bottom:20px;animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}.error-message.error-disabled svg{color:#f87171;flex-shrink:0}.error-message.error-disabled span{font-size:.875rem;line-height:1.4}