/* Inherit IBM Plex Sans and all shared form/button theme styles. */
.contacts-page { display: grid; gap: 20px; min-width: 0; }
.contacts-toolbar, .contacts-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.contacts-panel { padding: 24px; min-width: 0; }
.contacts-panel h2 { font-size: 18px; margin: 0 0 18px; }
.contacts-panel h3 { font-size: 16px; }
.contacts-panel p { line-height: 1.6; }
.contacts-help p { color: var(--text-muted); margin: 8px 0 0; }
.contacts-fields { padding: 0; border: 0; min-width: 0; }
.contacts-fields input[type="checkbox"] { width: auto; accent-color: var(--accent); }
.contacts-search { align-items: end; margin-bottom: 18px; }
.contacts-search .form-field { flex: 1 1 260px; }
.contacts-table-wrap { overflow-x: auto; margin-top: 16px; max-height: 620px; }
.contacts-table-wrap td { overflow-wrap: anywhere; }
.contacts-actions { gap: 6px; }
.contacts-pagination { justify-content: flex-end; margin-top: 18px; }
.contacts-panel [data-commit] { margin-top: 20px; }
.contacts-import-file { margin-bottom: 20px; }
.contacts-import-file input[type="file"] { width: 100%; min-width: 0; box-sizing: border-box; }
.launch-contact { display: flex; gap: 10px; align-items: center; margin: 10px 0; }
.launch-contact input[type="checkbox"] { width: auto; }
@media (max-width: 600px) { .contacts-panel { padding: 16px; } .contacts-toolbar > .btn { flex-grow: 1; } }
