.quote-panel { margin: 26px 0 40px; color: #30372c; scroll-margin-top: 90px; }
.quote-panel *, .quote-panel *::before, .quote-panel *::after { box-sizing: border-box; }
.quote-work-area { border: 0; padding: 0; margin: 0; min-width: 0; }
.quote-panel h1 { margin: 5px 0 12px; font-size: clamp(29px, 5vw, 39px); line-height: 1.15; letter-spacing: -.025em; }
.quote-panel h2 { margin: 0 0 10px; font-size: 24px; line-height: 1.25; }
.quote-panel h3 { margin: 0 0 8px; font-size: 17px; line-height: 1.4; }
.quote-panel p { line-height: 1.55; }
.quote-panel .eyebrow { margin: 0; color: #75602c; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.quote-button { display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 48px; padding: 11px 18px; border: 1px solid #cdd0c5; border-radius: 11px; background: #fff; color: #30372c; font: inherit; font-size: 15px; font-weight: 750; cursor: pointer; text-align: center; text-decoration: none; touch-action: manipulation; }
.quote-button:hover { background: #f6f4ec; border-color: #8d9482; }
.quote-button:focus-visible, .quote-panel input:focus-visible, .quote-panel select:focus-visible, .quote-panel textarea:focus-visible, .quote-steps button:focus-visible, .quote-record:focus-visible { outline: 3px solid #ad6e00; outline-offset: 3px; }
.quote-button:disabled, .quote-record:disabled { cursor: wait; opacity: .55; }
.quote-button.quote-primary { background: #ffb117; border-color: #ed9e04; color: #272910; }
.quote-button.quote-primary:hover { background: #f8a900; }
.quote-list-heading, .quote-edit-heading, .quote-selected-heading, .quote-line-heading, .quote-review-heading, .quote-record-top, .quote-record-bottom { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.quote-list-heading { align-items: flex-start; margin-bottom: 22px; }
.quote-list-heading p { margin: 6px 0 0; color: #666d5f; }
.quote-list-heading > .quote-button { min-width: 178px; min-height: 56px; }
.quote-field { display: flex; flex-direction: column; gap: 8px; margin: 0 0 19px; min-width: 0; font-size: 14px; font-weight: 750; }
.quote-field > span { line-height: 1.4; }
.quote-contact-field { position: relative; min-width: 0; }
.quote-contact-options { position: absolute; top: calc(100% - 17px); inset-inline: 0; z-index: 20; max-height: 290px; overflow-y: auto; border: 1px solid #cbd2bd; border-radius: 11px; background: #fff; box-shadow: 0 10px 28px #25351422; }
.quote-contact-options > button { display: flex; flex-direction: column; gap: 4px; width: 100%; min-height: 72px; padding: 13px; border: 0; border-bottom: 1px solid #e6ebdd; background: #fff; color: #39432f; font: inherit; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.quote-contact-options > button:hover, .quote-contact-options > button.selected { background: #fff1cc; }
.quote-contact-options > button strong { font-size: 14px; }
.quote-contact-options > button span, .quote-contact-options > button small { font-size: 12px; color: #69765a; }
.quote-panel input, .quote-panel select, .quote-panel textarea { display: block; width: 100%; min-width: 0; min-height: 50px; border: 1px solid #c9cdbf; border-radius: 9px; padding: 12px 13px; background: #fff; color: #30372c; font: inherit; font-size: 16px; font-weight: 400; line-height: 1.35; }
.quote-panel textarea { resize: vertical; }
.quote-panel input::placeholder, .quote-panel textarea::placeholder { color: #7c8274; }
.quote-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
.quote-records { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.quote-record { width: 100%; min-width: 0; display: flex; flex-direction: column; gap: 9px; padding: 21px; border: 1px solid #d8dbcd; border-radius: 16px; background: #fff; text-align: left; color: inherit; font: inherit; cursor: pointer; box-shadow: 0 3px 12px #222b1105; }
.quote-record:hover { border-color: #b88721; box-shadow: 0 3px 14px #222b1110; }
.quote-record-top, .quote-record-bottom { width: 100%; font-size: 13px; }
.quote-record-top > strong { color: #75602c; }
.quote-record-customer { display: block; max-width: 100%; font-size: 21px; font-weight: 750; overflow-wrap: anywhere; }
.quote-record-job { color: #697060; min-height: 20px; }
.quote-record-bottom { border-top: 1px solid #eceee5; padding-top: 12px; margin-top: 5px; color: #737a69; }
.quote-record-bottom strong { color: #30372c; font-size: 17px; }
.quote-badge { border-radius: 20px; background: #f0f3e7; color: #596545; padding: 5px 10px; font-size: 11px; font-weight: 800; }
.quote-empty { padding: 30px 20px; text-align: center; border: 1px dashed #d3d8c7; border-radius: 13px; background: #fafbf7; color: #697060; }
.quote-records > .quote-empty { grid-column: 1 / -1; }
.quote-edit-heading { margin-bottom: 23px; }
.quote-edit-heading .quote-button { padding-inline: 12px; }
.quote-save-state { color: #626e54; font-size: 13px; font-weight: 700; text-align: right; }
.quote-save-state.waiting, .quote-save-state.saving { color: #8b6715; }
.quote-save-state.error { color: #a1351d; }
.quote-title { margin-bottom: 22px; }
.quote-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-bottom: 22px; }
.quote-steps button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 53px; padding: 9px; border: 1px solid #d6dacb; border-radius: 11px; background: #f6f7f0; color: #717866; font: inherit; font-size: 14px; font-weight: 750; cursor: pointer; }
.quote-steps button > span { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #e4e8d9; font-size: 12px; }
.quote-steps button.current { border-color: #e8aa20; background: #fff2cc; color: #51421b; }
.quote-steps button.current > span { background: #ffb117; color: #3f340f; }
.quote-section { border: 1px solid #d9ddcf; background: #fff; border-radius: 18px; padding: 27px; box-shadow: 0 5px 24px #25350d05; }
.quote-hint { color: #6b7360; font-size: 14px; margin: 0 0 23px; }
.quote-extra-details { border-top: 1px solid #e5e8dc; padding-top: 15px; margin: 5px 0 24px; }
.quote-extra-details summary { cursor: pointer; min-height: 44px; padding-top: 4px; color: #59644b; font-size: 14px; font-weight: 700; }
.quote-step-actions, .quote-actions, .quote-share-actions { display: flex; flex-wrap: wrap; gap: 11px; }
.quote-step-actions { justify-content: space-between; border-top: 1px solid #e6e9df; margin-top: 24px; padding-top: 22px; }
.quote-step-actions > .quote-primary:only-child { margin-left: auto; }
.quote-step-actions .quote-primary { min-width: 218px; }
.quote-catalog-filters { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 15px; }
.quote-rate-date { margin: -8px 0 21px; color: #7d744f; font-size: 12px; }
.quote-rate-notes { margin: 14px 0; font-size: 12px; color: #7b6a3d; }
.quote-rate-notes summary { cursor: pointer; padding-block: 9px; min-height: 44px; }
.quote-catalog { display: flex; flex-direction: column; gap: 9px; max-height: 448px; overflow-y: auto; margin: 0 0 17px; padding: 2px 3px 3px 0; overscroll-behavior: contain; }
.quote-catalog-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 15px; align-items: center; padding: 16px; border: 1px solid #e0e4d7; border-radius: 12px; background: #fafbf7; }
.quote-catalog-item h3 { margin: 0; font-size: 16px; }
.quote-catalog-item p { font-size: 12px; margin: 4px 0 0; color: #6d7562; }
.quote-catalog-item .quote-item-note { color: #806728; }
.quote-catalog-rate { display: flex; gap: 10px; align-items: center; justify-content: flex-end; }
.quote-catalog-rate .quote-field { margin: 0; width: 245px; max-width: 100%; font-size: 11px; gap: 4px; }
.quote-catalog-rate select { font-size: 13px; padding: 8px; min-height: 44px; }
.quote-catalog-rate > strong { font-size: 14px; white-space: nowrap; }
.quote-catalog-rate .quote-button { flex-shrink: 0; min-width: 76px; background: #fff5d8; border-color: #e9cf88; }
.quote-selected-heading { margin: 33px 0 14px; }
.quote-selected-heading h2 { margin: 0; }
.quote-selected-heading > span { font-size: 13px; color: #707963; white-space: nowrap; }
.quote-line { padding: 20px; border: 1px solid #d9dfcc; border-left: 4px solid #ffb117; border-radius: 12px; margin-bottom: 14px; background: #fdfefa; }
.quote-line-heading { margin-bottom: 15px; align-items: flex-start; }
.quote-line-heading h3 { margin: 10px 0 0; }
.quote-remove { color: #9d3c22; border-color: #e5d0c8; padding-inline: 12px; font-size: 12px; }
.quote-line-numbers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.quote-line-numbers .quote-field { margin-bottom: 8px; }
.quote-line-total { display: flex; justify-content: space-between; gap: 12px; margin: 11px 0 0; padding-top: 13px; border-top: 1px solid #e8ebdf; color: #68735a; font-size: 13px; }
.quote-line-total strong { color: #39442d; font-size: 18px; }
.quote-total { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; gap: 4px 15px; padding: 22px; margin: 20px 0; border-radius: 12px; background: #fff2cf; color: #594a21; }
.quote-total > span { font-size: 16px; font-weight: 750; }
.quote-total > strong { font-size: clamp(26px, 5vw, 34px); line-height: 1.2; color: #353d27; }
.quote-total small { grid-column: 1 / -1; font-size: 12px; text-align: right; }
.quote-review { border: 1px solid #dce1d2; border-radius: 12px; padding: 24px; margin: 23px 0; }
.quote-review-heading { align-items: flex-start; border-bottom: 2px solid #ffb117; padding-bottom: 16px; margin-bottom: 20px; }
.quote-review-heading h3 { font-size: 25px; margin-top: 6px; }
.quote-review-heading .eyebrow { font-size: 9px; }
.quote-review-heading > p { font-size: 12px; white-space: nowrap; }
.quote-review-customer { display: flex; flex-direction: column; gap: 5px; font-size: 14px; margin-bottom: 23px; overflow-wrap: anywhere; white-space: pre-line; }
.quote-review-customer > strong { font-size: 19px; }
.quote-review-lines { border-top: 1px solid #e3e7da; margin-top: 20px; }
.quote-review-line { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding: 16px 0; border-bottom: 1px solid #e3e7da; font-size: 14px; }
.quote-review-line > div { min-width: 0; }
.quote-review-line > div > strong { white-space: pre-line; overflow-wrap: anywhere; }
.quote-review-line > strong { white-space: nowrap; }
.quote-review-line small { display: block; font-size: 12px; color: #748065; margin-top: 6px; }
.quote-review-notes { margin-top: 25px; padding-top: 12px; border-top: 1px solid #e3e7da; font-size: 13px; }
.quote-review-notes p { white-space: pre-line; overflow-wrap: anywhere; }
.quote-share-actions { margin: 22px 0; }
.quote-share-actions > .quote-button { flex: 1; }
.quote-email { border: 1px solid #ead69e; background: #fffaf0; border-radius: 14px; padding: 22px; margin-top: 27px; }
.quote-email > p { color: #73664a; font-size: 14px; }
.quote-email > .quote-email-from { font-size: 12px; color: #7a806b; }
.quote-email .quote-hint { margin: 13px 0 0; font-size: 12px; }
.quote-error, .quote-warning, .quote-notice { margin: 14px 0 20px; padding: 17px 19px; border: 1px solid #e5c5b7; border-radius: 12px; background: #fff3ee; color: #8b381d; font-size: 14px; overflow-wrap: anywhere; }
.quote-error p { margin: 7px 0 13px; }
.quote-warning { color: #805e20; border-color: #e8d39e; background: #fff8e7; }
.quote-notice { color: #496334; border-color: #cbdcbe; background: #f0f8e9; }
.quote-revision { display: flex; justify-content: space-between; align-items: center; gap: 15px; border-bottom: 1px solid #e6eadf; padding: 8px 0; font-size: 13px; }
.quote-email-attempt { display: flex; flex-wrap: wrap; gap: 7px 16px; padding: 12px 0; border-bottom: 1px solid #e6eadf; font-size: 13px; }
.quote-email-attempt > span { overflow-wrap: anywhere; }
.quote-email-attempt > small { color: #6d785e; }
.quote-home-card .form-symbol { background: #fff1cb; color: #836021; font-size: 30px; font-weight: 750; }
.quote-check {display:flex;align-items:flex-start;gap:11px;margin:14px 0 21px;line-height:1.5;font-size:14px;font-weight:650;cursor:pointer;}
.quote-check input {flex:none;width:21px;min-height:21px;height:21px;margin:1px 0 0;padding:0;accent-color:#8b6320;}
.quote-output-choice {margin:20px 0;}
.quote-output-choice .quote-check {min-height:44px;align-items:center;margin:0;}
.quote-output-choice .quote-hint {margin:3px 0 0 32px;}
.quote-badge-deleted {background:#f2e1dc;color:#944c39;}
.quote-record-deleted {background:#faf7f5;border-style:dashed;}
.quote-deleted-banner {background:#f7eee9;border:1px solid #d8b8a9;color:#7f4c38;border-radius:13px;padding:20px;margin:18px 0;}
.quote-deleted-banner p {margin:8px 0 16px;}
.quote-button.quote-danger {color:#a33227;background:#fff7f3;border-color:#d9afa2;}
.quote-button.quote-danger:hover {background:#ffece4;border-color:#ac5d46;}
.quote-delete-action {border-top:1px solid #e1e5d9;margin-top:30px;padding-top:20px;}
.quote-delete-action .quote-hint {font-size:12px;margin:10px 0 0;}
.quote-lifecycle-confirm {border:2px solid #c7b26d;background:#fffbef;border-radius:14px;padding:23px;margin:18px 0 24px;}
.quote-lifecycle-confirm.deleting {border-color:#bc7560;background:#fff7f2;}
.quote-lifecycle-confirm p {font-size:14px;}
.quote-lifecycle-customer {font-weight:750;color:#6b4939;overflow-wrap:anywhere;}
.quote-lifecycle-confirm .quote-field {max-width:420px;margin-top:20px;}
@media (max-width: 760px) {
    .quote-catalog-item { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 15px; }
    .quote-catalog-rate { justify-content: space-between; }
    .quote-catalog-rate .quote-field { width: auto; flex: 1; }
}
@media (max-width: 650px) {
    .quote-panel { margin-top: 22px; }
    .quote-list-heading { flex-direction: column; gap: 18px; }
    .quote-list-heading > .quote-button { width: 100%; }
    .quote-records, .quote-grid { grid-template-columns: minmax(0, 1fr); }
    .quote-record { padding: 19px; }
    .quote-section { padding: 20px 15px; border-radius: 15px; }
    .quote-panel h2 { font-size: 22px; }
    .quote-steps { gap: 6px; }
    .quote-steps button { flex-direction: column; gap: 5px; min-height: 70px; padding: 9px 3px; font-size: 12px; }
    .quote-edit-heading { align-items: center; gap: 10px; }
    .quote-save-state { max-width: 145px; font-size: 12px; }
    .quote-catalog-filters { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .quote-catalog { max-height: 410px; }
    .quote-catalog-rate { gap: 8px; }
    .quote-catalog-rate select { font-size: 12px; }
    .quote-selected-heading { align-items: flex-start; gap: 9px; }
    .quote-selected-heading > span { padding-top: 5px; }
    .quote-line { padding: 15px 12px; }
    .quote-line-heading h3 { font-size: 15px; }
    .quote-line-numbers { gap: 8px; }
    .quote-line-numbers input, .quote-line-numbers select { padding-inline: 8px; }
    .quote-line-numbers .quote-field { font-size: 12px; }
    .quote-step-actions { flex-direction: column-reverse; }
    .quote-step-actions > .quote-button, .quote-share-actions > .quote-button, .quote-actions > .quote-button { width: 100%; }
    .quote-step-actions > .quote-primary:only-child { margin: 0; }
    .quote-review { padding: 17px 13px; }
    .quote-review-heading { flex-direction: column; gap: 0; }
    .quote-review-heading > p { margin: 0; }
    .quote-review-line { gap: 11px; font-size: 13px; }
    .quote-review-line > strong { font-size: 14px; }
    .quote-total { padding: 18px 14px; }
    .quote-email { padding: 18px 14px; }
    .quote-share-actions { flex-direction: column; }
}

.quote-template-picker{padding:21px 0;border-top:1px solid #dce3d2;margin:23px 0}.quote-template-picker>summary{cursor:pointer;min-height:48px;align-content:center;font-size:17px;font-weight:750}.quote-template-picker[open]>summary{margin-bottom:19px}.quote-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:13px}.quote-template-grid>.quote-button{min-height:66px;white-space:normal;text-align:left;justify-content:flex-start;border-left:5px solid #d89b12}.quote-progress{border-top:1px solid #dce3d2;padding-top:25px;margin-top:25px}.quote-progress-badge{display:inline-flex;padding:7px 12px;border-radius:7px;font-size:17px;font-weight:800;background:#e5eff9;color:#245484;margin-bottom:13px}.quote-progress-badge.progress-sent{background:#e5eff9;color:#245484}.quote-progress-badge.progress-accepted{background:#e8f3e0;color:#3e6725}.quote-progress-badge.progress-declined{background:#fce7e7;color:#9d1d28}.quote-progress-badge.progress-ready{background:#fff0db;color:#904800}.quote-progress>.quote-button{margin-top:16px}.quote-button{min-height:50px}.quote-steps>.current{background:#ffb117;color:#4d360c}
@media(max-width:650px){.quote-button{font-size:16px;min-height:50px}.quote-field>span{font-size:15px}.quote-catalog-rate>.quote-button{font-size:16px}.quote-record-customer{font-size:21px}.quote-progress .quote-actions>.quote-button{width:100%}.quote-template-picker>summary{font-size:17px}}

.quote-badge-sent{background:#e5eff9;color:#245484}.quote-badge-accepted{background:#e8f3e0;color:#3e6725}.quote-badge-declined{background:#fce7e7;color:#9d1d28}.quote-badge-ready{background:#fff0db;color:#904800}

.quote-device-draft{border:1px solid #e4c784;border-radius:11px;background:#fff4d8;color:#634a18;padding:20px;margin:20px 0;line-height:1.55}.quote-device-draft>strong{display:block;font-size:19px;margin-bottom:14px}.quote-device-draft>.quote-button{margin:7px 9px 7px 0}.quote-device-state{font-size:15px;color:#6e5018;background:#fff4d8;border-radius:8px;padding:12px 15px}@media(max-width:650px){.quote-device-draft>.quote-button{width:100%;margin:7px 0}}
.quote-line-fuel{border-top:1px solid #e0e5d5;margin-top:15px;padding-top:5px}.quote-line-fuel .quote-check{display:flex;flex-direction:row;justify-content:flex-start;min-height:44px;align-items:center;margin:8px 0}.quote-fuel-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;max-width:620px}.quote-fuel-fields>.quote-hint{grid-column:1/-1;margin:0 0 9px}.quote-fuel-review{padding-left:10px;border-left:3px solid #ffb117;color:#4a553c!important}@media(max-width:650px){.quote-fuel-fields{grid-template-columns:1fr}.quote-fuel-fields>.quote-field{margin-top:10px}}
