.rich-html{word-break:break-word;line-height:1.7}.rich-html img{max-width:100%;height:auto}.rich-html p{margin:0 0 8px}.rich-html:last-child>*:last-child{margin-bottom:0}:root{--brand: #2f9e7e;--brand-deep: #1f7d63}html,body,#root{margin:0;padding:0}#root{min-height:100vh}.login-page{display:flex;min-height:100vh;background:#f3f6f8}.login-brand{flex:1.05;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,#34a98a,#1f7d63 48%,#146b7a);background-size:180% 180%;animation:brandGradient 18s ease infinite}.login-brand:before,.login-brand:after{content:"";position:absolute;border-radius:50%;background:#ffffff14;will-change:transform}.login-brand:before{width:460px;height:460px;top:-140px;right:-120px;animation:orbFloatA 16s ease-in-out infinite}.login-brand:after{width:320px;height:320px;bottom:-110px;left:-80px;background:#ffffff0f;animation:orbFloatB 20s ease-in-out infinite}.login-brand-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.login-brand-particles i{position:absolute;border-radius:50%;background:#fff6;will-change:transform;animation:particleBob ease-in-out infinite}.login-brand-particles i:nth-child(1){left:14%;top:22%;width:10px;height:10px;animation-duration:9s}.login-brand-particles i:nth-child(2){left:68%;top:30%;width:6px;height:6px;opacity:.7;animation-duration:11s;animation-delay:-2s}.login-brand-particles i:nth-child(3){left:30%;top:68%;width:8px;height:8px;opacity:.85;animation-duration:13s;animation-delay:-4s}.login-brand-particles i:nth-child(4){left:80%;top:62%;width:5px;height:5px;opacity:.6;animation-duration:10s;animation-delay:-1s}.login-brand-particles i:nth-child(5){left:50%;top:12%;width:7px;height:7px;opacity:.75;animation-duration:12s;animation-delay:-6s}.login-brand-particles i:nth-child(6){left:88%;top:18%;width:4px;height:4px;opacity:.55;animation-duration:8s;animation-delay:-3s}@keyframes brandGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes orbFloatA{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-26px,30px) scale(1.08)}}@keyframes orbFloatB{0%,to{transform:translate(0) scale(1)}50%{transform:translate(28px,-24px) scale(1.12)}}@keyframes particleBob{0%,to{transform:translate(0)}50%{transform:translate(12px,-28px)}}.login-brand-inner{position:relative;z-index:1;max-width:380px;padding:0 48px;animation:brandRise .8s ease both}@keyframes brandRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.login-brand-mark{width:60px;height:60px;border-radius:18px;background:#ffffff2e;border:1px solid rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;margin-bottom:26px}.login-brand-title{font-size:34px;font-weight:700;letter-spacing:3px;margin:0 0 12px;color:#fff}.login-brand-slogan{font-size:16px;opacity:.9;margin:0 0 34px}.login-brand-features{list-style:none;padding:0;margin:0}.login-brand-features li{position:relative;padding-left:22px;margin-bottom:16px;font-size:14px;opacity:.94}.login-brand-features li:before{content:"";position:absolute;left:0;top:7px;width:8px;height:8px;border-radius:50%;background:#ffffffd9}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:380px;padding:44px 40px 28px;background:#fff;border-radius:16px;box-shadow:0 14px 44px #14285014}.login-card .ant-pro-form-login-page{background:transparent;min-height:auto}.login-card .ant-pro-form-login-page-container{width:100%;min-width:0;max-width:100%;padding:0}@media (max-width: 768px){.login-brand{display:none}}@media (prefers-reduced-motion: reduce){.login-brand,.login-brand:before,.login-brand:after,.login-brand-particles i,.login-brand-inner{animation:none}}.app-logo-badge{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#34a98a,#1f7d63);color:#fff;font-weight:700;font-size:17px}.ant-pro-layout .ant-layout-header{box-shadow:0 1px #0000000a}.ant-pro-layout .ant-pro-card,.ant-pro-layout .ant-card{box-shadow:0 1px 2px #14285008,0 4px 16px #1428500a}.ant-pro-page-container{padding-top:4px}.task-row-abnormal>td{background:#fff1f0}.task-row-abnormal:hover>td{background:#ffe7e3!important}
