/* Shared, scoped conversation cards. Kept independent of application navigation. */
:is(.thread,.job-chat-messages) :is(.wr-service-card,.wr-billing-card,.wr-quote-card) {
  box-sizing:border-box; width:min(520px,100%); min-width:0; margin:0; padding:0;
  overflow:hidden; border:1px solid #c4d8e8; border-radius:18px; background:#fff;
  box-shadow:0 3px 12px #17375a0b; text-align:left;
}
:is(.thread,.job-chat-messages) :is(.wr-service-card,.wr-billing-card,.wr-quote-card)::before { display:none; }
:is(.thread,.job-chat-messages) :is(.milestone-card.wr-service-card,.wr-billing-card,.quote-card.wr-quote-card,.next-step-card.wr-next-card) .wr-update-header {
  display:flex; align-items:center; gap:14px; margin:0; padding:20px;
  background:linear-gradient(115deg,#173b55,#155e7b); color:#fff; border:0; border-radius:0;
}
:is(.thread,.job-chat-messages) :is(.milestone-card.wr-service-card,.wr-billing-card,.quote-card.wr-quote-card,.next-step-card.wr-next-card) .wr-update-header > div { min-width:0; }
:is(.thread,.job-chat-messages) :is(.milestone-card.wr-service-card,.wr-billing-card,.quote-card.wr-quote-card,.next-step-card.wr-next-card) .wr-update-header span:not(.milestone-icon) {
  display:block; margin:0 0 5px; color:#c4e7f8; font-size:11px; line-height:1.5;
  font-weight:700; letter-spacing:.07em; text-transform:uppercase;
}
:is(.thread,.job-chat-messages) :is(.milestone-card.wr-service-card,.wr-billing-card,.quote-card.wr-quote-card,.next-step-card.wr-next-card) .wr-update-header strong {
  display:block; margin:0; color:#fff; font-size:21px; font-weight:750; line-height:1.3;
  letter-spacing:-.02em; overflow-wrap:anywhere;
}
:is(.thread,.job-chat-messages) :is(.milestone-card.wr-service-card,.wr-billing-card,.quote-card.wr-quote-card,.next-step-card.wr-next-card) .wr-update-header .milestone-icon {
  display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px;
  color:#fff; background:#ffffff12; border:1px solid #ffffff40; border-radius:12px; font-size:21px;
}
:is(.thread,.job-chat-messages) .wr-update-body { padding:20px; }
:is(.thread,.job-chat-messages) .wr-update-body > p {
  margin:0; color:#3e5c71; font-size:16px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere;
}
:is(.thread,.job-chat-messages) .wr-update-body > small { display:block; margin-top:16px; color:#536a74; font-size:12px; line-height:1.5; }
:is(.thread,.job-chat-messages) .wr-service-card .milestone-actions { margin-top:18px; }
:is(.thread,.job-chat-messages) .completion-crew { margin-bottom:20px; }
:is(.thread,.job-chat-messages) .completion-company { margin:0 0 22px; padding:4px 0 18px; border-bottom:1px solid #dce8ef; }
:is(.thread,.job-chat-messages) .completion-company img { display:block; width:210px; max-width:100%; height:auto; object-fit:contain; }
:is(.thread,.job-chat-messages) .completion-crew .visit-technician:only-child { padding:12px; }
/* Existing next-step and schedule cards retain their actions with the same header. */
:is(.thread,.job-chat-messages) .next-step-card.wr-next-card { width:min(520px,100%); padding:0; overflow:hidden; text-align:left; }
:is(.thread,.job-chat-messages) .wr-next-card > :is(strong,p,button,small) { margin:18px 20px; }
:is(.thread,.job-chat-messages) .wr-next-card > strong { display:block; }
:is(.thread,.job-chat-messages) .wr-next-card > button { width:calc(100% - 40px); }
@media(max-width:480px) {
  :is(.thread,.job-chat-messages) :is(.milestone-card.wr-service-card,.wr-billing-card,.quote-card.wr-quote-card,.next-step-card.wr-next-card) .wr-update-header { padding:18px; gap:12px; }
  :is(.thread,.job-chat-messages) :is(.milestone-card.wr-service-card,.wr-billing-card,.quote-card.wr-quote-card,.next-step-card.wr-next-card) .wr-update-header strong { font-size:20px; }
  :is(.thread,.job-chat-messages) .wr-update-body { padding:18px; }
}
@media(forced-colors:active) { :is(.thread,.job-chat-messages) :is(.milestone-card.wr-service-card,.wr-billing-card,.quote-card.wr-quote-card,.next-step-card.wr-next-card) .wr-update-header { border-bottom:1px solid CanvasText; } }
