:root{--ink:#172536;--ink-soft:#5c6672;--paper:#f5f0e7;--paper-deep:#ebe3d6;--white:#fffdf8;--line:#d7d0c5;--coral:#e3654b;--coral-dark:#bd4d38;--mint:#c9e2d5;--mint-dark:#2d6954;--warning:#f4d28d;--shadow:0 18px 55px #1f27311a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 10% 0%, #e3654b17, transparent 25rem), var(--paper);color:var(--ink);margin:0;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Arial,sans-serif}button,input{font:inherit}button{color:inherit}main{min-height:100vh}.topbar{border-bottom:1px solid #17253629;justify-content:space-between;align-items:center;width:min(1180px,100% - 40px);min-height:78px;margin:0 auto;display:flex}.brand{letter-spacing:.08em;align-items:center;gap:12px;font-size:16px;font-weight:800;display:flex}.brand-mark{background:var(--ink);width:36px;height:36px;color:var(--white);letter-spacing:0;border-radius:50%;place-items:center;font-family:Georgia,serif;display:grid}.privacy-pill{color:var(--mint-dark);background:#c9e2d594;border:1px solid #2d69543b;border-radius:999px;align-items:center;gap:9px;padding:9px 14px;font-size:13px;font-weight:700;display:flex}.privacy-dot{background:#3c8b6d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #3c8b6d24}.hero{width:min(1180px,100% - 40px);margin:0 auto;padding:92px 0 78px}.eyebrow{color:var(--coral-dark);letter-spacing:.22em;margin-bottom:25px;font-size:12px;font-weight:900}.hero h1{letter-spacing:-.055em;max-width:980px;margin:0;font-family:Georgia,Songti SC,STSong,serif;font-size:clamp(50px,7.4vw,94px);font-weight:500;line-height:1.02}.hero h1 em{color:var(--coral);font-style:italic}.hero-copy{max-width:680px;color:var(--ink-soft);margin:35px 0 38px;font-size:18px;line-height:1.85}.engine-note{width:-moz-fit-content;width:fit-content;color:var(--mint-dark);background:#c9e2d585;border:1px solid #2d695438;border-radius:999px;align-items:center;gap:9px;margin:-12px 0 24px;padding:8px 12px 8px 9px;font-size:11px;font-weight:800;display:flex}.engine-note span{background:var(--mint-dark);color:#fff;letter-spacing:.12em;border-radius:999px;padding:3px 6px;font-size:8px}.name-example{border-left:3px solid var(--coral);background:#fffdf8a6;gap:8px;max-width:100%;padding:16px 20px;display:inline-grid}.name-example span{color:var(--ink-soft);letter-spacing:.15em;font-size:11px;font-weight:800}.name-example code{overflow-wrap:anywhere;color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.7}.workspace,.review-section{width:min(1180px,100% - 40px);margin:0 auto;padding:55px 0 68px}.section-heading{justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px;display:flex}.section-heading>div{align-items:baseline;gap:16px;display:flex}.section-heading h2,.action-band h2{letter-spacing:-.035em;margin:0;font-family:Georgia,Songti SC,STSong,serif;font-size:clamp(30px,3.7vw,46px);font-weight:500}.section-heading p{max-width:390px;color:var(--ink-soft);text-align:right;margin:0 0 6px;font-size:14px;line-height:1.65}.step-number{color:var(--coral);font-family:Georgia,serif;font-size:15px;font-style:italic}.upload-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.upload-card{border:1px solid var(--line);background:var(--white);grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:166px;padding:26px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid;box-shadow:0 8px 28px #1f27310f}.upload-card:hover{box-shadow:var(--shadow);border-color:#bfb4a4;transform:translateY(-2px)}.pdf-card:not(.has-file){cursor:pointer;border-style:dashed}.upload-icon{border:1px solid var(--line);width:62px;height:74px;color:var(--coral-dark);letter-spacing:.08em;background:#f3ede3;border-radius:2px;place-items:center;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;font-weight:900;display:grid;box-shadow:6px 6px #1725360f}.pdf-card .upload-icon{background:#f7dfd7}.upload-copy{gap:7px;min-width:0;display:grid}.upload-copy strong,.upload-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.upload-copy strong{font-size:16px}.upload-copy small{color:var(--ink-soft);font-size:12px}.upload-label{color:var(--coral-dark);letter-spacing:.14em;font-size:10px;font-weight:900}.text-button{color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:1px solid;padding:9px 0;font-size:12px;font-weight:800}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.pdf-batch-list{border:1px solid var(--line);background:#fffdf8b8;margin-top:14px}.pdf-batch-heading,.pdf-batch-item{align-items:center;display:grid}.pdf-batch-heading{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;min-height:48px;padding:10px 16px}.pdf-batch-heading strong{font-size:12px}.pdf-batch-heading span{color:var(--ink-soft);font-size:11px}.pdf-batch-item{border-bottom:1px solid #e8e2d9;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;min-height:58px;padding:9px 14px}.pdf-batch-item:last-child{border-bottom:0}.pdf-file-index{color:var(--coral-dark);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;font-weight:900}.pdf-batch-item>div{gap:4px;min-width:0;display:grid}.pdf-batch-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pdf-batch-item small{color:var(--ink-soft);font-size:10px}.pdf-batch-item button{color:var(--coral-dark);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:6px 9px;font-size:10px;font-weight:800}.pdf-batch-item button:disabled{cursor:not-allowed;opacity:.45}.subject-panel{border:1px solid var(--line);background:#fffdf8a6;margin-top:18px}.subject-panel summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:58px;padding:0 20px;font-size:13px;font-weight:800;list-style:none;display:flex}.subject-panel summary::-webkit-details-marker{display:none}.summary-meta{color:var(--ink-soft);font-size:12px;font-weight:500}.subject-table{padding:0 20px 20px}.subject-table-head,.subject-row{grid-template-columns:minmax(0,1fr) 160px 40px;align-items:center;gap:10px;display:grid}.subject-table-head{color:var(--ink-soft);padding:8px 0;font-size:11px}.subject-row{padding:5px 0}.subject-row input,.field-grid input,.field-grid select,.naming-options input{border:1px solid var(--line);background:var(--white);width:100%;min-height:40px;color:var(--ink);border-radius:3px;outline:0}.subject-row input{padding:8px 11px;font-size:13px}.subject-row input:focus,.field-grid input:focus,.field-grid select:focus,.naming-options input:focus{border-color:var(--coral);box-shadow:0 0 0 3px #e3654b1f}.abbr-input{letter-spacing:.08em;font-family:SFMono-Regular,Consolas,monospace;font-weight:800}.remove-button{color:#9a9287;cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;font-size:21px}.remove-button:hover{color:var(--coral-dark);background:#f2e9dd}.add-subject{color:var(--coral-dark);cursor:pointer;background:0 0;border:0;margin-top:12px;padding:8px 0;font-size:13px;font-weight:800}.action-band{background:var(--ink);width:min(1180px,100% - 40px);color:var(--white);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:35px;margin:0 auto;padding:48px 56px;display:flex}.step-number.light{color:#f29a84}.action-band h2{margin-top:8px}.action-band p{color:#b8c1cb;margin:11px 0 0;font-size:13px}.primary-button,.download-button{background:var(--coral);color:#fff;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:35px;min-height:58px;padding:0 24px;font-size:15px;font-weight:900;transition:background .16s,transform .16s;display:inline-flex;box-shadow:7px 7px #ffffff1c}.primary-button{min-width:224px}.primary-button:hover:not(:disabled),.download-button:hover:not(:disabled){background:#f07459;transform:translate(-2px,-2px)}.primary-button:disabled,.download-button:disabled{cursor:not-allowed;opacity:.45}.progress-card,.notice{width:min(1180px,100% - 40px);margin:20px auto 0}.progress-card{border:1px solid var(--line);background:var(--white);padding:20px 24px}.progress-topline{justify-content:space-between;gap:20px;font-size:13px;display:flex}.progress-topline span{color:var(--coral-dark);font-family:Georgia,serif;font-style:italic}.progress-track{background:var(--paper-deep);height:7px;margin-top:14px;overflow:hidden}.progress-track span{background:var(--coral);height:100%;transition:width .25s;display:block}.progress-card button{color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-top:13px;padding:0;font-size:12px}.notice{border-left:3px solid var(--coral);color:#8a4636;background:#fff3e5;padding:14px 18px;font-size:13px;line-height:1.6}.review-section{padding-top:82px}.review-toolbar{border:1px solid var(--line);background:var(--white);justify-content:space-between;align-items:center;gap:20px;min-height:62px;padding:12px 16px;display:flex}.toolbar-right{align-items:center;gap:18px;display:flex}.confirmation-count{background:var(--paper-deep);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800}.select-all{cursor:pointer;align-items:center;gap:9px;font-size:13px;font-weight:800;display:flex}input[type=checkbox]{width:17px;height:17px;accent-color:var(--coral)}.naming-options{align-items:center;gap:14px;display:flex}.naming-options label{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;display:flex}.naming-options input{width:105px;min-height:35px;padding:7px 9px;font-size:12px}.result-list{gap:12px;margin-top:12px;display:grid}.result-card{border:1px solid var(--line);background:var(--white);grid-template-columns:42px 96px minmax(0,1fr) 112px;align-items:start;gap:18px;padding:18px;display:grid}.result-card.needs-review{background:#fffaf0;border-left:4px solid #d99b31}.result-card.is-confirmed{background:#fbfefb;border-left:4px solid #4f987c}.result-select{color:var(--ink-soft);justify-items:center;gap:9px;padding-top:4px;font-family:SFMono-Regular,Consolas,monospace;font-size:11px;display:grid}.page-thumb{aspect-ratio:.707;object-fit:cover;object-position:top;background:#fff;border:1px solid #d5d0c7;width:96px;box-shadow:4px 4px #17253612}.thumb-button{color:var(--coral-dark);cursor:pointer;background:0 0;border:0;justify-items:center;gap:9px;padding:0;font-size:10px;font-weight:900;display:grid}.thumb-button:hover .page-thumb{border-color:var(--coral);box-shadow:6px 6px #e3654b21}.result-fields{min-width:0}.result-source-line{min-width:0;color:var(--ink-soft);align-items:center;gap:9px;margin-bottom:10px;font-size:10px;display:flex}.result-source-line strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.result-source-line>span:not(.template-badge){white-space:nowrap}.template-badge{color:var(--mint-dark);white-space:nowrap;background:#c9e2d5ad;border-radius:999px;padding:4px 7px;font-size:9px;font-weight:900}.field-grid{grid-template-columns:minmax(175px,1.25fr) 92px minmax(190px,1.45fr) 140px 140px;gap:10px;display:grid}.field-grid label{color:var(--ink-soft);letter-spacing:.05em;gap:6px;font-size:10px;font-weight:800;display:grid}.field-grid input{letter-spacing:0;min-height:38px;padding:7px 9px;font-size:12px}.field-grid select{border:1px solid var(--line);background:var(--white);width:100%;min-height:38px;color:var(--ink);border-radius:3px;outline:0;padding:7px 28px 7px 9px;font-size:12px}.display-field{background:#f8f4ed;border-left:2px solid #ded6ca;align-content:center;gap:5px;min-width:0;min-height:48px;padding:8px 10px;display:grid}.display-field span{color:var(--ink-soft);letter-spacing:.06em;font-size:9px;font-weight:800}.display-field strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.filename-line{border-top:1px solid #e8e2d9;grid-template-columns:78px minmax(0,1fr);gap:10px;min-width:0;margin-top:13px;padding-top:12px;display:grid}.filename-line span{color:var(--ink-soft);font-size:10px;font-weight:800}.filename-line code{overflow-wrap:anywhere;color:var(--ink);font-family:SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.55}.ocr-details{margin-top:9px}.ocr-details summary{color:#8a8175;cursor:pointer;font-size:10px}.ocr-details pre{color:#5f5a53;white-space:pre-wrap;background:#f1ece4;max-height:150px;margin:10px 0 0;padding:12px;font-size:10px;line-height:1.6;overflow:auto}.result-status{justify-items:end;gap:7px;display:grid}.result-status>span{border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900}.status-ready{background:var(--mint);color:var(--mint-dark)}.status-warning{background:var(--warning);color:#765019}.result-status small{color:var(--ink-soft);font-size:10px}.result-status .engine-label{max-width:105px;color:var(--mint-dark);text-align:right;font-size:9px;line-height:1.35}.status-confirmed{background:var(--mint);color:var(--mint-dark)}.status-pending{color:#686158;background:#e8e3da}.row-action{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:2px;width:100%;min-height:30px;padding:5px 8px;font-size:10px;font-weight:900}.row-action:hover{border-color:var(--coral);color:var(--coral-dark)}.edit-action{background:var(--ink);color:#fff}.confirm-action{color:var(--mint-dark);background:#e1f0e8;border-color:#71a98f}.preview-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#09121dd1;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.preview-modal{background:var(--paper);grid-template-rows:auto minmax(0,1fr);width:min(1420px,96vw);height:min(940px,93vh);display:grid;overflow:hidden;box-shadow:0 32px 100px #0000005c}.preview-header{border-bottom:1px solid var(--line);background:var(--white);justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding:12px 18px 12px 24px;display:flex}.preview-header>div:first-child{align-items:baseline;gap:12px;min-width:0;display:flex}.preview-header>div:first-child span{color:var(--coral-dark);letter-spacing:.14em;font-size:10px;font-weight:900}.preview-header>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Songti SC,serif;font-size:24px;font-weight:500;overflow:hidden}.preview-header-actions{align-items:center;gap:7px;display:flex}.preview-header-actions button{border:1px solid var(--line);background:var(--white);cursor:pointer;width:34px;height:34px;font-weight:900}.preview-header-actions>span{width:48px;color:var(--ink-soft);text-align:center;font-size:11px}.preview-header-actions .preview-close{border-color:var(--ink);background:var(--ink);color:#fff;margin-left:8px;font-size:20px}.preview-body{grid-template-columns:minmax(0,1fr) 330px;min-height:0;display:grid}.document-stage{background:linear-gradient(45deg, #17253609 25%, transparent 25%), linear-gradient(-45deg, #17253609 25%, transparent 25%), var(--paper-deep);background-position:0 0,9px 9px;background-size:18px 18px;min-height:0;padding:28px;position:relative;overflow:auto}.document-stage img{background:#fff;border:1px solid #c9c1b5;max-width:none;height:auto;margin:0 auto;display:block;box-shadow:0 16px 55px #1725362e}.preview-loading{z-index:2;background:var(--ink);color:#fff;border-radius:999px;width:-moz-fit-content;width:fit-content;margin:0 auto -36px;padding:9px 13px;font-size:11px;font-weight:800;position:sticky;top:8px}.preview-sidebar{border-left:1px solid var(--line);background:var(--white);min-height:0;padding:30px 26px;overflow:auto}.preview-kicker{color:var(--coral-dark);letter-spacing:.14em;font-size:10px;font-weight:900}.preview-sidebar h3{margin:12px 0 26px;font-family:Georgia,Songti SC,serif;font-size:25px;font-weight:500;line-height:1.3}.preview-sidebar dl{gap:0;margin:0;display:grid}.preview-sidebar dl>div{border-top:1px solid #e5ded4;padding:13px 0}.preview-sidebar dt{color:var(--ink-soft);margin-bottom:5px;font-size:10px}.preview-sidebar dd{margin:0;font-size:12px;line-height:1.55}.preview-sidebar p{color:var(--ink-soft);margin:24px 0;font-size:12px;line-height:1.7}.modal-edit-button,.modal-close-button{cursor:pointer;border:0;width:100%;min-height:46px;padding:0 15px;font-size:12px;font-weight:900}.modal-edit-button{background:var(--coral);color:#fff;justify-content:space-between;align-items:center;display:flex}.modal-close-button{border:1px solid var(--line);color:var(--ink-soft);background:0 0;margin-top:9px}.export-bar{z-index:5;background:var(--ink);color:var(--white);justify-content:space-between;align-items:center;gap:25px;margin-top:22px;padding:20px 22px 20px 25px;display:flex;position:sticky;bottom:16px;box-shadow:0 18px 45px #17253647}.export-bar>div:first-child{gap:7px;display:grid}.export-bar strong{font-family:Georgia,Songti SC,serif;font-size:19px;font-weight:500}.export-bar span{color:#b8c1cb;font-size:11px}.download-button{min-width:208px}.download-button span{color:#fff;font-size:18px}.export-actions{align-items:center;gap:12px;display:flex}.confirm-batch-button{color:#d7eee3;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #8fb4a2;min-height:58px;padding:0 20px;font-size:13px;font-weight:900}.confirm-batch-button:disabled{cursor:default;opacity:.55}footer{width:min(1180px,100% - 40px);color:var(--ink-soft);border-top:1px solid #17253629;justify-content:space-between;align-items:center;gap:20px;margin:35px auto 0;padding:35px 0 45px;font-size:12px;display:flex}footer span{color:var(--ink);font-weight:800}footer p{margin:0}@media (max-width:980px){.upload-grid{grid-template-columns:1fr}.field-grid{grid-template-columns:minmax(180px,1fr) 120px 140px 140px}.subject-field,.counterparty-field{grid-column:1/3}.result-card{grid-template-columns:42px 84px minmax(0,1fr)}.page-thumb{width:84px}.result-status{grid-area:2/3;justify-content:flex-start;display:flex}.toolbar-right{flex-wrap:wrap;justify-content:flex-end}.preview-body{grid-template-columns:minmax(0,1fr) 285px}}@media (max-width:720px){.topbar,.hero,.workspace,.review-section,.action-band,.progress-card,.notice,footer{width:min(100% - 24px,1180px)}.topbar{min-height:68px}.privacy-pill{padding:7px 10px;font-size:10px}.hero{padding:62px 0 50px}.hero h1{font-size:clamp(43px,14vw,66px)}.hero-copy{font-size:16px}.section-heading,.action-band,.review-toolbar,.export-bar,footer{flex-direction:column;align-items:flex-start}.section-heading p{text-align:left}.upload-card{grid-template-columns:52px minmax(0,1fr);padding:20px}.upload-icon{width:52px;height:64px}.upload-card .text-button{grid-column:2;justify-self:start}.subject-table-head,.subject-row{grid-template-columns:minmax(0,1fr) 92px 34px}.action-band{padding:32px 26px}.primary-button,.download-button,.confirm-batch-button,.toolbar-right,.export-actions{width:100%}.toolbar-right{flex-direction:column;align-items:flex-start}.export-actions{grid-template-columns:1fr;display:grid}.naming-options{width:100%}.naming-options label{flex:1}.naming-options input{flex:1;min-width:0}.result-card{grid-template-columns:34px 72px minmax(0,1fr);gap:11px;padding:13px}.page-thumb{width:72px}.field-grid{grid-template-columns:1fr}.subject-field,.counterparty-field{grid-column:auto}.filename-line{grid-template-columns:1fr}.export-bar{bottom:8px}.preview-backdrop{padding:0}.preview-modal{width:100vw;height:100vh}.preview-header{min-height:60px;padding:10px 12px}.preview-header>div:first-child span{display:none}.preview-header-actions{gap:4px}.preview-header-actions button{width:31px;height:31px}.preview-body{grid-template-rows:minmax(50vh,1fr) auto;grid-template-columns:1fr}.document-stage{padding:14px}.preview-sidebar{border-top:1px solid var(--line);border-left:0;max-height:38vh;padding:18px}.preview-sidebar h3{margin:7px 0 12px;font-size:20px}.preview-sidebar dl{grid-template-columns:1fr 1fr;gap:0 14px}.preview-sidebar p{display:none}}
