.login-container{min-height:100vh;background:linear-gradient(135deg,#7c4dff 0%,#536dfe 50%,#3f51b5 100%);display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Ccircle cx='30' cy='30' r='4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(180deg)}}.login-background{position:relative;z-index:1}.login-content{width:100%;max-width:420px}.login-card{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 20px 60px #00000026,0 8px 32px #0000001a,inset 0 1px #fffc;border-radius:20px;border:1px solid rgba(255,255,255,.2);padding:40px 35px;transform:translateY(0);transition:all .3s ease;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-card:hover{transform:translateY(-5px);box-shadow:0 25px 70px #0003,0 12px 40px #00000026,inset 0 1px #fffc}.login-header{text-align:center;margin-bottom:35px;position:relative}.login-header:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,#7c4dff,#536dfe);border-radius:2px}.login-title{margin-bottom:8px!important;color:#2c3e50;font-weight:700;font-size:26px!important;text-shadow:0 2px 4px rgba(0,0,0,.1);background:linear-gradient(135deg,#7c4dff,#536dfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{display:block;color:#666;font-size:14px;margin-bottom:15px;font-weight:400}.login-form{margin-top:30px}.login-input{border-radius:12px!important;border:2px solid #e8ecef!important;padding:12px 16px!important;font-size:16px!important;transition:all .3s ease!important;background:rgba(255,255,255,.8)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.login-input:hover{border-color:#7c4dff!important;box-shadow:0 4px 12px #7c4dff26!important}.login-input:focus,.login-input.ant-input-focused{border-color:#7c4dff!important;box-shadow:0 0 0 3px #7c4dff1a!important;background:rgba(255,255,255,.95)!important}.login-input .ant-input-prefix{color:#7c4dff!important;margin-right:12px!important}.login-button{border-radius:12px!important;height:50px!important;font-size:16px!important;font-weight:600!important;background:linear-gradient(135deg,#7c4dff 0%,#536dfe 100%)!important;border:none!important;margin-top:20px!important;box-shadow:0 8px 25px #7c4dff4d!important;transition:all .3s ease!important}.login-button:hover{transform:translateY(-2px)!important;box-shadow:0 12px 35px #7c4dff66!important;background:linear-gradient(135deg,#6a3de8 0%,#4a5fdc 100%)!important}.login-button:active{transform:translateY(0)!important;box-shadow:0 6px 20px #7c4dff4d!important}.login-footer{text-align:center;margin-top:25px;padding-top:20px;border-top:1px solid rgba(224,230,237,.6)}.login-tips{color:#95a5a6!important;font-size:14px;line-height:1.5}.ant-form-item{margin-bottom:20px!important}.ant-form-item-label{padding-bottom:8px!important}.ant-btn-loading .anticon{color:#fffc!important}@media (max-width: 480px){.login-container{padding:16px}.login-content{max-width:100%}.login-card{padding:30px 25px;border-radius:16px}.login-title{font-size:24px!important}.login-input{padding:10px 14px!important;font-size:14px!important}.login-button{height:45px!important;font-size:14px!important}}@media (prefers-color-scheme: dark){.login-card{background:rgba(45,55,72,.95);border:1px solid rgba(255,255,255,.1)}.login-title{color:#e2e8f0}.login-input{background:rgba(45,55,72,.8)!important;border-color:#4a5568!important;color:#e2e8f0!important}.login-tips{color:#a0aec0!important}}.login-form .ant-form-item{animation:fadeInUp .6s ease-out forwards;opacity:0}.login-form .ant-form-item:nth-child(1){animation-delay:.1s}.login-form .ant-form-item:nth-child(2){animation-delay:.2s}.login-form .ant-form-item:nth-child(3){animation-delay:.3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-input:focus-within{transform:translateY(-1px)}.anticon{transition:all .3s ease}.login-input:focus .anticon,.login-input:hover .anticon{transform:scale(1.1)}.logo{height:auto;margin:16px 8px;padding:8px;background:#fff;border-bottom:1px solid #f0f0f0;display:flex;align-items:center;gap:8px}.logo-image{height:32px;width:auto;object-fit:contain;flex-shrink:0}.logo-text{font-size:12px;font-weight:600;color:#1890ff;line-height:1.3;flex:1;word-break:break-all}.ant-layout-sider{background:#fff}.ant-menu-item-selected{background-color:#f0f5ff!important;border-right:3px solid #1890ff}.ant-menu-item:hover{background-color:#f0f5ff!important}.ant-layout-content{background:#f0f2f5;min-height:100vh}body{margin:0;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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{height:100%}
