:root{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#1b333b;background:#f3f6f8;font-size:16px;--ink:#103c45;--muted:#62727c;--line:#dce5ea;--amber:#ac6b0d;--red:#a53233;--green:#226950}*{box-sizing:border-box}body{margin:0}header{height:84px;background:var(--ink);padding:0 44px;display:flex;align-items:center;justify-content:space-between;color:white}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;font-weight:650;font-size:21px}.brand-sub{font-size:14px;font-weight:400;color:#c5d6d9;margin-left:16px}.mark{border:1px solid #8db0b7;width:44px;height:44px;border-radius:10px;display:grid;place-items:center;font-size:17px;letter-spacing:1px}.header-right{display:flex;gap:15px;align-items:center}.private-label{font-size:14px;color:#cae0e4}.ghost{background:transparent;border:1px solid #42646d;color:white}.ghost:hover{background:#224f59}main{max-width:1440px;margin:auto;padding:36px 44px 18px}.page-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.eyebrow{letter-spacing:2px;font-size:12px;color:#55727e;font-weight:650}h1{font-size:30px;line-height:1.3;margin:8px 0 9px;font-weight:650}h2{font-size:18px;margin:0 0 16px;font-weight:650}h3{font-size:17px;margin:0 0 8px}p{line-height:1.7;margin:0}.muted{color:var(--muted);font-size:14px}button,.select-button,.ghost{font:inherit;font-size:14px;font-weight:550;padding:11px 17px;min-height:42px;border-radius:7px;text-decoration:none;cursor:pointer;display:inline-flex;justify-content:center;align-items:center;gap:8px}button{border:1px solid var(--ink);background:var(--ink);color:white}button:hover{background:#20545f}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:white;color:var(--ink);border:1px solid #ccd9df}.secondary:hover{background:#f1f5f7}.connection{display:flex;align-items:center;gap:12px;background:#e9f1f5;border:1px solid #d4e3eb;border-radius:8px;padding:13px 17px;margin-bottom:24px;font-size:14px;line-height:1.5}.connection-icon{font-size:22px}.connection .small{margin-left:auto}.small{color:var(--muted);font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:26px;overflow:hidden}.stats>div{padding:19px 25px;border-right:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.stats>div:last-child{border:0}.stats span{font-size:14px;color:var(--muted)}.stats strong{font-size:29px;font-weight:600;font-variant-numeric:tabular-nums}.stats>div:nth-child(3) strong{color:var(--red)}.workbench{display:grid;grid-template-columns:355px minmax(0,1fr);gap:22px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden}.register{padding:20px 16px;min-height:490px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.panel-heading h2{margin:0}input,textarea{font:inherit;font-size:14px;width:100%;border:1px solid #c9d7de;border-radius:6px;padding:11px 12px;background:white;color:#183d48;line-height:1.5}input:focus,textarea:focus{outline:2px solid #56a2b4;outline-offset:1px}button:focus-visible,a:focus-visible,.dropzone:focus-within{outline:3px solid #74b8c6;outline-offset:3px}label{display:block;font-size:14px;color:#405d67}label input,label textarea{margin-top:7px}.filters{display:flex;gap:4px;margin:14px 0;flex-wrap:wrap}.filters button{padding:7px 10px;min-height:34px;border:0;color:var(--muted);background:#f4f7f9;font-size:13px}.filters button.active{background:#dfeef2;color:var(--ink)}.invoice-card{width:100%;display:block;text-align:left;background:white;color:inherit;border:1px solid transparent;border-top:1px solid var(--line);border-radius:7px;padding:14px 10px;min-height:95px}.invoice-card:hover,.invoice-card.selected{background:#eff6f8;color:inherit}.invoice-card.selected{border:1px solid #91b7c1}.card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.card-title{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:180px}.badge{font-size:12px;white-space:nowrap;display:inline-flex;align-items:center;padding:4px 8px;border-radius:5px;background:#f9efdd;color:#805309;font-weight:550}.badge.checked{color:var(--green);background:#e4f1ea}.badge.correction_required{color:var(--red);background:#fbe7e6}.badge.scanning,.badge.queued{color:#245d8b;background:#e7f0f8}.detail{min-height:490px;padding:25px}.empty{text-align:center;padding:65px 10px;color:var(--muted)}.empty h2{color:#375964;margin:20px 0 10px}.empty-icon{font-size:38px;color:#6d929f}.steps{display:flex;justify-content:center;gap:18px;margin-top:30px;font-size:12px;flex-wrap:wrap}.detail-title{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.detail-title h2{margin:0 0 7px;font-size:22px}.detail-title a{align-self:start;white-space:nowrap}.file-meta{padding:12px;background:#f6f8fa;border-radius:6px;font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.full{grid-column:1/-1}.issues{background:#fff6e6;border:1px solid #ecd7b0;padding:15px 17px;border-radius:7px;margin:18px 0}.issues.errors{background:#fff0ef;border-color:#ebc4c1}.issues h3{color:#864d10}.issues ul{padding-left:20px;margin:10px 0 0;font-size:14px;line-height:1.85}.issues li{margin-bottom:6px}.confirmed-label{display:flex;align-items:flex-start;gap:9px;font-size:14px;line-height:1.6;margin:16px 0}.confirmed-label input{width:18px;height:18px;margin:3px 0 0;flex-shrink:0}.review-actions{display:flex;gap:12px;align-items:center}.review-actions .muted{font-size:12px}.scan-text{margin-top:22px;font-size:14px;color:var(--muted)}summary{cursor:pointer}.scan-text pre{white-space:pre-wrap;font-size:13px;line-height:1.65;max-height:300px;overflow:auto;background:#f5f8fa;padding:16px;border-radius:6px;direction:auto}.settings{padding:24px;margin-bottom:25px}.settings button{margin-right:10px}.divider{height:1px;background:var(--line);margin:24px 0}.settings p{margin-bottom:16px}footer{text-align:center;color:#70808a;font-size:12px;line-height:1.6;padding:22px 0 8px}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:15px 22px;max-width:calc(100% - 30px);font-size:14px;z-index:10;box-shadow:0 6px 20px #0002}.upload-main{max-width:900px}.upload-main .page-top{margin-bottom:28px}.upload-panel{padding:24px;margin-bottom:24px}.dropzone{border:1.5px dashed #93b0ba;background:#f4f9fb;border-radius:9px;text-align:center;padding:34px 20px;display:flex;flex-direction:column;gap:12px;align-items:center;cursor:pointer}.dropzone.dragging{background:#e4f1f5;border-color:#1e778e}.upload-symbol{font-size:30px;line-height:1;color:#376575}.dropzone strong{font-size:19px;color:var(--ink)}.dropzone>span{color:var(--muted);font-size:14px}.dropzone .select-button{background:var(--ink);color:white;padding:10px 24px;margin-top:6px}.buyer-reference{display:flex;flex-direction:column;gap:9px;padding:20px 0 0;font-size:14px;color:var(--muted);line-height:1.6}.buyer-reference strong{font-weight:550;color:#36555f}.replacement{font-size:14px;color:var(--muted);margin:18px 0 0}.replacement label{margin-top:12px}.replacement p{margin-top:8px}.login-panel{padding:26px;max-width:460px;margin:0 auto 24px}.login-panel label{margin-bottom:18px}.login-panel button{width:100%;margin:0 0 15px}.upload-record-list{padding:0 24px 24px}.upload-main #upload-records>.panel-heading{padding:24px 24px 0}.uploaded-card{border-top:1px solid var(--line);padding:18px 0}.uploaded-card .card-top{margin-bottom:10px}.uploaded-card strong{overflow-wrap:anywhere}.uploaded-card .muted{font-size:12px;overflow-wrap:anywhere}.uploaded-card a{font-size:14px;color:#205d76;text-decoration:none}.uploaded-card .issues{margin-bottom:8px}#upload-progress{font-size:14px;line-height:1.7;color:#365b67;white-space:pre-line;margin-top:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:1050px){header{padding:0 25px}main{padding:28px 25px 14px}.workbench{grid-template-columns:300px minmax(0,1fr)}.stats>div{padding:16px 20px;gap:15px}}@media(max-width:760px){header{height:auto;min-height:78px;padding:18px 20px;align-items:flex-start;gap:18px;flex-wrap:wrap}.brand-sub{margin-left:12px}.header-right{gap:8px;flex-wrap:wrap}.private-label{display:none}main{padding:24px 16px 10px}.page-top{align-items:flex-start}h1{font-size:25px}.stats{grid-template-columns:1fr 1fr}.stats>div{border-bottom:1px solid var(--line)}.stats>div:nth-child(2){border-right:0}.workbench{grid-template-columns:1fr}.register{min-height:220px}.detail{padding:20px;min-height:340px}.empty{padding:35px 0}.connection{flex-wrap:wrap}.connection .small{margin:0}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.settings{padding:20px}.review-actions{align-items:flex-start;flex-direction:column}.upload-panel{padding:16px}.dropzone{padding:28px 12px}.upload-record-list{padding:0 18px 18px}.detail-title{flex-wrap:wrap}.steps{gap:10px}.card-title{max-width:60%}.ghost{padding:8px 11px}.stats strong{font-size:26px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .15s}}
select{font:inherit;font-size:14px;border:1px solid #c9d7de;border-radius:6px;padding:10px 12px;background:white;color:#183d48;min-height:42px;max-width:100%}.month-controls{display:flex;gap:15px;align-items:flex-end}.month-controls label{display:flex;flex-direction:column;gap:7px}.month-controls select{min-width:160px}@media(max-width:760px){.month-controls{flex-wrap:wrap;gap:9px}.page-top{flex-wrap:wrap}.month-controls select{min-width:140px}}
