:root{--navy: #1c3d6e;--link: #1677ff;--link-h: #4096ff;--ink: #1a1a1a;--ink-2: #595959;--ink-3: #8c8c8c;--ink-4: #bfbfbf;--app-bg: #f0f2f5;--card: #fff;--subtle: #fafafa;--sec: #ebedf0;--line: #f0f0f0;--line-2: #d9d9d9;--ok-bg: #f6ffed;--ok: #237804;--ok-bd: #b7eb8f;--ok-dot: #389e0d;--warn-bg: #fff7e6;--warn: #874d00;--warn-bd: #ffd591;--bad-bg: #fff1f0;--bad: #a8071a;--bad-bd: #ffccc7;--info-bg: #e6f4ff;--info: #0050b3;--info-bd: #91caff;--gb-bg: #f0f5ff;--gb: #1d39c4;--gb-bd: #adc6ff;--pu-bg: #f9f0ff;--pu: #531dab;--pu-bd: #d3adf7;--sl-bg: #f2f4f8;--sl: #3f4a5f;--sl-bd: #c9d1de;--cy-bg: #e6fffb;--cy: #006d75;--cy-bd: #87e8de;--shadow: 0 1px 4px rgba(0, 0, 0, .06);--num: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--app-bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-size:13px;line-height:1.65;-webkit-font-smoothing:antialiased}.num{font-family:var(--num);font-variant-numeric:tabular-nums;letter-spacing:-.2px}.dim{color:var(--ink-3)}.pre{white-space:pre-wrap;word-break:break-word}.nowrap{white-space:nowrap}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:10;height:48px;display:flex;align-items:center;gap:12px;padding:0 24px;background:var(--navy);color:#fff;box-shadow:0 2px 8px #0c244440}.logo{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;letter-spacing:.3px;white-space:nowrap;cursor:pointer;color:#fff}.logo i{width:24px;height:24px;border-radius:6px;background:#fff;color:var(--navy);font-style:normal;font-weight:800;display:grid;place-items:center;font-size:13px}.logo small{font-weight:400;color:#fff9;font-size:12px;margin-left:2px}.topbar .sp{flex:1}.org{font-size:12px;padding:2px 10px;border-radius:12px;background:#ffffff1a;border:.5px solid rgba(255,255,255,.2);color:#ffffffd9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.me{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 3px;border-radius:16px;cursor:pointer;color:#fff}.me:hover{background:#ffffff1a}.av{width:28px;height:28px;border-radius:50%;background:var(--ok-dot);display:grid;place-items:center;font-weight:600;font-size:13px;color:#fff;flex-shrink:0}.me .nm{line-height:1.25;font-size:13px}.me .nm small{display:block;color:#ffffff80;font-size:11px}.me .caret{opacity:.6;font-size:10px}.main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:16px 24px 24px}.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:10px 24px;color:var(--ink-3);font-size:12px;border-top:1px solid #e4e7ec;background:#f7f8fa}.card{background:var(--card);border-radius:8px;box-shadow:var(--shadow)}.card+.card{margin-top:12px}.card-h{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line)}.card-h h3{font-size:14px;font-weight:600;margin:0}.card-h .sub{color:var(--ink-3);font-size:12px}.card-h .sp{flex:1}.card-b{padding:16px}.sh{display:flex;align-items:center;gap:8px;background:var(--sec);border-radius:4px;padding:6px 12px;font-weight:600;font-size:13px;margin-bottom:12px}.sh .sub{font-weight:400;color:var(--ink-3);font-size:12px}.crumb{display:flex;align-items:center;gap:6px;color:var(--ink-3);font-size:12px;margin-bottom:12px}.crumb a{color:var(--ink-2)}.crumb a:hover{color:var(--link)}.pill{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:4px;font-size:12px;border:1px solid;white-space:nowrap;line-height:1}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.85}.pill.flat:before{display:none}.pill+.pill{margin-left:6px}.t-rep{background:var(--sl-bg);color:var(--sl);border-color:var(--sl-bd)}.t-acc{background:var(--info-bg);color:var(--info);border-color:var(--info-bd)}.t-rev{background:var(--gb-bg);color:var(--gb);border-color:var(--gb-bd)}.t-fin{background:var(--pu-bg);color:var(--pu);border-color:var(--pu-bd)}.t-pay{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-bd)}.t-ok{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-bd)}.t-rej{background:#f5f5f5;color:#595959;border-color:#d9d9d9}.t-issue{background:var(--bad-bg);color:var(--bad);border-color:var(--bad-bd)}.t-phys{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-bd)}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:12px}.stat{position:relative;background:#fff;border-radius:8px;box-shadow:var(--shadow);padding:12px 16px;cursor:pointer;border:1px solid transparent;text-align:left;font:inherit;color:inherit}.stat:hover{border-color:var(--info-bd)}.stat.on{border-color:var(--link);box-shadow:0 0 0 2px #1677ff1f}.stat .k{color:var(--ink-2);font-size:12px;display:flex;align-items:center;gap:6px}.stat .k:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--c, #8c8c8c)}.stat .v{font-size:24px;font-weight:600;line-height:1.3;margin-top:2px}.stat .v small{font-size:12px;font-weight:400;color:var(--ink-3);margin-left:4px}.stat .hint{position:absolute;right:12px;top:12px;font-size:11px;color:var(--bad)}.filters .ant-form-item{margin-bottom:0}.filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px 16px;align-items:center}.filters .span2{grid-column:span 2}.filters .ant-form-item-label>label{color:var(--ink-2)}.fact{display:flex;gap:8px;justify-content:flex-end}.tbl .ant-table-thead>tr>th{background:var(--subtle);color:var(--ink-2);font-weight:500}.tbl .ant-table-tbody>tr{cursor:pointer}.tbl .ant-table-tbody>tr:hover>td{background:#f5f9ff!important}.tbl .cno{color:var(--link);font-weight:500}.upd b{font-weight:500}.mstats{display:flex;gap:8px;overflow-x:auto;margin-bottom:10px;scrollbar-width:none}.mstats button{flex-shrink:0;padding:4px 12px;border-radius:14px;background:#fff;font:inherit;font-size:12.5px;color:var(--ink-2);box-shadow:0 1px 3px #0000000d;border:none;cursor:pointer}.mstats button.on{background:var(--link);color:#fff}.msearch{display:flex;gap:8px;margin-bottom:10px}.mc{background:#fff;border-radius:10px;padding:12px 14px;box-shadow:0 1px 3px #0000000f;margin-bottom:10px;cursor:pointer}.mc .r1{display:flex;align-items:center;gap:8px}.mc .r1 b{font-weight:600;color:var(--link)}.mc .r1 .sp{flex:1}.mc .r2{margin-top:6px}.mc .r3{margin-top:4px;color:var(--ink-3);font-size:12px;display:flex;justify-content:space-between;gap:8px}.mc .r3 span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hd{padding:16px 20px 0}.hd-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hd-top .cn{font-size:20px;font-weight:600;letter-spacing:.2px}.hd-top .sp{flex:1}.hd-top .upd{color:var(--ink-3);font-size:12px}.hd-sub{color:var(--ink-2);margin-top:2px}.hd-sub b{color:var(--ink);font-weight:500}.steps{display:flex;margin:18px 0 6px;padding:0 8px}.st{flex:1;position:relative;text-align:center;font-size:12px;color:var(--ink-3);min-width:0}.st:before{content:"";position:absolute;top:11px;left:calc(-50% + 16px);right:calc(50% + 16px);height:2px;background:#e4e7ec}.st:first-child:before{display:none}.st .dot{width:24px;height:24px;border-radius:50%;margin:0 auto 4px;display:grid;place-items:center;font-size:12px;font-weight:600;border:2px solid var(--line-2);background:#fff;color:var(--ink-4);position:relative;z-index:1}.st .lb{color:var(--ink-2)}.st .dt{font-size:11.5px;color:var(--ink-3);min-height:18px}.st.done .dot{background:var(--ok-dot);border-color:var(--ok-dot);color:#fff}.st.done:before,.st.current:before,.st.rejected:before{background:var(--ok-dot)}.st.current .dot{background:var(--link);border-color:var(--link);color:#fff;box-shadow:0 0 0 4px #1677ff26}.st.current .lb{color:var(--link);font-weight:600}.st.rejected .dot{background:var(--ink-3);border-color:var(--ink-3);color:#fff}.st.rejected .lb{color:var(--ink);font-weight:600}.st.skipped .lb{color:var(--ink-4);text-decoration:line-through}.st.skipped:before{background:#e4e7ec}.kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 24px;padding:14px 4px 16px;border-top:1px dashed var(--line);margin-top:10px}.kv>div{min-width:0}.kv .k,.grid .k{color:var(--ink-3);font-size:12px}.kv .v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dtabs .ant-tabs-nav{margin:0;padding:0 20px}.dtabs .ant-tabs-nav:before{border-color:var(--line)}.ct{font-size:11.5px;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:#f0f0f0;color:var(--ink-2);display:inline-grid;place-items:center;line-height:1}.ant-tabs-tab-active .ct{background:var(--info-bg);color:var(--link)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 32px;padding:0 12px 18px}.grid .full{grid-column:1 / -1}.para{background:var(--subtle);border:1px solid var(--line);border-radius:6px;padding:10px 12px;white-space:pre-wrap;word-break:break-word;line-height:1.8;margin-top:4px}.day{display:grid;grid-template-columns:92px 1fr;gap:0 16px}.day+.day{margin-top:6px}.day .dl{padding-top:6px;text-align:right}.day .dl b{display:block;font-size:14px;font-weight:600}.day .dl small{color:var(--ink-3);font-size:12px}.tl{border-left:2px solid #e4e7ec;padding:4px 0 10px 18px}.ev{position:relative;margin-bottom:10px}.ev:before{content:"";position:absolute;left:-25px;top:12px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--link)}.ev.ms:before{border-color:var(--ink-4);background:var(--ink-4);width:8px;height:8px;left:-24px;top:9px}.ev.ms.key:before{border-color:var(--ok-dot);background:var(--ok-dot)}.rc{border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:#fff}.rc-h{display:flex;align-items:center;gap:8px;color:var(--ink-3);font-size:12px;flex-wrap:wrap}.rc-h .t{color:var(--ink-2)}.rc-h .sp{flex:1}.rc-t{font-weight:600;margin:3px 0 2px}.rc-c{color:var(--ink-2);white-space:pre-wrap;word-break:break-word}.msr{display:flex;align-items:baseline;gap:10px;padding:5px 0;color:var(--ink-2)}.msr .t{color:var(--ink-3);font-size:12px;width:38px;flex-shrink:0}.msr .tag{font-size:11.5px;color:var(--ink-3);background:#f5f5f5;border-radius:3px;padding:0 6px;flex-shrink:0}.msr b{font-weight:500;color:var(--ink)}.cat{font-size:11.5px;padding:0 6px;border-radius:3px;border:1px solid}.c-ins{background:var(--info-bg);color:var(--info);border-color:var(--info-bd)}.c-med{background:var(--cy-bg);color:var(--cy);border-color:var(--cy-bd)}.c-co{background:var(--pu-bg);color:var(--pu);border-color:var(--pu-bd)}.fbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.fbar .sp{flex:1}.fgrp+.fgrp{margin-top:16px}.files{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:0 4px}.fl{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:#fff;min-width:0}.fl:hover{border-color:var(--info-bd);background:#fbfdff}.ic{width:34px;height:40px;border-radius:4px;display:grid;place-items:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0;text-transform:uppercase}.ic.pdf{background:#e5484d}.ic.img{background:#3b82f6}.ic.doc{background:#2b5797}.ic.other{background:#8c8c8c}.fl .nm{flex:1;min-width:0}.fl .nm div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fl .nm small{color:var(--ink-3);font-size:12px}.fl .op{display:flex;gap:12px;flex-shrink:0}.sign{display:inline-block;font-size:11px;padding:0 5px;border-radius:3px;background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-bd);margin-left:6px;vertical-align:1px}.tip{color:var(--ink-3);font-size:12px;margin-top:14px}.rv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rvc{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.rvc-h{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--subtle);border-bottom:1px solid var(--line);font-weight:600}.rvc-h .sp{flex:1}.rvc-b{padding:14px;flex:1}.big{font-size:18px;font-weight:600;margin-bottom:6px}.big.ok{color:var(--ok)}.big.bad{color:var(--bad)}.big.ing{color:var(--link)}.big.na{color:var(--ink-4);font-weight:500;font-size:15px}.rvc .row{display:flex;gap:10px;padding:3px 0}.rvc .row .k{color:var(--ink-3);width:72px;flex-shrink:0}.rvc .note{margin-top:8px;background:var(--subtle);border-radius:6px;padding:8px 10px;color:var(--ink-2);white-space:pre-wrap;word-break:break-word}.rvc.cur{border-color:var(--info-bd);box-shadow:0 0 0 2px #1677ff14}.rvc.cur .rvc-h{background:var(--info-bg);color:var(--info)}.rvc.off{background:#fcfcfc}.rvc.off .rvc-h{color:var(--ink-3)}.ph{color:var(--ink-3);font-size:12.5px}.empty{text-align:center;padding:64px 16px 72px;color:var(--ink-3)}.empty .ill{width:96px;height:72px;margin:0 auto 14px;border-radius:10px;background:linear-gradient(180deg,#f5f7fa,#eceff3);position:relative}.empty .ill:before{content:"";position:absolute;left:18px;right:18px;top:16px;height:8px;border-radius:4px;background:#dfe3e8;box-shadow:0 16px #e6e9ed,0 32px #e6e9ed}.empty h4{color:var(--ink);font-size:15px;font-weight:500;margin:0 0 4px}.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;background:#fff}.login-l{background:linear-gradient(160deg,#1c3d6e,#16325a 60%,#102641);color:#fff;padding:48px 56px;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-l:after{content:"";position:absolute;right:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;border:56px solid rgba(255,255,255,.04);pointer-events:none}.login-l .logo{font-size:16px;cursor:default}.login-l .logo i{width:30px;height:30px;font-size:16px}.login-l h1{font-size:28px;font-weight:600;margin:72px 0 10px;letter-spacing:1px}.login-l .lead{color:#ffffffb3;font-size:14px;margin:0}.feat{margin-top:36px;display:grid;gap:18px;position:relative;z-index:1}.feat>div{display:flex;gap:12px;align-items:flex-start}.feat b{width:32px;height:32px;border-radius:8px;background:#ffffff1a;display:grid;place-items:center;font-size:15px;flex-shrink:0}.feat span{font-size:14px;line-height:1.5}.feat small{display:block;color:#ffffff8c;font-size:12px}.login-l .bot{margin-top:auto;padding-top:32px;color:#ffffff73;font-size:12px}.login-r{display:flex;align-items:center;justify-content:center;padding:40px 24px}.lgc{width:340px;max-width:100%}.lgc h2{font-size:22px;font-weight:600;margin:0}.lgc .sub{color:var(--ink-3);margin:4px 0 24px}.lgc .help{margin-top:18px;color:var(--ink-3);font-size:12px;line-height:1.8;border-top:1px solid var(--line);padding-top:14px}.pw{max-width:460px;margin:24px auto}.rules{list-style:none;margin:-8px 0 16px;padding:0;display:grid;gap:2px;font-size:12.5px}.rules li{display:flex;gap:6px;color:var(--ink-3)}.rules li:before{content:"○";width:12px;text-align:center}.rules li.ok{color:var(--ok)}.rules li.ok:before{content:"✓";font-weight:700}@media (max-width: 900px){.login{grid-template-columns:1fr;min-height:auto}.login-l{padding:20px 24px}.login-l h1{margin:16px 0 4px;font-size:22px}.login-l .feat,.login-l .bot,.login-l:after{display:none}.login-r{padding:32px 20px 48px}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.rv{grid-template-columns:1fr}.kv,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 600px){.topbar{padding:0 12px}.topbar .org,.logo small,.me .nm,.me .caret{display:none}.main{padding:12px}.foot{padding:10px 12px}.hd{padding:14px 14px 0}.hd-top .cn{font-size:17px}.hd-top .upd{display:none}.steps{padding:0;margin-top:14px}.st .lb{font-size:11px}.st:before{left:calc(-50% + 13px);right:calc(50% + 13px)}.st .dot{width:20px;height:20px;font-size:11px}.st:before{top:9px}.dtabs .ant-tabs-nav{padding:0 14px}.dtabs .ant-tabs-tab+.ant-tabs-tab{margin-left:18px}.grid{grid-template-columns:1fr;padding:0 4px 14px}.files{grid-template-columns:1fr;padding:0}.day{grid-template-columns:1fr}.day .dl{text-align:left;padding:0 0 4px}.day .dl b,.day .dl small{display:inline;margin-right:6px}.card-b{padding:12px}}
