/* v5.27.7 — quote-scoped admin/customer confirmation messages and clearer calendar customer identity. */
.request-support-panel,.admin-request-support{margin-top:18px;border:1px solid #dbe4ee;border-radius:14px;background:#fff;padding:16px;box-shadow:0 8px 24px rgba(23,38,59,.045)}
.request-support-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.request-support-heading h3{margin:8px 0 4px;font-size:18px;line-height:1.35;color:#17263b}
.request-support-heading p{margin:0;font-size:13px;line-height:1.6;color:#667386}
.request-support-history{display:grid;gap:10px}
.request-support-message{border:1px solid #e0e7ef;border-radius:12px;background:#f8fafc;padding:13px 14px}
.request-support-message-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:9px}
.request-support-message-head>div{display:flex;align-items:center;gap:8px;min-width:0}
.request-support-message-head b{font-size:14px;line-height:1.45;color:#26364b}
.request-support-message-head time,.request-support-reply time{font-size:11px;line-height:1.45;color:#778396;white-space:nowrap}
.request-support-message>p,.request-support-reply p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65;color:#26364b}
.request-support-reply{margin-top:11px;border-left:3px solid #1a5ccd;border-radius:0 9px 9px 0;background:#fff;padding:10px 12px;display:grid;gap:5px}
.request-support-reply>span{font-size:11px;font-weight:800;color:#1a5ccd}
.request-support-composer,.admin-support-composer{margin-top:14px;border-top:1px solid #e5ebf2;padding-top:14px}
.request-support-composer>label,.admin-support-composer .field>label{display:block;margin-bottom:6px;font-size:13px;font-weight:800;color:#26364b}
.request-support-composer textarea,.admin-support-composer textarea,.admin-support-composer select{width:100%;border:1px solid #cfd9e5;border-radius:10px;background:#fff;color:#17263b;font:inherit;font-size:14px;line-height:1.6;padding:11px 12px;outline:none}
.request-support-composer textarea,.admin-support-composer textarea{min-height:104px;resize:vertical}
.request-support-composer textarea:focus,.admin-support-composer textarea:focus,.admin-support-composer select:focus{border-color:#1a5ccd;box-shadow:0 0 0 3px rgba(26,92,205,.11)}
.request-support-composer>.row,.admin-support-send-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.request-support-composer>.row .btn,.admin-support-send-row .btn{width:auto;min-width:140px;flex:0 0 auto}
.admin-request-support{margin:14px 0}
.admin-request-support .admin-source-panel-head{margin-bottom:12px}
.admin-support-composer .manual-two{align-items:end}
.request-support-reply-check{min-height:46px;margin-bottom:0;padding:10px 12px;border:1px solid #dce4ed;border-radius:10px;background:#f8fafc}
.admin-support-history-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0 9px;padding-top:14px;border-top:1px solid #e5ebf2}
.admin-support-history-heading b{font-size:14px;color:#26364b}.admin-support-history-heading span{font-size:12px;color:#6b7788}
.calendar-care-row>summary small strong{color:#26364b;font-weight:800}
.calendar-care-meta{grid-template-columns:repeat(3,minmax(0,1fr))}
.calendar-care-phone{display:inline-flex;width:fit-content;margin-top:2px;font-size:12px;font-weight:800;color:#1a5ccd;text-decoration:none}
.calendar-care-phone:hover{text-decoration:underline}
@media(max-width:900px){.calendar-care-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .request-support-panel,.admin-request-support{padding:14px;border-radius:12px}
 .request-support-message-head{flex-direction:column;gap:6px}
 .request-support-message-head time{white-space:normal}
 .request-support-composer>.row,.admin-support-send-row{align-items:stretch;flex-direction:column}
 .request-support-composer>.row .btn,.admin-support-send-row .btn{width:100%;min-width:0}
 .calendar-care-meta{grid-template-columns:1fr}
}

/* v5.27.8: unpriced site visit proposals are separate from priced bids. */
.site-visit-proposal { margin: 20px 0; padding: 0; border: 2px solid #1a5ccd; border-left: 6px solid #ffd700; border-radius: 16px; background: #f2f7ff; box-shadow: 0 5px 20px rgba(26,92,205,.12); overflow: hidden; }
.site-visit-proposal summary { display: flex; flex-direction: column; gap: 5px; padding: 19px 20px; cursor: pointer; line-height: 1.4; list-style: none; }
.site-visit-proposal summary::-webkit-details-marker { display: none; }
.site-visit-proposal summary:focus-visible { outline: 3px solid #1a5ccd; outline-offset: -4px; }
.site-visit-proposal summary b { color: #173966; font-size: 18px; font-weight: 850; }
.site-visit-label { align-self: flex-start; padding: 3px 9px; border-radius: 6px; background: #1a5ccd; color: #fff; font-size: 12px; font-weight: 800; }
.site-visit-summary-help { color: #1a5ccd; font-weight: 750; }
.site-visit-summary-help::after { content: '  ▾'; }
.site-visit-proposal[open] .site-visit-summary-help::after { content: '  ▴'; }
.site-visit-body { padding: 0 20px 20px; border-top: 1px solid #d6e4f9; background: #fff; }
.site-visit-body>.helper { margin-top: 16px; line-height: 1.6; }
.site-visit-proposal .field { margin-top: 12px; }
.site-visit-proposal .btn { margin-top: 14px; }
@media (max-width: 600px) { .site-visit-proposal summary { padding: 16px; } .site-visit-body { padding: 0 16px 16px; } .site-visit-proposal summary b { font-size: 17px; } }
.site-visit-customer { margin: 14px 0; }
.site-visit-customer .quote-card { margin: 10px 0; }
.site-visit-customer .helper { line-height: 1.55; }
