.chase-summary{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.chase-filter,.chase-value{border:1px solid var(--bindr-border,#ccd4df);border-radius:10px;background:white;padding:14px 20px;min-width:130px;display:grid;gap:5px;text-align:left;color:#253449}.chase-filter strong,.chase-value strong{font-size:24px}.chase-filter.selected{border-color:#c66619;background:#fff2e7;box-shadow:inset 0 0 0 1px #c66619}.chase-value{margin-left:auto}.chase-block{display:block;margin:6px 0}.chase-contact{display:grid;gap:5px;max-width:240px;overflow-wrap:anywhere}.chase-contact .btn{text-align:left;padding-left:0}.chase-page td{vertical-align:top!important;padding-top:18px!important;padding-bottom:18px!important}.chase-page td:first-child{min-width:200px}.chase-page td:nth-child(3),.chase-page td:nth-child(4){min-width:180px;max-width:280px}.chase-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;margin:8px 0}.chase-date.overdue{color:#a32921;font-weight:700}.chase-date.today{color:#925016;font-weight:700}.chase-pagination,.chase-vjf{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}.chase-dialog{width:min(1040px,94vw);max-height:90vh;border:1px solid #ccd4df;border-radius:14px;padding:24px;background:#f7f8fa;color:#253449}.chase-dialog::backdrop{background:#171b2299}.chase-dialog>header{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:1px solid #ccd4df;margin-bottom:20px}.chase-dialog h2{margin:0}.chase-dialog-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,1.3fr);gap:28px}.chase-dialog form{display:grid;align-content:start;gap:14px}.chase-dialog label{display:grid;gap:6px}.chase-dialog input,.chase-dialog select,.chase-dialog textarea{width:100%;padding:10px;border:1px solid #b8c3d1;border-radius:6px;background:white;color:#172331;font:inherit;box-sizing:border-box}.chase-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chase-dialog .chase-secured{display:flex;align-items:start;gap:10px}.chase-secured input{width:18px;flex:none}.chase-history{max-height:44vh;overflow:auto}.chase-history article{background:white;border:1px solid #d9dfe7;border-radius:8px;padding:12px;margin-bottom:10px}.chase-history p{white-space:pre-wrap;overflow-wrap:anywhere}.chase-dialog h3,.chase-dialog form p{margin:0 0 8px}.chase-dialog aside h3{margin:16px 0 10px}#chaseError{color:#a32921}.chase-dialog :focus-visible,.chase-page :focus-visible{outline:3px solid #c66619;outline-offset:3px}@media(max-width:720px){.chase-dialog-grid{grid-template-columns:1fr}.chase-history{max-height:200px}.chase-value{margin-left:0}.chase-filter,.chase-value{flex:1;min-width:110px}.chase-dialog{padding:16px}}

/* Compact list density: full notes and contact editing remain in the update panel. */
.chase-page .crm-page-heading{margin-bottom:10px;padding-bottom:0}
.chase-page .crm-page-heading h2{font-size:22px}
.chase-page .crm-page-heading p{margin:4px 0;font-size:14px}
.chase-summary{gap:8px;margin:10px 0;align-items:center}
.chase-filter,.chase-value{display:flex;align-items:center;gap:10px;min-width:0;padding:7px 12px;border-radius:6px;min-height:36px;box-sizing:border-box}
.chase-filter strong,.chase-value strong{font-size:16px}
.chase-filter span,.chase-value span{font-size:13px}
.chase-page .crm-filters{margin:10px 0;gap:10px}
.chase-page .crm-filters input{min-height:34px;padding-top:6px;padding-bottom:6px}
.chase-page .crm-table{font-size:14px}
.chase-page .crm-table td{padding:10px 12px!important;line-height:1.4}
.chase-page .crm-table th{padding:8px 12px!important;font-size:12px}
.chase-page td:first-child{min-width:190px}
.chase-project-name{display:inline;margin-left:8px}
.chase-project-name+span{display:block;color:#526174;margin-top:3px}
.chase-page .chase-block{margin:3px 0 0}
.chase-page .chase-contact{gap:2px;font-size:13px}
.chase-page .chase-contact>.btn,.chase-page .chase-contact>span:first-of-type:not(:last-child){display:none}
.chase-page .chase-contact>strong{font-size:14px}
.chase-preview{-webkit-line-clamp:2;margin:4px 0 0;font-size:13px}
.chase-page .pipeline-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:100px}
.chase-page .pipeline-actions .btn{min-height:32px!important;padding:5px 9px!important;font-size:13px!important;white-space:nowrap}
.chase-more summary{cursor:pointer;padding:5px 8px;font-size:13px;border-radius:5px;color:#42536a}
.chase-more[open] summary{background:#e9edf2}
.chase-more>div{display:grid;gap:5px;margin-top:5px}
.chase-pagination{padding:10px 0;font-size:13px}
.chase-dialog{padding:20px}
.chase-dialog-grid{gap:20px}
.chase-dialog form{gap:10px}
.chase-dialog input,.chase-dialog select,.chase-dialog textarea{padding:8px}
@media(max-width:720px){.chase-filter,.chase-value{flex:0 1 auto;min-width:0}.chase-summary{gap:6px}.chase-project-name{display:block;margin:2px 0 0}}

/* Compact details bar with a full-width communication form. */
#chaseDialog {width:min(960px,94vw);padding:0;overflow:auto;background:#fff}
#chaseDialog .chase-details-bar {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;align-items:start;gap:16px;margin:0;padding:16px 20px;background:#303841;color:#fff;border:0}
#chaseDialog .chase-job-details {min-width:0;overflow-wrap:anywhere;display:grid;gap:4px}
#chaseDialog .chase-job-details h2 {font-size:19px;line-height:1.3;margin:0;color:#fff}
#chaseDialog .chase-job-details p {margin:0;color:#e0e5ea;font-size:14px}
#chaseDialog .chase-job-details :is(small,span) {color:#d0d8e0;font-size:12px}
#chaseDialog .chase-header-contact {min-width:0;border-left:1px solid #606973;padding-left:16px}
#chaseDialog .chase-contact {max-width:none;gap:4px;font-size:13px;color:#e0e5ea}
#chaseDialog .chase-contact strong {color:#fff;font-size:14px}
#chaseDialog .chase-contact :is(a,.btn.link) {color:#fff;text-decoration:underline;text-underline-offset:3px}
#chaseDialog .chase-contact .btn.link {justify-self:start;font-size:12px;min-height:24px;padding:0;background:none;border:0}
#chaseDialog [data-chase-close] {color:#fff;background:#414b56;border:1px solid #8793a0;padding:6px 10px}
#chaseDialog .chase-dialog-body {padding:18px 20px}
#chaseDialog #chaseForm {display:grid;gap:12px;width:100%;padding:0;margin:0;border:0;background:#fff}
#chaseDialog #chaseForm h3 {margin:0;font-size:18px}
#chaseDialog #chaseForm>p {margin:0;color:#526170;font-size:13px}
#chaseDialog #chaseForm label {font-size:13px;font-weight:550;min-width:0}
#chaseDialog .chase-fields {grid-template-columns:minmax(0,1fr) minmax(160px,220px);gap:14px}
#chaseDialog textarea {min-height:130px;resize:vertical;line-height:1.5}
#chaseDialog #chaseError {color:#a32921}
#chaseDialog #chaseError:empty {display:none}
#chaseDialog #chaseForm>button[type=submit] {justify-self:end;min-width:130px}
#chaseDialog .chase-history-section {margin-top:18px;border-top:1px solid #d9dfe7;padding-top:12px}
#chaseDialog .chase-history-section summary {cursor:pointer;font-size:14px;font-weight:650;color:#334155}
#chaseDialog .chase-history-section summary span {font-weight:400;color:#637181}
#chaseDialog .chase-history {margin-top:12px;max-height:260px}
#chaseDialog .chase-history p {margin:6px 0 0;font-size:13px;line-height:1.5}
@media(max-width:650px){
 #chaseDialog .chase-details-bar {grid-template-columns:minmax(0,1fr) auto;padding:14px;gap:12px}
 #chaseDialog .chase-header-contact {grid-column:1/-1;grid-row:2;border-left:0;border-top:1px solid #606973;padding:10px 0 0}
 #chaseDialog .chase-dialog-body {padding:14px}
 #chaseDialog .chase-fields {grid-template-columns:1fr}
}

/* Keep the last conversation in view while recording the next one. */
#chaseDialog .chase-last-update{display:grid;gap:7px;padding:11px 14px;margin-bottom:16px;border:1px solid #dce3e9;border-left:3px solid #dc8033;border-radius:6px;background:#fafbfc}
#chaseDialog .chase-last-update>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
#chaseDialog .chase-last-update span{font-size:12px;font-weight:700;color:#647386;text-transform:uppercase;letter-spacing:.04em}
#chaseDialog .chase-last-update strong{font-size:12px;color:#435266}
#chaseDialog .chase-last-update p{margin:0;color:#253449;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;max-height:4.5em;overflow:auto}
#chaseDialog .chase-first-update{margin:0 0 14px;color:#647386;font-size:13px}
#chaseDialog .chase-date-shortcuts{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:-4px 0 2px}
#chaseDialog .chase-date-shortcuts span{font-size:12px;color:#647386;margin-right:3px}
#chaseDialog .chase-date-shortcuts button{border:1px solid #d4dce4;background:#fff;color:#304154;border-radius:5px;padding:5px 9px;font:inherit;font-size:12px;cursor:pointer}
#chaseDialog .chase-date-shortcuts button:hover{border-color:#d3752c;background:#fff3e9}
#chaseDialog .chase-date-shortcuts button:focus-visible{outline:3px solid #c66619;outline-offset:2px}

/* One compact heading for overdue quote files. */
.quote-followup-panel>.crm-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}

/* Compact dashboard column labels. */
.quote-followup-panel .crm-table thead th{padding-top:6px!important;padding-bottom:6px!important;line-height:1.2!important}
#chaseError:not(:empty){padding:10px 12px;border-radius:6px;background:#fff1e7;color:#8b390d;font-weight:600}

/* Keep quote references on one line; expand the column for longer revisions. */
.quote-followup-panel .crm-table{table-layout:auto;width:100%;min-width:980px}
.quote-followup-panel .crm-table thead th:first-child{width:108px}
.quote-followup-panel .crm-table thead th:nth-child(2){width:164px}
.quote-followup-panel .crm-table thead th:nth-child(3){width:186px}
.quote-followup-panel .crm-table thead th:nth-last-child(3):not(:nth-child(4)){width:168px}
.quote-followup-panel .crm-table thead th:nth-last-child(2){width:84px}
.quote-followup-panel .crm-table thead th:last-child{width:124px}
.quote-followup-panel .crm-table :is(th,td){box-sizing:border-box;padding-left:10px!important;padding-right:10px!important}
.quote-followup-panel .crm-table tbody td{min-width:0;white-space:normal;overflow-wrap:anywhere}
.quote-followup-panel .crm-table td:first-child,.quote-followup-panel .crm-table td:first-child .text-link{max-width:none;white-space:nowrap;text-align:left;overflow-wrap:normal}
.quote-followup-panel .crm-table td.money-cell{white-space:nowrap}

/* Keep dashboard follow-ups compact when the shared table theme is loaded. */
@media screen {
 :is(#dashboardView,#myDashboardView) #dueQuoteFollowUps .crm-table thead th{padding:6px 10px!important;line-height:1.3!important}
 :is(#dashboardView,#myDashboardView) #dueQuoteFollowUps tr[data-followup-quote]>td{padding:8px 10px!important;background:#fff;line-height:1.4}
 :is(#dashboardView,#myDashboardView) #dueQuoteFollowUps tr[data-followup-quote]:is(:hover,:focus-within)>td{background:#fff6ef}
}
