html,body,#root{height:100%;margin:0}body{background:#f3f5f8;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,Roboto,sans-serif}.app-sider{position:sticky!important;top:0;height:100vh;overflow:auto}.app-logo{height:64px;display:flex;align-items:center;gap:10px;padding:0 20px;color:#fff;font-weight:600;font-size:16px}.app-logo small{display:block;font-size:11px;font-weight:400;color:#ffffff8c;line-height:1.2}.app-logo .mark{width:32px;height:32px;border-radius:8px;background:#1f6fd1;display:grid;place-items:center;font-size:16px}.app-header{background:#fff!important;padding:0 20px!important;height:56px!important;line-height:56px!important;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ebf0;position:sticky;top:0;z-index:20}.app-content{padding:20px 24px 160px;min-width:0}.muted{color:#8a94a6;font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;word-break:break-all}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.page-head h2{margin:0;font-size:20px;font-weight:600}.page-head .sub{margin-top:4px;color:#6b7280;font-size:13px}.mb16{margin-bottom:16px!important}.check-row{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border:1px solid #edf0f4;border-left-width:4px;border-radius:6px;margin-bottom:8px;background:#fff}.check-row.pass{border-left-color:#52c41a}.check-row.fail{border-left-color:#f5222d;background:#fff7f7}.check-row.wait{border-left-color:#bfbfbf;background:#fafafa}.check-icon{font-size:18px;line-height:22px}.check-row.pass .check-icon{color:#52c41a}.check-row.fail .check-icon{color:#f5222d}.check-row.wait .check-icon{color:#8c8c8c}.check-no{width:22px;height:22px;border-radius:11px;background:#f0f2f5;display:grid;place-items:center;font-size:12px;color:#555;flex:none}.check-body{flex:1;min-width:0}.check-title{font-weight:500;display:flex;align-items:center;gap:6px}.check-detail{color:#595959;font-size:13px;margin-top:2px}.check-hint{color:#d46b08;font-size:12px;margin-top:2px}.release-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.release-box{border:1px solid #e8ebf0;border-radius:8px;padding:14px 16px;background:#fff}.release-box .label{color:#8a94a6;font-size:12px}.release-box .value{font-size:16px;font-weight:600;margin:4px 0}.pipeline{display:flex;align-items:stretch;gap:8px}.pipeline .stage{flex:1;border-radius:8px;padding:12px;background:#f6f8fb;border:1px solid #e8ebf0;cursor:pointer}.pipeline .stage .n{font-size:24px;font-weight:600}.pipeline .stage .t{font-size:12px;color:#6b7280}.pipeline .arrow{display:grid;place-items:center;color:#bfbfbf}.guide-step{display:flex;gap:12px;padding:12px;border-radius:8px;border:1px solid #edf0f4;margin-bottom:10px}.guide-step.done{background:#f6ffed;border-color:#d9f7be}.guide-step.current{border-color:#1f6fd1;box-shadow:0 0 0 2px #1f6fd126}.guide-no{width:26px;height:26px;border-radius:13px;background:#1f6fd1;color:#fff;display:grid;place-items:center;font-size:13px;flex:none}.guide-step.done .guide-no{background:transparent;font-size:22px}.guide-title{font-weight:600}.guide-desc{color:#595959;font-size:13px;margin:4px 0 8px}.guide-foot{display:flex;justify-content:space-between;align-items:center}.demo-bar{position:fixed;right:20px;bottom:20px;width:400px;z-index:1000;background:#fff;border-radius:10px;box-shadow:0 8px 28px #0f284638;border:1px solid #d6e4f5;padding:12px 14px}.demo-bar-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#6b7280}.demo-bar-title{font-weight:600;margin:4px 0}.demo-bar-desc{font-size:13px;color:#595959;margin-bottom:10px}.demo-bar-foot{display:flex;justify-content:space-between}.trace-chain{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.trace-node{border-radius:8px;border:1px solid #e8ebf0;background:#fff;padding:12px;position:relative;min-height:150px}.trace-node h4{margin:0 0 8px;font-size:13px;color:#1f6fd1}.trace-node .line{font-size:12px;color:#444;margin-bottom:4px}.trace-node.warn{border-color:#ffccc7;background:#fff7f7}.kv-small .ant-descriptions-item-label{width:140px}.sec{margin-top:20px}.sec-title{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:600;margin-bottom:8px}.sec-title>span{display:flex;align-items:center;gap:6px}.step-card{border-color:#91caff!important;background:#f7fbff!important}.sub-title{font-weight:600;margin-bottom:8px;display:flex;align-items:center;gap:6px}.stat-card{cursor:pointer}.mt12{margin-top:12px}.row-muted td{color:#00000073;background:#fafafa}.row-click{cursor:pointer}.rv-body{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}.rv-side{position:sticky;top:0}@media(max-width:1000px){.rv-body{grid-template-columns:minmax(0,1fr)}.rv-side{position:static}}.rv-empty{padding:60px 0;border:1px dashed #d9d9d9;border-radius:8px;background:#fafafa}.rv-check{display:flex;gap:8px;align-items:flex-start;margin-bottom:6px}.rv-check .anticon{margin-top:4px}.scan-viewer{display:flex;gap:12px;align-items:flex-start}.scan-thumbs{width:112px;flex:none;max-height:calc(100vh - 150px);overflow-y:auto;position:sticky;top:0}.scan-thumb{padding:4px;margin-bottom:6px;border:2px solid transparent;border-radius:6px;cursor:pointer;text-align:center;font-size:12px}.scan-thumb.on{border-color:#1677ff;background:#e6f4ff}.scan-thumb img{width:100%;display:block;border:1px solid #e8e8e8;background:#fff}.scan-thumb-label{color:#00000073;font-size:11px;line-height:1.3}.scan-main{flex:1;min-width:0}.scan-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.scan-main .ant-image,.scan-img{width:100%}.scan-img{border:1px solid #e8e8e8;box-shadow:0 2px 8px #00000014;background:#fff}.sim-paper{position:relative;overflow:hidden;padding:28px 32px 20px;background:#fffef9;border:1px solid #e5e2d6;box-shadow:0 2px 10px #00000014;font-family:Songti SC,SimSun,serif;color:#222}.sim-paper:after{content:"演示数据 · 模拟扫描件";position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) rotate(-24deg);font-size:44px;font-weight:700;color:#1677ff12;white-space:nowrap;pointer-events:none}.sim-head{border:1px solid #555}.sim-org{text-align:center;letter-spacing:4px;padding:6px;border-bottom:1px solid #555}.sim-meta{display:grid;grid-template-columns:2fr 1.4fr 1fr;font-size:12px}.sim-meta span{padding:4px 8px;border-right:1px solid #555}.sim-meta span:last-child{border-right:0}.sim-title{text-align:center;font-size:22px;font-weight:700;margin:18px 0 14px}.sim-fields{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #555;border-left:1px solid #555;margin-bottom:14px}.sim-fields>div{display:flex;border-right:1px solid #555;border-bottom:1px solid #555;font-size:13px}.sim-fields span{width:84px;flex:none;padding:5px 8px;border-right:1px solid #555;background:#00000005}.sim-fields b{padding:5px 8px;font-weight:400;font-family:Kaiti SC,STKaiti,KaiTi,serif;font-size:15px;color:#1d39c4}.sim-paper .bad,.sim-paper .bad b,.sim-paper td.bad{color:#cf1322!important;background:#ff4d4f14;outline:1px dashed #ff4d4f}.sim-table{width:100%;border-collapse:collapse;font-size:13px}.sim-table th,.sim-table td{border:1px solid #555;padding:5px 8px;text-align:left}.sim-table th{background:#00000008;font-weight:600}.sim-table td:last-child{font-family:Kaiti SC,STKaiti,KaiTi,serif;color:#1d39c4}.sim-signs{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:16px;font-size:13px}.sim-signs i{font-family:Kaiti SC,STKaiti,KaiTi,serif;font-style:normal;font-size:17px;color:#1d39c4}.sim-raw{border:1px solid #555;padding:8px}.sim-curve{width:100%;height:auto;display:block}.sim-foot{text-align:center;font-size:12px;margin-top:16px;color:#666}
