:root{
  --green-900:#0b3a22;--green-800:#0e5a31;--green-700:#1c7a43;--green-100:#edf4ef;
  --paper:#fff;--warm:#f8f3e9;--bg:#e9e6df;--ink:#1d2922;--muted:#6f776f;--line:#bfc9c1;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font)}
button,select{font:inherit}svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.app-bar{height:64px;display:grid;grid-template-columns:auto minmax(190px,1fr) auto;align-items:center;gap:8px;position:sticky;top:0;z-index:20;padding:0 20px;background:rgba(255,253,248,.97);border-bottom:1px solid #d8d2c7;box-shadow:0 4px 16px rgba(37,31,20,.06);backdrop-filter:blur(10px)}
.back-link{display:flex;align-items:center;color:var(--green-800);font-size:14px;font-weight:700;text-decoration:none}.back-link span{display:none}.back-link svg{width:19px;height:19px}
.app-title{min-width:0;overflow:hidden;color:var(--green-900);text-align:left;white-space:nowrap}.app-title strong{font-size:19px}.app-title span{margin-left:8px;color:#8a6a45;font-size:9px;font-weight:800;letter-spacing:.18em}
.app-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:12px;white-space:nowrap}.app-actions>*{flex:0 0 auto}.save-status{color:#827a6e;font-size:12px}.zoom-controls{height:34px;display:grid;grid-template-columns:34px 56px 34px;align-items:stretch;border:1px solid #c7d2c9;border-radius:7px;background:#fff;overflow:hidden;box-shadow:0 2px 7px rgba(31,54,39,.05)}.zoom-controls button{display:grid;place-items:center;padding:0;border:0;border-right:1px solid #dce4de;background:#fff;color:var(--green-800);cursor:pointer}.zoom-controls button:last-child{border-right:0}.zoom-controls button:hover{background:var(--green-100)}.zoom-controls button:disabled{background:#f5f6f4;color:#aeb7b0;cursor:not-allowed}.zoom-controls button:focus-visible{position:relative;z-index:1;outline:2px solid var(--green-700);outline-offset:-2px}.zoom-controls svg{width:17px;height:17px;stroke-width:2}.zoom-controls .zoom-value{font-size:11px;font-weight:800;font-variant-numeric:tabular-nums}
.history-controls{height:38px;display:grid;grid-template-columns:36px 36px;align-items:stretch;border:1px solid #c7d2c9;border-radius:7px;background:#fff;overflow:hidden;box-shadow:0 2px 7px rgba(31,54,39,.05)}.history-controls button{display:grid;place-items:center;padding:0;border:0;border-right:1px solid #dce4de;background:#fff;color:var(--green-800);cursor:pointer}.history-controls button:last-child{border-right:0}.history-controls button:hover:not(:disabled){background:var(--green-100)}.history-controls button:disabled{background:#f5f6f4;color:#b4bbb6;cursor:not-allowed}.history-controls button:focus-visible{position:relative;z-index:1;outline:2px solid var(--green-700);outline-offset:-2px}.history-controls svg{width:17px;height:17px;stroke-width:2}
.toolbar-button{height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 13px;border:1px solid #cfc7b8;border-radius:7px;background:#fff;cursor:pointer;font-weight:700;color:var(--green-800);white-space:nowrap}.toolbar-button svg{width:17px;height:17px;flex:0 0 auto}.toolbar-button.primary{border-color:var(--green-800);background:var(--green-800);color:#fff}.toolbar-button.primary:hover{background:var(--green-900)}
.confirm-dialog{width:min(440px,calc(100vw - 32px));padding:0;border:1px solid rgba(14,90,49,.18);border-radius:14px;background:#fffdf8;color:var(--ink);box-shadow:0 22px 70px rgba(18,42,27,.24)}.confirm-dialog::backdrop{background:rgba(23,34,27,.46);backdrop-filter:blur(2px)}.confirm-dialog form{display:grid;grid-template-columns:48px minmax(0,1fr);gap:15px;padding:24px}.confirm-dialog-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--green-100);color:var(--green-800)}.confirm-dialog-icon svg{width:25px;height:25px}.confirm-dialog-copy h2{margin:2px 0 7px;color:var(--green-900);font-size:19px}.confirm-dialog-copy p{margin:0;color:#666f68;font-size:14px;line-height:1.65}.confirm-dialog-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:7px}.confirm-dialog-actions .toolbar-button{min-width:86px;justify-content:center}
.import-pdf-dialog{width:min(500px,calc(100vw - 28px));padding:0;border:1px solid rgba(14,90,49,.18);border-radius:14px;background:#fffdf8;color:var(--ink);box-shadow:0 22px 70px rgba(18,42,27,.24)}.import-pdf-dialog::backdrop{background:rgba(23,34,27,.46);backdrop-filter:blur(2px)}.import-pdf-shell{padding:24px}.import-pdf-shell>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.import-pdf-shell h2{margin:0 0 6px;color:var(--green-900);font-size:20px}.import-pdf-shell header p{margin:0;color:#6b746d;font-size:13px;line-height:1.5}.import-pdf-close{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:#637068;font-size:24px;line-height:1;cursor:pointer}.import-pdf-close:hover,.import-pdf-close:focus-visible{background:var(--green-100);color:var(--green-900);outline:0}.import-pdf-paste{width:100%;min-height:148px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:20px;border:1.5px dashed #8fb39a;border-radius:10px;background:#f4f8f3;color:var(--green-900);cursor:default;transition:border-color .16s,background .16s,box-shadow .16s}.import-pdf-paste:focus-visible,.import-pdf-dialog.is-dragging .import-pdf-paste{border-color:var(--green-700);background:#ebf4ec;box-shadow:0 0 0 3px rgba(28,122,67,.09);outline:0}.import-pdf-paste svg{width:34px;height:34px}.import-pdf-paste strong{font-size:17px}.import-pdf-paste span{color:#6c786f;font-size:12px}.import-pdf-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:#929991;font-size:11px}.import-pdf-divider::before,.import-pdf-divider::after{content:"";height:1px;flex:1;background:#e0e5df}.import-pdf-choose{width:100%;justify-content:center}.import-pdf-status{min-height:18px;margin:12px 0 0;color:#7a827c;font-size:11px;text-align:center}.import-pdf-status.is-error{color:#9b413a}
.pdf-preview-dialog{width:min(1100px,calc(100vw - 40px));height:min(900px,calc(100vh - 40px));max-width:none;max-height:none;padding:0;border:1px solid rgba(14,90,49,.2);border-radius:14px;background:#e8e8e5;color:var(--ink);box-shadow:0 24px 80px rgba(13,35,23,.3);overflow:hidden}.pdf-preview-dialog::backdrop{background:rgba(20,31,24,.58);backdrop-filter:blur(3px)}.pdf-preview-shell{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.pdf-preview-header{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;border-bottom:1px solid #d3d8d3;background:#fffdf8}.pdf-preview-header h2{margin:0;color:var(--green-900);font-size:18px}.pdf-preview-header p{max-width:720px;margin:3px 0 0;overflow:hidden;color:#747b75;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.pdf-preview-close{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid #d1d8d2;border-radius:7px;background:#fff;color:var(--green-900);font-size:25px;line-height:1;cursor:pointer}.pdf-preview-close:hover{background:var(--green-100)}.pdf-preview-canvas{min-height:0;padding:12px;background:#d9dbd8}.pdf-preview-canvas iframe{width:100%;height:100%;display:block;border:0;border-radius:6px;background:#fff}.pdf-preview-actions{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 18px;border-top:1px solid #d3d8d3;background:#fffdf8}.pdf-preview-actions>span{color:#747b75;font-size:12px}.pdf-preview-actions>div{display:flex;gap:10px}.pdf-preview-actions .toolbar-button{justify-content:center;min-width:100px}
.app-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 64px)}
.sidebar{display:flex;flex-direction:column;gap:14px;padding:20px;background:#f4f0e8;border-right:1px solid #d8d2c7}.sidebar-panel{min-height:190px;padding:20px;border:1px solid #ddd4c5;border-radius:8px;background:#fffdf8;box-shadow:0 7px 22px rgba(50,38,20,.05)}
.panel-index{color:#a78a5e;font-size:11px;font-weight:800;letter-spacing:.13em}.sidebar h1{margin:7px 0 24px;color:var(--green-900);font-size:20px}.sidebar label{display:block;margin-bottom:7px;color:#6e665a;font-size:12px;font-weight:700}.sidebar select{width:100%;height:42px;padding:0 10px;border:1px solid #cfc5b3;border-radius:6px;background:#fff;color:var(--ink);outline:none}.sidebar select:focus{border-color:var(--green-700);box-shadow:0 0 0 3px rgba(28,122,67,.1)}
.canvas-area{min-width:0;padding:28px;overflow:auto}.sheet-wrap{width:max-content;min-width:100%;display:flex;justify-content:center;align-items:flex-start}
.quote-sheet{width:210mm;min-height:297mm;position:relative;overflow:hidden;padding:12mm 9mm;display:flex;flex-direction:column;background:var(--paper);box-shadow:0 18px 50px rgba(42,34,20,.16);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif;color:#15231b}
.sheet-watermark{position:absolute;right:-16mm;bottom:16mm;width:102mm;height:140mm;opacity:.055;pointer-events:none}.sheet-watermark img{width:100%;height:100%;object-fit:contain}
.quote-sheet>*:not(.sheet-watermark){position:relative;z-index:1}
.quote-header{display:grid;grid-template-columns:minmax(0,1fr) 50mm;gap:5mm;align-items:start;height:24mm}
.company-lockup{display:flex;align-items:stretch;height:24mm;min-width:0}.company-logo{width:26mm;height:24mm;object-fit:contain;object-position:left center;flex:0 0 auto}.company-heading{min-width:0;height:24mm;margin-left:3mm;padding:.5mm 0;display:flex;flex-direction:column;justify-content:flex-start}.company-name{color:var(--green-800);font-size:26px;font-weight:800;line-height:1.08;white-space:nowrap}.company-name-en{align-self:flex-start;margin-top:4px;color:#17472f;font-size:12px;font-weight:600;line-height:1.2;text-transform:uppercase;white-space:nowrap}
.quotation-heading{height:24mm;padding:.5mm 0 .5mm 6mm;display:flex;flex-direction:column;border-left:1px solid #4d6254}.quotation-heading>b{display:block;color:var(--green-900);font-size:25px;font-weight:800;line-height:1;letter-spacing:.16em}.quotation-heading>strong{display:block;margin-top:2px;color:var(--green-800);font-size:11px;line-height:1;letter-spacing:.14em}.quotation-heading dl{margin:auto 0 0;font-size:10px;line-height:1}.quotation-heading dl div{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.55em;align-items:center;min-height:3.5mm}.quotation-heading dt{font-weight:700;white-space:nowrap}.quotation-heading dd{margin:0;min-width:0}
.green-rule{height:1.5px;margin:1.5mm 0 2.5mm;background:var(--green-800)}
.party-grid{display:grid;grid-template-columns:1fr 1fr;gap:3mm}.info-card{min-height:37mm;padding:2mm 3.5mm 1.4mm;border-radius:5px;background:linear-gradient(120deg,#f0f4f0,#f8faf8)}
.info-card h2,.commercial-section>h2{display:flex;align-items:center;gap:6px;margin:0 0 .8mm;color:var(--green-900);font-size:14px}.info-card h2 i,.commercial-section h2 i,.spec-note h2 i,.authorization-box h2 i{font-style:normal;font-weight:500;font-size:.82em;letter-spacing:.03em}
.info-card-title-copy{min-width:0;display:flex;align-items:baseline;gap:1.5mm;white-space:nowrap}.info-card-title-copy i{flex:0 0 auto}
.round-icon{width:8mm;height:8mm;display:grid;place-items:center;border-radius:50%;background:var(--green-800);color:#fff;flex:0 0 auto}.round-icon svg{width:5mm;height:5mm}
.info-list{margin:0;display:grid;gap:2mm;font-size:11.5px;line-height:1.16}.info-list div{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:1mm;align-items:start;min-height:4.1mm}.info-list dt{display:grid;grid-template-columns:4em auto;column-gap:.55em;align-items:start;color:#173d29;font-weight:700;white-space:nowrap}.info-list dt span{width:4em;display:flex;justify-content:space-between}.info-list dt em{font:inherit;font-style:normal}.info-list dt b{font:inherit}.info-list dd{margin:0;min-width:0}
.product-section{margin-top:1.5mm}.product-table-editor{position:relative}.table-floating-controls{position:absolute;inset:0;z-index:5;pointer-events:none}.table-control{position:absolute;width:5mm;height:5mm;display:block;padding:0;border:1px solid #a8c2af;border-radius:50%;background:#fff;color:var(--green-800);font-size:0;line-height:0;pointer-events:auto;cursor:pointer;box-shadow:0 1px 3px rgba(11,58,34,.12);transform:translate(-50%,-50%);transition:background .15s,border-color .15s,box-shadow .15s}.table-control::before,.table-control-add::after{content:"";position:absolute;top:50%;left:50%;width:46%;height:1.5px;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}.table-control-add::after{transform:translate(-50%,-50%) rotate(90deg)}.table-control:hover{border-color:var(--green-700);background:#eaf3ec;box-shadow:0 2px 6px rgba(11,58,34,.18)}.table-control:active{margin-top:1px}.product-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}.product-table th{height:9mm;position:relative;padding:1mm .8mm;background:var(--green-800);border-right:1px solid rgba(255,255,255,.28);color:#fff;font-weight:700;line-height:1.1;transition:background .15s}.product-table th:first-child{border-radius:4px 0 0}.product-table th:last-child{border-radius:0 4px 0 0;border-right:0}.product-table th.selected-column{background:var(--green-900)}.product-table th small{font-size:10px}.product-table td{height:8.5mm;position:relative;padding:.45mm;border-right:1px solid #c8cec9;border-bottom:1px solid #c8cec9;text-align:center;vertical-align:middle;line-height:1.15}.product-table td:first-child{border-left:1px solid #c8cec9}.product-table tr.selected td{background:#edf5ef}.product-table td[data-cell-row]{cursor:cell;outline:none}.product-table td.cell-range-selected{background:#eaf3ec}.product-table td.cell-range-top{border-top:1.5px solid var(--green-700)}.product-table td.cell-range-bottom{border-bottom:1.5px solid var(--green-700)}.product-table td.cell-range-left{border-left:1.5px solid var(--green-700)}.product-table td.cell-range-right{border-right:1.5px solid var(--green-700)}.product-table td.active-cell{z-index:1;box-shadow:inset 0 0 0 2px var(--green-800)}.product-table td.cell-range-copied{animation:copied-cell-pulse .8s ease}.product-table.is-selecting-cells,.product-table.is-selecting-cells *{user-select:none}.row-number-cell{cursor:pointer;color:#536158}.column-title{min-height:5.5mm;display:flex;align-items:center;justify-content:center;padding:0 .5mm;white-space:pre-line}.column-title:hover,.column-title:focus{border-color:rgba(255,255,255,.42);background:rgba(6,48,27,.35);color:#fff;box-shadow:none}.c-index{width:7%}.column-resize-handle{position:absolute;z-index:4;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;touch-action:none}.column-resize-handle::after{content:"";position:absolute;top:12%;bottom:12%;left:3px;width:2px;border-radius:2px;background:rgba(255,255,255,.35);transition:background .15s}.column-resize-handle:hover::after,.is-resizing-column .column-resize-handle::after{background:rgba(255,255,255,.9)}.is-resizing-column{cursor:col-resize;user-select:none}@keyframes copied-cell-pulse{50%{background:#d8eadc}}
.cell-editable{min-height:5mm;display:flex;align-items:center;justify-content:center;padding:.7mm;white-space:pre-wrap;overflow-wrap:anywhere;cursor:cell}.cell-editable.is-editing{border:1px solid var(--green-700);border-radius:3px;background:#fff;outline:0;box-shadow:0 0 0 2px rgba(28,122,67,.12);cursor:text;user-select:text}.fill-down-button{position:absolute;z-index:2;top:1px;right:1px;width:4.5mm;height:4.5mm;display:grid;place-items:center;padding:0;border:1px solid rgba(28,122,67,.2);border-radius:4px;background:rgba(255,255,255,.94);color:var(--green-800);font-size:12px;line-height:1;opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;transition:opacity .15s,background .15s,border-color .15s,visibility .15s}.product-table td.is-editing .fill-down-button,.fill-down-button:focus-visible{opacity:1;visibility:visible;pointer-events:auto}.fill-down-button:hover{border-color:var(--green-700);background:var(--green-100)}.clear-row-button{position:absolute;z-index:3;top:50%;right:-8.5mm;width:8mm;height:5mm;display:grid;place-items:center;padding:0;border:1px solid #c9b7ac;border-radius:4px;background:#fff;color:#8a4238;font-size:8px;font-weight:700;line-height:1;opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;transform:translateY(-50%);transition:opacity .15s,background .15s,border-color .15s,visibility .15s}.product-table tr:has(td.is-editing) .clear-row-button,.clear-row-button:focus-visible{opacity:1;visibility:visible;pointer-events:auto}.clear-row-button:hover{border-color:#ad655b;background:#fff3f1}
.table-context-menu{position:fixed;z-index:1000;width:176px;padding:6px;border:1px solid rgba(17,74,43,.16);border-radius:8px;background:#fffdf8;box-shadow:0 10px 28px rgba(24,47,34,.18);font-family:"Noto Sans SC","Microsoft YaHei",Arial,sans-serif}.table-context-menu[hidden],.table-context-menu button[hidden],.table-context-menu [role="separator"][hidden]{display:none}.table-context-menu button{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:#1d3528;font:inherit;font-size:13px;text-align:left;cursor:pointer}.table-context-menu button:hover,.table-context-menu button:focus-visible{background:#edf4ed;outline:0}.table-context-menu button.danger{color:#8a4238}.table-context-menu button.danger:hover,.table-context-menu button.danger:focus-visible{background:#fff1ee}.table-context-menu kbd{color:#8a918b;font:inherit;font-size:10px;white-space:nowrap}.table-context-menu-divider{height:1px;margin:5px 4px;background:#e4e7e2}
.spec-note{display:block;min-height:0;margin-top:1.2mm;padding:1.3mm 4mm;border:1px solid #b9c7bd;border-radius:5px;background:linear-gradient(90deg,#f8faf7,#fcfdfb)}.spec-note>.line-icon{display:none}.spec-note-content{min-width:0;display:block}.spec-note h2{display:inline;margin:0 1.5mm 0 0;color:#17472f;font-size:11.5px;line-height:1.3;vertical-align:baseline}.spec-note p{display:inline;margin:0;font-size:10.8px;line-height:1.3;vertical-align:baseline}.spec-note-fixed{margin-right:1.5mm!important}.spec-note-extra{min-width:0;min-height:0;padding:.2mm .8mm;white-space:pre-wrap;-webkit-box-decoration-break:clone;box-decoration-break:clone}.line-icon{width:8mm;height:8mm;display:grid;place-items:center;color:var(--green-800);flex:0 0 auto}.line-icon svg{width:7mm;height:7mm}.line-icon.brown{color:#8b5e1d}
.commercial-section{margin-top:1.2mm;border:1px solid #9db1a2;border-radius:5px}.quote-sheet>.commercial-section:has(.payment-menu:not([hidden])){z-index:3}.commercial-section>h2{height:7mm;margin:0;padding:0 4mm;border-radius:4px 4px 0 0;background:#f4f7f4;font-size:12.5px}.commercial-section>h2 .line-icon{width:6mm;height:6mm}.commercial-section>h2 .line-icon svg{width:5mm;height:5mm}.term-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-top:1px solid #d7e0d9;overflow:visible}.term-column{min-width:0}.term-column:first-child{border-right:1px dashed #c9d2cb}.term-item{min-height:0;display:block;padding:0 3mm;border-bottom:1px dotted #d3dbd5}.term-item[hidden]{display:none}.term-column .term-item:last-child{border-bottom:0}.term-icon{display:none}.term-item>div{width:100%;min-width:0;display:block;padding:0 .8mm;border:1px solid rgba(28,122,67,.18);border-radius:3px;background:rgba(237,246,239,.45);text-align:justify;text-align-last:left;text-justify:inter-character}.term-heading{display:inline-flex;align-items:baseline;gap:1mm;margin-right:.8mm;color:#163f29;line-height:1.14;text-align:left;vertical-align:baseline}.term-heading>b{flex:0 0 auto;font-size:10.5px}.term-item h3{min-width:0;margin:0;color:#163f29;font-size:10.8px;line-height:1.14;white-space:nowrap}.term-item h3::after{content:"："}.term-item p{display:inline;margin:0;border:0;border-radius:0;background:transparent;font-size:10.2px;line-height:1.12;box-shadow:none;-webkit-box-decoration-break:clone;box-decoration-break:clone}.term-item p.editable:hover{border:0;background:rgba(232,243,235,.9)}.term-item p.editable:focus{border:0;background:#fff;box-shadow:0 0 0 2px rgba(28,122,67,.12)}
.payment-picker{position:relative;display:inline;margin:0}.payment-picker-button{width:auto;max-width:100%;min-height:0;display:inline-flex;align-items:baseline;justify-content:space-between;gap:1mm;padding:0;border:0;border-radius:0;background:transparent;color:#15231b;font:inherit;font-size:10.2px;line-height:1.28;text-align:left;vertical-align:baseline;cursor:pointer}.payment-picker-button:hover,.payment-picker-button[aria-expanded="true"]{border:0;background:#fff}.payment-picker-button>span{min-width:0}.payment-picker-button>svg{width:3.2mm;height:3.2mm;flex:0 0 auto;transition:transform .15s}.payment-picker-button[aria-expanded="true"]>svg{transform:rotate(180deg)}.payment-menu{position:absolute;isolation:isolate;z-index:30;top:calc(100% + 2px);left:0;width:92mm;max-height:72mm;overflow:auto;padding:1.5mm;border:1px solid #9bb5a2;border-radius:5px;background:#fff;box-shadow:0 8px 24px rgba(11,58,34,.18)}.payment-option{width:100%;display:block;padding:1.5mm 2mm;border:0;border-bottom:1px solid #e3e9e4;background:#fff;color:#173d29;text-align:left;cursor:pointer}.payment-option:last-child{border-bottom:0}.payment-option:hover,.payment-option[aria-selected="true"]{background:#edf5ef}.payment-option strong{display:block;font-size:10.5px;line-height:1.25}.payment-option small{display:block;margin-top:.5mm;color:#6f776f;font-size:9.5px;line-height:1.3}.authorization-box{margin:1.5mm 0}.authorization-pair{display:grid;grid-template-columns:1fr 1fr;gap:3mm}.authorization-card{min-width:0;min-height:48mm;display:grid;grid-template-columns:minmax(0,1fr) 41mm;padding:2.5mm 3mm;border:1px solid #6e9a7d;border-radius:5px}.authorization-main{display:flex;flex-direction:column;min-width:0;padding-right:3mm;border-right:1px dashed #c9d2cb}.authorization-card h2{margin:0;color:var(--green-800);font-size:12.5px;line-height:1.15}.authorization-card h2 i{display:block;margin-top:1mm;font-style:normal;font-weight:500;font-size:8.5px;letter-spacing:.04em}.authorization-fields{display:flex;flex:1;flex-direction:column;justify-content:center}.authorization-fields p{display:grid;grid-template-columns:18mm minmax(0,1fr);align-items:end;margin:2mm 0;font-size:10.5px}.authorization-fields p>span{white-space:nowrap}.signature-line{display:inline-block;min-width:0;min-height:4.5mm;border-bottom:1px solid #9da79f;vertical-align:bottom}.authorization-seal{min-width:0;display:flex;flex-direction:column;padding-left:3mm;color:#173d29;font-size:10.5px;font-weight:700}.authorization-seal strong{flex:0 0 auto}.authorization-seal img{width:40mm;height:40mm;align-self:center;object-fit:contain;transform:scaleY(var(--seal-shape-correction,1));transform-origin:center}.customer-seal-space{min-height:40mm}.quote-footer{display:flex;align-items:flex-end;justify-content:flex-end;gap:8mm;margin-top:auto;padding:1.5mm 4mm 0;border-top:1.5px solid var(--green-800)}.footer-slogan{display:flex;align-items:flex-end;gap:4mm;color:var(--green-800)}.footer-slogan strong{font-size:17px;line-height:1.1}.footer-slogan small{max-width:42mm;font-size:7.5px;letter-spacing:.04em}
.editable{min-width:4mm;border:1px solid rgba(28,122,67,.22);border-radius:3px;background:rgba(237,246,239,.62);outline:0;transition:border-color .14s,background .14s,box-shadow .14s}.editable:hover{border-color:rgba(28,122,67,.38);background:rgba(232,243,235,.9)}.editable:focus{border-color:var(--green-700);background:#fff;box-shadow:0 0 0 2px rgba(28,122,67,.12)}.editable:empty::before{content:attr(data-placeholder);color:#9aa39c;font-weight:400}.required-field.is-invalid{border-color:#b84a43;background:#fff2f0;box-shadow:0 0 0 1px rgba(184,74,67,.12)}.required-field.is-invalid:empty::before{color:#a4433d}.toolbar-button.has-validation-errors{box-shadow:0 0 0 2px rgba(184,74,67,.16)}.multiline{white-space:pre-wrap}
.inline-edit-trigger{width:5mm;height:5mm;display:grid;place-items:center;align-self:center;padding:0;border:1px solid rgba(28,122,67,.25);border-radius:4px;background:rgba(237,246,239,.9);color:var(--green-800);cursor:pointer}.inline-edit-trigger:hover{border-color:var(--green-700);background:#fff}.inline-edit-trigger svg{width:3.2mm;height:3.2mm}.info-list div.has-edit-action{grid-template-columns:21mm minmax(0,1fr) 5mm;column-gap:1.2mm}.term-item.has-edit-action{grid-template-columns:8mm minmax(0,1fr) 5mm}.product-table th.has-subtitle-editor{padding-right:6mm}.column-edit-trigger{position:absolute;z-index:3;right:1mm;top:50%;transform:translateY(-50%);border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff}.column-edit-trigger:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.22)}.product-table th .column-subtitle-editable{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.08);color:#fff}.table-control[hidden]{display:none}.product-table th .column-title{border-color:transparent;background:transparent}.product-table th .column-title:not(.editable){pointer-events:none}.product-table th .column-title.editable{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.08)}.product-table th .column-title.editable:hover,.product-table th .column-title.editable:focus{border-color:rgba(255,255,255,.58);background:rgba(6,48,27,.38);color:#fff;box-shadow:none}
.print-document{display:none}.print-document.is-measuring{width:210mm;display:block;position:fixed;z-index:-1;top:0;left:-10000px;visibility:hidden}.print-document.is-exporting{width:210mm;display:block;position:fixed;z-index:-1;top:0;left:0;pointer-events:none}.print-page{width:210mm;height:297mm;min-height:297mm;margin:0;box-shadow:none}.print-page-content{min-height:0}.print-continuation-header{height:15mm;display:flex;align-items:center;justify-content:space-between;margin-bottom:2.5mm;padding-bottom:2mm;border-bottom:1.5px solid var(--green-800);color:var(--green-800)}.print-continuation-header strong{font-size:12px}.print-continuation-header span{font-size:10px;font-weight:700;letter-spacing:.04em}.print-page-continuation-marker{height:4mm;flex:0 0 4mm;display:flex;align-items:center;justify-content:center;margin-top:1mm;color:#536e5d;font-size:9px;font-weight:700;letter-spacing:.08em}.print-page-continuation-marker[hidden]{display:none}.print-page .quote-footer{position:relative;flex:0 0 auto}.print-page-number{position:absolute;left:50%;top:50%;color:#52665a;font-size:9px;font-weight:600;white-space:nowrap;transform:translate(-50%,-50%)}.is-exporting .product-table-editor{display:block;padding-left:0}.is-exporting .editable{border-color:transparent!important;background:transparent!important;box-shadow:none!important}.is-exporting .payment-picker-button{padding:.5mm 0;border-color:transparent!important;background:transparent!important}.is-exporting .payment-picker-button>svg{display:none}
.print-document .editable:empty::before{content:none!important}
.quotation-heading dl{font-size:12px}.quotation-heading dl div{min-height:4mm}
.product-table tr:focus-within .clear-row-button{opacity:1;visibility:visible;pointer-events:auto}
@media(max-width:1700px){.app-actions{position:relative;z-index:1}}
@media(max-width:1280px){.app-bar{grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:0 14px}.back-link span,.save-status{display:none}.app-title{text-align:left}.app-actions{gap:7px}.toolbar-button{height:36px;gap:5px;padding:0 10px;font-size:13px}.toolbar-button svg{width:15px;height:15px}.history-controls{height:36px;grid-template-columns:34px 34px}.history-controls svg,.zoom-controls svg{width:15px;height:15px}.zoom-controls{height:32px;grid-template-columns:30px 48px 30px}}
@media(max-width:1050px){.app-bar{gap:9px;padding:0 10px}.app-title strong{font-size:17px}.app-title span{margin-left:5px;font-size:7px}.app-actions{gap:5px}.toolbar-button{height:34px;padding:0 8px;font-size:12px}.history-controls{height:34px;grid-template-columns:31px 31px}.zoom-controls{height:31px;grid-template-columns:28px 44px 28px}.app-layout{grid-template-columns:210px minmax(0,1fr)}.canvas-area{padding:18px}.sheet-wrap{justify-content:flex-start}}
@media(max-width:760px){.app-bar{height:auto;min-height:96px;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;gap:6px 9px;padding:8px 12px}.back-link{grid-column:1;grid-row:1}.app-title{grid-column:2;grid-row:1;text-align:left}.app-actions{grid-column:1/-1;grid-row:2;width:100%;justify-content:center;gap:6px}.back-link span,.save-status,.zoom-controls{display:none}.app-title strong{font-size:16px}.app-title span{display:none}.toolbar-button{height:36px;padding:0 10px;font-size:12px}.toolbar-button svg{display:none}.app-layout{display:block}.sidebar{padding:12px;border-right:0;border-bottom:1px solid #d8d2c7}.sidebar-panel{min-height:0;padding:12px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px}.sidebar .panel-index,.sidebar h1{display:none}.sidebar label{margin:0}.sidebar select{height:38px}.canvas-area{padding:12px;overflow:auto}.quote-sheet{flex:0 0 auto}.sheet-wrap{min-width:210mm}}
@media(max-width:480px){.app-actions{gap:4px}.app-actions .toolbar-button{min-width:0;flex:1 1 0;justify-content:center;padding:0 5px;font-size:11px}}
@media print{@page{size:A4 portrait;margin:0}html,body{width:210mm;margin:0;background:#fff}.app-bar,.app-layout,.screen-only{display:none!important}.print-document{width:210mm;display:block!important;margin:0!important}.print-validation-blocked .print-document{display:none!important}.print-validation-blocked::before{content:"报价单必填信息未完成，无法打印。";display:block;padding:30mm;color:#9b302b;font-size:18px;font-weight:700}.print-page{width:210mm;height:297mm;min-height:297mm;margin:0!important;overflow:hidden;break-after:page;page-break-after:always;zoom:1!important;box-shadow:none;print-color-adjust:exact;-webkit-print-color-adjust:exact}.print-page:last-child{break-after:auto;page-break-after:auto}.product-table-editor{display:block;padding-left:0}.product-table thead{display:table-header-group}.product-table tr{break-inside:avoid;page-break-inside:avoid}.product-table tr.selected td,.product-table td.cell-range-selected{background:transparent!important}.product-table td.active-cell,.product-table td.cell-range-top,.product-table td.cell-range-bottom,.product-table td.cell-range-left,.product-table td.cell-range-right{box-shadow:none!important;border-color:#c8cec9!important}.spec-note,.term-item,.authorization-box{break-inside:avoid;page-break-inside:avoid}.editable{border-color:transparent!important;background:transparent!important;box-shadow:none!important}.payment-picker-button{padding:.5mm 0;border-color:transparent!important;background:transparent!important}.payment-picker-button>svg{display:none}}
.import-mode-description span {
  display: block;
}

.import-mode-description span + span {
  margin-top: 4px;
}
