html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}.ant-layout-sider{box-shadow:2px 0 8px #1d23290d}.ant-layout-header{box-shadow:0 1px 4px #00152914}.ant-table-thead>tr>th{background-color:#fafafa;font-weight:600}.ant-card{box-shadow:0 1px 2px #00000008,0 1px 6px -1px #00000005,0 2px 4px #00000005}@media (max-width: 768px){.ant-layout-sider{position:fixed;height:100vh;z-index:999}.ant-layout-content{margin-left:0!important}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" width="100" height="100" patternUnits="userSpaceOnUse"><circle cx="50" cy="50" r="1" fill="rgba(255,255,255,0.1)"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>');opacity:.3;animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-20px) rotate(1deg)}66%{transform:translateY(20px) rotate(-1deg)}}.login-background{position:relative;z-index:1;width:100%;max-width:1200px;padding:20px}.login-content{display:flex;justify-content:center;align-items:center}.login-card{width:100%;max-width:420px;border-radius:16px;box-shadow:0 20px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.login-card:hover{transform:translateY(-5px);box-shadow:0 25px 50px #00000026}.login-header{text-align:center;padding:20px 0}.logo-container{display:flex;flex-direction:column;align-items:center;gap:16px}.logo-icon{font-size:48px;color:#1890ff;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.logo-text{margin:0!important;color:#1890ff;font-weight:700;text-shadow:0 2px 4px rgba(24,144,255,.2)}.login-subtitle{font-size:16px;color:#8c8c8c;margin:0}.login-form{padding:0 20px}.login-input{height:48px;border-radius:8px;border:2px solid #f0f0f0;transition:all .3s ease;font-size:16px}.login-input:hover{border-color:#d9d9d9}.login-input:focus,.login-input-focused{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.input-icon{color:#bfbfbf;font-size:18px}.login-button{height:48px;border-radius:8px;font-size:16px;font-weight:600;background:linear-gradient(135deg,#1890ff,#096dd9);border:none;transition:all .3s ease;box-shadow:0 4px 12px #1890ff4d}.login-button:hover{background:linear-gradient(135deg,#40a9ff,#1890ff);transform:translateY(-2px);box-shadow:0 6px 16px #1890ff66}.login-button:active{transform:translateY(0)}.login-footer{text-align:center;padding:20px 0;border-top:1px solid #f0f0f0;margin-top:20px}.footer-text{font-size:14px;color:#8c8c8c}@media (max-width: 768px){.login-card{max-width:100%;margin:0 20px}.login-form{padding:0 16px}.logo-icon{font-size:36px}.logo-text{font-size:24px!important}}@media (max-width: 480px){.login-background{padding:10px}.login-card{margin:0 10px}.login-form{padding:0 12px}}.ant-spin-dot-item{background-color:#1890ff}.ant-form-item-has-error .login-input{border-color:#ff4d4f}.ant-form-item-has-error .login-input:focus,.ant-form-item-has-error .login-input-focused{border-color:#ff4d4f;box-shadow:0 0 0 2px #ff4d4f33}.ant-form-item-has-success .login-input{border-color:#52c41a}.ant-form-item-has-success .login-input:focus,.ant-form-item-has-success .login-input-focused{border-color:#52c41a;box-shadow:0 0 0 2px #52c41a33}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100vh}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.ant-message{z-index:1010!important;position:fixed!important}.ant-message-notice,.ant-message-notice-content{z-index:1010!important}
