:root{--ink:#18231f;--muted:#64716c;--line:#dfe6e2;--soft:#f4f7f5;--green:#137a55;--green2:#e8f5ef;--red:#c43d3d;--red2:#fff0ef;--amber:#a46a06;--amber2:#fff7e3;--nav:#10251d;--white:#fff;--shadow:0 12px 30px rgba(22,45,36,.08)}
.login-screen{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 20% 15%,#234c3c 0,#10251d 42%,#08140f 100%);display:grid;place-items:center;padding:20px}.login-screen.hidden{display:none}.login-card{width:min(430px,100%);background:white;border-radius:22px;padding:34px;box-shadow:0 30px 90px rgba(0,0,0,.35)}.login-card h1{margin:14px 0 8px;font-size:25px}.login-card>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.6;margin-bottom:22px}.login-card label{display:block;color:var(--muted);font-size:12px;font-weight:750;margin-top:13px}.login-card input{display:block;width:100%;margin-top:6px;border:1px solid var(--line);border-radius:10px;padding:12px;font:inherit}.login-card .primary{width:100%;margin-top:20px}.login-error{min-height:20px;margin-top:10px;color:var(--red);font-size:12px}.task-list{display:grid;gap:9px;margin-top:18px;min-width:min(720px,80vw)}.task-list article{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:13px}.task-list b,.task-list span,.task-list em{font-size:12px}.task-list span,.task-list em{color:var(--muted);font-style:normal}.task-list button{border:0;border-radius:8px;padding:8px 12px;background:var(--green2);color:var(--green);font-weight:800;cursor:pointer}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:#f7f9f8}.topbar{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}.brand,.top-actions{display:flex;align-items:center;gap:12px}.brand-mark{width:40px;height:40px;border-radius:12px;background:var(--nav);color:white;display:grid;place-items:center;font-weight:800}.brand strong{display:block;font-size:16px}.brand small{color:var(--muted)}.top-actions{font-size:13px;color:var(--muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:#21a56f}.shell{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 72px)}.sidebar{background:var(--nav);color:#fff;padding:26px 18px;position:sticky;top:72px;height:calc(100vh - 72px)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:#7e8d87;margin:0 0 8px}.sidebar .eyebrow{color:#86a598;margin-left:10px}.step{width:100%;border:0;background:transparent;color:#b9c9c3;display:flex;gap:12px;text-align:left;padding:13px 12px;border-radius:12px;margin:5px 0;cursor:pointer}.step:hover,.step.active{background:rgba(255,255,255,.09);color:#fff}.step>span{width:27px;height:27px;border-radius:8px;border:1px solid #4c675d;display:grid;place-items:center;font-weight:800}.step.active>span{background:#28a978;border-color:#28a978}.step div{font-weight:700;line-height:1.25}.step small{display:block;font-weight:400;margin-top:4px;color:#86a598}.side-note{position:absolute;bottom:24px;left:18px;right:18px;background:rgba(255,255,255,.07);padding:15px;border-radius:12px;font-size:12px;color:#b9c9c3;line-height:1.55}.side-note b{color:white}.side-note p{margin:6px 0 0}main{padding:34px;max-width:1440px;width:100%;margin:0 auto}.hero{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.hero h1{font-size:28px;margin:0 0 6px}.hero>div>p:last-child{margin:0;color:var(--muted)}.case-switch{background:white;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.case-switch label{font-size:11px;font-weight:800;color:var(--muted);display:block;margin-bottom:4px}.case-switch select{border:0;font:inherit;font-weight:700;color:var(--ink);background:transparent;min-width:180px;outline:none}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow)}.hidden{display:none!important}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.section-head h2{margin:0 0 5px;font-size:22px}.section-head p:last-child{margin:0;color:var(--muted);font-size:14px}.primary,.ghost{border:0;border-radius:10px;padding:11px 16px;font:inherit;font-weight:750;cursor:pointer}.primary{background:var(--green);color:white}.primary:hover{background:#0f6849}.ghost{background:var(--soft);color:var(--ink)}.file-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.file-card{border:1px solid var(--line);border-radius:14px;padding:17px;min-height:132px;cursor:pointer;transition:.2s}.file-card:hover{border-color:#66a98f;transform:translateY(-2px)}.file-icon{width:34px;height:34px;border-radius:10px;background:var(--green2);color:var(--green);display:grid;place-items:center;font-weight:850}.file-card h3{font-size:14px;margin:14px 0 5px}.file-card p{font-size:12px;color:var(--muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-state{display:inline-block;margin-top:9px;font-size:11px;font-weight:800;color:var(--green)}.source-summary{margin-top:18px;padding:14px 16px;border-radius:12px;background:var(--soft);display:flex;gap:14px;font-size:13px}.source-summary span{color:var(--muted)}h3{font-size:15px;margin:24px 0 12px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.field label{font-size:11px;color:var(--muted);display:block;margin-bottom:6px;font-weight:750}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px 11px;font:inherit;background:white}.field input:focus{outline:2px solid #a9d6c3;border-color:transparent}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{border-collapse:collapse;width:100%;font-size:12px;min-width:970px}th,td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}th{background:var(--soft);color:#52615b;font-size:11px}td input{width:100%;border:1px solid transparent;padding:7px;border-radius:7px;font:inherit}td input:focus{border-color:#9fcdbb;outline:none;background:#f7fbf9}.score{width:82px;height:82px;border-radius:50%;background:var(--green2);display:grid;place-content:center;text-align:center}.score strong{font-size:24px;color:var(--green)}.score span{font-size:10px;color:var(--muted)}.check-summary{display:flex;gap:12px;margin-bottom:16px}.pill{padding:8px 12px;border-radius:99px;font-size:12px;font-weight:800}.pill.red{background:var(--red2);color:var(--red)}.pill.amber{background:var(--amber2);color:var(--amber)}.pill.green{background:var(--green2);color:var(--green)}.check-list{display:grid;gap:10px}.check{border:1px solid var(--line);border-radius:12px;padding:14px 16px;display:grid;grid-template-columns:28px 1fr auto;gap:12px;align-items:start}.check .mark{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-weight:900}.check.error .mark{background:var(--red2);color:var(--red)}.check.warn .mark{background:var(--amber2);color:var(--amber)}.check.pass .mark{background:var(--green2);color:var(--green)}.check h4{margin:1px 0 4px;font-size:14px}.check p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.check em{font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap}.rule-box{margin-top:22px;border-top:1px solid var(--line)}.rule-tags{display:flex;flex-wrap:wrap;gap:8px}.rule-tag{background:var(--soft);border:1px solid var(--line);padding:8px 10px;border-radius:8px;font-size:11px}.doc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.doc-card{border:1px solid var(--line);border-radius:14px;padding:18px}.doc-card .doc-label{font-size:11px;font-weight:800;color:var(--green)}.doc-card h3{margin:10px 0 7px}.doc-card p{font-size:12px;color:var(--muted);line-height:1.5;min-height:54px}.doc-card button{width:100%;margin-top:8px}.generated{margin-top:16px;background:var(--green2);color:#165d45;padding:14px;border-radius:10px;font-size:13px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.compare-card{border:1px solid #9fcdbb;background:#f4fbf8;border-radius:14px;padding:20px}.compare-card.muted{border-color:var(--line);background:var(--soft)}.compare-card span{font-size:11px;font-weight:800;color:var(--green)}.compare-card h3{margin:8px 0}.compare-card p{margin:0;color:var(--muted);font-size:13px}dialog{width:min(980px,92vw);border:0;border-radius:18px;padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(8,22,17,.64)}.dialog-head,.dialog-actions{display:flex;justify-content:space-between;align-items:center}.dialog-head h2{margin:0}.icon-btn{border:0;background:var(--soft);width:34px;height:34px;border-radius:50%;font-size:24px;cursor:pointer}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:20px}.paper{border:1px solid var(--line);margin-top:18px;padding:32px;min-height:520px}.paper h2{text-align:center}.paper-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:13px}.paper table{min-width:0;margin-top:20px}.paper .total{text-align:right;font-weight:800;margin-top:15px}@media(max-width:980px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{display:flex;overflow:auto}.step{min-width:170px}.side-note{display:none}.file-grid,.doc-grid,.form-grid{grid-template-columns:repeat(2,1fr)}main{padding:22px}}@media(max-width:640px){.topbar{padding:0 14px}.top-actions span:not(.status-dot){display:none}.hero,.section-head{align-items:flex-start;gap:16px;flex-direction:column}.file-grid,.doc-grid,.form-grid,.compare-grid{grid-template-columns:1fr}.panel{padding:18px}.hero h1{font-size:23px}}
@media print{body>*:not(dialog[open]){display:none}dialog[open]{position:static;width:100%;box-shadow:none}.dialog-head,.dialog-actions{display:none}.paper{border:0;margin:0;padding:0}}
.stage-pill{display:inline-block;margin-top:10px;padding:6px 10px;border-radius:99px;background:var(--amber2);color:var(--amber);font-size:11px;font-weight:850}.intake-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;margin-top:18px}.assistant-card,.checklist-card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#fff}.assistant-head{display:flex;align-items:center;gap:11px}.assistant-head h3{margin:0 0 3px}.assistant-head p{margin:0;color:var(--muted);font-size:12px}.ai-avatar{width:36px;height:36px;border-radius:11px;background:var(--nav);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:850}.chat{height:180px;overflow:auto;background:var(--soft);border-radius:12px;padding:13px;margin:14px 0;display:flex;flex-direction:column;gap:9px}.bubble{max-width:86%;padding:10px 12px;border-radius:12px;font-size:12px;line-height:1.55}.bubble.ai{background:white;border:1px solid var(--line);align-self:flex-start}.bubble.user{background:var(--green);color:#fff;align-self:flex-end}.chat-input{display:flex;gap:8px}.chat-input input{flex:1;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit}.intake-item{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.intake-item:last-child{border-bottom:0}.intake-item .tick{width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:900}.intake-item.done .tick{background:var(--green2);color:var(--green)}.intake-item.missing .tick{background:var(--amber2);color:var(--amber)}.intake-item b{font-size:12px;display:block}.intake-item small{color:var(--muted)}.intake-item em{font-style:normal;font-size:10px;color:var(--muted)}.head-actions{display:flex;align-items:center;gap:10px}.confirm-counter{font-size:11px;font-weight:800;color:var(--amber);background:var(--amber2);padding:8px 10px;border-radius:9px}.field-source{display:flex;justify-content:space-between;gap:6px;margin-top:5px;font-size:9px;color:var(--muted)}.field-source .needs-confirm{color:var(--amber);font-weight:800}@media(max-width:980px){.intake-layout{grid-template-columns:1fr}}
.outlet-flow{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:18px}.outlet-flow>div{display:flex;flex-direction:column;gap:4px}.outlet-flow b{font-size:12px;color:var(--green)}.outlet-flow span{font-size:12px;color:var(--muted)}.outlet-flow i{font-style:normal;color:var(--green);font-weight:900}@media(max-width:640px){.outlet-flow{grid-template-columns:1fr}.outlet-flow i{transform:rotate(90deg);justify-self:start}}
.upload-bar{display:flex;align-items:center;gap:12px;margin-bottom:15px}.upload-bar span{font-size:12px;color:var(--muted)}.upload-bar button:disabled{opacity:.6;cursor:wait}.extract-panel{margin:18px 0;border:1px solid #b9d7ca;background:#f7fcfa;border-radius:14px;padding:18px}.extract-head,.extract-file-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.extract-head h3{margin:0 0 4px}.extract-head p{margin:0;color:var(--muted);font-size:12px}.local-badge{background:var(--green2);color:var(--green);font-size:10px;font-weight:850;padding:7px 9px;border-radius:99px}.extract-file{margin-top:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}.extract-file.needs_manual_review{border-color:#e4c887}.extract-file-head b{display:block;font-size:13px}.extract-file-head span,.extract-file-head em{font-size:10px;color:var(--muted);font-style:normal}.suggestions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.suggestions div{background:var(--soft);border-radius:9px;padding:10px}.suggestions span,.suggestions small{display:block;font-size:9px;color:var(--muted)}.suggestions strong{display:block;font-size:12px;margin:4px 0}.extract-warning{color:var(--amber);font-size:11px;margin:10px 0 0}.extract-file details{margin-top:10px;font-size:11px;color:var(--muted)}.extract-file pre{white-space:pre-wrap;max-height:180px;overflow:auto;background:#f5f7f6;padding:10px;border-radius:8px;font:10px/1.5 ui-monospace,monospace}@media(max-width:760px){.upload-bar{align-items:flex-start;flex-direction:column}.suggestions{grid-template-columns:1fr}}
.decision-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.decision-head h3{margin:0 0 4px}.decision-head p{margin:0;color:var(--muted);font-size:12px}.decision-head .check-summary{margin:0;white-space:nowrap}.decision-rows{display:grid;gap:9px;margin-top:13px}.decision-row{display:grid;grid-template-columns:1.1fr 1fr 22px 1.25fr auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px}.decision-row.accepted{border-color:#9fcdbb;background:#fbfefc}.decision-row.rejected{opacity:.65}.decision-field b{display:block;font-size:12px}.decision-field span,.value-box small,.suggested-value small,.suggested-value span,.decision-actions small{display:block;color:var(--muted);font-size:9px}.value-box strong{font-size:11px}.arrow{text-align:center;color:#8a9892}.suggested-value input{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit;font-size:12px;margin:3px 0}.suggested-value span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.decision-actions{display:flex;gap:6px;align-items:center}.decision-actions button{border:0;border-radius:8px;padding:8px 10px;font-size:11px;font-weight:800;cursor:pointer}.decision-actions .accept{background:var(--green2);color:var(--green)}.decision-actions .reject{background:var(--red2);color:var(--red)}.decision-actions b{font-size:11px;color:var(--green)}.empty-state{color:var(--muted);font-size:12px}@media(max-width:980px){.decision-row{grid-template-columns:1fr 1fr}.decision-row .arrow{display:none}.decision-actions{grid-column:2}.decision-head{align-items:flex-start;flex-direction:column}.decision-head .check-summary{flex-wrap:wrap}}@media(max-width:640px){.decision-row{grid-template-columns:1fr}.decision-actions{grid-column:1}}
.conflict-panel{margin-top:18px;border:1px solid #e1b666;background:var(--amber2);border-radius:13px;padding:15px}.conflict-title{display:flex;justify-content:space-between;gap:12px}.conflict-title h3{margin:0 0 3px;color:#744d06}.conflict-title p{margin:0;color:#8b691f;font-size:11px}.conflict-title>span{height:max-content;background:#fff0c6;color:#8a5a03;border-radius:99px;padding:6px 9px;font-size:10px;font-weight:850}.conflict-row{margin-top:11px;background:white;border-radius:10px;padding:12px;display:grid;grid-template-columns:180px 1fr;gap:12px}.conflict-label b,.conflict-label span{display:block}.conflict-label b{font-size:12px}.conflict-label span{font-size:9px;color:var(--muted);margin-top:4px}.conflict-options{display:flex;gap:8px;flex-wrap:wrap}.conflict-options button{background:#fff;border:1px solid #e4c887;border-radius:9px;padding:8px 10px;text-align:left;cursor:pointer;min-width:150px}.conflict-options button:hover{border-color:var(--green);background:var(--green2)}.conflict-options strong,.conflict-options span{display:block}.conflict-options strong{font-size:12px}.conflict-options span{font-size:9px;color:var(--muted);margin-top:3px;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version-panel{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.version-panel h3{margin:0 0 4px}.version-panel p{margin:0;color:var(--muted);font-size:11px}.version-panel>div:last-child{min-width:55%;display:grid;gap:7px}.version-panel article{display:grid;grid-template-columns:45px 1fr 1fr auto;gap:10px;align-items:center;background:var(--soft);border-radius:9px;padding:9px 11px;font-size:10px}.version-panel article b{color:var(--green)}.version-panel article span,.version-panel article em{color:var(--muted);font-style:normal}.version-panel article button{border:0;background:white;border-radius:7px;padding:6px 9px;cursor:pointer;font-weight:700}@media(max-width:760px){.conflict-row{grid-template-columns:1fr}.version-panel{flex-direction:column}.version-panel>div:last-child{width:100%}.version-panel article{grid-template-columns:40px 1fr}.version-panel article button{grid-column:2}}
.generation-gate{margin-bottom:16px;background:var(--red2);border:1px solid #efc1bd;color:var(--red);border-radius:11px;padding:13px 15px;font-size:12px}.primary:disabled{background:#9ba7a2;cursor:not-allowed}
.subsection-head{display:flex;justify-content:space-between;align-items:flex-end;margin-top:24px}.subsection-head h3{margin:0 0 4px}.subsection-head p{margin:0;color:var(--muted);font-size:11px}.receipt-wrap{margin-top:12px;border:1px solid var(--line);border-radius:12px;overflow:hidden}.receipt-wrap>.empty-state{padding:16px;margin:0}.receipt-row{display:grid;grid-template-columns:1.2fr .5fr .7fr .9fr .8fr .7fr .7fr 34px;gap:8px;align-items:end;padding:12px;border-bottom:1px solid var(--line)}.receipt-row label{display:block;color:var(--muted);font-size:9px;font-weight:750;margin-bottom:4px}.receipt-row input{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:8px;font:inherit;font-size:11px}.receipt-remove{width:32px;height:32px;border:0;border-radius:8px;background:var(--red2);color:var(--red);font-size:18px;cursor:pointer}.receipt-total{background:var(--soft);padding:10px 13px;text-align:right;font-size:11px;font-weight:750;color:#4e5d57}@media(max-width:1050px){.receipt-row{grid-template-columns:repeat(4,1fr)}.receipt-remove{align-self:end}}@media(max-width:640px){.subsection-head{align-items:flex-start;flex-direction:column;gap:10px}.receipt-row{grid-template-columns:1fr 1fr}}
