.quote-panel{padding:24px}.quote-list{display:grid;gap:10px}.quote-row{display:flex;justify-content:space-between;gap:20px;width:100%;text-align:left;background:white;border:1px solid #dce1d6;border-radius:12px;padding:18px;cursor:pointer}.quote-row span{display:grid;gap:8px}.quote-row small{color:#66705e}.quote-dealer{padding:16px 0;border-bottom:1px solid #e2e7db}.quote-dealer .btn{margin:4px}.quote-line{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin:12px 0}#quote-editor fieldset,#quote-detail fieldset{border:1px solid #dce1d6;border-radius:12px;padding:16px;margin:20px 0}#quote-share-members label{display:flex;align-items:center;gap:10px;padding:12px}#quote-share-members input{width:auto}#quote-detail .toolbar{flex-wrap:wrap;gap:10px}#quote-detail table{width:100%}#quote-detail td,#quote-detail th{padding:10px;text-align:left}@media(max-width:650px){.quote-panel{padding:14px}.quote-row{flex-direction:column}.quote-line{grid-template-columns:1fr 1fr}.quote-line label:first-child{grid-column:1/-1}}
dialog:has(#quote-editor),dialog:has(#quote-detail),dialog:has(#quote-master){width:980px;max-width:94vw}#quote-editor label,#quote-master label,#quote-editor fieldset,#quote-detail fieldset{min-width:0}#quote-editor input,#quote-editor select,#quote-master input,#quote-master select{width:100%;min-width:0}.quote-line{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);padding:16px;border:1px solid #e2e7db;border-radius:10px}.quote-line label:nth-child(4){grid-column:1/3}.quote-line .btn{justify-self:end}.quote-line label[hidden],#quote-master label[hidden]{display:none}#quote-detail td small{display:block;color:#66705e;margin-top:6px}@media(max-width:650px){.quote-line{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.quote-line label:first-child,.quote-line label:nth-child(4){grid-column:1/-1}.quote-line .btn{grid-column:1/-1}dialog:has(#quote-editor),dialog:has(#quote-master),dialog:has(#quote-detail){padding:18px}}
.quote-list-item{border:1px solid #dce1d6;border-radius:12px;background:#fff;min-width:0;overflow:hidden}.quote-list-item .quote-row{border:0;border-radius:0;min-width:0}.quote-list-item .quote-row>span{min-width:0;overflow-wrap:anywhere}.quote-list-actions{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px;border-top:1px solid #e2e7db;background:#f8faf6}.quote-list-actions .btn{margin:0}.quote-row:focus-visible{outline:2px solid #52783f;outline-offset:-3px}.quote-primary-actions{padding-bottom:15px;border-bottom:1px solid #e1e8df}#quote-edit-notice .btn{display:block;margin-top:10px}@media(max-width:650px){.quote-list-item .quote-row{padding:14px;gap:14px}.quote-list-actions{padding:10px 14px}}
.quote-trash-note{font-size:12px;line-height:1.7;color:#586d60;margin:0 0 16px}
.quote-row:disabled{cursor:default;color:inherit;opacity:1}

.quote-price-search{display:block;width:360px;max-width:100%;margin:8px 0 16px}
.quote-price-wrap{overflow-x:auto;max-width:100%}
.quote-price-table{width:100%;min-width:1040px;border-collapse:collapse}
.quote-price-table th,.quote-price-table td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.quote-price-table th{background:#f1f5ef;white-space:nowrap}
.quote-price-table td:first-child{min-width:170px;max-width:260px;overflow-wrap:anywhere}
.quote-price-table small{display:block;color:#627567;margin-top:5px}
.quote-price-table input,.quote-price-table select{width:100%;min-height:40px}
.quote-price-table input[name=amount]{min-width:130px}
.quote-price-table input[name=min_quantity]{min-width:80px}
.quote-price-table input[type=date]{min-width:145px}
.quote-price-table form{min-width:120px}
.quote-price-table .btn{padding:8px 10px}
.quote-price-table tr:focus-within{background:#f6faf2}
@media(max-width:650px){.quote-price-table input,.quote-price-table select{font-size:16px}}

.quote-search-panel{margin:16px 0}.quote-search-panel h2{margin:0 0 14px;font-size:17px}.quote-search-panel form{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.quote-search-panel label{display:flex;flex:1 1 180px;flex-direction:column;gap:6px;font-size:13px;min-width:0}.quote-search-panel input{width:100%;min-width:0}.quote-search-panel p{font-size:12px;margin-bottom:0}@media(max-width:600px){.quote-search-panel label{flex-basis:100%}.quote-search-panel form>button{flex:1}}

/* Quotation entry: clear sections and spreadsheet-style line editing. */
dialog:has(#quote-editor){width:1180px}
.quote-editor-section{border:1px solid #dce5db;border-radius:10px;padding:18px;margin:16px 0;background:#fff;min-width:0}
.quote-editor-section h3{font-size:17px;margin:0 0 14px}.quote-editor-section>p{font-size:13px;color:#61705e;line-height:1.6}
.quote-editor-section>summary{font-weight:600;cursor:pointer}.quote-editor-section>summary+.form-grid{margin-top:18px}
.quote-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.quote-picker-heading h3{margin:0}
.quote-product-search{display:flex;gap:10px;margin:16px 0;align-items:center}.quote-product-search input{flex:1}.quote-product-search button{flex-shrink:0}
.quote-edit-table-wrap{max-width:100%;overflow-x:auto;border:1px solid #dce5db;border-radius:8px}
.quote-edit-table{width:100%;min-width:1030px;table-layout:fixed;border-collapse:collapse}
.quote-edit-table th{background:#f0f5ed;text-align:left;font-size:12px;padding:12px 10px}
.quote-edit-table th:nth-child(1){width:20%}.quote-edit-table th:nth-child(2){width:23%}.quote-edit-table th:nth-child(3){width:8%}.quote-edit-table th:nth-child(4){width:6%}.quote-edit-table th:nth-child(5){width:14%}.quote-edit-table th:nth-child(6){width:20%}.quote-edit-table th:nth-child(7){width:9%}
#quote-editor .quote-line{display:table-row;padding:0;margin:0;border:0;border-radius:0}
.quote-edit-table td{padding:10px;vertical-align:top;border-top:1px solid #e0e7db}
#quote-editor .quote-edit-table label{font-size:0;margin:0;display:block}#quote-editor .quote-edit-table input,#quote-editor .quote-edit-table select{font-size:13px;margin:0;padding:10px 8px}
.quote-edit-table [data-item-suggestions]{max-height:180px;overflow:auto}.quote-code-choice{display:block;width:100%;padding:8px;margin-top:4px;background:#f3f7ef;border:1px solid #dce5db;text-align:left;font-size:12px;border-radius:5px;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.quote-edit-table small{font-size:11px;color:#61705e}.quote-edit-table [data-line-unit]{display:table-cell;vertical-align:middle;text-align:center;font-size:13px;white-space:nowrap;color:#52624d}
[data-product-picker]{padding:14px;background:#f5f8f2;border:1px solid #dce5db;border-radius:8px;margin:12px 0}[data-product-picker][hidden]{display:none}
[data-product-picker] p{font-size:12px;line-height:1.6}.quote-picker-scroll{max-height:320px;overflow:auto}.quote-picker-scroll table{width:100%;min-width:550px;border-collapse:collapse}.quote-picker-scroll td,.quote-picker-scroll th{padding:10px;text-align:left;border-bottom:1px solid #dce5db;font-size:13px}.quote-picker-scroll td:first-child strong,.quote-picker-scroll td:first-child small{display:block}.quote-picker-scroll td:first-child{overflow-wrap:anywhere;max-width:250px}
.quote-editor-footer{padding-top:16px;border-top:1px solid #dce5db}
@media(max-width:650px){.quote-editor-section{padding:12px}.quote-product-search{flex-wrap:wrap}.quote-product-search input{flex-basis:100%}.quote-product-search button{width:100%}.quote-picker-heading{flex-wrap:wrap}}


#quote-editor .quote-validity{background:#f6f9f3;margin:18px 0 0;padding:16px}
.quote-validity legend{font-weight:600;font-size:14px}.quote-validity-choices{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
#quote-editor .quote-validity-choice{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #dce5db;border-radius:8px;background:#fff;margin:0;cursor:pointer;font-size:13px}
#quote-editor .quote-validity-choice:has(input:checked){border-color:#267153;background:#eaf3e5;color:#174b3c}
#quote-editor .quote-validity-choice input{width:16px;height:16px;margin:0;accent-color:#267153}
.quote-validity-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:650px}.quote-validity-fields label[hidden]{display:none}.quote-validity-fields small{display:block;color:#61705e;font-size:12px;margin-top:5px}
#quote-editor .quote-validity input[readonly]{background:#edf2e9;color:#405940}.quote-validity [data-validity-summary]{font-size:13px;color:#174b3c;margin:12px 0 0}
@media(max-width:650px){.quote-validity-fields{grid-template-columns:1fr}.quote-validity-choices{display:grid;grid-template-columns:1fr}#quote-editor .quote-validity-choice{min-height:44px}}

.quote-product-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;max-height:200px;overflow:auto;margin:14px 0}.quote-product-type{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;padding:12px;background:#fff;border:1px solid #dce5db;border-radius:8px;min-height:44px}.quote-product-type strong{overflow-wrap:anywhere;font-size:13px}.quote-product-type span{white-space:nowrap;font-size:12px;color:#61705e}.quote-product-type[aria-pressed=true]{border-color:#267153;background:#eaf3e5;box-shadow:inset 3px 0 #267153}

.quote-entry-guide{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 12px 12px 30px;margin:12px 0;background:#f1f6ec;border-radius:8px;color:#34573e;font-size:13px}
.quote-inventory-browse{padding:12px 14px;border:1px solid #dce5db;border-radius:8px;margin:14px 0;background:#fafcf8}.quote-inventory-browse>strong{font-size:13px}.quote-inventory-browse>small{display:block;font-size:12px;color:#61705e;margin-top:5px}.quote-inventory-browse .quote-product-search{margin:10px 0 0}
.quote-code-choice strong,.quote-code-choice span,.quote-code-choice small{display:block;overflow-wrap:anywhere}.quote-code-choice strong{color:#174b3c;font-size:13px}.quote-code-choice span{margin:4px 0}.quote-code-choice small{font-size:11px}
.quote-match-count{font-size:11px;line-height:1.6;margin:8px 0;color:#61705e}.quote-code-more{width:100%;min-height:36px;margin-top:6px;font-size:12px;font-weight:600;color:#174b3c;background:#eaf3e5;border-radius:5px}
@media(max-width:650px){.quote-entry-guide{display:grid;gap:6px}.quote-inventory-browse{padding:10px}}

.quote-validity-reuse{font-size:12px;line-height:1.6;color:#426539;margin:0 0 12px}

.quote-edit-table .quote-code-choice{display:block;width:100%;min-height:36px;padding:8px 10px;margin:0;background:#fff;border:0;border-bottom:1px solid #e1e7dc;border-radius:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;font-size:13px;line-height:20px;font-weight:400}
.quote-edit-table .quote-code-choice:hover,.quote-edit-table .quote-code-choice:focus-visible{background:#eaf3e5;color:#174b3c}

.quote-row-actions{display:flex;gap:6px;white-space:nowrap}.quote-row-actions .btn{padding:7px 9px;min-width:48px}
.quote-drag-handle{display:block;touch-action:none;cursor:grab;background:#edf3e9;border:1px solid #cddbc7;border-radius:5px;font-size:22px;line-height:24px;width:38px;height:32px;margin-bottom:5px;color:#426539}
.quote-line-dragging{background:#eaf3e5;outline:2px solid #6b935c}.quote-line-dragging .quote-drag-handle{cursor:grabbing}

.quote-grade-selected{background:#edf5e8}

.quote-line [data-manual-fields]{margin-top:8px}.quote-line [data-manual-fields][hidden]{display:none}.quote-line [name=manual_unit]{min-width:60px;width:100%}

.quote-grade-layout{display:grid;grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:20px;align-items:start}.quote-grade-layout>*{min-width:0}.quote-grade-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.quote-grade-heading h2,.quote-grade-heading h3{margin:0}.quote-grade-heading p{margin:5px 0 0;font-size:12px;color:#66705e}.quote-grade-heading>div{min-width:0;overflow-wrap:anywhere}.quote-grade-heading>.btn{flex-shrink:0}.quote-grade-heading small{display:block;color:#61705e;font-size:12px;margin-bottom:4px}
.quote-grade-scroll{max-height:480px;overflow:auto}.quote-grade-table{width:100%;border-collapse:collapse;table-layout:fixed}.quote-grade-table th,.quote-grade-table td{padding:12px 8px;text-align:left;overflow-wrap:anywhere}.quote-grade-table th:first-child{width:44%}.quote-grade-table th{position:sticky;top:0;background:#f4f7ef;font-size:12px}.quote-grade-table td{border-bottom:1px solid #e1e7dc;font-size:13px}.quote-grade-table [data-grade-id]{cursor:pointer}.quote-grade-table [data-grade-id]:hover{background:#f1f6ec}.quote-grade-table [data-grade-id]:focus-visible{outline:2px solid #267153;outline-offset:-2px}.quote-grade-table .quote-grade-selected{background:#e5f1df;box-shadow:inset 3px 0 #267153}.quote-grade-table [data-grade-selected]{color:#267153;font-size:11px;margin-top:3px}.quote-grade-table [data-grade-selected]{display:block}.quote-grade-table [data-grade-selected].unselected{visibility:hidden}
.quote-grade-summary{display:flex;flex-wrap:wrap;gap:10px 24px;padding:12px 14px;background:#f1f6ec;border-radius:8px;font-size:13px}.quote-grade-summary strong{margin-left:7px;color:#174b3c}.quote-grade-detail>p,.quote-grade-list>.muted{font-size:12px;color:#66705e;line-height:1.6}.quote-grade-policy-heading{border-top:1px solid #dce5db;padding-top:20px;margin-top:20px}.quote-grade-policy-table{width:100%;min-width:540px;border-collapse:collapse}.quote-grade-policy-table th,.quote-grade-policy-table td{padding:12px 9px;text-align:left;border-bottom:1px solid #e1e7dc;font-size:12px}.quote-grade-policy-table th{background:#f4f7ef}.quote-grade-policy-table small{display:block;font-size:11px;color:#66705e;margin-top:4px}.quote-grade-status{display:inline-block;white-space:nowrap;background:#e5f1df;color:#267153;border-radius:5px;padding:3px 6px}.quote-grade-status.inactive{background:#f0f0ec;color:#777}.quote-grade-empty{text-align:center!important;padding:28px 12px!important;color:#66705e;line-height:1.8}.quote-grade-rules{margin-top:18px;font-size:12px;color:#66705e;line-height:1.7}.quote-grade-rules summary{cursor:pointer;color:#34573e}.quote-grade-rules ul{padding-left:20px}
@media(max-width:1000px){.quote-grade-layout{grid-template-columns:minmax(0,1fr)}.quote-grade-scroll{max-height:280px}}
@media(max-width:650px){.quote-grade-heading{gap:8px}.quote-grade-heading>.btn{padding:9px 11px;font-size:12px}.quote-grade-layout{gap:14px}}
.quote-grade-policy-table.is-empty{min-width:0}.quote-grade-policy-table.is-empty thead{display:none}

.quote-grade-dealers{border-top:1px solid #dce5db;padding-top:18px;margin-top:18px}.quote-grade-dealer-scroll{max-height:260px;overflow:auto;margin-top:10px}.quote-grade-dealer-scroll table{width:100%;min-width:410px}.quote-grade-dealer-scroll small,.quote-dealer-table small,.quote-dealer-pricing small{display:block;color:#66705e;font-size:11px}.quote-grade-dealer-scroll td,.quote-grade-dealer-scroll th,.quote-dealer-pricing td,.quote-dealer-pricing th{padding:9px;text-align:left;font-size:12px}.quote-price-filters{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.quote-price-filters label{min-width:160px}
[data-price-review]{padding:16px;border:2px solid #be952d;background:#fff9e9;border-radius:8px;margin:16px 0}[data-price-review] td,[data-price-review] th{padding:8px;font-size:12px;text-align:left}[data-price-review] .btn{margin:8px 6px 0 0}.quote-dealer-pricing table{width:100%}.quote-dealer-pricing [data-pricing-result]{background:#f1f6ec;padding:0 12px;margin-top:12px;border-radius:8px}
.quote-dealer-table{width:100%;min-width:630px;border-collapse:collapse;margin-top:14px}.quote-dealer-table>thead th,.quote-dealer-table>tbody>tr>td{padding:12px 9px;text-align:left;font-size:13px;border-bottom:1px solid #e1e7dc}.quote-dealer-table [data-dealer-id]{cursor:pointer}.quote-dealer-table [data-dealer-id]:hover{background:#f1f6ec}.quote-dealer-toggle{background:none;border:0;text-align:left;font-weight:600;color:#174b3c;padding:8px 0}.quote-dealer-table .btn{margin:3px;font-size:12px;padding:8px 10px}.quote-org-tree{background:#f8faf6;padding:16px;border-radius:8px;max-width:100%;overflow:auto}.quote-org-tree ul{list-style:none;padding-left:20px;margin:8px 0;border-left:1px solid #cddbc7}.quote-org-tree>ul{padding-left:0;border:0}.quote-org-folder{margin:8px 0}.quote-org-folder>summary{cursor:pointer;font-weight:600;padding:8px;background:#eaf1e4;border-radius:5px}.quote-org-actions{display:flex;flex-wrap:wrap;margin-left:16px}.quote-contact{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px;border-bottom:1px solid #e1e7dc}.quote-contact small{display:block}.quote-org-tree .quote-grade-heading{flex-wrap:wrap}

@media(max-width:650px){.quote-dealer-table{display:block;min-width:0}.quote-dealer-table>thead{display:none}.quote-dealer-table>tbody{display:block}.quote-dealer-table [data-dealer-id]{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:8px 0;border-bottom:1px solid #dce5db}.quote-dealer-table [data-dealer-id]>td{border:0;padding:4px 6px;min-width:0;overflow-wrap:anywhere}.quote-dealer-table [data-dealer-id]>td:nth-child(1){grid-column:1;grid-row:1}.quote-dealer-table [data-dealer-id]>td:nth-child(4){grid-column:2;grid-row:1;align-self:center}.quote-dealer-table [data-dealer-id]>td:nth-child(2){grid-column:1;grid-row:2}.quote-dealer-table [data-dealer-id]>td:nth-child(2)::before{content:'등급 · ';color:#748177}.quote-dealer-table [data-dealer-id]>td:nth-child(3){grid-column:2;grid-row:2}.quote-dealer-table [data-dealer-id]>td:nth-child(5){grid-column:1/-1;grid-row:3}.quote-dealer-table [data-dealer-tree],.quote-dealer-table [data-dealer-tree]>td{display:block;min-width:0;width:100%}.quote-dealer-table [data-dealer-tree]>td{padding:8px 0}.quote-org-tree{padding:10px}.quote-org-tree .quote-grade-heading>div{width:100%}.quote-org-tree ul{padding-left:10px}.quote-org-tree>ul{padding-left:0}.quote-org-actions{margin-left:0}.quote-org-tree .btn{font-size:11px;padding:7px}.quote-contact{flex-wrap:wrap;overflow-wrap:anywhere}.quote-contact>span{min-width:0}.quote-dealer-toggle{overflow-wrap:anywhere}.quote-dealer-pricing table{min-width:450px}}

/* Price sections remain distinct when the editable tables scroll horizontally. */
.quote-panel > section[data-price-group] + section[data-price-group] { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line, #dfe5e1); }

.quote-policy-tabs { display:flex; gap:6px; padding:8px; margin:16px 0; background:#eef3ed; border-radius:10px; overflow-x:auto; max-width:100%; }
.quote-policy-tabs .filter { flex-shrink:0; min-height:40px; white-space:nowrap; }
.quote-panel > section[data-price-group][role=tabpanel] { margin-top:0; padding-top:0; border-top:0; }
.quote-policy-form .quote-policy-search { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:10px; margin-bottom:16px; }
.quote-policy-results { grid-column:1/-1; max-height:210px; overflow:auto; scrollbar-gutter:stable; }
.quote-policy-results .quote-code-choice { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:40px; margin:0 0 4px; }
.quote-policy-results .quote-code-choice small { color:#61705e; }
.quote-policy-results .quote-code-choice.selected { border-color:#267153; background:#eaf4ed; }
.quote-policy-search > small { grid-column:1/-1; }
.quote-policy-form [data-policy-target-search] { margin-bottom:6px; }
@media(max-width:650px){.quote-policy-form .quote-policy-search{grid-template-columns:minmax(0,1fr)}.quote-policy-results .quote-code-choice{align-items:flex-start;flex-direction:column;gap:3px}}
.quote-dealer-price-group { border:1px solid #dce5db; border-radius:8px; margin:10px 0; min-width:0; }
.quote-dealer-price-group > summary { padding:14px; cursor:pointer; background:#f3f7f1; border-radius:8px; overflow-wrap:anywhere; }
.quote-dealer-price-group > summary span { margin-left:8px; color:#61705e; font-size:13px; }
.quote-dealer-price-body { padding:12px; min-width:0; }
/* Keep drag control and code lookup on one line regardless of model length. */
.quote-code-entry { display:grid; grid-template-columns:36px minmax(0,1fr); align-items:start; gap:6px; min-width:0; }
.quote-code-entry .quote-drag-handle { width:36px; height:40px; margin:0; }
#quote-editor .quote-code-entry [data-item-code] { width:100%; min-width:0; max-width:100%; height:40px; box-sizing:border-box; }
#quote-editor .quote-edit-table select { width:100%; min-width:0; max-width:100%; text-overflow:ellipsis; }
.quote-edit-table [data-item-suggestions] { min-width:0; max-width:100%; }
/* Quotation entry typography and spacing, scoped away from detail/admin views. */
dialog:has(#quote-editor) { background:#f7f9f7; padding:24px; }
dialog:has(#quote-editor) .modal-head { font-size:22px; color:#203e31; }
#quote-editor { font-size:14px; line-height:1.6; }
#quote-editor .quote-editor-section { margin:18px 0; padding:22px; border-color:#dbe4de; border-radius:12px; }
#quote-editor .quote-editor-section h3 { font-size:18px; line-height:1.4; margin-bottom:12px; }
#quote-editor .quote-editor-section>p { color:#526458; margin:10px 0 16px; }
#quote-editor .form-grid { gap:18px 20px; }
#quote-editor .form-grid>label:has([name=title]),
#quote-editor .form-grid>label:has([name=internal_memo]) { grid-column:1/-1; }
#quote-editor label { font-size:13px; font-weight:500; color:#40594b; gap:8px; }
#quote-editor input:not([type=radio]),#quote-editor select { min-height:44px; padding:10px 12px; font-size:14px; line-height:1.4; border-color:#cbd8ce; background:#fff; border-radius:7px; }
#quote-editor input:focus-visible,#quote-editor select:focus-visible { outline:2px solid #267153; outline-offset:2px; }
#quote-editor .btn { min-height:44px; padding:10px 14px; font-size:13px; }
#quote-editor .quote-validity { margin-top:20px; padding:18px; background:#f5f8f5; }
#quote-editor .quote-validity legend { font-size:14px; }
#quote-editor .quote-validity-choice { min-height:44px; font-size:14px; flex-direction:row; }
#quote-editor .quote-validity-fields { max-width:none; gap:18px; }
#quote-editor .quote-entry-guide { padding:12px 16px 12px 34px; gap:8px 30px; }
#quote-editor .quote-inventory-browse { padding:16px; margin:18px 0; background:#f7faf8; }
#quote-editor .quote-inventory-browse>strong { font-size:14px; }
#quote-editor .quote-edit-table { min-width:960px; }
#quote-editor .quote-edit-table th { padding:12px 8px; font-size:12px; font-weight:600; color:#3e5849; }
#quote-editor .quote-edit-table td { padding:12px 8px; }
#quote-editor .quote-edit-table th:nth-child(1) { width:23%; }
#quote-editor .quote-edit-table th:nth-child(2) { width:22%; }
#quote-editor .quote-edit-table th:nth-child(3) { width:8%; }
#quote-editor .quote-edit-table th:nth-child(4) { width:5%; }
#quote-editor .quote-edit-table th:nth-child(5) { width:14%; }
#quote-editor .quote-edit-table th:nth-child(6) { width:16%; }
#quote-editor .quote-edit-table th:nth-child(7) { width:12%; }
#quote-editor .quote-edit-table input,#quote-editor .quote-edit-table select { width:100%; min-width:0; max-width:100%; padding:10px 7px; font-size:14px; height:44px; box-sizing:border-box; }
#quote-editor .quote-edit-table [data-line-unit] { font-size:13px; }
#quote-editor .quote-code-entry { grid-template-columns:34px minmax(0,1fr); gap:6px; }
#quote-editor .quote-code-entry .quote-drag-handle { width:34px; height:44px; min-height:44px; font-size:22px; }
#quote-editor .quote-code-entry [data-item-code] { height:44px; }
#quote-editor .quote-row-actions { gap:6px; flex-wrap:wrap; }
#quote-editor .quote-row-actions .btn { min-width:0; min-height:44px; padding:9px 7px; font-size:12px; flex:1; }
#quote-editor .quote-edit-table [data-item-suggestions] { overflow-x:hidden; overflow-y:auto; }
#quote-editor .quote-edit-table .quote-code-choice { font-size:13px; padding:10px 8px; min-height:44px; }
#quote-editor .quote-line:focus-within { background:#f5faf6; }
#quote-editor .quote-input-help { margin-top:14px; color:#526458; font-size:13px; }
#quote-editor .quote-input-help summary { cursor:pointer; font-weight:500; }
#quote-editor .quote-input-help p { line-height:1.75; margin-bottom:0; }
#quote-editor .quote-editor-section>summary { font-size:15px; line-height:1.5; color:#344f40; }
#quote-editor .quote-editor-footer { background:#f7f9f7; padding:16px 0 0; align-items:center; justify-content:space-between; gap:14px; }
#quote-editor .quote-editor-footer p { margin:0; color:#526458; font-size:13px; }
#quote-editor .quote-editor-footer>.btn { min-width:160px; }
@media(max-width:700px) {
 dialog:has(#quote-editor) { padding:16px; }
 dialog:has(#quote-editor) .modal-head { font-size:20px; }
 #modal:has(#quote-editor)>.modal-head { top:-16px; margin:-16px -16px 16px; padding:14px 16px; }
 #modal:has(#quote-editor) .quote-editor-footer { bottom:-16px; margin-bottom:-16px; }
 #quote-editor .quote-editor-section { padding:14px; margin:14px 0; }
 #quote-editor .quote-editor-section h3 { font-size:17px; }
 #quote-editor .form-grid,#quote-editor .quote-validity-fields { grid-template-columns:minmax(0,1fr); gap:16px; }
 #quote-editor input:not([type=radio]),#quote-editor select,
 #quote-editor .quote-edit-table input,#quote-editor .quote-edit-table select { font-size:16px; min-height:44px; }
 #quote-editor .quote-validity { padding:12px; }
 #quote-editor .quote-inventory-browse { padding:12px; }
 #quote-editor .quote-edit-table-wrap { border:0; border-radius:0; overflow:visible; }
 #quote-editor .quote-edit-table,#quote-editor .quote-edit-table tbody { display:block; min-width:0; width:100%; }
 #quote-editor .quote-edit-table { position:relative; }
 #quote-editor .quote-edit-table thead { display:block; position:absolute; top:0; left:0; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); contain:strict; }
 #quote-editor .quote-line { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 12px; padding:14px; margin:0 0 14px; border:1px solid #d1ded4; border-radius:10px; background:#fff; }
 #quote-editor .quote-edit-table td { display:block; padding:0; border:0; min-width:0; }
 #quote-editor .quote-line td:nth-child(1),#quote-editor .quote-line td:nth-child(2),
 #quote-editor .quote-line td:nth-child(5),#quote-editor .quote-line td:nth-child(6),#quote-editor .quote-line td:nth-child(7) { grid-column:1/-1; }
 #quote-editor .quote-edit-table label { display:flex; font-size:13px; gap:7px; }
 #quote-editor .quote-line td:first-child::before { content:'코드 · 제품 검색'; display:block; margin-bottom:7px; font-size:13px; color:#40594b; font-weight:500; }
 #quote-editor .quote-edit-table [data-line-unit] { text-align:left; font-size:16px; white-space:normal; align-self:stretch; }
 #quote-editor .quote-edit-table [data-line-unit]::before { content:'단위'; display:block; font-size:13px; margin-bottom:7px; color:#40594b; font-weight:500; }
 #quote-editor .quote-code-entry { grid-template-columns:44px minmax(0,1fr); }
 #quote-editor .quote-code-entry .quote-drag-handle { width:44px; }
 #quote-editor .quote-row-actions { border-top:1px solid #e3eae5; padding-top:12px; }
 #quote-editor .quote-row-actions .btn { font-size:13px; }
 #quote-editor .quote-editor-footer { flex-wrap:wrap; }
 #quote-editor .quote-editor-footer>.btn { width:100%; }
}

/* Linked shipments: separate physical progress from quotation closure. */
.quote-shipments { margin:20px 0; }
.quote-shipments-heading { display:flex; align-items:center; gap:10px; margin-bottom:10px; }
.quote-shipments-heading h4 { margin:0; }
.quote-shipments-heading>span { color:#53665d; font-size:12px; }
.quote-shipment-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:12px; }
.quote-shipment-card { min-width:0; padding:16px; border:1px solid #dbe4df; border-radius:12px; background:#fff; }
.quote-shipment-card.complete { border-color:#b8d4c5; }
.quote-shipment-card.attention { border-color:#e5c991; }
.quote-shipment-header { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:10px; }
.quote-shipment-header>div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-width:0; }
.quote-shipment-header strong { font-size:14px; overflow-wrap:anywhere; }
.quote-shipment-purpose { font-size:12px; color:#53665d; }
.quote-shipment-status { border-radius:6px; padding:5px 8px; background:#edf2f7; color:#344b66; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.complete .quote-shipment-status { background:#e9f4ed; color:#245a3d; }
.attention .quote-shipment-status { background:#fff4db; color:#775015; }
.quote-shipment-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 8px; margin:16px 0; padding:12px 0; border-top:1px solid #edf0ee; border-bottom:1px solid #edf0ee; }
.quote-shipment-counts div { min-width:0; }
.quote-shipment-counts dt { color:#53665d; font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.quote-shipment-counts dd { margin:3px 0 0; font-size:18px; font-weight:650; color:#223e30; overflow-wrap:anywhere; }
.quote-shipment-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; }
.quote-shipment-footer .muted { font-size:11px; overflow-wrap:anywhere; }
.quote-shipment-footer .btn { min-height:40px; margin-left:auto; }
.quote-shipments-empty { padding:16px; border:1px dashed #cbd6cf; border-radius:10px; }
.quote-close-confirm-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; margin-top:20px; }
.quote-close-confirm-actions .btn { min-height:44px; }
@media(max-width:480px) { .quote-shipment-card { padding:12px; } .quote-shipment-counts { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* Always-visible quotation work history. */
.quote-work-history { margin:20px 0; padding:20px; border:1px solid #dbe4de; border-radius:12px; background:#fff; min-width:0; }
.quote-history-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px 16px; margin-bottom:18px; }
.quote-history-heading h3 { margin:0; font-size:17px; color:#203e31; }
.quote-history-heading>span { font-size:12px; color:#53665d; }
.quote-history-list { list-style:none; margin:0; padding:0 0 0 10px; }
.quote-history-item { position:relative; padding:0 0 22px 20px; border-left:2px solid #dce8df; min-width:0; }
.quote-history-item:last-child { padding-bottom:0; }
.quote-history-item::before { content:''; position:absolute; left:-6px; top:5px; width:10px; height:10px; border:2px solid #fff; border-radius:50%; background:#4b7a60; box-shadow:0 0 0 1px #b7ccbe; }
.quote-history-event { display:flex; flex-wrap:wrap; gap:8px; align-items:center; color:#244a35; font-size:14px; overflow-wrap:anywhere; }
.quote-history-state { background:#edf4ef; padding:3px 7px; border-radius:5px; font-size:12px; }
.quote-history-meta { display:flex; flex-wrap:wrap; gap:5px 18px; margin-top:7px; font-size:12px; color:#526458; overflow-wrap:anywhere; }
.quote-history-meta b { font-weight:500; color:#344e3f; }
.quote-history-reason { margin-top:10px; padding:12px 14px; background:#f6f8f6; border-radius:8px; }
.quote-history-reason>span { color:#607267; font-size:11px; }
.quote-history-reason p { margin:5px 0 0; font-size:14px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.quote-history-empty { margin:0; padding:16px; border:1px dashed #cedbd2; border-radius:8px; font-size:13px; color:#53665d; line-height:1.7; }
@media(max-width:600px){.quote-work-history{padding:14px}.quote-history-item{padding-left:16px}.quote-history-meta{flex-direction:column}.quote-history-reason{padding:10px 12px}}

/* Printed labels remain visible next to editable quote-only text. */
#quote-editor .quote-edit-table td:nth-child(6) label{font-size:12px;margin-bottom:8px}
#quote-editor textarea,.quote-document-fields textarea{width:100%;min-width:0;resize:vertical;font:inherit;line-height:1.5}
#quote-editor .quote-edit-table textarea{font-size:14px;padding:10px 8px;min-height:80px}
.quote-document-fields{margin-top:16px}.quote-document-fields label{min-width:0}
@media(max-width:650px){#quote-editor .quote-edit-table textarea,.quote-document-fields textarea{font-size:16px}}
.form-grid>.quote-document-fields{grid-column:1 / -1}

.quote-display-summary{font-size:12px;line-height:1.5;margin-bottom:8px;overflow-wrap:anywhere}
.quote-display-summary>div{margin-bottom:8px}.quote-display-summary [data-display-value]{display:block;white-space:pre-wrap;font-size:14px;color:#233e35}
.quote-display-summary [data-display-badge]{font-size:11px;color:#755217;background:#fff2d4;border-radius:4px;padding:2px 4px}
.quote-display-toggle,.quote-display-reset{white-space:normal;max-width:100%;margin-bottom:8px}
[data-display-editor]{margin:8px 0;padding:8px;background:#f3f7ef;border:1px solid #dce5db;border-radius:6px}
[data-display-editor][hidden],.quote-display-reset[hidden],[data-display-badge][hidden]{display:none!important}
#quote-editor .quote-display-toggle,#quote-editor .quote-display-reset{display:block;width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;padding:8px;font-size:12px}



/* Original search-and-select row with quote-only text expanded underneath. */
#quote-editor .quote-edit-table-wrap{border:1px solid #d1ded4;border-radius:8px;overflow:auto}
#quote-editor .quote-edit-table{--quote-columns:minmax(185px,1.3fr) minmax(175px,1.2fr) 75px 48px 125px minmax(120px,.8fr) 180px;display:block;min-width:930px;width:100%;border-collapse:collapse}
#quote-editor .quote-edit-table tbody,#quote-editor .quote-edit-table thead{display:block;width:100%}
#quote-editor .quote-edit-table thead tr,#quote-editor .quote-line{display:grid;grid-template-columns:var(--quote-columns);gap:0;align-items:center;padding:0;margin:0;border:0;border-radius:0;background:#fff}
#quote-editor .quote-edit-table thead th:nth-child(n){width:auto;min-width:0;padding:10px 8px;font-size:12px;white-space:normal;background:#f0f5ed}
#quote-editor .quote-line{border-top:1px solid #d1ded4}
#quote-editor .quote-line>td{display:block;width:auto;min-width:0;padding:8px;border:0;grid-column:auto;grid-row:1}
#quote-editor .quote-line>td:first-child{grid-column:1}
#quote-editor .quote-line>td:nth-child(2){grid-column:2}
#quote-editor .quote-line>td:nth-child(3){grid-column:3}
#quote-editor .quote-line>td:nth-child(4){grid-column:4;text-align:center}
#quote-editor .quote-line>td:nth-child(5){grid-column:5}
#quote-editor .quote-line>td:nth-child(8){grid-column:6}
#quote-editor .quote-line>td:nth-child(7){grid-column:7}
#quote-editor .quote-line>td:nth-child(6){grid-column:1/-1;grid-row:2;border-top:1px solid #dce5db;padding:14px 20px;background:#f5f7f5}
#quote-editor .quote-line[data-selecting=false]>td:nth-child(6){display:none}
#quote-editor [data-output-custom]{display:none!important}
#quote-editor .quote-code-entry{display:flex;gap:6px;align-items:start}
#quote-editor .quote-drag-handle{width:26px;height:44px;min-height:44px;flex:0 0 26px}
#quote-editor [data-line-search]{flex:1;min-width:0}
#quote-editor .quote-row-actions{border:0;padding:0;flex-wrap:nowrap;gap:4px}
#quote-editor .quote-row-actions .btn{margin:0;white-space:nowrap;width:auto;min-height:38px;padding:6px;font-size:12px}
#quote-editor .quote-row-actions [data-line-change]{width:76px;flex:0 0 76px}
#quote-editor .quote-line label,#quote-editor .quote-line td:nth-child(6) label{display:flex;flex-direction:column;font-size:12px;gap:5px;margin:0;min-width:0}
#quote-editor .quote-line>td:not(:nth-child(6))>label:not([data-manual-fields]){font-size:0;gap:0}
#quote-editor .quote-line input,#quote-editor .quote-line select{width:100%;min-width:0;height:44px}
#quote-editor .quote-display-summary,#quote-editor [data-description-summary]{display:none}
#quote-editor [data-display-editor]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 0;padding:0;background:transparent;border:0}
#quote-editor .quote-display-reset{width:auto;display:inline-block;margin:0;font-size:12px}
#quote-editor [data-display-editor]>button{justify-self:start}
#quote-editor .quote-line [hidden]{display:none!important}
.quote-inventory-browse>summary{cursor:pointer;font-weight:600}.quote-inventory-browse[open]>strong{display:none}

dialog:has(#quote-preview){width:1180px}
#quote-preview{min-width:0}
#quote-preview>iframe{width:100%;height:72vh;border:1px solid #dce5db;background:#eef1ef;display:block}
#quote-preview>iframe[hidden]{display:none}
#quote-preview .toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#quote-preview [role=status]{margin:0}

/* Per-quotation contacts stay visible; reusable document terms expand on demand. */
#quote-editor .quote-info-group { margin:20px 0; padding:18px; background:#f5f8f5; }
#quote-editor .quote-info-group legend { font-size:14px; font-weight:600; color:#344f40; }
#quote-editor .quote-info-group>p { margin:0 0 16px; font-size:13px; color:#61705e; }
#quote-editor .form-grid.quote-recipient-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
#quote-editor .form-grid.quote-supplier-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
#quote-editor .quote-defaults { margin-top:20px; border:1px solid #dbe4de; border-radius:10px; background:#fff; }
#quote-editor .quote-defaults>summary { padding:14px 18px; min-height:48px; font-weight:600; color:#344f40; cursor:pointer; }
#quote-editor .quote-defaults>summary:focus-visible { outline:2px solid #267153; outline-offset:2px; border-radius:10px; }
#quote-editor .quote-defaults-hint { margin:0; padding:0 18px 16px; color:#61705e; font-size:13px; line-height:1.6; }
#quote-editor .quote-defaults>.quote-document-fields { padding:0 18px 18px; }
@media(max-width:650px) {
 #quote-editor .quote-info-group { padding:14px; }
 #quote-editor .form-grid.quote-recipient-grid,#quote-editor .form-grid.quote-supplier-grid { grid-template-columns:minmax(0,1fr); }
}

/* Handover search and owner transfer share the same quotation context. */
dialog:has(.quote-handover) { width:780px; }
.quote-handover { display:grid; gap:22px; }
.quote-handover>p { margin:0; }
.quote-handover h3 { margin:0 0 12px; font-size:15px; color:#344f40; }
.quote-handover-searchbar { display:flex; gap:12px; align-items:end; }
.quote-handover-searchbar label { flex:1; min-width:0; }
.quote-handover input,.quote-handover select,.quote-handover textarea { width:100%; min-width:0; }
.quote-handover .btn,.quote-handover input,.quote-handover select { min-height:44px; }
.quote-handover-results { border-top:1px solid #dbe4de; padding-top:20px; }
.quote-handover-empty { padding:24px 16px; text-align:center; background:#f5f8f5; border-radius:10px; }
.quote-handover-result { display:flex; gap:16px; align-items:center; padding:16px; border:1px solid #dbe4de; border-radius:10px; margin-top:12px; }
.quote-handover-result .quote-handover-card { flex:1; padding:0; border:0; background:none; }
.quote-handover-result>.btn { flex-shrink:0; }
.quote-handover-card { padding:16px; border:1px solid #dbe4de; border-radius:10px; background:#f5f8f5; overflow-wrap:anywhere; min-width:0; }
.quote-handover-card small { color:#61705e; }
.quote-handover-card h3 { margin:6px 0 14px; }
.quote-handover-card dl { display:flex; flex-wrap:wrap; gap:12px 32px; margin:0; }
.quote-handover-card dt { color:#61705e; font-size:12px; }
.quote-handover-card dd { margin:4px 0 0; font-size:14px; }
.quote-handover fieldset { margin:0; padding:18px; border:1px solid #dbe4de; border-radius:10px; min-width:0; }
.quote-handover legend { font-weight:600; font-size:15px; }
.quote-handover-people { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:18px; align-items:center; }
.quote-handover-people>div { display:grid; gap:8px; overflow-wrap:anywhere; }
.quote-handover-people>div>span { color:#61705e; font-size:12px; }
.quote-handover-arrow { color:#267153; font-size:24px; }
.quote-handover-impact { padding:16px; background:#fff8eb; border:1px solid #eddfc2; border-radius:10px; }
.quote-handover-impact ul { margin:0; padding-left:20px; line-height:1.8; font-size:13px; color:#655336; }
.quote-handover .form-actions { margin:0; padding-top:16px; border-top:1px solid #dbe4de; flex-wrap:wrap; }
@media(max-width:650px) {
 .quote-handover-searchbar,.quote-handover-result { flex-direction:column; align-items:stretch; }
 .quote-handover-people { grid-template-columns:minmax(0,1fr); gap:12px; }
 .quote-handover-arrow { display:none; }
 .quote-handover input,.quote-handover select,.quote-handover textarea { font-size:16px; }
}

/* Scope, auxiliary workflows, filters and list refresh have separate places. */
.quote-scope-bar { margin:22px 0 16px; }
.quote-scope-bar .workspace-scope { display:inline-flex; max-width:100%; }
.quote-scope-bar .filter { min-height:44px; white-space:normal; }
.quote-scope-bar .filter.active { background:#e5f0e9; color:#174b3c; box-shadow:inset 0 -3px #267153; font-weight:700; }
.quote-tools { display:flex; align-items:center; flex-wrap:wrap; gap:12px; border:1px solid #dbe4de; border-radius:10px; background:#f5f8f5; padding:12px 16px; }
.quote-tools>summary { color:#526458; font-size:13px; font-weight:600; cursor:pointer; padding:8px 0; }
.quote-tools-body { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:8px; }
.quote-tools-links,.quote-tools-admin { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.quote-tools-admin { border-left:1px solid #cdd9d0; padding-left:24px; }
.quote-tools-admin>span { color:#61705e; font-size:12px; }
.quote-tool-link { gap:12px; min-height:40px; white-space:normal; text-align:left; }
.quote-tool-link>span[aria-hidden] { color:#637e91; }
.quote-results-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:16px; }
.quote-results-heading>p { margin:0; }
.quote-refresh { flex-shrink:0; min-height:40px; gap:8px; }
.quote-refresh[aria-busy=true] { opacity:.65; }
@media(max-width:650px) {
 .quote-scope-bar .workspace-scope { display:flex; width:100%; }
 .quote-scope-bar .filter { flex:1; padding:10px 8px; font-size:12px; }
 .quote-tools { display:block; padding:10px 14px; }
 .quote-tools-body,.quote-tools-links,.quote-tools-admin { display:grid; grid-template-columns:minmax(0,1fr); width:100%; }
 .quote-tools-admin { padding:12px 0 0; border-left:0; border-top:1px solid #cdd9d0; }
 .quote-tool-link { justify-content:space-between; }
 .quote-results-heading { align-items:start; gap:10px; }
 .quote-results-heading>p { font-size:12px; }
}

#quote-detail .quote-output-controls { display:flex; align-items:center; flex-wrap:wrap; gap:16px; padding:12px 16px; margin:16px 0; background:#f5f8f5; border:1px solid #dbe4de; border-radius:10px; }
#quote-detail .quote-output-controls fieldset { display:flex; gap:8px; margin:0; padding:0; border:0; flex-wrap:wrap; }
.quote-output-controls legend { font-size:12px; color:#61705e; margin-bottom:6px; }
.quote-output-controls label { display:flex; flex-direction:row; align-items:center; gap:8px; padding:10px 14px; min-height:44px; background:white; border:1px solid #cdd9d0; border-radius:8px; cursor:pointer; }
.quote-output-controls label:has(input:checked) { border-color:#267153; color:#174b3c; background:#e5f0e9; }
.quote-output-controls input { width:16px; height:16px; margin:0; accent-color:#267153; }
.quote-output-controls>.btn { min-height:44px; margin-left:auto; }
@media(max-width:450px){.quote-output-controls>.btn{width:100%;margin-left:0}}

/* Shared navigation: underline scope tabs, then a normal task panel. */
.quote-scope-bar .workspace-scope{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:16px;padding:0;background:none;border-radius:0;border-bottom:1px solid #dbe4de;width:100%}.quote-scope-bar .workspace-scope .filter{background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;min-height:44px;white-space:nowrap;color:#607064;padding:10px 4px;flex-shrink:0}.quote-scope-bar .workspace-scope .filter.active{border-bottom-color:#174b3c;color:#174b3c;font-weight:700;box-shadow:none}
.quote-tools.panel{display:block;background:#fff;padding:24px;margin:0 0 16px}.quote-tools.panel h2{font-size:18px;margin:0 0 16px}.quote-tools .quote-tools-body{display:flex;gap:10px;flex-wrap:wrap;margin:0}.quote-tools .quote-tools-links,.quote-tools .quote-tools-admin{display:contents;border:0;padding:0}.quote-tools .quote-tool-link{min-height:44px;gap:0}
@media(max-width:650px){.quote-tools.panel{padding:16px}.quote-tools .quote-tool-link{flex:1 1 180px;white-space:normal;text-align:center}.quote-tools .quote-tools-body{width:auto}}

.quote-serial-form{display:flex;align-items:flex-end;gap:12px}.quote-serial-form>label{flex:1;min-width:0;margin:0}.quote-serial-form input{width:100%;min-height:44px}.quote-serial-form>.btn{min-height:44px;flex-shrink:0}#quote-serial-result:not(:empty){margin-top:16px}
@media(max-width:650px){.quote-serial-form{flex-direction:column;align-items:stretch}.quote-serial-form>.btn{width:100%}}

/* One product selector per quotation row; quote-only output text remains separate. */
#quote-editor .quote-line>td:first-child{grid-column:1/3}
#quote-editor .quote-line>td:nth-child(2){display:none}
#quote-editor .quote-edit-table thead th:first-child{grid-column:1/3}
#quote-editor .quote-edit-table [hidden],#quote-editor .quote-line [hidden]{display:none!important}
#quote-editor [data-product-summary]{display:flex;flex-direction:column;gap:5px;min-width:0}
#quote-editor [data-product-summary]>strong{font-size:15px;overflow-wrap:anywhere}
#quote-editor [data-product-summary]>.btn{align-self:flex-start;min-height:44px}
#quote-editor [data-item-suggestions]{max-height:320px;overflow:auto;border:1px solid #dce5df;border-radius:8px;margin-top:6px;background:white}
#quote-editor .quote-choice-group>strong{display:block;padding:8px 10px;background:#f1f5ef;font-size:12px}
#quote-editor .quote-code-choice{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;min-height:44px;text-align:left;padding:10px;white-space:normal}
#quote-editor .quote-code-choice small{display:block;font-size:12px}
#quote-editor [data-line-manual]{margin-top:8px}
@media(max-width:650px){
 #quote-editor .quote-edit-table{min-width:0}
 #quote-editor .quote-edit-table thead{display:none}
 #quote-editor .quote-line{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}
 #quote-editor .quote-line>td:nth-child(n){grid-column:auto;grid-row:auto;padding:0}
 #quote-editor .quote-line>td:first-child,#quote-editor .quote-line>td:nth-child(5),#quote-editor .quote-line>td:nth-child(6),#quote-editor .quote-line>td:nth-child(7),#quote-editor .quote-line>td:nth-child(8){grid-column:1/-1}
 #quote-editor .quote-line>td:nth-child(2){display:none}
 #quote-editor .quote-line>td>label{font-size:12px!important}
}

#quote-editor [data-product-summary]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px}
#quote-editor [data-product-summary]>strong{grid-column:1;grid-row:1}
#quote-editor .quote-product-meta{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;gap:5px 10px;font-size:12px;color:#637568}
#quote-editor [data-product-summary]>.btn{grid-column:2;grid-row:1/3;align-self:center}

#quote-editor .quote-line>td:first-child{position:relative;padding-left:42px}#quote-editor .quote-line>td:first-child>.quote-drag-handle{position:absolute;left:8px;top:8px}
