.ai-screening,
.ai-contact-list {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: 12px;
  color: var(--text, #172033);
}
.ai-screening button,
.ai-contact-list button,
.ai-screening input,
.ai-contact-list input,
.ai-screening select,
.ai-contact-list select { font: inherit; }
.ai-screening button,
.ai-contact-list button {
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid #8daeca;
  border-radius: 6px;
  background: #fff;
  color: #1f4e79;
  font-weight: 800;
  cursor: pointer;
}
.ai-screening button:hover:not(:disabled),
.ai-contact-list button:hover:not(:disabled) { border-color: #163b5c; background: #edf3f9; }
.ai-screening button:disabled,
.ai-contact-list button:disabled,
.ai-screening button:disabled:hover,
.ai-contact-list button:disabled:hover { border-color: #b9c2cd; background: #e5e7eb; color: #4b5563; cursor: not-allowed; }
.ai-screening button:focus-visible,
.ai-contact-list button:focus-visible,
.ai-screening input:focus-visible,
.ai-contact-list input:focus-visible,
.ai-screening select:focus-visible,
.ai-contact-list select:focus-visible { outline: 3px solid #163b5c; outline-offset: 2px; }
.ai-primary-action { border-color: #1f4e79 !important; background: #1f4e79 !important; color: #fff !important; }
.ai-primary-action:hover:not(:disabled) { border-color: #163b5c !important; background: #163b5c !important; }
.ai-primary-action:disabled,
.ai-primary-action:disabled:hover { border-color: #9ca3af !important; background: #e5e7eb !important; color: #4b5563 !important; }
.ai-screening-heading,
.ai-contact-heading,
.ai-plan-card,
.ai-job-card,
.ai-result-card,
.ai-contact-filter-card,
.ai-contact-row,
.ai-state,
.ai-empty {
  width: 100%;
  border: 1px solid var(--line, #d7e0ea);
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(23, 59, 92, .04);
}
.ai-screening-heading,
.ai-contact-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px 18px; border-top: 4px solid #2e75b6; }
.ai-screening-heading p,
.ai-contact-heading p { margin: 0 0 4px; color: #52606d; font-size: 12px; font-weight: 700; }
.ai-screening-heading h4,
.ai-contact-heading h3 { margin: 0; color: #1f4e79; font-size: 22px; }
.ai-screening-heading span,
.ai-contact-heading span { display: block; margin-top: 7px; color: #374151; font-weight: 700; line-height: 1.5; }
.ai-contact-total { flex: none; min-width: 90px; margin: 0 !important; padding: 9px 11px; border: 1px solid #b9cde0; border-radius: 6px; background: #f4f8fc; color: #1f4e79 !important; text-align: center; }
.ai-plan-card,
.ai-job-card,
.ai-result-card,
.ai-contact-filter-card { padding: 15px; }
.ai-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.ai-card-heading h5 { margin: 0 0 4px; color: #1f4e79; font-size: 17px; }
.ai-card-heading p { max-width: 860px; margin: 0; color: #374151; font-size: 13px; line-height: 1.55; }
.ai-card-heading > span { flex: none; padding: 5px 8px; border-radius: 5px; background: #edf3f9; color: #1f4e79; font-size: 12px; font-weight: 800; }
.ai-state { padding: 14px 15px; background: #f4f8fc; color: #1f4e79; font-weight: 800; line-height: 1.5; }
.ai-state p { margin: 5px 0 10px; color: #374151; font-weight: 600; }
.ai-state-error { border-color: #c96369; border-left: 5px solid #9c0006; background: #fff4f5; color: #790008; }
.ai-state-warning { border-color: #cba55b; border-left: 5px solid #9c6500; background: #fffbed; color: #735000; }
.ai-state-warning strong { display: block; color: #735000; }
.ai-plan-facts,
.ai-progress-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 13px; }
.ai-plan-facts span,
.ai-progress-grid > span { min-width: 0; padding: 9px 10px; border: 1px solid #cbd8e5; border-radius: 6px; background: #f8fbfe; color: #374151; font-size: 12px; overflow-wrap: anywhere; }
.ai-progress-grid small { display: block; color: #52606d; font-size: 11px; font-weight: 800; }
.ai-progress-grid strong { display: block; margin-top: 4px; color: #1f4e79; font-size: 17px; overflow-wrap: anywhere; }
.ai-field-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; margin-top: 13px; }
.ai-field-choice,
.ai-consent-row > label { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 8px 10px; border: 1px solid #b9cde0; border-radius: 6px; background: #f8fbfe; color: #172033; font-size: 13px; font-weight: 800; }
.ai-field-choice input,
.ai-consent-row input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: #1f4e79; }
.ai-field-choice small { margin-left: auto; color: #52606d; font-weight: 700; }
.ai-warning-list { display: grid; gap: 5px; margin: 12px 0 0; padding: 10px 12px 10px 31px; border-left: 4px solid #9c6500; background: #fffbed; color: #735000; font-size: 13px; font-weight: 700; line-height: 1.5; }
.ai-consent-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, .4fr); gap: 10px; margin-top: 13px; }
.ai-call-limit { display: grid !important; grid-template-columns: auto 84px; align-items: center !important; }
.ai-call-limit input { width: 100%; min-height: 34px; padding: 6px 8px; border: 1px solid #8daeca; border-radius: 5px; background: #fff; color: #111827; font-weight: 700; }
.ai-call-limit small { grid-column: 1 / -1; margin-top: 2px; color: #52606d; font-size: 11px; font-weight: 700; }
.ai-readonly-note { margin: 12px 0 0; padding: 10px 12px; border-left: 4px solid #2e75b6; background: #edf3f9; color: #1f4e79; font-weight: 700; line-height: 1.5; }
.ai-action-row,
.ai-result-footer,
.ai-pager,
.ai-publish-action,
.ai-contact-filter-actions,
.ai-batch-select-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ai-action-row { margin-top: 13px; }
.ai-action-row > span { color: #52606d; font-size: 12px; font-weight: 700; }
.ai-job-card { border-top: 4px solid #2e75b6; }
.ai-job-status { border: 1px solid #b9cde0; }
.ai-job-status.is-completed { border-color: #86b996; background: #effbf1; color: #005400; }
.ai-job-status.is-failed,
.ai-job-status.is-cancelled { border-color: #c96369; background: #fff4f5; color: #790008; }
.ai-job-status.is-running,
.ai-job-status.is-queued { border-color: #b9cde0; background: #edf3f9; color: #1f4e79; }
.ai-job-status.is-paused { border-color: #cba55b; background: #fffbed; color: #735000; }
.ai-progress-track { height: 11px; margin-top: 12px; overflow: hidden; border-radius: 999px; background: #dce7f1; }
.ai-progress-track span { display: block; height: 100%; border-radius: inherit; background: #2e75b6; transition: width .2s ease; }
.ai-job-error,
.ai-inline-error,
.ai-inline-success { margin: 12px 0 0; padding: 10px 12px; border-radius: 6px; font-size: 13px; font-weight: 700; line-height: 1.5; }
.ai-job-error,
.ai-inline-error { border: 1px solid #c96369; background: #fff4f5; color: #790008; }
.ai-inline-success { border: 1px solid #86b996; background: #effbf1; color: #005400; }
.ai-result-list,
.ai-contact-rows { display: grid; gap: 9px; margin-top: 13px; }
.ai-result-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) max-content; gap: 10px; padding: 12px; border: 1px solid #cbd8e5; border-left: 5px solid #2e75b6; border-radius: 7px; background: #fff; }
.ai-result-select { padding-top: 3px; }
.ai-result-select input { width: 19px; height: 19px; margin: 0; accent-color: #1f4e79; }
.ai-result-title,
.ai-contact-title { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.ai-result-title strong,
.ai-contact-title strong { color: #1f4e79; font-size: 17px; overflow-wrap: anywhere; }
.ai-result-title > span:not(.ai-priority),
.ai-contact-title > span:not(.ai-priority) { padding: 3px 7px; border-radius: 4px; background: #edf3f9; color: #1f4e79; font-size: 12px; font-weight: 800; }
.ai-priority { padding: 3px 7px; border-radius: 4px; font-size: 12px; font-weight: 800; }
.ai-priority.is-A { background: #c6efce; color: #005400; }
.ai-priority.is-B { background: #ffeb9c; color: #735000; }
.ai-priority.is-C,
.ai-priority.is-unrated { background: #e5e7eb; color: #374151; }
.ai-suggestion-label { margin: 8px 0 0; color: #1f4e79; font-size: 13px; font-weight: 800; line-height: 1.5; }
.ai-result-tags,
.ai-contact-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ai-result-tags span,
.ai-contact-tags span { padding: 3px 6px; border: 1px solid #d5e0eb; border-radius: 4px; background: #f8fbfe; color: #374151; font-size: 12px; font-weight: 700; }
.ai-missing-info { margin: 8px 0 0; color: #735000; font-size: 13px; font-weight: 700; line-height: 1.5; }
.ai-blocker-list { display: grid; gap: 4px; margin-top: 9px; padding: 9px 10px; border-left: 4px solid #9c0006; background: #fff4f5; color: #790008; font-size: 13px; font-weight: 700; line-height: 1.45; }
.ai-evidence-details { margin-top: 10px; padding: 8px 9px; border: 1px solid #cbd8e5; border-radius: 5px; background: #f8fbfe; }
.ai-evidence-details summary,
.ai-contact-brief summary { color: #1f4e79; font-size: 13px; font-weight: 800; cursor: pointer; }
.ai-evidence-details ol,
.ai-contact-brief ol { display: grid; gap: 7px; margin: 9px 0 0; padding: 0; list-style: none; }
.ai-evidence-details li,
.ai-contact-brief li { display: grid; gap: 3px; padding: 8px; border: 1px solid #d5e0eb; border-radius: 4px; background: #fff; }
.ai-evidence-details li strong,
.ai-contact-brief li strong { color: #1f4e79; font-size: 12px; }
.ai-evidence-details li span,
.ai-contact-brief li span { color: #52606d; font-size: 12px; font-weight: 700; }
.ai-evidence-details pre,
.ai-contact-brief pre { margin: 0; color: #172033; font: 12px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.ai-result-state { align-self: start; }
.ai-published-mark,
.ai-publishable-mark,
.ai-blocked-mark { display: inline-flex; padding: 4px 7px; border-radius: 4px; font-size: 12px; font-weight: 800; white-space: nowrap; }
.ai-published-mark { background: #c6efce; color: #005400; }
.ai-publishable-mark { background: #edf3f9; color: #1f4e79; }
.ai-blocked-mark { background: #ffc7ce; color: #790008; }
.ai-result-footer { justify-content: space-between; margin-top: 13px; }
.ai-pager { justify-content: flex-end; color: #52606d; font-size: 13px; font-weight: 700; }
.ai-pager button { min-height: 36px; }
.ai-publish-action { margin-left: auto; color: #374151; font-size: 13px; font-weight: 800; }
.ai-batch-select-row { margin-top: 12px; padding: 10px; border: 1px solid #b9cde0; border-radius: 6px; background: #f4f8fc; color: #1f4e79; font-size: 13px; font-weight: 800; }
.ai-batch-select-row > span { margin-right: auto; }
.ai-selection-notice { margin: 10px 0 0; color: #005400; font-size: 13px; font-weight: 700; line-height: 1.5; }
.ai-phone-source-note { margin: 5px 0 0; color: #52606d; font-size: 12px; font-weight: 700; line-height: 1.45; }
.ai-original-phone { border-color: #b9cde0 !important; background: #edf3f9 !important; color: #1f4e79 !important; }
.ai-empty { padding: 24px 16px; color: #52606d; font-weight: 700; line-height: 1.55; text-align: center; }
.ai-contact-filter-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.ai-contact-filter-grid label { display: grid; gap: 5px; color: #374151; font-size: 12px; font-weight: 800; }
.ai-contact-filter-grid input,
.ai-contact-filter-grid select { width: 100%; min-width: 0; min-height: 40px; padding: 7px 8px; border: 1px solid #aebfd0; border-radius: 6px; background: #fff; color: #111827; font-weight: 600; }
.ai-contact-filter-grid input::placeholder { color: #6b7280; font-weight: 400; }
.ai-contact-filter-details { display: block; }
.ai-contact-filter-details summary { min-height: 28px; color: #1f4e79; font-size: 14px; font-weight: 800; cursor: pointer; }
.ai-contact-filter-details[open] summary { margin-bottom: 12px; }
.ai-contact-filter-actions { margin-top: 12px; }
.ai-contact-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 13px; border-left: 5px solid #2e75b6; }
.ai-contact-brief-toggle { flex: none; margin-left: auto; }
.ai-contact-row .ai-contact-brief { grid-column: 1 / -1; padding: 12px; border: 1px solid #b9cde0; border-radius: 6px; background: #f8fbfe; }
.ai-contact-brief h4 { margin: 0; color: #1f4e79; font-size: 15px; }
.ai-contact-brief > p { margin: 8px 0 0; color: #172033; font-weight: 600; line-height: 1.55; }
.ai-contact-brief details { margin-top: 10px; padding-top: 9px; border-top: 1px solid #cbd8e5; }

@media (max-width: 1259px) and (min-width: 761px) {
  .ai-contact-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ai-plan-facts,
  .ai-progress-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .ai-screening,
  .ai-contact-list { gap: 10px; }
  .ai-screening button,
  .ai-contact-list button { min-height: 44px; }
  .ai-screening-heading,
  .ai-contact-heading,
  .ai-card-heading,
  .ai-result-footer { align-items: stretch; flex-direction: column; }
  .ai-screening-heading,
  .ai-contact-heading { padding: 14px 13px; }
  .ai-screening-heading h4,
  .ai-contact-heading h3 { font-size: 21px; }
  .ai-contact-total { width: 100%; }
  .ai-plan-card,
  .ai-job-card,
  .ai-result-card,
  .ai-contact-filter-card { padding: 12px; }
  .ai-plan-facts,
  .ai-progress-grid,
  .ai-consent-row,
  .ai-contact-filter-grid { grid-template-columns: 1fr; }
  .ai-plan-card.is-terminal-context .ai-plan-facts,
  .ai-plan-card.is-terminal-context .ai-field-grid,
  .ai-plan-card.is-terminal-context .ai-warning-list,
  .ai-plan-card.is-terminal-context .ai-consent-row,
  .ai-plan-card.is-terminal-context .ai-action-row,
  .ai-job-card.is-terminal-context .ai-progress-grid,
  .ai-job-card.is-terminal-context .ai-progress-track { display: none; }
  .ai-plan-card.is-terminal-context,
  .ai-job-card.is-terminal-context { padding-top: 10px; padding-bottom: 10px; }
  .ai-plan-card.is-terminal-context .ai-card-heading p,
  .ai-job-card.is-terminal-context .ai-card-heading p { display: none; }
  .ai-field-grid { grid-template-columns: 1fr; }
  .ai-call-limit { grid-template-columns: 1fr !important; align-items: stretch !important; }
  .ai-call-limit input { min-height: 40px; }
  .ai-result-row { grid-template-columns: 24px minmax(0, 1fr); }
  .ai-result-state { grid-column: 2; }
  .ai-result-footer,
  .ai-pager,
  .ai-publish-action,
  .ai-contact-filter-actions { display: grid; grid-template-columns: 1fr; }
  .ai-batch-select-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ai-batch-select-row > span { grid-column: 1 / -1; }
  .ai-batch-select-row > span { margin-right: 0; }
  .ai-pager span,
  .ai-publish-action span { text-align: left; }
  .ai-contact-filter-details summary { display: flex; align-items: center; min-height: 44px; }
  .ai-contact-filter-grid input,
  .ai-contact-filter-grid select { min-height: 44px; }
  .ai-contact-row { grid-template-columns: 1fr; }
  .ai-contact-brief-toggle { width: auto; margin-left: 0; }
}
