html.amobit-campaign-mode .workspace-body > :not(#amobit-campaign-page) { display: none !important; }
.campaign-audience[hidden] { display: none !important; }
.campaign-audience { display: grid; gap: 12px; min-width: 0; padding: 14px; border: 1px solid var(--amobit-ui-border,#d9e0ea); border-radius: 12px; background: var(--amobit-ui-surface-subtle,#f7f9fc); }
.campaign-audience p { margin: 0; color: var(--amobit-ui-muted,#667085); }
.campaign-audience__search { display: grid; grid-template-columns: minmax(120px,.65fr) minmax(160px,1fr) auto; gap: 10px; align-items: end; }
.campaign-audience__results { display: grid; gap: 6px; max-height: 360px; overflow-y: auto; overscroll-behavior: contain; }
.campaign-audience__choice { display: grid !important; grid-template-columns: 20px minmax(0,1fr); align-items: start; padding: 10px; border: 1px solid var(--amobit-ui-border,#d9e0ea); border-radius: 8px; background: var(--amobit-ui-panel,#fff); cursor: pointer; }
.campaign-audience__choice input { margin-top: 3px; width: 18px; height: 18px; }
.campaign-audience__choice span, .campaign-audience__unavailable { display: grid; gap: 4px; overflow-wrap: anywhere; }
.campaign-audience__choice small, .campaign-audience__unavailable small { color: var(--amobit-ui-muted,#667085); }
.campaign-audience__unavailable { padding: 10px; }
.campaign-audience__actions { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 720px) { .campaign-audience__search { grid-template-columns: minmax(0,1fr); } .campaign-audience__actions > button { flex: 1 1 110px; min-width: 0; padding: 8px; } }
#amobit-campaign-page { width: 100%; min-height: 100%; padding: clamp(18px, 2.4vw, 34px); overflow: auto; color: var(--amobit-ui-text, #172033); background: radial-gradient(circle at 95% 0%, rgba(39,117,255,.08), transparent 28rem), var(--amobit-ui-app-bg, #f5f7fb); }
.campaign-top, .campaign-form-card > header, .campaign-list > header, .campaign-card__head, .campaign-card__actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.campaign-top { align-items: flex-end; margin-bottom: 20px; }
.campaign-top h1, .campaign-form-card h2, .campaign-list h2, .campaign-card h3 { margin: 0; letter-spacing: -.025em; }
.campaign-top h1 { font-size: clamp(28px, 3vw, 42px); }
.campaign-top p { margin: 7px 0 0; color: var(--amobit-ui-muted, #667085); }
.campaign-top > div:last-child, .campaign-form-card footer { display: flex; flex-wrap: wrap; gap: 10px; }
.campaign-top small, .campaign-form-card header small { display: block; margin-bottom: 6px; color: #296fe8; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.campaign-btn, .campaign-close { min-height: 42px; padding: 0 16px; border: 1px solid var(--amobit-ui-border, #d9e0ea); border-radius: 12px; color: inherit; background: #fff; font: inherit; font-weight: 750; cursor: pointer; transition: 160ms ease; }
.campaign-btn:hover, .campaign-close:hover { border-color: #3478ef; transform: translateY(-1px); }
.campaign-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }
.campaign-btn--primary { border-color: transparent; color: #fff; background: linear-gradient(135deg, #1f53ff, #006bdc); box-shadow: 0 8px 24px rgba(37,105,223,.2); }
.campaign-alert, .campaign-form-card, .campaign-inspector, .campaign-card, .campaign-empty { border: 1px solid var(--amobit-ui-border, #e1e7f0); border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 12px 36px rgba(31,50,86,.06); }
.campaign-alert { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding: 14px 17px; border-color: rgba(35,151,104,.22); color: #176646; background: rgba(50,189,132,.09); }
.campaign-alert span { color: var(--amobit-ui-muted, #667085); }
.campaign-alert--error, .campaign-error, .campaign-warning { color: #a12828; background: rgba(218,62,62,.08); border-color: rgba(210,52,52,.22); }
.campaign-form-card { margin-bottom: 24px; padding: clamp(18px, 2.2vw, 28px); }
.campaign-inspector { margin-bottom: 24px; padding: clamp(18px, 2.2vw, 28px); }
.campaign-inspector > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.campaign-inspector h2 { margin: 0; letter-spacing: -.025em; }
.campaign-inspector header small { display: block; margin-bottom: 6px; color: #296fe8; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.campaign-inspector header p { margin: 6px 0 0; color: #667085; }
.campaign-suppression-form { display: grid; grid-template-columns: minmax(160px,.65fr) minmax(240px,1fr) auto; align-items: end; gap: 12px; margin-bottom: 18px; padding: 16px; border: 1px solid #e1e7f0; border-radius: 14px; background: #f8fafe; }
.campaign-suppression-form label { display: grid; gap: 7px; }
.campaign-suppression-form label > span { font-size: 13px; font-weight: 750; }
.campaign-suppression-form input, .campaign-suppression-form select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #ccd5e4; border-radius: 11px; outline: none; color: inherit; background: #fff; font: inherit; }
.campaign-suppression-form input:focus, .campaign-suppression-form select:focus { border-color: #3478ef; box-shadow: 0 0 0 3px rgba(52,120,239,.12); }
.campaign-suppression-form .campaign-feedback { grid-column: 1 / -1; min-height: 0; }
.campaign-inspector__loading { display: grid; min-height: 120px; place-items: center; color: #667085; }
.campaign-audit-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.campaign-audit-list li { position: relative; display: grid; grid-template-columns: 22px 1fr; gap: 12px; padding: 0 0 22px; }
.campaign-audit-list li:not(:last-child)::before { position: absolute; top: 12px; bottom: 0; left: 7px; width: 2px; content: ""; background: #dce5f2; }
.campaign-audit-dot { z-index: 1; width: 16px; height: 16px; margin-top: 2px; border: 4px solid #dbe8ff; border-radius: 999px; background: #3478ef; }
.campaign-audit-list li[data-action="circuit_breaker"] .campaign-audit-dot { border-color: #f8dada; background: #c73f3f; }
.campaign-audit-list li > div { display: grid; gap: 5px; }
.campaign-audit-list strong { font-size: 14px; }
.campaign-audit-list p { margin: 0; color: #475467; line-height: 1.45; }
.campaign-audit-list small { color: #667085; }
.campaign-audit-empty { display: block !important; padding: 28px !important; color: #667085; text-align: center; }
.campaign-table-wrap { overflow-x: auto; border: 1px solid #e1e7f0; border-radius: 14px; }
.campaign-table-wrap table { width: 100%; border-collapse: collapse; background: #fff; }
.campaign-table-wrap th, .campaign-table-wrap td { padding: 12px 14px; border-bottom: 1px solid #edf1f6; text-align: left; vertical-align: top; }
.campaign-table-wrap th { color: #667085; background: #f8fafe; font-size: 11px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.campaign-table-wrap td { font-size: 13px; }
.campaign-table-wrap tbody tr:last-child td { border-bottom: 0; }
.campaign-table-wrap td small { display: block; margin-top: 3px; color: #667085; }
.campaign-table-empty { padding: 32px !important; color: #667085; text-align: center !important; }
.campaign-recipient-status { display: inline-flex; padding: 5px 8px; border-radius: 8px; color: #235fc4; background: rgba(52,120,239,.1); font-size: 11px; font-weight: 800; }
tr[data-status="failed"] .campaign-recipient-status { color: #a12828; background: rgba(218,62,62,.1); }
tr[data-status="delivered"] .campaign-recipient-status, tr[data-status="read"] .campaign-recipient-status { color: #176646; background: rgba(50,189,132,.11); }
.campaign-close { width: 42px; padding: 0; font-size: 24px; }
.campaign-form-card form { display: grid; gap: 18px; margin-top: 24px; }
.campaign-wizard__steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 8px; }
.campaign-wizard__steps button { min-width: 0; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 7px; padding: 8px 10px; border: 1px solid var(--amobit-ui-border,#d9e0ea); border-radius: 11px; background: var(--amobit-ui-panel,#fff); color: var(--amobit-ui-muted,#667085); font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }
.campaign-wizard__steps button span { width: 22px; height: 22px; flex: 0 0 22px; display: grid; place-items: center; border-radius: 999px; background: var(--amobit-ui-surface-muted,#eef2f8); font-size: 11px; }
.campaign-wizard__steps button.is-active { border-color: var(--amobit-ui-primary,#3478ef); color: var(--amobit-ui-primary,#235fc4); background: var(--amobit-ui-active,#eef4ff); }
.campaign-wizard__steps button.is-complete span { background: var(--amobit-ui-primary,#3478ef); color: #fff; }
.campaign-wizard__steps button[aria-disabled="true"] { cursor: default; opacity: .48; }
.campaign-wizard__section { display: grid; gap: 18px; min-width: 0; }
.campaign-wizard__section[hidden] { display: none !important; }
.campaign-wizard__section-head { display: grid; gap: 4px; padding-bottom: 14px; border-bottom: 1px solid var(--amobit-ui-border-soft,#edf1f6); }
.campaign-wizard__section-head small { color: var(--amobit-ui-primary,#296fe8); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.campaign-wizard__section-head h3 { margin: 0; color: var(--amobit-ui-text-strong,#111827); font-size: 20px; }
.campaign-wizard__section-head p { margin: 0; color: var(--amobit-ui-muted,#667085); font-size: 13px; line-height: 1.45; }
.campaign-wizard__actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-top: 4px; }
.campaign-grid { display: grid; gap: 14px; }
.campaign-grid--2 { grid-template-columns: minmax(0,1fr) minmax(240px,.7fr); }
.campaign-grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.campaign-form-card label { display: grid; gap: 7px; }
.campaign-form-card label > span { font-size: 13px; font-weight: 750; }
.campaign-form-card input:not([type="checkbox"]), .campaign-form-card select, .campaign-form-card textarea { width: 100%; min-height: 44px; padding: 11px 13px; border: 1px solid #ccd5e4; border-radius: 11px; outline: none; color: inherit; background: #fff; font: inherit; resize: vertical; }
.campaign-form-card input:focus, .campaign-form-card select:focus, .campaign-form-card textarea:focus { border-color: #3478ef; box-shadow: 0 0 0 3px rgba(52,120,239,.12); }
.campaign-form-card label small, .campaign-schedule small { color: var(--amobit-ui-muted, #667085); line-height: 1.45; }
.campaign-form-card code { color: #235fc4; font-weight: 700; }
.campaign-template-tools, .campaign-recipient-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.campaign-template-tools { margin-top: -10px; }
.campaign-template-tools button, .campaign-recipient-tabs button { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 11px; border: 1px solid #ccd5e4; border-radius: 9px; color: #344054; background: #fff; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.campaign-template-tools button:hover, .campaign-recipient-tabs button:hover { border-color: #3478ef; color: #235fc4; }
.campaign-template-guide { margin-top: -8px; border: 1px solid #e1e7f0; border-radius: 12px; background: #f8fafe; }
.campaign-template-guide summary { padding: 11px 13px; color: #344054; font-size: 12px; font-weight: 750; cursor: pointer; }
.campaign-template-guide > div { display: grid; gap: 9px; padding: 0 13px 13px; }
.campaign-template-guide p { margin: 0; color: #667085; font-size: 12px; line-height: 1.55; }
.campaign-recipient-editor { display: grid; gap: 8px; }
.campaign-recipient-editor__label { font-size: 13px; font-weight: 750; }
.campaign-recipient-tabs button.is-active { border-color: #3478ef; color: #235fc4; background: rgba(52,120,239,.1); }
.campaign-message-preview { display: grid; gap: 8px; padding: 15px 16px; border: 1px solid rgba(52,120,239,.18); border-radius: 14px; background: rgba(52,120,239,.055); }
.campaign-message-preview > strong { color: #235fc4; font-size: 12px; letter-spacing: .02em; }
.campaign-message-preview p { margin: 0; padding: 10px 12px; border-radius: 10px; color: #344054; background: #fff; line-height: 1.45; white-space: pre-wrap; }
.campaign-preview-warning { color: #a12828; font-weight: 700; }
.campaign-preflight { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; padding: 15px 16px; border: 1px solid #e1e7f0; border-radius: 14px; background: #f8fafe; }
.campaign-preflight > strong { grid-column: 1 / -1; font-size: 13px; }
.campaign-preflight > span { padding: 9px 10px; border-radius: 9px; color: #475467; background: #fff; font-size: 12px; line-height: 1.4; }
.campaign-preflight > span.is-ok { color: #176646; background: rgba(50,189,132,.09); }
.campaign-preflight > span.is-warning { color: #965c16; background: rgba(245,166,35,.12); }
.campaign-schedule { display: grid; gap: 15px; padding: 18px; border: 1px solid #e1e7f0; border-radius: 15px; background: #f8fafe; }
.campaign-schedule__head, .campaign-delayed { display: grid; grid-template-columns: minmax(260px,1fr) minmax(240px,.7fr); align-items: end; gap: 14px; }
.campaign-schedule__fields { display: grid; gap: 14px; transition: 160ms ease; }
.campaign-schedule.is-disabled .campaign-schedule__fields { opacity: .5; }
.campaign-switch { display: grid !important; grid-template-columns: auto 1fr; align-items: flex-start; gap: 10px !important; padding: 12px 14px; border: 1px solid #dbe3ef; border-radius: 12px; background: #fff; }
.campaign-switch input { width: 18px; height: 18px; margin-top: 2px; }
.campaign-switch > span { display: grid; gap: 3px; }
.campaign-switch small { font-weight: 400; }
.campaign-days { display: flex; flex-wrap: wrap; gap: 8px; }
.campaign-days label { display: block; cursor: pointer; }
.campaign-days input { position: absolute; opacity: 0; pointer-events: none; }
.campaign-days span { display: grid; min-width: 42px; min-height: 38px; place-items: center; border: 1px solid #ccd5e4; border-radius: 10px; background: #fff; }
.campaign-days input:checked + span { border-color: #3478ef; color: #235fc4; background: rgba(52,120,239,.1); }
.campaign-days input:focus-visible + span { outline: 2px solid var(--amobit-ui-primary,#235fc4); outline-offset: 3px; }
.campaign-consent { grid-template-columns: auto 1fr !important; align-items: flex-start; padding: 15px 16px; border: 1px solid rgba(35,151,104,.22); border-radius: 14px; background: rgba(50,189,132,.07); }
.campaign-consent input { width: 18px; height: 18px; margin-top: 2px; }
.campaign-consent > span { display: grid; gap: 3px; }
.campaign-feedback { min-height: 20px; color: #a12828; font-size: 13px; font-weight: 700; }
.campaign-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.campaign-list > header { grid-column: 1 / -1; }
.campaign-list > header span { display: grid; min-width: 30px; min-height: 30px; place-items: center; border-radius: 999px; background: #eef2f8; font-size: 12px; font-weight: 800; }
.campaign-card { display: grid; gap: 15px; padding: 20px; }
.campaign-card__head { align-items: flex-start; }
.campaign-card h3 { margin-top: 7px; font-size: 18px; }
.campaign-status, .campaign-channel { display: inline-flex; padding: 5px 8px; border-radius: 8px; color: #235fc4; background: rgba(52,120,239,.1); font-size: 11px; font-weight: 800; }
.campaign-card[data-status="blocked"] .campaign-status { color: #a12828; background: rgba(218,62,62,.1); }
.campaign-card[data-status="completed"] .campaign-status { color: #176646; background: rgba(50,189,132,.11); }
.campaign-channel { flex: 0 0 auto; color: #667085; background: #eef2f8; }
.campaign-card > p { display: -webkit-box; min-height: 44px; margin: 0; overflow: hidden; color: #667085; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.campaign-warning, .campaign-error { padding: 10px 12px; border-radius: 10px; font-size: 12px; }
.campaign-progress { height: 7px; overflow: hidden; border-radius: 999px; background: #e9eef6; }
.campaign-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#2c70e5,#4ec4a0); }
.campaign-card dl { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin: 0; }
.campaign-card dl div { display: grid; gap: 4px; }
.campaign-card dt { color: #667085; font-size: 10px; }
.campaign-card dd { margin: 0; font-size: 18px; font-weight: 800; }
.campaign-card__actions { justify-content: flex-end; min-height: 42px; }
.campaign-empty { grid-column: 1 / -1; display: grid; justify-items: center; padding: 50px 24px; text-align: center; }
.campaign-empty p { margin: 8px 0 20px; color: #667085; }
.campaign-loading { display: grid; min-height: 300px; place-items: center; color: #667085; }
@media (max-width: 980px) { .campaign-list, .campaign-grid--2 { grid-template-columns: 1fr; } }
@media (max-width: 720px) {
  #amobit-campaign-page { padding: 14px 12px calc(84px + var(--amobit-meta-legal-height, 0px)); }
  .campaign-top, .campaign-form-card > header { align-items: stretch; flex-direction: column; }
  .campaign-top > div:last-child, .campaign-form-card footer { display: grid; grid-template-columns: 1fr 1fr; }
  .campaign-grid--3 { grid-template-columns: 1fr; }
  .campaign-preflight { grid-template-columns: 1fr; }
  .campaign-schedule__head, .campaign-delayed { grid-template-columns: 1fr; }
  .campaign-suppression-form { grid-template-columns: 1fr; }
  .campaign-template-tools, .campaign-recipient-tabs { display: grid; grid-template-columns: 1fr; }
  .campaign-wizard__steps { grid-template-columns: repeat(5,42px); justify-content: space-between; overflow-x: auto; }
  .campaign-wizard__steps button { width: 42px; padding: 0; overflow: hidden; color: transparent; font-size: 0; }
  .campaign-wizard__steps button span { color: var(--amobit-ui-muted,#667085); font-size: 11px; }
  .campaign-wizard__steps button.is-complete span { color: #fff; }
  .campaign-wizard__section[data-campaign-wizard-panel="launch"] footer { grid-template-columns: 1fr 1fr; }
  .campaign-wizard__section[data-campaign-wizard-panel="launch"] footer [data-start-after-create] { grid-column: 1 / -1; width: 100%; }
  .campaign-template-tools button, .campaign-recipient-tabs button { justify-content: center; }
  .campaign-alert { align-items: flex-start; flex-direction: column; }
  .campaign-card__head { flex-direction: column; }
  .campaign-card dl { grid-template-columns: repeat(2,1fr); }
  .campaign-form-card > header, .campaign-inspector > header { position: relative; padding-right: 52px; }
  .campaign-close { position: absolute; top: 0; right: 0; align-self: flex-end; }
  .mobile-tabs .mobile-tab { min-width: 0; font-size: 10px; }
  :is(.campaign-btn, .campaign-icon-btn, .campaign-recipient-tabs button, .campaign-template-tools button) { min-height: 44px; }
  :is(.campaign-field input, .campaign-field select, .campaign-field textarea) { min-height: 44px; max-width: 100%; font-size: 16px; }
}

/* Unified application surface: campaigns use the same density and tokens as Chats. */
#amobit-campaign-page {
  box-sizing: border-box;
  padding: 22px 24px 34px;
  color: var(--amobit-ui-text, #172033);
  background: var(--amobit-ui-app-bg, #eef4fb);
  font-family: inherit;
  font-size: 14px;
  line-height: 1.45;
}

#amobit-campaign-page *,
#amobit-campaign-page *::before,
#amobit-campaign-page *::after {
  box-sizing: border-box;
}

.campaign-top {
  align-items: center;
  min-height: 64px;
  margin-bottom: 14px;
  padding: 14px 16px;
  border: 1px solid var(--amobit-ui-border, #e3e8ef);
  border-radius: 14px;
  background: var(--amobit-ui-panel-strong, #fffefa);
  box-shadow: 0 8px 22px rgba(20, 37, 70, .05);
}

.campaign-top h1,
.campaign-form-card h2,
.campaign-list h2,
.campaign-inspector h2,
.campaign-card h3 {
  color: var(--amobit-ui-text-strong, #111827);
  letter-spacing: 0;
}

.campaign-top h1 {
  font-size: 21px;
  line-height: 1.15;
  font-weight: 820;
}

.campaign-top p,
.campaign-inspector header p,
.campaign-card > p,
.campaign-empty p,
.campaign-audit-list p,
.campaign-audit-list small,
.campaign-table-wrap td small {
  color: var(--amobit-ui-muted, #667085);
}

.campaign-top small,
.campaign-form-card header small,
.campaign-inspector header small {
  margin-bottom: 4px;
  color: var(--amobit-ui-muted, #667085);
  font-size: 11px;
  letter-spacing: .04em;
}

.campaign-btn,
.campaign-close,
.campaign-template-tools button,
.campaign-recipient-tabs button {
  min-height: 40px;
  border-color: var(--amobit-ui-input-border, #cbd5e1);
  border-radius: 10px;
  color: var(--amobit-ui-text, #172033);
  background: var(--amobit-ui-surface, #fff);
  font-weight: 700;
  box-shadow: none;
}

.campaign-btn:hover,
.campaign-close:hover,
.campaign-template-tools button:hover,
.campaign-recipient-tabs button:hover {
  border-color: var(--amobit-ui-active-border, #dfe7f4);
  color: var(--amobit-ui-primary, #0878ff);
  background: var(--amobit-ui-hover, rgba(8, 120, 255, .08));
  transform: none;
}

.campaign-btn--primary {
  border-color: var(--amobit-ui-primary, #0878ff);
  color: #fff;
  background: var(--amobit-ui-primary, #0878ff);
  box-shadow: 0 7px 16px rgba(8, 120, 255, .16);
}

.campaign-alert,
.campaign-form-card,
.campaign-inspector,
.campaign-card,
.campaign-empty {
  border-color: var(--amobit-ui-border, #e3e8ef);
  border-radius: 14px;
  background: var(--amobit-ui-panel, #fbfbfa);
  box-shadow: 0 8px 22px rgba(20, 37, 70, .05);
}

.campaign-alert {
  margin-bottom: 16px;
  padding: 12px 14px;
}

.campaign-form-card,
.campaign-inspector {
  margin-bottom: 16px;
  padding: 18px;
}

.campaign-list {
  gap: 12px;
}

.campaign-card {
  gap: 12px;
  padding: 16px;
}

.campaign-card h3 {
  font-size: 16px;
}

.campaign-card dd {
  font-size: 16px;
}

.campaign-suppression-form,
.campaign-template-guide,
.campaign-preflight,
.campaign-schedule,
.campaign-message-preview,
.campaign-table-wrap {
  border-color: var(--amobit-ui-border, #e3e8ef);
  background: var(--amobit-ui-surface-subtle, #f7f9fc);
}

.campaign-suppression-form input,
.campaign-suppression-form select,
.campaign-form-card input:not([type="checkbox"]),
.campaign-form-card select,
.campaign-form-card textarea,
.campaign-switch,
.campaign-days span,
.campaign-message-preview p,
.campaign-table-wrap table {
  border-color: var(--amobit-ui-input-border, #cbd5e1);
  color: var(--amobit-ui-text-strong, #111827);
  background: var(--amobit-ui-input-strong, #fff);
}

.campaign-skeleton {
  display: block;
  overflow: hidden;
  border-radius: 7px;
  background: linear-gradient(90deg, var(--amobit-ui-surface-muted, #f3f6fb) 25%, var(--amobit-ui-hover, #eef4ff) 50%, var(--amobit-ui-surface-muted, #f3f6fb) 75%);
  background-size: 220% 100%;
  animation: amobit-campaign-skeleton 1.25s ease-in-out infinite;
}

.campaign-skeleton--eyebrow { width: 92px; height: 9px; margin-bottom: 7px; }
.campaign-skeleton--title { width: 168px; height: 22px; margin-bottom: 8px; }
.campaign-skeleton--subtitle { width: min(360px, 62vw); height: 11px; }
.campaign-skeleton--button { display: inline-block; width: 116px; height: 40px; margin-left: 8px; }
.campaign-skeleton--line { width: 100%; height: 13px; }
.campaign-skeleton--short { width: 62%; }
.campaign-skeleton--heading { width: 124px; height: 18px; }
.campaign-skeleton--block { width: 100%; height: 64px; }
.campaign-alert--loading { min-height: 48px; }
.campaign-list--loading .campaign-card { min-height: 150px; }
.campaign-loading-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@keyframes amobit-campaign-skeleton {
  from { background-position: 100% 0; }
  to { background-position: -120% 0; }
}

@media (max-width: 720px) {
  #amobit-campaign-page {
    padding: 12px 10px calc(80px + var(--amobit-meta-legal-height, 0px));
    font-size: 14px;
  }

  .campaign-top {
    min-height: 0;
    margin-bottom: 10px;
    padding: 14px;
  }

  .campaign-top h1 { font-size: 20px; }
  .campaign-top p { font-size: 13px; }
  .campaign-alert, .campaign-form-card, .campaign-inspector, .campaign-card { border-radius: 13px; }
  .campaign-form-card, .campaign-inspector, .campaign-card { padding: 14px; }
  .campaign-top--loading > div:last-child { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .campaign-skeleton { animation: none; }
}

html[data-amobit-theme="day"] .campaign-btn--primary {
  border-color: #005cc8 !important;
  background: #005cc8 !important;
}

html[data-amobit-theme="day"] .campaign-btn--primary:hover,
html[data-amobit-theme="day"] .campaign-btn--primary:focus-visible {
  border-color: #004a9f !important;
  background: #004a9f !important;
}

/* Campaign workspace v2: the same application shell, typography and list
   hierarchy as the calendar, contacts and chat workspace. */
#amobit-campaign-page,
#amobit-campaign-page :is(button, input, select, textarea) {
  font-family: var(--amobit-font-family);
}

#amobit-campaign-page {
  padding: 14px 16px 28px;
  background: var(--amobit-ui-app-bg, #eef4fb);
}

.campaign-top {
  min-height: 76px;
  margin: 0 0 14px;
  padding: 14px 16px;
  border: 1px solid var(--amobit-ui-border, #e3e8ef);
  border-radius: 14px;
  background: var(--amobit-ui-panel-strong, #fffefa);
  box-shadow: 0 5px 18px rgba(20, 37, 70, .04);
}

.campaign-top > div:first-child {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.campaign-top small {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .055em;
}

.campaign-top small::before {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  content: "";
  background: var(--amobit-ui-primary, #0878ff);
  box-shadow: 0 0 0 3px var(--amobit-ui-active, #eaf3ff);
}

.campaign-top h1 {
  font-size: 21px;
  line-height: 1.2;
  font-weight: 820;
  letter-spacing: -.015em;
}

.campaign-top p {
  margin: 2px 0 0;
  font-size: 12px;
}

.campaign-top > div:last-child {
  flex-wrap: nowrap;
  gap: 8px;
}

.campaign-btn,
.campaign-close {
  min-height: 38px;
  padding-inline: 13px;
  border-radius: 9px;
  font-size: 13px;
}

.campaign-btn--primary {
  box-shadow: 0 5px 13px rgba(8, 120, 255, .14);
}

.campaign-alert {
  position: relative;
  gap: 10px;
  min-height: 44px;
  margin-bottom: 14px;
  padding: 10px 14px 10px 38px;
  border-radius: 12px;
  box-shadow: none;
}

.campaign-alert::before {
  position: absolute;
  left: 15px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  content: "";
  background: #22b573;
  box-shadow: 0 0 0 4px rgba(34, 181, 115, .1);
}

.campaign-alert strong { font-size: 12px; }
.campaign-alert span { font-size: 12px; }

.campaign-list {
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--amobit-ui-border, #e3e8ef);
  border-radius: 14px;
  background: var(--amobit-ui-panel-strong, #fffefa);
  box-shadow: 0 5px 18px rgba(20, 37, 70, .04);
}

.campaign-list > header {
  grid-column: 1;
  min-height: 34px;
  padding: 0 2px;
}

.campaign-list > header h2 {
  font-size: 17px;
  line-height: 1.2;
}

.campaign-list > header span {
  min-width: 26px;
  min-height: 26px;
  color: var(--amobit-ui-muted, #667085);
  background: var(--amobit-ui-surface-muted, #f3f6fb);
}

.campaign-card,
.campaign-empty {
  border-radius: 12px;
  background: var(--amobit-ui-surface, #fff);
  box-shadow: none;
}

.campaign-card {
  gap: 10px;
  padding: 14px;
}

.campaign-empty {
  min-height: 184px;
  padding: 34px 22px;
  border-style: dashed;
  background: var(--amobit-ui-surface-subtle, #f7f9fc);
}

.campaign-empty strong {
  color: var(--amobit-ui-text-strong, #111827);
  font-size: 14px;
}

.campaign-empty p {
  margin: 5px 0 16px;
  font-size: 12px;
}

.campaign-form-card,
.campaign-inspector {
  border-radius: 14px;
  background: var(--amobit-ui-panel-strong, #fffefa);
  box-shadow: 0 5px 18px rgba(20, 37, 70, .04);
}

/* Keep the destructive/commit actions available while the long campaign form
   is being reviewed. The legal footer remains visible above this action bar. */
html[data-amobit-theme] .campaign-form-card form > footer {
  position: sticky;
  bottom: calc(var(--amobit-meta-legal-height, 0px) + 8px);
  z-index: 5;
  margin: 0 -18px -18px;
  padding: 12px 18px;
  border-top: 1px solid var(--amobit-ui-border-soft, #edf0f5);
  background: var(--amobit-ui-panel-strong, #fffefa);
  box-shadow: 0 -8px 18px rgba(20, 37, 70, .08);
}

@media (max-width: 720px) {
  #amobit-campaign-page {
    padding: 10px 10px calc(80px + var(--amobit-meta-legal-height, 0px));
  }

  .campaign-top {
    gap: 10px;
    padding: 13px;
  }

  .campaign-top p { font-size: 12px; }

  .campaign-top > div:last-child {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .campaign-top > div:last-child .campaign-btn--primary {
    grid-column: 1 / -1;
  }

  .campaign-alert {
    align-items: flex-start;
    padding: 12px 13px 12px 38px;
  }

  .campaign-list { padding: 12px; }
  .campaign-empty { min-height: 170px; }

  html[data-amobit-theme] .campaign-form-card form > footer {
    margin: 0 -14px -14px;
    padding: 10px 14px;
  }
}

/* Mobile forms must not hide their own fields behind the action bar. */
@media (max-width: 720px) {
  html[data-amobit-theme] .campaign-form-card form > footer {
    position: static !important;
    bottom: auto !important;
    margin: 0 !important;
    padding: 12px 0 0 !important;
    border-top: 1px solid var(--amobit-ui-border-soft, #edf0f5) !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

html[data-amobit-theme="night"] .campaign-btn--primary,
html[data-amobit-theme="night"] .campaign-btn--primary * {
  color: var(--amobit-ui-on-primary, #07111d) !important;
}

html[data-amobit-theme="night"] .campaign-alert {
  border-color: rgba(137, 224, 162, .28) !important;
  color: #b9f5cb !important;
  background: rgba(137, 224, 162, .1) !important;
}
