.review-page{--rp-bg: #0d0f1a;--rp-surface: #181b2c;--rp-card: #1f2338;--rp-card2: #252a42;--rp-border: #2b3058;--rp-primary: #7c6ef5;--rp-primary-dim: rgba(124, 110, 245, .14);--rp-confirm: #4ade80;--rp-flag: #f87171;--rp-warn: #fb923c;--rp-text: #edf0f8;--rp-text-dim: #8892b0;--rp-text-mute: #454c70;font-family:Inter,system-ui,sans-serif;background:var(--rp-bg);color:var(--rp-text);height:calc(100svh - 70px - env(safe-area-inset-bottom,0px));max-width:430px;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.review-page .rp-top-bar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;flex-shrink:0;background:var(--rp-surface);border-bottom:1px solid var(--rp-border)}.review-page .rp-brand{font-size:16px;font-weight:700;background:linear-gradient(130deg,#7c6ef5,#c49af5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.review-page .rp-seg-ctrl{background:var(--rp-card2);border:1px solid var(--rp-border);border-radius:22px;padding:3px;display:flex;position:relative}.review-page .rp-seg-thumb{position:absolute;top:3px;bottom:3px;background:linear-gradient(135deg,#7c6ef5,#9b5cf5);border-radius:18px;transition:left .22s cubic-bezier(.4,0,.2,1),width .22s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #7c6ef559;z-index:0}.review-page .rp-seg-btn{padding:5px 14px;border-radius:18px;font-size:12px;font-weight:500;color:var(--rp-text-dim);border:none;background:transparent;cursor:pointer;font-family:inherit;position:relative;z-index:1;transition:color .18s;white-space:nowrap;-webkit-tap-highlight-color:transparent}.review-page .rp-seg-btn.active{color:var(--rp-text)}.review-page .rp-receipt-row{display:flex;gap:6px;padding:8px 16px;flex-shrink:0;overflow-x:auto;border-bottom:1px solid var(--rp-border);background:var(--rp-surface)}.review-page .rp-receipt-row::-webkit-scrollbar{display:none}.review-page .rp-rs-btn{padding:4px 12px;border-radius:20px;font-size:11px;font-weight:500;border:1px solid var(--rp-border);color:var(--rp-text-dim);background:transparent;cursor:pointer;font-family:inherit;transition:all .15s;display:flex;align-items:center;gap:5px;flex-shrink:0}.review-page .rp-rs-btn.active{background:var(--rp-primary-dim);border-color:#7c6ef566;color:#c0b8ff}.review-page .rp-img-panel{flex-shrink:0;position:relative;background:#060810;border-bottom:1px solid var(--rp-border)}.review-page .rp-img-panel-real{background:#050810;max-height:50vh;overflow:auto}.review-page .rp-receipt-img-frame{position:relative;width:100%;display:block;line-height:0;background:#050810}.review-page .rp-receipt-img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none}.review-page .rp-bbox-overlay{position:absolute;pointer-events:none;border-width:2px;border-style:solid;border-radius:2px;box-sizing:border-box;transition:border-color .18s,background .18s,opacity .18s}.review-page .rp-bbox-receipt{background:#7c6ef50f;box-shadow:inset 0 0 0 1px #ffffff14;pointer-events:auto;cursor:pointer}.review-page .rp-bbox-receipt:hover{background:#7c6ef51c}.review-page .rp-bbox-table{border-style:dashed;background:#7c6ef50a}.review-page .rp-bbox-row{border-style:dotted;border-width:1.5px;opacity:.5;pointer-events:auto;cursor:pointer}.review-page .rp-bbox-row:hover{opacity:.82;background:#ffffff0f}.review-page .rp-bbox-row.rp-bbox-row-active{border-style:solid;border-width:2.5px;opacity:1;background:#ffffff14;box-shadow:0 0 0 2px #ffffff2e}.review-page .rp-bbox-row.rp-bbox-row-other{opacity:.2}.review-page .rp-bbox-row.rp-bbox-row-other:hover{opacity:.5}.review-page .rp-bbox-receipt.rp-bbox-receipt-other{opacity:.35}.review-page .rp-receipt-sim{padding:12px 16px;font-family:Courier New,monospace;font-size:11.5px;line-height:1.9;color:#454c70;position:relative;overflow:hidden}.review-page .rp-rline{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.review-page .rp-rline.rl-h{color:#7880a8;font-weight:700}.review-page .rp-rline.rl-d{color:#1e2338}.review-page .rp-rline.rl-c{color:#565e88}.review-page .rp-row-highlight{position:absolute;left:0;right:0;background:#7c6ef51f;border-left:3px solid var(--rp-primary);border-radius:0 3px 3px 0;pointer-events:none;transition:top .25s cubic-bezier(.4,0,.2,1),height .25s cubic-bezier(.4,0,.2,1),opacity .2s;opacity:0}.review-page .rp-row-highlight.vis{opacity:1}.review-page .rp-img-panel-footer{height:32px;background:var(--rp-surface);border-top:1px solid var(--rp-border);display:flex;align-items:center;padding:0 14px;gap:10px;justify-content:space-between}.review-page .rp-img-panel-lbl{font-size:10px;color:var(--rp-text-mute)}.review-page .rp-conf-legend{display:flex;gap:10px}.review-page .rp-cleg-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--rp-text-mute)}.review-page .rp-cleg-dot{width:7px;height:7px;border-radius:50%}.review-page .rp-list-panel{flex:1;overflow-y:auto;overscroll-behavior:contain}.review-page .rp-list-panel::-webkit-scrollbar{width:3px}.review-page .rp-list-panel::-webkit-scrollbar-thumb{background:var(--rp-border);border-radius:2px}.review-page .rp-list-section-hdr{padding:10px 16px 6px;background:var(--rp-bg);border-bottom:1px solid var(--rp-border);position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px}.review-page .rp-lsh-dot{width:8px;height:8px;border-radius:50%}.review-page .rp-lsh-name{font-size:12px;font-weight:600;color:var(--rp-text-dim)}.review-page .rp-lsh-count{font-size:10px;color:var(--rp-text-mute);margin-left:auto}.review-page .rp-row-card{border-bottom:1px solid var(--rp-border);overflow:hidden;transition:background .12s}.review-page .rp-row-card.active-row{background:#7c6ef50f}.review-page .rp-row-summary{display:flex;align-items:center;gap:10px;padding:11px 16px;cursor:pointer}.review-page .rp-row-num{width:22px;height:22px;border-radius:6px;background:var(--rp-card);font-size:10px;font-weight:700;color:var(--rp-text-dim);display:flex;align-items:center;justify-content:center;flex-shrink:0}.review-page .rp-row-num.rn-ok{background:#4ade801a;color:#4ade80}.review-page .rp-row-num.rn-flag{background:#f871711a;color:#f87171}.review-page .rp-row-cells-preview{flex:1;display:flex;gap:6px;flex-wrap:wrap;min-width:0}.review-page .rp-rcp-cell{font-size:12px;color:var(--rp-text)}.review-page .rp-rcp-sep{font-size:12px;color:var(--rp-text-mute)}.review-page .rp-row-warn-badge{flex-shrink:0;font-size:10px;color:var(--rp-warn);background:#fb923c1a;border:1px solid rgba(251,146,60,.25);border-radius:8px;padding:2px 6px}.review-page .rp-row-chevron{flex-shrink:0;font-size:14px;color:var(--rp-text-mute);transition:transform .2s}.review-page .rp-row-card.active-row .rp-row-chevron{transform:rotate(90deg)}.review-page .rp-row-edit{max-height:0;overflow:hidden;transition:max-height .28s cubic-bezier(.4,0,.2,1)}.review-page .rp-row-edit.open{max-height:400px}.review-page .rp-row-edit-inner{padding:8px 16px 14px 48px;display:flex;flex-direction:column;gap:8px}.review-page .rp-edit-field-row{display:flex;align-items:center;gap:10px}.review-page .rp-ef-lbl{font-size:10px;color:var(--rp-text-mute);text-transform:uppercase;letter-spacing:.4px;width:44px;flex-shrink:0}.review-page .rp-ef-input-wrap{flex:1;position:relative}.review-page .rp-ef-input{width:100%;background:var(--rp-card2);border:1px solid var(--rp-border);border-radius:9px;padding:9px 12px;font-size:14px;font-weight:500;color:var(--rp-text);font-family:inherit;outline:none;transition:border-color .15s}.review-page .rp-ef-input:focus{border-color:var(--rp-primary)}.review-page .rp-ef-input.ef-warn{border-color:#fb923c66;background:#fb923c0f}.review-page .rp-ef-conf{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-size:9px;color:var(--rp-text-mute)}.review-page .rp-row-edit-actions{display:flex;gap:8px;padding-top:4px}.review-page .rp-rea-btn{flex:1;height:38px;border-radius:10px;border:none;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.review-page .rp-rea-btn:active{opacity:.75}.review-page .rp-rea-cancel{background:var(--rp-card);color:var(--rp-text-dim);border:1px solid var(--rp-border)}.review-page .rp-rea-flag{background:#f871711a;color:#f87171;border:1px solid rgba(248,113,113,.25)}.review-page .rp-rea-confirm{background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff}.review-page .rp-bottom-bar{height:52px;background:var(--rp-surface);border-top:1px solid var(--rp-border);display:flex;align-items:center;padding:0 16px;gap:10px;flex-shrink:0}.review-page .rp-bb-progress{flex:1}.review-page .rp-bb-prog-lbl{font-size:10px;color:var(--rp-text-mute);margin-bottom:4px}.review-page .rp-bb-track{height:3px;background:var(--rp-border);border-radius:2px;overflow:hidden}.review-page .rp-bb-fill{height:100%;background:linear-gradient(90deg,#7c6ef5,#b49af5);border-radius:2px;transition:width .4s}.review-page .rp-bb-confirm-all{padding:8px 16px;border-radius:10px;border:none;background:linear-gradient(135deg,#7c6ef5,#9b5cf5);color:#fff;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;white-space:nowrap}.review-page .rp-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--rp-text-dim);font-size:13px}.review-page.mode-single{--sa-warn-bg: rgba(251, 146, 60, .1);--sa-radius: 20px}.review-page.mode-single .sa-top-bar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;flex-shrink:0;background:var(--rp-surface);border-bottom:1px solid var(--rp-border)}.review-page.mode-single .sa-brand{font-size:16px;font-weight:700;background:linear-gradient(130deg,#7c6ef5,#c49af5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.review-page.mode-single .sa-step-dot{width:6px;height:6px;border-radius:50%;background:var(--rp-primary)}.review-page.mode-single .sa-prog-wrap{padding:0 20px 10px;flex-shrink:0}.review-page.mode-single .sa-prog-track{height:3px;background:var(--rp-border);border-radius:2px;overflow:hidden}.review-page.mode-single .sa-prog-fill{height:100%;background:linear-gradient(90deg,#7c6ef5,#b49af5);border-radius:2px;transition:width .4s ease}.review-page.mode-single .sa-prog-labels{display:flex;justify-content:space-between;margin-top:5px;font-size:10px;color:var(--rp-text-mute)}.review-page.mode-single .sa-receipt-tabs{display:flex;gap:8px;padding:0 20px 10px;overflow-x:auto;flex-shrink:0}.review-page.mode-single .sa-receipt-tabs::-webkit-scrollbar{display:none}.review-page.mode-single .sa-r-tab{flex-shrink:0;padding:6px 13px;border-radius:20px;font-size:11px;border:1px solid var(--rp-border);color:var(--rp-text-dim);background:transparent;font-family:inherit;display:flex;align-items:center;gap:5px;transition:all .15s}.review-page.mode-single .sa-r-tab.active{background:var(--rp-primary-dim);border-color:#7c6ef566;color:#b0a8ff}.review-page.mode-single .sa-r-tab-dot{width:6px;height:6px;border-radius:50%}.review-page.mode-single .sa-card-area{flex:1;position:relative;display:flex;align-items:center;justify-content:center;perspective:1000px;padding:0 20px 8px;overflow:hidden}.review-page.mode-single .sa-empty{color:var(--rp-text-dim);font-size:13px}.review-page.mode-single .sa-swipe-card{position:absolute;width:100%;max-width:370px;background:var(--rp-card);border-radius:var(--sa-radius);border:1px solid var(--rp-border);overflow:hidden;cursor:grab;touch-action:none;will-change:transform;transition:transform .35s ease,opacity .35s;box-shadow:0 12px 40px #00000073}.review-page.mode-single .sa-swipe-card.sa-dragging{transition:none;cursor:grabbing}.review-page.mode-single .sa-swipe-card.sa-c1{transform:scale(.95) translateY(10px);z-index:1;pointer-events:none}.review-page.mode-single .sa-swipe-card.sa-c2{transform:scale(.9) translateY(20px);z-index:0;pointer-events:none;opacity:.55}.review-page.mode-single .sa-swipe-card.sa-front{z-index:3}.review-page.mode-single .sa-card-receipt{background:#080a12;padding:12px 14px;font-family:Courier New,monospace;font-size:11px;line-height:1.75;color:#454c70;border-bottom:1px solid var(--rp-border);position:relative;overflow:hidden;min-height:150px;max-height:165px}.review-page.mode-single .sa-receipt-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-page.mode-single .sa-receipt-line.rl-header{color:#7880a8;font-weight:700}.review-page.mode-single .sa-receipt-line.rl-divider{color:#1e2338}.review-page.mode-single .sa-receipt-line.rl-col{color:#565e88}.review-page.mode-single .sa-receipt-line.rl-active{background:#7c6ef52e;color:#c4b9ff;font-weight:700;border-radius:3px;padding:0 4px;margin:0 -4px}.review-page.mode-single .sa-receipt-line.rl-dim{opacity:.3}.review-page.mode-single .sa-receipt-fade{position:absolute;bottom:0;left:0;right:0;height:36px;background:linear-gradient(transparent,#080a12);pointer-events:none}.review-page.mode-single .sa-receipt-label{position:absolute;top:9px;right:9px;background:var(--rp-card);border:1px solid var(--rp-border);border-radius:7px;padding:3px 8px;font-size:10px;font-family:Inter,sans-serif;color:var(--rp-text-dim);display:flex;align-items:center;gap:4px}.review-page.mode-single .sa-card-receipt.sa-card-receipt-img{padding:0;background:#000;min-height:unset;max-height:unset;overflow:visible}.review-page.mode-single .sa-cr-img-frame{position:relative;line-height:0}.review-page.mode-single .sa-cr-img{display:block;width:100%;height:auto}.review-page.mode-single .sa-cr-bbox{position:absolute;border:2px solid;border-radius:2px;pointer-events:none;opacity:.3;transition:opacity .18s,border-width .18s}.review-page.mode-single .sa-cr-bbox.sa-cr-bbox-active{opacity:1;border-width:2.5px;box-shadow:0 0 0 1px #00000080}.review-page.mode-single .sa-card-data{padding:14px}.review-page.mode-single .sa-card-top-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.review-page.mode-single .sa-row-label{font-size:11px;color:var(--rp-text-dim)}.review-page.mode-single .sa-conf-badge{font-size:10px;padding:2px 8px;border-radius:10px;font-weight:600}.review-page.mode-single .sa-conf-badge.cb-ok{color:#4ade80;background:#4ade801f;border:1px solid rgba(74,222,128,.25)}.review-page.mode-single .sa-conf-badge.cb-warn{color:#fb923c;background:#fb923c1f;border:1px solid rgba(251,146,60,.3)}.review-page.mode-single .sa-card-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.review-page.mode-single .sa-cf{background:var(--rp-card2);border:1px solid var(--rp-border);border-radius:11px;padding:10px 12px;position:relative}.review-page.mode-single .sa-cf.cf-warn{border-color:#fb923c59;background:var(--sa-warn-bg)}.review-page.mode-single .sa-cf-label{font-size:9px;color:var(--rp-text-mute);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}.review-page.mode-single .sa-cf-val{font-size:15px;font-weight:600;color:var(--rp-text)}.review-page.mode-single .sa-cf-warn-dot{position:absolute;top:7px;right:7px;width:5px;height:5px;border-radius:50%;background:var(--rp-warn)}.review-page.mode-single .sa-conf-strip{margin-top:4px;height:2px;background:var(--rp-border);border-radius:1px;overflow:hidden}.review-page.mode-single .sa-conf-bar{height:100%;border-radius:1px}.review-page.mode-single .sa-ov-confirm,.review-page.mode-single .sa-ov-flag{position:absolute;inset:0;display:flex;align-items:center;border-radius:var(--sa-radius);pointer-events:none;opacity:0}.review-page.mode-single .sa-ov-confirm{background:linear-gradient(90deg,transparent,rgba(74,222,128,.2));justify-content:flex-end;padding-right:20px}.review-page.mode-single .sa-ov-flag{background:linear-gradient(90deg,rgba(248,113,113,.2),transparent);justify-content:flex-start;padding-left:20px}.review-page.mode-single .sa-ov-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px}.review-page.mode-single .sa-ov-icon.ov-c-icon{background:#4ade8026;border:2px solid rgba(74,222,128,.4);color:var(--rp-confirm)}.review-page.mode-single .sa-ov-icon.ov-f-icon{background:#f8717126;border:2px solid rgba(248,113,113,.4);color:var(--rp-flag)}.review-page.mode-single .sa-actions{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 20px 16px;flex-shrink:0}.review-page.mode-single .sa-act-col{display:flex;flex-direction:column;align-items:center;gap:5px}.review-page.mode-single .sa-act-btn{border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s,box-shadow .12s;-webkit-tap-highlight-color:transparent;font-family:inherit}.review-page.mode-single .sa-act-btn:active{transform:scale(.9)}.review-page.mode-single .sa-btn-f{width:58px;height:58px;font-size:22px;background:#f8717114;border:2px solid rgba(248,113,113,.28);color:var(--rp-flag)}.review-page.mode-single .sa-btn-c{width:70px;height:70px;font-size:26px;background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff;box-shadow:0 6px 24px #4ade8059}.review-page.mode-single .sa-btn-s{width:48px;height:48px;font-size:18px;background:var(--rp-card);border:2px solid var(--rp-border);color:var(--rp-text-dim)}.review-page.mode-single .sa-act-hint{font-size:10px;color:var(--rp-text-mute)}.review-page.mode-single .sa-modal-bg{position:fixed;inset:0;z-index:100;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .2s;display:flex;flex-direction:column;justify-content:flex-end}.review-page.mode-single .sa-modal-bg.open{opacity:1;pointer-events:all}.review-page.mode-single .sa-edit-sheet{background:var(--rp-surface);border-radius:24px 24px 0 0;padding:20px 20px 40px;transform:translateY(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);border-top:1px solid var(--rp-border);max-width:430px;width:100%;margin:0 auto}.review-page.mode-single .sa-modal-bg.open .sa-edit-sheet{transform:translateY(0)}.review-page.mode-single .sa-sheet-drag{width:36px;height:4px;background:var(--rp-border);border-radius:2px;margin:0 auto 18px}.review-page.mode-single .sa-sheet-h{font-size:15px;font-weight:600;margin-bottom:3px}.review-page.mode-single .sa-sheet-sub{font-size:12px;color:var(--rp-text-dim);margin-bottom:18px}.review-page.mode-single .sa-sheet-flds{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.review-page.mode-single .sa-sf-wrap{display:flex;flex-direction:column;gap:5px}.review-page.mode-single .sa-sf-lbl{font-size:10px;color:var(--rp-text-dim);text-transform:uppercase;letter-spacing:.4px}.review-page.mode-single .sa-sf-input{background:var(--rp-card);border:1px solid var(--rp-border);border-radius:10px;padding:11px 13px;font-size:15px;font-weight:500;color:var(--rp-text);font-family:inherit;outline:none;transition:border-color .15s}.review-page.mode-single .sa-sf-input:focus{border-color:var(--rp-primary)}.review-page.mode-single .sa-sheet-btns{display:flex;gap:10px}.review-page.mode-single .sa-sh-btn{flex:1;height:48px;border-radius:14px;border:none;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity .15s}.review-page.mode-single .sa-sh-btn:active{opacity:.8}.review-page.mode-single .sa-sh-cancel{background:var(--rp-card);color:var(--rp-text-dim);border:1px solid var(--rp-border)}.review-page.mode-single .sa-sh-save{background:linear-gradient(135deg,#7c6ef5,#9b5cf5);color:#fff;box-shadow:0 4px 16px #7c6ef559}.review-page.mode-single .sa-summary{position:fixed;inset:0;z-index:50;background:var(--rp-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 24px;opacity:0;pointer-events:none;transition:opacity .4s;max-width:430px;margin:0 auto}.review-page.mode-single .sa-summary.vis{opacity:1;pointer-events:all}.review-page.mode-single .sa-sum-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#4ade80,#22c55e);display:flex;align-items:center;justify-content:center;font-size:36px;margin-bottom:20px;box-shadow:0 8px 32px #4ade8066}.review-page.mode-single .sa-sum-title{font-size:24px;font-weight:700;margin-bottom:6px}.review-page.mode-single .sa-sum-sub{font-size:13px;color:var(--rp-text-dim);margin-bottom:28px;text-align:center}.review-page.mode-single .sa-sum-stats{display:flex;gap:12px;width:100%;margin-bottom:28px}.review-page.mode-single .sa-sum-stat{flex:1;background:var(--rp-card);border:1px solid var(--rp-border);border-radius:16px;padding:14px;text-align:center}.review-page.mode-single .sa-sum-num{font-size:28px;font-weight:700;margin-bottom:3px}.review-page.mode-single .sa-sum-lbl{font-size:10px;color:var(--rp-text-dim)}.review-page.mode-single .sa-sum-cta{width:100%;height:50px;border-radius:16px;border:none;background:linear-gradient(135deg,#7c6ef5,#9b5cf5);color:#fff;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 6px 24px #7c6ef559}.recon-root,.recon-root *,.recon-root *:before,.recon-root *:after{box-sizing:border-box}.recon-root{--bg:#08081a;--surface:rgba(255,255,255,.03);--surface2:rgba(255,255,255,.05);--card:rgba(255,255,255,.04);--border:rgba(255,255,255,.08);--border-strong:rgba(255,255,255,.16);--text:#f4f6ff;--text-dim:#9098b8;--text-mute:#525a7d;--primary:#a78bfa;--primary-strong:#7c6ef5;--primary-dim:rgba(167,139,250,.14);--ok:#4ade80;--ok-bg:rgba(74,222,128,.1);--warn:#fb923c;--warn-bg:rgba(251,146,60,.1);--bad:#f87171;--bad-bg:rgba(248,113,113,.1);--money:#c4b5fd;--thb:#22c55e;--cny:#ef4444;--php:#f59e0b;--mop:#3b82f6;--myr:#a855f7;position:fixed;inset:0;overflow-y:auto;z-index:1;background:radial-gradient(ellipse at top left,rgba(124,110,245,.15),transparent 60%),radial-gradient(ellipse at bottom right,rgba(168,85,247,.1),transparent 60%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}.recon-root h1,.recon-root h2,.recon-root h3,.recon-root p,.recon-root button,.recon-root input{margin:0;padding:0}.recon-root button{font-family:inherit}.recon-root .canvas{max-width:1240px;margin:0 auto;padding:48px 32px 140px}.trip-masthead{text-align:left;margin-bottom:64px;padding-bottom:32px;border-bottom:1px solid var(--border)}.trip-eyebrow{font-size:11px;color:var(--text-mute);letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:14px}.trip-name{font-size:48px;font-weight:800;letter-spacing:-1.5px;line-height:1.1;border-bottom:1px dashed transparent;cursor:text;display:inline-block;padding:2px 4px;border-radius:6px}.trip-name:hover{background:var(--surface);border-bottom-color:var(--text-mute)}.trip-name:focus{outline:none;background:var(--surface);border-bottom-color:var(--primary)}.hero{margin-bottom:80px}.hero-eyebrow{font-size:10px;color:var(--text-mute);letter-spacing:2px;text-transform:uppercase;font-weight:700;margin-bottom:14px}.hero-money-eq{display:flex;flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:28px}.hero-total{font-size:96px;font-weight:900;letter-spacing:-4px;line-height:1;background:linear-gradient(140deg,#fff 25%,#a78bfa 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero-total-ccy{font-size:22px;color:var(--text-dim);font-weight:600;margin-left:-6px}.hero-eq{font-size:36px;color:var(--text-mute);font-weight:200;margin:0 6px}.hero-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;background:var(--surface);border:1px solid var(--border);font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.hero-chip .ccy{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;margin-right:2px;padding:1px 5px;border-radius:3px;border:1px solid var(--border);color:var(--text-dim)}.hero-chip.thb .ccy{color:var(--thb);border-color:#22c55e66}.hero-chip.php .ccy{color:var(--php);border-color:#f59e0b66}.hero-chip.myr .ccy{color:var(--myr);border-color:#a855f766}.hero-chip.mop .ccy{color:var(--mop);border-color:#3b82f666}.hero-chip.cny .ccy{color:var(--cny);border-color:#ef444466}.hero-plus{font-size:22px;color:var(--text-mute);font-weight:200}.hero-sub{display:flex;align-items:center;gap:48px;flex-wrap:wrap}.country-bar{display:flex;height:10px;border-radius:5px;overflow:hidden;width:520px;background:var(--surface)}.country-bar div{height:100%}.country-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;color:var(--text-dim)}.country-legend span{display:flex;align-items:center;gap:6px}.country-legend .d{width:9px;height:9px;border-radius:2px}.hero-facts{display:flex;gap:32px;margin-top:24px}.hero-fact{display:flex;flex-direction:column;gap:4px;padding:14px 22px;background:var(--surface);border:1px solid var(--border);border-radius:12px}.hero-fact .num{font-size:30px;font-weight:800;letter-spacing:-.5px;line-height:1;font-variant-numeric:tabular-nums}.hero-fact .lbl{font-size:10px;color:var(--text-mute);text-transform:uppercase;letter-spacing:1px}.layer{position:relative;margin-bottom:64px;scroll-margin-top:24px}.layer-head{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid var(--border);margin-bottom:32px}.layer-num{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,var(--primary-strong),var(--primary));display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800;color:#fff;box-shadow:0 8px 24px #7c6ef566;flex-shrink:0}.layer-title{font-size:32px;font-weight:800;letter-spacing:-.6px}.layer-q{font-size:13px;color:var(--text-dim);font-style:italic;margin-left:auto}.layer-progress{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:1px;font-weight:700;padding:6px 14px;border-radius:999px;background:var(--surface);border:1px solid var(--border);white-space:nowrap}.layer-progress.done{color:var(--ok);border-color:#4ade8066;background:var(--ok-bg)}.layer.locked{filter:saturate(.4)}.layer.locked .layer-num{background:linear-gradient(135deg,#3a3e58,#2a2d44);box-shadow:none}.layer.locked .layer-title{color:var(--text-mute)}.layer.locked .layer-body{position:relative;pointer-events:none;opacity:.3}.lock-banner{margin:24px 0;padding:24px;background:var(--surface);border:1px dashed var(--border-strong);border-radius:14px;text-align:center;color:var(--text-dim);font-size:14px}.lock-banner .lock-ico{font-size:32px;margin-bottom:10px;display:block;opacity:.6}.lock-banner strong{color:var(--text)}.l1-list{display:flex;flex-direction:column;gap:12px}.l1-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.l1-card.expanded{border-color:#a78bfa66;background:var(--surface2)}.l1-summary{display:grid;grid-template-columns:28px 120px 1fr auto;align-items:center;gap:18px;padding:14px 18px;cursor:pointer}.l1-toggle{width:22px;height:22px;border-radius:6px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-dim);transition:transform .2s;flex-shrink:0}.l1-card.expanded .l1-toggle{transform:rotate(90deg);background:var(--primary-dim);color:var(--primary)}.l1-image-id{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.l1-image-meta{font-size:10px;color:var(--text-mute);margin-top:2px}.l1-money{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.l1-money-total{font-size:18px;font-weight:700;color:var(--money);font-variant-numeric:tabular-nums}.l1-money-eq{color:var(--text-mute);font-size:13px;font-weight:300}.l1-money-frag{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums}.l1-money-frag .ccy{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:1px 5px;border-radius:3px;border:1px solid var(--border);color:var(--text-mute)}.l1-money-frag.thb .ccy{color:var(--thb);border-color:#22c55e66}.l1-money-frag.php .ccy{color:var(--php);border-color:#f59e0b66}.l1-money-frag.myr .ccy{color:var(--myr);border-color:#a855f766}.l1-money-frag.mop .ccy{color:var(--mop);border-color:#3b82f666}.l1-money-frag.cny .ccy{color:var(--cny);border-color:#ef444466}.l1-status-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border-strong);background:var(--surface2);color:var(--text-dim);white-space:nowrap}.l1-status-pill.partial{background:var(--warn-bg);color:var(--warn);border-color:#fb923c66}.l1-status-pill.done{background:var(--ok-bg);color:var(--ok);border-color:#4ade8066}.l1-status-pill.bad{background:var(--bad-bg);color:var(--bad);border-color:#f8717166}.l1-body{display:none;border-top:1px dashed var(--border)}.l1-card.expanded .l1-body{display:grid;grid-template-columns:minmax(0,1fr) 6px var(--viz-col-w,440px)}.l1-receipts-col{padding:16px 18px;display:flex;flex-direction:column;gap:8px;min-width:0}.l1-receipt-row{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.l1-receipt-row.is-anomaly{border-color:#f8717173;background:#f871710f}.l1-anomaly-badge{display:inline-block;color:var(--bad,#f87171);font-weight:800;margin-right:6px;font-size:13px}.l1-status-pill.has-warn{color:var(--bad,#f87171);border-color:#f8717166;background:#f8717114}.trip-reset-btn{margin-top:8px;padding:6px 12px;border:1px solid var(--border-strong);background:var(--surface2);color:var(--text-dim);border-radius:8px;font-size:11px;cursor:pointer;font-family:inherit}.trip-reset-btn:hover{border-color:var(--bad,#f87171);color:var(--bad,#f87171)}.l1-rname{font-size:13px;font-weight:600}.l1-rmeta{font-size:10px;color:var(--text-mute);margin-top:2px}.l1-ramount{font-size:13px;font-weight:700;color:var(--money);font-variant-numeric:tabular-nums}.l1-yn-group{display:flex;gap:4px}.l1-yn-btn{width:48px;height:32px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface2);color:var(--text-dim);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s}.l1-yn-btn:hover{border-color:var(--text-dim)}.l1-yn-btn.yes-active{background:var(--ok-bg);border-color:#4ade8080;color:var(--ok)}.l1-yn-btn.no-active{background:var(--bad-bg);border-color:#f8717180;color:var(--bad)}.l1-col-resize{position:relative;width:6px;cursor:col-resize;background:transparent;border-left:1px solid var(--border);display:flex;align-items:center;justify-content:center;touch-action:none;-webkit-user-select:none;user-select:none}.l1-col-resize-grip{width:2px;height:36px;border-radius:2px;background:var(--border-strong);transition:background .15s}.l1-col-resize:hover .l1-col-resize-grip,.l1-col-resize.is-dragging .l1-col-resize-grip{background:var(--primary);box-shadow:0 0 8px var(--primary)}.l1-viz-col{background:#06090f99;padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.l1-viz-head{font-size:10px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.8px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:8px}.l1-viz-head>span:last-child{text-transform:none;letter-spacing:0;font-weight:500;color:var(--text-mute);font-size:9.5px}.l1-bbox-frame{position:relative;width:100%;border-radius:10px;overflow:hidden;background:#0a0e1a;border:1px solid var(--border);-webkit-user-select:none;user-select:none}.l1-bbox-world{position:absolute;inset:0}.l1-bbox-controls{position:absolute;top:8px;right:8px;z-index:5;display:flex;align-items:center;gap:4px;background:#08081ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:8px;padding:3px}.l1-bbox-controls button{width:24px;height:24px;border-radius:5px;border:none;background:transparent;color:var(--text);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;line-height:1}.l1-bbox-controls button:hover{background:var(--surface2);color:var(--primary)}.l1-bbox-zoom{font-size:10px;color:var(--text-dim);min-width:34px;text-align:center;font-variant-numeric:tabular-nums}.l1-bbox-paper{position:absolute;background:#ffffff06;border-radius:3px;overflow:hidden}.l1-bbox-paper:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0,transparent 9px,rgba(255,255,255,.04) 9px,rgba(255,255,255,.04) 10px)}.l1-bbox-box{position:absolute;border:calc(2px * var(--inv-scale, 1)) solid var(--bbox-color,#7c6ef5);background:color-mix(in srgb,var(--bbox-color,#7c6ef5) 10%,transparent);border-radius:3px;pointer-events:none}.l1-bbox-label{position:absolute;top:0;left:0;padding:2px 6px;font-size:10px;font-weight:700;color:#050818;background:var(--bbox-color,#7c6ef5);border-radius:6px 6px 6px 0;white-space:nowrap;pointer-events:none}.l1-viz-legend{display:flex;flex-wrap:wrap;gap:8px}.l1-viz-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-dim)}.l1-viz-legend-item .dot{width:8px;height:8px;border-radius:2px}.l2-section-divider{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:1px;margin:16px 0 8px;display:flex;align-items:center;gap:10px}.l2-section-divider:after{content:"";flex:1;height:1px;background:var(--border)}.l2-list{display:flex;flex-direction:column;gap:10px}.l2-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.l2-card.is-yes{opacity:.55}.l2-card.finished{border-color:#4ade8066}.l2-card.expanded{border-color:#a78bfa66}.l2-card.finished.expanded{border-color:#4ade8099}.l2-summary{display:grid;grid-template-columns:28px 1fr auto auto auto;align-items:center;gap:14px;padding:14px 18px;cursor:pointer}.l2-toggle{width:22px;height:22px;border-radius:6px;background:var(--surface2);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-dim);transition:transform .2s;flex-shrink:0}.l2-card.expanded .l2-toggle{transform:rotate(90deg);background:var(--primary-dim);color:var(--primary)}.l2-rid-block{display:flex;align-items:center;gap:10px;min-width:0}.l2-image-tag{font-size:10px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.6px;padding:2px 6px;border:1px solid var(--border);border-radius:4px;font-variant-numeric:tabular-nums;flex-shrink:0}.l2-merchant-name{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.l2-receipt-money{font-size:13px;color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap}.l2-receipt-money strong{color:var(--money);font-weight:700;font-size:14px}.l2-finish-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;background:var(--ok-bg);color:var(--ok);border:1px solid rgba(74,222,128,.4);white-space:nowrap}.l2-progress-pill{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;background:var(--surface2);color:var(--text-mute);border:1px solid var(--border);white-space:nowrap}.l2-progress-pill.partial{background:var(--warn-bg);color:var(--warn);border-color:#fb923c66}.l2-body{display:none;border-top:1px dashed var(--border);background:var(--surface2)}.l2-card.expanded .l2-body{display:grid;grid-template-columns:minmax(0,1fr) 6px var(--l2-viz-col-w,320px)}.l2-left{display:flex;flex-direction:column}.l2-rcp-header{padding:14px 18px 10px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.l2-rcp-header-core{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.l2-edit-merchant{font-size:15px;font-weight:700;background:transparent;border:1px solid transparent;color:var(--text);font-family:inherit;padding:5px 8px;border-radius:6px;outline:none;flex:1;min-width:120px}.l2-edit-merchant:hover{border-color:var(--border-strong)}.l2-edit-merchant:focus{border-color:var(--primary);background:#0006}.l2-ccy-badge{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;border:1.5px solid var(--primary-dim);background:var(--primary-dim);font-size:12px;font-weight:700;color:var(--primary)}.l2-ccy-badge .lbl{font-size:10px;color:var(--text-mute);font-weight:600;margin-right:2px}.l2-edit-ccy{background:transparent;border:none;color:var(--primary);font-family:inherit;font-weight:700;font-size:13px;outline:none;width:48px;padding:0}.l2-header-ext-toggle{display:flex;align-items:center;gap:6px;background:transparent;border:1px dashed var(--border-strong);border-radius:6px;color:var(--text-mute);font-size:11px;font-weight:600;padding:4px 10px;cursor:pointer;font-family:inherit;margin-left:auto}.l2-header-ext-toggle:hover{border-color:var(--text-dim);color:var(--text-dim)}.l2-header-ext{display:none;grid-template-columns:1fr 1fr 1fr;gap:8px;padding-top:4px}.l2-header-ext.open{display:grid}.l2-ext-field{display:flex;flex-direction:column;gap:3px}.l2-ext-field .lbl{font-size:9px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.6px}.l2-ext-field input{background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-family:inherit;font-size:12px;padding:4px 8px;outline:none}.l2-ext-field input:focus{border-color:var(--primary);background:#0006;color:var(--text)}.l2-records-wrap{padding:12px 18px 14px;flex:1}.l2-records-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.l2-rec-label{font-size:10px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.6px;font-weight:700}.l2-add-row-btn{margin-left:auto;font-size:10px;padding:3px 8px;border:1px dashed var(--text-mute);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;font-family:inherit}.l2-add-row-btn:hover{border-color:var(--primary);color:var(--primary)}.l2-ext-rec-toggle{font-size:10px;padding:3px 8px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-mute);cursor:pointer;font-family:inherit}.l2-ext-rec-toggle:hover{border-color:var(--text-dim);color:var(--text-dim)}.l2-ext-rec-toggle.active{border-color:var(--primary-dim);color:var(--primary)}.l2-rec-cols{display:grid;gap:6px;padding:4px 0;border-bottom:1px solid var(--border);margin-bottom:4px}.l2-rec-cols.base{grid-template-columns:28px 1fr 52px 72px 72px 28px}.l2-rec-cols.ext{grid-template-columns:28px 1fr 52px 72px 72px 100px 80px 80px 28px}.l2-col-hd{font-size:9px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.5px;font-weight:700;text-align:center}.l2-col-hd.left{text-align:left;padding-left:4px}.l2-col-hd.right{text-align:right}.l2-record-row{display:grid;gap:6px;align-items:center;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.03)}.l2-record-row.base{grid-template-columns:28px 1fr 52px 72px 72px 28px}.l2-record-row.ext{grid-template-columns:28px 1fr 52px 72px 72px 100px 80px 80px 28px}.l2-record-row.deleted{opacity:.3;pointer-events:none}.l2-r-del{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid transparent;color:var(--text-mute);font-size:14px;cursor:pointer;border-radius:6px;padding:0;margin:auto}.l2-r-del:hover{color:var(--bad);background:var(--bad-bg);border-color:#f871714d}.l2-r-input{background:transparent;border:1px solid transparent;color:var(--text);font-size:12px;font-family:inherit;padding:5px 6px;border-radius:6px;outline:none;width:100%}.l2-r-input:hover{border-color:var(--border)}.l2-r-input:focus{border-color:var(--primary);background:#0006}.l2-r-input.center{text-align:center}.l2-r-input.right{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.l2-r-input.zh{color:var(--money)}.l2-r-input.anomaly-cell{background:#fb923c1f;border-color:#fb923c66;color:#f59e0b}.l2-record-row.lowconf-row .l2-r-input{opacity:.55}.l2-record-row.lowconf-row:before{content:"~";color:var(--text-mute);font-size:10px;align-self:center;padding-left:2px}.l2-r-confirm{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid var(--border-strong);color:var(--text-mute);font-size:13px;cursor:pointer;border-radius:6px;padding:0;margin:auto;transition:all .15s}.l2-r-confirm:hover{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}.l2-r-confirm.active{background:var(--ok-bg);border-color:#4ade8099;color:var(--ok)}.l2-viz-side{border-left:1px solid var(--border);background:var(--card);padding:14px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.l2-viz-side .l1-bbox-frame{flex:1;min-height:160px}.l2-image-head{font-size:10px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.6px;display:flex;justify-content:space-between}.l3-toolbar{display:flex;gap:14px;align-items:center;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px}.l3-tool-stat{font-size:13px;color:var(--text-dim)}.l3-tool-stat strong{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.l3-tool-spacer{flex:1}.btn{border:1px solid var(--border-strong);background:transparent;color:var(--text);padding:7px 14px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.btn:hover{background:var(--surface2)}.l3-section-divider{font-size:11px;color:var(--text-mute);text-transform:uppercase;letter-spacing:1px;margin:16px 0 8px;display:flex;align-items:center;gap:10px}.l3-section-divider:after{content:"";flex:1;height:1px;background:var(--border)}.l3-section-divider .badge{padding:3px 10px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px}.l3-section-divider .badge.yes{background:var(--ok-bg);color:var(--ok);border:1px solid rgba(74,222,128,.3)}.l3-section-divider .badge.fin{background:var(--primary-dim);color:var(--primary);border:1px solid rgba(167,139,250,.3)}.l3-cards{display:flex;flex-direction:column;gap:14px}.l3-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.l3-card-head{display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--border)}.l3-img-tag{font-size:10px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.6px;padding:2px 6px;border:1px solid var(--border);border-radius:4px;font-variant-numeric:tabular-nums}.l3-merchant{font-size:14px;font-weight:700}.l3-card-money{font-size:13px;color:var(--money);font-variant-numeric:tabular-nums;font-weight:700}.l3-back-btn{font-size:11px;padding:4px 10px;border-radius:6px;border:1px solid var(--border-strong);background:transparent;color:var(--text-mute);cursor:pointer;font-family:inherit;font-weight:600}.l3-back-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.l3-table{width:100%;border-collapse:collapse}.l3-table th{background:var(--card);padding:8px 10px;font-size:10px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.6px;font-weight:600;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap}.l3-table th:first-child{width:36px;text-align:center}.l3-table th:last-child{width:44px;text-align:center}.l3-table td{padding:8px 10px;font-size:12px;border-bottom:1px solid rgba(255,255,255,.04);font-variant-numeric:tabular-nums;vertical-align:middle}.l3-table tr.excluded td{color:var(--text-mute);text-decoration:line-through}.l3-table td.cell-zh{color:var(--money)}.l3-table td.cell-amt{text-align:right;font-weight:700}.l3-table td.cell-center{text-align:center}.l3-checkbox{width:16px;height:16px;border-radius:4px;border:1.5px solid var(--text-mute);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:transparent;font-size:10px;margin:auto}.l3-checkbox.checked{background:var(--primary-strong);border-color:var(--primary-strong);color:#fff}.l3-row-back{display:flex;align-items:center;justify-content:center;width:28px;height:20px;border-radius:4px;margin:auto;border:1px solid var(--border);background:transparent;color:var(--text-mute);font-size:11px;cursor:pointer;font-family:inherit}.l3-row-back:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-dim)}.jump-nav{position:fixed;right:24px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6px;z-index:30;background:#14162899;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:999px;padding:8px 6px}.jump-dot{width:10px;height:10px;border-radius:50%;background:var(--text-mute);cursor:pointer;transition:all .2s;border:none;padding:0}.jump-dot[data-state=active]{background:var(--primary);transform:scale(1.4)}.jump-dot[data-state=locked]{opacity:.3;cursor:not-allowed}.jump-dot[data-state=done]{background:var(--ok)}.variant-nav{position:fixed;bottom:18px;left:18px;display:flex;gap:6px;background:#141628b3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:999px;padding:5px;z-index:50}.variant-nav a{padding:5px 12px;font-size:11px;font-weight:600;color:var(--text-dim);text-decoration:none;border-radius:999px}.variant-nav a.active{background:var(--primary);color:#fff}.export-fab{position:fixed;bottom:18px;right:24px;background:linear-gradient(135deg,var(--primary-strong),var(--primary));color:#fff;padding:14px 24px;border-radius:999px;font-weight:700;font-size:13px;border:none;cursor:pointer;font-family:inherit;box-shadow:0 12px 36px #7c6ef566;opacity:.4;pointer-events:none;transition:all .3s}.export-fab.ready{opacity:1;pointer-events:auto}.export-fab.ready:hover{transform:translateY(-2px);box-shadow:0 16px 48px #7c6ef599}.layer-progress.done{background:var(--ok-bg);color:var(--ok);border-color:#4ade8059}.btn:disabled{opacity:.4;cursor:not-allowed}.l3-toolbar .btn{font-size:12px}.lock-banner{margin:14px 22px 22px;padding:14px 18px;border:1px dashed var(--border-strong);border-radius:12px;background:var(--surface);color:var(--text-dim);font-size:13px;display:flex;align-items:center;gap:10px}.lock-ico{font-size:18px}.l1-anomaly-badge{display:inline-block;color:var(--warn);margin-right:4px;font-size:11px}.l1-receipt-row.is-anomaly{background:linear-gradient(90deg,var(--warn-bg),transparent 60%)}.l1-status-pill.has-warn{border-color:#fb923c80;color:var(--warn)}
