:root{--ink:#182d32;--muted:#7c898b;--line:#e3e8e6;--green:#166c60;--paper:#fff;--soft:#f4f6f4}*{box-sizing:border-box}body{margin:0;background:#f4f5f2;color:var(--ink);font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:13px}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:6px;padding:9px 12px;transition:background .15s}button:hover{background:#edf3f0}button:disabled{cursor:wait;opacity:.5}button.primary{background:var(--green);color:white;border-color:var(--green)}button.primary:hover{background:#10584e}button.text{background:transparent;border:none;color:var(--green);padding:7px}button.active{color:var(--green);background:#e9f1ed}.wide{width:100%;margin:16px 0}.muted{color:var(--muted)}header{height:80px;padding:0 30px;display:flex;align-items:center;gap:25px;background:#fff;border-bottom:1px solid var(--line)}header .brand{text-decoration:none;font-size:25px;font-weight:700;letter-spacing:2px;color:#184c46;line-height:1}.brand span{display:block;letter-spacing:4px;font-size:8px;margin-top:6px}header i{height:28px;width:1px;background:var(--line)}header strong{font-size:16px;font-weight:600;letter-spacing:.5px}header small{display:block;color:var(--muted);font-size:9px;letter-spacing:2px;margin-top:5px}.pill{margin-left:auto;background:#f4f5f2;padding:7px 10px;color:#7b8787;border-radius:4px;font-size:11px}header button{border:none;background:#f6f7f5}main{height:calc(100dvh - 80px);padding:20px;display:grid;grid-template-columns:minmax(0,1fr) 456px;gap:20px}.drawing{display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid #dce2df;border-radius:10px;overflow:hidden;background:#fff}.panelbar{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid var(--line);min-height:80px}.panelbar>div:first-child{min-width:0;flex:1}.eyebrow{color:#8b9999;letter-spacing:1.6px;font-size:9px}.panelbar h2{font-size:13px;margin:7px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:350px}.seg{display:flex;white-space:nowrap;background:var(--soft);padding:3px;border-radius:6px}.seg button{border:0;background:transparent;font-size:12px;padding:7px 10px}.seg .active{background:white;box-shadow:0 1px 4px #173b2914}b{font-size:10px;font-weight:500;margin-left:4px;color:var(--muted)}.canvas{flex:1;overflow:auto;position:relative;min-height:220px;background-color:#edf0ec;background-image:radial-gradient(#cdd5d1 .65px,transparent .65px);background-size:16px 16px;display:flex;align-items:center;justify-content:center}.empty{text-align:center;padding:40px 20px}.uploadicon{margin:auto auto 28px;height:70px;width:60px;border:1px solid #cbd6d0;border-radius:6px;color:#5d8375;font-size:40px;background:#f9fbf8;box-shadow:6px 6px 0 #e4eae3}.empty h1{font-size:24px;font-weight:500;letter-spacing:.6px}.empty p{color:#81918b;line-height:1.8;font-size:12px}.empty .primary{margin:24px 0 15px;padding:12px 30px}.empty small{display:block;color:#929d97;font-size:11px}.empty .text{margin-top:25px;font-size:12px}#preview{width:100%;height:100%;position:relative;text-align:center;transform-origin:top left}#preview iframe{border:0;width:100%;height:100%;background:white}#preview img{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:auto}#pinlayer{position:absolute;inset:0;pointer-events:none}.pin{position:absolute;border:2px solid #df6048;border-radius:4px;pointer-events:auto;background:#fff9;box-shadow:0 1px 10px #a5423d30;color:#bc4936;padding:4px}.drawingfooter{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;gap:8px;border-top:1px solid var(--line);color:#87938d;font-size:11px}.drawingfooter>div{display:flex;align-items:center;gap:5px}.drawingfooter button{border:0;padding:6px;font-size:11px}.drawingfooter span{white-space:nowrap}#findings{max-height:155px;overflow:auto;padding:12px 20px;background:#fffaf6;border-top:1px solid #eee4d9}#findings p{margin:0 0 8px;color:#947256;font-size:11px}#findings button{font-size:11px;margin:3px 6px 3px 0;border-color:#eddbc7;background:#fffdfa}aside{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-height:0}.agent{display:flex;align-items:center;gap:11px;padding:20px 22px}.avatar{background:#eaf1eb;color:var(--green);font-size:23px;width:39px;height:39px;border-radius:10px;display:grid;place-items:center}.agent strong{font-size:14px}.agent small{display:block;color:#8b9894;margin-top:4px;font-size:10px}.status{margin-left:auto;color:#8b9994;font-size:10px}.status.connected{color:var(--green)}.status.connected:before{content:'● ';font-size:9px}.tabs{display:flex;border-bottom:1px solid var(--line);padding:0 18px;gap:12px}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 7px;background:transparent;color:#8a9492;font-size:12px}.tabs button.active{border-bottom-color:var(--green);color:var(--green);font-weight:600}.tabcontent{min-height:0;flex:1;overflow-y:auto;padding:0 22px}.sectionintro{display:flex;align-items:center;justify-content:space-between;padding:20px 0 14px}.sectionintro h3{font-size:13px;margin:0 0 6px;font-weight:600}.sectionintro p{font-size:10px;color:#9ba39f;margin:0}.checkgroup{font-size:9px;color:#9ba7a0;letter-spacing:1px;margin:10px 0}.check{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #f0f2ef;cursor:pointer}.check input{accent-color:var(--green);width:15px;height:15px;flex:none;margin:0}.check .num{font-size:10px;color:#98a39d;width:33px;flex:none}.check .name{font-size:12px;flex:1}.check .tag{font-size:9px;color:#a7a38f;background:#f5f3ed;padding:3px 5px;border-radius:3px;white-space:nowrap}.check:hover{background:#fafbf8}.check .ask{font-size:11px;color:var(--green);border:0;padding:3px 4px;opacity:0}.check:hover .ask,.check:focus-within .ask{opacity:1}.reviewaction{display:flex;align-items:center;gap:8px;padding:16px 0;position:sticky;bottom:0;background:#fffc;backdrop-filter:blur(8px)}.reviewaction span{margin-right:auto;color:#919c96;font-size:10px}.reviewaction button{font-size:11px;padding:9px}.composer{padding:12px 18px 16px;border-top:1px solid var(--line)}#notice{color:#8e9a94;font-size:10px;line-height:1.6;padding:0 3px 9px}form#chatForm{border:1px solid #dce4de;border-radius:8px;padding:10px;background:#fbfcfa}textarea{resize:none;background:transparent;border:0;width:100%;outline:0;font-size:12px;color:var(--ink);line-height:1.6}textarea::placeholder{color:#aab3ac}#chatForm>div{display:flex;align-items:center;gap:7px}#chatForm span{font-size:9px;color:#a2ada6;flex:1}#send{padding:5px 11px}#messages{padding:16px 0}article{font-size:12px;line-height:1.9;padding:13px 14px;margin-bottom:15px;border-radius:8px;overflow-wrap:anywhere}.assistant{background:#f5f7f3}.user{margin-left:32px;background:#eaf2ed}.messageLabel{font-size:9px;display:block;color:#8e9b92;letter-spacing:.5px;margin-bottom:7px}article p{white-space:pre-wrap;margin:0}article a{color:var(--green)}.field{padding:12px 0;border-bottom:1px solid #eef1ed;display:flex;justify-content:space-between;color:#687c73;font-size:12px}.field span:last-child{font-size:10px;color:#a4aea7}dialog{width:420px;border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:0 20px 80px #173e3226}dialog::backdrop{background:#203c3755;backdrop-filter:blur(3px)}dialog h2{font-size:18px;margin-top:0}dialog p{font-size:12px;line-height:1.8;color:#85948a}dialog label{display:block;margin:18px 0;font-size:12px}dialog input{display:block;margin-top:7px;width:100%;padding:10px;border:1px solid var(--line);border-radius:5px}dialog form>div{display:flex;justify-content:flex-end;gap:9px}dialog a{color:var(--green)}[hidden]{display:none!important}@media(min-width:1650px){main{grid-template-columns:minmax(0,1fr) 500px;padding:24px;gap:24px}}@media(max-width:1150px){main{grid-template-columns:minmax(0,1fr) 400px;gap:12px;padding:12px}.panelbar{padding:14px;flex-wrap:wrap}.panelbar>div:first-child{flex-basis:100%}.drawingfooter{flex-wrap:wrap}}@media(max-width:800px){header{padding:0 16px;gap:14px;height:68px}.pill{display:none}header button{margin-left:auto}header strong{font-size:13px}.brand{font-size:20px!important}main{height:auto;grid-template-columns:1fr}.drawing{height:55dvh;min-height:390px}aside{min-height:650px;height:75dvh}.empty h1{font-size:20px}}

.field.extracted span:last-child{color:#246b5a;max-width:66%;text-align:right;overflow-wrap:anywhere;line-height:1.6}.pin{max-width:220px;text-align:left;font-size:10px}#pinlayer[style*="auto"]{cursor:crosshair;background:#174d3b03}

.messagebody{white-space:pre-wrap}.messagebody h4{font-size:13px;font-weight:600;margin:16px 0 8px;line-height:1.7}.messagebody p{margin:5px 0}.messagebody code{background:#e9eee7;border-radius:3px;padding:1px 3px;font-size:11px}.tablewrap{max-width:100%;overflow-x:auto;margin:12px 0;white-space:normal}.tablewrap table{border-collapse:collapse;min-width:100%;font-size:10px;line-height:1.8}.tablewrap th,.tablewrap td{padding:7px 8px;text-align:left;min-width:65px;border:1px solid #dde5dc;vertical-align:top}.tablewrap th{background:#eaf0e6;color:#466751}.tablewrap td{background:#fafcf8}

.execution{border:1px solid #dce7dc;border-radius:7px;margin:0 0 14px;background:#fcfdfa;white-space:normal}.execution summary{padding:10px 11px;cursor:pointer;color:#4f7460;font-size:11px;list-style-position:inside}.execution summary time{float:right;color:#93a28f;font-variant-numeric:tabular-nums}.executionbody{padding:0 12px 12px;border-top:1px solid #eaf0e5;max-height:260px;overflow-y:auto}.executioncurrent{font-size:10px!important;color:#738b71;margin:9px 0!important}.executionbody>small{font-size:9px;color:#9aa38e;display:block;line-height:1.6}.executionstep{display:flex;align-items:center;gap:7px;font-size:10px;padding:8px 0;border-top:1px solid #edf1e8}.executionstep>span:first-child{width:12px;color:#67926d}.executionstep>small{margin-left:auto;font-size:9px;color:#8a9b83;white-space:nowrap}.executionstep[data-status="failed"]>span,.execution[data-status="failed"] summary{color:#b76b4f}.executionnote{font-size:9px!important;color:#a18556}.executionprivacy{margin-top:10px;opacity:.8}.execution[data-status="running"] summary>span:before{content:'◌ ';color:#448463}.execution[data-status="done"] summary>span:before{content:'✓ ';color:#448463}

#previewError{display:flex;align-items:center;gap:8px;padding:10px 15px;background:#fff6e9;color:#926c39;border-bottom:1px solid #f0e1c9;font-size:11px}#previewError>span{flex:1;line-height:1.7}#previewError button{font-size:10px;white-space:nowrap;border-color:#ebd7b8;background:#fffdfa;padding:6px 8px}

.executionstep{align-items:flex-start}.executionstep>span:nth-child(2){min-width:0;overflow-wrap:anywhere;line-height:1.6}.executionstep em{display:block;font-size:8px;font-style:normal;color:#9ba88e;line-height:1.5;margin-top:2px}.executionstep>small{flex:none;padding-top:1px}.deliverynotes{padding:10px 0 0;margin-top:9px;border-top:1px solid #efdfca;color:#987856}.deliverynotes strong{font-size:10px}.deliverynotes p{margin-top:6px!important;font-size:10px!important;line-height:1.7}.canvas.imagecanvas{overflow:hidden}#preview.imageview{width:100%;height:100%;flex:none}#preview.imageview img{width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;transform-origin:50% 50%;user-select:none;-webkit-user-drag:none;pointer-events:none}#pinlayer{transform-origin:50% 50%;z-index:3}#panLayer{position:absolute;inset:0;z-index:5;pointer-events:none;touch-action:none}.canvas.canpan #panLayer{pointer-events:auto;cursor:grab}.canvas.panning #panLayer{cursor:grabbing}.canvas.canpan{user-select:none}.canvas.imagecanvas:after{content:'按住空格 + 拖动平移';position:absolute;bottom:12px;left:12px;background:#f9fcf6df;border:1px solid #dfe6db;padding:5px 8px;border-radius:4px;color:#7c8c75;font-size:9px;pointer-events:none;z-index:4}.canvas.panning:after{content:'松开空格恢复交互'}
#pageControls{display:flex;align-items:center;gap:9px;padding:7px 15px;background:#f6f8f3;border-bottom:1px solid #e4eadf;color:#81927a;font-size:10px}#pageControls select{font:inherit;background:white;border:1px solid #dce5d7;border-radius:4px;padding:5px;color:#55724a}#pageControls span:last-child{margin-left:auto;font-size:9px}.fieldlocator{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:5px 0!important}.fieldmain{display:grid;grid-template-columns:100px 1fr;flex:1;gap:5px 9px;min-width:0;text-align:left;border:none!important;background:transparent!important;padding:8px 6px!important}.fieldmain strong{font-size:11px;font-weight:500;color:#4b6954}.fieldmain>span{font-size:11px!important;color:#376b56!important;max-width:none!important;overflow-wrap:anywhere;text-align:left!important;line-height:1.6}.fieldmain small{grid-column:2;color:#9ba991;font-size:9px}.fieldmanual{font-size:9px;border:none;background:#f1f5ec;padding:5px 7px;color:#8a9d7b}.activefield{background:#f0f5e9}.fieldcandidates{flex-basis:100%;padding:0 5px 8px 110px;display:flex;flex-direction:column;gap:5px}.fieldcandidates button{font-size:9px;text-align:left;border-color:#d9e3d0;background:#fbfdf8;padding:5px;overflow-wrap:anywhere}#fieldHighlight{position:absolute;z-index:4;border:2px solid #32836e;background:#64b3911a;box-shadow:0 0 0 9999px #213c3517;pointer-events:none;color:#216b58;font-size:10px;font-weight:600;white-space:nowrap;text-shadow:0 1px white;padding:3px;min-width:3px;min-height:3px}#fieldHighlight[data-source="ai_candidate"]{border-style:dashed;border-color:#b68a42;background:#f4c56e16;color:#99722f}#fieldHighlight[data-source="manual"]{border-color:#537ca2;color:#42688a}#fieldBoxLayer{position:absolute;inset:0;z-index:7;pointer-events:none;touch-action:none}#fieldBoxLayer.active{pointer-events:auto;cursor:crosshair;background:#426d6303}
.structuredraw{margin-top:12px;color:#829079;font-size:10px}.structuredraw summary{cursor:pointer}.structuredraw pre{max-height:260px;overflow:auto;font-size:9px;white-space:pre-wrap;background:#eef3e9;padding:9px;border-radius:4px}#conversationScope{font:inherit;font-size:9px;color:#73866b;border:1px solid #dce5d5;border-radius:4px;background:#fafcf8;padding:3px;max-width:84px}
.pin{width:20px;height:20px;min-width:20px;min-height:20px;padding:0;border:1.5px solid #c65d49;border-radius:50%;background:#fffef5;color:#b9503e;font-size:10px;line-height:17px;text-align:center;transform:translate(-50%,-50%);box-shadow:0 1px 4px #46301a16;white-space:nowrap}#fieldHighlight{background:transparent;box-shadow:none;border-width:1.5px;font-size:9px;padding:1px;line-height:1.1}#drawingDetail{display:flex;gap:10px;align-items:flex-start;max-height:92px;overflow-y:auto;padding:10px 17px;border-top:1px solid #e8e0d4;background:#fffdf8;font-size:11px;line-height:1.8;color:#7c705d;overflow-wrap:anywhere}#drawingDetail strong{flex:none;color:#9c644b;font-size:10px}#drawingDetail span{white-space:pre-wrap}
#fieldHighlight[data-source^="issue_"]{border:2px solid #d45142;background:transparent;color:#b84739;box-shadow:none}#fieldBoxLayer.active{cursor:crosshair}.canvas:has(#fieldBoxLayer.active):after{content:'拖拽框选定位区域 · Esc 取消';color:#b65b47}.issuecandidate{display:block!important;margin-left:20px!important;color:#7c8264!important;font-size:10px!important}
.loginlink{font-size:11px;color:#467157;text-decoration:none;white-space:nowrap}
