html,body,#root{margin:0;padding:0;width:100%;height:100%;overflow:hidden}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.ag-cell:not(.ag-cell-focus){border-right:none!important}.ag-react-container{flex:1!important;width:100%!important;height:100%!important;display:flex!important}.ag-body::-webkit-scrollbar{width:10px}.ag-body::-webkit-scrollbar-thumb{border-radius:10px;background:#ccc}.ag-body::-webkit-scrollbar-track{border-radius:10px;background:#eee}.ag-body-horizontal-scroll,.ag-body-horizontal-scroll-viewport,.ag-body-horizontal-scroll-container{height:10px!important;min-height:10px!important;max-height:10px!important}::-webkit-scrollbar-thumb{background:#2196f3!important}.login-container{position:relative;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.background-animation{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:1}.floating-shapes{position:relative;width:100%;height:100%}.shape{position:absolute;background:#ffffff1a;border-radius:50%;animation:float 6s ease-in-out infinite}.shape-1{width:80px;height:80px;top:20%;left:10%;animation-delay:0s}.shape-2{width:120px;height:120px;top:60%;left:80%;animation-delay:1s}.shape-3{width:60px;height:60px;top:80%;left:20%;animation-delay:2s}.shape-4{width:100px;height:100px;top:10%;left:70%;animation-delay:3s}.shape-5{width:140px;height:140px;top:40%;left:5%;animation-delay:4s}.shape-6{width:90px;height:90px;top:70%;left:60%;animation-delay:5s}@keyframes float{0%,to{transform:translateY(0) rotate(0);opacity:.7}50%{transform:translateY(-20px) rotate(180deg);opacity:1}}.login-card{position:relative;z-index:2;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:40px;width:400px;box-shadow:0 20px 40px #0000001a;border:1px solid rgba(255,255,255,.2);animation:slideUp .8s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:30px}.logo-container{margin-bottom:20px}.logo-icon{width:60px;height:60px;margin:0 auto;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;display:flex;align-items:center;justify-content:center;color:#fff;animation:pulse 2s ease-in-out infinite}.logo-icon svg{width:30px;height:30px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.login-title{font-size:28px;font-weight:700;color:#2c3e50;margin:0 0 8px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:16px;color:#7f8c8d;margin:0}.login-form{width:100%}.login-form .ant-form-item{margin-bottom:20px}.input-wrapper{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:15px;z-index:3;color:#bdc3c7;font-size:16px;transition:color .3s ease}.custom-input{width:100%;height:50px;padding:0 50px 0 45px;border:2px solid #ecf0f1;border-radius:12px;font-size:16px;background:#f8f9fa;transition:all .3s ease}.custom-input:focus{border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.custom-input:focus+.input-icon,.input-wrapper:hover .input-icon{color:#667eea}.password-toggle{position:absolute;right:15px;z-index:3;color:#bdc3c7;cursor:pointer;font-size:16px;transition:color .3s ease}.password-toggle:hover{color:#667eea}.form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px!important}.remember-checkbox{color:#7f8c8d}.remember-checkbox .ant-checkbox-checked .ant-checkbox-inner{background-color:#667eea;border-color:#667eea}.login-button{width:100%;height:50px;border:none;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:16px;font-weight:600;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #667eea4d}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.button-text{position:relative;z-index:2}.loading-spinner{position:absolute;right:15px;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:480px){.login-card{width:90%;padding:30px 20px;margin:20px}.login-title{font-size:24px}.custom-input,.login-button{height:45px;font-size:14px}}.login-form .ant-form-item-explain-error{color:#e74c3c;font-size:12px;margin-top:5px}.login-form .ant-form-item-has-error .custom-input{border-color:#e74c3c}.login-form .ant-form-item-has-error .input-icon{color:#e74c3c}.ant-message{z-index:9999}
