:root{--bg:#fafaf9;--panel:#ffffff;--line:#e8e6e2;--line2:#f1efec;--text:#1e293b;--sub:#5f6b7f;--faint:#94a3b8;--amber:#b45309;--amber-h:#93430a;--amber-bg:#faf1e2;--amber-line:#ecd9ba;--blue-bg:#e8effc;--blue-t:#1d4ed8;--yellow-bg:#fdf3d7;--yellow-t:#a16207;--green-bg:#e5f4ea;--green-t:#15803d;--red-bg:#fbe9e9;--red-t:#b91c1c;--gray-bg:#eef0f2;--gray-t:#5f6b7f;--mono:"IBM Plex Mono","Cascadia Mono",Consolas,"Courier New",monospace;--sh:0 1px 2px rgba(35,28,20,.06)}*{margin:0;padding:0;box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{font-family:PingFang SC,Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif;background:var(--bg);color:var(--text);font-size:14px;line-height:1.55;-webkit-tap-highlight-color:transparent}a{text-decoration:none;color:inherit}button{font-family:inherit}svg.ic{width:16px;height:16px;display:block}svg.ic.lg{width:20px;height:20px}svg.ic.sm{width:14px;height:14px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.page{padding:12px 14px 40px}.appbar{position:sticky;top:0;z-index:20;height:48px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px;padding:0 12px}.appbar .back{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--sub);cursor:pointer;margin-left:-6px;background:none;border:none}.appbar .back:active{background:var(--gray-bg)}.appbar .ttl{font-size:15.5px;font-weight:600}.appbar .asub{font-size:11.5px;color:var(--faint);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sbody{min-height:calc(100vh - 48px)}.cap{font-size:12px;color:var(--faint);margin:16px 2px 8px;display:flex;align-items:center;gap:6px}.cap:first-child{margin-top:2px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);overflow:hidden;margin-bottom:10px}.sec{padding:13px 15px;border-bottom:1px solid var(--line2)}.card .sec:last-child{border-bottom:none}.sec h4{font-size:12.5px;color:var(--sub);font-weight:600;margin-bottom:9px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sec h4 .rt{margin-left:auto;font-weight:400;font-size:11px;color:var(--faint)}.sec h4 svg.ic{width:15px;height:15px;color:var(--amber)}.kv{display:grid;grid-template-columns:1fr 1fr;gap:7px 14px}.kv .kvi{display:flex;justify-content:space-between;gap:8px;font-size:12.5px;min-width:0}.kv .kvi b{font-weight:400;color:var(--sub);flex:none}.kv .kvi span{text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kv.one{grid-template-columns:1fr}.hint{font-size:11.5px;color:var(--faint);line-height:1.6}.hint svg.ic,.lnk svg.ic{width:14px;height:14px;flex:none}.row{display:flex;align-items:center;gap:10px;padding:12px 15px;border-bottom:1px solid var(--line2);cursor:pointer;transition:background .2s;background:#fff}.row:active{background:#fbfaf8}.row:last-child{border-bottom:none}.row .col{flex:1;min-width:0}.row .t{font-size:13.5px;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .s{font-size:11.5px;color:var(--sub);display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .end{flex:none;display:flex;align-items:center;gap:7px}.row .amt{font-size:14.5px;font-weight:600}.row.static{cursor:default}.row.static:active{background:#fff}.tag{display:inline-flex;align-items:center;gap:3px;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;white-space:nowrap}.t-blue{background:var(--blue-bg);color:var(--blue-t)}.t-yellow{background:var(--yellow-bg);color:var(--yellow-t)}.t-green{background:var(--green-bg);color:var(--green-t)}.t-red{background:var(--red-bg);color:var(--red-t)}.t-gray{background:var(--gray-bg);color:var(--gray-t)}.t-amber{background:var(--amber-bg);color:var(--amber)}.t-plain{background:transparent;color:var(--sub);padding:2px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:9px 16px;font-size:13.5px;cursor:pointer;transition:all .2s;box-shadow:var(--sh)}.btn:active{transform:scale(.98)}.btn.pri{background:var(--amber);border-color:var(--amber);color:#fff}.btn.danger{color:var(--red-t);border-color:#ecccc8}.btn.danger:active{background:var(--red-bg)}.btn.block{display:flex;width:100%}.btn.sm{padding:6px 12px;font-size:12.5px}.btn:disabled{opacity:.55;pointer-events:none}.lnk{color:var(--amber);font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:3px}.lnk:active{opacity:.7}.chips{display:flex;gap:7px;flex-wrap:wrap;padding:11px 14px 3px}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 13px;font-size:12px;color:var(--sub);cursor:pointer;transition:all .2s}.chip.on{background:var(--amber);border-color:var(--amber);color:#fff}.tabs{display:flex;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:48px;z-index:19;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:1;min-width:72px;border:none;background:none;padding:11px 4px;font-size:13px;color:var(--sub);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.tabs button.on{color:var(--amber);font-weight:600}.tabs button.on:after{content:"";position:absolute;left:22%;right:22%;bottom:-1px;height:2.5px;background:var(--amber);border-radius:2px}.badge{font-style:normal;font-family:var(--mono);font-size:10.5px;font-weight:600;background:var(--red-t);color:#fff;border-radius:999px;padding:0 6px;min-width:17px;text-align:center;line-height:16px}.empty{padding:52px 24px;text-align:center}.empty .eic{width:52px;height:52px;border-radius:14px;background:var(--gray-bg);color:var(--faint);display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.empty .eic svg{width:24px;height:24px}.empty b{font-size:14px;display:block}.empty p{font-size:12px;color:var(--sub);margin:5px 0 14px}.notice{display:flex;gap:9px;border-radius:12px;padding:10px 12px;font-size:12px;line-height:1.6;margin:0 0 10px;border:1px solid transparent}.notice.info{background:#f3f7fd;border-color:#d9e6f8;color:#33517c}.notice.warn{background:var(--amber-bg);border-color:var(--amber-line);color:#93683a}.notice.err{background:var(--red-bg);border-color:#ecccc8;color:var(--red-t)}.notice svg{flex:none;margin-top:2px}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:56px 20px;color:var(--sub);font-size:12.5px}.spin{width:22px;height:22px;border-radius:999px;border:2.5px solid var(--amber-line);border-top-color:var(--amber);animation:rot 1s linear infinite}@keyframes rot{to{transform:rotate(360deg)}}table.detail{width:100%;border-collapse:collapse;font-size:12px}table.detail th{font-weight:600;color:var(--sub);text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap}table.detail td{padding:8px;border-bottom:1px solid var(--line2);vertical-align:top}table.detail tr:last-child td{border-bottom:none}.fl{margin-bottom:11px}.fl label{display:block;font-size:12px;color:var(--sub);margin-bottom:5px}.fl label i{color:var(--red-t);font-style:normal;margin-left:2px}.inp{width:100%;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font-size:13px;font-family:inherit;background:#fff;color:var(--text)}.inp:focus{outline:none;border-color:var(--amber)}textarea.inp{resize:none;height:76px}.ckrow{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;border:1px dashed var(--line);border-radius:11px;font-size:12.5px;color:var(--sub);cursor:pointer;margin:2px 0 10px;line-height:1.5}.ckrow .ck{width:17px;height:17px;border-radius:5px;border:1.5px solid var(--faint);flex:none;margin-top:1px}.ckrow.on{border-style:solid;border-color:var(--amber-line);background:var(--amber-bg);color:var(--amber)}.ckrow.on .ck{background:var(--amber);border-color:var(--amber);position:relative}.ckrow.on .ck:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg)}.item{padding:10px 0;border-bottom:1px solid var(--line2)}.item:last-child{border-bottom:none}.item .ih{display:flex;align-items:center;gap:7px;font-size:13px;flex-wrap:wrap}.item .ih .w{font-size:11px;color:var(--faint);font-weight:400}.item .ih .self{margin-left:auto;font-size:11px;color:var(--faint)}.lv{display:flex;gap:7px;margin-top:9px}.lv label{flex:1;min-width:0;cursor:pointer}.lv input{display:none}.lv .lvb{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid var(--line);border-radius:9px;padding:5px 2px;font-size:12.5px;color:var(--sub);transition:all .15s;font-family:var(--mono)}.lv .lvb .d{font-size:9.5px;color:var(--faint);font-family:PingFang SC,Microsoft YaHei UI,sans-serif;line-height:1.3;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.lv input:checked+.lvb{background:var(--amber);border-color:var(--amber);color:#fff}.lv input:checked+.lvb .d{color:#f6e8d8}.lv.compact{gap:7px}.lv.compact label{flex:none}.lv.compact .lvb{width:34px;height:30px;padding:0;justify-content:center}.lv.compact .lvb .d{display:none}.stepper{display:flex;align-items:center;gap:12px}.stepper .stv{font-size:28px;font-weight:700;min-width:86px;text-align:center}.stepper .stv small{font-size:12px;color:var(--faint);font-weight:400}.stepper .stbtn{width:44px;height:44px;border-radius:11px;border:1px solid var(--line);background:#fff;font-size:19px;color:var(--text);cursor:pointer}.stepper .stbtn:active{border-color:var(--amber-line);color:var(--amber)}.gtag{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;flex:none}.gtag.sm{width:30px;height:30px;font-size:14px}.g-A{background:var(--green-bg);color:var(--green-t)}.g-B{background:var(--blue-bg);color:var(--blue-t)}.g-C{background:var(--yellow-bg);color:var(--yellow-t)}.g-D{background:var(--amber-bg);color:var(--amber)}.g-E{background:var(--red-bg);color:var(--red-t)}.scorehero{display:flex;align-items:center;gap:14px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);margin-bottom:10px}.scorehero .sc{font-size:34px;font-weight:700;line-height:1}.scorehero .sc small{font-size:12px;color:var(--faint);font-weight:400;margin-left:2px}.scorehero .scb{flex:1;min-width:0}.scorehero .scb b{font-size:13px;display:block}.scorehero .scb span{font-size:11.5px;color:var(--sub)}.srcrow{display:flex;align-items:center;gap:9px;padding:7px 0;font-size:12.5px}.srcrow .sn{width:52px;color:var(--sub);flex:none}.srcrow .sbar{flex:1;height:6px;border-radius:3px;background:var(--gray-bg);overflow:hidden}.srcrow .sbar i{display:block;height:100%;border-radius:3px;background:var(--blue-t)}.srcrow .sv{width:44px;text-align:right;flex:none}.tabbar{position:fixed;left:0;right:0;bottom:0;height:56px;background:#fff;border-top:1px solid var(--line);display:flex;padding-bottom:env(safe-area-inset-bottom);z-index:30}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10.5px;color:var(--faint);cursor:pointer;position:relative}.tabbar a svg{width:20px;height:20px}.tabbar a.on{color:var(--amber)}.tabbar a .badge{position:absolute;top:4px;right:calc(50% - 24px)}.has-tabbar .page{padding-bottom:72px}.homehead{background:#fff;border-bottom:1px solid var(--line);padding:16px 16px 15px}.hh-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.hh-top .bmark{width:34px;height:34px;border-radius:10px;background:var(--amber);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:17px}.hh-top .hh-right{display:flex;align-items:center;gap:10px}.hh-date{font-size:11.5px;color:var(--faint)}.hh-avatar{width:32px;height:32px;border-radius:999px;background:var(--amber-bg);color:var(--amber);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px;cursor:pointer;border:1px solid var(--amber-line)}.hh-hi{font-size:12px;color:var(--sub)}.hh-name{font-size:20px;font-weight:700;margin-top:1px}.hh-sub{font-size:12px;color:var(--faint);margin-top:3px}.todo{display:flex;align-items:center;gap:10px;background:var(--amber-bg);border:1px solid var(--amber-line);border-radius:13px;padding:11px 13px;margin:12px 0 2px;cursor:pointer}.todo:active{box-shadow:0 2px 8px #b453091f}.todo .tcol{flex:1;min-width:0}.todo b{font-size:13px;color:var(--amber);display:block}.todo span{font-size:11.5px;color:#93683a;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.todo .ch,.modcard .ch,.mrow .ch{color:var(--faint)}.modcard{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:14px;margin-bottom:10px;cursor:pointer;transition:all .2s}.modcard:active{border-color:var(--amber-line)}.modic{width:42px;height:42px;border-radius:12px;background:var(--amber-bg);color:var(--amber);display:flex;align-items:center;justify-content:center;flex:none}.modic svg{width:21px;height:21px}.modic.alt{background:var(--blue-bg);color:var(--blue-t)}.modic.alt2{background:var(--green-bg);color:var(--green-t)}.mc-b{flex:1;min-width:0}.mc-b b{font-size:15px;display:block}.mc-b>span{font-size:12px;color:var(--sub);display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mc-b .num{display:inline}.mrow{display:flex;align-items:center;gap:10px;padding:12px 4px;cursor:pointer;color:var(--text)}.mrow:active .mt{color:var(--amber)}.mrow .mic{color:var(--faint)}.mrow .mic svg{width:18px;height:18px}.mrow .mt{flex:1;font-size:13.5px}.foot-note{text-align:center;font-size:10.5px;color:var(--faint);margin-top:22px}.payhero{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:16px;position:relative;overflow:hidden;margin-bottom:10px}.payhero .ph-lab{font-size:11.5px;color:var(--sub)}.payhero .ph-amt{font-size:30px;font-weight:700;color:var(--green-t);letter-spacing:-.02em;margin:2px 0 4px}.payhero .ph-row{display:flex;gap:14px;font-size:12px;color:var(--sub);flex-wrap:wrap}.payhero .ph-row b{font-weight:600;color:var(--text)}.emprow{display:flex;align-items:center;gap:10px;padding:12px 15px;background:#fff;border-bottom:1px solid var(--line2)}.emprow .eav{width:36px;height:36px;border-radius:999px;background:var(--amber-bg);color:var(--amber);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex:none}.emprow .en{font-size:14.5px;font-weight:600}.emprow .ed{font-size:11.5px;color:var(--faint)}.emprow .end{margin-left:auto;text-align:right}.wm{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;overflow:hidden}.wm span{position:absolute;font-size:26px;font-weight:700;color:#1e293b0d;transform:rotate(-22deg);white-space:nowrap}.pointhero{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:15px}.pointhero .ph{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.pointhero .pv{font-size:32px;font-weight:700}.pointhero .pl{font-size:12px;color:var(--sub)}.pointhero .pr{font-size:11px;color:var(--faint);margin-top:4px;line-height:1.6}.doccard{background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);padding:22px 18px;font-size:13px}.doccard .dt{text-align:center;font-size:17px;font-weight:700;letter-spacing:.1em}.doccard .dh{text-align:center;font-size:11.5px;color:var(--faint);margin:3px 0 16px}.doccard p{margin:9px 0;text-align:justify;line-height:1.8;white-space:pre-wrap}.doccard .dsign{text-align:right;color:var(--sub);margin-top:18px;font-size:12.5px;line-height:1.9}.tl{position:relative;padding-left:24px}.tl:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--line)}.tli{position:relative;padding:0 0 13px}.tli:last-child{padding-bottom:2px}.tli .dot{position:absolute;left:-24px;top:3px;width:16px;height:16px;border-radius:999px;background:#fff;border:2px solid var(--line);z-index:2}.tli.done .dot{background:var(--green-t);border-color:var(--green-t)}.tli.cur .dot{background:#fff;border:3px solid var(--amber)}.tli b{font-size:13px;display:inline-block}.tli .td{font-size:10.5px;color:var(--faint);font-family:var(--mono)}.tli p{font-size:11.5px;color:var(--sub);margin-top:1px}.sumgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.sumcell{background:#fbfaf8;border:1px solid var(--line2);border-radius:10px;padding:8px 4px;text-align:center;min-width:0}.sumcell .sv{font-size:17px;font-weight:700}.sumcell .sl{font-size:9.5px;color:var(--faint);display:block;margin-top:1px}.deptrow{display:flex;align-items:center;gap:10px;padding:10px 15px;border-bottom:1px solid var(--line2)}.deptrow:last-child{border-bottom:none}.deptrow .dn{width:88px;font-size:12.5px;flex:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deptrow .db{flex:1;height:6px;border-radius:3px;background:var(--gray-bg);overflow:hidden}.deptrow .db i{display:block;height:100%;background:var(--amber);border-radius:3px}.deptrow .dv{width:52px;text-align:right;font-size:10.5px;color:var(--sub);flex:none}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e293b6b;opacity:0;pointer-events:none;transition:opacity .25s;z-index:40}.mask.on{opacity:1;pointer-events:auto}.sheet{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:16px 16px 0 0;transform:translateY(102%);transition:transform .28s cubic-bezier(.32,.72,.33,1);z-index:41;max-height:76%;display:flex;flex-direction:column;box-shadow:0 -8px 30px #231c1424}.sheet.on{transform:none}.sheet .grab{width:36px;height:4px;border-radius:2px;background:var(--line);margin:8px auto 0}.sheet-h{padding:10px 18px;border-bottom:1px solid var(--line2);display:flex;align-items:center}.sheet-h b{font-size:14.5px;flex:1}.sheet-h .x{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--faint);cursor:pointer;background:none;border:none}.sheet-b{padding:14px 18px 22px;overflow-y:auto}.loadwrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px}.loadwrap .bmark{width:56px;height:56px;border-radius:16px;background:var(--amber);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:27px;box-shadow:0 8px 24px #b4530947}.loadwrap .lt{font-size:16px;font-weight:700;margin-top:6px}.loadwrap .ls{font-size:12px;color:var(--sub);text-align:center;line-height:1.7}
