/* Shared theme tokens; scoped to blacklist pages only. */
.blacklist-page { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; }
.blacklist-page > .blacklist-toolbar,
.blacklist-page > .blacklist-notice,
.blacklist-page > .blacklist-list { grid-column:1 / -1; }
.blacklist-toolbar { padding:18px 22px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; }
.blacklist-toolbar strong { display:block; margin-bottom:4px; }
.blacklist-toolbar p { margin:0; color:var(--text-muted); font-size:13px; }
.blacklist-toolbar .contacts-actions { gap:10px; }
.blacklist-config { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:stretch; min-width:0; }
.blacklist-config > .panel { display:flex; flex-direction:column; min-width:0; }
.blacklist-card-heading { padding-bottom:12px; margin-bottom:12px; border-bottom:1px solid var(--border-strong); }
.blacklist-page .blacklist-card-heading h2 { margin:0 0 6px; font-size:18px; }
.blacklist-card-heading p { margin:0; font-size:13px; color:var(--text-muted); }
.blacklist-editor .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto 1fr auto; align-items:start; flex:1; gap:20px 16px; margin:0; }
.blacklist-editor .full { grid-column:1 / -1; }
.blacklist-editor .form-field { display:flex; flex-direction:column; gap:8px; }
.blacklist-editor input:not([type=checkbox]) { min-height:42px; }
.blacklist-optional { font-weight:400; font-size:11px; color:var(--text-muted); margin-left:6px; }
.blacklist-page .blacklist-option { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:16px; background:var(--bg-base); border:1px solid var(--border-strong); border-radius:var(--radius-sm); cursor:pointer; margin:0; }
.blacklist-option strong { display:block; font-size:13px; line-height:1.5; }
.blacklist-option small { display:block; margin-top:5px; color:var(--text-muted); font-size:12px; font-weight:400; line-height:1.6; }
.blacklist-page .blacklist-option input[type=checkbox] { width:20px; height:20px; flex:0 0 20px; margin:0; accent-color:var(--accent); cursor:pointer; }
.blacklist-option:focus-within { outline:2px solid var(--accent); outline-offset:3px; }
.blacklist-filter-help { margin-top:20px; color:var(--text-muted); font-size:13px; }
.blacklist-filter-help p { margin:0 0 12px; }
.blacklist-settings { display:flex; flex-direction:column; }
.blacklist-config .blacklist-option { padding:12px; }
.blacklist-config .blacklist-option small { margin-top:2px; }
.blacklist-settings .blacklist-filter-help { margin:8px 0 0; font-size:12px; }
.blacklist-settings .blacklist-filter-help p { margin:0; }
.blacklist-filter-controls { display:flex; flex-direction:column; flex:1; border-top:1px solid var(--border-strong); margin-top:12px; padding-top:12px; }
.blacklist-filter-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto 1fr auto; align-items:start; flex:1; gap:12px; margin:0; }
.blacklist-filter-form:has(> [data-schedule][hidden]) { grid-template-rows:auto 1fr auto; }
.blacklist-filter-form > [data-schedule], .blacklist-filter-form > .blacklist-filter-details, .blacklist-filter-form > .contacts-actions { grid-column:1 / -1; }
.blacklist-filter-form .form-field { display:flex; flex-direction:column; gap:5px; margin:0; }
.blacklist-filter-form .contacts-actions { margin:0; gap:10px; flex-wrap:wrap; }
.blacklist-filter-details { font-size:12px; color:var(--text-muted); line-height:1.5; }
.blacklist-filter-details p:first-child { margin-top:0; }
.blacklist-filter-details p { margin:8px 0 0; }
.blacklist-filter-form .form-field[hidden] { display:none; }
.blacklist-filter-form select { width:100%; min-width:0; min-height:42px; }
.blacklist-settings .blacklist-filter-footnote { margin-top:auto; padding-top:20px; border-top:1px solid var(--border-strong); margin-bottom:0; }
.blacklist-page h2 { margin:0 0 18px; }
.blacklist-page .form-field { min-width:0; }
.blacklist-page .form-field input:not([type=checkbox]),
.blacklist-bulk .form-field input:not([type=checkbox]) { width:100%; min-width:0; box-sizing:border-box; }
.blacklist-check { display:flex; align-items:center; gap:10px; line-height:1.5; cursor:pointer; }
.blacklist-check input { flex:none; width:17px; height:17px; margin:0; accent-color:var(--accent); }
.blacklist-form-actions, .blacklist-filter-form > .contacts-actions { align-self:end; padding-top:16px; border-top:1px solid var(--border-strong); gap:10px; }
.blacklist-list #blacklistSearch { display:flex; align-items:center; gap:10px; margin-bottom:20px; }
.blacklist-list #blacklistSearch .form-field { flex:1; max-width:480px; }
.blacklist-list .contacts-table-wrap { margin:0; }
.blacklist-list .data-table { min-width:680px; }
.blacklist-list .data-table td { vertical-align:middle; }
.blacklist-list .table-secondary { margin-top:5px; max-width:320px; }
.blacklist-pagination { justify-content:flex-end; padding-top:18px; margin-top:18px; border-top:1px solid var(--border-strong); gap:14px; }
.blacklist-bulk [data-source] { margin-top:24px; }
.blacklist-bulk [data-search] .form-field { flex:1; max-width:480px; }
.blacklist-bulk [data-preview]:not(:empty) { border-top:1px solid var(--border-strong); margin-top:28px; padding-top:24px; }
.blacklist-bulk .contacts-import-file { padding:20px; border:1px dashed var(--border-strong); border-radius:var(--radius-sm); margin-top:20px; margin-bottom:20px; background:var(--bg-base); }
.blacklist-bulk .contacts-actions, .blacklist-bulk .contacts-toolbar { gap:10px; }
.blacklist-bulk .data-table input[type=checkbox] { width:17px; height:17px; accent-color:var(--accent); }
.blacklist-notice { border-left:3px solid var(--accent); color:var(--text-muted); }
@media(max-width:900px) {
 .blacklist-page { grid-template-columns:minmax(0,1fr); }
 .blacklist-config { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:600px) {
 .blacklist-filter-form { grid-template-columns:minmax(0,1fr); }
 .blacklist-editor .form-grid { grid-template-columns:minmax(0,1fr); }
 .blacklist-editor .form-grid { grid-template-rows:none; }
 .blacklist-filter-form, .blacklist-filter-form:has(> [data-schedule][hidden]) { grid-template-rows:none; }
 .blacklist-editor .blacklist-form-actions .btn { flex:1; }
 .blacklist-toolbar { padding:16px; }
 .blacklist-toolbar .contacts-actions { width:100%; }
 .blacklist-toolbar .btn { flex:1 1 180px; }
 .blacklist-pagination { justify-content:space-between; gap:8px; }
 .blacklist-bulk .contacts-import-file { padding:14px; }
}
