.login-container{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.floating-shapes{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.shape{background:#ffffff1a;border-radius:50%;animation:6s ease-in-out infinite float;position:absolute}.shape-1{width:80px;height:80px;animation-delay:0s;top:10%;left:10%}.shape-2{width:60px;height:60px;animation-delay:2s;top:20%;right:10%}.shape-3{width:100px;height:100px;animation-delay:4s;bottom:20%;left:20%}.shape-4{width:70px;height:70px;animation-delay:1s;bottom:10%;right:20%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2;background:#ffffff1a;border:1px solid #fff3;border-radius:24px;width:100%;max-width:420px;padding:40px;animation:.8s ease-out slideUp;position:relative;box-shadow:0 25px 50px #00000026}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:32px}.logo-container{margin-bottom:24px;display:inline-block;position:relative}.logo-glow{filter:blur(12px);background:linear-gradient(45deg,#ffffff4d,#ffffff1a);border-radius:50%;animation:2s ease-in-out infinite pulse;position:absolute;inset:-8px}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.logo{z-index:2;filter:drop-shadow(0 4px 8px #0003);width:auto;height:60px;position:relative}.login-title{margin-bottom:8px;font-size:2.5rem;font-weight:700;line-height:1.2}.gradient-text{background:linear-gradient(135deg,#fff,#e0e7ff);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:block}.subtitle{background:linear-gradient(135deg,#cbd5e1,#f1f5f9);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.8rem}.version-badge{opacity:.85;letter-spacing:.05em;margin-top:8px;display:block;font-size:.7rem!important}.login-subtitle{color:#fffc;margin:0;font-size:.95rem;font-weight:400}.error-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#ef4444e6;border:1px solid #ef44444d;border-radius:12px;align-items:center;gap:8px;margin-bottom:24px;padding:12px 16px;font-size:.875rem;animation:.3s ease-out slideDown;display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-form,.form-group{margin-bottom:24px}.form-label{color:#ffffffe6;align-items:center;gap:8px;margin-bottom:8px;font-size:.9rem;font-weight:500;display:flex}.form-label i{color:#ffffffb3;font-size:.8rem}.input-wrapper{background:#ffffff1a;border:1px solid #fff3;border-radius:12px;align-items:center;transition:all .3s;display:flex;position:relative;overflow:hidden}.input-wrapper:focus-within{background:#ffffff26;border-color:#fff6;box-shadow:0 0 0 3px #ffffff1a}.input-wrapper input{color:#fff;text-overflow:ellipsis;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:16px 20px;font-size:1rem;font-weight:400;overflow:hidden}.input-wrapper input::placeholder{color:#ffffff80}.domain-suffix{color:#ffffffb3;-webkit-user-select:none;user-select:none;white-space:nowrap;flex-shrink:0;padding-left:4px;padding-right:16px;font-size:.9rem;font-weight:500}.password-toggle{color:#ffffffb3;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0 16px;font-size:.9rem;transition:all .2s;display:flex}.password-toggle:hover{color:#fff;transform:scale(1.1)}.password-toggle:active{transform:scale(.95)}.login-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;width:100%;padding:16px 24px;font-size:1rem;font-weight:600;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 15px #3b82f64d}.login-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1e40af);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.login-btn:active:not(:disabled){transform:translateY(0)}.login-btn:disabled{opacity:.7;cursor:not-allowed}.btn-text{transition:opacity .3s}.btn-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{text-align:center;border-top:1px solid #ffffff1a;margin-top:24px;padding-top:24px}.login-footer p{color:#fff9;margin:0;font-size:.8rem}.forgot-password{text-align:center;margin-top:16px}.forgot-password-link{color:#fffc;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .3s;display:inline-flex}.forgot-password-link:hover{color:#fff;background:#ffffff1a}.forgot-password-link i{font-size:.8rem}@media (max-width:640px){.login-container{align-items:flex-start;min-height:100dvh;padding:0}.login-card{border:none;border-radius:0;flex-direction:column;justify-content:center;width:100%;max-width:100%;min-height:100dvh;padding:40px 24px 32px;display:flex}.login-title{font-size:1.8rem}.subtitle{font-size:1.3rem}.version-badge{font-size:.65rem!important}.logo{height:50px}.input-wrapper input{padding:15px 16px;font-size:16px}.domain-suffix{padding-right:14px;font-size:.85rem}.login-header{margin-bottom:28px}.form-group{margin-bottom:20px}.login-btn{padding:17px 24px;font-size:1.05rem}.floating-shapes{display:none}}
