html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}body{margin:0;background:#f5f6f8;color:#1f1f1f;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.login-page{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:24px 16px;background:radial-gradient(1100px 520px at 12% -10%,#e6eefa,#e6eefa00 60%),radial-gradient(900px 480px at 105% 110%,#e8f1ee,#e8f1ee00 55%),#f2f4f7}.login-shell{display:grid;grid-template-columns:268px minmax(0,1fr);width:min(720px,100%);overflow:hidden;background:#fff;border:1px solid #e3e7ee;border-radius:14px;box-shadow:0 18px 44px -20px #0f213a4d,0 2px 6px #0f213a0d}.login-aside{position:relative;display:flex;flex-direction:column;padding:30px 26px 22px;color:#eaf1fb;background:linear-gradient(163deg,#17335a,#12284a 52%,#0d1c34)}.login-aside:before{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background-image:repeating-linear-gradient(115deg,rgb(255 255 255 / 6%) 0 1px,transparent 1px 22px),repeating-linear-gradient(25deg,rgb(255 255 255 / 5%) 0 1px,transparent 1px 18px);pointer-events:none}.login-aside:after{position:absolute;top:-60px;left:-40px;width:220px;height:220px;content:"";background:radial-gradient(circle,rgb(245 196 81 / 22%) 0%,transparent 68%);pointer-events:none}.login-mark,.login-company,.login-system,.login-points,.login-aside-foot{position:relative}.login-mark{margin-bottom:16px}.login-company{font-size:19px;font-weight:600;letter-spacing:.06em}.login-system{margin-top:5px;font-size:12.5px;letter-spacing:.04em;color:#eaf1fba8}.login-points{margin:26px 0 0;padding:0;list-style:none}.login-points li{position:relative;margin-bottom:9px;padding-left:14px;font-size:12.5px;line-height:1.5;color:#eaf1fbbd}.login-points li:before{position:absolute;top:7px;left:0;width:4px;height:4px;content:"";background:#f5c451;border-radius:50%}.login-aside-foot{margin-top:auto;padding-top:24px;font-size:11.5px;color:#eaf1fb66}.login-pane{padding:32px 34px 20px}.login-pane-title{margin-bottom:18px;font-size:16px;font-weight:600;color:#1f2a3d}.login-field-icon{color:#a8b0be}.login-submit{margin-top:2px;font-weight:500}.login-alert{margin-bottom:16px}.login-footnote{margin-top:20px;font-size:12px;color:#9aa3b2;text-align:center}@media(max-width:640px){.login-shell{grid-template-columns:minmax(0,1fr)}.login-aside{flex-direction:row;align-items:center;gap:10px;padding:15px 20px}.login-mark{margin-bottom:0}.login-system{margin-top:1px}.login-points,.login-aside-foot{display:none}.login-pane{padding:24px 22px 18px}}.center-full{display:flex;min-height:100vh;align-items:center;justify-content:center}.center-block{padding:48px 0;text-align:center}.nowrap{white-space:nowrap}.app-shell{min-height:100vh;background:#f5f6f8}.app-header{position:sticky;top:0;z-index:10;display:flex;height:48px;line-height:48px;padding:0 16px;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #eaeaea}.app-brand{display:inline-flex;gap:8px;align-items:baseline}.app-brand-sub{font-size:12px}.app-user{display:inline-flex;align-items:center;gap:6px;font-size:13px}.app-role{margin-inline-end:0}.app-sider.ant-layout-sider:not(.ant-layout-sider-zero-width){position:sticky;top:48px;align-self:flex-start;height:calc(100vh - 48px);overflow-y:auto;border-right:1px solid #eaeaea}.app-sider .ant-menu{border-inline-end:none;font-size:13px}.app-content{padding:12px 16px 24px;overflow-x:auto}.node-picker{width:148px}.code-hint{min-height:18px;margin:-4px 0 8px;font-size:12px;color:#8c8c8c}.code-hint.free{color:#2f9e44}.code-hint.taken{color:#d03050}.page-bar{display:flex;margin-bottom:12px;align-items:center;justify-content:space-between;gap:12px}.page-title{font-size:15px}.detail-card{margin-bottom:12px}.card-note{margin:-4px 0 12px;font-size:12px}.log-line{font-size:13px}.log-time{font-size:12px}.log-diff{margin-top:2px;color:#444}.log-tag{margin-inline-end:0}.attach-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.attach-group{min-width:0}.attach-head{display:flex;margin-bottom:8px;align-items:center;gap:8px}.attach-count{font-size:12px}.attach-head .ant-upload-wrapper{margin-left:auto}.attach-empty{display:flex;height:60px;align-items:center;justify-content:center;border:1px dashed #e0e0e0;border-radius:4px;color:#bfbfbf;font-size:12px}.attach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px}.attach-cell{display:flex;padding:5px 6px;flex-direction:column;align-items:center;gap:2px;border:1px solid #eaeaea;border-radius:4px;background:#fff}.attach-cell .ant-image{width:92px;height:92px}.attach-cell .ant-image .attach-thumb{width:100%;height:100%;object-fit:cover;border-radius:3px;background:#fafafa}.attach-name{max-width:100%;font-size:12px}.attach-meta{display:flex;width:100%;align-items:center;justify-content:center;gap:6px;color:#8c8c8c;font-size:11px}.attach-meta .ant-btn{margin-left:auto;height:20px;padding:0 2px}.slot-note{margin:10px 0 0;font-size:12px}.dash-cards{margin-bottom:12px}.dash-cards .ant-statistic-title{font-size:12px}.dash-cards .ant-statistic-content{font-size:20px}.dash-suffix{margin-left:4px;font-size:12px}.dash-dealer{width:168px}.dash-hint{font-size:12px}.dash-page>.ant-row+.ant-row{margin-top:12px}.dash-page .ant-table{font-size:13px}.dash-matrix .ant-table-thead>tr>th{padding:3px 2px;font-size:11px;font-weight:400;line-height:1.3;text-align:center;white-space:nowrap}.dash-matrix .ant-table-thead>tr>th em{display:block;font-size:10px;font-style:normal;color:#00000073}.dash-matrix .ant-table-thead>tr>th:first-child,.dash-matrix .ant-table-tbody>tr>td:first-child,.dash-matrix .ant-table-summary>tr>td:first-child{text-align:left}.dash-matrix .ant-table-tbody>tr>td{padding:2px}.dash-matrix-cell{display:block;border-radius:3px;padding:2px 0;font-size:12px;font-variant-numeric:tabular-nums}.dash-matrix-weekend{color:#d46b08}.dash-matrix-total{font-weight:600;font-variant-numeric:tabular-nums}.dash-matrix .ant-table-summary>tr>td{padding:3px 2px;font-size:12px;font-weight:600;background:#fafafa}.sync-alert{margin-bottom:12px}.sync-meta{font-size:12px}.sync-pace{margin-top:12px}.sync-pace .ant-form-item{margin-bottom:10px}.sync-pace .ant-form-item-extra{font-size:12px}.sync-pace .ant-picker,.sync-pace .ant-input-number{width:100%}.sync-page .ant-table{font-size:13px}.run-detail{font-size:12px}.run-detail .ant-typography{margin-bottom:4px}.run-detail-samples ul{margin:2px 0 0;padding-left:18px;list-style:disc}.sync-notice{display:flex;margin-bottom:12px;padding:6px 10px;border-radius:6px;align-items:center;gap:12px;font-size:13px}.sync-notice-dead{background:#fff2f0;border:1px solid #ffccc7}.sync-notice-warn{background:#fffbe6;border:1px solid #ffe58f}
