*{box-sizing:border-box}body{margin:0;background:#f3f6f8;color:#18334b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.shell header{height:64px;background:#fff;border-bottom:1px solid #dce4e9;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.shell header strong{font-size:21px}.shell header span:last-child{color:#597184}.shell aside{position:absolute;top:64px;bottom:0;width:198px;background:#13334d;color:#fff;padding:18px 0}.shell aside h3,.shell aside>a{margin:15px 20px;display:block;color:#e1ecf5}.shell aside .ant-menu{background:transparent;color:#d5e4eb}.shell aside .ant-menu-item-selected{background:#205780;color:#fff}.shell main{margin-left:198px;padding:30px;max-width:1740px}.shell main>h1{margin:0 0 20px}.shell .ant-card{margin-bottom:20px}.hero{background:linear-gradient(90deg,#133248ef,#153c5750),url(/%E6%B8%AF%E5%8C%BA.jpg) center 59%/cover;padding:48px;color:#fff;border-radius:9px}.hero h1{font-size:37px;margin:14px 0}.hero p{font-size:18px;margin:12px 0 38px}.accent{width:35px;height:3px;background:#69cfbf}.cards,.metrics{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.cards button{display:flex;gap:16px;align-items:center;text-align:left;background:#fff;border:1px solid #d6e1e8;border-radius:8px;padding:20px;cursor:pointer;color:#18344c}.cards button>span{font-size:25px;color:#14756f}.cards strong{font-size:16px}.cards p{color:#65808c;margin:8px 0}.loading{padding:48px}.loginShell{min-height:100dvh;display:grid;grid-template-columns:minmax(270px,1.15fr) 1fr;background:#fff}.loginCover{display:flex;align-items:flex-end;padding:8vh 5vw;color:#fff;background:linear-gradient(0deg,#102d49ed 5%,#103a5730),url(/%E6%B8%AF%E5%8C%BA.jpg) 58% center/cover}.loginCover h1{font-size:clamp(25px,3vw,48px);margin:18px 0 0}.loginCover p{font-size:20px;color:#dceaf4}.loginBox{align-self:center;width:min(370px,85%);justify-self:center}.loginBox h2{font-size:29px;margin:8px 0 30px}.loginBox small{color:#4a6b7a}.challenge{display:flex;gap:12px;margin:8px 0 24px}.challenge button{white-space:nowrap;min-width:126px;border:1px solid #bfd4d9;background:#edf6f5;border-radius:6px;color:#175c63;font-size:20px;cursor:pointer}.loginBox .ant-alert{margin-bottom:14px}
