*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{color:#22323d;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f3f6f8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#0b2a402e;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#0b2a4052}::-webkit-scrollbar-track{background:0 0}.login-root{background:#fff;height:100%;display:flex;position:relative;overflow:hidden}.login-brand{color:#fff;background:radial-gradient(120% 120% at 15% 0,#0e74908c 0%,#0b2a4000 55%),linear-gradient(160deg,#0b2a40 0%,#0c3449 55%,#0e7490 130%);flex:0 0 46%;justify-content:center;align-items:center;max-width:560px;padding:48px;display:flex;position:relative;overflow:hidden}.login-brand-inner{z-index:2;max-width:360px;position:relative}.login-mark{color:#7dd3fc;background:#ffffff1f;border:1px solid #ffffff38;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:24px;font-size:26px;display:flex}.login-title{letter-spacing:1px;margin:0 0 12px;font-size:34px;font-weight:700;line-height:1.25}.login-subtitle{color:#e2f1f8d1;letter-spacing:2px;margin:0 0 28px;font-size:15px}.login-desc{color:#e2f1f88c;margin:0;font-size:13px;line-height:1.9}.login-wave{pointer-events:none;opacity:.35;height:180px;position:absolute;bottom:0;left:0;right:0}.login-wave svg{width:100%;height:100%;display:block}.login-form-panel{background:#fff;flex:1;justify-content:center;align-items:center;padding:32px 24px;display:flex}.login-card{width:min(400px,92vw)}.login-card .login-heading{text-align:center;margin-bottom:28px}.login-card .login-heading h2{color:#22323d;margin:0 0 6px;font-size:22px;font-weight:600}.login-card .login-heading p{color:#8a98a5;margin:0;font-size:13px}.login-captcha{gap:8px;display:flex}.login-captcha img{cursor:pointer;background:#f7fafc;border:1px solid #d7dfe6;border-radius:6px;width:112px;height:40px}.app-sider .brand{color:#fff;border-bottom:1px solid #ffffff14;align-items:center;gap:10px;height:56px;padding:0 16px;display:flex;overflow:hidden}.app-sider .brand .brand-mark{color:#fff;background:linear-gradient(135deg,#0e7490,#38bdf8);border-radius:8px;flex:0 0 30px;justify-content:center;align-items:center;height:30px;font-size:15px;font-weight:700;display:flex}.app-sider .brand .brand-text{white-space:nowrap;letter-spacing:.5px;font-size:15px;font-weight:600}.app-sider .ant-menu{background:0 0;padding-top:8px}.app-sider .ant-menu-item{margin-bottom:2px}.app-header{z-index:10;justify-content:flex-end;align-items:center;display:flex;position:relative;box-shadow:0 1px #0b2a400f}.app-header .user-chip{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:4px 10px;transition:background .15s;display:flex}.app-header .user-chip:hover{background:#f0f4f7}.app-header .user-chip .avatar{color:#fff;background:linear-gradient(135deg,#0e7490,#38bdf8);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;display:flex}.portal-card{text-align:center;cursor:pointer;height:168px;transition:transform .18s,box-shadow .18s}.portal-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #0b2a401f}.portal-card .portal-icon{color:#fff;background:linear-gradient(135deg,#0e7490,#38bdf8);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin:4px auto 12px;font-size:26px;display:flex}@media (width<=768px){.login-brand{display:none}.ant-drawer-content-wrapper,.ant-drawer-content{max-width:100vw;width:100%!important}.ant-modal{max-width:calc(100vw - 24px)!important;margin:12px auto!important}.ant-card-body{padding:12px!important}}
