:root {
  --dd-ink: #1e2926;
  --dd-muted: #66726e;
  --dd-line: #dfe4df;
  --dd-soft: #f3f5f1;
  --dd-canvas: #f7f6f2;
  --dd-paper: #ffffff;
  --dd-green: #234c43;
  --dd-green-2: #326b5e;
  --dd-green-soft: #e7f0ec;
  --dd-sand: #eee8dd;
  --dd-amber: #a9661e;
  --dd-amber-soft: #fff2df;
  --dd-blue: #365d77;
  --dd-blue-soft: #e9f1f6;
  --dd-red: #a4473f;
  --dd-red-soft: #faecea;
  --pico-primary: var(--dd-green);
  --pico-primary-hover: #193a33;
  --pico-primary-focus: rgba(35, 76, 67, 0.2);
  --pico-form-element-border-color: #cbd3ce;
  --pico-form-element-active-border-color: var(--dd-green-2);
  --pico-border-radius: 8px;
  --pico-font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --pico-font-size: 15px;
}

* { box-sizing: border-box; }

html { background: var(--dd-canvas); }

body {
  margin: 0;
  color: var(--dd-ink);
  background: var(--dd-canvas);
  letter-spacing: -0.01em;
}

a { color: var(--dd-green-2); }
a:hover { color: var(--dd-green); }

.container {
  width: 100%;
  max-width: 1440px;
  padding-inline: 32px;
}

.app-main {
  min-height: calc(100vh - 70px);
  padding-top: 32px;
  padding-bottom: 64px;
}

.navbar {
  min-height: 70px;
  background: rgba(255, 255, 255, 0.96) !important;
  border-bottom: 1px solid var(--dd-line) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px);
}

.navbar__inner { min-height: 70px !important; }

.navbar__brand {
  gap: 11px !important;
  color: var(--dd-ink) !important;
  line-height: 1.05;
}

.navbar__brand > span:last-child {
  display: grid;
  gap: 4px;
}

.navbar__brand strong { font-size: 15px; letter-spacing: 0.01em; }
.navbar__brand small { color: var(--dd-muted); font-size: 11px; font-weight: 500; }

.navbar__logo {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: var(--dd-green) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.navbar__nav { gap: 4px !important; }

.navbar__nav a {
  min-height: 40px;
  padding: 8px 11px !important;
  border: 0 !important;
  border-radius: 7px !important;
  color: #53605c !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.navbar__nav a > span {
  color: #91a09a;
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

.navbar__nav a:hover { background: var(--dd-soft) !important; color: var(--dd-green) !important; }
.navbar__nav a[aria-current="page"] { background: var(--dd-green-soft) !important; color: var(--dd-green) !important; }
.navbar__nav a[aria-current="page"] > span { color: var(--dd-green-2); }

.navbar__user-btn {
  min-height: 40px;
  padding: 5px 10px 5px 5px !important;
  border-color: var(--dd-line) !important;
  background: #fff !important;
}

.navbar__avatar { background: var(--dd-sand) !important; color: var(--dd-green) !important; }
.navbar__dropdown { background: #fff !important; border-color: var(--dd-line) !important; }

button,
[type="submit"],
[role="button"],
.button {
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 8px;
  box-shadow: none;
  font-weight: 700;
  letter-spacing: 0;
}

.button-secondary,
button.secondary,
[role="button"].secondary {
  border: 1px solid #cbd3ce;
  background: #fff;
  color: var(--dd-ink);
}

.button-secondary:hover { border-color: var(--dd-green-2); background: var(--dd-green-soft); }

input,
select,
textarea {
  min-height: 42px;
  margin-bottom: 0;
  border-color: #cbd3ce;
  background: #fff;
  box-shadow: none;
}

input:focus,
select:focus,
textarea:focus { box-shadow: 0 0 0 3px rgba(50, 107, 94, 0.12); }

label { color: #4e5b57; font-size: 12px; font-weight: 700; }

.page-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.page-title { margin: 4px 0 6px; color: var(--dd-ink); font-size: clamp(28px, 3vw, 40px); line-height: 1.12; }
.page-subtitle { max-width: 680px; margin: 0; color: var(--dd-muted); font-size: 15px; }
.eyebrow { margin: 0; color: var(--dd-green-2); font-size: 11px; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }

.workflow-card {
  display: grid;
  grid-template-columns: auto repeat(4, 1fr);
  align-items: center;
  gap: 16px;
  margin: 0 0 24px;
  padding: 16px 18px;
  border: 1px solid #d8dfda;
  border-left: 4px solid var(--dd-green);
  border-radius: 10px;
  background: #fff;
}

.workflow-label { color: var(--dd-green); font-size: 12px; font-weight: 800; }
.workflow-step { display: flex; align-items: center; gap: 9px; color: var(--dd-muted); font-size: 12px; }
.workflow-step b { display: grid; place-items: center; width: 24px; height: 24px; border: 1px solid #c9d4ce; border-radius: 50%; color: var(--dd-green); font-size: 11px; }
.workflow-step.is-active { color: var(--dd-ink); font-weight: 700; }
.workflow-step.is-active b { border-color: var(--dd-green); background: var(--dd-green); color: #fff; }

.stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

.stat-card {
  position: relative;
  min-height: 126px;
  padding: 18px;
  overflow: hidden;
  border: 1px solid var(--dd-line);
  border-radius: 10px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.stat-card:hover { transform: translateY(-2px); border-color: #b7c6be; box-shadow: 0 10px 24px rgba(31, 49, 43, 0.08); }
.stat-card__top { display: flex; justify-content: space-between; gap: 12px; }
.stat-card__label { color: var(--dd-muted); font-size: 12px; font-weight: 700; }
.stat-card__number { margin-top: 14px; color: var(--dd-ink); font-size: 31px; font-weight: 800; line-height: 1; }
.stat-card__hint { margin-top: 9px; color: var(--dd-muted); font-size: 11px; }
.stat-card__dot { width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; background: var(--dd-green-2); }
.stat-card--amber .stat-card__dot { background: var(--dd-amber); }
.stat-card--blue .stat-card__dot { background: var(--dd-blue); }
.stat-card--muted .stat-card__dot { background: #8c9691; }

.panel {
  margin: 0 0 20px;
  padding: 20px;
  border: 1px solid var(--dd-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
}

.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.panel-title { margin: 0; font-size: 17px; }
.panel-note { margin: 3px 0 0; color: var(--dd-muted); font-size: 12px; }

.filter-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.6fr) 160px 150px 160px 150px auto;
  align-items: end;
  gap: 12px;
}

.filter-field { display: grid; gap: 6px; margin: 0; }
/* Normalize every control in the filter row to one height AND kill Pico's
   default form margins. Pico adds margin-bottom (≈ --pico-spacing, ~15px
   at our 90% base font) to <input> but not <select>, which inflated the
   input cells by 15px; with align-items: end that pushed input controls
   up while selects sat on the baseline — a 15px top misalignment. */
.filter-grid input,
.filter-grid select,
.filter-submit { margin: 0; height: 42px; }
.filter-submit { min-width: 88px; }
.filter-reset { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; color: var(--dd-muted); font-size: 12px; font-weight: 700; text-decoration: none; }

.table-panel { padding: 0; overflow: hidden; }
.table-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 20px; border-bottom: 1px solid var(--dd-line); }
.result-count { margin: 0; color: var(--dd-muted); font-size: 13px; }
.result-count strong { color: var(--dd-ink); }

.data-table-wrap { overflow-x: auto; }
.data-table { width: 100%; margin: 0; border: 0; font-size: 13px; }
.data-table thead th { padding: 11px 18px; border-bottom: 1px solid var(--dd-line); background: #fafbf9; color: #73807b; font-size: 10px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.data-table tbody td { padding: 14px 18px; border-bottom: 1px solid #edf0ed; vertical-align: middle; }
.data-table tbody tr:last-child td { border-bottom: 0; }
.data-table tbody tr:hover { background: #fbfcfa; }

.identity { display: flex; align-items: center; gap: 11px; min-width: 190px; }
.identity-avatar { display: grid; place-items: center; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 9px; background: var(--dd-green-soft); color: var(--dd-green); font-size: 13px; font-weight: 800; text-transform: uppercase; }
.identity-name { display: block; color: var(--dd-ink); font-weight: 750; text-decoration: none; }
.identity-meta { display: block; margin-top: 2px; color: #8a9691; font-size: 10px; }

.status-badge,
.tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
}

.status-badge::before { width: 6px; height: 6px; border-radius: 50%; background: currentColor; content: ""; }
.status--pending-info { background: var(--dd-amber-soft); color: var(--dd-amber); }
.status--pending-contact { background: var(--dd-blue-soft); color: var(--dd-blue); }
.status--contacted, .status--replied, .status--cooperating { background: var(--dd-green-soft); color: var(--dd-green-2); }
.status--not-considered, .status--unsubscribed, .status--blacklist { background: #eff1ef; color: #717b77; }
.tag-chip { margin: 2px 3px 2px 0; background: var(--dd-soft); color: #64706b; font-weight: 600; }
.cell-muted { max-width: 260px; color: var(--dd-muted); }
.row-action { display: inline-flex; align-items: center; gap: 6px; color: var(--dd-green); font-size: 12px; font-weight: 750; text-decoration: none; }

.pagination { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 16px 20px; border-top: 1px solid var(--dd-line); background: #fafbf9; }
.pagination a { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 11px; border: 1px solid var(--dd-line); border-radius: 6px; background: #fff; color: var(--dd-ink); font-size: 12px; font-weight: 700; text-decoration: none; }
.pagination span { color: var(--dd-muted); font-size: 12px; }

.create-panel { margin-top: 18px; padding: 0; border: 1px solid var(--dd-line); border-radius: 10px; background: #fff; }
.create-panel summary { padding: 18px 20px; color: var(--dd-green); font-weight: 750; cursor: pointer; }
.create-panel[open] summary { border-bottom: 1px solid var(--dd-line); }
.create-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 20px; }
.create-form .wide { grid-column: span 2; }
.create-form .full { grid-column: 1 / -1; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; }

.empty-state { padding: 54px 24px; text-align: center; color: var(--dd-muted); }
.empty-state strong { display: block; margin-bottom: 5px; color: var(--dd-ink); font-size: 16px; }

.detail-hero { align-items: center; }
.back-link { display: inline-flex; margin-bottom: 10px; color: var(--dd-muted); font-size: 12px; font-weight: 700; text-decoration: none; }
.detail-title-row { display: flex; align-items: center; gap: 13px; }
.detail-avatar { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 12px; background: var(--dd-green-soft); color: var(--dd-green); font-size: 19px; font-weight: 800; }
.detail-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr); gap: 18px; }
.detail-section-title { margin: 0 0 16px; font-size: 16px; }
.detail-list { display: grid; grid-template-columns: 140px 1fr; margin: 0; }
.detail-list dt, .detail-list dd { margin: 0; padding: 11px 0; border-bottom: 1px solid #edf0ed; }
.detail-list dt { color: var(--dd-muted); font-size: 11px; font-weight: 700; }
.detail-list dd { color: var(--dd-ink); font-size: 13px; }
.contact-card { margin: 0 0 12px; padding: 15px; border: 1px solid var(--dd-line); border-radius: 8px; background: #fbfcfa; }
.contact-card:last-child { margin-bottom: 0; }
.contact-card__top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.contact-card p { margin: 7px 0 0; color: var(--dd-muted); font-size: 12px; overflow-wrap: anywhere; }
.next-action { padding: 16px; border: 1px solid #d4dfd9; border-left: 4px solid var(--dd-green); border-radius: 8px; background: var(--dd-green-soft); }
.next-action strong { display: block; margin-bottom: 4px; }
.next-action p { margin: 0 0 12px; color: #536a63; font-size: 12px; }
.quick-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.quick-actions form { margin: 0; }
.quick-actions button { min-height: 36px; padding: 7px 11px; font-size: 11px; }

.auth-body { min-height: 100vh; background: #eef1ed; }
.auth-main { min-height: 100vh; }
.login-shell { display: grid; grid-template-columns: minmax(340px, .9fr) minmax(420px, 1.1fr); min-height: 100vh; }
.login-story { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(40px, 7vw, 84px); background: var(--dd-green); color: #fff; }
.login-brand { display: flex; align-items: center; gap: 12px; color: #fff; font-weight: 800; }
.login-brand__mark { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.42); border-radius: 9px; font-size: 12px; letter-spacing: .08em; }
.login-story h1 { max-width: 520px; margin: 36px 0 14px; color: #fff; font-size: clamp(36px, 5vw, 64px); line-height: 1.04; letter-spacing: -0.045em; }
.login-story p { max-width: 500px; color: rgba(255,255,255,.72); font-size: 15px; }
.login-steps { display: grid; gap: 12px; margin-top: 42px; }
.login-step { display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.84); font-size: 12px; }
.login-step b { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid rgba(255,255,255,.34); border-radius: 50%; font-size: 10px; }
.login-footnote { color: rgba(255,255,255,.52) !important; font-size: 11px !important; }
.login-form-side { display: grid; place-items: center; padding: 32px; }
.login-card { width: min(420px, 100%); padding: 36px; border: 1px solid var(--dd-line); border-radius: 12px; background: #fff; box-shadow: 0 22px 60px rgba(36, 57, 50, .10); }
.login-card h2 { margin: 0 0 6px; font-size: 26px; }
.login-card > p { margin: 0 0 26px; color: var(--dd-muted); font-size: 13px; }
.login-form { display: grid; gap: 16px; }
.login-form label { display: grid; gap: 7px; }
.login-form button { width: 100%; margin-top: 4px; }
.flash-error { padding: 10px 12px; border: 1px solid #efc9c5; border-radius: 7px; background: var(--dd-red-soft); color: var(--dd-red) !important; font-size: 12px; }

/* Sending workflow */
.send-hero { align-items: center; }
.send-hero h1 { margin: 5px 0 8px; font-size: clamp(30px, 3vw, 42px); letter-spacing: -0.04em; }
.hero-copy { max-width: 760px; margin: 0; color: var(--dd-muted); font-size: 14px; line-height: 1.65; }
.send-workflow { grid-template-columns: auto repeat(4, 1fr); }

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.button--quiet {
  border: 1px solid #cbd3ce !important;
  background: #fff !important;
  color: var(--dd-ink) !important;
}
.button--quiet:hover { border-color: var(--dd-green-2) !important; background: var(--dd-green-soft) !important; }
.button--danger { border-color: var(--dd-red) !important; background: var(--dd-red) !important; }
.button--warning { border-color: var(--dd-amber) !important; background: var(--dd-amber) !important; }
button:disabled { opacity: .45; cursor: not-allowed; }

.campaign-name-panel { max-width: 760px; margin-inline: auto; padding: 28px; }
.campaign-name-form { display: grid; gap: 24px; margin: 0; }
.campaign-name-form label { display: grid; gap: 8px; }
.campaign-name-form label > span { color: var(--dd-ink); font-size: 13px; }
.campaign-name-form small { color: var(--dd-muted); font-weight: 500; }

.campaign-status,
.record-status,
.readiness,
.copy-ready,
.copy-missing {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.campaign-status--draft,
.record-status--pending { background: var(--dd-amber-soft); color: var(--dd-amber); }
.campaign-status--ready,
.campaign-status--staged,
.record-status--ready { background: var(--dd-blue-soft); color: var(--dd-blue); }
.campaign-status--sending,
.record-status--sending { background: #e7f2ef; color: var(--dd-green-2); }
.campaign-status--completed,
.record-status--sent,
.readiness--ready,
.copy-ready { background: var(--dd-green-soft); color: var(--dd-green-2); }
.campaign-status--cancelled,
.record-status--cancelled,
.record-status--failed,
.readiness--blocked,
.copy-missing { background: var(--dd-red-soft); color: var(--dd-red); }
.campaign-status--paused,
.record-status--skipped { background: var(--dd-soft); color: var(--dd-muted); }

.notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0 0 20px;
  padding: 14px 16px;
  border: 1px solid var(--dd-line);
  border-left-width: 4px;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.55;
}
.notice strong { flex: 0 0 auto; color: var(--dd-ink); }
.notice--warning { border-color: #ecd2a9; border-left-color: var(--dd-amber); background: var(--dd-amber-soft); color: #76512b; }
.notice--error { border-color: #efc9c5; border-left-color: var(--dd-red); background: var(--dd-red-soft); color: #81443e; }
.notice--success { border-color: #c6ddd3; border-left-color: var(--dd-green-2); background: var(--dd-green-soft); color: #3f655b; }

.campaign-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.campaign-stat { padding: 18px; border: 1px solid var(--dd-line); border-radius: 9px; background: #fff; }
.campaign-stat > span { display: block; color: var(--dd-muted); font-size: 11px; font-weight: 700; }
.campaign-stat strong { display: block; margin: 10px 0 7px; color: var(--dd-ink); font-size: 28px; line-height: 1; }
.campaign-stat small { color: #89938f; font-size: 10px; }
.campaign-stat .campaign-stat__status { font-size: 20px; }
.campaign-progress { height: 6px; margin: 0 0 28px; overflow: hidden; border-radius: 999px; background: #e5e9e6; }
.campaign-progress span { display: block; height: 100%; border-radius: inherit; background: var(--dd-green-2); transition: width .2s ease; }

.recipient-setup { padding: 0; overflow: hidden; }
.recipient-setup__header { margin: 0; padding: 22px; border-bottom: 1px solid var(--dd-line); }
.recipient-readiness { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.recipient-readiness span { padding: 8px 10px; border-radius: 7px; background: var(--dd-soft); color: var(--dd-muted); font-size: 11px; }
.recipient-readiness strong { color: var(--dd-ink); }
.recipient-setup > .notice { margin: 18px 22px 0; }
.recipient-setup form { margin: 0; }
.recipient-toolbar { display: flex; align-items: center; gap: 16px; padding: 16px 22px; border-bottom: 1px solid var(--dd-line); }
.recipient-search { flex: 1 1 340px; margin: 0; }
.recipient-search input { width: 100%; }
.select-ready { display: inline-flex; align-items: center; gap: 8px; margin: 0; white-space: nowrap; }
.select-ready input,
.recipient-checkbox { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--dd-green-2); cursor: pointer; }

/* Row highlight when checkbox is checked */
.recipient-row:has(.recipient-checkbox:checked) { background: var(--dd-green-soft); }
.recipient-row:has(.recipient-checkbox:checked) td:first-child { position: relative; }
.recipient-row:has(.recipient-checkbox:checked) td:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--dd-green-2);
  border-radius: 0 2px 2px 0;
}
.selected-count { min-width: 78px; color: var(--dd-muted); font-size: 11px; font-weight: 700; text-align: right; }
.recipient-table-wrap { max-height: 520px; }
.recipient-table thead { position: sticky; top: 0; z-index: 1; }
.recipient-row.is-blocked { background: #fafafa; }
.recipient-row.is-blocked td { opacity: .78; }
.recipient-row.is-selected { background: var(--dd-green-soft); }
.recipient-row.is-selected td:first-child { position: relative; }
.recipient-row.is-selected td:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--dd-green-2);
  border-radius: 0 2px 2px 0;
}
.recipient-email { max-width: 280px; color: #45544f; overflow-wrap: anywhere; }
.recipient-subject { display: block; max-width: 260px; margin-top: 5px; overflow: hidden; color: var(--dd-muted); text-overflow: ellipsis; white-space: nowrap; }

.schedule-box {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(240px, .7fr) auto;
  align-items: end;
  gap: 20px;
  padding: 22px;
  border-top: 1px solid var(--dd-line);
  background: #fafbf9;
}
.schedule-box h3 { margin: 4px 0 5px; font-size: 17px; }
.schedule-box p { margin: 0; color: var(--dd-muted); font-size: 11px; }
.schedule-box label { display: grid; gap: 6px; margin: 0; }
.schedule-box small { color: var(--dd-muted); font-weight: 500; }

.campaign-actions-panel { padding: 20px 22px; }
.campaign-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.campaign-actions form { margin: 0; }
.duplicate-form { display: flex; align-items: center; gap: 8px; margin-left: auto !important; }
.duplicate-form input { width: min(300px, 42vw); }
.records-panel { margin-bottom: 0; }
.records-panel .table-toolbar { align-items: flex-start; }
.records-panel .panel-title { margin-bottom: 4px; }
.records-empty { padding: 42px 24px; }
.record-result { max-width: 260px; }
.text-danger { color: var(--dd-red); }
.text-warning { color: var(--dd-amber); }
.text-success { color: var(--dd-green-2); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Creator profile */
.creator-hero { margin-bottom: 22px; }
.creator-hero > .back-link { margin-bottom: 16px; }
.creator-hero__main { display: flex; align-items: center; gap: 18px; }
.creator-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 74px;
  height: 74px;
  overflow: hidden;
  border: 1px solid #cfdbd5;
  border-radius: 18px;
  background: linear-gradient(145deg, #dfece6, #f3eee3);
  color: var(--dd-green);
  font-size: 25px;
  font-weight: 850;
  text-transform: uppercase;
}
.creator-avatar img { width: 100%; height: 100%; object-fit: cover; }
.creator-identity { min-width: 0; }
.creator-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 4px 0 7px; }
.creator-title-row h1 { margin: 0; color: var(--dd-ink); font-size: clamp(30px, 4vw, 46px); line-height: 1.05; letter-spacing: -0.045em; overflow-wrap: anywhere; }
.creator-meta { display: flex; flex-wrap: wrap; gap: 0; color: var(--dd-muted); font-size: 12px; }
.creator-meta span { display: inline-flex; align-items: center; }
.creator-meta span + span::before { width: 3px; height: 3px; margin: 0 10px; border-radius: 50%; background: #aeb8b3; content: ""; }
.creator-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.grade-badge { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 850; }
.grade-badge--a { background: var(--dd-green-soft); color: var(--dd-green-2); }
.grade-badge--b { background: var(--dd-blue-soft); color: var(--dd-blue); }
.grade-badge--c { background: var(--dd-amber-soft); color: var(--dd-amber); }

.next-step-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin-bottom: 18px;
  padding: 18px 20px;
  border: 1px solid #d2ded8;
  border-left: 4px solid var(--dd-green-2);
  border-radius: 10px;
  background: var(--dd-green-soft);
}
.next-step--not-considered,
.next-step--unsubscribed,
.next-step--blacklist { border-color: #daddda; border-left-color: #818b87; background: #f0f2ef; }
.next-step-card__number { padding: 6px 9px; border-radius: 6px; background: rgba(255,255,255,.75); color: var(--dd-green); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.next-step-card strong { display: block; margin-bottom: 3px; color: var(--dd-ink); font-size: 14px; }
.next-step-card p { margin: 0; color: #5a6e67; font-size: 11px; }
.next-step-card__actions { display: flex; align-items: center; gap: 8px; }
.next-step-card__actions form { margin: 0; }

.creator-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.creator-kpi { min-height: 126px; padding: 17px 18px; border: 1px solid var(--dd-line); border-radius: 10px; background: #fff; }
.creator-kpi > span,
.creator-kpi__top > span { color: var(--dd-muted); font-size: 11px; font-weight: 750; }
.creator-kpi > strong { display: block; margin: 15px 0 9px; color: var(--dd-ink); font-size: 29px; line-height: 1; }
.creator-kpi .creator-kpi__text { font-size: 20px; }
.creator-kpi > small { color: #89938f; font-size: 10px; }
.creator-kpi__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.creator-kpi__top strong { color: var(--dd-ink); font-size: 18px; }
.mini-progress { height: 7px; margin: 18px 0 12px; overflow: hidden; border-radius: 999px; background: #e8ece9; }
.mini-progress span { display: block; height: 100%; border-radius: inherit; background: var(--dd-green-2); }

.creator-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(340px, .75fr); align-items: start; gap: 18px; }
.creator-main-column,
.creator-side-column { display: grid; gap: 18px; }
.creator-layout .panel { margin: 0; }
.profile-panel { padding: 22px; }
.record-id,
.side-count { display: inline-flex; min-width: 30px; justify-content: center; padding: 5px 8px; border-radius: 999px; background: var(--dd-soft); color: var(--dd-muted); font-size: 10px; font-weight: 800; }
.profile-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 0; }
.profile-facts > div { padding: 14px 0; border-bottom: 1px solid #edf0ed; }
.profile-facts__wide { grid-column: 1 / -1; }
.profile-facts dt { margin-bottom: 6px; color: #89938f; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.profile-facts dd { margin: 0; color: var(--dd-ink); font-size: 13px; }
.profile-tags .tag-chip { margin-right: 5px; }
.long-copy { white-space: pre-wrap; line-height: 1.7; }
.note-copy { padding: 12px 14px; border-radius: 7px; background: var(--dd-amber-soft); color: #76512b !important; }
.profile-source-row { display: flex; flex-wrap: wrap; gap: 16px; padding-top: 14px; color: #8c9692; font-size: 10px; }

.timeline-panel { padding: 22px; }
.activity-list { display: grid; }
.activity-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 12px; padding: 14px 0; border-bottom: 1px solid #edf0ed; }
.activity-item:last-child { padding-bottom: 0; border-bottom: 0; }
.activity-dot { width: 9px; height: 9px; margin-top: 5px; border: 2px solid #fff; border-radius: 50%; background: #8d9994; box-shadow: 0 0 0 2px #d9dfdb; }
.activity-dot--sent { background: var(--dd-blue); box-shadow: 0 0 0 2px var(--dd-blue-soft); }
.activity-dot--replied { background: var(--dd-green-2); box-shadow: 0 0 0 2px var(--dd-green-soft); }
.activity-dot--bounced,
.activity-dot--unsubscribed { background: var(--dd-red); box-shadow: 0 0 0 2px var(--dd-red-soft); }
.activity-item strong { display: block; color: var(--dd-ink); font-size: 12px; }
.activity-item p { margin: 3px 0 0; color: var(--dd-muted); font-size: 11px; }
.activity-item time { color: #929c98; font-size: 10px; white-space: nowrap; }
.compact-empty { padding: 28px 14px; }

.side-panel { padding: 18px; }
.side-panel .panel-header { margin-bottom: 13px; }
.channel-card,
.contact-method-card { margin: 0 0 10px; padding: 14px; border: 1px solid var(--dd-line); border-radius: 9px; background: #fbfcfa; box-shadow: none; }
.channel-card:last-child,
.contact-method-card:last-child { margin-bottom: 0; }
.channel-card__header,
.contact-method-card__top { display: flex; align-items: center; gap: 10px; }
.channel-icon { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 8px; background: var(--dd-green-soft); color: var(--dd-green); font-size: 10px; font-weight: 850; }
.channel-icon--contact { background: var(--dd-blue-soft); color: var(--dd-blue); }
.channel-card__header > div,
.contact-method-card__top > div { min-width: 0; flex: 1; }
.channel-card__header strong,
.contact-method-card__top strong { display: block; color: var(--dd-ink); font-size: 12px; text-transform: capitalize; }
.channel-card__header small,
.contact-method-card__top small { display: block; margin-top: 2px; color: var(--dd-muted); font-size: 10px; }
.channel-card__header > a { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 7px; background: #fff; text-decoration: none; }
.channel-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 13px; padding-top: 12px; border-top: 1px solid #e6eae7; }
.channel-stats span { display: grid; gap: 3px; }
.channel-stats strong { color: var(--dd-ink); font-size: 12px; }
.channel-stats small { color: #909a96; font-size: 9px; }
.primary-label { margin-left: 5px; padding: 2px 5px; border-radius: 4px; background: var(--dd-amber-soft); color: var(--dd-amber); font-size: 8px; }
.contact-state { padding: 4px 7px; border-radius: 999px; background: var(--dd-green-soft); color: var(--dd-green-2); font-size: 9px; font-weight: 800; }
.contact-state.is-danger { background: var(--dd-red-soft); color: var(--dd-red); }
.contact-address { display: block; margin: 11px 0 0; color: var(--dd-ink); font-size: 11px; overflow-wrap: anywhere; text-decoration: none; }
.copy-state { padding: 5px 8px; border-radius: 999px; background: var(--dd-blue-soft); color: var(--dd-blue); font-size: 9px; font-weight: 800; }
.copy-subject { margin: 0 0 9px; color: var(--dd-ink); font-size: 13px; font-weight: 750; }
.copy-preview { display: -webkit-box; margin: 0 0 14px; overflow: hidden; color: var(--dd-muted); font-size: 11px; line-height: 1.6; white-space: pre-wrap; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.copy-summary-card > .button { width: 100%; }
.followup-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid #edf0ed; color: inherit; text-decoration: none; }
.followup-row strong,
.followup-row small { display: block; }
.followup-row strong { font-size: 11px; }
.followup-row small,
.followup-row time { color: var(--dd-muted); font-size: 9px; }
.result-chip-list { padding-top: 12px; }

.profile-management { display: grid; gap: 10px; margin-top: 20px; }
.management-panel { border: 1px solid var(--dd-line); border-radius: 10px; background: #fff; }
.management-panel summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; cursor: pointer; list-style: none; }
.management-panel summary::-webkit-details-marker { display: none; }
.management-panel summary strong,
.management-panel summary small { display: block; }
.management-panel summary strong { color: var(--dd-ink); font-size: 12px; }
.management-panel summary small,
.management-panel summary > span:last-child { color: var(--dd-muted); font-size: 9px; }
.management-panel[open] summary { border-bottom: 1px solid var(--dd-line); }
.profile-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 18px; }
.profile-edit-form label { display: grid; gap: 6px; }
.profile-edit-form__wide { grid-column: 1 / -1; }
.danger-zone { border-color: #ebd6d3; }
.danger-zone__content { display: flex; align-items: end; justify-content: space-between; gap: 18px; padding: 18px; }
.danger-zone__content form { margin: 0; }
.merge-form { display: flex; align-items: end; gap: 10px; }
.merge-form label { display: grid; gap: 6px; }

/* Shared product workspace */
.workspace-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 22px;
  padding: 5px 0 7px;
}
.workspace-hero--compact { margin-bottom: 18px; }
.workspace-hero > div:first-child { min-width: 0; }
.workspace-hero h1 { margin: 5px 0 8px; color: var(--dd-ink); font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; letter-spacing: -.045em; }
.workspace-hero p:not(.eyebrow) { max-width: 760px; margin: 0; color: var(--dd-muted); font-size: 14px; line-height: 1.65; }
.workspace-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; flex: 0 0 auto; gap: 9px; }
.workspace-actions form { margin: 0; }
.button--small { min-height: 34px !important; padding: 6px 10px !important; font-size: 11px; }

.section-tabs {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 18px;
  padding: 5px;
  overflow-x: auto;
  border: 1px solid var(--dd-line);
  border-radius: 9px;
  background: #fff;
}
.section-tabs a { flex: 0 0 auto; padding: 9px 14px; border-radius: 6px; color: var(--dd-muted); font-size: 12px; font-weight: 750; text-decoration: none; }
.section-tabs a:hover { background: var(--dd-soft); color: var(--dd-green); }
.section-tabs a.is-active { background: var(--dd-green); color: #fff; }

.pipeline-guide {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0 0 18px;
  overflow: hidden;
  border: 1px solid var(--dd-line);
  border-radius: 10px;
  background: #fff;
}
.pipeline-guide > div { position: relative; display: flex; align-items: center; gap: 11px; min-height: 74px; padding: 14px 18px; border-right: 1px solid var(--dd-line); }
.pipeline-guide > div:last-child { border-right: 0; }
.pipeline-guide > div > b,
.pipeline-guide .pipeline-step > span:first-child { display: grid; place-items: center; flex: 0 0 auto; width: 27px; height: 27px; border: 1px solid #cbd5cf; border-radius: 50%; color: var(--dd-green); font-size: 10px; font-style: normal; font-weight: 850; }
.pipeline-guide > div > span,
.pipeline-guide .pipeline-step > div { display: grid; gap: 3px; }
.pipeline-guide strong { color: var(--dd-ink); font-size: 12px; }
.pipeline-guide small { color: var(--dd-muted); font-size: 9px; line-height: 1.35; }
.pipeline-guide > .is-active { background: var(--dd-green-soft); }
.pipeline-guide > .is-active > b,
.pipeline-guide > .is-done > b,
.pipeline-guide .pipeline-step.is-active > span:first-child { border-color: var(--dd-green); background: var(--dd-green); color: #fff; }
.pipeline-guide > .is-done > b::after { content: "✓"; }
.pipeline-guide > .is-done > b { color: transparent; font-size: 0; }
.pipeline-guide > .is-done > b::after { color: #fff; font-size: 10px; }

.metric-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.metric-strip--six { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.metric-strip--compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.metric-box { min-height: 112px; padding: 17px 18px; border: 1px solid var(--dd-line); border-radius: 9px; background: #fff; }
.metric-box > span { display: block; color: var(--dd-muted); font-size: 11px; font-weight: 700; }
.metric-box > strong { display: block; margin: 12px 0 7px; color: var(--dd-ink); font-size: 28px; line-height: 1; }
.metric-box > small { color: #89938f; font-size: 9px; }
.metric-box--danger strong { color: var(--dd-red); }

.action-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
  padding: 20px 22px;
  border: 1px solid #cedbd4;
  border-left: 4px solid var(--dd-green);
  border-radius: 10px;
  background: var(--dd-green-soft);
}
.action-banner h2 { margin: 4px 0 5px; color: var(--dd-ink); font-size: 19px; }
.action-banner p:not(.eyebrow) { max-width: 760px; margin: 0; color: #5a6e67; font-size: 11px; line-height: 1.6; }
.action-banner__actions { display: flex; align-items: center; flex: 0 0 auto; gap: 8px; }
.action-banner__actions form { margin: 0; }
.send-safety-banner { background: #f2f5f2; }
.inline-review-form { display: flex; align-items: center; gap: 7px; min-width: 250px; margin: 0; }
.inline-review-form select { min-width: 145px; }
.inline-review-form button { min-height: 42px; }
.compact-filter-form { display: grid; grid-template-columns: 180px minmax(220px, 1fr) auto auto; align-items: end; gap: 12px; }
.compact-filter-form label { display: grid; gap: 6px; margin: 0; }
.contact-line { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin: 2px 0; color: #52605b; font-size: 11px; }
.contact-line b { color: var(--dd-green); font-size: 9px; text-transform: uppercase; }
.contact-line em { padding: 2px 5px; border-radius: 4px; background: var(--dd-amber-soft); color: var(--dd-amber); font-size: 8px; font-style: normal; font-weight: 800; }
.signal-cell { min-width: 240px; max-width: 380px; color: var(--dd-muted); font-size: 11px; line-height: 1.5; }

.result-panel { max-width: 940px; margin: 18px auto; }
.result-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.result-summary > div { padding: 18px; border: 1px solid var(--dd-line); border-radius: 8px; background: #fafbf9; }
.result-summary strong { display: block; margin-bottom: 4px; color: var(--dd-ink); font-size: 27px; }
.result-summary span { color: var(--dd-muted); font-size: 11px; }
.result-summary__ok { border-color: #c8dcd3 !important; background: var(--dd-green-soft) !important; }
.result-summary__blocked { border-color: #ead3d0 !important; background: var(--dd-red-soft) !important; }
.result-details { margin-top: 14px; border: 1px solid var(--dd-line); border-radius: 8px; }
.result-details summary { padding: 13px 14px; color: var(--dd-muted); font-size: 11px; font-weight: 750; cursor: pointer; }
.result-details ul { margin: 0; padding: 0 14px 14px; list-style: none; }
.result-details li { display: flex; gap: 10px; padding: 8px 0; border-top: 1px solid #edf0ed; color: var(--dd-muted); font-size: 11px; }
.result-details li b { color: var(--dd-ink); }
.result-next-form { display: flex; justify-content: flex-end; margin: 14px 0 0; }
.score-table { min-width: 920px; }

/* Settings */
.settings-form-shell { display: grid; gap: 14px; max-width: 1180px; margin-inline: auto; }
.settings-section { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(420px, 1.28fr); gap: 36px; margin: 0; padding: 26px; }
.settings-section__intro h2 { margin: 5px 0 7px; color: var(--dd-ink); font-size: 20px; }
.settings-section__intro > p:not(.eyebrow) { margin: 0; color: var(--dd-muted); font-size: 11px; line-height: 1.6; }
.settings-fields { display: grid; gap: 16px; }
.settings-fields--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-fields label { display: grid; align-content: start; gap: 7px; margin: 0; }
.settings-fields textarea { resize: vertical; }
.number-field { display: flex; align-items: center; overflow: hidden; border: 1px solid #cbd3ce; border-radius: 8px; background: #fff; }
.number-field:focus-within { border-color: var(--dd-green-2); box-shadow: 0 0 0 3px rgba(50,107,94,.12); }
.number-field input { flex: 1; min-width: 0; border: 0; box-shadow: none !important; }
.number-field em { padding: 0 13px; color: var(--dd-muted); font-size: 11px; font-style: normal; }
.weight-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.threshold-fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.weight-total { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; padding: 11px 12px; border-radius: 7px; background: var(--dd-soft); color: var(--dd-muted); font-size: 10px; }
.weight-total strong { color: var(--dd-green); font-size: 16px; }
.locked-signature { position: relative; padding: 18px; border: 1px solid #cddbd4; border-radius: 9px; background: var(--dd-green-soft); }
.locked-signature > span { position: absolute; top: 12px; right: 12px; padding: 4px 7px; border-radius: 5px; background: #fff; color: var(--dd-green); font-size: 9px; font-weight: 850; }
.locked-signature pre { margin: 0; color: var(--dd-ink); font-family: inherit; font-size: 13px; line-height: 1.7; }
.locked-signature textarea { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.weekday-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); align-self: center; gap: 7px; }
.weekday-grid label { margin: 0; cursor: pointer; }
.weekday-grid input { position: absolute; opacity: 0; }
.weekday-grid span { display: grid; place-items: center; min-height: 48px; border: 1px solid var(--dd-line); border-radius: 7px; background: #fff; color: var(--dd-muted); font-size: 11px; }
.weekday-grid input:checked + span { border-color: var(--dd-green); background: var(--dd-green); color: #fff; }
.review-rule { margin: 0; padding: 20px 26px; }
.review-toggle { display: flex; align-items: flex-start; gap: 13px; margin: 0; cursor: pointer; }
.review-toggle input { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; margin-top: 2px; }
.review-toggle strong, .review-toggle small { display: block; }
.review-toggle strong { color: var(--dd-ink); font-size: 13px; }
.review-toggle small { margin-top: 4px; color: var(--dd-muted); font-size: 10px; font-weight: 500; }
.settings-save-bar { position: sticky; bottom: 12px; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 14px 13px 18px; border: 1px solid #cbd7d1; border-radius: 10px; background: rgba(255,255,255,.96); box-shadow: 0 12px 30px rgba(34,55,47,.12); backdrop-filter: blur(12px); }
.settings-save-bar span { color: var(--dd-muted); font-size: 11px; }

/* Campaign list */
.campaign-name-cell { display: flex; align-items: center; gap: 11px; min-width: 220px; }
.campaign-index { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 8px; background: var(--dd-soft); color: var(--dd-green); font-size: 10px; font-weight: 850; }
.table-progress { display: flex; align-items: center; gap: 9px; min-width: 170px; }
.table-progress > div { flex: 1; height: 6px; overflow: hidden; border-radius: 999px; background: #e7ebe8; }
.table-progress > div > span { display: block; height: 100%; background: var(--dd-green-2); }
.table-progress small { min-width: 42px; color: var(--dd-muted); font-size: 9px; }
.result-inline { display: inline-flex; gap: 4px; margin-right: 8px; color: var(--dd-muted); font-size: 10px; white-space: nowrap; }
.result-inline b { color: var(--dd-green-2); }
.result-inline.is-failed b { color: var(--dd-red); }

/* Copy workbench */
.copy-workbench-status { padding: 6px 10px; border-radius: 6px; background: var(--dd-amber-soft); color: var(--dd-amber); font-size: 10px; font-weight: 850; }
.copy-workbench-layout { display: grid; grid-template-columns: minmax(210px, .62fr) minmax(480px, 1.38fr) minmax(250px, .72fr); align-items: start; gap: 14px; }
.copy-context-column, .copy-tools-column { display: grid; gap: 14px; }
.copy-workbench-layout .panel { margin: 0; }
.copy-context-card h2 { margin: 5px 0 16px; font-size: 19px; overflow-wrap: anywhere; }
.copy-context-card dl { margin: 0 0 16px; }
.copy-context-card dl > div { padding: 10px 0; border-bottom: 1px solid #edf0ed; }
.copy-context-card dt { margin-bottom: 5px; color: #89938f; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.copy-context-card dd { margin: 0; color: #4f5e58; font-size: 11px; line-height: 1.55; }
.context-platform { display: flex; align-items: center; gap: 9px; margin: 9px 0; padding: 10px; border-radius: 8px; background: var(--dd-soft); }
.context-platform > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 7px; background: #fff; color: var(--dd-green); font-size: 9px; font-weight: 850; }
.context-platform strong, .context-platform small { display: block; }
.context-platform strong { color: var(--dd-ink); font-size: 11px; text-transform: capitalize; }
.context-platform small { margin-top: 2px; color: var(--dd-muted); font-size: 9px; }
.copy-editor-shell { padding: 0; overflow: hidden; }
.copy-editor-shell > .panel-header { margin: 0; padding: 19px 20px; border-bottom: 1px solid var(--dd-line); }
.copy-editor-shell > .panel-header form { margin: 0; }
.copy-empty-state { display: grid; justify-items: center; min-height: 520px; align-content: center; padding: 60px 30px; text-align: center; }
.copy-empty-state__mark { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 16px; border-radius: 12px; background: var(--dd-green); color: #fff; font-size: 12px; font-weight: 850; letter-spacing: .08em; }
.copy-empty-state h3 { margin: 0 0 7px; font-size: 18px; }
.copy-empty-state p { max-width: 430px; margin: 0 0 18px; color: var(--dd-muted); font-size: 11px; line-height: 1.6; }
.copy-editor-card { padding: 20px; }
.copy-field { display: grid; gap: 7px; margin-bottom: 16px; }
.copy-field > span { color: var(--dd-ink); font-size: 11px; }
.copy-field input[readonly], .copy-field textarea[readonly] { color: #33433e; background: #fbfcfa; }
.copy-field textarea { min-height: 440px; line-height: 1.75; resize: vertical; }
.hook-basis { margin: 0 0 16px; padding: 14px; border-left: 3px solid var(--dd-blue); border-radius: 7px; background: var(--dd-blue-soft); }
.hook-basis span { color: var(--dd-blue); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.hook-basis p { margin: 5px 0 0; color: #526a79; font-size: 11px; line-height: 1.55; }
.copy-version-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding-top: 13px; border-top: 1px solid var(--dd-line); color: var(--dd-muted); font-size: 9px; }
.copy-version-footer span, .copy-version-footer em, .copy-version-footer b { padding: 4px 6px; border-radius: 4px; background: var(--dd-soft); font-style: normal; }
.copy-version-footer b { background: var(--dd-red-soft); color: var(--dd-red); }
.copy-tool-card > .panel-note { margin-bottom: 14px; }
.copy-assist-form { display: grid; gap: 11px; margin-top: 14px; }
.copy-assist-form label { display: grid; gap: 6px; }
.copy-assist-form button { width: 100%; }
.tool-disabled { display: grid; gap: 4px; margin-top: 14px; padding: 15px; border-radius: 8px; background: var(--dd-soft); }
.tool-disabled strong { color: var(--dd-ink); font-size: 11px; }
.tool-disabled span { color: var(--dd-muted); font-size: 9px; line-height: 1.5; }
.copy-link-list { display: grid; margin-top: 12px; }
.copy-link-list a { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 0; border-bottom: 1px solid #edf0ed; color: var(--dd-muted); font-size: 10px; text-decoration: none; }
.copy-link-list a b { color: var(--dd-green); }
.review-actions { display: grid; gap: 8px; margin-top: 14px; }
.review-actions form, .review-actions button { width: 100%; margin: 0; }
.reject-form { display: grid; gap: 7px; }
.version-number { display: inline-flex; padding: 5px 8px; border-radius: 5px; background: var(--dd-soft); color: var(--dd-green); font-size: 10px; font-weight: 850; }
.current-label { margin-left: 5px; color: var(--dd-green-2); font-size: 9px; font-weight: 800; }
.version-subject { min-width: 300px; color: var(--dd-ink); font-weight: 650; }
.preview-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 16px; }
.email-preview-card { padding: 0; overflow: hidden; }
.email-preview-meta { display: grid; gap: 5px; padding: 18px 22px; border-bottom: 1px solid var(--dd-line); background: #fafbf9; }
.email-preview-meta span { color: var(--dd-muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.email-preview-meta strong { color: var(--dd-ink); font-size: 14px; }
.email-preview-body { min-height: 480px; padding: 28px 30px; color: #33433e; font-size: 13px; line-height: 1.8; white-space: pre-wrap; }
.email-preview-card footer { display: flex; justify-content: space-between; padding: 13px 20px; border-top: 1px solid var(--dd-line); color: var(--dd-muted); font-size: 9px; }
.preview-checklist { position: sticky; top: 88px; }
.preview-checklist ul { display: grid; gap: 8px; margin: 16px 0; padding: 0; list-style: none; }
.preview-checklist li { position: relative; padding: 9px 10px 9px 28px; border-radius: 6px; background: var(--dd-soft); color: var(--dd-muted); font-size: 10px; }
.preview-checklist li::before { position: absolute; left: 10px; content: "•"; }
.preview-checklist li.is-ok::before { color: var(--dd-green-2); content: "✓"; }
.preview-checklist li.is-warning { background: var(--dd-amber-soft); color: var(--dd-amber); }
.preview-checklist .button { width: 100%; }

/* Follow-up and analytics */
.table-primary-link { display: block; color: var(--dd-ink); font-size: 12px; font-weight: 750; text-decoration: none; }
.table-secondary { display: block; margin-top: 3px; color: #89938f; font-size: 9px; }
.view-switcher { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.view-switcher a { padding: 7px 9px; border-radius: 6px; color: var(--dd-muted); font-size: 10px; font-weight: 700; text-decoration: none; }
.view-switcher a:hover { background: var(--dd-soft); color: var(--dd-green); }
.row-attention { box-shadow: inset 3px 0 0 var(--dd-amber); }
.priority-pill { display: inline-flex; padding: 5px 8px; border-radius: 5px; background: var(--dd-soft); color: var(--dd-muted); font-size: 10px; font-weight: 800; }
.priority-pill--high { background: var(--dd-red-soft); color: var(--dd-red); }
.priority-pill--medium { background: var(--dd-amber-soft); color: var(--dd-amber); }
.status--open { background: var(--dd-amber-soft); color: var(--dd-amber); }
.status--in-progress { background: var(--dd-blue-soft); color: var(--dd-blue); }
.status--done, .status--new { background: var(--dd-green-soft); color: var(--dd-green-2); }
.status--cancelled, .status--failed { background: var(--dd-red-soft); color: var(--dd-red); }
.status--existing { background: var(--dd-blue-soft); color: var(--dd-blue); }
.date-cell { color: var(--dd-muted); font-size: 10px; white-space: nowrap; }
.table-action { text-align: right; }
.table-action form { margin: 0; }
.done-mark { color: var(--dd-green-2); font-size: 10px; font-weight: 750; }
.empty-state__icon { display: grid; place-items: center; width: 38px; height: 38px; margin: 0 auto 11px; border-radius: 9px; background: var(--dd-soft); color: var(--dd-green); font-size: 18px; font-weight: 800; }
.empty-state .button { margin-top: 14px; }
.context-banner { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; padding: 13px 15px; border: 1px solid #cddbd4; border-radius: 8px; background: var(--dd-green-soft); }
.context-banner strong, .context-banner span { display: block; }
.context-banner strong { color: var(--dd-ink); font-size: 11px; }
.context-banner span { margin-top: 2px; color: var(--dd-muted); font-size: 9px; }
.context-banner a { font-size: 10px; font-weight: 750; }
.interaction-feed { padding: 4px 20px 12px; }
.interaction-record { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 13px; margin: 0; padding: 17px 0; border: 0; border-bottom: 1px solid #edf0ed; border-radius: 0; background: transparent; box-shadow: none; }
.interaction-record:last-child { border-bottom: 0; }
.interaction-record__dot { width: 10px; height: 10px; margin-top: 5px; border: 2px solid #fff; border-radius: 50%; background: var(--dd-blue); box-shadow: 0 0 0 2px var(--dd-blue-soft); }
.interaction-record__heading { display: flex; align-items: center; gap: 8px; }
.interaction-record__heading a { color: var(--dd-ink); font-size: 12px; font-weight: 750; text-decoration: none; }
.event-pill { padding: 3px 6px; border-radius: 4px; background: var(--dd-soft); color: var(--dd-muted); font-size: 8px; font-weight: 750; }
.interaction-record__signals { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 9px; color: #52605b; font-size: 10px; }
.interaction-record__signals span { display: grid; gap: 2px; }
.interaction-record__signals small { color: #89938f; font-size: 8px; font-weight: 750; }
.interaction-record > time { color: #89938f; font-size: 9px; white-space: nowrap; }
.analytics-hero { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(420px, 1.28fr); gap: 12px; margin-bottom: 16px; }
.reply-rate-card { padding: 24px; border: 1px solid #c9ddd3; border-left: 4px solid var(--dd-green); border-radius: 10px; background: var(--dd-green-soft); }
.metric-kicker { color: var(--dd-green); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.reply-rate-card > strong { display: block; margin: 13px 0 7px; color: var(--dd-ink); font-size: 46px; line-height: 1; }
.reply-rate-card p, .reply-rate-card small { margin: 0; color: #5a6e67; font-size: 10px; }
.reply-rate-card small { display: block; margin-top: 10px; color: #7b8b85; }
.analytics-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.analytics-summary > div { padding: 22px; border: 1px solid var(--dd-line); border-radius: 10px; background: #fff; }
.analytics-summary > div.has-attention { border-color: #e7cfaa; background: var(--dd-amber-soft); }
.analytics-summary span, .analytics-summary small { display: block; color: var(--dd-muted); font-size: 10px; }
.analytics-summary strong { display: block; margin: 18px 0 9px; color: var(--dd-ink); font-size: 32px; }
.funnel-panel { padding: 24px; }
.funnel-list { display: grid; gap: 13px; }
.funnel-row { display: grid; grid-template-columns: 105px minmax(140px, 1fr) 44px; align-items: center; gap: 13px; }
.funnel-row > span { color: var(--dd-muted); font-size: 10px; }
.funnel-row > div { height: 22px; overflow: hidden; border-radius: 5px; background: var(--dd-soft); }
.funnel-row i { display: block; min-width: 3px; height: 100%; background: var(--dd-blue); }
.funnel-row--success i { background: var(--dd-green-2); }
.funnel-row > strong { color: var(--dd-ink); font-size: 12px; text-align: right; }
.safety-overview { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 12px; margin-bottom: 16px; }
.safety-count, .safety-copy { border: 1px solid var(--dd-line); border-radius: 10px; background: #fff; }
.safety-count { padding: 22px; }
.safety-count span, .safety-count small { display: block; color: var(--dd-muted); font-size: 10px; }
.safety-count strong { display: block; margin: 14px 0 7px; color: var(--dd-ink); font-size: 34px; }
.safety-copy { display: flex; align-items: center; gap: 16px; padding: 22px; background: var(--dd-green-soft); }
.safety-icon { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 9px; background: var(--dd-green); color: #fff; font-weight: 850; }
.safety-copy h2 { margin: 0 0 5px; font-size: 17px; }
.safety-copy p { margin: 0; color: #5a6e67; font-size: 10px; line-height: 1.6; }
.rule-flow { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: 14px; }
.rule-flow > div { display: grid; gap: 4px; min-height: 96px; align-content: center; padding: 16px; border-radius: 8px; background: var(--dd-soft); }
.rule-flow span { color: var(--dd-green); font-size: 9px; font-weight: 850; }
.rule-flow strong { color: var(--dd-ink); font-size: 12px; }
.rule-flow small { color: var(--dd-muted); font-size: 9px; }
.rule-flow > b { color: #9ca6a2; }
.result-tag-layout { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(420px, 1.3fr); align-items: start; gap: 16px; }
.stack-form { display: grid; gap: 14px; }
.stack-form label { display: grid; gap: 6px; }
.result-tag-list { display: grid; gap: 9px; }
.result-tag-card { margin: 0; padding: 14px 16px; border: 1px solid var(--dd-line); border-left: 3px solid var(--dd-blue); border-radius: 8px; background: #fbfcfa; box-shadow: none; }
.result-tag-card--milestone { border-left-color: var(--dd-green-2); }
.result-tag-card span { display: block; color: var(--dd-muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.result-tag-card strong { display: block; margin-top: 3px; color: var(--dd-ink); font-size: 12px; }
.result-tag-card p { margin: 6px 0 0; color: var(--dd-muted); font-size: 10px; }

/* Import and background operations */
.import-guide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.import-panel { max-width: 980px; margin-inline: auto; padding: 26px; }
.format-badge { padding: 5px 8px; border-radius: 5px; background: var(--dd-soft); color: var(--dd-green); font-size: 9px; font-weight: 850; }
.import-form { display: grid; gap: 22px; }
.file-drop { display: grid; justify-items: center; gap: 5px; padding: 30px; border: 1px dashed #aebdb5; border-radius: 9px; background: #fafbf9; text-align: center; cursor: pointer; }
.file-drop:hover { border-color: var(--dd-green-2); background: var(--dd-green-soft); }
.file-drop__icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 5px; border-radius: 9px; background: var(--dd-green); color: #fff; font-size: 17px; }
.file-drop strong { color: var(--dd-ink); font-size: 13px; }
.file-drop small { color: var(--dd-muted); font-size: 9px; font-weight: 500; }
.file-drop input { width: min(400px, 100%); min-height: 36px; margin-top: 12px; font-size: 10px; }
.mode-choice { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 0; padding: 0; border: 0; }
.mode-choice legend { grid-column: 1 / -1; margin-bottom: 2px; color: var(--dd-ink); font-size: 11px; font-weight: 800; }
.mode-card { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 14px; border: 1px solid var(--dd-line); border-radius: 8px; background: #fff; cursor: pointer; }
.mode-card:has(input:checked) { border-color: var(--dd-green); background: var(--dd-green-soft); }
.mode-card input { flex: 0 0 auto; width: 17px; height: 17px; min-height: 0; margin-top: 1px; }
.mode-card strong, .mode-card small { display: block; }
.mode-card strong { color: var(--dd-ink); font-size: 11px; }
.mode-card small { margin-top: 4px; color: var(--dd-muted); font-size: 9px; font-weight: 500; line-height: 1.5; }
.import-actions { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 16px; border-top: 1px solid var(--dd-line); }
.import-actions p { margin: 0; }
.import-actions strong, .import-actions span { display: block; }
.import-actions strong { color: var(--dd-ink); font-size: 10px; }
.import-actions span { margin-top: 2px; color: var(--dd-muted); font-size: 9px; }
.import-result-panel { max-width: 1180px; margin: 18px auto 0; }
.import-metrics { margin-top: 18px; }
.job-status { display: inline-flex; align-items: center; width: fit-content; padding: 5px 8px; border-radius: 5px; background: var(--dd-soft); color: var(--dd-muted); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.job-status--completed, .job-status--succeeded { background: var(--dd-green-soft); color: var(--dd-green-2); }
.job-status--running { background: var(--dd-blue-soft); color: var(--dd-blue); }
.job-status--pending { background: var(--dd-amber-soft); color: var(--dd-amber); }
.job-status--failed, .job-status--cancelled { background: var(--dd-red-soft); color: var(--dd-red); }
.error-details { margin-top: 14px; border: 1px solid #e7cfcc; border-radius: 8px; background: var(--dd-red-soft); }
.error-details summary { padding: 13px 15px; color: var(--dd-red); font-size: 10px; font-weight: 800; cursor: pointer; }
.error-details ul { color: #7a4c47; font-size: 10px; }
.result-alert { padding: 16px; border: 1px solid var(--dd-line); border-left-width: 4px; border-radius: 8px; }
.result-alert--danger { border-color: #e9cac6; border-left-color: var(--dd-red); background: var(--dd-red-soft); color: #7a4641; }
.result-alert strong { display: block; color: var(--dd-ink); font-size: 12px; }
.result-alert p { margin: 4px 0 0; font-size: 10px; }
.result-alert pre { max-height: 320px; margin: 10px 0 0; overflow: auto; color: inherit; font-size: 10px; white-space: pre-wrap; }
.processing-state { display: flex; align-items: center; gap: 12px; padding: 22px; border-radius: 8px; background: var(--dd-blue-soft); }
.processing-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--dd-blue); box-shadow: 0 0 0 5px rgba(54,93,119,.12); }
.processing-state strong { color: var(--dd-ink); font-size: 12px; }
.processing-state p { margin: 3px 0 0; color: var(--dd-muted); font-size: 9px; }
.commit-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; padding: 13px; border-radius: 8px; background: var(--dd-soft); }
.commit-bar span { color: var(--dd-muted); font-size: 10px; }
.progress-cell { display: flex; align-items: center; gap: 10px; min-width: 200px; }
.progress-track { flex: 1; height: 7px; overflow: hidden; border-radius: 999px; background: #e6eae7; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--dd-green-2); }
.progress-cell strong { min-width: 34px; color: var(--dd-muted); font-size: 9px; }
.table-arrow { color: var(--dd-green); font-size: 10px; font-weight: 750; text-decoration: none; }
.job-progress-card { margin-bottom: 16px; padding: 20px 22px; border: 1px solid #cddbd4; border-radius: 10px; background: var(--dd-green-soft); }
.job-progress-card__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
.job-progress-card__header div { display: flex; align-items: baseline; gap: 12px; }
.job-progress-card__header span { color: var(--dd-green); font-size: 10px; font-weight: 800; }
.job-progress-card__header strong { color: var(--dd-ink); font-size: 24px; }
.job-progress-card__header p { margin: 0; color: var(--dd-muted); font-size: 10px; }
.progress-track--large { height: 9px; background: rgba(255,255,255,.72); }
.job-detail-grid { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(440px, 1.28fr); align-items: start; gap: 16px; }
.job-detail-list { grid-template-columns: 120px 1fr; }
.result-code { max-height: 430px; margin: 0; padding: 16px; overflow: auto; border-radius: 8px; background: #202b27; color: #dce8e1; font-size: 10px; white-space: pre-wrap; }

/* Legacy pages inherit the same clear shell while their markup is modernized. */
.app-main > header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin: 0 0 22px !important;
  padding: 0 0 20px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--dd-line) !important;
  background: transparent !important;
}

.app-main > header h1 { margin: 0 !important; color: var(--dd-ink); font-size: 30px; }
.app-main > header nav { display: flex; align-items: center; gap: 9px; color: transparent; }
.app-main > header nav a { color: var(--dd-muted); font-size: 12px; font-weight: 700; text-decoration: none; }
.app-main > main { width: 100%; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.app-main > main article,
.app-main > article { border: 1px solid var(--dd-line); background: #fff; box-shadow: none; }
.app-main > footer {
  width: 100%;
  max-width: none !important;
  margin: 22px 0 0 !important;
  padding: 18px 0 !important;
  border-top: 1px solid var(--dd-line) !important;
}

body > footer { display: none; }

@media (max-width: 1120px) {
  .filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .filter-submit { width: 100%; }
  .workflow-card { grid-template-columns: auto repeat(2, 1fr); }
  .workflow-label { grid-row: span 2; }
  .metric-strip--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .copy-workbench-layout { grid-template-columns: minmax(200px, .58fr) minmax(460px, 1.42fr); }
  .copy-tools-column { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .settings-section { grid-template-columns: minmax(190px, .6fr) minmax(380px, 1.4fr); }
}

@media (max-width: 900px) {
  .container { padding-inline: 20px; }
  .navbar__menu { background: #fff !important; }
  .navbar__nav a { padding: 11px 12px !important; }
  .page-hero { align-items: flex-start; flex-direction: column; }
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .detail-grid { grid-template-columns: 1fr; }
  .login-shell { grid-template-columns: 1fr; }
  .login-story { min-height: 340px; }
  .login-story h1 { margin-top: 28px; }
  .login-steps { grid-template-columns: repeat(3, 1fr); }
  .login-footnote { display: none; }
  .campaign-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .schedule-box { grid-template-columns: 1fr 1fr; }
  .schedule-box > div:first-child { grid-column: 1 / -1; }
  .recipient-toolbar { align-items: stretch; flex-wrap: wrap; }
  .recipient-search { flex-basis: 100%; }
  .creator-hero__main { align-items: flex-start; flex-wrap: wrap; }
  .creator-hero__actions { width: 100%; margin-left: 92px; }
  .next-step-card { grid-template-columns: auto 1fr; }
  .next-step-card__actions { grid-column: 1 / -1; padding-left: 62px; }
  .creator-kpis { grid-template-columns: repeat(2, 1fr); }
  .creator-layout { grid-template-columns: 1fr; }
  .creator-side-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-hero { align-items: flex-start; flex-direction: column; }
  .workspace-actions { justify-content: flex-start; }
  .pipeline-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pipeline-guide > div { border-bottom: 1px solid var(--dd-line); }
  .pipeline-guide > div:nth-child(2n) { border-right: 0; }
  .pipeline-guide > div:nth-last-child(-n+2) { border-bottom: 0; }
  .import-guide { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .import-guide > div { border-bottom: 0; }
  .import-guide > div:nth-child(2) { border-right: 1px solid var(--dd-line); }
  .metric-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric-strip--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .compact-filter-form { grid-template-columns: 1fr 1fr auto; }
  .compact-filter-form .filter-reset { grid-column: 1 / -1; justify-content: flex-start; }
  .settings-section { grid-template-columns: 1fr; gap: 22px; }
  .copy-workbench-layout { grid-template-columns: 1fr; }
  .copy-context-column { grid-template-columns: 1fr 1fr; }
  .copy-tools-column { grid-column: auto; }
  .preview-layout, .job-detail-grid { grid-template-columns: 1fr; }
  .preview-checklist { position: static; }
  .analytics-hero { grid-template-columns: 1fr; }
  .safety-overview { grid-template-columns: 200px minmax(0, 1fr); }
  .result-tag-layout { grid-template-columns: 1fr; }
  .mode-choice { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .app-main { padding-top: 24px; }
  .container { padding-inline: 14px; }
  .workflow-card { grid-template-columns: 1fr 1fr; }
  .workflow-label { grid-column: 1 / -1; grid-row: auto; }
  .stat-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .stat-card { min-height: 112px; padding: 14px; }
  .filter-grid { grid-template-columns: 1fr; }
  .create-form { grid-template-columns: 1fr; }
  .create-form .wide, .create-form .full { grid-column: auto; }
  .login-story { min-height: 300px; padding: 36px 26px; }
  .login-steps { display: none; }
  .login-form-side { padding: 18px; }
  .login-card { padding: 26px 22px; }
  .detail-list { grid-template-columns: 110px 1fr; }
  .send-workflow { grid-template-columns: 1fr 1fr; }
  .send-workflow .workflow-label { grid-column: 1 / -1; }
  .campaign-stat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .campaign-stat { padding: 14px; }
  .campaign-stat strong { font-size: 23px; }
  .recipient-setup__header { align-items: flex-start; flex-direction: column; }
  .recipient-readiness { justify-content: flex-start; }
  .recipient-toolbar { gap: 10px; }
  .select-ready { width: 100%; }
  .selected-count { text-align: left; }
  .schedule-box { grid-template-columns: 1fr; }
  .schedule-box > div:first-child { grid-column: auto; }
  .schedule-box button { width: 100%; }
  .campaign-actions { align-items: stretch; flex-direction: column; }
  .campaign-actions form,
  .campaign-actions button { width: 100%; }
  .duplicate-form { width: 100%; margin-left: 0 !important; }
  .duplicate-form input { width: 100%; }
  .creator-avatar { width: 60px; height: 60px; border-radius: 14px; }
  .creator-title-row h1 { font-size: 30px; }
  .creator-hero__actions { margin-left: 0; }
  .creator-hero__actions .button { flex: 1 1 auto; }
  .next-step-card { grid-template-columns: 1fr; padding: 16px; }
  .next-step-card__number { width: fit-content; }
  .next-step-card__actions { grid-column: auto; padding-left: 0; flex-wrap: wrap; }
  .creator-kpis { grid-template-columns: 1fr 1fr; gap: 8px; }
  .creator-kpi { min-height: 112px; padding: 14px; }
  .profile-facts { grid-template-columns: 1fr; }
  .profile-facts__wide { grid-column: auto; }
  .creator-side-column { grid-template-columns: 1fr; }
  .profile-edit-form { grid-template-columns: 1fr; }
  .profile-edit-form__wide { grid-column: auto; }
  .danger-zone__content,
  .merge-form { align-items: stretch; flex-direction: column; }
  .danger-zone__content button,
  .merge-form button { width: 100%; }
  .workspace-hero h1 { font-size: 30px; }
  .workspace-actions, .workspace-actions .button, .workspace-actions form, .workspace-actions form button { width: 100%; }
  .section-tabs a { padding-inline: 11px; }
  .pipeline-guide, .import-guide { grid-template-columns: 1fr; }
  .pipeline-guide > div, .pipeline-guide > div:nth-child(2), .import-guide > div:nth-child(2) { min-height: 66px; border-right: 0; border-bottom: 1px solid var(--dd-line); }
  .pipeline-guide > div:last-child { border-bottom: 0; }
  .metric-strip, .metric-strip--six, .metric-strip--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .metric-box { min-height: 102px; padding: 14px; }
  .metric-box > strong { font-size: 24px; }
  .action-banner { align-items: stretch; flex-direction: column; }
  .action-banner__actions { align-items: stretch; flex-direction: column; }
  .action-banner__actions form, .action-banner__actions button { width: 100%; }
  .compact-filter-form, .settings-fields--two, .weight-fields, .threshold-fields { grid-template-columns: 1fr; }
  .settings-section { padding: 20px; }
  .weekday-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .settings-save-bar { align-items: stretch; flex-direction: column; bottom: 6px; }
  .settings-save-bar button { width: 100%; }
  .copy-context-column, .copy-tools-column { grid-template-columns: 1fr; }
  .copy-editor-shell > .panel-header { align-items: flex-start; flex-direction: column; }
  .copy-editor-shell > .panel-header form, .copy-editor-shell > .panel-header button { width: 100%; }
  .copy-empty-state { min-height: 380px; padding: 40px 20px; }
  .copy-field textarea { min-height: 360px; }
  .table-toolbar--stackable { align-items: flex-start; flex-direction: column; }
  .view-switcher { width: 100%; }
  .interaction-record { grid-template-columns: auto 1fr; }
  .interaction-record > time { grid-column: 2; }
  .interaction-record__signals { gap: 10px; }
  .analytics-summary { grid-template-columns: 1fr 1fr; }
  .funnel-row { grid-template-columns: 82px minmax(100px, 1fr) 32px; gap: 8px; }
  .safety-overview { grid-template-columns: 1fr; }
  .safety-copy { align-items: flex-start; }
  .rule-flow { grid-template-columns: 1fr; }
  .rule-flow > b { transform: rotate(90deg); text-align: center; }
  .import-panel { padding: 20px; }
  .import-actions, .commit-bar, .job-progress-card__header { align-items: stretch; flex-direction: column; }
  .import-actions button, .commit-bar button { width: 100%; }
}
