.quote-app{--q-ink:#182e32;--q-muted:#647779;--q-green:#14665b;--q-line:#dfe7e4;background:#f5f7f5;color:var(--q-ink);min-height:100vh;font-family:Arial,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6}.quote-app *{box-sizing:border-box}.quote-app button,.quote-app input,.quote-app select,.quote-app textarea{font:inherit}.quote-app a,.quote-app button{cursor:pointer}.quote-app button:disabled{opacity:.4;cursor:not-allowed}.quote-app a:focus-visible,.quote-app button:focus-visible,.quote-app input:focus-visible,.quote-app select:focus-visible,.quote-app textarea:focus-visible{outline:3px solid #51ac96;outline-offset:3px}.q-header{height:80px;background:white;border-bottom:1px solid var(--q-line);justify-content:space-between;padding:0 32px;gap:16px}.q-brand,.q-header{display:flex;align-items:center}.q-brand{gap:10px;font-weight:700;font-size:21px;text-decoration:none;color:var(--q-ink)}.q-symbol{display:grid;place-items:center;width:32px;height:36px;background:var(--q-green);color:white;border-radius:9px;font-family:Georgia,serif}.q-product{font-size:14px;font-weight:400;color:var(--q-muted);margin-left:12px}.q-header-actions{display:flex;align-items:center;gap:20px}.q-header-actions button{border:1px solid var(--q-line);padding:6px 12px;border-radius:7px;background:white}.q-prototype{font-size:10px;letter-spacing:.12em;color:#7b816a;background:#f4f2e7;padding:5px 9px;border-radius:4px}.q-layout{display:grid;grid-template-columns:254px minmax(0,1fr);max-width:1800px;margin:auto}.q-sidebar{padding:32px 22px;border-right:1px solid var(--q-line);min-height:calc(100vh - 80px);background:#fbfcfa}.q-workspace{display:flex;gap:11px;align-items:center;margin-bottom:44px}.q-avatar{background:#e3ece7;color:var(--q-green);font-size:11px;font-weight:700;width:35px;height:35px;border-radius:9px;display:grid;place-items:center}.q-workspace strong{font-size:12px}.q-steps small,.q-workspace small{display:block;color:var(--q-muted);font-size:11px}.q-eyebrow,.q-nav-label{font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--q-muted)}.q-nav-label{padding:0 10px}.q-steps{padding:0;list-style:none;margin-top:15px}.q-steps li{display:flex;gap:12px;align-items:center;padding:14px 10px;margin-bottom:8px;font-size:12px;border-radius:9px;color:#7a8886}.q-steps li>span{width:28px;height:28px;display:grid;place-items:center;border:1px solid #dce4df;border-radius:50%;font-size:10px}.q-steps .active{background:#e8f1eb;color:#165d4e;font-weight:700}.q-steps .active>span{background:var(--q-green);color:white;border-color:var(--q-green)}.q-steps .complete>span{background:#edf4ee;color:var(--q-green)}.q-sidebar-note{border:1px solid var(--q-line);padding:15px;border-radius:9px;margin-top:48px;font-size:11px;color:var(--q-muted)}.q-sidebar-note strong{color:var(--q-ink)}.q-sidebar-note p{margin:8px 0 0}.q-back-site{display:block;margin-top:22px;font-size:12px;color:var(--q-green)}.q-main{padding:40px clamp(20px,4vw,64px);min-width:0}.q-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.q-title-row h1{font-size:32px;line-height:1.25;letter-spacing:-.035em;font-weight:600;margin:10px 0}.q-title-row p:not(.q-eyebrow){color:var(--q-muted);margin:0;font-size:13px}.q-reset{border:1px solid var(--q-line);background:white;padding:8px 15px;border-radius:7px;white-space:nowrap;color:var(--q-muted)}.q-banner{display:flex;align-items:center;gap:12px;background:#eaf1ec;border:1px solid #dce8df;border-radius:8px;color:#426655;padding:12px 16px;margin:26px 0;font-size:12px}.q-banner>span{font-size:20px}.q-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:24px}.q-card{background:white;border:1px solid var(--q-line);border-radius:12px;padding:25px;min-width:0;box-shadow:0 3px 5px #163b2803}.q-card h2{font-size:17px;line-height:1.4;font-weight:600;margin:0 0 14px;letter-spacing:-.02em}.q-card h3{font-size:15px;font-weight:600}.q-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.q-card-head h2{margin:0}.q-tag{display:inline-block;color:#648073;background:#eff4ef;border:1px solid #e1eae1;padding:3px 7px;font-size:10px;letter-spacing:.06em;border-radius:4px}.q-drop{border:1.5px dashed #bed1c4;border-radius:10px;background:#f9fbf8;text-align:center;padding:28px 15px;margin:20px 0}.q-drop h3{margin:8px 0 2px}.q-drop p{font-size:11px;color:var(--q-muted);margin:0 0 15px}.q-upload-icon{display:inline-grid;place-items:center;border:1px solid #dce6de;border-radius:10px;background:white;width:42px;height:42px;font-size:26px;color:var(--q-green)}.q-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--q-green);border-radius:7px;background:var(--q-green);color:white;font-size:12px;font-weight:600;padding:10px 17px;text-decoration:none;cursor:pointer}.q-button:hover{filter:brightness(.96)}.q-button.secondary{color:var(--q-ink);background:white;border-color:#d7e1da}.q-field-grid label,.q-label,.q-match label{display:block;font-size:12px;font-weight:600}.quote-app input:not([type=checkbox]):not([type=file]),.quote-app select,.quote-app textarea{display:block;background:white;border:1px solid #d5dfd9;border-radius:6px;color:var(--q-ink);padding:9px 10px;width:100%;min-width:0;margin-top:6px;font-weight:400}.quote-app textarea{resize:vertical}.q-source{font-family:monospace!important;font-size:12px!important;line-height:1.8}.q-help{color:var(--q-muted);font-size:11px;line-height:1.8;margin:12px 0 0}.q-sample{background:#f0f3e9;align-self:start}.q-sample h2{font-family:Georgia,Microsoft YaHei,serif;font-size:27px;line-height:1.3;margin:24px 0 14px}.q-sample>p{color:#64725d;font-size:12px}.q-sample-lines{margin:24px 0;border-top:1px solid #dbe3d2;border-bottom:1px solid #dbe3d2;padding:8px 0}.q-sample-lines>div{display:flex;justify-content:space-between;font-family:monospace;font-size:12px;padding:9px 0}.q-sample-lines span{color:var(--q-muted)}.q-sample .q-button{width:100%}.q-text-button{display:block;margin:14px auto 0;font-size:12px;color:var(--q-green);background:none;border:0}.q-review-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr);gap:24px}.q-source-preview{background:#f7f9f6;border:1px solid var(--q-line);padding:15px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.9;margin-top:20px}.q-review-item{padding:18px 0;border-top:1px solid var(--q-line)}.q-item-number{font-size:10px;color:var(--q-muted);letter-spacing:.08em;margin-bottom:12px}.q-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.q-checkbox{display:flex;align-items:center;gap:9px;font-size:12px;margin-top:17px;cursor:pointer}.q-checkbox input{width:16px;height:16px;accent-color:var(--q-green);flex-shrink:0}.q-match{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:22px;border-top:1px solid var(--q-line);padding:24px 0}.q-match strong{font-family:monospace;font-size:15px}.q-match p{font-size:12px;color:var(--q-muted);margin:5px 0}.q-match small{font-size:11px;color:var(--q-muted);display:block;margin-top:7px}.q-quote-grid{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(220px,1fr);gap:24px}.q-spaced{margin-top:22px}.q-table-wrap{overflow:auto}.quote-app table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.quote-app th{font-size:10px;color:var(--q-muted);font-weight:600;white-space:nowrap;padding:12px 10px;background:#f7f9f6}.quote-app td,.quote-app th{border-bottom:1px solid var(--q-line)}.quote-app td{padding:15px 10px;min-width:80px}.quote-app td:first-child{min-width:180px}.quote-app td input{min-width:90px}.quote-app td p{color:var(--q-muted);font-size:11px;margin:5px 0}.q-summary{align-self:start}.q-summary h2{margin-top:18px}.q-summary>p{font-size:12px;color:var(--q-muted)}.q-summary dl{margin-top:25px}.q-summary dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;font-size:12px}.q-grand,.q-summary dd{font-weight:600}.q-grand{border-top:1px solid var(--q-line);margin-top:10px;padding-top:18px!important;font-size:18px!important;color:var(--q-green)}.q-document{max-width:920px;margin:auto;padding:38px}.q-doc-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:30px}.q-doc-head h2{font-size:25px;margin-top:10px}.q-doc-head p{font-size:12px;color:var(--q-muted)}.q-doc-head>div:last-child{text-align:right}.q-doc-totals{max-width:310px;margin:25px 0 25px auto}.q-doc-totals p{display:flex;justify-content:space-between;font-size:12px;margin:8px 0}.q-doc-terms{border-top:1px solid var(--q-line);padding-top:20px}.q-doc-terms p{white-space:pre-wrap;font-size:12px}.q-doc-terms small{display:block;margin-top:20px;color:var(--q-muted);font-size:10px}.q-export{display:flex;justify-content:space-between;gap:20px;align-items:center}.q-export-buttons{display:flex;gap:10px;flex-wrap:wrap}.q-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--q-line);margin-top:28px;padding-top:22px;font-size:11px;color:var(--q-muted)}.q-bottom>div{display:flex;gap:10px}.q-error,.q-success{padding:13px 16px;border-radius:7px;margin-bottom:18px;font-size:12px}.q-error{background:#fff0ea;color:#a23f23;border:1px solid #f2cbbf}.q-success{background:#e8f2e9;color:#245e3a;border:1px solid #c7ddca}.q-file-name{margin-top:14px!important;color:var(--q-green)!important}@media(max-width:1100px){.q-layout{grid-template-columns:205px minmax(0,1fr)}.q-sidebar{padding:25px 14px}.q-main{padding:30px 24px}.q-grid,.q-quote-grid{grid-template-columns:1fr}.q-sample{max-width:none}.q-review-grid{grid-template-columns:1fr}.q-export{align-items:flex-start;flex-direction:column}}@media(max-width:650px){.q-header{padding:14px 18px;height:auto;min-height:70px}.q-product,.q-prototype{display:none}.q-layout{display:block}.q-sidebar{min-height:0;border-right:0;border-bottom:1px solid var(--q-line);padding:12px 16px}.q-back-site,.q-nav-label,.q-sidebar-note,.q-workspace{display:none}.q-steps{display:flex;justify-content:space-between;margin:0}.q-steps li{padding:5px;margin:0;gap:0}.q-steps li>div{display:none}.q-main{padding:26px 16px}.q-title-row h1{font-size:26px}.q-title-row{align-items:flex-start}.q-card{padding:18px}.q-field-grid,.q-match{grid-template-columns:1fr}.q-doc-head{flex-direction:column}.q-doc-head>div:last-child{text-align:left}.q-card-head{align-items:flex-start}.q-bottom .q-button{padding:9px 12px}}@media print{@page{size:A4;margin:16mm}body{background:white!important}.quote-app{background:white;color:#111}.q-banner,.q-bottom,.q-error,.q-export,.q-header,.q-sidebar,.q-success,.q-title-row{display:none!important}.q-layout{display:block}.q-main{padding:0}.q-document{border:0;box-shadow:none;padding:0;max-width:none}.q-document table{font-size:10pt}.q-doc-terms,.q-document tr{-moz-column-break-inside:avoid;break-inside:avoid}.q-document .q-tag{background:white}.q-document .q-table-wrap{overflow:visible}}.q-mode-switch{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px}.q-evidence{border-left:3px solid #b0cabb;background:#f2f7f1;padding:12px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.q-help a{text-decoration:underline;color:#14665b}.q-mapping{border-top:1px solid #dfe7e4;margin-top:26px;padding-top:20px}.q-selection-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:18px}.q-selection-toolbar .q-text-button{margin:0}.q-import-preview{max-height:350px;margin-top:14px;border:1px solid #dfe7e4;border-radius:8px}.q-import-preview td{max-width:280px;overflow-wrap:anywhere}.q-import-preview input[type=checkbox]{accent-color:#14665b}.q-pdf-extract{background:#f7f9f6;border:1px solid #dfe7e4;padding:18px;border-radius:10px}.q-pdf-extract textarea{font-family:monospace;font-size:12px}.q-ocr-panel{border:1px solid #c9ddd0;background:#f2f7ef;padding:20px;margin:22px 0;border-radius:10px}.q-ocr-progress{margin:16px 0;font-size:12px;color:#14665b}.q-ocr-progress progress{width:100%;height:12px;accent-color:#14665b}.q-ocr-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:15px;margin-top:18px}.q-ocr-results figure{margin:0;background:white;border:1px solid #dfe7e4;border-radius:8px;padding:10px}.q-ocr-results img{width:100%;height:180px;-o-object-fit:contain;object-fit:contain}.q-ocr-results figcaption{font-size:11px;color:#526b60;margin-top:8px}