.quote-workspace-page .lead-intake-shell { max-width: 1000px; }
.quote-workspace-page fieldset { border:0; padding:0; margin:0; display:grid; gap:20px; min-width:0; }
.quote-workspace-page [hidden] { display:none !important; }
.quote-workspace-page .resource-link.primary, .quote-workspace-page .lead-intake-upload-button { background:#2f8a7d; color:white; }
.quote-workspace-page :is(input,select,textarea):focus { outline:3px solid rgba(47, 138, 125, 0.18); border-color:#2f8a7d; }
.quote-disclaimer { padding:16px; border-radius:12px; background:#edf9f7; color:#24675e; font-size:13px; line-height:1.6; }
.quote-history { display:grid; gap:18px; margin-top:24px; }
.quote-record { border:1px solid #d9e8e5; border-radius:16px; padding:22px; background:#fff; overflow-wrap:anywhere; }
.quote-record:target { outline:3px solid #2f8a7d; }
.quote-record h3 { margin:10px 0; }
.quote-record header { display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; color:#536d68; font-size:12px; }
.quote-record p { white-space:pre-wrap; line-height:1.6; }
.quote-record .quote-meta { color:#63717c; font-size:13px; }
.quote-record a { color:#247c70; font-weight:800; }
.quote-record button { cursor:pointer; padding:10px 15px; border:0; border-radius:10px; color:#fff; background:#2f8a7d; font:inherit; }
.quote-record .quote-disclaimer { font-size:12px; }
.quote-empty { padding:32px 10px; color:#667581; text-align:center; }
.quote-workspace-page .auth-feedback { padding:0 8px; }
@media(max-width:600px) { .quote-record { padding:16px; } }
.quote-hero-heading, .quote-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.quote-hero-heading h1 { margin:0; }
.quote-workspace-page .quote-routing { width:min(620px, calc(100vw - 32px)); max-height:calc(100dvh - 48px); box-sizing:border-box; overflow:auto; margin:auto; padding:28px; border:1px solid #d9e8e5; border-radius:24px; background:#fff; color:#203447; box-shadow:0 24px 64px rgba(20,65,60,.25); }
.quote-routing::backdrop { background:rgba(13,39,36,.45); backdrop-filter:blur(4px); }
.quote-dialog-heading { margin-bottom:24px; }
.quote-dialog-heading h2 { margin:0; color:#247c70; font-size:22px; }
.quote-routing .auth-form { margin:0; }
@media(max-width:600px) { .quote-workspace-page .quote-routing { padding:20px; } }


.quote-workspace-page .resource-link.primary { background:linear-gradient(135deg, #3b9a8d, #247c70); }
.quote-workspace-page .resource-link.primary:hover, .quote-workspace-page .resource-link.primary:focus-visible { background:linear-gradient(135deg, #2f8a7d, #1d6b61); }
.quote-workspace-page .auth-feedback:empty { display:none; }

.quote-workspace-page { --deal-intake-teal:#2f8a7d; }
.quote-workspace-page #homeowner-fields { gap:14px; }
.quote-workspace-page .deal-intake-section-head { color:#2f8a7d; border-color:rgba(47,138,125,.25); }
.quote-workspace-page #customer-picker-field > label { font-weight:800; }
.quote-workspace-page #contact-results button { text-align:left; }
.quote-workspace-page #contact-status { color:#24675e; }

/* Product selection and commission cards */
#product-lines { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.quote-workspace-page .quote-product-line { min-width:0; display:flex; flex-direction:column; align-items:stretch; gap:20px; padding:20px; border:1px solid #dce8e5; border-radius:20px; background:linear-gradient(145deg,#fff,#f8fbfa); box-shadow:0 2px 4px rgba(19,55,49,.025); transition:border-color .18s,background .18s,box-shadow .18s; }
.quote-workspace-page .quote-product-line:hover { border-color:#aacfc5; }
.quote-workspace-page .quote-product-line:has([data-product]:checked) { border-color:#399b87; background:linear-gradient(145deg,#f2fcf8,#fff); box-shadow:0 0 0 1px rgba(57,155,135,.12),0 6px 20px rgba(28,104,84,.07); }
.quote-workspace-page .quote-product-choice { position:relative; display:flex; align-items:center; gap:12px; cursor:pointer; margin:0; min-height:44px; }
.quote-product-icon { display:grid; place-items:center; flex:0 0 44px; height:44px; border:1px solid #e0eae6; border-radius:13px; background:#eef5f2; color:#55756b; }
.quote-product-icon svg { width:25px; height:25px; }
.quote-product-name { flex:1; color:#243e36; font-size:16px; font-weight:750; letter-spacing:-.025em; line-height:1.3; }
.quote-workspace-page .quote-product-choice input[type=checkbox] { position:absolute; right:0; width:26px; height:26px; margin:0; opacity:0; }
.quote-product-check { display:grid; place-items:center; flex:0 0 25px; height:25px; box-sizing:border-box; border:1.5px solid #cbdad4; border-radius:50%; background:#fff; pointer-events:none; }
.quote-product-check svg { width:16px; height:16px; fill:none; stroke:#fff; stroke-width:2; opacity:0; }
.quote-product-choice input:checked + .quote-product-check { background:#258671; border-color:#258671; }
.quote-product-choice input:checked + .quote-product-check svg { opacity:1; }
.quote-product-choice input:focus-visible + .quote-product-check { outline:3px solid #90d4c1; outline-offset:3px; }
.quote-product-line:has(input:checked) .quote-product-icon { background:#dcf3e9; border-color:#c5e7d9; color:#1e806a; }
.quote-workspace-page .quote-product-commission { display:flex; flex-direction:column; gap:8px; margin:0; }
.quote-workspace-page .quote-product-commission > span:first-child { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#6c8079; }
.quote-workspace-page .quote-money-input { display:flex; align-items:center; gap:8px; padding:0 14px; min-height:48px; border:1px solid #d8e5df; border-radius:12px; background:#fff; }
.quote-workspace-page .quote-money-input > span { color:#7a9187; font-size:17px; font-weight:500; }
.quote-workspace-page .quote-money-input input { width:100%; min-width:0; height:46px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; font-size:20px; font-weight:600; font-variant-numeric:tabular-nums; color:#234b3e; }
.quote-workspace-page .quote-money-input:focus-within { border-color:#258671; box-shadow:0 0 0 3px #dff3ea; }
.quote-workspace-page .quote-money-input input:focus { outline:none; }
.quote-workspace-page .quote-money-input:has(input:disabled) { background:#f1f5f3; border-color:#e5ece8; }
.quote-workspace-page .quote-money-input input:disabled { color:#91a39a; cursor:not-allowed; opacity:1; }
.quote-workspace-page .quote-money-input input::placeholder { color:#9cafa5; }
#product-fields legend { font-weight:800; margin-bottom:14px; }
#commission-total { color:#247c70; font-weight:800; }
@media(max-width:600px) { #product-lines { grid-template-columns:1fr; } .quote-workspace-page .quote-product-line { padding:16px; gap:16px; } }
@media(prefers-reduced-motion:reduce) { .quote-workspace-page .quote-product-line { transition:none; } }

/* Match the product palette used throughout Aros. */
.quote-product-line { --product-accent:#ff811a; --product-end:#ff9832; --product-tint:#fff7ef; }
.quote-product-line[data-product-theme="Solar"] { --product-accent:#f5a800; --product-end:#ffbd13; --product-tint:#fffbeb; }
.quote-product-line[data-product-theme="Solar + Batteries"] { --product-accent:#ff811a; --product-end:#ffbd13; --product-tint:#fff8eb; }
.quote-product-line[data-product-theme="Windows"] { --product-accent:#10b9ad; --product-end:#1dc8b8; --product-tint:#effcfa; }
.quote-product-line[data-product-theme="HVAC"] { --product-accent:#3884ff; --product-end:#2ab4e6; --product-tint:#eff6ff; }
.quote-product-line[data-product-theme="Roofing"] { --product-accent:#4e5c71; --product-end:#65758c; --product-tint:#f3f6fa; }
.quote-workspace-page .quote-product-line { border-top:3px solid var(--product-accent); background:linear-gradient(145deg,#fff,var(--product-tint)); }
.quote-workspace-page .quote-product-line:hover { border-color:var(--product-accent); }
.quote-workspace-page .quote-product-line:has([data-product]:checked) { border-color:var(--product-accent); background:linear-gradient(145deg,#fff,var(--product-tint)); box-shadow:0 0 0 1px var(--product-accent),0 8px 24px #12253a0a; }
.quote-workspace-page .quote-product-icon,.quote-workspace-page .quote-product-line:has(input:checked) .quote-product-icon { color:#fff; background:linear-gradient(135deg,var(--product-accent),var(--product-end)); border-color:transparent; box-shadow:0 5px 14px color-mix(in srgb,var(--product-accent) 18%,transparent); }
.quote-product-icon svg { stroke-width:1.9; }
.quote-product-choice input:checked + .quote-product-check { background:var(--product-accent); border-color:var(--product-accent); }
.quote-product-choice input:focus-visible + .quote-product-check { outline-color:var(--product-accent); }
.quote-workspace-page .quote-money-input:focus-within { border-color:var(--product-accent); box-shadow:0 0 0 3px var(--product-tint); }

/* Request context stays visible above the quote preparation fields. */
.quote-request-review { border:1px solid #dce8e5; border-radius:20px; overflow:hidden; background:#fff; box-shadow:0 8px 28px #183d3510; }
.quote-review-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 24px 18px; background:linear-gradient(120deg,#f1faf7,#fff); }
.quote-eyebrow { color:#318578; font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.quote-review-top h3 { margin:7px 0; font-size:24px; line-height:1.2; letter-spacing:-.03em; color:#203a35; }
.quote-review-top p { margin:0; font-size:14px; color:#657a75; overflow-wrap:anywhere; }
.quote-status { flex-shrink:0; border-radius:30px; background:#fff2d7; color:#856019; font-size:11px; font-weight:750; padding:7px 11px; }
.quote-review-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px 24px; border-top:1px solid #e7efec; border-bottom:1px solid #e7efec; color:#6b7f78; font-size:12px; }
.quote-review-meta strong { display:block; margin-top:4px; color:#243e36; font-size:15px; }
.quote-review-details { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:20px 24px 24px; }
.quote-review-details section { min-width:0; padding:16px; background:#f7faf9; border:1px solid #e7efec; border-radius:12px; }
.quote-review-details h4 { margin:0 0 10px; font-size:13px; color:#284e44; }
.quote-review-details p { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.65; color:#4c625b; }
.quote-send-view #request-field { padding:16px 20px; background:#f6faf8; border:1px solid #e1ebe6; border-radius:16px; }
.quote-send-view #request-field > span { font-size:12px; color:#506c61; }
.quote-send-view #request-field small { font-size:12px; }
.quote-send-view #submission-heading { margin-top:6px; padding-top:20px; }
.quote-send-view #product-lines { grid-template-columns:1fr; }
.quote-send-view .quote-product-line { display:grid; grid-template-columns:1fr minmax(180px, .8fr); gap:20px; align-items:center; padding:18px 20px; border:1px solid #dce8e5; border-left:4px solid var(--product-accent); border-radius:14px; box-shadow:none; }
.quote-send-view .quote-product-line:has([data-product]:checked) { box-shadow:none; border-color:#dce8e5; border-left-color:var(--product-accent); }
.quote-send-view .quote-product-check { display:none; }
.quote-send-view .quote-product-choice { cursor:default; }
.quote-send-view .quote-product-commission small { color:#5c736b; font-size:12px; }
.quote-send-view #commission-total { margin:0; padding:16px 20px; background:#edf7f3; border-radius:12px; font-size:16px; text-align:right; }
@media(max-width:600px) {
 .quote-review-top { padding:18px; flex-direction:column; gap:12px; }
 .quote-review-meta { padding:16px 18px; }
 .quote-review-details { grid-template-columns:1fr; padding:16px; }
 .quote-send-view .quote-product-line { grid-template-columns:1fr; padding:16px; }
}

.quote-document-list { display:flex; flex-wrap:wrap; gap:8px; }
#request-documents:not(:empty) { padding:0 24px 24px; }
.quote-workspace-page .quote-document-link { border:1px solid #cfe4dc; border-radius:10px; padding:10px 14px; color:#246f60; background:#f2faf6; font:inherit; font-size:13px; cursor:pointer; overflow-wrap:anywhere; text-align:left; }
.quote-documents { padding:20px; border:1px dashed #adcfc1; border-radius:16px; background:#f8fcfa; }
.quote-documents > label:first-child { font-weight:750; }
.quote-documents p { margin:0; color:#61776c; font-size:13px; }
.quote-document-picker { position:relative; display:inline-flex; width:fit-content; padding:12px 18px; border:1px solid #bcdacc; border-radius:10px; background:white; color:#287a66; font-weight:700; font-size:14px; cursor:pointer; }
.quote-document-picker input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
.quote-document-picker:focus-within { outline:3px solid #a7dccc; }
.quote-selected-documents { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.quote-selected-documents li { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px; background:#fff; border:1px solid #e0ebe5; border-radius:10px; }
.quote-selected-documents li > span { min-width:0; overflow-wrap:anywhere; font-size:14px; }
.quote-selected-documents small { display:block; margin-top:4px; color:#708579; }
.quote-selected-documents button { background:transparent; border:0; color:#8b4a45; font:inherit; font-size:12px; cursor:pointer; padding:8px; }
