.reactivation-console { display: grid; gap: 18px; }
.reactivation-banner { padding: 13px 16px; border-radius: 12px; font-size: 13px; line-height: 1.45; }
.reactivation-banner.banner-locked { color: #735414; background: #fff4d5; border: 1px solid #eedaa7; }
.reactivation-banner.banner-ready { color: #176b50; background: #e7f6ef; border: 1px solid #bfe3d3; }
.reactivation-create, .reactivation-panel, .reactivation-detail { display: grid; gap: 18px; padding: 20px; }
.reactivation-create h2, .reactivation-panel h2 { margin: 2px 0 3px; }
.reactivation-onboarding { display: grid; gap: 18px; padding: 20px; border-color: #b9d9d4; }
.reactivation-onboarding h2 { margin: 2px 0 3px; }
.reactivation-workflow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.reactivation-workflow li { display: flex; gap: 10px; padding: 14px; border-radius: 12px; background: #f4f9f8; }
.reactivation-workflow-number { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; color: #fff; background: #007b6f; font-size: 13px; font-weight: 900; }
.reactivation-workflow li div { display: grid; align-content: start; gap: 5px; }
.reactivation-workflow li p { margin: 0; color: #526b70; font-size: 12px; line-height: 1.48; }
.reactivation-next-step { margin: 0; padding: 13px 15px; border-left: 4px solid #a23c2d; color: #573129; background: #fff5f2; font-size: 13px; font-weight: 750; line-height: 1.5; }
.reactivation-script-library { border-top: 1px solid #dbe7e7; padding-top: 14px; }
.reactivation-script-library summary { cursor: pointer; color: #125862; font-weight: 850; }
.reactivation-script-library[open] summary { margin-bottom: 14px; }
.reactivation-create label, .reactivation-search label, .reactivation-media label, .reactivation-variant-edit label {
  display: grid;
  gap: 6px;
  color: #586d72;
  font-size: 12px;
  font-weight: 700;
}
.reactivation-field-wide { width: min(100%, 620px); }
.reactivation-variant-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.reactivation-variant-edit, .reactivation-variant-view {
  display: grid;
  gap: 10px;
  padding: 15px;
  background: #f9fbfb;
  border: 1px solid var(--line, #d4e2e4);
  border-radius: 13px;
}
.reactivation-variant-edit textarea { min-height: 104px; resize: vertical; }
.reactivation-variant-edit.is-optional { background: #fffdf8; }
.reactivation-variant-head, .reactivation-section-head, .reactivation-detail-head, .reactivation-card-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.reactivation-inline-check { display: inline-flex !important; grid-auto-flow: column; align-items: center; gap: 6px !important; }
.reactivation-media {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line, #d4e2e4);
  border-radius: 13px;
}
.reactivation-media legend { padding: 0 7px; color: #173139; font-size: 13px; font-weight: 800; }
.reactivation-media .grow, .reactivation-search .grow { flex: 1 1 250px; }
.reactivation-list { display: grid; gap: 12px; }
.reactivation-list h2, .reactivation-detail h1 { margin: 2px 0; }
.reactivation-campaign-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 17px 18px;
}
.reactivation-campaign-card h3 { margin: 0; font-size: 17px; }
.reactivation-status {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 3px 9px;
  color: #355057;
  background: #edf3f3;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.reactivation-status.status-running, .reactivation-status.status-sent, .reactivation-status.status-replied {
  color: #176b50;
  background: #e6f5ee;
}
.reactivation-status.status-approved, .reactivation-status.status-queued { color: #2c607e; background: #e8f1f8; }
.reactivation-status.status-paused_error, .reactivation-status.status-failed,
.reactivation-status.status-opted_out, .reactivation-status.status-excluded {
  color: #9f2f22;
  background: #fff0ed;
}
.reactivation-status.status-draft, .reactivation-status.status-paused { color: #7b5308; background: #fff4d5; }
.reactivation-error-line { margin: 7px 0 0; color: #9f2f22; font-size: 12px; font-weight: 700; }
.reactivation-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.reactivation-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.reactivation-summary-grid > div { display: grid; gap: 4px; padding: 12px; background: #f5f9f9; border-radius: 10px; }
.reactivation-summary-grid strong { color: #003f4d; font-size: 14px; overflow-wrap: anywhere; }
.reactivation-variant-view p { margin: 0; white-space: pre-wrap; color: #40585e; font-size: 13px; line-height: 1.5; }
.reactivation-search { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
.reactivation-search-results { flex: 1 0 100%; display: grid; gap: 8px; }
.reactivation-search-hint { margin: 0; padding: 10px 12px; color: #735414; background: #fff4d5; border-radius: 9px; font-size: 12px; font-weight: 700; }
.reactivation-cohort-builder { border-top: 1px solid #dbe7e7; padding-top: 14px; }
.reactivation-cohort-builder > summary { cursor: pointer; color: #125862; font-size: 14px; font-weight: 850; }
.reactivation-cohort-builder[open] > summary { margin-bottom: 14px; }
.reactivation-cohort-body, .reactivation-cohort-results { display: grid; gap: 12px; }
.reactivation-cohort-body > p { margin: 0; }
.reactivation-cohort-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  align-items: end;
  gap: 10px;
  padding: 14px;
  border: 1px solid #d9e7e7;
  border-radius: 12px;
  background: #f8fbfb;
}
.reactivation-cohort-form label { display: grid; gap: 6px; color: #586d72; font-size: 12px; font-weight: 700; }
.reactivation-cohort-form .reactivation-cohort-completed { grid-column: span 2; justify-self: start; }
.reactivation-cohort-form > .form-error { grid-column: 1 / -1; margin: 0; }
.reactivation-cohort-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.reactivation-cohort-list { display: grid; max-height: 390px; overflow: auto; border: 1px solid #dce8e8; border-radius: 12px; }
.reactivation-cohort-patient { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 11px; padding: 11px 13px; border-bottom: 1px solid #e5eeee; background: #fff; cursor: pointer; }
.reactivation-cohort-patient:last-child { border-bottom: 0; }
.reactivation-cohort-patient > span { display: grid; gap: 3px; min-width: 0; }
.reactivation-cohort-patient input { width: 18px; height: 18px; accent-color: #007b6f; }
.reactivation-cohort-actions { display: flex; justify-content: flex-end; }
.reactivation-patient-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px;
  background: #f8fbfb;
  border: 1px solid #e1ebeb;
  border-radius: 10px;
}
.reactivation-patient-result > div { display: grid; gap: 3px; }
.reactivation-recipient-list { display: grid; border: 1px solid #e1ebeb; border-radius: 12px; overflow: hidden; }
.reactivation-recipient-row {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) auto minmax(145px, auto) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: #fff;
  border-bottom: 1px solid #e7eeee;
}
.reactivation-recipient-row:last-child { border-bottom: 0; }
.reactivation-recipient-row.is-selected { background: #eff8f5; box-shadow: inset 4px 0 #148262; }
.reactivation-recipient-row > .form-error { grid-column: 1 / -1; margin: 0; }
.reactivation-recipient-main { display: grid; gap: 3px; min-width: 0; }
.reactivation-recipient-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.reactivation-script-preview { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.reactivation-script-preview > div { display: grid; gap: 5px; padding: 12px; border-radius: 11px; background: #f5f9f9; }
.reactivation-script-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; }
.reactivation-script-card { display: grid; gap: 13px; padding: 18px; border: 1px solid #cfe0e1; border-radius: 15px; background: #fff; }
.reactivation-script-card h3 { margin: 0; font-size: 17px; }
.reactivation-script-card.is-collapsible { padding: 0; }
.reactivation-script-summary { cursor: pointer; padding: 16px 18px; list-style: none; }
.reactivation-script-summary::-webkit-details-marker { display: none; }
.reactivation-script-summary::after { content: 'Abrir guion'; margin-left: auto; color: #1b5962; font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .03em; }
.reactivation-script-card[open] .reactivation-script-summary { border-bottom: 1px solid #dce7e7; }
.reactivation-script-card[open] .reactivation-script-summary::after { content: 'Cerrar guion'; }
.reactivation-script-body { display: grid; gap: 13px; padding: 16px 18px 18px; }
.reactivation-script-code { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; background: #007b6f; font-weight: 900; }
.reactivation-script-warning { margin: 0; padding: 11px 12px; color: #735414; background: #fff4d5; border: 1px solid #eedaa7; border-radius: 10px; font-size: 12px; font-weight: 750; line-height: 1.5; }
.reactivation-script-step { display: grid; gap: 5px; }
.reactivation-script-step strong { color: #1b5962; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.reactivation-script-step p { margin: 0; color: #314f55; font-size: 14px; line-height: 1.58; }
.reactivation-script-step.is-question { padding: 12px; border-radius: 10px; background: #edf8f4; }
.reactivation-script-step.is-response-guide { padding: 12px; border: 1px solid #d8e7e4; border-radius: 10px; background: #f8fbfa; }
.reactivation-response-options { display: grid; gap: 10px; }
.reactivation-response-option { display: grid; gap: 4px; padding-left: 11px; border-left: 3px solid #6aaea4; }
.reactivation-response-option b { color: #174f58; font-size: 12px; }
.reactivation-response-option p { margin: 0; }
.reactivation-transcription-panel { display: grid; gap: 11px; padding: 15px; border: 1px solid #a8d8cf; border-radius: 13px; background: #f2fbf8; }
.reactivation-transcription-panel strong { color: #075c55; }
.reactivation-consent-prompt { margin: 5px 0 0; color: #294d51; font-size: 13px; line-height: 1.5; }
.reactivation-consent-check { display: flex; align-items: flex-start; gap: 9px; color: #24474c; font-size: 13px; font-weight: 750; }
.reactivation-consent-check input { width: 18px; height: 18px; margin-top: 1px; accent-color: #007b6f; }
.reactivation-transcription-actions, .reactivation-recipient-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.reactivation-transcription-status { margin: 0; }
.reactivation-transcript-dialog { width: min(760px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 0; border: 0; border-radius: 16px; box-shadow: 0 24px 70px rgba(7, 50, 57, .28); }
.reactivation-transcript-dialog::backdrop { background: rgba(4, 31, 36, .58); }
.reactivation-transcript-head { position: sticky; top: 0; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid #dbe7e7; background: #fff; }
.reactivation-transcript-head h2 { margin: 2px 0 0; }
.reactivation-transcript-content { display: grid; gap: 12px; padding: 18px 20px 22px; }
.reactivation-transcript-segments { display: grid; gap: 10px; }
.reactivation-transcript-segment { display: grid; gap: 5px; max-width: 88%; padding: 11px 13px; border-radius: 12px; }
.reactivation-transcript-segment strong { color: #0c6159; font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.reactivation-transcript-segment p { margin: 0; color: #28484d; line-height: 1.5; }
.reactivation-transcript-segment.is-advisor { justify-self: end; background: #e8f7f2; }
.reactivation-transcript-segment.is-patient { justify-self: start; background: #f2f5f5; }
.reactivation-listen { margin: 0; padding-top: 10px; border-top: 1px dashed #c9d9da; color: #8c5f0b; font-size: 12px; font-weight: 800; }
.reactivation-metrics-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.reactivation-metric-card { display: grid; gap: 7px; padding: 15px; border-radius: 12px; background: #f5f9f9; }
.reactivation-metric-big { color: #006b5d; font-size: 30px; font-weight: 900; }
.reactivation-progress { height: 7px; overflow: hidden; border-radius: 999px; background: #dce8e8; }
.reactivation-progress span { display: block; height: 100%; border-radius: inherit; background: #148262; }
.reactivation-workbench { display: grid; gap: 18px; padding: 20px; border: 2px solid #78bea8; }
.reactivation-workbench h2, .reactivation-workbench h3 { margin: 2px 0; }
.reactivation-call-bar { display: none; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 10px; padding: 11px 13px; border-radius: 11px; color: #fff; background: #123f49; }
.reactivation-call-bar.is-active { display: grid; }
.reactivation-call-timer { min-width: 50px; font-variant-numeric: tabular-nums; }
.reactivation-call-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.reactivation-call-button { min-width: 190px; }
.reactivation-live-notice { margin: 0; color: #526b70; font-size: 12px; }
.reactivation-live-notice.notice-success { color: #176b50; font-weight: 700; }
.reactivation-live-notice.notice-error { color: #a33a2d; font-weight: 700; }
.reactivation-objections { display: grid; gap: 8px; }
.reactivation-objections details { padding: 10px 12px; border: 1px solid #dbe7e7; border-radius: 10px; background: #fafcfc; }
.reactivation-objections summary { cursor: pointer; color: #184f58; font-weight: 800; }
.reactivation-objections p { margin: 9px 0 0; color: #40585e; font-size: 13px; line-height: 1.55; }
.reactivation-followup { display: grid; gap: 10px; padding: 15px; border-radius: 12px; background: #f4faf7; border: 1px solid #cae5d9; }
.reactivation-followup p { margin: 3px 0 0; }
.reactivation-followup-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.reactivation-outcome-form { display: grid; gap: 13px; padding-top: 17px; border-top: 1px solid #dce7e7; }
.reactivation-outcome-form label, .reactivation-outcome-conditional label { display: grid; gap: 6px; color: #586d72; font-size: 12px; font-weight: 700; }
.reactivation-form-grid, .reactivation-outcome-conditional { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }

@media (max-width: 900px) {
  .reactivation-workflow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reactivation-variant-grid { grid-template-columns: 1fr; }
  .reactivation-detail-head { align-items: flex-start; flex-direction: column; }
  .reactivation-actions { justify-content: flex-start; }
  .reactivation-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .reactivation-recipient-row { grid-template-columns: minmax(0, 1fr) auto; }
  .reactivation-recipient-row > .meta, .reactivation-recipient-actions { grid-column: 1 / -1; }
  .reactivation-recipient-actions { justify-content: flex-start; }
  .reactivation-call-bar { grid-template-columns: 1fr auto; }
  .reactivation-call-bar button { grid-row: 2; }
  .reactivation-cohort-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .reactivation-create, .reactivation-panel, .reactivation-detail, .reactivation-onboarding { padding: 15px; }
  .reactivation-workflow { grid-template-columns: 1fr; }
  .reactivation-campaign-card { grid-template-columns: 1fr; }
  .reactivation-card-title { align-items: flex-start; }
  .reactivation-summary-grid { grid-template-columns: 1fr; }
  .reactivation-media { display: grid; }
  .reactivation-script-preview, .reactivation-script-grid, .reactivation-metrics-grid, .reactivation-form-grid,
  .reactivation-outcome-conditional, .reactivation-cohort-form { grid-template-columns: 1fr; }
  .reactivation-cohort-form .reactivation-cohort-completed { grid-column: auto; }
  .reactivation-cohort-toolbar { align-items: flex-start; flex-direction: column; }
  .reactivation-cohort-actions { justify-content: stretch; }
  .reactivation-cohort-actions .btn { width: 100%; }
}
