:root{color:#102348;font-synthesis:none;--blue:#1765ff;--line:#e3ebf6;--muted:#72819a;background:#f5f7fb;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:3px}button{cursor:pointer;border:1px solid var(--line);color:inherit;background:#fff;border-radius:8px;padding:8px 12px}button:disabled{opacity:.4;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(.97)}a{color:var(--blue);text-decoration:none}input,select,textarea{color:inherit;background:#fff;border:1px solid #dbe4f1;border-radius:7px;min-width:0;padding:10px 11px}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:2px solid #1765ff33}input[type=checkbox]{accent-color:var(--blue);width:16px;height:16px}input[type=file]{max-width:100%}label{flex-direction:column;gap:8px;display:flex}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.8px;margin-bottom:10px;font-size:28px;font-weight:650}h2{font-size:17px;font-weight:600}h3{margin-bottom:8px;font-size:15px;font-weight:600}p{color:var(--muted);line-height:1.7}small{color:var(--muted);font-size:12px}.primary{background:var(--blue);color:#fff;border-color:var(--blue);padding:11px 17px;font-weight:550}.secondary{color:#395074;background:#fff;padding:10px 14px}.small{padding:7px 11px;font-size:12px}.text-button{color:var(--blue);background:0 0;border:0;padding:6px}.eyebrow{letter-spacing:2px;color:#7c8ba5;margin-bottom:12px;font-size:10px;font-weight:650}.sidebar{background:#eaf3ff;border-right:1px solid #dce7f6;flex-direction:column;width:220px;padding:30px 18px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:10px;margin-bottom:55px;display:flex}.brand img{width:37px;height:37px}.brand strong{letter-spacing:-.4px;font-size:20px;display:block}.brand small{color:#6a85ad;margin-top:4px;font-size:10px;display:block}.nav-label{color:#869bb7;letter-spacing:1px;margin-bottom:13px;padding:0 15px;font-size:10px}.nav{text-align:left;color:#5c7395;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:13px 15px;display:flex}.nav.active{color:#145bf0;background:#d5e6ff;font-weight:600}.nav>span{font-size:18px}.nav.bottom{justify-content:space-between;margin-top:auto}.sidebar-note{color:#48678f;margin:36px 14px;font-size:12px}.sidebar-note p{color:#8295af;margin-top:10px;font-size:11px;line-height:1.9}.dot{background:#2aa78b;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.main-shell{margin-left:220px}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:70px;padding:0 34px;display:flex}.breadcrumbs{color:#7890b1;font-size:12px}.breadcrumbs span{color:#c2cddd;margin:0 13px}.account{align-items:center;gap:10px;font-size:12px;display:flex}.account .text-button{color:#61738e;font-size:12px}.avatar{color:#56709f;background:#edf2fc;border-radius:50%;place-items:center;width:27px;height:27px;font-size:11px;display:grid}.workspace{max-width:1580px;margin:auto;padding:34px}.page-heading{justify-content:space-between;align-items:center;margin-bottom:26px;display:flex}.page-heading p{margin:0;font-size:13px}.upload-zone{background:#fafdff;border:1px dashed #b9cfee;border-radius:12px;align-items:center;gap:22px;padding:26px 28px;display:flex}.upload-icon{width:46px;height:46px;color:var(--blue);background:#eaf1ff;border-radius:12px;place-items:center;font-size:27px;display:grid}.upload-zone p{margin:0;font-size:12px}.upload-zone h3{margin-bottom:7px}.upload-zone button{white-space:nowrap;margin-left:auto}.stats{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(3,1fr) 1.15fr;margin:26px 0;padding:22px 0;display:grid}.stats>div{border-right:1px solid var(--line);padding:0 26px}.stats>div:last-child{border:0}.stats span{color:#8290a6;font-size:11px}.stats strong{font-variant-numeric:tabular-nums;margin-top:8px;font-size:29px;font-weight:550;display:block}.stats strong small{margin-left:8px}.stats .stat-note{align-items:center;gap:10px;display:flex}.stat-note p{margin:0;font-size:11px;line-height:1.9}.stat-note b{color:#546782;font-weight:500}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;padding:20px 22px 16px;display:flex}.panel-heading h2{margin:0}.panel-heading h2 small{background:#f1f4f9;border-radius:4px;margin-left:10px;padding:3px 7px;font-size:11px}.filters{gap:10px;padding:0 22px 20px;display:flex}.filters input[type=search]{flex:1}.filters input[type=date]{width:145px}.filters input,.filters select{padding:9px 10px;font-size:12px}.history-scroll{overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}thead{color:#7b89a0;background:#f7f9fc;font-weight:400}th{white-space:nowrap;border-bottom:1px solid var(--line);padding:12px 16px;font-weight:500}td{border-bottom:1px solid #f0f3f8;padding:16px}.history-table{min-width:900px}.history-table td small{margin-top:6px;display:block}.file-link{text-align:left;color:#28466d;background:0 0;border:0;padding:0;font-weight:550}.check-cell{width:50px}.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.badge{color:#7d8ca5;white-space:nowrap;background:#f0f3f9;border-radius:5px;padding:5px 8px;font-size:10px;line-height:1.5;display:inline-block}.badge.confirmed,.badge.matched{color:#22836c;background:#e8f6f1}.badge.ready_for_review{color:#4076cf;background:#eaf0ff}.badge.failed,.badge.difference{color:#bf5744;background:#fff0ed}.badge.manual_required,.badge.ambiguous{color:#ab7a26;background:#fff5df}.pagination{justify-content:flex-end;align-items:center;gap:10px;padding:15px 20px;display:flex}.pagination span{color:var(--muted);margin-right:auto;font-size:11px}.pagination button{font-size:11px}.empty{text-align:center;padding:68px 20px 62px}.empty>div{color:#aac2e5;margin-bottom:14px;font-size:34px}.empty p{font-size:12px}.empty.compact{padding:45px 10px}.footnote{text-align:center;color:#99a6bb;margin-top:20px;font-size:11px}.review{padding:22px 24px 30px}.review-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.back{background:0 0;border:0;padding:5px 10px;font-size:21px}.review-title{flex:1;min-width:0}.review-title h1{letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:20px;overflow:hidden}.review-title p{margin:0;font-size:11px}.review-title p span{margin:0 9px}.review-notice{color:#6380aa;background:#edf4ff;border:1px solid #dce8f9;border-radius:7px;justify-content:space-between;margin-bottom:16px;padding:10px 14px;font-size:11px;display:flex}.review-notice.warning{color:#aa782d;background:#fff7e8;border-color:#f2ddb6}.split{grid-template-columns:var(--pdf-width,40%) minmax(0, 1fr);align-items:start;gap:16px;display:grid}.pdf-pane,.records-pane{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;overflow:hidden}.pane-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:16px 17px;display:flex}.pane-title h2{margin:0;font-size:14px}.pane-title h2 small{margin-left:8px}.pane-title a{font-size:10px}.pdf-tools{background:#fbfcfe;align-items:center;gap:7px;padding:10px 12px;font-size:11px;display:flex}.pdf-tools button{padding:4px 8px;font-size:16px}.pdf-tools input[type=number]{text-align:center;width:40px;padding:6px 3px}.pdf-tools select{padding:6px;font-size:10px}.width-control{gap:2px;margin-left:auto;font-size:10px}.width-control input{width:65px;padding:0}.pdf-scroll{background:#e9eef5;height:calc(100vh - 320px);min-height:460px;padding:18px 12px;overflow:auto}.pdf-paper{background:#fff;width:max-content;position:relative;box-shadow:0 2px 7px #15335618}.pdf-paper canvas{max-width:none;display:block}#pdf-highlight{pointer-events:none;background:#1765ff16;border-top:2px solid #1765ff88;height:16px;display:none;position:absolute;left:0;right:0}.pdf-scroll>p{font-size:12px}.table-tools{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:12px;display:flex}.table-tools input{flex:1;width:100px;padding:8px;font-size:10px}.table-tools button{white-space:nowrap;font-size:10px}.expense-scroll{min-height:310px;max-height:calc(100vh - 465px);overflow:auto}.expense-table{table-layout:fixed;min-width:740px}.expense-table th{z-index:1;background:#f7f9fc;padding:12px 7px;font-size:10px;position:sticky;top:0}.expense-table th em{color:#99a5b7;margin-top:4px;font-size:9px;font-style:normal;font-weight:400;display:block}.expense-table th:first-child{width:34px}.expense-table th:nth-child(2){width:160px}.expense-table th:nth-child(3){width:105px}.expense-table th:nth-child(4){width:126px}.expense-table th:nth-child(5){width:130px}.expense-table th:nth-child(6){width:64px}.expense-table th:nth-child(7){width:34px}.expense-table td{padding:7px 5px}.expense-table input{background:0 0;border-color:#0000;border-radius:5px;width:100%;padding:8px 6px;font-size:11px}.expense-table input:hover{border-color:#d4dfef}.expense-table input.missing{background:#fff9ed}.expense-table input.number{font-weight:600}.row-source{color:#91a1b7;background:0 0;border:0;padding:6px 1px;font-size:10px}.delete{color:#b1bac9;background:0 0;border:0;padding:2px 4px}.delete:hover{color:#bd594b}.totals{border-top:1px solid var(--line);background:#fafcff;justify-content:space-between;gap:10px;padding:17px 14px;display:flex}.totals span{color:#8897ae;margin-bottom:7px;font-size:9px;display:block}.totals strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.validation{border-top:1px solid var(--line);padding:12px 15px;font-size:11px;line-height:1.6}.validation small{margin-top:4px;font-size:10px;display:block}.success{color:#23846c}.danger{color:#bd5746}.warning-text{color:#aa7a2b}.review-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:7px;padding:12px;display:flex}.review-actions button{padding:9px 10px;font-size:10px}.spacer{flex:1}.alert{color:#5d7ca6;background:#edf4ff;border-radius:7px;margin:12px 0;padding:12px 14px;font-size:12px;line-height:1.7}.alert button{margin-left:10px;font-size:11px}.alert.warning{color:#a47e3a;background:#fff6e6}.alert.error{color:#b45e50;background:#fff0ed}.mobile-tabs{display:none}.erp-results{margin-top:22px}.erp-results>p{margin:0 22px 16px;font-size:12px}dialog{border:1px solid var(--line);color:#102348;border-radius:14px;width:530px;max-width:calc(100vw - 30px);max-height:90vh;padding:30px;box-shadow:0 25px 80px #10234830}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b214a55}dialog h2{margin-bottom:14px;font-size:22px}dialog p{font-size:12px}dialog form{flex-direction:column;gap:18px;display:flex}dialog label{font-size:12px}.dialog-close{color:#8d9bb0;border:0;font-size:22px;position:absolute;top:8px;right:12px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.check-label{flex-direction:row;align-items:flex-start;line-height:1.8}.check-label input{flex-shrink:0;margin-top:3px}.guide-step{border-bottom:1px solid var(--line);gap:20px;padding:17px 0;display:flex}.guide-step>b{color:#a9c0e3;font-size:21px;font-weight:500}.guide-step p{margin:0}.guide-step h3{margin-bottom:7px}.revision{border-bottom:1px solid var(--line);padding:14px 0}.revision small{margin-top:5px;display:block}.revision p{margin-top:8px}.candidate-list{max-height:380px;overflow:auto}.candidate-list table{min-width:410px}#toast{z-index:20;opacity:0;pointer-events:none;color:#fff;background:#183359;border-radius:9px;max-width:85vw;padding:13px 20px;font-size:13px;transition:all .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);box-shadow:0 5px 25px #18335935}#toast.show{opacity:1;transform:translate(-50%)}.login{background:#fff;grid-template-columns:1.12fr 1fr;min-height:100vh;display:grid}.login-art{background:#eaf3ff;flex-direction:column;justify-content:center;padding:10vh 12%;display:flex}.login-art>img{width:57px;margin-bottom:30px}.login-art>span{letter-spacing:2px;color:#7b98c1;margin-bottom:30px;font-size:11px}.login-art h1{letter-spacing:-2px;margin-bottom:24px;font-size:46px;font-weight:550;line-height:1.45}.login-art p{color:#6c85a9;font-size:14px;line-height:2}.login-steps{color:#7491bc;gap:24px;margin-top:60px;font-size:10px;display:flex}.login-form{flex-direction:column;place-self:center;gap:21px;width:350px;max-width:calc(100% - 50px);display:flex}.login-form h2{margin-bottom:-9px;font-size:28px}.login-form p{margin-bottom:15px;font-size:12px}.login-form .eyebrow{margin-bottom:-8px}.login-form label{color:#566a87;font-size:12px}.login-form input{padding:12px}.login-form .primary{justify-content:space-between;margin-top:4px;display:flex}.login-form>small{text-align:center;font-size:10px}.form-error{color:#bb5a4b;min-height:16px;font-size:12px}@media (width>=1600px){.expense-table{min-width:700px}.sidebar{width:230px}.main-shell{margin-left:230px}}@media (width<=1150px){.sidebar{width:185px;padding:25px 13px}.main-shell{margin-left:185px}.brand strong{font-size:18px}.workspace{padding:26px}.review{padding:18px}.split{grid-template-columns:38% minmax(0,1fr)}.stats>div{padding:0 18px}.width-control,.review-heading>.badge{display:none}.totals{flex-wrap:wrap}.totals>div{min-width:40%}}@media (width<=760px){.sidebar{border-right:0;flex-flow:wrap;align-items:center;gap:8px;width:auto;height:auto;padding:12px 18px;position:static}.brand{flex-basis:100%;margin:0}.brand img{width:30px;height:30px}.brand small{font-size:8px}.brand strong{font-size:18px}.sidebar .nav-label,.sidebar-note{display:none}.sidebar .nav{white-space:nowrap;flex:1;width:auto;margin:0;padding:7px;font-size:11px}.sidebar .nav.bottom{margin:0;padding:7px;font-size:11px}.main-shell{margin:0}.topbar{height:48px;padding:0 18px}.breadcrumbs{font-size:10px}.account{gap:3px}.avatar{display:none}.workspace{padding:25px 15px}.page-heading{align-items:flex-start;gap:8px}.page-heading h1{font-size:24px}.page-heading p{font-size:11px}.page-heading button{padding:10px;font-size:11px}.upload-zone{flex-wrap:wrap;gap:12px;padding:22px 16px}.upload-zone>div:nth-child(2){flex:1}.upload-zone p{font-size:10px}.upload-zone h3{font-size:12px}.upload-zone button{margin-left:58px;font-size:11px}.upload-icon{width:37px;height:37px}.stats{grid-template-columns:repeat(3,1fr);margin:18px 0;padding:19px 0}.stats>.stat-note{display:none}.stats>div:nth-child(3){border:0}.stats>div{padding:0 16px}.stats span{font-size:10px}.stats strong{font-size:25px}.panel-heading{padding:17px 15px}.filters{flex-wrap:wrap;padding:0 15px 15px}.filters input[type=search]{flex-basis:100%}.filters input[type=date]{flex:1;min-width:120px}.filters select{width:110px}.filters>button{font-size:11px}.history-table td{padding:13px}.review{padding:14px 10px}.review-heading{flex-wrap:wrap;gap:5px}.review-title{flex-basis:calc(100% - 50px)}.review-title h1{font-size:17px}.review-heading>.secondary{margin-left:35px}.review-heading>.secondary:last-child{margin-left:0}.review-title p{font-size:10px}.review-notice{gap:10px;font-size:10px}.review-notice>span:last-child{display:none}.mobile-tabs{gap:8px;margin:0 0 12px;display:flex}.mobile-tabs button{color:var(--blue);background:#fff;flex:1;font-size:12px}.split{display:block}.pdf-pane{display:none}.split.show-pdf .pdf-pane{display:block}.split.show-pdf .records-pane{display:none}.pdf-scroll{height:65vh;min-height:400px}.expense-scroll{min-height:280px;max-height:52vh}.totals{gap:17px}.totals>div{min-width:40%}.totals strong{font-size:17px}.review-actions button{font-size:11px}.review-actions{background:#fff;position:sticky;bottom:0}.review-actions .spacer{display:none}.expense-table{min-width:740px}.login{background:#f5f8ff;padding:35px 0 50px;display:block}.login-art{background:0 0;padding:0 28px 25px}.login-art>img{width:39px;margin-bottom:15px}.login-art>span{margin-bottom:15px;font-size:9px}.login-art h1{letter-spacing:-1px;margin-bottom:14px;font-size:30px;line-height:1.35}.login-art p,.login-steps{display:none}.login-form{border:1px solid var(--line);background:#fff;border-radius:12px;width:360px;margin:auto;padding:27px 24px}.login-form h2{font-size:23px}.login-form p{font-size:11px}.login-form .eyebrow{font-size:9px}dialog{padding:26px 21px}dialog h2{font-size:20px}.candidate-list{max-height:45vh}}
