:root,body{font-family:var(--font-base)}:root{--login-primary:var(--color-primary-main);--login-primary-dark:var(--color-primary-dark);--login-primary-light:var(--color-primary-light);--login-accent:var(--color-accent-main);--login-accent-light:var(--color-accent-light);--login-danger:var(--color-error-main);--login-gray-text:var(--color-text-secondary);--login-dark-text:var(--color-text-primary);--login-border:var(--color-border);--login-glass-bg:rgba(255,255,255,0.9);--login-glass-border:rgba(30,58,95,0.1);--login-shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--login-shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1)}body,html{height:100%;margin:0;padding:0}*{box-sizing:border-box}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--color-bg-default) 0,#e0f2fe 50%,var(--color-accent-lighter) 100%);background-size:400% 400%;animation:loginGradientShift 15s ease infinite}@keyframes loginGradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.login-bg-shape{position:absolute;border-radius:50%;opacity:.12;animation:loginFloat 20s ease-in-out infinite;pointer-events:none}.login-bg-shape--1{width:400px;height:400px;background:var(--login-primary);top:-200px;right:-200px}.login-bg-shape--2{width:300px;height:300px;background:var(--login-accent);bottom:-150px;left:-150px;animation-delay:5s}.login-bg-shape--3{width:200px;height:200px;background:var(--login-accent-light);top:50%;left:10%;animation-delay:10s}@keyframes loginFloat{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.login-wrapper{position:relative;z-index:10;width:100%;max-width:440px;animation:loginFadeInUp .8s ease-out}@keyframes loginFadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-box{background:var(--login-glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:3rem 2.5rem;border-radius:24px;border:1px solid var(--login-glass-border);box-shadow:var(--login-shadow-lg);position:relative;overflow:hidden}.login-box:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--login-primary) 0,var(--login-accent) 50%,var(--login-primary) 100%);background-size:200% 100%;animation:loginShimmer 3s ease-in-out infinite}@keyframes loginShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.login-logo{text-align:center;margin-bottom:2rem}.login-logo-badge{width:96px;height:96px;margin:0 auto 1.5rem;background:linear-gradient(135deg,var(--login-primary) 0,var(--login-accent) 100%);border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:var(--login-shadow-md);padding:14px}.login-logo__img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.login-box h3{text-align:center;margin-bottom:.4rem;font-size:1.75rem;font-weight:800;background:linear-gradient(135deg,var(--login-primary-dark) 0,var(--login-primary) 50%,var(--login-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-box p{color:var(--login-gray-text);margin-bottom:1.75rem;font-size:.9375rem}.login-alert,.login-box p{text-align:center;font-weight:500}.login-alert{background:#fff1f0;color:var(--login-danger);border:1px solid rgba(255,77,79,.2);border-radius:12px;padding:.875rem 1rem;margin-bottom:1.25rem;font-size:.875rem}.login-form,.login-form-group{display:flex;flex-direction:column}.login-form-group{margin-bottom:1.25rem;position:relative}.login-form-group label{font-weight:600;font-size:.875rem;color:var(--login-dark-text);margin-bottom:.625rem;padding-left:.25rem}.login-input-wrapper{position:relative;display:flex;align-items:center}.login-input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--login-gray-text);pointer-events:none;transition:color .3s ease}.login-form-group input{width:100%;border:2px solid var(--login-border);border-radius:12px;padding:.75rem 1rem .75rem 2.75rem;font-size:.9375rem;color:var(--login-dark-text);background:#ffffff;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box}.login-form-group input:focus{border-color:var(--login-accent);outline:none;box-shadow:0 0 0 4px rgba(20,184,166,.1)}.login-form-group input:not(:-moz-placeholder)~.login-input-icon{color:var(--login-accent)}.login-form-group input:focus~.login-input-icon,.login-form-group input:not(:placeholder-shown)~.login-input-icon{color:var(--login-accent)}.login-password-wrapper input{padding-right:2.75rem}.login-password-toggle{position:absolute;right:.875rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;border:none;background:transparent;color:var(--login-gray-text);cursor:pointer;padding:0;transition:color .2s ease}.login-password-toggle:hover{color:var(--login-accent)}.login-password-toggle:focus-visible{outline:2px solid var(--login-accent);outline-offset:2px;border-radius:4px}.login-btn-signin{width:100%;margin-top:.5rem;background:linear-gradient(135deg,var(--login-primary) 0,var(--login-primary-dark) 100%);color:#ffffff;border:none;border-radius:12px;padding:1rem;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--login-shadow-md);position:relative;overflow:hidden}.login-btn-signin:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.login-btn-signin:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--login-shadow-lg);background:linear-gradient(135deg,var(--login-primary-dark) 0,var(--login-primary) 100%)}.login-btn-signin:hover:not(:disabled):before{left:100%}.login-btn-signin:active:not(:disabled){transform:translateY(0)}.login-btn-signin:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-footer{margin-top:1.5rem;font-size:.85rem;color:var(--login-gray-text);text-align:center}@media (max-width:640px){.login-box{padding:2.5rem 2rem;border-radius:20px}.login-box h3{font-size:1.5rem}.login-logo-badge{width:80px;height:80px}}@media (max-width:480px){.login-box{padding:2rem 1.5rem}.login-box h3{font-size:1.3rem}}