:root {
  --email-bg:#f5f6f3;
  --email-surface:#ffffff;
  --email-surface-muted:#f8f9f6;
  --email-border:#dfe3dc;
  --email-border-strong:#cbd1c7;
  --email-text:#242720;
  --email-muted:#697066;
  --email-sidebar-width:232px;
  --email-sidebar-collapsed-width:64px;
  --email-sidebar-current-width:var(--email-sidebar-width);
  --email-accent:#31372d;
  --email-accent-hover:#23271f;
  --email-focus:#8faf38;
}

body.campaign-ui {
  background:var(--email-bg);
  color:var(--email-text);
  font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,sans-serif;
}

body.campaign-ui .workspace-appbar {
  grid-template-columns:auto 1fr auto;
  grid-template-areas:"brand . actions";
  padding-inline:18px;
}

body.campaign-ui .workspace-appbar .workspace-brand-copy h1 {
  display:block;
  width:auto;
  height:auto;
  margin:3px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--workspace-header-muted);
  font-size:9.5px;
  font-weight:600;
  line-height:1.15;
  letter-spacing:0;
}

.email-sidebar {
  position:fixed;
  top:var(--workspace-header-height);
  bottom:0;
  left:0;
  z-index:30;
  width:var(--email-sidebar-current-width);
  overflow-y:auto;
  border-right:1px solid var(--email-border);
  background:var(--email-surface);
  transition:width 160ms ease;
}

.email-sidebar-head {
  padding:12px 12px 0;
}

body.campaign-ui .email-sidebar-toggle {
  display:flex;
  width:100%;
  min-height:34px;
  padding:6px 8px;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  border:1px solid var(--email-border);
  border-radius:6px;
  background:#fff;
  color:#62695f;
  font-size:11px;
  font-weight:650;
}

body.campaign-ui .email-sidebar-toggle:hover { border-color:var(--email-border-strong); background:#f7f8f5; color:var(--email-text); }
body.campaign-ui .email-sidebar-toggle .nav-icon { margin-left:auto; }

.nav-icon {
  width:18px;
  height:18px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

body.campaign-ui .email-sidebar .workspace-nav-wrap {
  position:static;
  display:block;
  padding:18px 12px;
  border:0;
  background:transparent;
  box-shadow:none;
}

body.campaign-ui .email-sidebar .workspace-nav,
body.campaign-ui .email-sidebar .tabs.workspace-nav {
  display:flex;
  width:100%;
  height:auto;
  margin:0;
  padding:0;
  flex-direction:column;
  align-items:stretch;
  gap:2px;
  border:0;
  background:transparent;
}

.nav-group-label {
  display:block;
  margin:15px 10px 6px;
  color:#8a9186;
  font-size:11px;
  font-weight:650;
  line-height:1.3;
}

.nav-group-label:first-child { margin-top:2px; }

body.campaign-ui .email-sidebar .workspace-tab,
body.campaign-ui .email-sidebar .tabs.workspace-nav .tab {
  position:relative;
  display:flex;
  width:100%;
  min-height:38px;
  margin:0;
  padding:8px 10px;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#555d52;
  font-size:16px;
  font-weight:600;
  line-height:1.25;
  text-align:left;
  white-space:normal;
}

body.campaign-ui .email-sidebar .workspace-tab::after { display:none; }
body.campaign-ui .email-sidebar .workspace-tab:hover { background:#f2f4ef; color:#242720; }
body.campaign-ui .email-sidebar .workspace-tab.active {
  background:#e9ede4;
  color:#1f231c;
  font-weight:700;
}

body.campaign-ui .email-sidebar .workspace-tab.active::before {
  position:absolute;
  top:9px;
  bottom:9px;
  left:0;
  width:2px;
  background:#65743b;
  content:"";
}

body.campaign-ui .email-sidebar .nav-item-label {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

body.campaign-ui .tab-company-lock {
  margin-left:auto;
  color:#7a8176;
  font-size:9px;
}

body.campaign-ui main,
body.campaign-ui.mailbox-mode main {
  width:auto;
  max-width:none;
  min-height:calc(100vh - var(--workspace-header-height));
  margin:0 0 0 var(--email-sidebar-current-width);
  padding:28px 32px 48px;
  transition:margin-left 160ms ease;
}

@media (min-width:901px) {
  body.campaign-ui.sidebar-collapsed { --email-sidebar-current-width:var(--email-sidebar-collapsed-width); }
  body.campaign-ui.sidebar-collapsed .email-sidebar-head { padding-right:8px; padding-left:8px; }
  body.campaign-ui.sidebar-collapsed .email-sidebar-toggle { justify-content:center; padding-inline:0; }
  body.campaign-ui.sidebar-collapsed .email-sidebar-toggle .nav-icon { margin-left:0; }
  body.campaign-ui.sidebar-collapsed .email-sidebar-toggle-label,
  body.campaign-ui.sidebar-collapsed .email-sidebar .nav-item-label,
  body.campaign-ui.sidebar-collapsed .email-sidebar .tab-company-lock { display:none; }
  body.campaign-ui.sidebar-collapsed .email-sidebar .workspace-nav-wrap { padding-right:8px; padding-left:8px; }
  body.campaign-ui.sidebar-collapsed .email-sidebar .workspace-tab,
  body.campaign-ui.sidebar-collapsed .email-sidebar .tabs.workspace-nav .tab { justify-content:center; padding-right:0; padding-left:0; gap:0; }
  body.campaign-ui.sidebar-collapsed .email-sidebar .nav-group-label { height:1px; margin:12px 8px 8px; overflow:hidden; background:var(--email-border); color:transparent; font-size:0; }
  body.campaign-ui.sidebar-collapsed .email-sidebar .nav-group-label:first-child { display:none; }
}

body.campaign-ui .view { max-width:1280px; margin:0 auto; }
body.campaign-ui #view-mailbox { max-width:none; }
body.campaign-ui .campaign-head { display:none; }

body.campaign-ui .os-page-head {
  min-height:54px;
  margin:0 0 20px;
  align-items:flex-start;
}

body.campaign-ui .os-page-head h1 {
  margin:0 0 5px;
  color:var(--email-text);
  font-size:22px;
  font-weight:720;
  letter-spacing:-.25px;
  line-height:1.25;
}

body.campaign-ui .os-page-head p {
  max-width:680px;
  margin:0;
  color:var(--email-muted);
  font-size:13px;
  line-height:1.45;
}

body.campaign-ui .card {
  margin-bottom:16px;
  padding:20px;
  border:1px solid var(--email-border);
  border-radius:8px;
  background:var(--email-surface);
  box-shadow:none;
}

body.campaign-ui .workspace-card { padding:0; overflow:hidden; }
body.campaign-ui h2 { color:var(--email-text); font-size:15px; font-weight:700; }
body.campaign-ui h3 { color:var(--email-text); font-size:13px; font-weight:700; }
body.campaign-ui .hint { color:var(--email-muted); }

body.campaign-ui button {
  min-height:36px;
  padding:7px 12px;
  border:1px solid var(--email-accent);
  border-radius:6px;
  background:var(--email-accent);
  color:#fff;
  font-size:12.5px;
  font-weight:650;
  box-shadow:none;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}

body.campaign-ui button:hover { border-color:var(--email-accent-hover); background:var(--email-accent-hover); filter:none; }
body.campaign-ui button.ghost { border-color:var(--email-border-strong); background:#fff; color:#343a31; }
body.campaign-ui button.ghost:hover { border-color:#aeb6aa; background:#f5f6f3; color:#20241d; }
body.campaign-ui button.danger { border-color:#dfbfc1; background:#fff; color:#a7353d; }
body.campaign-ui button:focus-visible,
body.campaign-ui input:focus-visible,
body.campaign-ui select:focus-visible,
body.campaign-ui textarea:focus-visible { outline:2px solid var(--email-focus); outline-offset:1px; }

body.campaign-ui input,
body.campaign-ui textarea,
body.campaign-ui select {
  min-height:38px;
  border:1px solid var(--email-border-strong);
  border-radius:6px;
  background:#fff;
  color:var(--email-text);
  box-shadow:none;
}

body.campaign-ui input:focus,
body.campaign-ui textarea:focus,
body.campaign-ui select:focus { border-color:#8c9787; box-shadow:none; }

body.campaign-ui label {
  color:#4f574c;
  font-size:11.5px;
  font-weight:650;
  letter-spacing:0;
  text-transform:none;
}

body.campaign-ui .section-bar { min-height:0; padding:18px 20px; border-bottom:1px solid var(--email-border); }
body.campaign-ui .section-bar-copy h2,
body.campaign-ui .section-bar-copy h3 { margin:0 0 3px; }
body.campaign-ui .section-bar-copy p { margin:0; color:var(--email-muted); font-size:12px; }

/* Overview uses one compact summary strip instead of detached metric cards. */
body.campaign-ui .os-kpis {
  display:grid;
  margin:0 0 16px;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  overflow:hidden;
  border:1px solid var(--email-border);
  border-radius:8px;
  background:#fff;
}

body.campaign-ui .os-kpi {
  min-height:92px;
  padding:16px 18px;
  border:0;
  border-right:1px solid var(--email-border);
  border-radius:0;
  box-shadow:none;
}

body.campaign-ui .os-kpi:last-child { border-right:0; }
body.campaign-ui .os-kpi span { color:#646c61; font-size:11px; font-weight:650; letter-spacing:0; text-transform:none; }
body.campaign-ui .os-kpi b { margin-top:3px; color:#22261f; font-size:24px; font-weight:720; }
body.campaign-ui .os-kpi small { color:#7a8176; font-size:10.5px; }
body.campaign-ui .os-grid { grid-template-columns:1fr; }
body.campaign-ui .os-grid > aside { display:none; }
body.campaign-ui .os-list-item { padding:12px 0; }
body.campaign-ui .status-chip { border-radius:5px; }

/* Campaign builder: configuration stays left, review and send stays visible right. */
body.campaign-ui .workflow-steps {
  display:flex;
  margin:0 0 16px;
  gap:0;
  border-bottom:1px solid var(--email-border);
}

body.campaign-ui .workflow-step {
  min-width:0;
  padding:0 18px 10px 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#7a8176;
  font-size:11px;
}

body.campaign-ui .workflow-step b { margin:0 0 2px; color:#4d554a; font-size:11.5px; }
body.campaign-ui .workflow-step.current { background:transparent; color:#525a4f; }
body.campaign-ui .campaign-builder-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:18px; align-items:start; }
body.campaign-ui .campaign-builder-main { min-width:0; }
body.campaign-ui .sequence-panel,
body.campaign-ui .domain-health-panel {
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--email-border);
}
body.campaign-ui .sequence-panel > .section-bar,
body.campaign-ui .domain-health-panel > .section-bar { padding:0 0 12px; border:0; }
body.campaign-ui #campaign-readiness-card { position:sticky; top:calc(var(--workspace-header-height) + 18px); }
body.campaign-ui .campaign-setup-grid { grid-template-columns:1fr 1fr; }
body.campaign-ui .campaign-setup-grid .recipient-source-row { max-width:none; grid-column:1/-1; }
body.campaign-ui #contacts-recipient-panel .section-bar { padding:0 0 12px; border:0; }
body.campaign-ui .contact-recipient-list { margin-top:10px; border-color:var(--email-border); }
body.campaign-ui .contact-recipient { padding:10px 12px; }
body.campaign-ui #campaign-delivery-rules > .card { margin:16px 0 0; border-color:var(--email-border); background:var(--email-surface-muted)!important; }
body.campaign-ui .campaign-advanced { margin-top:14px; border-color:var(--email-border); }
body.campaign-ui .campaign-advanced summary { padding:11px 13px; background:#fafbf8; }
body.campaign-ui .campaign-advanced-body { padding:16px; }
body.campaign-ui #campaign-readiness-card .campaign-readiness-head { display:block; }
body.campaign-ui #campaign-readiness-card .campaign-readiness-head .toolbar { margin-top:12px; }
body.campaign-ui #campaign-readiness-card .campaign-readiness-head button { width:100%; }
body.campaign-ui #campaign-readiness-card .readiness-summary { display:block; margin-top:14px; overflow:hidden; box-shadow:none; }
body.campaign-ui #campaign-readiness-card .readiness-score {
  flex-direction:row;
  justify-content:flex-start;
  gap:8px;
  padding:12px;
  border-right:0;
  border-bottom:1px solid var(--email-border);
}
body.campaign-ui #campaign-readiness-card .readiness-score b { font-size:24px; line-height:1; }
body.campaign-ui #campaign-readiness-card .readiness-score span { font-size:11px; }
body.campaign-ui #campaign-readiness-card .readiness-facts { grid-template-columns:1fr; }
body.campaign-ui #campaign-readiness-card .readiness-fact {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-right:0;
  border-bottom:1px solid var(--email-border);
}
body.campaign-ui #campaign-readiness-card .readiness-fact:last-child { border-bottom:0; }
body.campaign-ui #campaign-readiness-card .readiness-fact span { font-size:11px; line-height:1.35; }
body.campaign-ui #campaign-readiness-card .readiness-fact b {
  max-width:160px;
  margin:0;
  text-align:right;
  line-height:1.35;
  overflow-wrap:normal;
  word-break:normal;
}
body.campaign-ui #campaign-readiness-card .stats { grid-template-columns:1fr 1fr; }
body.campaign-ui #campaign-readiness-card .stat { padding:9px; border-color:var(--email-border); background:var(--email-surface-muted); }
body.campaign-ui #campaign-readiness-card .log { height:190px; }

/* Contacts, responses and analytics are table-first workspaces. */
body.campaign-ui .contacts-table-card { padding:0; overflow:hidden; }
body.campaign-ui .contact-controls { padding:16px 18px 0; border-bottom:1px solid var(--email-border); background:#fff; }
body.campaign-ui .contact-toolbar {
  display:grid;
  grid-template-areas:"search filters refresh";
  grid-template-columns:minmax(280px,1fr) minmax(500px,auto) auto;
  gap:8px;
  margin:0;
  align-items:center;
}
body.campaign-ui .contact-search-field { position:relative; grid-area:search; margin:0; }
body.campaign-ui .contact-search-field .nav-icon { position:absolute; top:50%; left:11px; z-index:1; width:16px; height:16px; color:#7a8176; transform:translateY(-50%); pointer-events:none; }
body.campaign-ui .contact-search-field input { width:100%; padding-left:36px; }
body.campaign-ui .contact-filter-set { display:grid; grid-area:filters; grid-template-columns:repeat(3,minmax(150px,1fr)); gap:8px; }
body.campaign-ui .contact-filter-set select { width:100%; }
body.campaign-ui .contact-refresh-button,
body.campaign-ui .contact-action-button { display:inline-flex; align-items:center; justify-content:center; gap:7px; white-space:nowrap; }
body.campaign-ui .contact-refresh-button { grid-area:refresh; }
body.campaign-ui .contact-refresh-button .nav-icon,
body.campaign-ui .contact-action-button .nav-icon { width:15px; height:15px; }
body.campaign-ui .contact-action-bar { display:flex; min-height:58px; margin-top:12px; padding:10px 0; align-items:center; gap:12px; border-top:1px solid var(--email-border); }
body.campaign-ui .contact-selection-tools { display:flex; padding-right:12px; align-items:center; gap:10px; border-right:1px solid var(--email-border); }
body.campaign-ui #contacts-selection-summary { min-width:68px; color:var(--email-muted); font-size:11px; font-weight:650; white-space:nowrap; }
body.campaign-ui .contact-bulk-actions { display:flex; margin:0; align-items:center; gap:8px; flex-wrap:wrap; }
body.campaign-ui .contact-list-delete { margin-left:auto; }
body.campaign-ui .contact-summary { display:flex; min-height:39px; margin:0; padding:10px 0 11px; align-items:center; gap:0; overflow-x:auto; border-top:1px solid var(--email-border); color:var(--email-muted); font-size:11px; white-space:nowrap; }
body.campaign-ui .contact-summary span { display:inline-flex; padding:0 12px; align-items:baseline; gap:4px; border-left:1px solid var(--email-border); }
body.campaign-ui .contact-summary span:first-child { padding-left:0; border-left:0; }
body.campaign-ui .contact-summary b { color:var(--email-text); font-size:12px; }
body.campaign-ui .contacts-table-card .history-pager { margin:0; padding:12px 18px 16px; }
body.campaign-ui .contact-check { width:38px; }
body.campaign-ui .contact-check input { min-height:0; }
body.campaign-ui .contact-import-source { display:flex; min-width:0; margin:0; flex-direction:column; }
body.campaign-ui .contact-import-source textarea { width:100%; min-height:198px; margin-top:6px; resize:vertical; }
body.campaign-ui .contact-import-source .hint { margin-top:6px; font-size:10.5px; font-weight:500; }
body.campaign-ui .contact-list-form { display:grid; grid-template-columns:minmax(220px,1fr) minmax(260px,2fr) auto; align-items:end; gap:12px; }
body.campaign-ui .contact-list-form label { margin:0; }
body.campaign-ui .contact-list-build-layout { display:grid; grid-template-columns:minmax(0,1fr) 230px; gap:20px; align-items:center; }
body.campaign-ui .contact-list-selection-preview { min-height:132px; padding-left:18px; border-left:1px solid var(--email-border); }
body.campaign-ui .contact-list-management { overflow:hidden; }
body.campaign-ui .contact-list-management > .section-bar { margin:-20px -20px 0; }
body.campaign-ui .contact-list-workspace { display:grid; grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr); margin:0 -20px -20px; }
body.campaign-ui .contact-list-directory { max-height:360px; overflow:auto; border-right:1px solid var(--email-border); background:#fafbf8; }
body.campaign-ui .contact-list-directory > .hint { display:block; padding:18px; }
body.campaign-ui .contact-list-directory-item { display:grid; width:100%; min-height:62px; padding:10px 14px; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; align-items:center; border:0; border-bottom:1px solid var(--email-border); border-radius:0; background:transparent; color:var(--email-text); text-align:left; }
body.campaign-ui .contact-list-directory-item:hover { background:#f2f4ef; }
body.campaign-ui .contact-list-directory-item.active { background:#e9ede4; }
body.campaign-ui .contact-list-directory-item b { overflow:hidden; font-size:12.5px; text-overflow:ellipsis; white-space:nowrap; }
body.campaign-ui .contact-list-directory-item span { color:var(--email-muted); font-size:10.5px; }
body.campaign-ui .contact-list-directory-item .contact-list-member-count { grid-row:1/3; grid-column:2; color:#454c42; font-size:12px; font-weight:700; }
body.campaign-ui .contact-list-insight { min-height:250px; padding:20px; }
body.campaign-ui .contact-list-empty { display:flex; min-height:210px; align-items:center; justify-content:center; flex-direction:column; color:var(--email-muted); text-align:center; }
body.campaign-ui .contact-list-empty b { margin-bottom:4px; color:var(--email-text); }
body.campaign-ui .contact-list-empty span { font-size:12px; }
body.campaign-ui .contact-list-insight-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
body.campaign-ui .contact-list-insight-head h3 { margin:0 0 4px; font-size:16px; }
body.campaign-ui .contact-list-insight-head p { margin:0; color:var(--email-muted); font-size:11.5px; }
body.campaign-ui .contact-list-insight-actions { display:flex; gap:7px; flex-wrap:wrap; }
body.campaign-ui .contact-list-health { display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; margin-top:18px; align-items:center; }
body.campaign-ui .contact-health-chart { display:block; width:140px; height:140px; }
body.campaign-ui .contact-health-track,
body.campaign-ui .contact-health-segment { fill:none; stroke-width:12; }
body.campaign-ui .contact-health-track { stroke:#ecefe9; }
body.campaign-ui .contact-health-segment { stroke-linecap:butt; }
body.campaign-ui .contact-health-total { fill:var(--email-text); font-size:9px; font-weight:750; text-anchor:middle; }
body.campaign-ui .contact-health-caption { fill:var(--email-muted); font-size:4px; text-anchor:middle; }
body.campaign-ui .contact-health-legend { display:grid; grid-template-columns:1fr 1fr; gap:9px 16px; }
body.campaign-ui .contact-health-legend-item { display:grid; grid-template-columns:9px minmax(0,1fr) auto; gap:7px; align-items:center; color:var(--email-muted); font-size:11px; }
body.campaign-ui .contact-health-legend-swatch { width:9px; height:9px; }
body.campaign-ui .contact-health-legend-item b { color:var(--email-text); font-size:11.5px; }
body.campaign-ui .contact-list-editor { display:grid; grid-template-columns:1fr 1.5fr auto; gap:10px; margin-top:16px; padding-top:16px; align-items:end; border-top:1px solid var(--email-border); }
body.campaign-ui .contact-list-editor label { margin:0; }
body.campaign-ui .contact-list-selection-preview .contact-list-health { grid-template-columns:96px 1fr; gap:12px; margin-top:0; }
body.campaign-ui .contact-list-selection-preview .contact-health-chart { width:94px; height:94px; }
body.campaign-ui .contact-list-selection-preview .contact-health-legend { grid-template-columns:1fr; gap:5px; }
body.campaign-ui .contact-list-preview-title { display:block; margin-bottom:8px; color:var(--email-text); font-size:12px; }
body.campaign-ui .carrier-list-builder { overflow:hidden; }
body.campaign-ui .carrier-list-builder > .section-bar { margin:-20px -20px 0; }
body.campaign-ui .carrier-builder-filters { display:grid; grid-template-columns:minmax(260px,1fr) auto; gap:18px; padding:16px 0 14px; align-items:end; }
body.campaign-ui .carrier-builder-search { margin:0; }
body.campaign-ui .carrier-builder-rules { display:flex; gap:8px; }
body.campaign-ui .carrier-builder-rules label { display:flex; min-height:42px; margin:0; padding:7px 10px; align-items:center; gap:8px; border:1px solid var(--email-border); border-radius:6px; background:#fafbf8; cursor:pointer; }
body.campaign-ui .carrier-builder-rules input { min-height:0; margin:0; }
body.campaign-ui .carrier-builder-rules span,
body.campaign-ui .carrier-builder-rules b,
body.campaign-ui .carrier-builder-rules small { display:block; }
body.campaign-ui .carrier-builder-rules b { color:var(--email-text); font-size:11.5px; }
body.campaign-ui .carrier-builder-rules small { margin-top:1px; color:var(--email-muted); font-size:9.5px; }
body.campaign-ui .carrier-builder-selection { display:flex; min-height:50px; margin:0 -20px; padding:8px 20px; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--email-border); border-bottom:1px solid var(--email-border); background:#fafbf8; }
body.campaign-ui .carrier-range-fields { display:flex; align-items:center; gap:8px; }
body.campaign-ui .carrier-range-fields > span { margin-right:3px; color:var(--email-text); font-size:11.5px; font-weight:700; }
body.campaign-ui .carrier-range-fields label { display:flex; margin:0; align-items:center; gap:5px; }
body.campaign-ui .carrier-range-fields input { width:74px; min-height:32px; padding:5px 7px; }
body.campaign-ui .carrier-range-fields button,
body.campaign-ui .carrier-selection-status button { min-height:32px; padding:5px 9px; }
body.campaign-ui .carrier-selection-status { display:flex; align-items:center; gap:8px; }
body.campaign-ui .carrier-selection-status b { font-size:11.5px; }
body.campaign-ui .carrier-candidate-table { margin:0 -20px; }
body.campaign-ui .carrier-candidate-table table { min-width:820px; }
body.campaign-ui .carrier-candidate-table td:nth-child(2) { width:56px; color:var(--email-muted); font-variant-numeric:tabular-nums; }
body.campaign-ui .carrier-candidate-primary { display:block; color:var(--email-text); font-size:12px; }
body.campaign-ui .carrier-candidate-secondary { display:block; max-width:250px; margin-top:2px; overflow:hidden; color:var(--email-muted); font-size:10.5px; text-overflow:ellipsis; white-space:nowrap; }
body.campaign-ui .carrier-history-state { display:block; color:var(--email-text); font-size:11.5px; font-weight:700; }
body.campaign-ui .carrier-history-state.new { color:#397047; }
body.campaign-ui .carrier-candidate-pager { margin:0 -20px; padding:11px 20px; border-top:1px solid var(--email-border); border-bottom:1px solid var(--email-border); }
body.campaign-ui .carrier-list-details { display:grid; grid-template-columns:minmax(170px,1fr) minmax(150px,.75fr) minmax(150px,.75fr) minmax(210px,1.2fr) auto; gap:10px; padding-top:15px; align-items:end; }
body.campaign-ui .carrier-list-details label { margin:0; }
body.campaign-ui .carrier-list-details button { min-height:38px; }
body.campaign-ui .carrier-list-result { min-height:18px; margin:8px 0 0; }
body.campaign-ui .campaign-list-controls { display:grid; grid-template-columns:minmax(240px,1fr) minmax(240px,1fr); gap:12px; align-items:end; margin-bottom:10px; }
body.campaign-ui .campaign-list-controls label { margin:0; }
body.campaign-ui .campaign-risky-choice { display:flex; min-height:40px; align-items:center; gap:8px; color:var(--email-muted); }
body.campaign-ui .campaign-risky-choice input { width:auto; min-height:0; }
body.campaign-ui table { min-width:760px; }
body.campaign-ui th { background:#f7f8f5; color:#5b6358; font-size:10.5px; letter-spacing:0; text-transform:none; }
body.campaign-ui th,
body.campaign-ui td { padding:10px 11px; border-right:0; border-bottom:1px solid #e8ebe5; }
body.campaign-ui tbody tr:hover { background:#f8faf6; }
body.campaign-ui .open-status-cell { min-width:128px; }
body.campaign-ui .open-status-cell b,
body.campaign-ui .open-status-cell span { display:block; }
body.campaign-ui .open-status-cell span { margin-top:3px; color:var(--email-muted); font-size:10.5px; line-height:1.35; }
body.campaign-ui .open-state { color:#4e554b; font-size:12px; font-weight:700; }
body.campaign-ui .open-state.opened { color:#347044; }
body.campaign-ui .open-state.pending { color:#765e24; }
body.campaign-ui .open-state.unavailable { color:#747a71; font-weight:600; }
body.campaign-ui .open-tracking-note { margin:14px 0 0; padding:10px 12px; border-left:3px solid #aeb7a8; background:#f7f8f5; color:var(--email-muted); font-size:11.5px; line-height:1.45; }
body.campaign-ui .response-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; }
body.campaign-ui .response-summary { margin:0; }
body.campaign-ui .analytics-summary { overflow:hidden; border:1px solid var(--email-border); border-radius:7px; background:#fff; }
body.campaign-ui .analytics-summary > div { border-color:var(--email-border); background:#fff; }
body.campaign-ui .analytics-breakdown > section { border:1px solid var(--email-border); border-radius:7px; background:#fff; }
body.campaign-ui .analytics-history-divider { height:1px; margin:24px -20px 20px; background:var(--email-border); }

/* Account and template configuration stay inside one bordered workspace. */
body.campaign-ui #view-senders .workspace-card > .card { margin:0 20px 16px; border-color:var(--email-border); background:var(--email-surface-muted)!important; }
body.campaign-ui .account-entry { border-color:var(--email-border); border-radius:7px; box-shadow:none; }
body.campaign-ui .account-workspace-footer,
body.campaign-ui .template-editor-footer { border-color:var(--email-border); background:#fafbf8; }
body.campaign-ui .template-workspace { min-height:590px; }
body.campaign-ui .template-library { background:#fafbf8; }
body.campaign-ui .tmpl-list li { border-radius:5px; }
body.campaign-ui .tmpl-list li.active { border-color:#aeb7a8; background:#ecefe9; }

/* Settings use two stable columns: explanation and control. */
body.campaign-ui .settings-layout { display:grid; gap:12px; }
body.campaign-ui .settings-section { display:grid; grid-template-columns:220px minmax(0,1fr); gap:28px; margin:0; }
body.campaign-ui .settings-section-copy h2 { margin:0 0 5px; }
body.campaign-ui .settings-section-copy p { margin:0; color:var(--email-muted); font-size:12px; line-height:1.45; }
body.campaign-ui .settings-section-fields { min-width:0; }
body.campaign-ui .settings-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
body.campaign-ui .settings-section-fields label { margin:0; }
body.campaign-ui .settings-section-fields label > span { display:block; margin-top:5px; color:#7a8176; font-size:10.5px; font-weight:500; }
body.campaign-ui .settings-checks { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
body.campaign-ui .settings-checks label { display:flex; min-height:74px; padding:12px; align-items:flex-start; gap:9px; border:1px solid var(--email-border); border-radius:6px; background:#fafbf8; }
body.campaign-ui .settings-checks input { min-height:0; margin-top:3px; }
body.campaign-ui .settings-checks span { margin:0!important; }
body.campaign-ui .settings-checks b { display:block; margin-bottom:3px; color:#333931; font-size:12px; }
body.campaign-ui .settings-suppression textarea { min-height:160px; }

/* Mailbox retains its dedicated dense mail-client layout. */
body.campaign-ui #view-mailbox .mailbox-shell { min-height:calc(100vh - var(--workspace-header-height) - 56px); border-color:var(--email-border); box-shadow:none; }

@media (max-width:1100px) {
  body.campaign-ui .campaign-builder-layout { grid-template-columns:1fr; }
  body.campaign-ui #campaign-readiness-card { position:static; }
  body.campaign-ui .settings-section { grid-template-columns:180px minmax(0,1fr); }
  body.campaign-ui .contact-toolbar {
    grid-template-areas:"search refresh" "filters filters";
    grid-template-columns:minmax(240px,1fr) auto;
  }
  body.campaign-ui .contact-action-bar { align-items:flex-start; flex-wrap:wrap; }
  body.campaign-ui .contact-list-delete { margin-left:0; }
}

@media (max-width:900px) {
  body.campaign-ui .workspace-appbar { grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"brand actions"; }
  .email-sidebar { position:sticky; top:var(--workspace-header-height); width:100%; height:46px; overflow:hidden; border-right:0; border-bottom:1px solid var(--email-border); }
  .email-sidebar-head { display:none; }
  body.campaign-ui .email-sidebar .workspace-nav-wrap { overflow-x:auto; padding:0 10px; }
  body.campaign-ui .email-sidebar .workspace-nav,
  body.campaign-ui .email-sidebar .tabs.workspace-nav { width:max-content; height:45px; flex-direction:row; align-items:center; gap:0; }
  .nav-group-label { display:none; }
  body.campaign-ui .email-sidebar .workspace-tab,
  body.campaign-ui .email-sidebar .tabs.workspace-nav .tab { width:auto; min-height:45px; padding:0 12px; border-radius:0; white-space:nowrap; }
  body.campaign-ui .email-sidebar .workspace-tab.active { background:transparent; }
  body.campaign-ui .email-sidebar .workspace-tab.active::before { top:auto; right:12px; bottom:0; left:12px; width:auto; height:2px; }
  body.campaign-ui main,
  body.campaign-ui.mailbox-mode main { margin-left:0; padding:22px 18px 36px; }
  body.campaign-ui .os-kpis { grid-template-columns:1fr 1fr; }
  body.campaign-ui .os-kpi:nth-child(2) { border-right:0; }
  body.campaign-ui .os-kpi:nth-child(-n+2) { border-bottom:1px solid var(--email-border); }
  body.campaign-ui .settings-section { grid-template-columns:1fr; gap:16px; }
  body.campaign-ui .contact-list-build-layout { grid-template-columns:1fr; }
  body.campaign-ui .contact-list-selection-preview { padding:16px 0 0; border-top:1px solid var(--email-border); border-left:0; }
  body.campaign-ui .contact-list-workspace { grid-template-columns:1fr; }
  body.campaign-ui .contact-list-directory { max-height:230px; border-right:0; border-bottom:1px solid var(--email-border); }
  body.campaign-ui .contact-list-delete { width:100%; }
  body.campaign-ui .carrier-builder-filters { grid-template-columns:1fr; }
  body.campaign-ui .carrier-list-details { grid-template-columns:1fr 1fr; }
}

@media (max-width:620px) {
  body.campaign-ui .workspace-appbar .workspace-brand-copy h1 { display:none; }
  body.campaign-ui main,
  body.campaign-ui.mailbox-mode main { padding:16px 10px 28px; }
  body.campaign-ui .os-page-head { display:flex; min-height:0; flex-direction:column; gap:12px; }
  body.campaign-ui .os-actions { width:100%; }
  body.campaign-ui .os-actions button { flex:1; }
  body.campaign-ui .os-kpi { min-height:82px; padding:13px; }
  body.campaign-ui .campaign-setup-grid,
  body.campaign-ui .campaign-primary-delivery,
  body.campaign-ui .settings-field-grid,
  body.campaign-ui .settings-checks { grid-template-columns:1fr; }
  body.campaign-ui .workflow-step { padding-right:10px; }
  body.campaign-ui .workflow-step:not(.current) { display:none; }
  body.campaign-ui .contact-controls { padding:12px 12px 0; }
  body.campaign-ui .contact-toolbar { grid-template-areas:"search" "filters" "refresh"; grid-template-columns:1fr; }
  body.campaign-ui .contact-filter-set { grid-template-columns:1fr; }
  body.campaign-ui .contact-refresh-button { width:100%; }
  body.campaign-ui .contact-action-bar { align-items:stretch; flex-direction:column; gap:9px; }
  body.campaign-ui .contact-selection-tools { padding:0 0 9px; justify-content:space-between; border-right:0; border-bottom:1px solid var(--email-border); }
  body.campaign-ui .contact-bulk-actions { display:grid; grid-template-columns:1fr; }
  body.campaign-ui .contact-bulk-actions button { width:100%; }
  body.campaign-ui .contacts-table-card .history-pager { padding:12px; }
  body.campaign-ui .contact-list-form,
  body.campaign-ui .campaign-list-controls,
  body.campaign-ui .contact-list-editor { grid-template-columns:1fr; }
  body.campaign-ui .carrier-builder-rules,
  body.campaign-ui .carrier-builder-selection,
  body.campaign-ui .carrier-range-fields { align-items:stretch; flex-direction:column; }
  body.campaign-ui .carrier-range-fields label { justify-content:space-between; }
  body.campaign-ui .carrier-range-fields input { width:120px; }
  body.campaign-ui .carrier-list-details { grid-template-columns:1fr; }
  body.campaign-ui .contact-list-insight-head { flex-direction:column; }
  body.campaign-ui .contact-list-health { grid-template-columns:112px minmax(0,1fr); gap:12px; }
  body.campaign-ui .contact-health-chart { width:108px; height:108px; }
  body.campaign-ui .contact-health-legend { grid-template-columns:1fr; gap:6px; }
  body.campaign-ui .response-toolbar { align-items:stretch; flex-direction:column; }
}


/* Campaign live delivery now sits full-width below the builder. */
body.campaign-ui .campaign-live-delivery-card {
  margin-top:18px;
  padding:18px 20px 20px;
}
body.campaign-ui .campaign-live-delivery-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
body.campaign-ui .campaign-live-delivery-head h2 { margin:0 0 4px; }
body.campaign-ui .campaign-live-delivery-head p { margin:0; }
body.campaign-ui .campaign-live-delivery-card .live-campaign-console {
  grid-template-columns:130px minmax(260px,1.35fr) minmax(230px,1fr);
  align-items:center;
}
body.campaign-ui .campaign-live-delivery-card .stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(120px,1fr));
  gap:10px;
  margin-top:12px;
}
body.campaign-ui .campaign-live-delivery-card .stat {
  padding:12px 14px;
  border:1px solid var(--email-border);
  border-radius:8px;
  background:var(--email-surface-muted);
}
body.campaign-ui .campaign-live-delivery-card .live-breakdown-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
body.campaign-ui .campaign-live-delivery-card .live-matrix-card { margin-top:14px; }
body.campaign-ui .campaign-live-delivery-card .campaign-live-log { margin-top:14px; }
body.campaign-ui .campaign-live-delivery-card .log { min-height:170px; max-height:280px; }

@media (max-width:900px) {
  body.campaign-ui .campaign-live-delivery-head { flex-direction:column; }
  body.campaign-ui .campaign-live-delivery-card .live-campaign-console { grid-template-columns:1fr; }
  body.campaign-ui .campaign-live-delivery-card .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.campaign-ui .campaign-live-delivery-card .live-breakdown-grid { grid-template-columns:1fr; }
}

/* Campaign intelligence: live delivery and results workspace */
.campaign-run-actions { align-items:center; }
.live-campaign-console {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  align-items:stretch;
  margin:15px 0 12px;
  padding:14px;
  border:1px solid var(--email-border);
  border-radius:10px;
  background:var(--email-surface-muted);
}
.live-progress-ring,
.result-donut {
  --progress:0;
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:50%;
  background:conic-gradient(#496341 calc(var(--progress) * 1%), #e6eae3 0);
}
.live-progress-ring { width:104px; height:104px; margin:auto; }
.live-progress-ring::after,
.result-donut::after {
  content:"";
  position:absolute;
  inset:9px;
  border-radius:50%;
  background:#fff;
}
.live-progress-ring > div,
.result-donut > div { position:relative; z-index:1; text-align:center; }
.live-progress-ring b { display:block; font-size:23px; color:var(--email-text); }
.live-progress-ring span { display:block; margin-top:1px; color:var(--email-muted); font-size:10px; text-transform:uppercase; letter-spacing:.45px; }
.live-current-card {
  min-width:0;
  min-height:92px;
  padding:14px 15px;
  border:1px solid var(--email-border);
  border-radius:8px;
  background:#fff;
}
.live-current-card b,
.live-current-card span { display:block; }
.live-current-card b { margin:5px 0 4px; color:var(--email-text); font-size:14px; overflow-wrap:break-word; word-break:normal; }
.live-current-card > span:last-child { color:var(--email-muted); font-size:11px; line-height:1.45; }
.live-eyebrow { color:#7b8378; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.65px; }
.live-breakdown-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.live-breakdown-grid > section,
.live-matrix-card {
  padding:13px;
  border:1px solid var(--email-border);
  border-radius:9px;
  background:#fff;
}
.live-matrix-card { margin-top:12px; }
.live-breakdown-head,
.result-section-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.live-breakdown-head h3,
.result-section-head h3 { margin:0; font-size:13px; color:var(--email-text); }
.live-breakdown-head span,
.result-section-head span { color:var(--email-muted); font-size:10px; }
.mini-breakdown,
.result-breakdown-list { display:grid; gap:8px; }
.mini-breakdown-row,
.result-breakdown-row {
  display:grid;
  grid-template-columns:minmax(110px,1fr) minmax(100px,.75fr) auto;
  gap:9px;
  align-items:center;
}
.mini-breakdown-row b,
.result-breakdown-row b {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
}
.mini-breakdown-track,
.result-breakdown-track {
  position:relative;
  height:6px;
  overflow:hidden;
  border-radius:99px;
  background:#edf0eb;
}
.mini-breakdown-fill,
.result-breakdown-fill {
  display:block;
  height:100%;
  min-width:2px;
  border-radius:99px;
  background:#627b56;
}
.mini-breakdown-row small,
.result-breakdown-row small { color:var(--email-muted); font-size:10px; white-space:nowrap; }
.live-matrix,
.result-matrix { overflow:auto; }
.live-matrix table,
.result-matrix table { margin:0; font-size:11px; }
.live-matrix td,
.live-matrix th,
.result-matrix td,
.result-matrix th { padding:7px 8px; white-space:nowrap; }
.campaign-live-log { margin-top:12px; }
.campaign-live-log summary { cursor:pointer; color:var(--email-muted); font-size:11px; font-weight:700; }
.campaign-live-log[open] summary { margin-bottom:8px; }

.campaign-result-selector { margin-bottom:12px; }
.campaign-result-selector .response-toolbar { align-items:end; }
.campaign-result-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; flex-wrap:wrap; padding-bottom:1px; }
.campaign-result-edit {
  display:grid;
  grid-template-columns:minmax(180px,.7fr) minmax(260px,1.3fr) auto;
  gap:10px;
  align-items:end;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--email-border);
}
.campaign-result-edit[hidden] { display:none; }
.campaign-result-edit label { margin:0; }
.campaign-result-edit-actions { display:flex; gap:7px; }
.campaign-result-kpis {
  display:grid;
  grid-template-columns:repeat(4,minmax(140px,1fr));
  gap:10px;
  margin:0 0 12px;
}
.campaign-result-kpi {
  padding:14px 15px;
  border:1px solid var(--email-border);
  border-radius:9px;
  background:#fff;
  box-shadow:0 3px 13px rgba(28,36,26,.04);
}
.campaign-result-kpi span,
.campaign-result-kpi small { display:block; color:var(--email-muted); }
.campaign-result-kpi span { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.45px; }
.campaign-result-kpi b { display:block; margin:4px 0 2px; font-size:24px; color:var(--email-text); }
.campaign-result-kpi small { font-size:10px; }
.campaign-result-visuals { margin-bottom:12px; }
.result-donut-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(160px,1fr));
  gap:12px;
  margin:6px 0 18px;
}
.result-donut-card {
  display:flex;
  align-items:center;
  gap:13px;
  min-height:126px;
  padding:13px;
  border:1px solid var(--email-border);
  border-radius:9px;
  background:var(--email-surface-muted);
}
.result-donut { width:94px; height:94px; --progress:0; }
.result-donut::after { inset:8px; }
.result-donut b { display:block; font-size:18px; color:var(--email-text); }
.result-donut span { display:block; margin-top:1px; color:var(--email-muted); font-size:9px; }
.result-donut-copy { min-width:0; }
.result-donut-copy b,
.result-donut-copy span { display:block; }
.result-donut-copy b { font-size:13px; color:var(--email-text); }
.result-donut-copy span { margin-top:4px; color:var(--email-muted); font-size:10px; line-height:1.45; }
.result-breakdown-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.result-breakdown-grid > section {
  min-width:0;
  padding:13px;
  border:1px solid var(--email-border);
  border-radius:9px;
}
.result-matrix-head,
.result-timeline-head { margin-top:18px; }
.result-matrix { border:1px solid var(--email-border); border-radius:9px; }
.result-matrix table { border:0; }
.result-timeline {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(70px,1fr));
  gap:7px;
  align-items:end;
  min-height:150px;
  padding:14px;
  border:1px solid var(--email-border);
  border-radius:9px;
  background:var(--email-surface-muted);
}
.result-timeline-day {
  display:grid;
  grid-template-rows:1fr auto;
  gap:7px;
  min-width:0;
}
.result-timeline-bars { display:flex; align-items:flex-end; justify-content:center; gap:3px; min-height:92px; }
.result-timeline-bar {
  width:9px;
  min-height:2px;
  border-radius:3px 3px 0 0;
  background:#596f4f;
}
.result-timeline-bar.opened { background:#8da17f; }
.result-timeline-bar.replied { background:#343b32; }
.result-timeline-day small { display:block; text-align:center; color:var(--email-muted); font-size:9px; white-space:nowrap; }
.result-timeline-legend { display:flex; gap:10px; align-items:center; color:var(--email-muted); font-size:9px; }
.result-timeline-legend i { display:inline-block; width:7px; height:7px; margin-right:3px; border-radius:2px; background:#596f4f; }
.result-timeline-legend i.opened { background:#8da17f; }
.result-timeline-legend i.replied { background:#343b32; }

@media (max-width:900px) {
  .live-campaign-console { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
  .live-campaign-console .live-current-card:last-child { grid-column:auto; }
  .live-breakdown-grid,
  .result-breakdown-grid { grid-template-columns:1fr; }
  .campaign-result-edit { grid-template-columns:1fr; }
  .campaign-result-edit-actions { justify-content:flex-end; }
}
@media (max-width:700px) {
  .campaign-result-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .result-donut-grid { grid-template-columns:1fr; }
  .live-campaign-console { grid-template-columns:1fr; text-align:center; }
  .live-campaign-console .live-current-card:last-child { grid-column:auto; }
  .live-progress-ring { width:94px; height:94px; }
  .campaign-result-actions { justify-content:flex-start; }
}


/* Campaign reply notifications and multi-campaign result selection */
.campaign-notification-wrap { position:relative; display:flex; align-items:center; }
.campaign-notification-bell {
  position:relative;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid var(--email-border);
  border-radius:8px;
  background:#fff;
  color:#5d665a;
}
.campaign-notification-bell:hover,
.campaign-notification-bell.active { background:#f4f7f2; border-color:var(--email-border-strong); color:var(--email-text); }
.campaign-notification-bell .nav-icon { width:17px; height:17px; }
.campaign-notification-count,
.nav-notification-badge,
.campaign-unread-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:99px;
  background:#d63b4a;
  color:#fff;
  font-size:9px;
  font-weight:800;
  line-height:1;
}
.campaign-notification-count {
  position:absolute;
  top:-6px;
  right:-6px;
  box-shadow:0 0 0 2px #fff;
}
.nav-notification-badge { margin-left:auto; min-width:17px; height:17px; padding:0 4px; }
body.sidebar-collapsed .nav-notification-badge { position:absolute; top:4px; right:4px; margin:0; }
.campaign-notification-panel {
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  z-index:120;
  width:min(390px,calc(100vw - 24px));
  max-height:min(560px,calc(100vh - 90px));
  overflow:hidden;
  border:1px solid var(--email-border);
  border-radius:10px;
  background:#fff;
  box-shadow:0 18px 50px rgba(26,37,25,.16);
}
.campaign-notification-panel[hidden] { display:none; }
.campaign-notification-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:13px 14px;
  border-bottom:1px solid var(--email-border);
  background:#fafbf9;
}
.campaign-notification-head b,
.campaign-notification-head span { display:block; }
.campaign-notification-head b { color:var(--email-text); font-size:13px; }
.campaign-notification-head span { margin-top:2px; color:var(--email-muted); font-size:10px; line-height:1.4; }
.campaign-notification-refresh { width:31px; height:31px; padding:0; display:grid; place-items:center; flex:0 0 auto; }
.campaign-notification-refresh .nav-icon { width:15px; height:15px; }
.campaign-notification-list { max-height:480px; overflow:auto; }
.campaign-notification-empty { padding:26px 18px; text-align:center; color:var(--email-muted); font-size:11px; }
.campaign-notification-item {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  padding:12px 13px;
  border-bottom:1px solid #dce9f7;
  background:#eef6ff;
}
.campaign-notification-item:last-child { border-bottom:0; }
.campaign-notification-main {
  min-width:0;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.campaign-notification-main:hover { background:transparent; }
.campaign-notification-main b,
.campaign-notification-main span,
.campaign-notification-main small { display:block; }
.campaign-notification-main b {
  color:#193b63;
  font-size:11px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.campaign-notification-main span {
  margin-top:3px;
  color:#2f4359;
  font-size:11px;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}
.campaign-notification-main small { margin-top:4px; color:#65809d; font-size:9px; }
.campaign-notification-ack,
.response-ack-button {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  padding:0;
  border:1px solid #9cbddd;
  border-radius:50%;
  background:#fff;
  color:#2f638f;
}
.campaign-notification-ack:hover,
.response-ack-button:hover { background:#e4f1ff; border-color:#76a7d2; }
.campaign-notification-ack svg,
.response-ack-button svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.campaign-selection-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.campaign-selection-head h2 { margin:0 0 3px; font-size:16px; }
.campaign-selection-head p { margin:0; color:var(--email-muted); font-size:11px; }
.campaign-selection-list {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  max-height:290px;
  margin-top:13px;
  padding:8px;
  overflow:auto;
  border:1px solid var(--email-border);
  border-radius:9px;
  background:var(--email-surface-muted);
}
.campaign-selection-item {
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  margin:0;
  min-height:50px;
  padding:9px 10px;
  border:1px solid var(--email-border);
  border-radius:8px;
  background:#fff;
  cursor:pointer;
}
.campaign-selection-item:hover { border-color:var(--email-border-strong); background:#fafbf9; }
.campaign-selection-item.selected { border-color:#aebba8; background:#f4f7f2; }
.campaign-selection-item.has-unread { border-color:#bad5ef; background:#eef6ff; }
.campaign-selection-item input { width:auto; margin:0; }
.campaign-selection-item span b,
.campaign-selection-item span small { display:block; }
.campaign-selection-item span b { color:var(--email-text); font-size:11px; }
.campaign-selection-item span small { margin-top:2px; color:var(--email-muted); font-size:9.5px; }
.campaign-selection-all { grid-column:1/-1; min-height:46px; }
.campaign-selection-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:8px;
  color:var(--email-muted);
  font-size:10px;
}
.campaign-selection-footer button { padding-block:5px; }
.response-table tr.response-unread > td { background:#eef6ff; border-bottom-color:#d6e7f8; }
.response-table tr.response-unread:hover > td { background:#e6f2ff; }
.response-campaign-cell b,
.response-campaign-cell span { display:block; }
.response-campaign-cell b { max-width:180px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:11px; }
.response-campaign-cell span { margin-top:3px; color:var(--email-muted); font-size:9px; }
.response-new-pill {
  display:inline-flex!important;
  width:max-content;
  margin-top:5px!important;
  padding:2px 6px;
  border-radius:99px;
  background:#cfe7ff;
  color:#225b8d!important;
  font-size:9px!important;
  font-weight:800;
}
.response-action-stack { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }

@media (max-width:900px) {
  .campaign-selection-list { grid-template-columns:1fr; }
  .campaign-selection-all { grid-column:auto; }
  .campaign-selection-head { flex-direction:column; }
  .campaign-selection-head .campaign-result-actions { width:100%; justify-content:flex-start; }
}
@media (max-width:620px) {
  .campaign-notification-panel { position:fixed; top:calc(var(--workspace-header-height) + 6px); right:8px; left:8px; width:auto; }
  .campaign-selection-footer { align-items:flex-start; flex-direction:column; }
}


/* Results workspace: operational, compact and task-focused */
.results-page-head { align-items:center!important; }
.campaign-filter-row {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
}
.campaign-filter-dropdown {
  position:relative;
  width:min(460px,100%);
}
.campaign-filter-label {
  display:block;
  margin-bottom:6px;
  color:#687066;
  font-size:10px;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
}
body.campaign-ui button.campaign-filter-toggle {
  display:flex;
  width:100%;
  min-height:54px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 12px;
  text-align:left;
  border-radius:8px;
  background:#fff;
}
.campaign-filter-toggle-copy {
  min-width:0;
}
.campaign-filter-toggle-copy b,
.campaign-filter-toggle-copy small { display:block; }
.campaign-filter-toggle-copy b {
  overflow:hidden;
  color:var(--email-text);
  font-size:12.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.campaign-filter-toggle-copy small {
  margin-top:3px;
  color:var(--email-muted);
  font-size:10px;
}
.campaign-filter-toggle-meta {
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
}
.campaign-filter-toggle .nav-icon {
  width:15px;
  height:15px;
  transition:transform .15s ease;
}
.campaign-filter-toggle.open .nav-icon { transform:rotate(90deg); }
.campaign-filter-menu {
  position:absolute;
  z-index:90;
  top:calc(100% + 6px);
  left:0;
  width:100%;
  overflow:hidden;
  border:1px solid var(--email-border-strong);
  border-radius:9px;
  background:#fff;
  box-shadow:0 16px 38px rgba(24,35,22,.13);
}
.campaign-filter-menu[hidden] { display:none; }
.campaign-filter-menu .campaign-selection-list {
  display:block;
  max-height:320px;
  margin:0;
  padding:6px;
  overflow:auto;
  border:0;
  border-radius:0;
  background:#fff;
}
.campaign-filter-menu .campaign-selection-item {
  margin:0 0 4px;
  min-height:46px;
  border-color:transparent;
  border-radius:7px;
}
.campaign-filter-menu .campaign-selection-item:last-child { margin-bottom:0; }
.campaign-filter-menu .campaign-selection-item:hover { border-color:#e1e5de; background:#f7f9f5; }
.campaign-filter-menu .campaign-selection-item.selected { border-color:#ced8c8; background:#f1f5ee; }
.campaign-filter-menu .campaign-selection-item.has-unread { border-color:#c8ddf1; background:#f0f7ff; }
.campaign-filter-menu .campaign-selection-all {
  position:sticky;
  z-index:2;
  top:0;
  border-bottom:1px solid var(--email-border);
  background:#f8faf7;
}
.campaign-filter-menu .campaign-selection-footer {
  margin:0;
  padding:8px 10px;
  border-top:1px solid var(--email-border);
  background:#fafbf9;
}
.response-workspace { padding:0!important; overflow:hidden; }
.response-workspace .response-list-toolbar {
  padding:16px 18px 12px;
  border-bottom:1px solid var(--email-border);
}
.response-workspace .response-list-toolbar h2 { margin:0 0 10px; }
.operational-response-table { margin:0; border:0!important; }
.operational-response-table thead th { background:#fafbf9; }
.operational-response-table .response-action-heading { width:86px; text-align:center; }
.response-action-stack {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
  flex-wrap:nowrap;
}
body.campaign-ui button.response-icon-button {
  display:inline-grid;
  place-items:center;
  width:32px;
  min-width:32px;
  height:32px;
  min-height:32px;
  padding:0;
  border:1px solid #cdd3ca;
  border-radius:6px;
  background:#fff;
  color:#384137;
}
body.campaign-ui button.response-icon-button:hover {
  border-color:#aab4a6;
  background:#f3f6f1;
  color:#1f2a1e;
}
body.campaign-ui button.response-icon-button.response-ack-button {
  border-color:#b8d3ec;
  background:#f8fbff;
  color:#2d6798;
}
body.campaign-ui button.response-icon-button.response-ack-button:hover {
  border-color:#7eadcf;
  background:#eaf5ff;
}
.response-icon-button .mail-icon,
.response-icon-button svg {
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.response-handled-label {
  color:#747c72;
  font-size:10px;
}

.response-message-card {
  width:min(900px,100%);
  max-height:92vh;
}
.response-message-head .close-response-message { margin-left:auto; }
.response-message-scroll {
  overflow:auto;
  background:#f6f8f5;
}
.response-message-content {
  padding:18px 20px;
}
.response-message-notice {
  margin-bottom:10px;
  padding:8px 10px;
  border:1px solid #dfe4dc;
  border-radius:7px;
  background:#fff;
  color:#747c72;
  font-size:10px;
}
.response-message-meta {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px solid #dfe4dc;
  border-radius:9px 9px 0 0;
  overflow:hidden;
  background:#fff;
}
.response-message-meta > div {
  min-width:0;
  padding:10px 12px;
  border-bottom:1px solid #edf0eb;
}
.response-message-meta > div:nth-child(odd) { border-right:1px solid #edf0eb; }
.response-message-meta span {
  display:block;
  margin-bottom:3px;
  color:#7c8478;
  font-size:8.5px;
  font-weight:800;
  letter-spacing:.35px;
  text-transform:uppercase;
}
.response-message-meta b {
  display:block;
  overflow:hidden;
  color:#333c31;
  font-size:11.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.response-message-body {
  min-height:220px;
  padding:16px;
  border:1px solid #dfe4dc;
  border-top:0;
  border-radius:0 0 9px 9px;
  background:#fff;
}
.response-message-body pre {
  margin:0;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:#30392e;
  font:12px/1.65 Arial,sans-serif;
}
.response-message-frame {
  width:100%;
  min-height:300px;
  border:0;
  background:#fff;
}
.response-message-attachments {
  margin-top:12px;
  padding:12px;
  border:1px solid #dfe4dc;
  border-radius:9px;
  background:#fff;
}
.response-message-attachments h3 {
  margin:0 0 8px;
  color:#687064;
  font-size:10px;
  text-transform:uppercase;
}
.response-message-attachment {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 0;
  border-top:1px solid #edf0eb;
}
.response-message-attachment:first-of-type { border-top:0; }
.response-message-attachment > div {
  display:flex;
  min-width:0;
  align-items:center;
  gap:7px;
}
.response-message-attachment b {
  max-width:430px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10.5px;
}
.response-message-attachment small { color:#858c82; font-size:9px; }
.response-inline-reply {
  margin:0 20px 20px;
  border:1px solid #cfd7cb;
  border-radius:10px;
  background:#fff;
  overflow:hidden;
}
.response-inline-reply[hidden] { display:none; }
.response-inline-reply-head {
  padding:11px 13px;
  border-bottom:1px solid #e4e8e1;
  background:#fafbf9;
}
.response-inline-reply-head b,
.response-inline-reply-head span { display:block; }
.response-inline-reply-head b { font-size:12px; }
.response-inline-reply-head span {
  margin-top:2px;
  color:#7b8278;
  font-size:9.5px;
}
.response-inline-reply-fields {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:12px 13px 0;
}
.response-inline-reply-fields label { margin:0; }
.response-inline-reply-fields label > span {
  display:block;
  margin-bottom:4px;
  color:#747c72;
  font-size:8.5px;
  font-weight:750;
  text-transform:uppercase;
}
.response-inline-reply-fields input {
  width:100%;
  min-height:34px;
}
.response-inline-reply-fields input[readonly] {
  background:#f5f7f3;
  color:#687064;
}
.response-reply-subject { grid-column:1 / -1; }
.response-inline-reply textarea {
  width:calc(100% - 26px);
  min-height:120px;
  margin:10px 13px 0;
  padding:11px 12px;
  resize:vertical;
  border:1px solid #d8ddd5;
  border-radius:7px;
  font:12px/1.55 inherit;
}
.response-inline-reply-status {
  margin:10px 13px 0;
  padding:8px 10px;
  border-radius:7px;
  font-size:10.5px;
  font-weight:650;
}
.response-inline-reply-status.success {
  border:1px solid #bdd7b7;
  background:#f1f8ef;
  color:#45663e;
}
.response-inline-reply-status.error {
  border:1px solid #e2b8bc;
  background:#fff1f2;
  color:#9b333d;
}
.response-inline-reply-actions {
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding:12px 13px;
}

@media (max-width:700px) {
  .response-message-meta,
  .response-inline-reply-fields { grid-template-columns:1fr; }
  .response-message-meta > div:nth-child(odd) { border-right:0; }
  .response-reply-subject { grid-column:auto; }
  .response-message-content { padding:12px; }
  .response-inline-reply { margin:0 12px 12px; }
}

.response-status {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 8px;
  border-radius:99px;
  background:#f0f2ee;
  color:#596156;
  font-size:10px;
  font-weight:750;
  white-space:nowrap;
}
.response-status.new { background:#dcedff; color:#275f8e; }
.response-status.handled { background:#edf3ea; color:#46633f; }
.response-status.opened { background:#e8f3ff; color:#356d99; }
.response-status.bounced { background:#fff0f0; color:#9b3d46; }
.response-status.awaiting { background:#f5f2e8; color:#746027; }
.response-time {
  color:#6c7469;
  font-size:10px;
  white-space:nowrap;
}
.operational-response-table .response-snippet { min-width:220px; max-width:360px; }
.operational-response-table .response-campaign-cell b { max-width:155px; }

/* Analytics dashboard */
.analytics-page-head {
  align-items:flex-end!important;
}
.analytics-page-actions {
  display:flex;
  align-items:flex-end;
  gap:8px;
}
.analytics-page-actions label {
  margin:0;
  color:var(--email-muted);
  font-size:10px;
  font-weight:700;
}
.analytics-page-actions select {
  display:block;
  min-width:142px;
  margin-top:5px;
}
.analytics-kpi-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(120px,1fr));
  gap:10px;
  margin-bottom:14px;
}
.analytics-kpi {
  min-width:0;
  padding:15px 16px;
  border:1px solid var(--email-border);
  border-radius:9px;
  background:#fff;
}
.analytics-kpi span,
.analytics-kpi small { display:block; }
.analytics-kpi span {
  color:#6d756a;
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.42px;
  text-transform:uppercase;
}
.analytics-kpi b {
  display:block;
  margin:5px 0 4px;
  color:#222920;
  font-size:24px;
  line-height:1;
}
.analytics-kpi small {
  color:#858b82;
  font-size:9.5px;
  line-height:1.35;
}
.analytics-kpi.positive { border-bottom:3px solid #78936c; }
.analytics-kpi.warning { border-bottom:3px solid #c97878; }
.analytics-dashboard-grid {
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(300px,.75fr);
  gap:14px;
  align-items:stretch;
}
.analytics-performance-grid {
  grid-template-columns:minmax(300px,.75fr) minmax(0,1.25fr);
}
body.campaign-ui .analytics-panel {
  margin-bottom:14px;
  padding:18px;
}
.analytics-panel-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.analytics-panel-head h2 { margin:0 0 4px; }
.analytics-panel-head p {
  margin:0;
  color:var(--email-muted);
  font-size:10.5px;
  line-height:1.4;
}
.analytics-legend {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  color:#70786d;
  font-size:9px;
  white-space:nowrap;
}
.analytics-legend span { display:inline-flex; align-items:center; gap:4px; }
.analytics-legend i,
.analytics-health-legend i {
  width:8px;
  height:8px;
  border-radius:2px;
  background:#687d5f;
}
.analytics-legend i.bounced,
.analytics-health-legend i.bounced { background:#c16a70; }
.analytics-legend i.failed,
.analytics-health-legend i.failed { background:#969c92; }
.analytics-health-legend i.delivered { background:#687d5f; }
.analytics-trend {
  display:flex;
  min-height:190px;
  align-items:stretch;
  gap:5px;
  overflow-x:auto;
  padding:12px 6px 2px;
  border-top:1px solid #edf0eb;
}
.analytics-trend-day {
  display:grid;
  min-width:34px;
  flex:1 0 34px;
  grid-template-rows:1fr auto;
  gap:7px;
}
.analytics-trend-bars {
  display:flex;
  min-height:132px;
  align-items:flex-end;
  justify-content:center;
  gap:2px;
}
.analytics-trend-bar {
  display:block;
  width:6px;
  min-height:0;
  border-radius:3px 3px 0 0;
  background:#687d5f;
}
.analytics-trend-bar.bounced { background:#c16a70; }
.analytics-trend-bar.failed { background:#969c92; }
.analytics-trend-day small {
  color:#80877d;
  font-size:8.5px;
  text-align:center;
  white-space:nowrap;
}
.analytics-health {
  display:flex;
  min-height:190px;
  align-items:center;
  justify-content:center;
  gap:24px;
}
.analytics-health-ring {
  --delivered:0;
  --bounce-end:0;
  position:relative;
  display:grid;
  width:132px;
  height:132px;
  flex:0 0 132px;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(#687d5f 0 calc(var(--delivered) * 1%), #c16a70 calc(var(--delivered) * 1%) calc(var(--bounce-end) * 1%), #969c92 calc(var(--bounce-end) * 1%) 100%);
}
.analytics-health-ring::after {
  content:"";
  position:absolute;
  inset:13px;
  border-radius:50%;
  background:#fff;
}
.analytics-health-ring > div { position:relative; z-index:1; text-align:center; }
.analytics-health-ring b { display:block; color:#222920; font-size:23px; }
.analytics-health-ring span { display:block; margin-top:2px; color:#7e857b; font-size:9px; text-transform:uppercase; letter-spacing:.4px; }
.analytics-health-legend {
  display:grid;
  min-width:120px;
  gap:8px;
}
.analytics-health-legend > div {
  display:grid;
  grid-template-columns:10px 1fr auto;
  gap:7px;
  align-items:center;
  color:#596056;
  font-size:10px;
}
.analytics-health-legend > div b { color:#252c24; }
.analytics-health-legend small { color:#858b82; font-size:9px; }
.analytics-bounce-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.analytics-subpanel {
  min-width:0;
  padding:14px;
  border:1px solid var(--email-border);
  border-radius:8px;
  background:#fafbf9;
}
.analytics-subhead {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}
.analytics-subhead h3 { margin:0; }
.analytics-subhead span { color:#8a9087; font-size:9px; }
.analytics-ranked-list { display:grid; gap:10px; }
.analytics-ranked-row {
  min-width:0;
  padding-bottom:9px;
  border-bottom:1px solid #e9ece6;
}
.analytics-ranked-row:last-child { padding-bottom:0; border-bottom:0; }
.analytics-ranked-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.analytics-ranked-head b {
  min-width:0;
  overflow:hidden;
  color:#30372e;
  font-size:10.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-ranked-head span {
  flex:0 0 auto;
  color:#656d62;
  font-size:9.5px;
}
.analytics-ranked-track {
  height:6px;
  overflow:hidden;
  border-radius:99px;
  background:#e8ece5;
}
.analytics-ranked-track > span {
  display:block;
  height:100%;
  min-width:0;
  border-radius:99px;
  background:#c16a70;
}
.analytics-ranked-track > span.delivery { background:#728b67; }
.analytics-ranked-row small {
  display:block;
  margin-top:5px;
  color:#8a9087;
  font-size:9px;
}
.analytics-empty {
  display:grid;
  min-height:90px;
  place-items:center;
  color:#858c82;
  font-size:10.5px;
  text-align:center;
}
.analytics-table { margin:0; }
.analytics-table td,
.analytics-table th { padding:9px 10px; }
.analytics-table.compact td,
.analytics-table.compact th { padding:8px 9px; font-size:10.5px; }
.analytics-campaign-name {
  display:flex;
  align-items:center;
  gap:7px;
  min-width:170px;
}
.analytics-campaign-name b {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-campaign-name .status-chip { flex:0 0 auto; }
.analytics-bounce-number { color:#a4474d; }
.email-history-panel { margin-top:0; }

@media (max-width:1120px) {
  .analytics-kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .analytics-dashboard-grid,
  .analytics-performance-grid { grid-template-columns:1fr; }
}
@media (max-width:820px) {
  .campaign-filter-row { align-items:stretch; flex-direction:column; }
  .campaign-filter-dropdown { width:100%; }
  .campaign-result-actions { justify-content:flex-start; }
  .analytics-page-head { align-items:flex-start!important; }
  .analytics-page-actions { width:100%; }
  .analytics-bounce-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .analytics-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .analytics-page-actions { align-items:stretch; flex-direction:column; }
  .analytics-page-actions label,
  .analytics-page-actions select,
  .analytics-page-actions button { width:100%; }
  .analytics-health { align-items:flex-start; flex-direction:column; }
  .analytics-health-ring { margin:auto; }
  .analytics-health-legend { width:100%; }
  .campaign-filter-menu { position:fixed; top:calc(var(--workspace-header-height) + 8px); right:8px; left:8px; width:auto; max-height:calc(100vh - var(--workspace-header-height) - 16px); }
  .campaign-filter-menu .campaign-selection-list { max-height:calc(100vh - var(--workspace-header-height) - 90px); }
}


/* Analytics v2: charts first, totals + percentages always visible */
.analytics-overview-grid {
  display:grid;
  grid-template-columns:minmax(340px,.9fr) minmax(520px,1.35fr);
  gap:14px;
}
.analytics-total-label {
  flex:0 0 auto;
  padding:5px 8px;
  border-radius:99px;
  background:#f1f4ef;
  color:#5e695a;
  font-size:10px;
  font-weight:750;
}
.analytics-delivery-composition {
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:28px;
  min-height:220px;
  align-items:center;
}
.analytics-composition-ring {
  --delivered-end:0;
  --bounce-end:0;
  position:relative;
  display:grid;
  width:174px;
  height:174px;
  margin:auto;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(
    #5f7d55 0 calc(var(--delivered-end) * 1%),
    #c5636c calc(var(--delivered-end) * 1%) calc(var(--bounce-end) * 1%),
    #9aa198 calc(var(--bounce-end) * 1%) 100%
  );
  box-shadow:inset 0 0 0 1px rgba(42,54,39,.04);
}
.analytics-composition-ring::after {
  content:"";
  position:absolute;
  inset:19px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 1px #e7ebe4;
}
.analytics-composition-ring > div {
  position:relative;
  z-index:1;
  text-align:center;
}
.analytics-composition-ring b {
  display:block;
  color:#222a20;
  font-size:27px;
  letter-spacing:-.6px;
  line-height:1;
}
.analytics-composition-ring span {
  display:block;
  margin-top:6px;
  color:#7a8277;
  font-size:9px;
  font-weight:750;
  letter-spacing:.5px;
  text-transform:uppercase;
}
.analytics-composition-legend { display:grid; gap:4px; }
.analytics-composition-legend > div {
  display:grid;
  grid-template-columns:10px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid #edf0eb;
}
.analytics-composition-legend > div:last-child { border-bottom:0; }
.analytics-legend-dot {
  width:9px;
  height:9px;
  border-radius:50%;
  background:#5f7d55;
}
.analytics-legend-dot.bounced { background:#c5636c; }
.analytics-legend-dot.failed { background:#9aa198; }
.analytics-composition-legend div > div b,
.analytics-composition-legend div > div small { display:block; }
.analytics-composition-legend div > div b {
  color:#30372e;
  font-size:11px;
}
.analytics-composition-legend div > div small {
  margin-top:2px;
  color:#8a9187;
  font-size:9px;
}
.analytics-composition-legend strong {
  color:#252d23;
  font-size:13px;
  text-align:right;
}
.analytics-composition-legend strong em {
  display:block;
  margin-top:2px;
  color:#727a70;
  font-size:10px;
  font-style:normal;
  font-weight:750;
}

.analytics-engagement-gauges {
  display:grid;
  grid-template-columns:repeat(3,minmax(135px,1fr));
  gap:12px;
  min-height:220px;
  align-items:center;
}
.analytics-engagement-gauge {
  min-width:0;
  text-align:center;
}
.analytics-gauge-ring {
  --pct:0;
  --gauge:#69895f;
  position:relative;
  display:grid;
  width:116px;
  height:116px;
  margin:0 auto 11px;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--gauge) calc(var(--pct) * 1%), #e9ede7 0);
}
.analytics-gauge-ring.replied { --gauge:#4d708f; }
.analytics-gauge-ring.clicked { --gauge:#93774a; }
.analytics-gauge-ring::after {
  content:"";
  position:absolute;
  inset:10px;
  border-radius:50%;
  background:#fff;
}
.analytics-gauge-ring > div {
  position:relative;
  z-index:1;
}
.analytics-gauge-ring b,
.analytics-gauge-ring span { display:block; }
.analytics-gauge-ring b {
  color:#252c23;
  font-size:20px;
  letter-spacing:-.3px;
}
.analytics-gauge-ring span {
  margin-top:2px;
  color:#798176;
  font-size:9px;
  font-weight:800;
  letter-spacing:.4px;
  text-transform:uppercase;
}
.analytics-engagement-gauge > strong {
  display:block;
  color:#30382e;
  font-size:12px;
}
.analytics-engagement-gauge > strong span {
  color:#7a8178;
  font-size:9.5px;
  font-weight:600;
}
.analytics-engagement-gauge > small {
  display:block;
  max-width:140px;
  margin:4px auto 0;
  color:#8a9087;
  font-size:9px;
  line-height:1.35;
}

.analytics-volume-panel { overflow:hidden; }
.analytics-volume-summary {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:-4px 0 16px;
  padding-bottom:12px;
  border-bottom:1px solid #edf0eb;
}
.analytics-volume-summary > span {
  display:grid;
  grid-template-columns:8px auto auto;
  column-gap:6px;
  align-items:center;
}
.analytics-volume-summary i {
  width:7px;
  height:7px;
  border-radius:2px;
  background:#607c57;
}
.analytics-volume-summary i.bounced { background:#c5636c; }
.analytics-volume-summary i.failed { background:#9aa198; }
.analytics-volume-summary b {
  color:#596157;
  font-size:9px;
  font-weight:750;
}
.analytics-volume-summary strong {
  color:#282f26;
  font-size:11px;
}
.analytics-volume-summary small {
  grid-column:2 / -1;
  margin-top:2px;
  color:#8a9087;
  font-size:8.5px;
}
.analytics-volume-plot {
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  min-height:220px;
}
.analytics-y-axis {
  display:flex;
  min-height:184px;
  padding:0 7px 22px 0;
  flex-direction:column;
  justify-content:space-between;
  color:#969c93;
  font-size:8px;
  text-align:right;
}
.analytics-volume-stage {
  position:relative;
  min-width:0;
  overflow-x:auto;
}
.analytics-gridline {
  position:absolute;
  z-index:0;
  right:0;
  left:0;
  height:1px;
  background:#edf0eb;
  pointer-events:none;
}
.analytics-gridline.g100 { top:0; }
.analytics-gridline.g75 { top:40px; }
.analytics-gridline.g50 { top:80px; }
.analytics-gridline.g25 { top:120px; }
.analytics-gridline.g0 { top:160px; }
.analytics-volume-bars {
  position:relative;
  z-index:1;
  display:flex;
  min-width:max-content;
  min-height:184px;
  align-items:flex-end;
  gap:7px;
  padding:0 6px;
}
.analytics-volume-day {
  display:grid;
  width:38px;
  flex:0 0 38px;
  grid-template-rows:160px 18px;
  gap:6px;
}
.analytics-volume-bar-group {
  display:flex;
  height:160px;
  align-items:flex-end;
  justify-content:center;
  gap:2px;
}
.analytics-volume-bar {
  display:block;
  width:8px;
  min-height:0;
  border-radius:3px 3px 0 0;
  background:#607c57;
  transition:opacity .15s ease, transform .15s ease;
}
.analytics-volume-bar:hover { opacity:.78; transform:translateY(-1px); }
.analytics-volume-bar.bounced { background:#c5636c; }
.analytics-volume-bar.failed { background:#9aa198; }
.analytics-volume-day small {
  overflow:hidden;
  color:#858c82;
  font-size:8px;
  text-align:center;
  text-overflow:ellipsis;
  white-space:nowrap;
}


.analytics-campaign-outcome-head { align-items:flex-start; }
.analytics-campaign-picker {
  position:relative;
  z-index:20;
  flex:0 0 auto;
}
.analytics-campaign-picker summary {
  display:flex;
  min-width:170px;
  min-height:36px;
  padding:8px 10px 8px 12px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid #d8ddd5;
  border-radius:7px;
  background:#fff;
  color:#454d42;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.analytics-campaign-picker summary::-webkit-details-marker { display:none; }
.analytics-campaign-picker summary svg {
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  transition:transform .16s ease;
}
.analytics-campaign-picker[open] summary {
  border-color:#aebaa8;
  box-shadow:0 0 0 2px rgba(96,124,87,.08);
}
.analytics-campaign-picker[open] summary svg { transform:rotate(180deg); }
.analytics-campaign-picker-menu {
  position:absolute;
  top:calc(100% + 6px);
  right:0;
  width:260px;
  max-height:310px;
  padding:6px;
  overflow:auto;
  border:1px solid #d8ddd5;
  border-radius:9px;
  background:#fff;
  box-shadow:0 14px 30px rgba(35,48,32,.16);
}
.analytics-campaign-picker-option {
  display:flex;
  min-height:34px;
  margin:0;
  padding:7px 8px;
  align-items:center;
  gap:8px;
  border-radius:6px;
  color:#4e564b;
  font-size:10px;
  font-weight:650;
  cursor:pointer;
}
.analytics-campaign-picker-option:hover { background:#f4f6f2; }
.analytics-campaign-picker-option.all { color:#33402f; font-weight:800; }
.analytics-campaign-picker-option input {
  width:14px;
  height:14px;
  min-height:0;
  margin:0;
  flex:0 0 14px;
  accent-color:#607c57;
}
.analytics-campaign-picker-option span {
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-campaign-picker-divider {
  height:1px;
  margin:4px 3px;
  background:#e9ece6;
}

.analytics-campaign-outcomes {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.analytics-outcome-row {
  min-width:0;
  padding:14px;
  border:1px solid #e2e6df;
  border-radius:10px;
  background:#fff;
}
.analytics-outcome-row:first-child,
.analytics-outcome-row:last-child { padding:14px; border:1px solid #e2e6df; }
.analytics-outcome-empty { grid-column:1 / -1; }
.analytics-outcome-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:8px;
}
.analytics-outcome-head > div {
  display:flex;
  min-width:0;
  align-items:center;
  gap:7px;
}
.analytics-outcome-head b {
  min-width:0;
  overflow:hidden;
  color:#2b3329;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-outcome-head strong {
  flex:0 0 auto;
  color:#757d72;
  font-size:9.5px;
}
.analytics-outcome-stack,
.analytics-template-stack {
  display:flex;
  width:100%;
  height:13px;
  overflow:hidden;
  border-radius:99px;
  background:#edf0eb;
}
.analytics-outcome-stack > span,
.analytics-template-stack > span {
  display:block;
  height:100%;
  min-width:0;
}
.analytics-outcome-stack .delivered,
.analytics-template-stack .delivered { background:#607c57; }
.analytics-outcome-stack .bounced,
.analytics-template-stack .bounced { background:#c5636c; }
.analytics-outcome-stack .failed,
.analytics-template-stack .failed { background:#9aa198; }

.analytics-outcome-key {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:8px;
}
.analytics-outcome-key span {
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#687064;
  font-size:8.5px;
  font-weight:750;
}
.analytics-outcome-key span::before {
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#607c57;
}
.analytics-outcome-key .open::before { background:#6c9466; }
.analytics-outcome-key .reply::before { background:#4d708f; }
.analytics-outcome-key .bounce::before { background:#c5636c; }

.analytics-outcome-stats {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:8px;
}
.analytics-outcome-stats > span {
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#737b70;
  font-size:8.8px;
}
.analytics-outcome-stats i {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#607c57;
}
.analytics-outcome-stats i.bounced { background:#c5636c; }
.analytics-outcome-stats i.failed { background:#9aa198; }
.analytics-outcome-stats i.open { background:#6c9466; }
.analytics-outcome-stats i.reply { background:#4d708f; }
.analytics-outcome-stats b { color:#353d33; }
.analytics-outcome-stats em {
  color:#7d857a;
  font-style:normal;
  font-weight:700;
}
.analytics-outcome-stats .engagement {
  padding-left:8px;
  border-left:1px solid #dde1da;
}

.analytics-outcome-gauges {
  display:grid;
  grid-template-columns:repeat(4,minmax(88px,1fr));
  gap:12px;
  margin-top:12px;
  padding:13px 12px;
  border:1px solid #e4e8e1;
  border-radius:9px;
  background:#fafbf9;
}
.analytics-outcome-gauges .analytics-matrix-gauge-ring {
  width:72px;
  height:72px;
  margin-bottom:6px;
}
.analytics-outcome-gauges .analytics-matrix-gauge-ring::after { inset:8px; }
.analytics-outcome-gauges .analytics-matrix-gauge-ring b { font-size:11.5px; }
.analytics-outcome-gauges .analytics-matrix-gauge-ring span { font-size:6.8px; }
.analytics-outcome-gauges .analytics-matrix-gauge > strong { font-size:10px; }
.analytics-outcome-gauges .analytics-matrix-gauge > small { font-size:7.5px; }


.analytics-chart-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.analytics-horizontal-chart { display:grid; gap:0; }
.analytics-hbar-row {
  padding:11px 0;
  border-bottom:1px solid #edf0eb;
}
.analytics-hbar-row:first-child { padding-top:0; }
.analytics-hbar-row:last-child { padding-bottom:0; border-bottom:0; }
.analytics-hbar-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}
.analytics-hbar-head b {
  min-width:0;
  overflow:hidden;
  color:#30382e;
  font-size:10.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-hbar-head span {
  flex:0 0 auto;
  color:#697166;
  font-size:9px;
}
.analytics-hbar-head strong { color:#a44b53; }
.analytics-hbar-head em {
  color:#8b434a;
  font-style:normal;
  font-weight:800;
}
.analytics-hbar-track {
  position:relative;
  height:9px;
  overflow:hidden;
  border-radius:99px;
  background:#f0f2ee;
}
.analytics-hbar-track > span {
  display:block;
  height:100%;
  border-radius:99px;
  background:#c5636c;
}
.analytics-hbar-row small {
  display:block;
  margin-top:5px;
  color:#8a9187;
  font-size:8.8px;
}

.analytics-template-row {
  padding:11px 0;
  border-bottom:1px solid #edf0eb;
}
.analytics-template-row:first-child { padding-top:0; }
.analytics-template-row:last-child { padding-bottom:0; border-bottom:0; }
.analytics-template-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:7px;
}
.analytics-template-head b {
  min-width:0;
  overflow:hidden;
  color:#30382e;
  font-size:10.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-template-head span {
  flex:0 0 auto;
  color:#737b70;
  font-size:9px;
}
.analytics-template-head strong { color:#527148; }
.analytics-template-stack { height:10px; }
.analytics-template-stats {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:6px;
  color:#878e84;
  font-size:8.5px;
}

.analytics-heatmap { min-width:0; }
.analytics-heatmap-scroll {
  max-width:100%;
  overflow:auto;
  border:1px solid #e4e8e1;
  border-radius:8px;
}
.analytics-heatmap-table {
  width:max-content;
  min-width:100%;
  margin:0;
  border:0!important;
}
.analytics-heatmap-table th,
.analytics-heatmap-table td {
  min-width:92px;
  padding:5px!important;
  border-right:1px solid #edf0eb;
  border-bottom:1px solid #edf0eb;
  text-align:center;
}
.analytics-heatmap-table thead th {
  position:sticky;
  z-index:2;
  top:0;
  max-width:120px;
  overflow:hidden;
  background:#f7f9f5;
  color:#626a60;
  font-size:8.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-heatmap-table tbody th {
  position:sticky;
  z-index:1;
  left:0;
  max-width:180px;
  overflow:hidden;
  background:#fafbf9;
  color:#475045;
  font-size:9px;
  text-align:left;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-heat-cell {
  display:grid;
  min-height:46px;
  place-items:center;
  align-content:center;
  border-radius:5px;
  background:rgba(79,107,70,var(--heat-alpha));
}
.analytics-heat-cell b,
.analytics-heat-cell span { display:block; }
.analytics-heat-cell b {
  color:#263123;
  font-size:11px;
}
.analytics-heat-cell span {
  margin-top:1px;
  color:#53604e;
  font-size:8px;
  font-weight:700;
}
.analytics-heatmap-note {
  margin:8px 0 0;
  color:#899087;
  font-size:8.8px;
  line-height:1.4;
}

@media (max-width:1100px) {
  .analytics-overview-grid { grid-template-columns:1fr; }
  .analytics-chart-grid { grid-template-columns:1fr; }
}
@media (max-width:900px) {
  .analytics-campaign-outcomes { grid-template-columns:1fr; }
}
@media (max-width:760px) {
  .analytics-delivery-composition { grid-template-columns:1fr; }
  .analytics-engagement-gauges { grid-template-columns:1fr; gap:20px; }
  .analytics-gauge-ring { width:108px; height:108px; }
  .analytics-outcome-head,
  .analytics-hbar-head,
  .analytics-template-head { align-items:flex-start; flex-direction:column; gap:4px; }
  .analytics-outcome-stats .engagement { padding-left:0; border-left:0; }
  .analytics-outcome-gauges { grid-template-columns:repeat(2,minmax(100px,1fr)); }
  .analytics-campaign-outcome-head { flex-direction:column; }
  .analytics-campaign-picker { width:100%; }
  .analytics-campaign-picker summary { width:100%; }
  .analytics-campaign-picker-menu { right:auto; left:0; width:min(100%,320px); }
}


/* Analytics filters + compact campaign result summary */
.analytics-page-actions {
  flex-wrap:wrap;
  justify-content:flex-end;
}
.analytics-page-actions label {
  min-width:132px;
}
.analytics-page-actions label:nth-child(2) {
  min-width:185px;
}
.analytics-page-actions label:nth-child(3) {
  min-width:160px;
}
.analytics-page-actions select {
  width:100%;
  max-width:220px;
}
#analytics-clear-filters {
  min-height:36px;
  padding-inline:11px;
}
.campaign-result-inline-metrics {
  display:flex;
  align-items:center;
  gap:20px;
  margin-left:2px;
  padding:0 10px 0 4px;
  border-right:1px solid var(--email-border);
}
.campaign-result-mini-stat {
  display:grid;
  grid-template-columns:auto auto;
  grid-template-areas:
    "label label"
    "value rate";
  column-gap:6px;
  align-items:baseline;
  min-width:68px;
  white-space:nowrap;
}
.campaign-result-mini-stat > span {
  grid-area:label;
  color:#7a8277;
  font-size:10px;
  font-weight:850;
  letter-spacing:.35px;
  line-height:1.1;
  text-transform:uppercase;
}
.campaign-result-mini-stat > b {
  grid-area:value;
  color:#273025;
  font-size:19px;
  line-height:1.15;
}
.campaign-result-mini-stat > small {
  grid-area:rate;
  color:#92988f;
  font-size:9.5px;
  line-height:1;
}
.campaign-result-mini-stat:nth-child(2) > b { color:#58744f; }
.campaign-result-mini-stat:nth-child(3) > b { color:#416986; }
.campaign-result-mini-stat:nth-child(4) > b { color:#a34e57; }

@media (max-width:1100px) {
  .campaign-filter-row {
    align-items:flex-start;
    flex-direction:column;
  }
  .campaign-result-actions {
    width:100%;
    justify-content:flex-start;
  }
}
@media (max-width:700px) {
  .campaign-result-inline-metrics {
    order:2;
    width:100%;
    gap:14px;
    padding:6px 0 0;
    border-top:1px solid var(--email-border);
    border-right:0;
  }
  .campaign-result-actions .status-chip { order:1; }
  .campaign-result-actions #responses-edit,
  .campaign-result-actions #responses-resume,
  .campaign-result-actions #responses-delete { order:3; }
}

/* Analytics v3: straightforward charts and comparison plots */
.analytics-clear-overview{grid-template-columns:minmax(320px,.78fr) minmax(460px,1.22fr)}
.analytics-overall-delivery{display:grid;grid-template-columns:170px minmax(0,1fr);gap:24px;min-height:210px;align-items:center}
.analytics-simple-donut{--delivered-end:0;--bounce-end:0;position:relative;display:grid;width:154px;height:154px;place-items:center;border-radius:50%;background:conic-gradient(#607c57 0 calc(var(--delivered-end)*1%),#c5636c calc(var(--delivered-end)*1%) calc(var(--bounce-end)*1%),#969c92 calc(var(--bounce-end)*1%) 100%)}
.analytics-simple-donut::after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}
.analytics-simple-donut>div{position:relative;z-index:1;text-align:center}
.analytics-simple-donut b{display:block;color:#242c22;font-size:27px;line-height:1}
.analytics-simple-donut span{display:block;margin-top:5px;color:#7f877c;font-size:8.5px;font-weight:800;letter-spacing:.4px;text-transform:uppercase}
.analytics-simple-legend{display:grid;gap:3px}
.analytics-simple-legend>div{display:grid;grid-template-columns:9px minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0eb}
.analytics-simple-legend>div:last-child{border-bottom:0}
.analytics-simple-legend i{width:8px;height:8px;border-radius:50%;background:#607c57}
.analytics-simple-legend i.bounced{background:#c5636c}.analytics-simple-legend i.failed{background:#969c92}
.analytics-simple-legend span{color:#50594e;font-size:10px}.analytics-simple-legend b{color:#293127;font-size:11px}
.analytics-simple-legend em{min-width:45px;color:#737b70;font-size:9.5px;font-style:normal;font-weight:800;text-align:right}

.analytics-metric-chart{display:grid;min-height:210px;align-content:center;gap:16px}
.analytics-metric-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.analytics-metric-head>span{color:#424b40;font-size:10.5px;font-weight:750}.analytics-metric-head strong{color:#293127;font-size:11px}
.analytics-metric-head em{margin-left:5px;color:#687266;font-size:10px;font-style:normal}
.analytics-metric-track{height:13px;overflow:hidden;border-radius:99px;background:#eef1ec}
.analytics-metric-track>span{display:block;height:100%;border-radius:99px;background:#6c9466}
.analytics-metric-track>span.replied{background:#4d708f}.analytics-metric-track>span.clicked{background:#9a7a43}
.analytics-metric-row small{display:block;margin-top:5px;color:#8a9187;font-size:8.8px}

.analytics-comparison-scale{display:grid;grid-template-columns:repeat(5,1fr);margin:0 106px 8px 160px;color:#969d94;font-size:8px}
.analytics-comparison-scale span:nth-child(1){text-align:left}.analytics-comparison-scale span:not(:first-child):not(:last-child){text-align:center}.analytics-comparison-scale span:last-child{text-align:right}
.analytics-comparison-group{display:grid;grid-template-columns:150px minmax(0,1fr);gap:10px;padding:13px 0;border-bottom:1px solid #edf0eb}
.analytics-comparison-group:last-child{border-bottom:0}
.analytics-comparison-name{min-width:0;padding-top:3px}.analytics-comparison-name b,.analytics-comparison-name span{display:block}
.analytics-comparison-name b{overflow:hidden;color:#30382e;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.analytics-comparison-name span{margin-top:4px;color:#8a9187;font-size:8.8px}
.analytics-comparison-bars{display:grid;gap:7px}
.analytics-comparison-metric{display:grid;grid-template-columns:58px minmax(0,1fr) 52px 44px;gap:8px;align-items:center}
.analytics-comparison-label{color:#697166;font-size:8.8px;font-weight:750}
.analytics-comparison-track{position:relative;height:9px;overflow:hidden;border-radius:99px;background:#eff2ed}
.analytics-comparison-track>span{position:relative;z-index:1;display:block;height:100%;border-radius:99px;background:#607c57}
.analytics-comparison-track>span.opened{background:#6c9466}.analytics-comparison-track>span.replied{background:#4d708f}.analytics-comparison-track>span.bounced{background:#c5636c}
.analytics-comparison-track i{position:absolute;z-index:2;top:0;bottom:0;width:1px;background:rgba(255,255,255,.65)}
.analytics-comparison-track i.q25{left:25%}.analytics-comparison-track i.q50{left:50%}.analytics-comparison-track i.q75{left:75%}
.analytics-comparison-metric strong{color:#3f493c;font-size:9px;text-align:right}.analytics-comparison-metric small{color:#858d82;font-size:8.5px;text-align:right}

.analytics-stack-legend{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid #edf0eb;color:#687166;font-size:8.5px}
.analytics-stack-legend span,.analytics-stack-breakdown span{display:inline-flex;align-items:center;gap:4px}
.analytics-stack-legend i,.analytics-stack-breakdown i{width:8px;height:8px;flex:0 0 auto;border-radius:2px;background:#5f7658}
.analytics-stack-legend i.series-1,.analytics-stack-breakdown i.series-1,.analytics-stack-bar span.series-1{background:#718c67}
.analytics-stack-legend i.series-2,.analytics-stack-breakdown i.series-2,.analytics-stack-bar span.series-2{background:#7d7897}
.analytics-stack-legend i.series-3,.analytics-stack-breakdown i.series-3,.analytics-stack-bar span.series-3{background:#92734f}
.analytics-stack-legend i.series-4,.analytics-stack-breakdown i.series-4,.analytics-stack-bar span.series-4{background:#53788c}
.analytics-stack-legend i.series-5,.analytics-stack-breakdown i.series-5,.analytics-stack-bar span.series-5{background:#9a6f78}
.analytics-stack-legend i.series-6,.analytics-stack-breakdown i.series-6,.analytics-stack-bar span.series-6{background:#777f72}
.analytics-stack-legend i.series-7,.analytics-stack-breakdown i.series-7,.analytics-stack-bar span.series-7{background:#a58b56}
.analytics-stack-row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:9px 14px;padding:12px 0;border-bottom:1px solid #edf0eb}
.analytics-stack-row:last-child{border-bottom:0}.analytics-stack-name{min-width:0}.analytics-stack-name b,.analytics-stack-name span{display:block}
.analytics-stack-name b{overflow:hidden;color:#30382e;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}.analytics-stack-name span{margin-top:3px;color:#8a9187;font-size:8.8px}
.analytics-stack-bar{display:flex;height:18px;overflow:hidden;border-radius:5px;background:#eef1ec}.analytics-stack-bar>span{display:block;height:100%;background:#5f7658}
.analytics-stack-breakdown{grid-column:2;display:flex;gap:9px;flex-wrap:wrap;color:#767e73;font-size:8px}.analytics-stack-breakdown b{color:#3c453a}.analytics-stack-breakdown em{color:#7e867b;font-style:normal;font-weight:700}

@media(max-width:980px){.analytics-clear-overview{grid-template-columns:1fr}.analytics-comparison-scale{display:none}.analytics-comparison-group{grid-template-columns:1fr}.analytics-comparison-name{padding-top:0}.analytics-stack-row{grid-template-columns:1fr}.analytics-stack-breakdown{grid-column:1}}
@media(max-width:650px){.analytics-overall-delivery{grid-template-columns:1fr}.analytics-simple-donut{margin:auto}.analytics-comparison-metric{grid-template-columns:48px minmax(0,1fr) 44px}.analytics-comparison-metric small{display:none}}


/* Circular comparison cards for templates and sending accounts */
.analytics-circle-comparison {
  min-width:0;
}
.analytics-circle-card-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.analytics-circle-card {
  min-width:0;
  padding:14px;
  border:1px solid var(--email-border);
  border-radius:10px;
  background:#fafbf9;
}
.analytics-circle-card-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.analytics-circle-card-head > div {
  min-width:0;
}
.analytics-circle-card-head b,
.analytics-circle-card-head span {
  display:block;
}
.analytics-circle-card-head b {
  overflow:hidden;
  color:#2d352b;
  font-size:11.5px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.analytics-circle-card-head span {
  margin-top:3px;
  color:#7d857b;
  font-size:9px;
}
.analytics-circle-card-head > small {
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:99px;
  background:#eef2eb;
  color:#687165;
  font-size:8.5px;
  font-weight:750;
}
.analytics-circle-metrics {
  display:grid;
  grid-template-columns:repeat(4,minmax(92px,1fr));
  gap:10px;
}
.analytics-circle-metric {
  min-width:0;
  text-align:center;
}
.analytics-circle-gauge {
  --pct:0;
  --gauge:#69895f;
  position:relative;
  display:grid;
  width:92px;
  height:92px;
  margin:0 auto 7px;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--gauge) calc(var(--pct) * 1%), #e8ece6 0);
}
.analytics-circle-gauge.opened { --gauge:#6c9466; }
.analytics-circle-gauge.replied { --gauge:#4d708f; }
.analytics-circle-gauge.bounced { --gauge:#c5636c; }
.analytics-circle-gauge::after {
  content:"";
  position:absolute;
  inset:9px;
  border-radius:50%;
  background:#fff;
}
.analytics-circle-gauge > div {
  position:relative;
  z-index:1;
  min-width:0;
}
.analytics-circle-gauge b,
.analytics-circle-gauge span {
  display:block;
}
.analytics-circle-gauge b {
  color:#293127;
  font-size:15px;
  letter-spacing:-.2px;
}
.analytics-circle-gauge span {
  margin-top:1px;
  color:#7b8378;
  font-size:7.5px;
  font-weight:800;
  letter-spacing:.35px;
  text-transform:uppercase;
}
.analytics-circle-metric > strong {
  display:block;
  color:#354032;
  font-size:10px;
}
.analytics-circle-metric > small {
  display:block;
  margin-top:1px;
  color:#8a9187;
  font-size:8px;
}
@media (max-width:1080px) {
  .analytics-circle-card-grid {
    grid-template-columns:1fr;
  }
}
@media (max-width:620px) {
  .analytics-circle-metrics {
    grid-template-columns:repeat(2,minmax(92px,1fr));
    gap:14px 8px;
  }
}



/* Account × Template performance matrix */
.analytics-performance-matrix-panel{overflow:hidden}
.analytics-matrix-key{display:flex;gap:7px;flex-wrap:wrap}
.analytics-matrix-key span{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border-radius:99px;font-size:8.5px;font-weight:850;letter-spacing:.35px;text-transform:uppercase}
.analytics-matrix-key .delivery{background:#e8f1e5;color:#476140}
.analytics-matrix-key .open{background:#e9f4e6;color:#52734b}
.analytics-matrix-key .reply{background:#e8f0f8;color:#3f6483}
.analytics-matrix-key .bounce{background:#f9e9eb;color:#a24750}

.analytics-matrix-scroll{max-width:100%;overflow:auto;border:1px solid #dfe4dc;border-radius:10px;background:#fff}
.analytics-performance-matrix-table{width:max-content;min-width:100%;margin:0!important;border:0!important;border-collapse:separate;border-spacing:0}
.analytics-performance-matrix-table th,.analytics-performance-matrix-table td{box-sizing:border-box;border-right:1px solid #e7ebe4;border-bottom:1px solid #e7ebe4;vertical-align:top}
.analytics-performance-matrix-table tr:last-child th,.analytics-performance-matrix-table tr:last-child td{border-bottom:0}
.analytics-performance-matrix-table tr th:last-child,.analytics-performance-matrix-table tr td:last-child{border-right:0}
.analytics-performance-matrix-table thead th{position:sticky;z-index:4;top:0;background:#f8faf7}
.analytics-matrix-corner{left:0;z-index:6!important;width:210px;min-width:210px;padding:10px 12px!important;text-align:left!important;background:#eef3eb!important;box-shadow:1px 0 0 #dfe4dc}
.analytics-matrix-corner-direction{padding-bottom:7px;border-bottom:1px solid #d8e0d4}
.analytics-matrix-corner-direction span,.analytics-matrix-corner-direction b{display:block}
.analytics-matrix-corner-direction span{color:#6a7466;font-size:8px;font-weight:850;letter-spacing:.5px;text-transform:uppercase}
.analytics-matrix-corner-direction b{margin-top:3px;color:#293227;font-size:10.5px}
.analytics-matrix-corner-stats{display:grid;gap:4px;margin-top:7px}
.analytics-matrix-corner-stats>span{display:flex;align-items:center;justify-content:space-between;gap:8px}
.analytics-matrix-corner-stats small{color:#778071;font-size:7.5px;font-weight:850;letter-spacing:.35px;text-transform:uppercase}
.analytics-matrix-corner-stats b{color:#273025;font-size:12px;line-height:1}

.analytics-matrix-template-head{width:300px;min-width:300px;padding:8px!important}
.analytics-matrix-account-head{position:sticky;z-index:3;left:0;width:210px;min-width:210px;padding:8px!important;background:#fafbf9!important;box-shadow:1px 0 0 #dfe4dc}
.analytics-matrix-summary{min-width:0;padding:8px;border-radius:7px;background:#fff;text-align:left}
.analytics-matrix-summary.account{border-left:4px solid #5f7658}
.analytics-matrix-summary.template{border-top:3px solid #73846c}
.analytics-matrix-summary-type{display:block;margin-bottom:3px;color:#8a9187;font-size:7px;font-weight:900;letter-spacing:.55px}
.analytics-matrix-summary>b{display:block;overflow:hidden;color:#283126;font-size:10.5px;text-overflow:ellipsis;white-space:nowrap}
.analytics-matrix-summary>strong{display:block;margin-top:3px;color:#5e685b;font-size:9px}
.analytics-matrix-summary-circles{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr));gap:5px;margin-top:8px}

.analytics-performance-matrix-table td{width:300px;min-width:300px;padding:8px;background:#fff}
.analytics-matrix-cell{padding:9px;border:1px solid #e3e7e0;border-radius:8px;background:#fcfdfb}
.analytics-matrix-cell:hover{border-color:#bfc9bb;box-shadow:0 5px 16px rgba(35,48,32,.08)}
.analytics-matrix-cell-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;padding-bottom:7px;border-bottom:1px solid #e8ebe6}
.analytics-matrix-cell-head>div{display:flex;align-items:baseline;gap:6px}
.analytics-matrix-cell-head span{color:#7d8579;font-size:7px;font-weight:900;letter-spacing:.5px}
.analytics-matrix-cell-head b{color:#232b21;font-size:18px;line-height:1}
.analytics-matrix-cell-head>strong{color:#4d5a49;font-size:9.5px}
.analytics-matrix-cell-head>strong small{color:#8a9187;font-size:7.5px;font-weight:650}
.analytics-matrix-cell-gauges{display:grid;grid-template-columns:repeat(4,minmax(52px,1fr));gap:7px}
.analytics-matrix-gauge{min-width:0;text-align:center}
.analytics-matrix-gauge-ring{--pct:0;--gauge:#607c57;position:relative;display:grid;width:62px;height:62px;margin:0 auto 5px;place-items:center;border-radius:50%;background:conic-gradient(var(--gauge) calc(var(--pct)*1%),#e9ede7 0)}
.analytics-matrix-gauge-ring.open{--gauge:#6c9466}
.analytics-matrix-gauge-ring.reply{--gauge:#4d708f}
.analytics-matrix-gauge-ring.bounce{--gauge:#c5636c}
.analytics-matrix-gauge-ring::after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}
.analytics-matrix-gauge-ring>div{position:relative;z-index:1}
.analytics-matrix-gauge-ring b,.analytics-matrix-gauge-ring span{display:block}
.analytics-matrix-gauge-ring b{color:#283126;font-size:10px;line-height:1}
.analytics-matrix-gauge-ring span{margin-top:2px;color:#788076;font-size:6.3px;font-weight:850;letter-spacing:.25px;text-transform:uppercase}
.analytics-matrix-gauge>strong{display:block;color:#354032;font-size:9px;line-height:1.1}
.analytics-matrix-gauge>small{display:block;margin-top:1px;color:#899087;font-size:7px}
.analytics-matrix-gauge.compact .analytics-matrix-gauge-ring{width:44px;height:44px;margin-bottom:3px}
.analytics-matrix-gauge.compact .analytics-matrix-gauge-ring::after{inset:5px}
.analytics-matrix-gauge.compact .analytics-matrix-gauge-ring b{font-size:7.3px}
.analytics-matrix-gauge.compact .analytics-matrix-gauge-ring span{font-size:5px}
.analytics-matrix-gauge.compact>strong{font-size:7px}
.analytics-matrix-gauge.compact>small{font-size:5.8px}
.analytics-matrix-empty-cell{position:relative;height:176px;background:#fafbf9!important;text-align:center!important;vertical-align:middle!important}
.analytics-matrix-empty-cell span{display:inline-grid;width:30px;height:30px;place-items:center;border-radius:50%;background:#eef1ec;color:#a1a79e;font-size:13px}

.analytics-matrix-template-head,
.analytics-matrix-account-head,
.analytics-performance-matrix-table td{position:relative}

@media (hover:hover) and (pointer:fine){
  .analytics-matrix-summary,
  .analytics-matrix-cell,
  .analytics-matrix-corner{cursor:zoom-in}
  .analytics-matrix-template-head:hover .analytics-matrix-summary,
  .analytics-matrix-account-head:hover .analytics-matrix-summary,
  .analytics-performance-matrix-table td:hover .analytics-matrix-cell{
    border-color:#9cab96;
    background:#fff;
    box-shadow:0 6px 18px rgba(35,48,32,.10);
  }
  .analytics-matrix-corner:hover{
    box-shadow:0 6px 18px rgba(35,48,32,.10);
  }
}

.analytics-matrix-hover-preview{
  position:fixed;
  z-index:10000;
  box-sizing:border-box;
  pointer-events:none;
  border:1px solid #9cab96;
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 42px rgba(35,48,32,.22);
  overflow:hidden;
}
.analytics-matrix-hover-preview[hidden]{display:none!important}
.analytics-matrix-hover-preview .analytics-matrix-hover-clone{
  box-sizing:border-box;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  transform:none!important;
}
.analytics-matrix-hover-preview .analytics-matrix-summary{
  padding:15px;
  border-radius:0;
  border-color:transparent;
  background:#fff;
  box-shadow:none;
}
.analytics-matrix-hover-preview .analytics-matrix-summary-type{font-size:9px}
.analytics-matrix-hover-preview .analytics-matrix-summary>b{font-size:14px}
.analytics-matrix-hover-preview .analytics-matrix-summary>strong{margin-top:5px;font-size:12px}
.analytics-matrix-hover-preview .analytics-matrix-summary-circles{gap:10px;margin-top:12px}
.analytics-matrix-hover-preview .analytics-matrix-gauge.compact .analytics-matrix-gauge-ring{
  width:66px;
  height:66px;
  margin-bottom:5px;
}
.analytics-matrix-hover-preview .analytics-matrix-gauge.compact .analytics-matrix-gauge-ring::after{inset:7px}
.analytics-matrix-hover-preview .analytics-matrix-gauge.compact .analytics-matrix-gauge-ring b{font-size:10px}
.analytics-matrix-hover-preview .analytics-matrix-gauge.compact .analytics-matrix-gauge-ring span{font-size:6.2px}
.analytics-matrix-hover-preview .analytics-matrix-gauge.compact>strong{font-size:9px}
.analytics-matrix-hover-preview .analytics-matrix-gauge.compact>small{font-size:7px}

.analytics-matrix-hover-preview .analytics-matrix-cell{
  padding:14px;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.analytics-matrix-hover-preview .analytics-matrix-cell-head{margin-bottom:13px;padding-bottom:10px}
.analytics-matrix-hover-preview .analytics-matrix-cell-head span{font-size:9px}
.analytics-matrix-hover-preview .analytics-matrix-cell-head b{font-size:24px}
.analytics-matrix-hover-preview .analytics-matrix-cell-head>strong{font-size:12px}
.analytics-matrix-hover-preview .analytics-matrix-cell-head>strong small{font-size:9px}
.analytics-matrix-hover-preview .analytics-matrix-cell-gauges{grid-template-columns:repeat(4,minmax(78px,1fr));gap:12px}
.analytics-matrix-hover-preview .analytics-matrix-gauge-ring{
  width:82px;
  height:82px;
  margin-bottom:7px;
}
.analytics-matrix-hover-preview .analytics-matrix-gauge-ring::after{inset:9px}
.analytics-matrix-hover-preview .analytics-matrix-gauge-ring b{font-size:13px}
.analytics-matrix-hover-preview .analytics-matrix-gauge-ring span{font-size:7.5px}
.analytics-matrix-hover-preview .analytics-matrix-gauge>strong{font-size:11px}
.analytics-matrix-hover-preview .analytics-matrix-gauge>small{font-size:8.5px}

.analytics-matrix-hover-preview[data-kind="corner"]{background:#eef3eb}
.analytics-matrix-hover-preview .analytics-matrix-corner{
  position:static!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:15px 16px!important;
  background:#eef3eb!important;
  box-shadow:none!important;
}
.analytics-matrix-hover-preview .analytics-matrix-corner-direction{padding-bottom:10px}
.analytics-matrix-hover-preview .analytics-matrix-corner-direction span{font-size:10px}
.analytics-matrix-hover-preview .analytics-matrix-corner-direction b{font-size:14px}
.analytics-matrix-hover-preview .analytics-matrix-corner-stats{gap:7px;margin-top:10px}
.analytics-matrix-hover-preview .analytics-matrix-corner-stats small{font-size:9px}
.analytics-matrix-hover-preview .analytics-matrix-corner-stats b{font-size:16px}

@media(max-width:980px){
  .analytics-matrix-corner,.analytics-matrix-account-head{width:190px;min-width:190px}
  .analytics-matrix-template-head,.analytics-performance-matrix-table td{width:280px;min-width:280px}
}
@media(max-width:620px){
  .analytics-matrix-key{display:none}
  .analytics-matrix-corner,.analytics-matrix-account-head{width:170px;min-width:170px}
  .analytics-matrix-template-head,.analytics-performance-matrix-table td{width:260px;min-width:260px}
}

/* Process carrier workflow reused by Contacts and Response Inbox */
#process-modal.campaign-process-modal {
  position:fixed;
  inset:0;
  z-index:120;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(23,32,42,.6);
}
#process-modal.campaign-process-modal.show { display:flex; }
#process-modal .modal-card {
  display:flex;
  flex-direction:column;
  background:#fff;
  box-shadow:0 25px 70px rgba(0,0,0,.33);
}
#process-modal .btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:34px;
  padding:7px 11px;
  border:1px solid transparent;
  border-radius:6px;
  background:#283126;
  color:#fff;
  font:inherit;
  font-size:11px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
}
#process-modal .btn.secondary {
  border-color:#cfd5ca;
  background:#fff;
  color:#343d32;
}
#process-modal .btn.icon { min-width:34px; padding:0; }
#process-modal .btn.small { min-height:32px; padding:6px 9px; font-size:10px; }
#process-modal .btn:disabled { opacity:.55; cursor:not-allowed; }
#process-modal .toolbar { display:flex; gap:8px; flex-wrap:wrap; }
#process-modal .empty { color:#757d72; font-size:11px; }
#process-modal .empty b { display:block; margin-bottom:4px; color:#363e34; }
#process-modal .detail-empty { color:#858c82; font-weight:500; }

.contact-action-heading { width:64px; text-align:center; }
.contact-row-actions { text-align:center; }
.contact-row-actions .response-icon-button { margin:auto; }
.operational-response-table .response-action-heading { width:122px; }
.response-carrier-eye svg,
.contact-carrier-eye svg {
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
