.crm-quick { display:flex; gap:10px; margin:16px 0; }
.goal-interactions { padding: 0 24px 20px; }
.goal-interactions > p { margin-top: 12px; }
/* Customers page: space below the action buttons and align Thread with the selects. */
.customers-actions {
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.customers-filters {
    align-items: flex-end;
}

/* Give each customer content card one consistent inset. */
.customers-card {
    padding: 20px 24px;
}

.customers-card > .project-toolbar {
    padding: 0;
    margin-bottom: 16px;
}

.customers-card > h2 {
    margin-bottom: 16px;
}

.customers-card > h3 {
    margin: 16px 0 8px;
}

.customers-card > p + p {
    margin-top: 8px;
}

.customers-card > .inline-empty {
    padding: 16px 0 0;
}

.customers-card .crm-table th:first-child,
.customers-card .crm-table td:first-child {
    padding-left: 0;
}

.customers-card .crm-table th:last-child,
.customers-card .crm-table td:last-child {
    padding-right: 0;
}

/* The search summary already has padding; inset only its expanded content. */
.customers-search fieldset {
    padding: 0 24px 20px;
}

.customers-search .project-section > p,
.customers-search .project-section > .crm-result,
.customers-search .project-section > .alert {
    margin-left: 24px;
    margin-right: 24px;
}

@media (max-width: 760px) {
    .customers-card {
        padding: 20px;
    }

    .customers-search fieldset {
        padding: 0 20px 20px;
    }

    .customers-search .project-section > p,
    .customers-search .project-section > .crm-result,
    .customers-search .project-section > .alert {
        margin-left: 20px;
        margin-right: 20px;
    }
}

.crm-quick input { flex:1; min-width:0; }
.crm-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.crm-task { display:flex; gap:14px; align-items:center; padding:15px 0; border-bottom:1px solid #e3e8ee; }
.crm-task > input[type=checkbox] { width:20px; height:20px; flex:none; }
.crm-grow { flex:1; min-width:0; }
button.crm-title { border:0; background:transparent; padding:0; text-align:left; color:#173e5b; font-weight:600; white-space:normal; }
.crm-overdue { color:#ac3e2b; }
.crm-overlay { position:fixed; inset:0; z-index:1000; background:#172c4166; display:flex; justify-content:center; align-items:flex-start; overflow-y:auto; padding:36px 20px; }
.crm-dialog { background:white; width:min(900px,100%); padding:28px; border-radius:14px; box-shadow:0 18px 70px #10203044; }
.crm-dialog label { display:flex; flex-direction:column; gap:6px; margin-bottom:12px; }
.crm-dialog .check-label { flex-direction:row; align-items:center; }
.crm-dialog h3 { margin-top:25px; }
.crm-dialog button { margin:5px 5px 5px 0; }
.crm-pre { white-space:pre-wrap; overflow-wrap:anywhere; }
.crm-table-wrap { overflow:auto; }
.crm-table { width:100%; border-collapse:collapse; }
.crm-table th,.crm-table td { padding:12px; text-align:left; border-bottom:1px solid #e3e8ee; vertical-align:top; }
.crm-table select { min-width:160px; }
.crm-result { padding:16px 0; border-bottom:1px solid #e3e8ee; overflow-wrap:anywhere; }
.crm-result p { margin:6px 0; }
.filters { flex-wrap:wrap; }
.crm-dialog > p,.crm-dialog > details { margin:12px 0; }
@media(max-width:650px) { .crm-overlay { padding:10px; } .crm-dialog { padding:18px; } .crm-quick { flex-wrap:wrap; } .crm-task { flex-wrap:wrap; } }
