#service-editor details {margin-block:18px;border-top:1px solid var(--line,#dfe5df);padding-top:16px}
#service-editor .service-save-toolbar {position:sticky;top:12px;z-index:20;gap:16px;align-items:center;padding:12px 16px;margin-bottom:20px;background:#fff;border:1px solid #dce4dd;border-radius:14px;box-shadow:0 4px 18px #193c3814;min-height:82px}
#service-editor .service-save-toolbar:not([hidden]) {display:flex}
#service-save-status {font-size:14px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
#service-save-status a {display:block}
#service-editor .service-section-save {display:flex;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8e2}
#service-editor .service-save-button {min-width:148px;min-height:48px;flex-shrink:0}
#service-editor .service-save-button[data-save-state=unsaved] {background:#b42318;border-color:#b42318;color:#fff}
#service-editor .service-save-button[data-save-state=saved] {background:#187444;border-color:#187444;color:#fff}
#service-editor .service-save-button[data-save-state=saving] {background:#52625a;border-color:#52625a;color:#fff;opacity:1}
#service-editor .service-save-button:focus-visible {outline:3px solid #273c9b;outline-offset:3px}
@media(max-width:600px){#service-editor .service-save-toolbar {top:8px;gap:8px;flex-direction:column;align-items:stretch;padding:10px 12px;min-height:126px}#service-save-status {min-height:42px}#service-editor .service-save-toolbar .service-save-button {width:100%}}
#service-editor summary,.quote-option-group summary {cursor:pointer;min-height:48px;align-content:center;font-weight:600;overflow-wrap:anywhere}
#service-editor .choice-editor {border:1px solid var(--line,#dfe5df);border-radius:12px;padding:12px;margin-block:10px}
#service-editor .pricing-tier {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;margin-block:14px}
#service-editor .pricing-tier legend {font-weight:600;padding-inline:6px}
#service-editor .pricing-tier label:first-of-type {grid-column:1/-1}
#service-editor .pricing-tier button {justify-self:start;align-self:end}
#service-editor .unit-pricing-choices {border:0;margin:24px 0;padding:0;min-width:0}
#service-editor .unit-pricing-choices legend {font-size:14px;font-weight:650;margin-bottom:10px}
#service-editor label.unit-pricing-choice {display:flex;align-items:flex-start;gap:12px;padding:14px;margin:8px 0;border:1px solid #cbd8ce;border-radius:10px;cursor:pointer}
#service-editor .unit-pricing-choice:has(input:checked) {border-color:#267b4c;background:#f0f7f1;box-shadow:inset 0 0 0 1px #267b4c}
#service-editor .unit-pricing-choice input[type=radio] {width:20px;height:20px;min-height:20px;flex:0 0 20px;margin:2px 0;padding:0;accent-color:#267b4c}
#service-editor .unit-pricing-choice strong {display:block;font-size:14px;line-height:1.5}
#service-editor .unit-pricing-choice small {display:block;font-size:12px;line-height:1.6;color:#52635b;margin-top:3px}
#service-editor .service-price-minimum {padding:16px;border:1px solid #b9d3c0;border-radius:10px;background:#f0f7f1;margin:22px 0}
#service-editor .service-price-minimum label {margin:0;font-size:13px;font-weight:650}
#service-editor .service-price-minimum p {font-size:12px;line-height:1.6;margin:10px 0 0;color:#405b4a}
#service-editor .quantity-minimum-notice {font-size:12px;line-height:1.6;margin:16px 0;padding:12px;border:1px solid #dfbf72;border-radius:8px;background:#fff8e7;color:#644510}
@media(max-width:540px){#service-editor .pricing-tier {grid-template-columns:minmax(0,1fr)}}
#service-editor #option-groups:empty {display:none}
.quote-option-group {border:1px solid var(--line,#dfe5df);border-radius:12px;padding:0 14px;margin-block:8px}
.quote-option-group[open] {background:#f5f8f0;padding-bottom:12px}
.quote-option-group.needs-answer {border-color:#839a50}
.quote-option-group fieldset {border:0;padding:0;min-width:0}
.quote-option-group legend {display:none}
.quote-option-group select {min-height:48px;width:100%}
.quote-readiness {background:#f0f5e8;border-radius:14px;padding:14px;margin-block:14px}
.quote-readiness:empty {display:none}
.quote-readiness p {margin:0 0 8px}
.quote-readiness button {min-height:48px;text-align:left;white-space:normal;margin:3px;max-width:100%}
.line-quantity {max-width:160px;min-width:0}
.line-quantity small {display:block;font-weight:400;color:#687a72;margin-top:6px}
.quote-line .line-extras {grid-column:1/-1}
.line-extras summary {min-height:48px;align-content:center;cursor:pointer}
.line-extras[open] {padding-bottom:12px}
.quote-line .line-options {grid-column:1/-1;min-width:0}
.quote-input-hint {grid-column:1/-1;font-size:13px;color:#687a72;margin:0}
@media(max-width:600px) {#service-editor .choice-editor {display:flex;flex-wrap:wrap;gap:12px}#service-editor .choice-editor>label {flex:1 1 130px;min-width:0}.quote-line .line-quantity {max-width:160px}}
/* The same work estimate accompanies builder and customer totals. */
.quote-work-estimate{display:flex;flex-direction:column;gap:.35rem;padding:1rem 0;margin:.5rem 0;border-top:1px solid #dce4dd;border-bottom:1px solid #dce4dd;break-inside:avoid}
.quote-work-estimate strong{font-size:1.2rem;color:#193c38}
.quote-work-estimate small{line-height:1.45;color:#60736a}
.quote-option-group .check-label{align-items:flex-start;min-height:48px;padding:.6rem 0}
.quote-option-group .check-label span span{display:block;line-height:1.45}

.choice-description,.sf-choice-description{margin:8px 0;padding:10px;border:1px solid #d8e1da;border-radius:8px}.choice-description summary,.sf-choice-description summary{cursor:pointer;font-weight:600}.choice-description p,.sf-choice-description p{white-space:pre-line;overflow-wrap:anywhere}

.service-price{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:.25em .5em;font-variant-numeric:tabular-nums}.service-price-original{color:var(--muted,#64736b);font-size:.9em;font-weight:400;text-decoration:line-through;white-space:nowrap}.service-price-current{white-space:nowrap;font-weight:650}
