.customer-followup{margin:1.2rem 0;padding:1rem;background:var(--paper,#f5f3ed);border:1px solid var(--line,#d8dedc);border-radius:.6rem}.customer-followup h3{margin-top:0}.customer-followup .check-field{display:flex;gap:.65rem;align-items:center}.customer-followup [data-contact-followup-date]{margin-top:.8rem;max-width:20rem}.contact-filter-actions{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;width:100%}.contact-filters{display:flex;gap:.5rem}.contact-filters [aria-pressed=true]{background:#203b42;color:white}.contact-list-row{grid-template-columns:minmax(10rem,1.2fr) minmax(10rem,1.2fr) minmax(7rem,.8fr) auto}.contact-due-label{color:#86421c;font-weight:650}.contact-due{border-left:3px solid #b56d31}.contact-work-row,.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--line,#d8dedc)}.contact-work-row>span{min-width:0;overflow-wrap:anywhere}.contact-work-row small{display:block;color:#586b70}.contact-attachments{padding:.7rem 0}.attachment-row .text-button{text-align:left;overflow-wrap:anywhere}.attachment-upload{display:inline-flex;position:relative;overflow:hidden;margin-top:.7rem}.attachment-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;max-width:100%}.waiting-list-row{grid-template-columns:3rem minmax(10rem,1.4fr) minmax(10rem,1.6fr) minmax(8rem,1fr) auto}.waiting-state{display:block;font-size:.82rem;color:#586b70}.waiting-record .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.waiting-record textarea{min-height:5rem}.waiting-actions{margin:.8rem 0}.contact-attachments [data-attachment-list]{max-width:100%}
@media(max-width:900px){.list-heading.contact-list-row,.list-heading.waiting-list-row{display:none}.job-row.contact-list-row,.job-row.waiting-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem .7rem;padding:1rem}.contact-list-row .customer-contact{grid-column:1 / -1;overflow-wrap:anywhere}.contact-list-row>.action-wrap{grid-column:1 / -1}.waiting-list-row .waiting-brief{grid-column:1 / -1}.waiting-list-row>.action-wrap{grid-column:1 / -1}.waiting-record .field-grid{grid-template-columns:1fr}.contact-filter-actions{align-items:stretch;flex-direction:column}.contact-work-row{align-items:flex-start}.contact-work-row .button{flex-shrink:0}.customer-followup{padding:.8rem}.contact-list-row button,.waiting-list-row button,.contact-filters button{min-height:44px}}
