/* Legacy surface anatomy. The Alpine presentation adapter in managed-outreach.css
   supplies the active tokens and licensed Plex fonts from app/layout.tsx. */

/* Canonical Trace email history */
.traceEmailHistory {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.traceEmailFilters {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  min-width: 0;
}

.traceEmailContactFilters,
.traceEmailDirectionFilters {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.traceEmailContactFilters button,
.traceEmailDirectionFilters button {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--satori-blue-2);
  cursor: pointer;
  font-size: 0.6875rem;
  line-height: 1.2;
  min-height: 30px;
  padding: 6px 10px;
}

.traceEmailContactFilters button {
  align-items: center;
  display: inline-flex;
  gap: 5px;
}

.traceEmailContactFilters button small {
  color: var(--muted);
  font-size: 0.625rem;
  text-transform: uppercase;
}

.traceEmailContactFilters button[data-active="true"],
.traceEmailDirectionFilters button[data-active="true"] {
  background: var(--satori-blue);
  border-color: var(--satori-blue);
  color: #fff;
}

.traceEmailContactFilters button[data-active="true"] small {
  color: #dbe4ef;
}

.traceEmailSyncWarning,
.traceEmailError {
  align-items: flex-start;
  background: #fff7ea;
  border: 1px solid var(--satori-orange);
  color: #78440d;
  display: flex;
  font-size: 0.75rem;
  gap: 8px;
  line-height: 1.4;
  padding: 9px 10px;
}

.traceEmailSyncWarning svg,
.traceEmailError svg {
  flex: 0 0 auto;
  margin-top: 1px;
}

.traceEmailError {
  background: var(--satori-rose-2);
  border-color: var(--satori-rose);
  color: var(--danger);
}

.traceEmailError span {
  flex: 1;
  min-width: 0;
  overflow-wrap: anywhere;
}

.traceEmailError button,
.traceEmailBodyError button {
  background: #fff;
  border: 1px solid currentColor;
  color: inherit;
  cursor: pointer;
  font-size: 0.6875rem;
  padding: 4px 8px;
}

.traceEmailTimeline {
  display: grid;
  gap: 9px;
  min-width: 0;
}

.traceEmailCard {
  background: #fff;
  border: 1px solid var(--ink-hairline);
  display: grid;
  grid-template-columns: 4px minmax(0, 1fr);
  min-width: 0;
}

.traceEmailCardAccent {
  background: var(--satori-gray);
}

.traceEmailCard[data-direction="inbound"] .traceEmailCardAccent {
  background: #5b9489;
}

.traceEmailCard[data-direction="outbound"] .traceEmailCardAccent {
  background: #4c76a8;
}

.traceEmailCard[data-direction="ambiguous"] .traceEmailCardAccent {
  background: var(--satori-orange);
}

.traceEmailCardContent {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 11px 12px;
}

.traceEmailCardHeader {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  min-width: 0;
}

.traceEmailCardIdentity {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.traceEmailDirection {
  color: var(--satori-blue-2);
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.traceEmailParticipants {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.traceEmailCardHeader time {
  color: var(--muted);
  flex: 0 0 auto;
  font-size: 0.6875rem;
  line-height: 1.3;
  text-align: right;
}

.traceEmailSubject {
  color: var(--satori-blue);
  font-size: 0.875rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.traceEmailPreview {
  color: var(--foreground);
  font-size: 0.75rem;
  line-height: 1.45;
  margin: 0;
  overflow-wrap: anywhere;
}

.traceEmailMeta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.traceEmailMeta span {
  background: var(--panel-alt);
  border: 1px solid var(--ink-wash);
  color: var(--muted);
  font-size: 0.625rem;
  line-height: 1.2;
  padding: 3px 6px;
}

.traceEmailMeta .traceEmailWarning {
  background: #fff7ea;
  border-color: rgba(177, 106, 27, 0.25);
  color: var(--warning);
}

.traceEmailExpand,
.traceEmailQuotedToggle,
.traceEmailLoadOlder {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--satori-blue-2);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 5px;
  justify-self: start;
  padding: 3px 0;
}

.traceEmailBody {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 9px;
  margin-top: 2px;
  min-width: 0;
  padding-top: 10px;
}

.traceEmailBodyText,
.traceEmailQuotedText {
  color: var(--foreground);
  font-family: var(--font-data);
  font-size: 0.75rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.traceEmailQuotedText {
  background: var(--panel-alt);
  border-left: 3px solid var(--satori-light-blue-2);
  color: var(--muted);
  max-height: 360px;
  overflow: auto;
  padding: 9px 10px;
}

.traceEmailQuoted,
.traceEmailAttachments {
  display: grid;
  gap: 6px;
}

.traceEmailBodyState,
.traceEmailBodyLoading,
.traceEmailBodyError {
  align-items: flex-start;
  color: var(--muted);
  display: flex;
  font-size: 0.6875rem;
  gap: 7px;
  line-height: 1.4;
}

.traceEmailBodyError {
  color: var(--danger);
  justify-content: space-between;
}

.traceEmailAttachment {
  align-items: center;
  background: var(--panel-alt);
  border: 1px solid var(--line);
  display: grid;
  gap: 7px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  min-width: 0;
  padding: 7px 8px;
}

.traceEmailAttachment span {
  font-size: 0.6875rem;
  font-weight: 700;
  min-width: 0;
  overflow-wrap: anywhere;
}

.traceEmailAttachment small {
  color: var(--muted);
  font-size: 0.625rem;
  text-align: right;
}

.traceEmailLoadOlder {
  border: 1px solid var(--satori-light-blue-2);
  justify-self: center;
  padding: 7px 14px;
}

.traceEmailLoadOlder:disabled {
  cursor: wait;
  opacity: 0.65;
}

.traceEmailRefreshing {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: 0.625rem;
  gap: 5px;
  justify-content: center;
}

.traceEmailEmpty {
  align-items: center;
  background: var(--panel-alt);
  border: 1px dashed var(--line-strong);
  color: var(--muted);
  display: grid;
  gap: 5px;
  justify-items: center;
  min-height: 130px;
  padding: 20px;
  text-align: center;
}

.traceEmailEmpty strong {
  color: var(--satori-blue);
  font-size: 0.8125rem;
}

.traceEmailEmpty span {
  font-size: 0.6875rem;
  line-height: 1.4;
}

.traceEmailSkeleton {
  background: #fff;
  border: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding: 12px;
}

.traceEmailSkeleton span {
  animation: traceEmailPulse 1.35s ease-in-out infinite;
  background: var(--satori-gray-2);
  display: block;
  height: 10px;
  width: 40%;
}

.traceEmailSkeleton span:nth-child(2) {
  height: 14px;
  width: 62%;
}

.traceEmailSkeleton span:nth-child(3) {
  width: 88%;
}

@keyframes traceEmailPulse {
  0%,
  100% {
    opacity: 0.55;
  }
  50% {
    opacity: 1;
  }
}

.traceEmailHistoryCompact .traceEmailCardContent {
  padding: 9px 10px;
}

.traceEmailHistoryCompact .traceEmailTimeline {
  max-height: 520px;
  overflow: auto;
  padding-right: 3px;
}

@media (max-width: 768px) {
  .traceEmailFilters,
  .traceEmailCardHeader {
    align-items: stretch;
    flex-direction: column;
  }

  .traceEmailCardHeader time {
    text-align: left;
  }

  .traceEmailAttachment {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .traceEmailAttachment small {
    grid-column: 2;
    text-align: left;
  }
}

@media (max-width: 390px) {
  .traceEmailContactFilters button,
  .traceEmailDirectionFilters button {
    max-width: 100%;
  }

  .traceEmailCardContent {
    padding: 9px;
  }

  .traceEmailParticipants,
  .traceEmailSubject,
  .traceEmailPreview,
  .traceEmailBodyText,
  .traceEmailQuotedText {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

:root {
  --satori-blue: #1f2a44;
  --satori-blue-2: #3d5361;
  --satori-blue-50: #eef3f6;
  --satori-light-blue: #7a99ac;
  --satori-light-blue-2: #c1d0d9;
  --satori-green: #9db0ac;
  --satori-green-2: #e1e7e5;
  --satori-orange: #e6a65d;
  --satori-orange-2: #f5dabd;
  --satori-gray: #d9d9d6;
  --satori-gray-2: #e7e7e5;
  --satori-plum: #65506f;
  --satori-plum-2: #ede7f0;
  --satori-rose: #d9877d;
  --satori-rose-2: #f8e7e4;
  --satori-brass: #b08d57;
  --satori-slate: #5f6b76;
  --background: #f8f8f6;
  --workspace-background: #f6f8fb;
  --foreground: var(--satori-blue);
  --muted: #696969;
  --line: var(--satori-gray);
  --line-strong: var(--satori-light-blue);
  --panel: #ffffff;
  --panel-alt: #f3f6f7;
  --accent: var(--satori-blue);
  --accent-strong: var(--satori-blue);
  --warning: #8a5310;
  --danger: #9f2a1f;
  --good: #52625f;
  --font-data: "Helvetica Neue", Arial, Helvetica, sans-serif;
  --shadow-hover: 0 1px 4px rgba(31, 42, 68, 0.1);
  --shadow-popover: 0 12px 30px rgba(31, 42, 68, 0.14);
  --shadow-panel: 0 18px 38px rgba(31, 42, 68, 0.18);
  --shadow-toast: 0 18px 40px rgba(31, 42, 68, 0.24);
  --shadow-modal: 0 24px 60px rgba(31, 42, 68, 0.35);
  --sidebar-navy: #041b3a;
  --qa-brown: #70430f;
  --qa-parchment: #f7ead8;
  --ink-wash: rgba(31, 42, 68, 0.08);
  --ink-hairline: rgba(31, 42, 68, 0.14);
  --ink-strong: rgba(31, 42, 68, 0.3);
  --ink-scrim: rgba(31, 42, 68, 0.45);
  --ink-scrim-heavy: rgba(31, 42, 68, 0.82);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  min-height: 100%;
  color: var(--foreground);
  background: var(--background);
  font-family: var(--font-data);
  letter-spacing: 0;
}

button,
input,
select,
textarea {
  font: inherit;
}

a {
  color: inherit;
}

.page {
  min-height: 100vh;
  display: block;
  overflow-x: hidden;
}

.appShell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  min-height: 100vh;
  width: 100%;
}

.appSidebar {
  background: var(--sidebar-navy);
  border-right: 0;
  color: #eaf1fb;
  display: flex;
  flex-direction: column;
  gap: 18px;
  height: 100vh;
  overflow-y: auto;
  padding: 18px 14px;
  position: sticky;
  top: 0;
  z-index: 3;
}

.sidebarBrand {
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  display: flex;
  gap: 10px;
  min-width: 0;
  padding-bottom: 14px;
}

.sidebarBrand > div {
  min-width: 0;
}

.sidebarBrand h1 {
  color: #ffffff;
  font-family: var(--font-brand);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.1;
  margin: 0;
  overflow-wrap: anywhere;
}

.sidebarBrand span {
  color: #d7e7fb;
  display: block;
  font-size: 0.75rem;
  margin-top: 2px;
}

.sidebarBrand small {
  color: #9fb1ca;
  display: block;
  font-size: 0.6875rem;
  line-height: 1.25;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.sidebarSection {
  display: grid;
  gap: 7px;
}

.sidebarSectionLabel {
  color: #9fb1ca;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.sidebarCampaignButton,
.sidebarViewButton,
.sidebarUtilityButton {
  align-items: center;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 4px;
  color: #eef5ff;
  cursor: pointer;
  display: flex;
  gap: 8px;
  min-height: 38px;
  min-width: 0;
  padding: 8px 10px;
  text-align: left;
  text-decoration: none;
  width: 100%;
}

.sidebarCampaignButton {
  font-size: 0.8125rem;
  font-weight: 700;
  justify-content: space-between;
  line-height: 1.25;
}

.sidebarCampaignButton > span:first-child,
.sidebarViewButton span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.sidebarCampaignButton[data-active="true"],
.sidebarViewButton[data-active="true"] {
  background: rgba(0, 154, 151, 0.22);
  border-color: #0b9f9b;
  color: #fff;
}

.sidebarViewButton[data-tone="green"][data-active="true"] {
  background: #4f625f;
  border-color: #4f625f;
}

.sidebarViewButton[data-tone="blue"][data-active="true"] {
  background: var(--satori-light-blue);
  border-color: var(--satori-light-blue);
}

.sidebarViewButton[data-tone="orange"][data-active="true"] {
  background: var(--satori-orange);
  border-color: var(--satori-orange);
}

.sidebarCampaignButton[data-status="archived"] {
  background: #fbf2e7;
  border-color: var(--satori-orange);
  color: var(--warning);
}

.sidebarCampaignButton[data-active="true"][data-status="archived"] {
  background: var(--satori-orange);
  border-color: var(--satori-orange);
  color: #fff;
}

.sidebarCampaignAdd {
  border-style: dashed;
  justify-content: flex-start;
}

.sidebarArchivedToggle {
  background: none;
  color: #9fb1ca;
  justify-content: space-between;
}

.sidebarArchivedToggle:hover {
  color: #eef5ff;
}

.sidebarArchivedToggleLabel {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  min-width: 0;
}

.sidebarArchivedMeta {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 6px;
}

.sidebarArchivedCount {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  color: #eaf1fb;
  font-size: 0.6875rem;
  font-weight: 700;
  min-width: 26px;
  padding: 2px 7px;
  text-align: center;
}

.sidebarViewButton {
  font-size: 0.8125rem;
}

.sidebarCountBadge {
  border-radius: 999px;
  display: inline-flex;
  justify-content: center;
  min-width: 30px;
  padding: 3px 8px;
}

.sidebarCountBadge.navy {
  background: rgba(255, 255, 255, 0.12);
  color: #eaf1fb;
}

.sidebarCountBadge.green {
  background: var(--satori-green-2);
  color: #4f625f;
}

.sidebarCountBadge.blue {
  background: var(--satori-blue-50);
  color: var(--satori-blue-2);
}

.sidebarViewButton[data-active="true"] .sidebarCountBadge {
  background: rgba(255, 255, 255, 0.9);
}

.sidebarViewButton[data-active="true"] .sidebarCountBadge.navy {
  color: var(--satori-blue);
}

.sidebarViewButton strong {
  font-family: var(--font-brand);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
  margin-left: auto;
}

.sidebarUtilities {
  display: grid;
  gap: 8px;
  margin-top: auto;
}

.sidebarUtilities form {
  margin: 0;
}

.sidebarUtilities .syncPill {
  justify-content: flex-start;
  width: 100%;
}

.sidebarUtilityButton {
  font-size: 0.8125rem;
  justify-content: flex-start;
}

.sidebarCampaignButton:hover,
.sidebarViewButton:hover,
.sidebarUtilityButton:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.34);
}

.topbar {
  width: 100%;
  max-width: 100%;
  border-bottom: 2.25px solid var(--satori-blue);
  background: var(--panel);
  padding: 12px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.syncPill {
  border: 1px solid var(--line);
  background: var(--panel-alt);
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  font-size: 0.75rem;
}

.syncPill.error {
  border-color: rgba(159, 42, 31, 0.36);
  color: var(--danger);
}

.brand {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.brand > div {
  min-width: 0;
}

.brandMark {
  width: 42px;
  height: auto;
  flex: 0 0 auto;
}

.brand h1 {
  margin: 0;
  font-family: var(--font-brand);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
  color: var(--satori-blue);
  overflow-wrap: anywhere;
}

.brand span {
  display: block;
  color: var(--muted);
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.main {
  width: 100%;
  max-width: none;
  margin: 0;
  min-width: 0;
  padding: 22px 22px 30px;
}

.mainPipeline {
  height: 100vh;
  overflow: hidden;
  padding: 0;
}

.iconButton {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--satori-blue);
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  min-height: 34px;
  min-width: 34px;
  padding: 0 8px;
}

.iconButton:hover {
  border-color: var(--satori-light-blue);
}

.pipelineWorkspace {
  background: var(--workspace-background);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 440px;
  height: 100vh;
  min-width: 0;
  overflow: hidden;
}

.pipelineMain {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  overflow: hidden;
  padding: 12px 12px 14px;
}

.pipelineMain > .allocatorPipelineBoard {
  flex: 1;
  min-height: 0;
}

.replyIntelligenceShowcase {
  background: #ffffff;
  border: 1px solid var(--ink-hairline);
  border-top: 2px solid var(--satori-green);
  display: grid;
  flex: 0 0 auto;
  gap: 9px;
  min-width: 0;
  padding: 10px;
}

.replyIntelligenceShowcaseHeader {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.replyIntelligenceShowcaseHeader h2 {
  align-items: center;
  color: var(--satori-blue);
  display: flex;
  font-family: var(--font-brand);
  font-size: 1.0625rem;
  font-weight: 400;
  gap: 6px;
  line-height: 1.15;
  margin: 0;
}

.replyIntelligenceShowcaseHeader p {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.35;
  margin: 3px 0 0;
}

.replyIntelligenceShowcaseControls {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 4px;
}

.replyIntelligenceShowcaseControls > span {
  color: var(--muted);
  font-family: var(--font-data);
  font-size: 0.6875rem;
  font-weight: 700;
  margin-right: 3px;
  white-space: nowrap;
}

.replyIntelligenceShowcaseControls button {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--ink-strong);
  border-radius: 4px;
  color: var(--satori-blue);
  cursor: pointer;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  padding: 0;
  width: 28px;
}

.replyIntelligenceShowcaseControls button:hover,
.replyIntelligenceShowcaseControls button:focus-visible {
  background: var(--satori-blue-50);
  border-color: var(--satori-light-blue);
}

.replyIntelligenceShowcaseControls button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.replyIntelligenceShowcaseRail {
  display: grid;
  gap: 8px;
  grid-auto-columns: minmax(276px, 296px);
  grid-auto-flow: column;
  min-width: 0;
  overflow-x: auto;
  padding: 0 0 5px;
  scroll-snap-type: x proximity;
  scrollbar-color: var(--satori-light-blue) #edf1f2;
  scrollbar-width: thin;
}

.replyIntelligenceShowcaseCard {
  background: #f8fafc;
  border: 1px solid rgba(122, 153, 172, 0.36);
  border-radius: 4px;
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 9px;
  scroll-snap-align: start;
}

.replyIntelligenceShowcaseCardTop {
  align-items: flex-start;
  display: flex;
  gap: 8px;
  justify-content: space-between;
  min-width: 0;
}

.replyIntelligenceShowcaseCardTop strong {
  color: var(--satori-blue);
  font-size: 0.75rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.replyIntelligenceShowcaseCardTop > span {
  background: var(--satori-orange-2);
  border: 1px solid var(--satori-orange);
  border-radius: 3px;
  color: var(--warning);
  flex: 0 0 auto;
  font-size: 0.625rem;
  font-weight: 700;
  padding: 3px 5px;
}

.replyIntelligenceShowcaseContact {
  align-items: center;
  display: grid;
  gap: 7px;
  grid-template-columns: 30px minmax(0, 1fr);
  min-width: 0;
}

.replyIntelligenceContactAvatar {
  align-items: center;
  background: var(--satori-green);
  border-radius: 50%;
  color: #ffffff;
  display: inline-flex;
  font-family: var(--font-data);
  font-size: 0.625rem;
  font-weight: 700;
  height: 30px;
  justify-content: center;
  letter-spacing: 0.02em;
  width: 30px;
}

.replyIntelligenceShowcaseContact > span:last-child {
  display: grid;
  gap: 1px;
  min-width: 0;
}

.replyIntelligenceShowcaseContact strong {
  color: var(--satori-blue-2);
  font-size: 0.6875rem;
  line-height: 1.2;
}

.replyIntelligenceShowcaseContact small {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: 0.625rem;
  gap: 3px;
  line-height: 1.2;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.replyIntelligenceShowcaseContact small svg {
  flex: 0 0 auto;
}

.replyIntelligenceShowcaseSignals {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.replyIntelligenceShowcaseSignals span {
  background: var(--satori-green-2);
  border: 1px solid rgba(82, 98, 95, 0.26);
  border-radius: 3px;
  color: var(--good);
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 3px 5px;
}

.replyIntelligenceShowcaseCard blockquote {
  color: var(--satori-blue-2);
  display: -webkit-box;
  font-size: 0.6875rem;
  font-style: italic;
  line-height: 1.35;
  margin: 0;
  min-height: 2.7em;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.replyIntelligenceShowcaseFooter {
  align-items: center;
  border-top: 1px solid var(--ink-hairline);
  display: flex;
  gap: 8px;
  justify-content: space-between;
  padding-top: 7px;
}

.replyIntelligenceShowcaseFooter > span {
  color: var(--muted);
  font-family: var(--font-data);
  font-size: 0.625rem;
  white-space: nowrap;
}

.replyIntelligenceShowcaseFooter a {
  align-items: center;
  color: var(--satori-blue);
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 4px;
  text-decoration: none;
  white-space: nowrap;
}

.replyIntelligenceShowcaseFooter a:hover,
.replyIntelligenceShowcaseFooter a:focus-visible {
  text-decoration: underline;
}

.replyIntelligenceShowcaseState {
  align-items: center;
  background: #f8fafc;
  border: 1px dashed rgba(122, 153, 172, 0.46);
  color: var(--muted);
  display: flex;
  font-size: 0.75rem;
  gap: 10px;
  justify-content: space-between;
  min-height: 64px;
  padding: 10px;
}

.replyIntelligenceQueue {
  background: #ffffff;
  border-top: 2px solid var(--satori-green);
  border-radius: 4px;
  box-shadow: var(--shadow-modal);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  max-height: calc(100vh - 48px);
  max-width: 1160px;
  min-width: 0;
  overflow: hidden;
  width: min(1160px, calc(100vw - 48px));
}

.replyIntelligenceQueueBackdrop {
  align-items: center;
  padding: 24px;
  z-index: 70;
}

.replyIntelligenceQueueHeader {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 14px 14px 12px;
}

.replyIntelligenceQueueHeader h2 {
  align-items: center;
  color: var(--satori-blue);
  display: flex;
  font-family: var(--font-brand);
  font-size: 1.0625rem;
  font-weight: 400;
  gap: 6px;
  line-height: 1.15;
  margin: 0;
}

.replyIntelligenceQueueHeader p {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.35;
  margin: 3px 0 0;
}

.replyIntelligenceQueueHeaderActions {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.replyIntelligenceQueueHeaderActions > a {
  border: 1px solid var(--ink-strong);
  border-radius: 4px;
  color: var(--satori-blue);
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 6px 9px;
  text-decoration: none;
  white-space: nowrap;
}

.replyIntelligenceQueueBody {
  align-content: start;
  display: grid;
  gap: 9px;
  min-height: 0;
  overscroll-behavior: contain;
  overflow-y: auto;
  padding: 0 14px 14px;
}

.replyIntelligenceQueueFilters {
  align-items: end;
  background: #f8fafc;
  border: 1px solid rgba(122, 153, 172, 0.32);
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(4, minmax(112px, 1fr)) auto;
  padding: 8px;
}

.replyIntelligenceQueueFilters label {
  display: grid;
  gap: 3px;
}

.replyIntelligenceQueueFilters label > span {
  color: var(--muted);
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
}

.replyIntelligenceQueueFilters select,
.replyIntelligenceQueueFilters > button {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--satori-blue-2);
  font-size: 0.6875rem;
  min-height: 30px;
  padding: 4px 7px;
}

.replyIntelligenceQueueFilters > button {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  font-weight: 700;
  gap: 5px;
  justify-content: center;
}

.replyIntelligenceQueueFilters select:focus-visible,
.replyIntelligenceQueueFilters > button:focus-visible,
.replyIntelligenceQueueHeaderActions > a:focus-visible {
  outline: 2px solid var(--satori-light-blue);
  outline-offset: 2px;
}

.replyIntelligenceQueueState {
  align-items: center;
  background: #f8fafc;
  border: 1px dashed rgba(122, 153, 172, 0.46);
  color: var(--muted);
  display: flex;
  font-size: 0.75rem;
  gap: 10px;
  justify-content: space-between;
  min-height: 48px;
  padding: 10px;
}

.replyIntelligenceQueueState > button,
.replyIntelligenceFailure > button {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--satori-blue);
  cursor: pointer;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 5px 8px;
}

.replyIntelligenceQueueItems {
  display: grid;
  gap: 8px;
}

.replyIntelligenceQueueItem {
  border: 1px solid rgba(122, 153, 172, 0.32);
  display: grid;
  grid-template-columns: minmax(160px, 0.32fr) minmax(0, 1fr);
  min-width: 0;
}

.replyIntelligenceQueueAccount {
  align-content: start;
  background: #f8fafc;
  border-right: 1px solid rgba(122, 153, 172, 0.24);
  display: grid;
  gap: 10px;
  padding: 11px;
}

.replyIntelligenceQueueAccount > span {
  display: grid;
  gap: 2px;
}

.replyIntelligenceQueueAccount strong {
  color: var(--satori-blue);
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.replyIntelligenceQueueAccount small {
  color: var(--muted);
  font-size: 0.625rem;
}

.replyIntelligenceQueueSource {
  display: grid;
  gap: 3px;
}

.replyIntelligenceAssociationWarning {
  align-items: flex-start;
  background: #fff7ed;
  border: 1px solid rgba(192, 104, 54, 0.32);
  color: var(--warning);
  display: flex;
  font-size: 0.625rem;
  gap: 5px;
  line-height: 1.35;
  padding: 7px;
}

.replyIntelligenceAssociationWarning svg {
  flex: 0 0 auto;
}

.replyIntelligenceQueueAccount a {
  color: var(--satori-blue);
  font-size: 0.6875rem;
  font-weight: 700;
}

.replyIntelligenceQueueItem .allocatorIntelligenceCards {
  border: 0;
}

.replyIntelligenceFailure {
  align-items: start;
  background: #fff7ed;
  border: 1px solid rgba(192, 104, 54, 0.32);
  color: var(--warning);
  display: grid;
  gap: 9px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 10px;
}

.replyIntelligenceFailure > span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.replyIntelligenceFailure strong,
.replyIntelligenceFailure small {
  overflow-wrap: anywhere;
}

.replyIntelligenceFailure small {
  color: var(--muted);
  font-size: 0.625rem;
}

.pipelineTopbar {
  align-items: center;
  background: var(--panel);
  border-bottom: 1px solid var(--ink-hairline);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  min-height: 44px;
  padding: 7px 10px 7px 14px;
  position: relative;
  z-index: 5;
}

.reviewQueueOpenButton {
  white-space: nowrap;
}

.pipelineAutoContactSettings {
  border-color: var(--satori-light-blue);
  text-decoration: none;
}

.pipelineAutoContactSettings:hover {
  background: var(--satori-blue-50);
  border-color: var(--satori-light-blue);
}

.pipelineTopbarTitle {
  flex: 0 1 auto;
  min-width: 0;
}

.pipelineTopbar h2 {
  color: var(--satori-blue);
  font-size: 1.125rem;
  line-height: 1.1;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pipelineTopbarTitle span {
  color: var(--muted);
  font-size: 0.75rem;
  margin-left: 14px;
}

.pipelineSearchControl {
  align-items: center;
  display: flex;
  flex: 1 1 220px;
  gap: 7px;
  margin-left: auto;
  max-width: 420px;
  min-width: 0;
}

.pipelineViewToggle { display: inline-flex; align-items: center; flex-shrink: 0; border: 1px solid var(--line); border-radius: 4px; overflow: hidden; }
.pipelineViewToggle button { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 7px 10px; border: 0; background: var(--panel); color: var(--satori-blue-2); font-size: 0.75rem; cursor: pointer; }
.pipelineViewToggle button + button { border-left: 1px solid var(--line); }
.pipelineViewToggle button[aria-pressed="true"] { background: var(--satori-blue); color: #fff; }
.pipelineViewToggle button:focus-visible { outline: 2px solid var(--satori-light-blue); outline-offset: -3px; }
.pipelineList { flex: 1; min-height: 0; min-width: 0; overflow: auto; border: 1px solid var(--ink-hairline); border-radius: 4px; background: var(--panel); }
.pipelineList table { table-layout: fixed; min-width: 620px; }
.pipelineList th { padding: 0 10px; border-bottom: 1px solid var(--ink-hairline); }
.pipelineList th:nth-child(1) { width: 30%; }
.pipelineList th:nth-child(2) { width: 28%; }
.pipelineList th:nth-child(3) { width: 18%; }
.pipelineList th:nth-child(4) { width: 24%; }
.pipelineList td { font-size: 0.75rem; padding: 10px; overflow-wrap: anywhere; }
.pipelineList .sortButton { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; }
.pipelineList .orgButton { min-height: 34px; }
.pipelineList .tableMeta { color: var(--muted); font-size: 0.6875rem; line-height: 1.4; }
.pipelineListIdentity, .pipelineListContact { display: grid; gap: 4px; }
.pipelineListContact strong { font-weight: 600; }
.pipelineListQa { color: var(--qa-brown); background: var(--qa-parchment); border: 1px solid var(--ink-hairline); padding: 2px 5px; font-size: 0.6875rem; justify-self: start; border-radius: 3px; }
.pipelineListStage { display: inline-block; background: var(--panel-alt); border: 1px solid var(--ink-hairline); border-radius: 3px; padding: 3px 5px; font-size: 0.6875rem; }
.pipelineList tr[data-selected="true"] { background: var(--satori-blue-50); box-shadow: inset 3px 0 0 var(--satori-blue); }
.pipelineListCaption { text-align: left; color: var(--muted); font-size: 0.6875rem; padding: 9px 10px; }
.pipelineList button:focus-visible { outline: 2px solid var(--satori-light-blue); outline-offset: 1px; }
@media (max-width: 1100px) {
  .pipelineList { flex: 0 1 auto; max-height: 65vh; }
}
@media (pointer: coarse) {
  .pipelineViewToggle button, .pipelineList .sortButton, .pipelineList .orgButton { min-height: 44px; }
}

.pipelineTopbarActions {
  align-items: center;
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  margin-left: 0;
  max-width: 100%;
  /* Containing block for the replies panel, which right-aligns to this row
     instead of its own button (button x shifts with QA/proposal counts). */
  position: relative;
}

.pipelineSearchControl input {
  background: transparent;
  border: 0;
  outline: 0;
  width: 100%;
}

.pipelineSearchControl:focus-within,
.searchControl:focus-within {
  border-color: var(--satori-light-blue);
  outline: 2px solid var(--satori-light-blue);
  outline-offset: 1px;
}

.pipelineMenu,
.pipelineRailMenu {
  display: inline-flex;
  position: relative;
}

.pipelineMenu[data-open="true"] > .iconButton,
.pipelineRailMenu[data-open="true"] > .iconButton {
  border-color: var(--satori-light-blue);
  box-shadow: 0 0 0 2px rgba(122, 153, 172, 0.25);
}

.topbarMenuButton {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--satori-blue);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 600;
  gap: 7px;
  min-height: 38px;
  padding: 0 12px;
  white-space: nowrap;
}

.topbarMenuButton:hover {
  border-color: var(--satori-light-blue);
  box-shadow: var(--shadow-hover);
}

.topbarMenuButton:focus-visible {
  outline: 2px solid var(--satori-light-blue);
  outline-offset: 1px;
}

.topbarQaButton {
  align-items: center;
  background: #ffffff;
  border: 1px solid rgba(184, 105, 17, 0.34);
  border-radius: 4px;
  color: var(--qa-brown);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 700;
  gap: 6px;
  min-height: 38px;
  padding: 0 10px;
  white-space: nowrap;
}

.topbarQaButton strong {
  align-items: center;
  background: var(--qa-parchment);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.6875rem;
  justify-content: center;
  min-width: 22px;
  padding: 3px 6px;
}

.topbarQaButton:hover:not(:disabled),
.topbarQaButton[data-active="true"] {
  background: var(--qa-brown);
  border-color: var(--qa-brown);
  color: #ffffff;
}

.topbarQaButton[data-active="true"] strong {
  background: #ffffff;
  color: var(--qa-brown);
}

.topbarQaButton:focus-visible {
  outline: 2px solid var(--qa-brown);
  outline-offset: 1px;
}

.topbarQaButton:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.topbarMenuChevron {
  color: var(--satori-light-blue);
  transition: transform 0.15s ease;
}

@media (prefers-reduced-motion: reduce) {
  .topbarMenuChevron {
    transition: none;
  }

  .traceEmailSkeleton span {
    animation: none;
    opacity: 0.75;
  }

  /* Keep the new-reply salience as a static amber ring instead of a pulse. */
  .meaningfulReplyFlash {
    animation: none;
    box-shadow: 0 0 0 3px rgba(230, 166, 93, 0.45), var(--shadow-panel);
  }
}

.pipelineMenu[data-open="true"] > .topbarMenuButton {
  background: var(--satori-blue);
  border-color: var(--satori-blue);
  color: #ffffff;
}

.pipelineMenu[data-open="true"] > .topbarMenuButton .topbarMenuChevron {
  color: #ffffff;
  transform: rotate(180deg);
}

.pipelineMenuPanel.pipelineToolsPanel {
  gap: 2px;
  padding: 8px;
}

.menuGroupLabel {
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 8px 9px 3px;
  text-transform: uppercase;
}

.menuGroupLabel:not(:first-child) {
  border-top: 1px solid var(--satori-gray-2);
  margin-top: 6px;
  padding-top: 10px;
}

.pipelineToolsPanel .secondaryButton,
.pipelineToolsPanel .iconTextButton {
  background: transparent;
  border: 0;
  border-radius: 4px;
  font-size: 0.8125rem;
  min-height: 34px;
  padding: 7px 9px;
}

.pipelineToolsPanel .secondaryButton:hover:not(:disabled),
.pipelineToolsPanel .iconTextButton:hover {
  background: var(--satori-blue-50);
}

.pipelineMenuPanel {
  background: #ffffff;
  border: 1px solid var(--ink-hairline);
  box-shadow: var(--shadow-panel);
  display: grid;
  gap: 9px;
  /* Bound the single column: an auto track sizes to the widest nowrap child
     and pushes content past the panel edge before ellipsis can apply. */
  grid-template-columns: minmax(0, 1fr);
  min-width: 220px;
  padding: 10px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: 300px;
  z-index: 30;
}

.bulkAutoContactConfirm {
  background: #fbf2e7;
  border-left: 3px solid var(--satori-brass);
  color: var(--satori-blue);
  display: grid;
  font-size: 0.75rem;
  gap: 8px;
  line-height: 1.4;
  padding: 9px 10px;
}

.bulkAutoContactConfirmActions {
  display: flex;
  gap: 8px;
}

.pipelineFilterMenu .pipelineMenuPanel {
  width: min(330px, calc(100vw - 24px));
}

.pipelineUtilityMenus {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  gap: 8px;
  position: relative;
}

.pipelineUtilityMenus > .pipelineMenu {
  position: static;
}

.pipelineUtilityMenus .pipelineMenuPanel {
  left: 0;
  right: auto;
}

.pipelineMenuPanel label {
  color: var(--satori-blue);
  display: grid;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 5px;
}

.pipelineMenuPanel select {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  min-height: 34px;
  padding: 7px 8px;
  width: 100%;
}

.pipelineMenuPanel .secondaryButton,
.pipelineMenuPanel .iconTextButton {
  justify-content: flex-start;
  margin-top: 0;
  text-decoration: none;
  width: 100%;
}

.campaignStatusMini {
  border: 1px solid currentColor;
  border-radius: 4px;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  padding: 3px 5px;
  text-transform: uppercase;
}

.campaignDetailPanel {
  background: linear-gradient(180deg, rgba(225, 231, 229, 0.98), rgba(225, 231, 229, 0.9));
  border: 0;
  box-shadow: none;
  display: grid;
  gap: 8px;
  margin: 0 0 10px;
  padding: 12px 14px;
}

.campaignDetailHeader {
  align-items: center;
  display: flex;
  gap: 14px;
  justify-content: space-between;
}

.campaignDetailHeader h2 {
  color: var(--satori-blue);
  font-family: var(--font-brand);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  overflow-wrap: anywhere;
}

.campaignDetailMeta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  color: var(--satori-blue-2);
  font-size: 0.75rem;
  gap: 7px;
  margin-top: 4px;
}

.campaignHeaderTools {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  position: relative;
}

.campaignAllocatorStat {
  align-items: baseline;
  background: rgba(255, 255, 255, 0.42);
  display: inline-flex;
  gap: 6px;
  min-height: 32px;
  padding: 6px 9px;
}

.campaignAllocatorStat strong {
  color: var(--satori-blue);
  font-family: var(--font-brand);
  font-size: 1.3125rem;
  font-weight: 400;
  line-height: 1;
}

.campaignAllocatorStat span {
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.campaignManageMenu {
  position: relative;
}

.campaignManageMenu summary,
.filterDisclosure summary {
  align-items: center;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid var(--ink-strong);
  color: var(--satori-blue);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 700;
  gap: 6px;
  min-height: 32px;
  padding: 6px 10px;
}

.campaignManageMenu summary::marker,
.filterDisclosure summary::marker {
  content: "";
}

.campaignManageMenu summary::-webkit-details-marker,
.filterDisclosure summary::-webkit-details-marker {
  display: none;
}

.campaignManagePanel {
  background: var(--panel);
  border: 1px solid var(--ink-hairline);
  box-shadow: var(--shadow-popover);
  display: grid;
  gap: 7px;
  min-width: 220px;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 5;
}

.campaignManagePanel .secondaryButton,
.campaignManagePanel .muted {
  justify-content: flex-start;
  min-height: 32px;
  width: 100%;
}

.campaignHealthDisclosure {
  color: var(--muted);
  font-size: 0.75rem;
  width: fit-content;
}

.campaignHealthDisclosure summary {
  cursor: pointer;
  font-weight: 700;
}

.campaignHealthDisclosure summary::marker {
  color: var(--satori-blue-2);
}

.campaignHealthDisclosure div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 5px;
}

.campaignHealthDisclosure strong {
  color: var(--satori-blue);
  font-weight: 700;
}

.campaignStatusBadge {
  background: var(--satori-green-2);
  border: 1px solid var(--satori-green);
  border-radius: 4px;
  color: var(--satori-blue-2);
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 3px 7px;
  text-transform: uppercase;
}

.campaignStatusBadge.archived {
  background: #fbf2e7;
  border-color: var(--satori-orange);
  color: var(--warning);
}

.tabs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 0 0 14px;
}

.tab {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 4px;
  padding: 8px 10px;
  cursor: pointer;
  color: var(--foreground);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}

.tab[data-active="true"] {
  background: var(--satori-blue);
  border-color: var(--satori-blue);
  color: #fff;
}

.toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 8px;
  margin-bottom: 10px;
  position: relative;
}

.control {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 4px;
  min-height: 38px;
  padding: 8px 10px;
  color: var(--foreground);
}

.searchControl {
  display: flex;
  align-items: center;
  gap: 7px;
}

.searchControl input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
}

.filterDisclosure {
  justify-self: end;
  position: relative;
}

.filterDisclosure summary {
  min-height: 38px;
}

.filterPanel {
  background: var(--panel);
  border: 1px solid var(--ink-hairline);
  box-shadow: var(--shadow-popover);
  display: grid;
  gap: 8px;
  min-width: 230px;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  z-index: 4;
}

.filterPanel .control {
  width: 100%;
}

.workspace {
  display: grid;
  grid-template-columns: minmax(420px, 0.92fr) minmax(440px, 0.58fr);
  gap: 12px;
  align-items: flex-start;
  min-width: 0;
}

.allocatorPipelineBoard {
  background: var(--panel);
  border-top: 2.25px solid var(--satori-blue);
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
  min-width: 0;
  padding: 12px;
}

.allocatorPipelineHeader {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.allocatorPipelineHeader strong {
  color: var(--satori-blue);
  display: block;
  font-family: var(--font-brand);
  font-size: 1.3125rem;
  font-weight: 400;
  line-height: 1.1;
}

.allocatorPipelineHeader span {
  color: var(--muted);
  display: block;
  font-size: 0.75rem;
  line-height: 1.35;
  margin-top: 3px;
}

.allocatorPipelineHeader > span {
  background: var(--satori-blue-50);
  border: 1px solid rgba(122, 153, 172, 0.32);
  color: var(--satori-blue);
  flex: 0 0 auto;
  font-weight: 700;
  margin-top: 0;
  padding: 5px 8px;
}

.allocatorPipelineColumns {
  display: grid;
  gap: 10px;
  grid-auto-columns: minmax(220px, 1fr);
  grid-auto-flow: column;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-color: var(--satori-light-blue) #edf1f2;
  scrollbar-width: thin;
}

.allocatorPipelineColumns::-webkit-scrollbar {
  height: 8px;
}

.allocatorPipelineColumns::-webkit-scrollbar-track {
  background: #edf1f2;
}

.allocatorPipelineColumns::-webkit-scrollbar-thumb {
  background: var(--satori-light-blue);
}

.allocatorPipelineColumn {
  background: #f5f7f8;
  border: 1px solid rgba(122, 153, 172, 0.26);
  display: grid;
  gap: 8px;
  grid-template-rows: auto minmax(120px, 1fr);
  min-height: 260px;
  min-width: 0;
  padding: 8px;
}

.allocatorPipelineColumn[data-drop-target="true"] {
  background: #eef7f0;
  border-color: var(--satori-green);
  box-shadow: inset 0 0 0 2px rgba(90, 137, 102, 0.18);
}

.allocatorPipelineColumnHeader {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.allocatorPipelineColumnHeader span {
  color: var(--satori-blue);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.allocatorPipelineColumnHeader strong {
  background: var(--panel);
  border: 1px solid var(--ink-hairline);
  color: var(--satori-blue-2);
  font-size: 0.75rem;
  line-height: 1;
  min-width: 28px;
  padding: 5px 7px;
  text-align: center;
}

.allocatorPipelineCards {
  align-content: start;
  display: grid;
  gap: 8px;
  max-height: 360px;
  overflow-y: auto;
  padding-right: 2px;
}

.allocatorPipelineCardProposals {
  align-items: center;
  align-self: start;
  background: var(--satori-green-2);
  border: 1px solid rgba(82, 98, 95, 0.24);
  border-radius: 3px;
  color: var(--good);
  display: inline-flex;
  font-size: 0.625rem;
  font-weight: 600;
  gap: 4px;
  line-height: 1.2;
  padding: 3px 6px;
}

.allocatorPipelineCardQa {
  align-items: center;
  align-self: start;
  background: var(--qa-parchment);
  border: 1px solid rgba(184, 105, 17, 0.3);
  border-radius: 3px;
  color: var(--qa-brown);
  display: inline-flex;
  font-size: 0.625rem;
  font-weight: 700;
  gap: 4px;
  line-height: 1.2;
  padding: 3px 6px;
}

.allocatorPipelineCard {
  background: var(--panel);
  border: 1px solid rgba(122, 153, 172, 0.34);
  color: var(--foreground);
  display: grid;
  gap: 5px;
  min-height: 132px;
  min-width: 0;
  position: relative;
  padding: 9px;
  text-align: left;
  user-select: none;
}

.allocatorPipelineCardMain {
  background: transparent;
  border: 0;
  color: inherit;
  cursor: grab;
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 0;
  text-align: left;
  width: 100%;
}

.allocatorPipelineCard:active .allocatorPipelineCardMain {
  cursor: grabbing;
}

.allocatorPipelineCard[data-pointer-dragging="true"] {
  border-color: var(--satori-green);
  box-shadow: var(--shadow-popover), inset 3px 0 0 var(--satori-green);
  opacity: 0.86;
  z-index: 3;
}

.allocatorPipelineCard[data-pointer-dragging="true"] .allocatorPipelineCardMain {
  cursor: grabbing;
}

.allocatorPipelineCard[data-selected="true"] {
  border-color: var(--satori-blue);
  box-shadow: inset 3px 0 0 var(--satori-blue);
}

.allocatorPipelineCard:hover,
.allocatorPipelineCard:focus-within {
  border-color: var(--satori-light-blue);
}

.allocatorPipelineCard[data-excluded="true"] {
  background: var(--panel-alt);
  border-color: var(--satori-gray);
  color: var(--muted);
}

.allocatorPipelineCard[data-excluded="true"] .allocatorPipelineCardMain {
  cursor: not-allowed;
}

.allocatorPipelineCard[data-declined="true"] .allocatorPipelineCardMain {
  cursor: pointer;
}

.allocatorPipelineCard[data-declined="true"] .allocatorPipelineCardTitle {
  color: var(--muted);
  text-decoration: line-through;
}

.allocatorPipelineCard[data-declined="true"] .allocatorPipelineCardMeta,
.allocatorPipelineCard[data-declined="true"] .allocatorPipelineCardContactIdentity,
.allocatorPipelineCard[data-declined="true"] .allocatorPipelineCardReason,
.allocatorPipelineCard[data-declined="true"] .allocatorPipelineTouches {
  filter: grayscale(1);
  opacity: 0.68;
}

.allocatorPipelineCardBadges {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
}

.allocatorPipelineDeclinedBadge {
  align-items: center;
  background: var(--satori-rose-2);
  border: 1px solid var(--satori-rose);
  border-radius: 999px;
  color: var(--danger);
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 4px;
  justify-self: start;
  line-height: 1.2;
  padding: 3px 6px;
}

.allocatorPipelineReplyBadge {
  align-items: center;
  background: var(--satori-gray-2);
  border: 1px solid var(--satori-gray);
  border-radius: 3px;
  color: var(--muted);
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 4px;
  line-height: 1.2;
  max-width: 100%;
  overflow-wrap: anywhere;
  padding: 3px 6px;
}

.allocatorPipelineReplyBadge svg {
  flex: 0 0 auto;
}

.allocatorPipelineReplyBadge[data-tone="review"] {
  background: var(--satori-orange-2);
  border-color: var(--satori-orange);
  color: var(--qa-brown);
}

.allocatorPipelineReplyBadge[data-tone="good"] {
  background: var(--satori-green-2);
  border-color: var(--satori-green);
  color: var(--good);
}

.allocatorPipelineReplyBadge[data-tone="maybe"] {
  background: var(--satori-plum-2);
  border-color: var(--satori-plum);
  color: var(--satori-plum);
}

.allocatorPipelineReplyBadge[data-tone="danger"] {
  background: var(--satori-rose-2);
  border-color: var(--satori-rose);
  color: var(--danger);
}

.allocatorPipelineDeclineButton,
.allocatorPipelineRestoreButton {
  align-items: center;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  display: inline-flex;
  height: 26px;
  justify-content: center;
  min-width: 26px;
  opacity: 0;
  padding: 0;
  position: absolute;
  right: 6px;
  top: 6px;
}

.allocatorPipelineDeclineButton {
  border: 1px solid rgba(176, 61, 65, 0.32);
  color: var(--danger);
}

.allocatorPipelineRestoreButton {
  border: 1px solid rgba(27, 111, 73, 0.34);
  color: #1b6f49;
  opacity: 1;
}

.allocatorPipelineCard:hover .allocatorPipelineDeclineButton,
.allocatorPipelineCard:focus-within .allocatorPipelineDeclineButton,
.allocatorPipelineCard:hover .allocatorPipelineRestoreButton,
.allocatorPipelineCard:focus-within .allocatorPipelineRestoreButton,
.allocatorPipelineCard[data-excluded="true"] .allocatorPipelineRestoreButton {
  opacity: 1;
}

.allocatorPipelineDeclineButton:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.allocatorPipelineMoveMenu {
  position: absolute;
  right: 36px;
  top: 6px;
}

.allocatorPipelineMoveButton {
  align-items: center;
  background: #fff;
  border: 1px solid var(--ink-strong);
  border-radius: 4px;
  color: var(--satori-blue-2);
  cursor: pointer;
  display: inline-flex;
  height: 26px;
  justify-content: center;
  min-width: 26px;
  opacity: 0;
  padding: 0;
}

.allocatorPipelineCard:hover .allocatorPipelineMoveButton,
.allocatorPipelineCard:focus-within .allocatorPipelineMoveButton,
.allocatorPipelineMoveMenu[data-open="true"] .allocatorPipelineMoveButton {
  opacity: 1;
}

.allocatorPipelineMovePanel {
  background: var(--panel);
  border: 1px solid var(--ink-hairline);
  border-radius: 4px;
  box-shadow: var(--shadow-popover);
  display: grid;
  min-width: 180px;
  padding: 4px;
  position: absolute;
  right: 0;
  top: 30px;
  z-index: 12;
}

.allocatorPipelineMovePanel button {
  background: transparent;
  border: 0;
  border-radius: 3px;
  color: var(--satori-blue);
  cursor: pointer;
  font-size: 0.75rem;
  min-height: 30px;
  padding: 5px 8px;
  text-align: left;
}

.allocatorPipelineMovePanel button:hover,
.allocatorPipelineMovePanel button:focus-visible {
  background: var(--satori-blue-50);
}

.allocatorPipelineMovePanel button[aria-current="true"] {
  color: var(--muted);
  cursor: default;
  font-weight: 600;
}

.allocatorPipelineCardTitle {
  color: var(--satori-blue);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.allocatorPipelineCardContact,
.allocatorPipelineCardMeta {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.allocatorPipelineCardContact {
  color: var(--satori-blue-2);
  font-weight: 700;
}

.allocatorPipelineTouches {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 3px;
}

.allocatorPipelineTouch {
  background: var(--satori-gray-2);
  border: 1px solid var(--satori-gray);
  color: var(--satori-blue-2);
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  min-height: 22px;
  overflow: hidden;
  padding: 5px 4px;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.allocatorPipelineTouch[data-status="sent"],
.allocatorPipelineTouch[data-status="created"],
.allocatorPipelineTouch[data-status="ready"] {
  background: var(--satori-orange-2);
  border-color: var(--satori-orange);
  color: var(--warning);
}

.allocatorPipelineTouch[data-status="replied"] {
  background: var(--satori-green-2);
  border-color: var(--satori-green);
  color: var(--satori-blue-2);
}

.allocatorPipelineTouch[data-status="failed"],
.allocatorPipelineTouch[data-status="blocked"] {
  background: var(--satori-rose-2);
  border-color: var(--satori-rose);
  color: var(--danger);
}

.allocatorPipelineEmpty {
  border: 1px dashed rgba(122, 153, 172, 0.5);
  color: var(--muted);
  display: block;
  font-size: 0.75rem;
  padding: 18px 8px;
  text-align: center;
}

.mainPipeline .allocatorPipelineBoard {
  background: transparent;
  border-top: 0;
  gap: 0;
  grid-template-rows: minmax(0, 1fr);
  margin: 0;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

.mainPipeline .allocatorPipelineHeader {
  display: none;
}

.mainPipeline .allocatorPipelineColumns {
  display: grid;
  gap: 8px;
  grid-auto-flow: initial;
  grid-template-columns: repeat(7, minmax(220px, 1fr));
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 8px;
  scrollbar-color: var(--satori-light-blue) #edf1f2;
  scrollbar-width: thin;
}

.mainPipeline .allocatorPipelineColumn {
  background: #f8fafc;
  border: 1px solid var(--ink-hairline);
  border-radius: 4px;
  grid-template-rows: minmax(54px, auto) minmax(0, 1fr);
  min-height: 0;
  padding: 0;
}

.mainPipeline .allocatorPipelineColumnHeader {
  align-items: center;
  background: #ffffff;
  border-bottom: 2px solid var(--ink-hairline);
  min-width: 0;
  padding: 9px 9px 8px;
}

.mainPipeline .allocatorPipelineColumnHeader span {
  font-size: 0.75rem;
  line-height: 1.2;
}

.mainPipeline .allocatorPipelineColumnHeader strong {
  background: #f4f6f8;
  border-color: var(--ink-wash);
  font-family: var(--font-data);
}

.mainPipeline .allocatorPipelineCards {
  display: flex;
  flex-direction: column;
  gap: 7px;
  max-height: none;
  min-height: 0;
  overflow-y: auto;
  padding: 8px;
}

.mainPipeline .allocatorPipelineCard {
  align-content: start;
  border-color: var(--ink-hairline);
  border-radius: 4px;
  flex: 0 0 auto;
  gap: 6px;
  grid-auto-rows: min-content;
  height: auto;
  min-height: 0;
  overflow: visible;
  padding: 10px;
}

.mainPipeline .allocatorPipelineCardMain {
  gap: 6px;
}

.mainPipeline .allocatorPipelineCard[data-selected="true"] {
  border-color: #1c4f9d;
  box-shadow: inset 3px 0 0 var(--satori-blue);
}

.mainPipeline .allocatorPipelineCardTitle {
  font-size: 0.75rem;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.mainPipeline .allocatorPipelineCardMeta {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.mainPipeline .allocatorPipelineCardContactRow {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 3px 7px;
  min-width: 0;
}

.mainPipeline .allocatorPipelineCardContactIdentity {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.mainPipeline .allocatorPipelineCardContact {
  color: var(--satori-blue-2);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.mainPipeline .allocatorPipelineCardContactDetail {
  color: var(--muted);
  display: -webkit-box;
  font-size: 0.625rem;
  line-height: 1.25;
  overflow: hidden;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.mainPipeline .allocatorPipelineCardReason {
  background: #eef3f6;
  border: 1px solid rgba(122, 153, 172, 0.26);
  border-radius: 4px;
  color: var(--satori-blue);
  display: block;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
  padding: 3px 5px;
}

.mainPipeline .allocatorPipelineCardContext {
  color: var(--muted);
  font-size: 0.625rem;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.mainPipeline .allocatorPipelineTouches {
  gap: 3px;
  grid-template-columns: repeat(4, 28px);
  justify-content: start;
  margin-top: 0;
}

.mainPipeline .allocatorPipelineTouch {
  align-items: center;
  display: inline-flex;
  font-size: 0.625rem;
  justify-content: center;
  min-height: 22px;
  padding: 0;
}

.tableShell {
  background: var(--panel);
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: inset 0 2.25px 0 var(--satori-light-blue);
  min-width: 0;
}

.tableScroller {
  overflow: auto;
  max-height: calc(100vh - 226px);
  width: 100%;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

thead {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 1;
}

th,
td {
  border-bottom: 1px solid rgba(122, 153, 172, 0.2);
  padding: 9px 10px;
  text-align: left;
  vertical-align: top;
  font-size: 0.8125rem;
}

th {
  border-bottom: 2.25px solid var(--ink-scrim-heavy);
  font-size: 0.6875rem;
  color: var(--satori-blue);
  font-weight: 700;
  white-space: nowrap;
}

tbody tr:hover {
  background: rgba(193, 208, 217, 0.14);
}

tbody tr[data-selected="true"] {
  background: rgba(230, 166, 93, 0.2);
  box-shadow: inset 4px 0 0 var(--satori-blue);
}

.emptyTableState {
  color: var(--muted);
  font-size: 0.8125rem;
  padding: 22px;
  text-align: center;
}

.sortButton {
  border: 0;
  background: transparent;
  padding: 0;
  min-height: 0;
  color: inherit;
  cursor: pointer;
  font: inherit;
}

.orgButton {
  display: flex;
  flex-direction: column;
  gap: 2px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 0;
  text-align: left;
  width: 100%;
}

.orgCell {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.org {
  font-weight: 700;
}

.tableMeta {
  color: var(--muted);
  display: block;
  font-size: 0.75rem;
  line-height: 1.35;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.tableStatusPill {
  align-items: center;
  background: var(--satori-gray-2);
  border: 1px solid var(--satori-gray);
  border-radius: 999px;
  color: var(--satori-blue-2);
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.2;
  max-width: 100%;
  padding: 4px 8px;
  white-space: normal;
}

.tableStatusPill.current,
.tableStatusPill.navy {
  background: var(--satori-blue);
  border-color: var(--satori-blue);
  color: #fff;
}

.tableStatusPill.next,
.tableStatusPill.blue,
.tableStatusPill.info {
  background: var(--satori-blue-50);
  border-color: var(--satori-light-blue-2);
  color: var(--satori-blue);
}

.tableStatusPill.green,
.tableStatusPill.success,
.tableStatusPill.done {
  background: var(--satori-green-2);
  border-color: var(--satori-green);
  color: #4f625f;
}

.tableStatusPill.warning,
.tableStatusPill.due,
.tableStatusPill.nurture {
  background: var(--satori-orange-2);
  border-color: var(--satori-orange);
  color: var(--warning);
}

.tableStatusPill.plum,
.tableStatusPill.review {
  background: var(--satori-plum-2);
  border-color: rgba(101, 80, 111, 0.34);
  color: var(--satori-plum);
}

.tableStatusPill.error,
.tableStatusPill.exclude {
  background: var(--satori-rose-2);
  border-color: rgba(217, 135, 125, 0.5);
  color: var(--danger);
}

.tableStatusPill.neutral {
  background: var(--satori-gray-2);
  border-color: var(--satori-gray);
  color: var(--satori-blue-2);
}

.allocatorSplitTag {
  color: var(--satori-blue);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0;
}

.muted {
  color: var(--muted);
}

.saveState {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 18px;
  font-size: 0.6875rem;
  line-height: 1.2;
}

.saveState[data-status="saving"],
.saveState[data-status="pending"] {
  color: var(--satori-blue-2);
}

.inlineRetry {
  border: 0;
  background: transparent;
  color: var(--danger);
  cursor: pointer;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 0;
  text-decoration: underline;
}

.pill {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 4px;
  padding: 3px 8px;
  line-height: 1.2;
  white-space: nowrap;
  background: #fff;
}

.pill.current {
  border-color: var(--satori-blue);
  background: var(--satori-blue);
  color: #fff;
}

.pill.next {
  border-color: var(--satori-light-blue);
  background: rgba(193, 208, 217, 0.45);
  color: var(--satori-blue);
}

.pill.nurture {
  border-color: var(--satori-orange);
  background: var(--satori-orange-2);
  color: var(--warning);
}

.pill.exclude {
  border-color: var(--satori-gray);
  background: var(--satori-gray-2);
  color: var(--danger);
}

.draftReviewQueue {
  display: grid;
  gap: 10px;
  margin-bottom: 16px;
}

.draftReviewToolbar {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  padding: 12px;
}

.draftReviewToolbar > div:first-child {
  display: grid;
  flex: 0 1 190px;
  gap: 3px;
  min-width: 0;
}

.draftReviewToolbar strong {
  font-size: 0.875rem;
}

.draftReviewToolbar span {
  color: var(--muted);
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.draftReviewActions {
  align-items: center;
  display: flex;
  flex: 1 1 600px;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.draftReviewItem {
  background: var(--panel);
  border: 1px solid var(--line);
  border-left: 3px solid var(--satori-orange);
  border-radius: 4px;
  color: var(--foreground);
  display: grid;
  gap: 12px;
  grid-template-columns: 34px minmax(0, 1fr) minmax(140px, 0.24fr);
  padding: 12px;
  text-align: left;
}

.draftReviewItem:hover {
  border-color: var(--satori-orange);
}

.draftReviewItem.linked {
  border-left-color: var(--satori-green);
}

.draftReviewSelectButton {
  align-items: center;
  background: var(--background);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--satori-blue);
  cursor: pointer;
  display: flex;
  justify-content: center;
  height: 34px;
  width: 34px;
}

.draftReviewSelectButton:hover {
  border-color: var(--satori-blue);
}

.draftReviewBody {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.draftReviewTop {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.draftReviewTop strong,
.draftReviewTop span,
.draftReviewContact,
.draftReviewMeta,
.draftReviewEmpty {
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.draftReviewField {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.draftReviewField span {
  color: var(--muted);
  font-size: 0.6875rem;
}

.draftReviewField input,
.draftReviewField textarea {
  background: var(--background);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  min-width: 0;
  padding: 9px 10px;
  width: 100%;
}

.draftReviewField textarea {
  line-height: 1.45;
  min-height: 180px;
  resize: vertical;
}

.draftReviewSaveRow {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.draftSendConfirm {
  align-items: center;
  background: var(--satori-gray-2);
  border: 1px solid var(--line);
  border-radius: 4px;
  display: inline-flex;
  flex-wrap: wrap;
  font-size: 0.8125rem;
  font-weight: 700;
  gap: 8px;
  padding: 4px 4px 4px 10px;
}

.draftHistoryOverrideConfirm {
  padding: 12px;
  width: 100%;
}

.draftReviewToolbar .draftHistoryOverrideConfirm > span {
  color: var(--foreground);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.45;
  width: 100%;
}

.draftDeleteConfirm {
  align-items: center;
  background: var(--satori-gray-2);
  border: 1px solid var(--line);
  border-radius: 4px;
  display: inline-flex;
  flex-wrap: wrap;
  font-size: 0.8125rem;
  font-weight: 700;
  gap: 8px;
  margin-inline-start: auto;
  padding: 4px 4px 4px 10px;
}

.draftDeleteAction {
  margin-inline-start: auto;
}

.manualDraftComposeBackdrop {
  align-items: center;
}

.manualDraftCompose {
  background: var(--panel);
  box-shadow: var(--shadow-modal);
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  max-height: min(760px, calc(100vh - 48px));
  min-height: 540px;
  overflow: hidden;
  width: min(100%, 720px);
}

.manualDraftComposeHeader {
  align-items: center;
  background: var(--satori-blue);
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 10px 12px 10px 16px;
}

.manualDraftComposeHeader h2 {
  color: inherit;
  font-family: var(--font-data);
  font-size: 0.875rem;
  font-weight: 700;
  margin: 0;
}

.manualDraftComposeFields {
  display: grid;
  grid-template-rows: auto auto auto minmax(240px, 1fr);
  min-height: 0;
}

.manualDraftComposeLine {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 10px;
  grid-template-columns: 48px minmax(0, 1fr);
  padding: 0 16px;
}

.manualDraftComposeLine > span {
  color: var(--muted);
  font-size: 0.75rem;
}

.manualDraftComposeLine input,
.manualDraftComposeLine select {
  background: transparent;
  border: 0;
  color: var(--foreground);
  font: inherit;
  min-height: 44px;
  min-width: 0;
  outline: 0;
  padding: 10px 0;
  width: 100%;
}

.manualDraftComposeLine input[readonly] {
  color: var(--muted);
}

.manualDraftComposeLine:focus-within {
  box-shadow: inset 0 -2px 0 var(--satori-orange);
}

.manualDraftComposeBody {
  min-height: 0;
}

.manualDraftComposeBody textarea {
  background: var(--panel);
  border: 0;
  color: var(--foreground);
  font: inherit;
  height: 100%;
  line-height: 1.55;
  min-height: 260px;
  outline: 0;
  padding: 18px 16px;
  resize: none;
  width: 100%;
}

.manualDraftComposeBody textarea:focus-visible {
  box-shadow: inset 0 0 0 2px var(--satori-orange);
}

.manualDraftCompose .campaignImportNotice {
  margin: 0 16px 12px;
}

.manualDraftComposeFooter {
  align-items: center;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 12px 16px;
}

.manualDraftComposeFooter > div {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
}

.manualDraftComposeFooter span {
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.manualDraftComposeDiscard {
  color: var(--danger);
  flex: 0 0 auto;
}

.autoSendIntervalControl {
  align-items: center;
  display: inline-flex;
  gap: 6px;
  flex-wrap: wrap;
}

.autoSendIntervalControl label {
  align-items: center;
  display: inline-flex;
  gap: 4px;
}

.autoSendIntervalControl input {
  background: var(--background);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  min-height: 34px;
  padding: 6px 8px;
  width: 58px;
}

.autoSendIntervalControl input:disabled {
  opacity: 0.6;
}

.contactDraftSendRow {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.autoSendProgressRow {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.draftMarkdownPreview {
  background: var(--background);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  font-family: var(--font-data);
  font-size: 0.75rem;
  line-height: 1.45;
  margin: 4px 0 0;
  max-height: 180px;
  overflow: auto;
  padding: 10px;
  white-space: pre-wrap;
}

.draftMarkdownPreview strong {
  font-weight: 700;
}

.draftReviewMeta {
  align-content: start;
  display: grid;
  gap: 5px;
}

.draftReviewEmpty {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 12px;
}

.detailPanel {
  background: var(--panel);
  border: 0;
  border-top: 2.25px solid var(--satori-light-blue);
  border-radius: 0;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.accountDrawer {
  border-left: 1px solid rgba(122, 153, 172, 0.22);
  border-top: 0;
  max-height: calc(100vh - 150px);
  overflow: auto;
  padding: 12px;
  position: sticky;
  top: 12px;
}

/* Full-page allocator record (/allocators/[key]): the same AccountDetail panel
   as the workspace drawer, released from its sticky-rail constraints. */
.recordPage {
  display: grid;
  gap: 12px;
  margin: 0 auto;
  max-width: 980px;
}

.recordPage .accountDrawer {
  border-left: 0;
  border-top: 2.25px solid var(--satori-light-blue);
  max-height: none;
  overflow: visible;
  position: static;
}

.recordPageBar {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.recordNotFound {
  background: var(--panel);
  border-top: 2.25px solid var(--satori-light-blue);
  display: grid;
  gap: 10px;
  justify-items: start;
  padding: 22px;
}

.recordNotFound h2 {
  color: var(--satori-blue);
  margin: 0;
}

.pipelineRailOpenRecord {
  justify-self: start;
}

.pipelineDetailRail {
  background: #ffffff;
  border-left: 1px solid var(--ink-hairline);
  box-shadow: -10px 0 24px var(--ink-wash);
  display: flex;
  flex-direction: column;
  height: 100vh;
  min-width: 0;
  overflow-y: auto;
}

.pipelineRailHeader {
  border-bottom: 1px solid var(--ink-hairline);
  display: grid;
  gap: 14px;
  padding: 16px 14px 12px;
}

.pipelineRailTitleRow {
  align-items: flex-start;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.pipelineRailTitleRow h2 {
  color: var(--satori-blue);
  font-size: 1.125rem;
  line-height: 1.2;
  margin: 0 0 4px;
  overflow-wrap: anywhere;
}

.pipelineRailTitleRow span,
.pipelineRailTitleRow small {
  color: var(--muted);
  display: block;
  font-size: 0.75rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pipelineStageStepper {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.pipelineStageStep {
  align-items: center;
  display: grid;
  gap: 5px;
  justify-items: center;
  min-width: 0;
}

.pipelineStageStep span {
  background: #c9d2de;
  border-radius: 999px;
  display: block;
  height: 5px;
  width: 100%;
}

.pipelineStageStep[data-active="true"] span {
  background: var(--satori-orange);
}

.pipelineStageStep small {
  color: var(--muted);
  font-size: 0.625rem;
  line-height: 1.15;
  text-align: center;
}

.pipelineStageStep[data-active="true"] small {
  color: var(--warning);
  font-weight: 700;
}

.pipelineRailContactHero {
  align-items: center;
  border-bottom: 1px solid var(--ink-wash);
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 14px;
}

.pipelineRailQa {
  background: #fff9f1;
  border-bottom: 1px solid rgba(184, 105, 17, 0.22);
  display: grid;
  gap: 8px;
  padding: 10px 14px;
}

.pipelineRailQa > strong {
  align-items: center;
  color: var(--qa-brown);
  display: inline-flex;
  font-size: 0.6875rem;
  gap: 6px;
  text-transform: uppercase;
}

.pipelineRailQa > div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.pipelineRailQa span {
  background: var(--qa-parchment);
  border: 1px solid rgba(184, 105, 17, 0.24);
  border-radius: 3px;
  color: var(--qa-brown);
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.25;
  padding: 4px 6px;
}

.pipelineRailReply {
  background: var(--satori-blue-50);
  border-bottom: 1px solid var(--satori-light-blue);
  display: grid;
  gap: 8px;
  padding: 12px 14px 14px;
}

.pipelineRailReplyHeader {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.pipelineRailReplyHeader strong {
  align-items: center;
  color: var(--satori-blue);
  display: inline-flex;
  font-size: 0.6875rem;
  gap: 6px;
  text-transform: uppercase;
}

.pipelineRailReplyHeader time,
.pipelineRailReplyNotice {
  color: var(--muted);
  font-size: 0.6875rem;
}

.pipelineRailReplyMeta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.pipelineRailReplyMeta > span:not(.pipelineRailReplyBadge) {
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 600;
}

.pipelineRailReplyBadge {
  background: var(--satori-gray-2);
  border-radius: 999px;
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 2px 8px;
}

.pipelineRailReplyBadge[data-tone="good"] {
  background: var(--satori-green-2);
  color: var(--good);
}

.pipelineRailReplyBadge[data-tone="info"] {
  background: var(--satori-blue-50);
  color: var(--satori-blue);
}

.pipelineRailReplySender {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pipelineRailReplySubject {
  color: var(--satori-blue);
  font-size: 0.8125rem;
  line-height: 1.35;
}

.pipelineRailReplyBody {
  color: var(--satori-blue-2);
  font-size: 0.8125rem;
  line-height: 1.5;
  max-height: 240px;
  overflow-y: auto;
  overscroll-behavior: contain;
  white-space: pre-wrap;
}

.pipelineContactAvatar {
  align-items: center;
  background: #0b8069;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 700;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.pipelineRailContactHero strong,
.pipelineRailContactHero > div span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.pipelineRailContactHero strong {
  color: var(--satori-blue);
  font-size: 0.8125rem;
}

.pipelineRailContactHero > div span {
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.pipelineRailContactActions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  max-width: 150px;
}

.pipelineRailContactActions .allocatorWebsiteButton,
.pipelineRailMenuPanel .allocatorWebsiteButton {
  margin-top: 0;
}

.pipelineRailActionText {
  color: var(--muted);
  font-size: 0.6875rem;
  text-align: right;
}

.pipelineRailMenuPanel {
  right: 0;
  width: 230px;
}

.pipelineRailSection,
.currentDraftPanel {
  border-bottom: 1px solid var(--ink-wash);
  display: grid;
  gap: 10px;
  padding: 12px 14px;
}

.pipelineRailSectionHeader {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.pipelineRailSectionHeader strong {
  color: var(--satori-blue);
  font-size: 0.6875rem;
  letter-spacing: 0;
  text-transform: uppercase;
}

.pipelineRailSectionHeader span {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
  text-align: right;
}

.pipelineRailContactsHeader {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.pipelineRailContactsToggle {
  align-items: center;
  background: transparent;
  border: 0;
  color: var(--satori-blue);
  cursor: pointer;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  min-width: 0;
  padding: 0;
  text-align: left;
}

.pipelineRailContactsToggle:disabled {
  cursor: default;
}

.pipelineRailContactsToggle:focus-visible {
  outline: 2px solid var(--satori-light-blue);
  outline-offset: 4px;
}

.pipelineRailContactsSummary {
  display: grid;
  gap: 2px;
  min-width: 0;
  text-align: left;
}

.pipelineRailContactsSummary small {
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 500;
  line-height: 1.25;
}

.pipelineRailSectionHeader .pipelineRailContactsToggleLabel {
  align-items: center;
  color: var(--satori-blue-2);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 4px;
  text-align: right;
}

.pipelineRailContactUpload {
  justify-content: center;
  min-width: 76px;
}

.actionToast {
  align-items: center;
  background: var(--satori-blue);
  border-radius: 4px;
  bottom: 18px;
  box-shadow: var(--shadow-toast);
  color: #fff;
  display: flex;
  font-size: 0.8125rem;
  gap: 8px;
  left: 50%;
  line-height: 1.35;
  max-width: min(560px, calc(100vw - 40px));
  padding: 10px 14px;
  position: fixed;
  transform: translateX(-50%);
  z-index: 80;
}

.actionToast svg {
  color: var(--satori-green);
  flex-shrink: 0;
}

.actionToast button {
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.2;
  padding: 3px 10px;
}

.actionToast button:disabled {
  cursor: default;
  opacity: 0.6;
}

.dismissibleNotice {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.dismissibleNoticeContent {
  align-items: center;
  display: flex;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: 10px;
  min-width: 0;
}

.dismissibleNoticeContent > :first-child {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}

.dismissibleNoticeClose {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 4px;
  color: currentColor;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  justify-content: center;
  min-height: 32px;
  min-width: 32px;
  padding: 6px;
}

.dismissibleNoticeClose:hover {
  background: rgba(31, 42, 68, 0.08);
}

.dismissibleNoticeClose:focus-visible {
  outline: 2px solid var(--satori-light-blue);
  outline-offset: 2px;
}

.actionToast .dismissibleNoticeClose:hover {
  background: rgba(255, 255, 255, 0.16);
}

.actionToast .dismissibleNoticeClose svg {
  color: currentColor;
}

.actionToastMessage {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  min-width: 0;
}

.campaignImportWarnings .dismissibleNoticeContent > span {
  display: grid;
  gap: 5px;
}

.reviewQueueOverlay {
  align-items: flex-start;
  background: var(--ink-scrim);
  display: flex;
  inset: 0;
  justify-content: center;
  overflow-y: auto;
  padding: 6vh 20px 40px;
  position: fixed;
  z-index: 70;
}

.reviewQueuePanel {
  background: var(--panel);
  border-top: 2.25px solid var(--satori-blue);
  box-shadow: var(--shadow-modal);
  display: grid;
  gap: 14px;
  max-width: 760px;
  padding: 16px 18px 14px;
  width: 100%;
}

.reviewQueueHeader {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.reviewQueueHeader strong {
  align-items: center;
  color: var(--satori-blue);
  display: inline-flex;
  font-family: var(--font-brand);
  font-size: 1.125rem;
  font-weight: 400;
  gap: 6px;
}

.reviewQueueHeader span {
  color: var(--muted);
  display: block;
  font-size: 0.75rem;
  margin-top: 3px;
}

.reviewQueueAccount {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding-bottom: 10px;
}

.reviewQueueAccount h3 {
  color: var(--satori-blue);
  font-family: var(--font-brand);
  font-size: 1.25rem;
  font-weight: 400;
  margin: 0;
}

.reviewQueueAccount span {
  color: var(--muted);
  display: block;
  font-size: 0.75rem;
  margin-top: 2px;
}

.reviewQueueAccount .reviewQueueAccountLinks {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
  margin-top: 0;
}

.reviewQueueSlate {
  display: grid;
  gap: 8px;
}

.reviewQueueRow {
  background: #f8fafc;
  border: 1px solid var(--ink-hairline);
  border-radius: 4px;
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 10px;
}

.reviewQueueRow[data-focused="true"] {
  outline: 2px solid var(--satori-light-blue);
  outline-offset: -1px;
}

.reviewQueueRow[data-selected="false"] {
  opacity: 0.55;
}

.reviewQueueRow[data-history-held="true"] {
  opacity: 1;
}

.reviewQueueToggle {
  align-self: start;
  background: var(--panel);
  border: 1.5px solid rgba(82, 98, 95, 0.5);
  border-radius: 3px;
  color: var(--good);
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  min-height: 26px;
  min-width: 26px;
  padding: 0;
}

.reviewQueueToggle[data-selected="true"] {
  background: var(--satori-green-2);
  border-color: var(--satori-green);
}

.reviewQueueRowBody {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.reviewQueueRowBody strong {
  color: var(--satori-blue);
  font-size: 0.875rem;
  line-height: 1.25;
}

.reviewQueueRowBody .reviewQueueDisposition {
  color: var(--satori-blue-2);
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.reviewQueueRowBody .reviewQueueDisposition[data-disposition="needs_review"] {
  color: var(--warning);
}

.reviewQueueRowBody > span {
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.reviewQueueRowBody small {
  color: var(--satori-blue-2);
  font-size: 0.6875rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.reviewQueueMismatch {
  align-items: center;
  background: #fdecec;
  border-left: 3px solid var(--danger);
  color: #8a2620;
  display: flex;
  flex-wrap: wrap;
  font-size: 0.6875rem;
  font-weight: 600;
  gap: 6px;
  line-height: 1.35;
  padding: 4px 8px;
}

.reviewQueueMismatch a {
  align-items: center;
  color: inherit;
  display: inline-flex;
  gap: 3px;
  text-decoration: underline;
}

.reviewQueueVerified {
  align-items: center;
  color: #1d6b40;
  display: inline-flex;
  font-size: 0.6875rem;
  gap: 4px;
}

.reviewQueueOthers {
  align-items: center;
  border-top: 1px solid var(--line);
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.6875rem;
  gap: 8px;
  padding-top: 8px;
}

.reviewQueueOthers small {
  background: var(--panel-alt);
  border-radius: 3px;
  color: var(--satori-blue-2);
  padding: 3px 7px;
}

.reviewQueueOtherChip {
  align-items: center;
  cursor: default;
  display: inline-flex;
  gap: 5px;
  position: relative;
}

.reviewQueueOtherTip {
  background: var(--satori-blue);
  border-radius: 4px;
  bottom: calc(100% + 6px);
  box-shadow: var(--shadow-popover);
  color: #fff;
  display: none;
  flex-direction: column;
  gap: 2px;
  left: 50%;
  max-width: 260px;
  min-width: 150px;
  padding: 6px 9px;
  position: absolute;
  transform: translateX(-50%);
  white-space: normal;
  z-index: 5;
}

.reviewQueueOtherTip strong {
  font-size: 0.6875rem;
}

.reviewQueueOtherTip span {
  color: var(--satori-light-blue-2);
  font-size: 0.625rem;
}

.reviewQueueOtherChip:hover .reviewQueueOtherTip,
.reviewQueueOtherChip:focus .reviewQueueOtherTip,
.reviewQueueOtherChip:focus-within .reviewQueueOtherTip {
  display: flex;
}

.reviewQueueOtherAdd {
  align-items: center;
  background: none;
  border: 1px solid var(--satori-blue-2);
  border-radius: 3px;
  color: var(--satori-blue-2);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.625rem;
  gap: 2px;
  line-height: 1;
  padding: 1px 4px;
}

.reviewQueueOtherAdd:hover:not(:disabled) {
  background: var(--satori-blue-2);
  color: #fff;
}

.reviewQueueOtherAdd:disabled {
  cursor: default;
  opacity: 0.5;
}

.reviewQueueOtherMore {
  background: none;
  border: none;
  color: var(--satori-blue-2);
  cursor: pointer;
  font-size: 0.6875rem;
  padding: 3px 4px;
  text-decoration: underline;
}

.reviewQueueFooter {
  align-items: center;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  padding-top: 12px;
}

.reviewQueueFooterMain {
  display: flex;
  gap: 8px;
}

.reviewQueueKeys {
  color: var(--muted);
  font-size: 0.6875rem;
}

.reviewQueueDone {
  color: var(--satori-blue);
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: 30px 10px;
  text-align: center;
}

.reviewQueueDone svg {
  color: var(--satori-green);
}

.reviewQueueDone strong {
  font-family: var(--font-brand);
  font-size: 1.125rem;
  font-weight: 400;
}

.reviewQueueDone span {
  color: var(--muted);
  font-size: 0.8125rem;
}

.pipelineRailSuggestionHeaderActions {
  align-items: center;
  display: flex;
  gap: 8px;
}

.pipelineRailSuggestionHeaderActions .secondaryButton {
  font-size: 0.6875rem;
  min-height: 26px;
  padding: 3px 8px;
}

.pipelineRailSuggestions {
  background: #f7faf8;
}

.pipelineRailSuggestions .pipelineRailSectionHeader strong {
  align-items: center;
  display: inline-flex;
  gap: 5px;
}

.pipelineRailSuggestionCount {
  background: var(--satori-green-2);
  border: 1px solid rgba(82, 98, 95, 0.24);
  border-radius: 3px;
  color: var(--good);
  font-size: 0.6875rem;
  font-weight: 600;
  line-height: 1;
  padding: 4px 7px;
}

.pipelineRailSuggestion {
  align-items: start;
  background: var(--panel);
  border: 1px solid var(--ink-hairline);
  border-radius: 4px;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 9px 10px;
}

.pipelineRailSuggestion[data-disposition="needs_review"] {
  border-left: 3px solid var(--satori-orange);
}

.pipelineRailSuggestionBody {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.pipelineRailSuggestionBody strong {
  color: var(--satori-blue);
  font-size: 0.8125rem;
  line-height: 1.25;
}

.pipelineRailSuggestionBody > span {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.pipelineRailSuggestionBody small {
  color: var(--satori-blue-2);
  font-size: 0.6875rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.pipelineRailSuggestionActions {
  display: grid;
  gap: 6px;
  justify-items: stretch;
}

.pipelineRailSuggestionActions .secondaryButton,
.pipelineRailSuggestionActions .iconTextButton {
  font-size: 0.6875rem;
  justify-content: center;
  min-height: 28px;
  padding: 4px 8px;
}

.pipelineDetailRail .contactHistorySelector {
  display: grid;
  gap: 7px;
  grid-template-columns: 1fr;
}

.pipelineDetailRail .contactHistorySelector[hidden] {
  display: none;
}

.pipelineRailContactRow {
  align-items: stretch;
  display: grid;
  gap: 6px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.pipelineRailContactRow[data-active="true"] {
  background: #f7f9fb;
}

.pipelineDetailRail .contactHistoryChip {
  border-radius: 4px;
  min-height: 38px;
  min-width: 0;
  padding: 6px 7px;
}

.pipelineDetailRail .contactHistoryChip span {
  font-size: 0.6875rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pipelineDetailRail .contactHistoryChip small {
  font-size: 0.625rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pipelineRailAssignContact,
.pipelineRailAssignedContact {
  align-items: center;
  border-radius: 4px;
  display: inline-flex;
  font-size: 0.625rem;
  font-weight: 700;
  gap: 4px;
  justify-content: center;
  min-width: 74px;
  padding: 5px 7px;
}

.pipelineRailAssignContact {
  background: var(--satori-blue);
  border: 1px solid var(--satori-blue);
  color: #ffffff;
  cursor: pointer;
}

.pipelineRailAssignContact:hover:not(:disabled) {
  background: var(--satori-blue-2);
}

.pipelineRailAssignContact:focus-visible {
  outline: 2px solid var(--satori-light-blue);
  outline-offset: 1px;
}

.pipelineRailAssignContact:disabled {
  cursor: wait;
  opacity: 0.6;
}

.pipelineRailAssignedContact {
  background: var(--satori-green-2);
  border: 1px solid rgba(82, 98, 95, 0.24);
  color: var(--good);
}

.pipelineEmailHistoryPrimary {
  background: #fbfcfd;
}

.pipelineRailTouches {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pipelineRailTouches span {
  background: var(--satori-gray-2);
  border: 1px solid var(--satori-gray);
  color: var(--satori-blue-2);
  font-size: 0.625rem;
  font-weight: 700;
  min-height: 22px;
  padding: 5px 4px;
  text-align: center;
}

.pipelineRailTouches span[data-status="sent"],
.pipelineRailTouches span[data-status="pending"] {
  background: var(--satori-orange-2);
  border-color: var(--satori-orange);
  color: var(--warning);
}

.pipelineRailTouches span[data-status="replied"] {
  background: var(--satori-green-2);
  border-color: var(--satori-green);
  color: var(--satori-blue-2);
}

.currentDraftPanel {
  background: #fffdf9;
  border-bottom: 0;
}

.currentDraftMeta {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.currentDraftPanel .detailLine {
  min-height: 0;
  padding: 6px 0;
}

.pipelineRailActions {
  background: #ffffff;
  border-top: 1px solid var(--ink-hairline);
  bottom: 0;
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: auto;
  padding: 10px 12px;
  position: sticky;
}

.pipelineRailStatusChip {
  background: #f8fafc;
  border: 1px solid var(--ink-hairline);
  border-radius: 4px;
  display: grid;
  gap: 2px;
  min-height: 38px;
  min-width: 0;
  padding: 6px 7px;
}

.pipelineRailStatusChip strong {
  color: var(--satori-blue);
  font-size: 0.625rem;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pipelineRailStatusChip small {
  color: var(--muted);
  font-size: 0.625rem;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.detailHeader {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.detailHeader h2,
.detailSection h3 {
  margin: 0;
}

.detailHeader h2 {
  font-family: var(--font-brand);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.25;
}

.allocatorWebsiteButton {
  margin-top: 7px;
  min-height: 28px;
  padding: 5px 8px;
  text-decoration: none;
  width: fit-content;
}

.orgWebsiteButton {
  font-size: 0.75rem;
  margin-top: 0;
}

.detailGrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.accountSnapshot {
  background: transparent;
  display: grid;
  gap: 0;
  grid-template-columns: 1fr;
  padding: 0;
}

.snapshotLine {
  background: transparent;
  border-bottom: 1px solid rgba(122, 153, 172, 0.18);
  min-width: 0;
  padding: 8px 0;
}

.snapshotLine:first-child {
  border-top: 1px solid rgba(122, 153, 172, 0.18);
}

.snapshotLine span {
  color: var(--muted);
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.snapshotLine strong {
  color: var(--satori-blue);
  display: block;
  font-size: 0.8125rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.snapshotLine small {
  color: var(--muted);
  display: block;
  font-size: 0.75rem;
  line-height: 1.35;
  margin-top: 3px;
  overflow-wrap: anywhere;
}

.detailTabList {
  background: var(--satori-gray-2);
  border: 1px solid rgba(122, 153, 172, 0.24);
  border-radius: 4px;
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
  padding: 5px;
}

.detailTab {
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid var(--ink-hairline);
  border-radius: 4px;
  color: var(--satori-blue-2);
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 700;
  min-height: 36px;
  padding: 7px 8px;
}

.detailTab[data-active="true"] {
  background: var(--satori-blue);
  border-color: var(--satori-blue);
  box-shadow: none;
  color: #fff;
}

.detailTab:hover {
  background: var(--panel);
  border-color: var(--satori-light-blue);
  color: var(--satori-blue);
}

.detailTab:focus-visible {
  outline: 2px solid var(--satori-light-blue);
  outline-offset: 2px;
}

.detailTabPanel {
  display: grid;
  gap: 12px;
}

.allocatorIntelligenceSection {
  border-top-color: var(--satori-blue);
}

.allocatorIntelligenceCards {
  border: 1px solid rgba(122, 153, 172, 0.3);
  display: grid;
  min-width: 0;
}

.allocatorIntelligenceSection .allocatorIntelligenceCards {
  max-height: min(560px, 55vh);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.allocatorIntelligenceGroup {
  display: grid;
  gap: 8px;
}

.allocatorIntelligenceGroupHeader {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 10px;
  justify-content: space-between;
}

.allocatorIntelligenceGroupHeader h4 {
  color: var(--satori-blue);
  font-size: 0.8125rem;
  margin: 0;
}

.allocatorIntelligenceGroupHeader span {
  color: var(--muted);
  font-size: 0.6875rem;
}

.allocatorIntelligenceCard {
  background: #ffffff;
  border-bottom: 1px solid rgba(122, 153, 172, 0.22);
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 12px;
}

.allocatorIntelligenceCard:last-child {
  border-bottom: 0;
}

.allocatorIntelligenceCard[data-status="confirmed"] {
  background: var(--satori-green-2);
}

.allocatorIntelligenceCard[data-status="rejected"] {
  background: var(--satori-gray-2);
  color: var(--muted);
}

.allocatorIntelligenceCardTop {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
  min-width: 0;
}

.allocatorIntelligenceSignal {
  align-items: center;
  color: var(--satori-blue);
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 6px;
  min-width: 0;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

.allocatorIntelligenceStatus {
  background: var(--satori-blue-50);
  border-radius: 999px;
  color: var(--satori-blue);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 7px;
  text-transform: uppercase;
}

.allocatorIntelligenceCard[data-status="confirmed"] .allocatorIntelligenceStatus {
  background: rgba(47, 74, 61, 0.12);
  color: var(--good);
}

.allocatorIntelligenceCard[data-status="rejected"] .allocatorIntelligenceStatus {
  background: rgba(82, 98, 95, 0.12);
  color: var(--muted);
}

.allocatorIntelligenceValue {
  color: var(--satori-blue);
  font-size: 0.9375rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.allocatorIntelligenceMeta {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.6875rem;
  gap: 6px 12px;
  line-height: 1.35;
}

.allocatorIntelligenceSummary {
  color: var(--satori-blue-2);
  font-size: 0.75rem;
  line-height: 1.45;
  margin: 0;
  overflow-wrap: anywhere;
}

.allocatorIntelligenceCard blockquote {
  border-inline-start: 1px solid var(--satori-light-blue);
  color: var(--satori-blue-2);
  font-size: 0.75rem;
  line-height: 1.5;
  margin: 0;
  overflow-wrap: anywhere;
  padding-inline-start: 10px;
}

.allocatorIntelligenceActions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.allocatorIntelligenceButton {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--satori-blue);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 600;
  gap: 5px;
  min-height: 32px;
  padding: 5px 9px;
}

.allocatorIntelligenceButton[data-tone="good"] {
  border-color: rgba(47, 74, 61, 0.4);
  color: var(--good);
}

.allocatorIntelligenceButton:hover:not(:disabled) {
  border-color: var(--satori-light-blue);
  box-shadow: var(--shadow-hover);
}

.allocatorIntelligenceButton:focus-visible {
  outline: 2px solid var(--satori-light-blue);
  outline-offset: 2px;
}

.allocatorIntelligenceButton:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.allocatorIntelligenceEmpty {
  background: var(--satori-blue-50);
  border: 1px solid rgba(122, 153, 172, 0.3);
  color: var(--satori-blue-2);
  display: grid;
  gap: 4px;
  padding: 14px;
}

.allocatorIntelligenceEmpty strong {
  color: var(--satori-blue);
  font-size: 0.8125rem;
}

.allocatorIntelligenceEmpty span {
  font-size: 0.75rem;
  line-height: 1.4;
}

.detailLine {
  border: 0;
  border-bottom: 1px solid rgba(122, 153, 172, 0.2);
  border-radius: 0;
  padding: 8px 10px;
  min-height: 58px;
}

.detailLine span {
  display: block;
  color: var(--muted);
  font-size: 0.75rem;
  margin-bottom: 5px;
}

.detailLine strong {
  display: block;
  font-size: 0.875rem;
  color: var(--satori-blue);
}

.detailSection {
  border-top: 1px solid rgba(122, 153, 172, 0.24);
  padding-top: 10px;
}

.detailSection h3 {
  font-size: 0.8125rem;
  color: var(--satori-blue);
  margin-bottom: 8px;
}

.detailSection p {
  margin: 0 0 8px;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.contactManager {
  border-top-color: var(--satori-blue);
}

.sectionHeader {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 8px;
}

.sectionHeader h3 {
  margin-bottom: 0;
}

.sectionActions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.contactList {
  display: grid;
  gap: 8px;
  max-height: min(360px, 42vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 6px;
  scrollbar-color: var(--satori-orange) #edf1f2;
  scrollbar-width: thin;
}

.contactList::-webkit-scrollbar {
  width: 8px;
}

.contactList::-webkit-scrollbar-track {
  background: #edf1f2;
  border-radius: 999px;
}

.contactList::-webkit-scrollbar-thumb {
  background: var(--satori-orange);
  border-radius: 999px;
}

.contactCard {
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
  gap: 9px;
  grid-template-columns: 1fr;
  padding: 12px;
}

.contactCard[data-selected="true"] {
  border-color: var(--satori-blue);
  box-shadow: inset 3px 0 0 var(--satori-blue);
}

.contactCard[data-removed="true"] {
  background: var(--panel-alt);
  border-color: var(--line);
  box-shadow: none;
  opacity: 0.86;
}

.contactCard[data-removed="true"] .contactPerson,
.contactCard[data-responded="true"] .contactPerson {
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}

.contactCard strong {
  color: var(--satori-blue);
  font-size: 0.9375rem;
  line-height: 1.2;
}

.contactCard p {
  color: var(--muted);
  margin-top: 6px;
}

.contactCardHeader {
  align-items: flex-start;
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
  min-width: 0;
}

.contactPerson {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.contactIdentityLine {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.contactTitle {
  color: var(--foreground);
  display: block;
  font-size: 0.875rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.contactEmail {
  color: var(--muted);
  display: block;
  font-size: 0.8125rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.contactTaskState {
  color: var(--satori-blue-2);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.75rem;
  gap: 8px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.contactQuickPlan {
  align-items: flex-start;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(150px, 1.4fr) minmax(112px, 0.9fr) 72px minmax(72px, auto);
}

.contactQuickPlan label {
  color: var(--muted);
  display: flex;
  flex-direction: column;
  font-size: 0.6875rem;
  gap: 4px;
}

.contactQuickPlan input,
.contactQuickPlan select {
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  min-height: 34px;
  padding: 7px 8px;
  width: 100%;
}

.contactOrderControl input {
  text-align: center;
}

.contactStatusControl {
  min-width: 0;
}

.contactRole {
  border: 1px solid var(--satori-light-blue-2);
  border-radius: 4px;
  color: var(--satori-blue-2);
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.2;
  max-width: 100%;
  padding: 3px 6px;
}

.contactRemovedBadge,
.contactSystemBadge {
  border-radius: 4px;
  display: inline-flex;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 3px 6px;
}

.contactRemovedBadge {
  background: var(--satori-gray-2);
  border: 1px solid var(--satori-gray);
  color: var(--danger);
}

.contactSystemBadge {
  background: var(--satori-green-2);
  border: 1px solid var(--satori-green);
  color: var(--satori-blue-2);
}

.contactHeaderActions {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-start;
  width: 100%;
}

.contactDetailsButton {
  align-self: flex-start;
  min-height: 30px;
}

.contactRemoveButton {
  border-color: rgba(159, 42, 31, 0.28);
  color: var(--danger);
}

.contactReplyButton {
  border-color: var(--satori-green);
  color: var(--satori-blue-2);
}

.contactLinkedinButton {
  color: var(--satori-blue);
  min-width: 34px;
  padding-left: 8px;
  padding-right: 8px;
  text-decoration: none;
}

.contactSaveState {
  align-self: end;
  min-height: 34px;
  padding-top: 16px;
}

.contactExpanded {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  padding-top: 10px;
}

.contactDraftPreview {
  border: 1px solid var(--line);
  border-left: 3px solid var(--satori-orange);
  border-radius: 4px;
  display: grid;
  gap: 8px;
  padding: 10px;
}

.contactDraftHeader {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.contactDraftHeader strong {
  color: var(--satori-blue);
  overflow-wrap: anywhere;
}

.contactDraftHeader span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 700;
}

.emailHistoryWorkspace {
  border-top-color: var(--satori-blue);
  display: grid;
  gap: 12px;
}

.contactHistorySelector {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contactHistoryChip {
  background: var(--panel);
  border: 1px solid var(--line);
  color: var(--foreground);
  cursor: pointer;
  display: grid;
  gap: 3px;
  min-height: 48px;
  min-width: 0;
  padding: 7px 8px;
  text-align: left;
}

.contactHistoryChip[data-active="true"] {
  border-color: var(--satori-blue);
  box-shadow: inset 3px 0 0 var(--satori-blue);
}

.contactHistoryChip span {
  color: var(--satori-blue);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.contactHistoryChip small {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}


.contactContext {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contactPlanGrid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contactPlanGrid label {
  color: var(--muted);
  display: flex;
  flex-direction: column;
  font-size: 0.75rem;
  gap: 5px;
}

.contactPlanGrid input,
.contactPlanGrid select,
.contactPlanGrid textarea {
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  min-height: 36px;
  padding: 8px 10px;
}

.contactNotice {
  background: #fbf2e7;
  border: 1px solid var(--satori-brass);
  color: var(--satori-blue);
  padding: 9px 10px;
}

.workflowCards {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 10px;
}

.workflowCard {
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
  gap: 6px;
  min-height: 118px;
  padding: 11px;
}

.workflowCard[data-tone="warning"] {
  border-color: var(--satori-orange);
  box-shadow: inset 3px 0 0 var(--satori-orange);
}

.workflowCard[data-tone="danger"] {
  border-color: rgba(159, 42, 31, 0.42);
  box-shadow: inset 3px 0 0 var(--danger);
}

.workflowCard[data-tone="good"] {
  border-color: var(--satori-green);
  box-shadow: inset 3px 0 0 var(--satori-green);
}

.workflowCardTop {
  align-items: center;
  color: var(--muted);
  display: flex;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 6px;
  text-transform: uppercase;
}

.workflowIcon {
  align-items: center;
  color: var(--satori-blue);
  display: inline-flex;
}

.workflowCard strong {
  color: var(--satori-blue);
  font-size: 0.9375rem;
  line-height: 1.25;
}

.workflowDetail,
.workflowMeta {
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.workflowMeta {
  color: var(--satori-blue-2);
}

.workflowDetailGrid {
  margin-top: 2px;
}

.emailTrackingTableWrap {
  border: 1px solid var(--line);
  border-radius: 4px;
  margin-bottom: 10px;
  overflow-x: auto;
}

.emailTrackingTable {
  border-collapse: collapse;
  min-width: 100%;
  table-layout: fixed;
}

.emailTrackingTable th,
.emailTrackingTable td {
  border-bottom: 1px solid var(--line);
  padding: 8px 10px;
  text-align: center;
  vertical-align: middle;
}

.emailTrackingTable th {
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.emailTrackingTable th:first-child,
.emailTrackingTable td:first-child {
  text-align: left;
  width: 42%;
}

.campaignEmailPipeline {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.campaignEmailPipelineHeader {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.campaignEmailPipelineHeader strong {
  font-size: 0.875rem;
}

.campaignEmailPipelineHeader span,
.emailTrackingAllocator {
  color: var(--muted);
  font-size: 0.75rem;
}

.campaignEmailTrackingWrap {
  max-height: min(340px, 38vh);
  margin-bottom: 0;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: var(--satori-light-blue) #edf1f2;
  scrollbar-width: thin;
}

.campaignEmailTrackingWrap::-webkit-scrollbar {
  height: 8px;
  width: 8px;
}

.campaignEmailTrackingWrap::-webkit-scrollbar-track {
  background: #edf1f2;
  border-radius: 999px;
}

.campaignEmailTrackingWrap::-webkit-scrollbar-thumb {
  background: var(--satori-light-blue);
  border-radius: 999px;
}

.campaignEmailTrackingWrap .emailTrackingTable th {
  background: #fff;
  position: sticky;
  top: 0;
  z-index: 2;
}

.campaignEmailTrackingTable {
  min-width: 760px;
}

.campaignEmailTrackingTable th:first-child,
.campaignEmailTrackingTable td:first-child {
  width: 30%;
}

.campaignEmailTrackingTable th:nth-child(2),
.campaignEmailTrackingTable td:nth-child(2) {
  text-align: left;
  width: 28%;
}

.emailTrackingTable tbody tr:last-child td {
  border-bottom: 0;
}

.emailTrackingContact {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.emailTrackingContact strong,
.emailTrackingContact span {
  overflow-wrap: anywhere;
}

.emailTrackingContact span {
  color: var(--muted);
  font-size: 0.75rem;
}

.emailTouchSquare {
  border: 1px solid var(--line);
  border-radius: 3px;
  display: inline-block;
  height: 14px;
  width: 14px;
}

.emailTouchSquare[data-status="none"] {
  background: var(--panel-alt);
  border-style: dashed;
}

.emailTouchSquare[data-status="pending"] {
  background: var(--danger);
  border-color: var(--danger);
}

.emailTouchSquare[data-status="sent"] {
  background: var(--satori-orange);
  border-color: var(--warning);
}

.emailTouchSquare[data-status="replied"] {
  background: var(--satori-blue);
  border-color: var(--satori-blue);
}

.gmailDraftLinkedBadge {
  align-items: center;
  background: var(--satori-gray-2);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--satori-blue-2);
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 700;
  gap: 6px;
  min-height: 34px;
  padding: 7px 10px;
}

.formFooter {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.noteComposer {
  display: grid;
  grid-template-columns: minmax(120px, 0.5fr) minmax(120px, 0.5fr);
  gap: 8px;
  margin-top: 10px;
}

.noteComposer textarea,
.noteComposer button,
.noteComposer span {
  grid-column: 1 / -1;
}

.noteComposer input,
.noteComposer select,
.noteComposer textarea {
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  min-height: 36px;
  padding: 8px 10px;
}

.flagList {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.flag {
  color: var(--warning);
}

.flag {
  border: 1px solid var(--satori-orange);
  background: var(--satori-orange-2);
  border-radius: 4px;
  padding: 3px 8px;
  font-size: 0.75rem;
}

.warningText {
  color: var(--warning);
}

.errorText {
  color: var(--danger);
}

.taskEditorGrid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 170px;
  gap: 10px;
  margin-top: 10px;
}

.taskEditorGrid label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 0.75rem;
  color: var(--muted);
}

.taskEditorGrid input,
.taskEditorGrid textarea {
  border: 1px solid var(--line);
  border-radius: 4px;
  min-height: 36px;
  padding: 8px 10px;
  color: var(--foreground);
  background: #fff;
}

.primaryButton {
  border: 1px solid var(--satori-blue);
  background: var(--satori-blue);
  color: #fff;
  border-radius: 4px;
  min-height: 38px;
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
}

.primaryButton:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.secondaryButton {
  align-items: center;
  background: #fff;
  border: 1px solid var(--satori-blue);
  border-radius: 4px;
  color: var(--satori-blue);
  cursor: pointer;
  display: inline-flex;
  gap: 7px;
  justify-content: center;
  min-height: 38px;
  padding: 8px 11px;
}

.secondaryButton:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.secondaryButton.dangerButton {
  border-color: var(--danger);
  color: var(--danger);
}

.iconTextButton {
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--satori-blue);
  cursor: pointer;
  display: inline-flex;
  gap: 5px;
  justify-content: center;
  min-height: 34px;
  padding: 7px 9px;
  white-space: nowrap;
}

.modalBackdrop {
  align-items: flex-start;
  background: var(--ink-strong);
  bottom: 0;
  display: flex;
  justify-content: center;
  left: 0;
  overflow-y: auto;
  padding: 40px 18px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 50;
}

.campaignImportModal {
  background: var(--panel);
  border-top: 3px solid var(--satori-blue);
  box-shadow: var(--shadow-toast);
  display: grid;
  gap: 14px;
  max-width: 760px;
  padding: 18px;
  width: min(100%, 760px);
}

.modalHeader,
.modalActions,
.previewHeader {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.modalHeader h2,
.previewHeader h3 {
  color: var(--satori-blue);
  font-family: var(--font-brand);
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
}

.modalHeader h2 {
  font-size: 1.5rem;
}

.previewHeader h3 {
  font-size: 1.25rem;
}

.modalCloseButton {
  min-width: 36px;
  padding: 7px;
}

.campaignImportForm {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.78fr);
}

.campaignImportForm label {
  color: var(--muted);
  display: flex;
  flex-direction: column;
  font-size: 0.75rem;
  gap: 5px;
}

.campaignImportForm input {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  min-height: 38px;
  padding: 8px 10px;
  width: 100%;
}

.campaignImportForm input[readonly] {
  background: #f6f7f4;
  color: var(--satori-blue);
  font-weight: 700;
}

.modalActions {
  justify-content: flex-start;
  flex-wrap: wrap;
}

.campaignImportPreview {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  padding-top: 14px;
}

.previewStats {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.previewStats div {
  border: 1px solid var(--line);
  border-radius: 4px;
  min-height: 70px;
  padding: 10px;
}

.previewStats span {
  color: var(--muted);
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.previewStats strong {
  color: var(--satori-blue);
  display: block;
  font-family: var(--font-brand);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1;
}

.previewReportGrid {
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.previewReportGrid > div {
  border-bottom: 1px solid var(--line);
  min-width: 0;
  padding: 9px 10px;
}

.previewReportGrid > div:nth-child(odd) {
  border-right: 1px solid var(--line);
}

.previewReportGrid > div:nth-last-child(-n + 2) {
  border-bottom: 0;
}

.previewReportGrid span,
.previewSampleHeader {
  color: var(--muted);
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.previewReportGrid strong {
  color: var(--satori-blue);
  display: block;
  font-size: 0.8125rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

.previewReportGrid .previewReportGridWide {
  border-bottom: 0;
  border-right: 0;
  grid-column: 1 / -1;
}

.previewFilterList {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.previewFilterList span {
  background: #f6f7f4;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--satori-blue);
  margin: 0;
  padding: 4px 8px;
  text-transform: none;
}

.campaignImportWarnings {
  background: #fbf2e7;
  border: 1px solid var(--satori-orange);
  color: var(--warning);
  display: grid;
  gap: 5px;
  padding: 9px 10px;
}

.campaignImportWarnings span,
.campaignImportNotice {
  font-size: 0.8125rem;
  line-height: 1.35;
}

.previewSample {
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
}

.previewSampleHeader {
  border-bottom: 1px solid var(--line);
  margin: 0;
  padding: 9px 10px 7px;
}

.previewSampleRow {
  display: grid;
  gap: 4px;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.72fr);
  padding: 9px 10px;
}

.previewSampleRow + .previewSampleRow {
  border-top: 1px solid var(--line);
}

.previewSampleRow strong {
  color: var(--satori-blue);
  overflow-wrap: anywhere;
}

.previewSampleRow span {
  color: var(--muted);
  font-size: 0.75rem;
  overflow-wrap: anywhere;
}

.campaignImportNotice {
  background: var(--satori-green-2);
  border: 1px solid var(--satori-green);
  color: var(--satori-blue);
  display: grid;
  gap: 4px;
  padding: 9px 10px;
}

.campaignImportNotice.errorText {
  background: #fbf2e7;
  border-color: var(--danger);
  color: var(--danger);
}

.campaignImportNotice.infoText {
  background: #f6f7f4;
  border-color: var(--satori-blue);
}

.campaignImportNotice.warningText {
  background: #fbf2e7;
  border-color: var(--satori-orange);
  color: var(--warning);
}

.campaignImportResult {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  padding-top: 14px;
}

.resultHeader {
  align-items: center;
  color: var(--satori-green);
  display: flex;
  gap: 8px;
}

.resultHeader h3 {
  color: var(--satori-blue);
  font-family: var(--font-brand);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
}

.resultHeader span {
  color: var(--muted);
  font-size: 0.75rem;
}

.resultStats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* Alpine Intelligence auth surfaces (login / reset password).
   Deliberately branded on Alpine tokens per George, scoped to .alpineAuthPage;
   the AllocatorOS token system does not apply inside this block. */
.alpineAuthPage {
  --alpine-twilight: #171914;
  --alpine-brass: #cf9d7b;
  --alpine-sand: #ede3d6;
  --alpine-sand-muted: rgba(237, 227, 214, 0.62);
  --alpine-line: rgba(237, 227, 214, 0.22);
  --alpine-line-soft: rgba(237, 227, 214, 0.14);
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
  background: linear-gradient(160deg, #3e4a52 0%, #2c3a3b 34%, #22302b 62%, #171914 100%) fixed;
}

.alpineAuthPanel {
  width: min(100%, 420px);
  background: rgba(23, 25, 20, 0.32);
  border: 1px solid var(--alpine-line-soft);
  border-radius: 10px;
  padding: 36px 32px 30px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.38);
}

.alpineAuthBrand {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 4px;
  margin-bottom: 26px;
}

.alpineAuthBrand img {
  margin-bottom: 10px;
}

.alpineAuthWordmark {
  font-family: var(--font-particle), sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 0.22em;
  padding-left: 0.22em;
  text-transform: uppercase;
  color: var(--alpine-brass);
}

.alpineAuthBrand h1 {
  font-family: var(--font-particle), sans-serif;
  font-weight: 400;
  font-size: 2rem;
  letter-spacing: 0.04em;
  color: var(--alpine-sand);
  margin: 2px 0 0;
}

.alpineAuthTagline {
  font-size: 0.8125rem;
  color: var(--alpine-sand-muted);
  margin: 2px 0 0;
}

.alpineAuthForm {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.alpineAuthForm label {
  display: flex;
  flex-direction: column;
  gap: 7px;
  font-family: var(--font-particle), sans-serif;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--alpine-brass);
}

.alpineAuthForm input {
  font-family: var(--font-data);
  font-size: 0.9375rem;
  letter-spacing: normal;
  border: 1px solid var(--alpine-line);
  background: rgba(237, 227, 214, 0.05);
  border-radius: 6px;
  min-height: 42px;
  padding: 8px 12px;
  color: var(--alpine-sand);
}

.alpineAuthForm input::placeholder {
  color: rgba(237, 227, 214, 0.35);
}

.alpineAuthForm input:focus-visible {
  outline: none;
  border-color: var(--alpine-brass);
  box-shadow: 0 0 0 3px rgba(207, 157, 123, 0.22);
}

.alpineAuthForm input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #232920 inset;
  -webkit-text-fill-color: var(--alpine-sand);
  caret-color: var(--alpine-sand);
}

.alpineAuthButton {
  font-family: var(--font-particle), sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  background: var(--alpine-brass);
  color: var(--alpine-twilight);
  border: 0;
  border-radius: 6px;
  min-height: 44px;
  padding: 10px 16px;
  cursor: pointer;
  transition: background 120ms ease;
}

.alpineAuthButton:hover {
  background: #d9ac8c;
}

.alpineAuthButton:focus-visible {
  outline: 2px solid var(--alpine-sand);
  outline-offset: 2px;
}

.alpineAuthError,
.alpineAuthNotice {
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 0.8125rem;
  line-height: 1.45;
  margin: 0 0 14px;
}

.alpineAuthError {
  background: rgba(160, 59, 42, 0.24);
  border: 1px solid rgba(160, 59, 42, 0.55);
  color: #f2c1b3;
}

.alpineAuthNotice {
  background: rgba(159, 195, 178, 0.12);
  border: 1px solid rgba(159, 195, 178, 0.35);
  color: #8fd9ac;
}

@media (max-width: 1100px) {
  .appShell {
    grid-template-columns: 1fr;
  }

  .mainPipeline {
    height: auto;
    overflow: visible;
  }

  .pipelineWorkspace {
    grid-template-columns: 1fr;
    height: auto;
    overflow: visible;
  }

  .pipelineMain {
    overflow: visible;
  }

  .replyIntelligenceShowcaseRail {
    grid-auto-columns: minmax(270px, 320px);
  }

  .pipelineDetailRail {
    height: auto;
    min-height: 70vh;
  }

  .mainPipeline .allocatorPipelineColumns {
    grid-template-columns: repeat(7, minmax(160px, 1fr));
    overflow-x: auto;
  }

  .appSidebar {
    border-bottom: 2.25px solid var(--satori-blue);
    border-right: 0;
    height: auto;
    position: static;
  }

  .sidebarSection {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sidebarSectionLabel {
    grid-column: 1 / -1;
  }

  .sidebarUtilities {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 0;
  }
}

@media (max-width: 920px) {
  .replyIntelligenceQueueFilters {
    grid-template-columns: repeat(2, minmax(130px, 1fr));
  }

  .replyIntelligenceQueueFilters > button {
    grid-column: 1 / -1;
  }

  .toolbar {
    grid-template-columns: 1fr 1fr;
  }

  .pipelineSearchControl {
    flex-basis: 100%;
    max-width: none;
    order: 3;
  }

  .pipelineRailActions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .accountSnapshot {
    grid-template-columns: 1fr;
  }

  .campaignDetailHeader {
    align-items: stretch;
    flex-direction: column;
  }

  .campaignHeaderTools {
    justify-content: flex-start;
  }

  .allocatorPipelineColumns {
    grid-auto-columns: minmax(210px, 300px);
  }

  .workspace {
    grid-template-columns: 1fr;
  }

  .accountDrawer {
    max-height: none;
    position: static;
  }
}

@media (max-width: 620px) {
  .appSidebar {
    padding: 14px 12px;
  }

  .sidebarBrand {
    align-items: flex-start;
  }

  .allocatorPipelineBoard {
    padding: 10px;
  }

  .allocatorPipelineHeader {
    align-items: stretch;
    flex-direction: column;
  }

  .replyIntelligenceShowcaseHeader {
    align-items: stretch;
    flex-direction: column;
  }

  .replyIntelligenceShowcaseControls {
    justify-content: flex-end;
  }

  .replyIntelligenceShowcaseRail {
    grid-auto-columns: minmax(252px, calc(100vw - 48px));
  }

  .replyIntelligenceQueueHeader {
    gap: 8px;
  }

  .replyIntelligenceQueueHeaderActions {
    align-self: flex-start;
  }

  .replyIntelligenceQueueFilters,
  .replyIntelligenceQueueItem {
    grid-template-columns: 1fr;
  }

  .replyIntelligenceQueueAccount {
    border-bottom: 1px solid rgba(122, 153, 172, 0.24);
    border-right: 0;
  }

  .replyIntelligenceQueueBackdrop {
    padding: 12px;
  }

  .replyIntelligenceQueue {
    max-height: calc(100vh - 24px);
    width: calc(100vw - 24px);
  }

  .allocatorPipelineHeader > span {
    width: fit-content;
  }

  .contactHistorySelector {
    grid-template-columns: 1fr;
  }

  .currentDraftMeta,
  .pipelineRailContactHero,
  .pipelineRailActions {
    grid-template-columns: 1fr;
  }

  .sidebarSection,
  .sidebarUtilities {
    grid-template-columns: 1fr;
  }

  .brandMark {
    width: 36px;
    margin-top: 0;
  }

  .brand h1 {
    font-size: 1.25rem;
    white-space: normal;
  }

  .brand span {
    font-size: 0.6875rem;
    line-height: 1.3;
    white-space: normal;
  }

  .main {
    padding: 14px 12px 22px;
  }

  .toolbar,
  .campaignImportForm,
  .previewStats,
  .previewReportGrid,
  .previewSampleRow,
  .detailGrid,
  .contactCardHeader,
  .contactContext,
  .contactPlanGrid,
  .draftReviewItem,
  .taskEditorGrid,
  .noteComposer,
  .workflowCards {
    grid-template-columns: 1fr;
  }

  .filterDisclosure {
    justify-self: stretch;
  }

  .filterDisclosure summary {
    width: 100%;
  }

  .campaignManagePanel,
  .filterPanel {
    left: 0;
    min-width: 0;
    right: auto;
    width: min(280px, calc(100vw - 24px));
  }

  .accountSnapshot,
  .detailTabList {
    grid-template-columns: 1fr;
  }

  .previewReportGrid > div,
  .previewReportGrid > div:nth-child(odd) {
    border-right: 0;
  }

  .previewReportGrid > div:nth-last-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .previewReportGrid > div:last-child {
    border-bottom: 0;
  }

  .sectionHeader {
    align-items: flex-start;
    flex-direction: column;
  }

  .sectionActions {
    justify-content: flex-start;
    width: 100%;
  }

  .contactQuickPlan {
    grid-template-columns: minmax(0, 1fr) minmax(96px, 0.7fr);
  }

  .contactSaveState {
    align-self: flex-start;
    padding-top: 0;
  }
}

.contactSuggestion {
  align-items: center;
  background: #eef4f8;
  border-left: 3px solid var(--satori-blue-2);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
  margin-top: 8px;
  padding: 8px 10px;
}

.contactSuggestion[data-disposition="needs_review"] {
  background: #fbf2e7;
  border-left-color: var(--satori-brass);
}

.contactSuggestionText {
  align-items: center;
  color: var(--satori-blue);
  display: flex;
  flex: 1 1 240px;
  font-size: 0.75rem;
  gap: 6px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.contactSuggestionActions {
  align-items: center;
  display: flex;
  gap: 6px;
}

.contactVerification {
  align-items: center;
  display: flex;
  flex: 1 1 100%;
  font-size: 0.75rem;
  gap: 6px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.contactVerification[data-verification="verified"] {
  color: #1d6b40;
}

.contactVerification[data-verification="mismatch"] {
  background: #fdecec;
  border-left: 3px solid var(--danger);
  color: #8a2620;
  font-weight: 600;
  margin-left: -10px;
  padding: 4px 10px;
}

.contactVerification[data-verification="not_found"] {
  color: var(--satori-slate);
}

.contactVerification a {
  align-items: center;
  color: inherit;
  display: inline-flex;
  gap: 3px;
  text-decoration: underline;
}

.autoContactNotice {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin: 8px 12px 0;
}

.selectionProfileForm textarea {
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  font: inherit;
  padding: 8px 10px;
  resize: vertical;
}

.selectionThresholds {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1fr;
}

.selectionOverrides {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding-top: 10px;
}

.selectionOverrideRow {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.selectionOverrideRow input {
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  min-height: 34px;
  padding: 6px 8px;
}

.templateIngestModal {
  max-height: 88vh;
  overflow-y: auto;
  width: min(760px, 94vw);
}

.templateIngestForm input:not([type="checkbox"]),
.templateIngestForm textarea {
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  font: inherit;
  padding: 8px 10px;
}

.templateIngestForm input[type="checkbox"] {
  height: 14px;
  margin: 0;
  min-height: 0;
  width: 14px;
}

.templateIngestForm textarea {
  resize: vertical;
}

.templateIngestStep {
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 12px;
}

.templateIngestStep legend {
  align-items: center;
  display: flex;
  font-weight: 600;
  gap: 8px;
  padding: 0 4px;
}

.templateIngestStep label {
  display: grid;
  gap: 4px;
}

.templateIngestVariables {
  font-size: 0.75rem;
}

.templateIngestPrefillNote {
  font-size: 0.75rem;
}

.templateIngestReplyNote {
  font-size: 0.75rem;
}

.templateIngestCadence {
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  font-size: 0.8125rem;
  gap: 8px;
}

.templateIngestCadence input {
  width: 72px;
}

.templateIngestMaterials {
  display: grid;
  gap: 6px;
}

.templateIngestMaterials > .muted {
  align-items: center;
  display: inline-flex;
  gap: 5px;
}

.templateIngestMaterialOptions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
}

.templateIngestMaterialOption {
  align-items: center;
  display: inline-flex;
  font-size: 0.8125rem;
  gap: 6px;
}

.templateIngestActionsRow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.meaningfulReplyAlert {
  background: var(--panel);
  border: 1px solid var(--satori-orange);
  border-radius: 4px;
  box-shadow: var(--shadow-panel);
  display: grid;
  gap: 8px;
  left: 50%;
  max-width: min(560px, 92vw);
  padding: 12px 14px;
  position: fixed;
  top: 12px;
  transform: translateX(-50%);
  width: max-content;
  z-index: 90;
}

.meaningfulReplyPill {
  align-items: center;
  background: var(--warning);
  border: none;
  border-radius: 999px;
  box-shadow: var(--shadow-popover);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  gap: 6px;
  left: 50%;
  padding: 7px 14px;
  position: fixed;
  top: 12px;
  transform: translateX(-50%);
  z-index: 90;
}

.meaningfulReplyFlash {
  animation: meaningfulReplyPulse 1.4s ease-in-out 3;
}

@keyframes meaningfulReplyPulse {
  0%,
  100% {
    box-shadow: var(--shadow-panel);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(230, 166, 93, 0.45), var(--shadow-panel);
  }
}

.meaningfulReplyHeader {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.meaningfulReplyHeaderActions {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 6px;
}

.meaningfulReplyTitle {
  align-items: center;
  color: var(--warning);
  display: inline-flex;
  font-size: 0.8125rem;
  font-weight: 700;
  gap: 6px;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

.meaningfulReplyCount {
  background: var(--satori-orange-2);
  border-radius: 999px;
  color: var(--warning);
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 2px 8px;
  text-transform: none;
}

.meaningfulReplyBody {
  display: grid;
  gap: 3px;
}

.meaningfulReplyFrom {
  background: none;
  border: none;
  color: var(--foreground);
  cursor: pointer;
  font: inherit;
  font-weight: 600;
  justify-self: start;
  padding: 0;
  text-align: left;
  text-decoration: underline;
}

.meaningfulReplyFromText {
  font-weight: 600;
}

.meaningfulReplyMeta {
  color: var(--warning);
  font-size: 0.75rem;
  font-weight: 600;
}

.meaningfulReplySubject {
  font-size: 0.8125rem;
  font-weight: 600;
}

.meaningfulReplySnippet {
  color: var(--muted);
  display: -webkit-box;
  font-size: 0.8125rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.meaningfulReplyFullBody {
  background: #fffbf5;
  border: 1px solid var(--line);
  border-radius: 4px;
  font-size: 0.8125rem;
  line-height: 1.45;
  max-height: 280px;
  overflow-y: auto;
  padding: 10px 12px;
}

.meaningfulReplyFullBody p {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.meaningfulReplyQuoted {
  border-top: 1px solid var(--line);
  color: var(--muted);
  margin-top: 10px !important;
  padding-top: 10px;
}

.meaningfulReplyToggleEmail {
  align-items: center;
  background: none;
  border: none;
  color: var(--warning);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 600;
  gap: 5px;
  justify-self: start;
  padding: 0;
  text-decoration: underline;
}

.meaningfulReplyToggleEmail:disabled {
  cursor: default;
  opacity: 0.6;
}

.meaningfulReplyEmailError {
  color: var(--danger);
  font-size: 0.75rem;
}

.meaningfulReplyActions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.meaningfulReplyDeclineButton {
  border-color: var(--danger);
  color: var(--danger);
}

.meaningfulReplyDeclineButton:hover:not(:disabled) {
  background: #fef2f2;
}

.pipelineRepliesMenu {
  /* Static so the panel positions against .pipelineTopbarActions: the row's
     right edge is always the content area's right edge, regardless of which
     topbar buttons render or how wide their counts make them. */
  position: static;
}

.topbarRepliesButton strong {
  align-items: center;
  background: var(--satori-blue-50);
  border-radius: 999px;
  display: inline-flex;
  font-size: 0.6875rem;
  justify-content: center;
  min-width: 22px;
  padding: 3px 6px;
}

.topbarRepliesButton[data-attention="true"] {
  border-color: rgba(184, 105, 17, 0.5);
  color: var(--qa-brown);
}

.topbarRepliesButton[data-attention="true"] strong {
  background: var(--qa-parchment);
}

.pipelineMenuPanel.repliesMenuPanel {
  gap: 6px;
  max-height: min(560px, 72vh);
  overflow-y: auto;
  width: min(420px, calc(100vw - 24px));
}

.repliesPanelHeader {
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 2px 2px 0;
  text-transform: uppercase;
}

.repliesPanelReviewHeader {
  border-top: 1px solid var(--satori-gray-2);
  margin-top: 6px;
  padding-top: 10px;
}

.repliesEmpty {
  color: var(--muted);
  font-size: 0.8125rem;
  margin: 0;
  padding: 2px 2px 4px;
}

.replyFeedItem,
.matchReviewItem {
  background: #ffffff;
  border: 1px solid var(--satori-gray-2);
  border-radius: 4px;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0, 1fr);
  text-align: left;
}

.matchReviewItem {
  gap: 5px;
  padding: 8px 9px;
}

.matchReviewCount,
.matchReviewAttribution,
.matchReviewContext {
  color: var(--muted);
  font-size: 0.75rem;
  line-height: 1.5;
}

.matchReviewCount {
  margin: 0 2px 4px;
}

.matchReviewContext summary {
  color: var(--satori-blue);
  cursor: pointer;
  padding: 4px 0;
}

.matchReviewContext p {
  margin: 6px 0;
}

.matchReviewContext .matchReviewPreview {
  color: var(--foreground);
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.matchReviewOpenEmail {
  justify-self: start;
  margin-top: 4px;
  text-decoration: none;
}

.replyFeedItem:hover {
  border-color: var(--satori-light-blue);
  box-shadow: var(--shadow-hover);
}

.replyFeedItem[data-needs-review="true"] {
  border-left: 3px solid var(--satori-orange);
}

.replyFeedSummary {
  background: transparent;
  border: 0;
  cursor: pointer;
  display: grid;
  gap: 5px;
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding: 8px 9px;
  text-align: left;
  width: 100%;
}

.replyFeedChevron {
  color: var(--muted);
  margin-left: auto;
}

.replyFeedDetail {
  border-top: 1px solid var(--satori-gray-2);
  display: grid;
  gap: 7px;
  grid-template-columns: minmax(0, 1fr);
  padding: 8px 9px 9px;
}

.replyFeedSubject {
  color: var(--satori-blue);
  font-size: 0.75rem;
  font-weight: 700;
}

.replyFeedBody {
  color: var(--satori-blue-2);
  font-size: 0.8125rem;
  line-height: 1.5;
  max-height: 260px;
  overflow-y: auto;
  white-space: pre-wrap;
}

.replyIntelligenceBlock {
  border-top: 1px solid var(--satori-gray-2);
  display: grid;
  gap: 7px;
  padding-top: 8px;
}

.replyIntelligenceHeader {
  align-items: baseline;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.replyIntelligenceHeader strong {
  color: var(--satori-blue);
  font-size: 0.75rem;
}

.replyIntelligenceHeader span,
.replyIntelligenceEmpty {
  color: var(--muted);
  font-size: 0.6875rem;
}

.replyIntelligenceEmpty {
  margin: 0;
}

.replyIntelligenceBlock .allocatorIntelligenceCard {
  padding: 9px;
}

.replyIntelligenceBlock .allocatorIntelligenceSummary {
  display: none;
}

.replyFeedError {
  color: var(--danger);
  font-size: 0.75rem;
  margin: 0;
}

.replyFeedActions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.replyFeedActionButton {
  align-items: center;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--satori-blue);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.75rem;
  font-weight: 600;
  gap: 5px;
  padding: 5px 9px;
}

.replyFeedActionButton:hover:not(:disabled) {
  border-color: var(--satori-light-blue);
  box-shadow: var(--shadow-hover);
}

.replyFeedActionButton:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.replyFeedActionButton[data-tone="good"] {
  border-color: rgba(47, 74, 61, 0.35);
  color: #2f4a3d;
}

.replyFeedActionButton[data-tone="danger"] {
  border-color: rgba(138, 61, 51, 0.35);
  color: #8a3d33;
}

.replyFeedTop {
  align-items: baseline;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.replyFeedOrg {
  color: var(--satori-blue);
  font-size: 0.8125rem;
  font-weight: 700;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.replyFeedDate {
  color: var(--muted);
  flex-shrink: 0;
  font-size: 0.6875rem;
}

.replyFeedMeta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.replyFeedBadge {
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 2px 8px;
}

.replyFeedBadge[data-tone="good"] {
  background: var(--satori-green-2);
  color: #2f4a3d;
}

.replyFeedBadge[data-tone="info"] {
  background: var(--satori-blue-50);
  color: var(--satori-blue);
}

.replyFeedBadge[data-tone="danger"] {
  background: var(--satori-rose-2);
  color: #8a3d33;
}

.replyFeedBadge[data-tone="muted"],
.replyFeedBadge[data-tone="neutral"] {
  background: var(--satori-gray-2);
  color: var(--muted);
}

.replyFeedBadge[data-tone="review"] {
  background: var(--satori-orange-2);
  color: var(--qa-brown);
}

.replyFeedRouting {
  color: var(--muted);
  font-size: 0.6875rem;
}

.replyFeedExcludedTag,
.replyFeedReviewTag {
  border-radius: 999px;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 2px 7px;
  text-transform: uppercase;
}

.replyFeedExcludedTag {
  background: var(--satori-gray-2);
  color: var(--satori-blue-2);
}

.replyFeedReviewTag {
  background: var(--satori-orange-2);
  color: var(--qa-brown);
}

.replyFeedSnippet {
  color: var(--satori-blue-2);
  display: -webkit-box;
  font-size: 0.75rem;
  line-height: 1.4;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* Touch-target floor: on coarse pointers every interactive control reaches 44px.
   The floating pipeline-card actions keep their compact footprint (they would
   cover card content at 44px) and instead extend their hit area and stay
   visible, since touch has no hover to reveal them. */
@media (pointer: coarse) {
  button,
  select,
  summary,
  input:not([type="checkbox"]):not([type="radio"]),
  .control,
  .iconButton,
  .iconTextButton,
  .topbarMenuButton,
  .topbarQaButton,
  .sidebarUtilityButton,
  .secondaryButton,
  .primaryButton,
  .sortButton,
  .inlineRetry,
  .traceEmailExpand,
  .traceEmailQuotedToggle,
  .traceEmailContactFilters button,
  .traceEmailDirectionFilters button,
  .reviewQueueOtherAdd,
  .pipelineRailAssignContact,
  .pipelineMenuPanel select,
  .pipelineToolsPanel .iconTextButton,
  .pipelineRailSuggestionHeaderActions .secondaryButton,
  .pipelineRailSuggestionActions .iconTextButton,
  .replyIntelligenceQueueHeaderActions > a,
  .pipelineDetailRail .contactHistoryChip,
  .allocatorPipelineMovePanel button,
  .allocatorWebsiteButton,
  .filterDisclosure summary,
  .contactQuickPlan select,
  .contactDetailsButton {
    min-height: 44px;
  }

  .iconButton,
  .reviewQueueToggle,
  .modalCloseButton {
    min-width: 44px;
  }

  .reviewQueueToggle {
    min-height: 44px;
  }

  .allocatorPipelineDeclineButton,
  .allocatorPipelineRestoreButton,
  .allocatorPipelineMoveButton {
    min-height: 26px;
    opacity: 1;
    position: relative;
  }

  .allocatorPipelineDeclineButton::after,
  .allocatorPipelineRestoreButton::after,
  .allocatorPipelineMoveButton::after {
    content: "";
    inset: -9px;
    position: absolute;
  }
}

/* Today: the work-queue home. The header is the page's one editorial moment
   (square corners, 3px ink top rule); the groups are standard working cards. */

/* Today uses Pipeline's workspace density and shared toolbar/control styles. */
.todayMain {
  container-type: inline-size;
  padding: 12px 12px 14px;
  color: var(--foreground);
  background: var(--workspace-background);
}
.todayHeader { justify-content: space-between; margin-bottom: 12px; }
.todayContext { display: flex; align-items: center; gap: 14px; color: var(--muted); font-size: 0.75rem; }
.todayContext time { border-left: 1px solid var(--ink-hairline); padding-left: 14px; white-space: nowrap; }
.todayLaunchpad { border: 1px solid var(--ink-hairline); border-radius: 4px; background: var(--panel); overflow: hidden; }
.todayDraftAction { display: grid; grid-template-columns: 48% minmax(0, 1fr); gap: 20px; padding: 20px; }
.todayDraftLead { min-width: 0; align-self: center; }
.todayDraftLead h3 { margin: 0; font-size: 1.125rem; line-height: 1.3; font-weight: 700; }
.todayDraftLead p { margin: 5px 0 14px; color: var(--muted); font-size: 0.8125rem; line-height: 1.4; }
.todayPrimaryAction { font-size: 0.8125rem; line-height: 1.3; text-decoration: none; justify-self: start; }
.todayPrimaryAction:hover { background: var(--satori-blue-2); }
.todayDraftExamples { border-left: 1px solid var(--ink-hairline); padding-left: 20px; min-width: 0; }
.todayDraftExamples > span { color: var(--muted); font-size: 0.75rem; }
.todayDraftExamples ul { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.todayDraftExamples li { font-size: 0.8125rem; line-height: 1.4; overflow-wrap: anywhere; }
.todayDraftAction[data-empty="true"] { grid-template-columns: minmax(0, 1fr); }
.todayDraftAction[data-empty="true"] .todayDraftLead { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 20px; align-items: center; }
.todayDraftAction[data-empty="true"] h3, .todayDraftAction[data-empty="true"] p { grid-column: 1; }
.todayDraftAction[data-empty="true"] p { margin-bottom: 0; }
.todayDraftAction[data-empty="true"] .todayPrimaryAction { grid-column: 2; grid-row: 1 / 3; }
.todayActionRow { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 16px 20px; border-top: 1px solid var(--ink-hairline); }
.todayActionRow > svg { width: 24px; height: 24px; }
.todayIssueIcon { color: var(--warning); }
.todayClockIcon { color: var(--satori-light-blue); }
.todayActionCopy h3 { margin: 0; font-size: 0.875rem; line-height: 1.35; font-weight: 700; }
.todayActionCopy p { color: var(--muted); font-size: 0.75rem; line-height: 1.4; margin: 4px 0 0; overflow-wrap: anywhere; }
.todayTextAction { display: inline-flex; align-items: center; gap: 8px; color: var(--satori-blue); font-size: 0.8125rem; line-height: 1.4; text-decoration: none; min-height: 34px; }
.todayActionRow > .todayTextAction { white-space: nowrap; }
.todayTextAction:hover { text-decoration: underline; text-underline-offset: 3px; }
.todayReviews { display: grid; grid-template-columns: 1fr 1fr; padding: 10px 20px; border-top: 1px solid var(--ink-hairline); }
.todayReviewStatus { display: flex; align-items: center; gap: 10px; min-height: 34px; padding-right: 16px; color: var(--satori-blue-2); font-size: 0.75rem; line-height: 1.4; text-decoration: none; }
.todayReviewStatus + .todayReviewStatus { border-left: 1px solid var(--ink-hairline); padding-left: 20px; padding-right: 0; }
.todayReviewStatus > svg { width: 16px; height: 16px; flex-shrink: 0; }
.todayReviewStatus:hover { text-decoration: underline; }
.todayReviewStatus[data-pending="true"] { color: var(--satori-blue); font-weight: 700; }
.todayFooter { margin: 0 20px; border-top: 1px solid var(--ink-hairline); padding: 8px 0; }
.todayMain a:focus-visible { outline: 2px solid var(--satori-light-blue); outline-offset: 2px; }
.todayPrimaryAction > svg, .todayTextAction > svg { width: 16px; height: 16px; flex-shrink: 0; }
@container (max-width: 680px) {
  .todayDraftAction { grid-template-columns: 1fr; gap: 16px; }
  .todayDraftExamples { border-left: 0; border-top: 1px solid var(--ink-hairline); padding: 14px 0 0; }
  .todayReviews { grid-template-columns: 1fr; gap: 0; }
  .todayReviewStatus + .todayReviewStatus { border-left: 0; padding-left: 0; }
}
@container (max-width: 480px) {
  .todayHeader { align-items: flex-start; gap: 8px; }
  .todayContext { gap: 8px; flex-wrap: wrap; }
  .todayContext time { padding-left: 8px; }
  .todayDraftAction { padding: 16px; }
  .todayDraftAction[data-empty="true"] .todayDraftLead { display: block; }
  .todayDraftAction[data-empty="true"] p { margin-bottom: 14px; }
  .todayActionRow { grid-template-columns: 20px minmax(0, 1fr); gap: 4px 12px; padding: 14px 16px; }
  .todayActionRow > svg { width: 20px; height: 20px; align-self: start; }
  .todayActionRow > .todayTextAction { grid-column: 2; justify-self: start; }
  .todayReviews { padding: 8px 16px; }
  .todayFooter { margin: 0 16px; }
}
@media (pointer: coarse) {
  .todayTextAction, .todayPrimaryAction, .todayReviewStatus { min-height: 44px; }
}

.appSidebar.launchpadSidebar { padding: 24px 12px; gap: 0; background: #041b36; border: 0; z-index: 20; }
.launchpadBrand { display: flex; align-items: center; justify-content: space-between; margin: 0 12px; }
.launchpadBrand h1 { margin: 0; color: #fff; font-family: var(--font-brand); font-weight: 400; font-size: 28px; line-height: 1.1; letter-spacing: -0.025em; }
.launchpadBrand span { display: block; margin-top: 4px; color: #b1c4d9; font-size: 17px; line-height: 1.35; }
.launchpadMenuToggle { display: none; }
.launchpadCampaign { margin: 24px 12px 20px; }
.launchpadCampaignLabel { display: block; font-size: 12px; color: #b6c7da; margin-bottom: 7px; }
.launchpadSelect { position: relative; }
.launchpadSelect > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 40px; padding: 8px 12px; border: 1px solid #3a526e; border-radius: 4px; color: #e8f0fa; font-size: 14px; cursor: pointer; list-style: none; }
.launchpadSelect > summary > span { min-width: 0; overflow-wrap: anywhere; }
.launchpadSelect summary::-webkit-details-marker { display: none; }
.launchpadSelect summary > svg { flex-shrink: 0; }
.launchpadSelect[open] > summary { border-color: #b1c4d9; }
.launchpadSelect[open] > summary > svg { transform: rotate(180deg); }
.campaignPickerPanel { position: absolute; z-index: 10; left: 0; right: 0; top: calc(100% + 6px); max-height: min(380px, 60dvh); overflow-y: auto; padding: 6px; border: 1px solid var(--line); border-radius: 4px; background: var(--panel); color: var(--foreground); }
.campaignPickerGroupLabel { display: block; padding: 6px 8px; color: var(--muted); font-size: 0.6875rem; }
.campaignPickerOption { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 36px; padding: 8px; border: 0; border-radius: 3px; background: transparent; color: var(--foreground); font-size: 0.75rem; text-align: left; cursor: pointer; }
.campaignPickerOption > span { min-width: 0; overflow-wrap: anywhere; }
.campaignPickerOption > svg { flex-shrink: 0; }
.campaignPickerOption > span + svg { margin-left: auto; }
.campaignPickerOption:hover, .campaignPickerOption[aria-pressed="true"] { background: var(--satori-blue-50); }
.campaignPickerOption[aria-pressed="true"] { font-weight: 700; }
.campaignPickerArchived { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--ink-hairline); }
.campaignPickerArchived > summary { display: flex; align-items: center; gap: 6px; min-height: 36px; padding: 8px; font-size: 0.75rem; cursor: pointer; list-style: none; }
.campaignPickerArchived > summary > svg { transform: rotate(-90deg); }
.campaignPickerArchived[open] > summary > svg { transform: rotate(0); }
.campaignPickerCount { margin-left: auto; color: var(--muted); font-size: 0.6875rem; }
.campaignPickerAdd { margin-top: 6px; padding-top: 6px; border-top: 1px solid var(--ink-hairline); }
.launchpadSelect summary:focus-visible, .campaignPickerPanel button:focus-visible { outline: 2px solid var(--satori-light-blue); outline-offset: -2px; }
@media (pointer: coarse) {
  .campaignPickerOption, .campaignPickerArchived > summary, .launchpadSelect > summary { min-height: 44px; }
}
.launchpadNavigation { display: flex; flex-direction: column; flex: 1; }
.launchpadWorkflow { display: grid; gap: 1px; }
.launchpadNavLink { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 44px; padding: 10px 14px; color: #d4e2f4; text-align: left; font-size: 14px; line-height: 1.35; text-decoration: none; border: 0; border-radius: 4px; background: transparent; cursor: pointer; }
.launchpadNavLink > svg { flex-shrink: 0; }
.launchpadNavLink > span:not(.launchpadDraftCount) { min-width: 0; overflow-wrap: anywhere; }
.launchpadNavLink[aria-current="page"] { background: #1d3c60; color: #fff; }
.launchpadNavLink:hover { background: #183658; color: #fff; }
.launchpadDraftCount { margin-left: auto; border-radius: 4px; min-width: 28px; padding: 4px 6px; background: #1d3c60; color: #fff; text-align: center; font-size: 13px; }
.launchpadUtilities { margin-top: auto; padding-top: 24px; }
.launchpadUtilities form { margin: 0; }
.launchpadSyncError { color: #fff; background: #4c2631; border: 0; margin: 0 6px 12px; font-size: 13px; }
.launchpadSidebar :is(a,button,select):focus-visible { outline: 2px solid #bdd8f6; outline-offset: 2px; }

@media (min-width: 901px) {
  .appShell { grid-template-columns: 224px minmax(0, 1fr); }
  .appSidebar.launchpadSidebar { height: 100vh; position: sticky; top: 0; }
}
@media (max-width: 900px) {
  .appShell { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
  .appSidebar.launchpadSidebar { height: auto; position: static; padding: 20px 22px 18px; overflow: visible; }
  .launchpadBrand { margin: 0; }
  .launchpadBrand h1 { font-size: 28px; }
  .launchpadBrand span { font-size: 16px; }
  .launchpadMenuToggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #3a526e; border-radius: 4px; color: #eaf1fb; background: transparent; }
  .launchpadCampaign { margin: 20px 0 0; }
  .launchpadCampaignLabel { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .launchpadNavigation { display: none; margin-top: 18px; }
  .launchpadNavigation[data-open="true"] { display: flex; }
  .launchpadUtilities { padding-top: 20px; }
}
.launchpadNavLink > svg { width: 20px; height: 20px; }

/* Settings surface (Phase 5): a quiet unpanelled intro headline above the
   section cards. */
.settingsMain {
  align-content: start;
  display: grid;
  gap: 14px;
}

.settingsIntro {
  display: grid;
  gap: 4px;
}

.settingsIntroEyebrow {
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.settingsIntro h2 {
  font-family: var(--font-brand);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
}

.settingsIntroSummary {
  color: var(--satori-blue-2);
  font-size: 0.8125rem;
  margin: 0;
}

.settingsSections {
  align-content: start;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr);
  max-width: 860px;
}

.settingsSection {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr);
  padding: 14px;
}

.settingsSectionHead {
  column-gap: 10px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
}

.settingsSectionIcon {
  align-items: center;
  background: var(--satori-blue-50);
  border-radius: 3px;
  color: var(--satori-blue-2);
  display: inline-flex;
  height: 26px;
  justify-content: center;
  width: 26px;
}

.settingsSectionHead h3 {
  color: var(--satori-blue);
  font-size: 0.875rem;
  margin: 0 0 4px;
}

.settingsSectionHead p {
  color: var(--muted);
  font-size: 0.8125rem;
  line-height: 1.4;
  margin: 0;
}

.settingsStatusList {
  display: grid;
  gap: 4px;
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

.settingsStatusList li {
  color: var(--warning);
  font-size: 0.75rem;
  font-weight: 700;
}

.settingsStatusList li[data-ok="true"] {
  color: var(--good);
}

.settingsSectionActions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.autoContactWorkspace {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
  min-height: min(760px, calc(100vh - 150px));
  overflow: hidden;
}

.autoContactWorkspaceHeader {
  align-items: flex-start;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding: 18px 20px 16px;
}

.autoContactWorkspaceHeader h2,
.autoContactEditor h3,
.autoContactDefaults h3,
.autoContactHistory h3 {
  color: var(--satori-blue);
  font-family: var(--font-brand);
  font-weight: 400;
  margin: 0;
}

.autoContactWorkspaceHeader h2 {
  font-size: 1.5rem;
}

.autoContactWorkspaceHeader p,
.autoContactDefaultsHead p,
.autoContactHistory > div > p {
  color: var(--muted);
  font-size: 0.8125rem;
  line-height: 1.45;
  margin: 4px 0 0;
}

.autoContactTabs {
  border-bottom: 1px solid var(--line);
  display: flex;
  overflow-x: auto;
  padding: 0 20px;
}

.autoContactTabs button {
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 12px 14px 10px;
  white-space: nowrap;
}

.autoContactTabs button[aria-current="page"] {
  border-bottom-color: var(--satori-orange);
  color: var(--satori-blue);
}

.autoContactTabs button:focus-visible,
.autoContactIndexList button:focus-visible {
  outline: 2px solid var(--satori-orange);
  outline-offset: -2px;
}

.autoContactWorkspaceNotice {
  background: var(--satori-blue-50);
  border-bottom: 1px solid var(--line);
  color: var(--satori-blue-2);
  font-size: 0.6875rem;
  line-height: 1.4;
  padding: 9px 20px;
}

.autoContactSplitPane {
  display: grid;
  grid-template-columns: minmax(210px, 0.28fr) minmax(0, 1fr);
  min-height: 0;
}

.autoContactIndex {
  background: var(--surface);
  border-right: 1px solid var(--line);
  display: grid;
  gap: 14px;
  align-content: start;
  padding: 16px;
}

.autoContactIndexList {
  border-top: 1px solid var(--line);
  display: grid;
}

.autoContactIndexList button {
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--foreground);
  cursor: pointer;
  display: grid;
  gap: 3px;
  padding: 11px 8px;
  text-align: left;
}

.autoContactIndexList button:hover,
.autoContactIndexList button[aria-current="true"] {
  background: var(--satori-blue-50);
}

.autoContactIndexList strong {
  color: var(--satori-blue);
  font-size: 0.8125rem;
}

.autoContactIndexList span,
.autoContactIndexList em {
  color: var(--muted);
  font-size: 0.6875rem;
  font-style: normal;
}

.autoContactIndexList em {
  color: var(--warning);
  font-weight: 700;
}

.autoContactEditor,
.autoContactDefaults,
.autoContactHistory {
  align-content: start;
  display: grid;
  gap: 18px;
  padding: 20px;
}

.autoContactEditorLead,
.autoContactDefaultsHead {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.autoContactEditorLead h3,
.autoContactDefaults h3,
.autoContactHistory h3 {
  font-size: 1.125rem;
}

.autoContactEditorLead span {
  color: var(--muted);
  display: block;
  font-size: 0.6875rem;
  line-height: 1.4;
  margin-top: 3px;
}

.autoContactEditorActions,
.autoContactEditorFooter {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.autoContactFormGrid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.autoContactFormGrid label,
.autoContactNumberGrid label,
.autoContactDefaults label {
  color: var(--satori-blue);
  display: grid;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 5px;
}

.autoContactFormWide {
  grid-column: 1 / -1;
}

.autoContactFormGrid input,
.autoContactFormGrid textarea,
.autoContactNumberGrid input,
.autoContactDefaults select {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  font: inherit;
  font-weight: 400;
  min-height: 36px;
  padding: 8px 10px;
}

.autoContactFormGrid textarea {
  line-height: 1.4;
  resize: vertical;
}

.autoContactFormGrid :disabled,
.autoContactNumberGrid :disabled {
  background: var(--surface);
  color: var(--muted);
}

.autoContactNumberGrid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.autoContactFieldset {
  border: 1px solid var(--line);
  border-radius: 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 0;
  padding: 13px 14px;
}

.autoContactFieldset legend {
  color: var(--satori-blue);
  font-size: 0.6875rem;
  font-weight: 700;
  padding: 0 5px;
}

.autoContactFieldset label,
.autoContactChoiceRow label {
  align-items: center;
  color: var(--foreground);
  display: inline-flex;
  font-size: 0.6875rem;
  gap: 6px;
}

.autoContactChoiceRow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
}

.autoContactFieldset p,
.autoContactPolicyNote {
  color: var(--muted);
  flex-basis: 100%;
  font-size: 0.6875rem;
  line-height: 1.45;
  margin: 0;
}

.autoContactPreview {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding-top: 16px;
}

.autoContactPreview h4 {
  color: var(--satori-blue);
  font-size: 0.8125rem;
  margin: 0 0 2px;
}

.autoContactPreview details,
.autoContactHistory details {
  border: 1px solid var(--line);
  border-radius: 4px;
}

.autoContactPreview summary,
.autoContactHistory summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: 0.6875rem;
  gap: 12px;
  justify-content: space-between;
  padding: 10px 12px;
}

.autoContactEvaluationList {
  border-top: 1px solid var(--line);
  display: grid;
}

.autoContactEvaluationList > div {
  display: grid;
  font-size: 0.6875rem;
  gap: 3px;
  grid-template-columns: minmax(120px, 0.6fr) minmax(140px, 0.8fr) minmax(240px, 1.6fr);
  padding: 8px 12px;
}

.autoContactEvaluationList > div + div {
  border-top: 1px solid var(--line);
}

.autoContactEvaluationList > div[data-disposition="proposed"] {
  background: var(--satori-green-2);
}

.autoContactEvaluationList > div[data-disposition="needs_review"] {
  background: var(--satori-orange-2);
}

.autoContactEvaluationList span:last-child {
  color: var(--muted);
}

.autoContactDefaultsHead label {
  min-width: 240px;
}

.autoContactDefaultLens {
  max-width: 420px;
}

.autoContactMappingLedger {
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
  overflow: hidden;
}

.autoContactMappingHeader,
.autoContactMappingRow {
  align-items: center;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(160px, 1fr) 90px minmax(220px, 1.3fr);
  padding: 9px 12px;
}

.autoContactMappingHeader {
  background: var(--surface);
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.autoContactMappingRow {
  font-size: 0.6875rem;
}

.autoContactMappingRow + .autoContactMappingRow {
  border-top: 1px solid var(--line);
}

.autoContactMappingRow select {
  min-width: 0;
  width: 100%;
}

.autoContactHistory details summary > span {
  display: grid;
  gap: 2px;
}

.autoContactHistory summary small {
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 400;
}

.autoContactHistory pre {
  background: var(--surface);
  border-top: 1px solid var(--line);
  font-size: 0.6875rem;
  margin: 0;
  max-height: 360px;
  overflow: auto;
  padding: 12px;
  white-space: pre-wrap;
}

.autoContactEmpty {
  color: var(--muted);
  font-size: 0.8125rem;
  margin: 0;
}

@media (max-width: 820px) {
  .autoContactSplitPane {
    grid-template-columns: 1fr;
  }

  .autoContactIndex {
    border-bottom: 1px solid var(--line);
    border-right: 0;
  }

  .autoContactIndexList {
    display: flex;
    max-width: calc(100vw - 72px);
    overflow-x: auto;
  }

  .autoContactIndexList button {
    border-right: 1px solid var(--line);
    min-width: 190px;
  }

  .autoContactFormGrid,
  .autoContactNumberGrid {
    grid-template-columns: 1fr;
  }

  .autoContactFormWide {
    grid-column: auto;
  }

  .autoContactMappingHeader {
    display: none;
  }

  .autoContactMappingRow {
    align-items: start;
    grid-template-columns: 1fr auto;
  }

  .autoContactMappingRow select {
    grid-column: 1 / -1;
  }

  .autoContactEvaluationList > div {
    grid-template-columns: 1fr;
  }
}

.autoContactRunBackdrop {
  align-items: flex-start;
  overflow-y: auto;
  padding: 28px 18px;
}

.autoContactRunSheet {
  background: var(--panel);
  border-radius: 4px;
  box-shadow: var(--shadow-modal);
  display: grid;
  margin: auto;
  max-height: calc(100vh - 56px);
  max-width: 1120px;
  min-height: 560px;
  overflow: hidden;
  width: min(1120px, calc(100vw - 36px));
}

.autoContactRunHeader {
  align-items: flex-start;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 16px 18px;
}

.autoContactRunHeader h2 {
  color: var(--satori-blue);
  font-family: var(--font-brand);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
}

.autoContactRunHeader p,
.autoContactRunConfig > div > p,
.autoContactRunConfirmation > div > p {
  color: var(--muted);
  font-size: 0.8125rem;
  margin: 4px 0 0;
}

.autoContactRunBody {
  display: grid;
  grid-template-columns: minmax(220px, 0.32fr) minmax(0, 1fr);
  min-height: 0;
  overflow: auto;
}

.autoContactRunScope {
  background: var(--surface);
  border-right: 1px solid var(--line);
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 18px;
}

.autoContactRunScope h3,
.autoContactRunConfig h3,
.autoContactRunConfirmation h3 {
  color: var(--satori-blue);
  font-family: var(--font-brand);
  font-size: 1.125rem;
  font-weight: 400;
  margin: 0;
}

.autoContactReadinessLedger {
  border-top: 3px solid var(--satori-blue);
  display: grid;
}

.autoContactReadinessLedger > div {
  align-items: baseline;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 10px 2px;
}

.autoContactReadinessLedger strong {
  color: var(--satori-blue);
  font-family: var(--font-brand);
  font-size: 1.125rem;
  font-weight: 400;
}

.autoContactReadinessLedger span,
.autoContactRunScope > p {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.45;
}

.autoContactRunScope > p {
  margin: 0;
}

.autoContactRunConfig {
  align-content: start;
  display: grid;
  gap: 16px;
  padding: 18px;
}

.autoContactRunLens {
  color: var(--satori-blue);
  display: grid;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 5px;
  max-width: 420px;
}

.autoContactRunMappingSummary {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding-bottom: 12px;
}

.autoContactRunMappingSummary > span {
  color: var(--muted);
  font-size: 0.75rem;
}

.autoContactRunMappingSummary strong {
  color: var(--satori-blue);
  font-family: var(--font-brand);
  font-size: 1.125rem;
  font-weight: 400;
}

.autoContactRunLens select,
.autoContactRunMapping select {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 4px;
  color: var(--foreground);
  font: inherit;
  min-height: 38px;
  padding: 8px 10px;
}

.autoContactRunMapping {
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
  overflow: hidden;
}

.autoContactRunMappingHeader,
.autoContactRunMappingRow {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(140px, 0.8fr) 56px minmax(190px, 1fr) minmax(150px, 0.8fr);
  padding: 9px 11px;
}

.autoContactRunMappingHeader {
  background: var(--surface);
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.autoContactRunMappingRow {
  font-size: 0.6875rem;
}

.autoContactRunMappingRow + .autoContactRunMappingRow {
  border-top: 1px solid var(--line);
}

.autoContactRunMappingRow > span:last-child {
  color: var(--muted);
}

.autoContactRunFooter {
  align-items: center;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 12px 18px;
}

.autoContactRunFooter > span {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.autoContactRunConfirmation {
  align-content: start;
  display: grid;
  gap: 16px;
  overflow: auto;
  padding: 20px;
}

.autoContactRunConfirmation dl {
  border-bottom: 1px solid var(--line);
  border-top: 3px solid var(--satori-blue);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}

.autoContactRunConfirmation dl > div {
  display: grid;
  gap: 4px;
  padding: 12px;
}

.autoContactRunConfirmation dl > div + div {
  border-left: 1px solid var(--line);
}

.autoContactRunConfirmation dt {
  color: var(--muted);
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
}

.autoContactRunConfirmation dd {
  color: var(--satori-blue);
  font-size: 0.8125rem;
  margin: 0;
}

.autoContactConfirmationProfiles {
  border: 1px solid var(--line);
  border-radius: 4px;
  display: grid;
}

.autoContactConfirmationProfiles > div {
  display: grid;
  gap: 3px;
  grid-template-columns: minmax(160px, 0.8fr) minmax(180px, 1fr) minmax(260px, 1.5fr);
  padding: 10px 12px;
}

.autoContactConfirmationProfiles > div + div {
  border-top: 1px solid var(--line);
}

.autoContactConfirmationProfiles strong,
.autoContactConfirmationProfiles span,
.autoContactConfirmationProfiles small {
  font-size: 0.6875rem;
}

.autoContactConfirmationProfiles small,
.autoContactRunSafety {
  color: var(--muted);
  line-height: 1.45;
}

.autoContactRunSafety {
  background: var(--satori-green-2);
  border: 1px solid var(--satori-green);
  border-radius: 4px;
  font-size: 0.6875rem;
  margin: 0;
  padding: 10px 12px;
}

.autoContactRunError {
  background: var(--satori-rose-2);
  color: var(--danger);
  font-size: 0.6875rem;
  padding: 9px 18px;
}

.autoContactResultsSheet {
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
}

.autoContactResultTabs {
  border-bottom: 1px solid var(--line);
  display: flex;
  overflow-x: auto;
  padding: 0 18px;
}

.autoContactResultTabs button {
  align-items: center;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 0.6875rem;
  font-weight: 700;
  gap: 6px;
  padding: 11px 12px 9px;
  white-space: nowrap;
}

.autoContactResultTabs button[aria-current="page"] {
  border-bottom-color: var(--satori-orange);
  color: var(--satori-blue);
}

.autoContactResultTabs span {
  background: var(--satori-gray-2);
  border-radius: 999px;
  padding: 2px 6px;
}

.autoContactResultList {
  align-content: start;
  display: grid;
  gap: 8px;
  overflow: auto;
  padding: 16px 18px;
}

.autoContactResultList details {
  border: 1px solid var(--line);
  border-radius: 4px;
}

.autoContactResultList summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  font-size: 0.6875rem;
  gap: 12px;
  justify-content: space-between;
  padding: 10px 12px;
}

.autoContactResultList summary > span {
  display: grid;
  gap: 2px;
}

.autoContactResultList summary small {
  color: var(--muted);
}

.autoContactResultDetail {
  border-top: 1px solid var(--line);
  display: grid;
}

.autoContactResultDetail > div:not(.autoContactResultActions) {
  display: grid;
  font-size: 0.6875rem;
  gap: 4px 10px;
  grid-template-columns: minmax(120px, 0.7fr) minmax(160px, 1fr) minmax(110px, 0.6fr);
  padding: 9px 12px;
}

.autoContactResultDetail > div:not(.autoContactResultActions) + div {
  border-top: 1px solid var(--line);
}

.autoContactResultDetail > div[data-disposition="proposed"] {
  background: var(--satori-green-2);
}

.autoContactResultDetail > div[data-disposition="needs_review"] {
  background: var(--satori-orange-2);
}

.autoContactResultDetail p {
  color: var(--muted);
  grid-column: 1 / -1;
  margin: 0;
}

.autoContactResultActions {
  align-items: center;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px;
}

@media (max-width: 760px) {
  .autoContactRunBackdrop {
    padding: 12px;
  }

  .autoContactRunSheet {
    max-height: calc(100vh - 24px);
    width: calc(100vw - 24px);
  }

  .autoContactRunBody {
    grid-template-columns: 1fr;
  }

  .autoContactRunScope {
    border-bottom: 1px solid var(--line);
    border-right: 0;
  }

  .autoContactRunMappingHeader {
    display: none;
  }

  .autoContactRunMappingRow {
    align-items: start;
    grid-template-columns: 1fr auto;
  }

  .autoContactRunMappingRow select,
  .autoContactRunMappingRow > span:last-child {
    grid-column: 1 / -1;
  }

  .autoContactRunConfirmation dl {
    grid-template-columns: 1fr;
  }

  .autoContactRunConfirmation dl > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
  }

  .autoContactConfirmationProfiles > div,
  .autoContactResultDetail > div:not(.autoContactResultActions) {
    grid-template-columns: 1fr;
  }

  .autoContactRunFooter {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 620px) {
  .manualDraftComposeBackdrop {
    padding: 0;
  }

  .manualDraftCompose {
    height: 100vh;
    max-height: none;
    min-height: 0;
    width: 100vw;
  }

  .manualDraftComposeLine input,
  .manualDraftComposeLine select,
  .manualDraftComposeBody textarea {
    font-size: 1rem;
  }

  .manualDraftComposeFooter {
    align-items: stretch;
    flex-direction: column;
  }

  .manualDraftComposeFooter > div {
    align-items: stretch;
    flex-direction: column;
  }

  .manualDraftComposeDiscard {
    align-self: flex-end;
  }
}

/* Optional workspace panels preserve the existing Satori board and controls. */
.pipelineDetailRail[hidden] { display: none; }
.pipelineWorkspace[data-rail-mode="minimized"] { grid-template-columns: minmax(0, 1fr); }
.pipelineRailHeaderActions, .pipelinePanelControls { display: flex; align-items: flex-start; gap: 3px; }
.pipelineRailHeaderActions { flex-wrap: wrap; justify-content: flex-end; max-width: 100px; }
.pipelineRailHeaderActions .iconButton, .pipelinePanelControls .iconButton { min-width: 28px; min-height: 28px; padding: 4px; }
.launchpadShortBrand, .launchpadCollapseToggle { display: none; }
@media (min-width: 901px) {
  .launchpadCollapseToggle { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 32px; margin: 15px 12px 0; padding: 5px 8px; align-self: flex-start; color: #b1c4d9; border: 1px solid #3a526e; border-radius: 4px; background: transparent; font-size: 11px; cursor: pointer; }
  .appShell[data-navigation-minimized="true"] { grid-template-columns: 64px minmax(0, 1fr); }
  .appShell[data-navigation-minimized="true"] .launchpadSidebar { padding-inline: 8px; }
  .appShell[data-navigation-minimized="true"] .launchpadBrand { margin: 0; justify-content: center; }
  .appShell[data-navigation-minimized="true"] .launchpadShortBrand { display: block; color: #fff; font-family: var(--font-brand); font-size: 24px; font-weight: 400; }
  .appShell[data-navigation-minimized="true"] :is(.launchpadFullBrand, .launchpadCampaign, .launchpadNavLink > span, .launchpadCollapseToggle > span) { display: none; }
  .appShell[data-navigation-minimized="true"] .launchpadWorkflow { margin-top: 24px; }
  .appShell[data-navigation-minimized="true"] .launchpadNavLink { justify-content: center; padding-inline: 0; }
  .appShell[data-navigation-minimized="true"] .launchpadCollapseToggle { margin-inline: auto; min-width: 36px; }
  .appShell[data-navigation-minimized="true"] .launchpadSyncError { position: fixed; bottom: 96px; left: 72px; width: 240px; margin: 0; box-shadow: 0 4px 16px var(--ink-wash); }
  .mainPipeline { height: 100dvh; overflow: hidden; }
  .pipelineWorkspace { grid-template-columns: minmax(0, 1fr) 440px; height: 100dvh; overflow: hidden; }
  .pipelineMain { overflow: hidden; min-height: 0; }
  .pipelineDetailRail { height: 100dvh; min-height: 0; }
  .mainPipeline .allocatorPipelineColumns { grid-template-columns: repeat(7, minmax(220px, 1fr)); }
  .pipelineWorkspace[data-rail-mode="expanded"] { grid-template-columns: minmax(0, 1fr) min(760px, 70%); }
}
@media (max-width: 900px) {
  .pipelinePanelExpand { display: none; }
}
@media (pointer: coarse) {
  .pipelineRailHeaderActions .iconButton, .pipelinePanelControls .iconButton, .launchpadCollapseToggle { min-width: 44px; min-height: 44px; }
}

/* Approved Alpine working system, seed 2e08b9cd. Presentation only.
   Legacy class names remain adapters for the existing controls and handlers.
   No role, approval, mailbox, or workspace-routing behavior is implemented here. */
:root {
  --font-data: var(--font-plex-sans, "IBM Plex Sans", system-ui, sans-serif);
  --font-brand: var(--font-data);
  --alpine-rail: #27282b;
  --alpine-rail-muted: #c4c2bd;
  --alpine-focus: #9c5633;
  --alpine-selected: #f4eae3;
  --satori-blue: #292b30;
  --satori-blue-2: #514b42;
  --satori-blue-50: #f3f1ed;
  --satori-light-blue: #8f4322;
  --satori-light-blue-2: #e3e0da;
  --satori-green: #286343;
  --satori-green-2: #edf5ef;
  --satori-gray: #e3e0da;
  --satori-gray-2: #f3f1ed;
  --satori-rose-2: #fbefec;
  --satori-brass: #cf9d7b;
  --background: #faf9f7;
  --workspace-background: #faf9f7;
  --foreground: #292b30;
  --muted: #66645f;
  --line: #e3e0da;
  --line-strong: #ccc8bf;
  --panel: #fff;
  --panel-alt: #f3f1ed;
  --accent: #292b30;
  --accent-strong: #414147;
  --warning: #835700;
  --danger: #a7342a;
  --good: #286343;
  --sidebar-navy: var(--alpine-rail);
  --ink-hairline: #e3e0da;
  --ink-strong: #ccc8bf;
  --shadow-hover: none;
  --shadow-panel: none;
  --shadow-popover: 0 4px 16px #0002;
  --shadow-toast: 0 4px 16px #0002;
  --shadow-modal: none;
}
body { font-family: var(--font-data); font-size: 13px; line-height: 1.5; }

/* Connected foundation slice stays separate from the retained legacy shell. */
.workspaceSessionBoundary [hidden] { display: none !important; }
.workspaceAccessNotice,.foundationRecordsSurface { max-width: 960px; margin: 0 auto; padding: 28px; }
.workspaceSessionBoundary h1 { font-size: 22px; line-height: 1.3; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.workspaceSessionBoundary h2 { font-size: 15px; margin: 24px 0 8px; }
.workspaceSessionBoundary .actionRow { display: flex; flex-wrap: wrap; gap: 8px; }
.workspaceSessionBoundary .button { font: inherit; padding: 8px 12px; border: 1px solid var(--line-strong); border-radius: 5px; color: var(--foreground); background: var(--panel); cursor: pointer; text-decoration: none; }
.workspaceSessionBoundary .button:hover { background: var(--alpine-selected); }
.workspaceSessionBoundary .button:focus-visible { outline: 2px solid var(--alpine-focus); outline-offset: 3px; }
.workspaceIdentityHeader > div:first-child { display: flex; align-items: center; gap: 8px; }
.workspaceIdentityHeader .alpineBrandMark { width: 28px; height: 28px; }
.workspaceScopeNotice { color: var(--muted); max-width: 75ch; padding: 16px 0; border-bottom: 1px solid var(--line); }
.foundationRecordsSurface ul { list-style: none; padding: 0; margin: 0; }
.foundationRecordsSurface li { border-bottom: 1px solid var(--line); padding: 12px 0; overflow-wrap: anywhere; }
.foundationRecordsSurface li span { display: block; color: var(--muted); }
@media (max-width: 640px) {
  .workspaceAccessNotice,.foundationRecordsSurface { padding: 20px 16px; }
  .workspaceSessionBoundary { font-size: 16px; }
}
.alpineManagedOutreach { overflow-x: clip; }
.alpineManagedOutreach .appShell { grid-template-columns: 216px minmax(0, 1fr); }
.alpineManagedOutreach .appSidebar.launchpadSidebar { background: var(--alpine-rail); padding: 24px 12px 16px; height: 100dvh; position: sticky; top: 0; }
.alpineWorkArea, .alpineWorkspaceContent { min-width: 0; }
.alpineWorkspaceContent { outline: none; }
.alpineSkipLink { position: fixed; top: -80px; left: 16px; z-index: 1000; background: var(--panel); padding: 10px 16px; border: 2px solid var(--alpine-focus); border-radius: 5px; }
.alpineSkipLink:focus { top: 12px; }
.alpineManagedOutreach :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline: 2px solid var(--alpine-focus); outline-offset: 3px; }
.alpineManagedOutreach .appSidebar :is(button,a):focus-visible { outline-color: #cf9d7b; }
.alpineManagedOutreach .launchpadBrand { margin: 0 4px 24px; }
.alpineManagedOutreach .launchpadFullBrand { display: flex; align-items: center; gap: 9px; }
.alpineBrandMark { display: block; flex: 0 0 30px; width: 30px; height: 26px; background: url('/brand/alpine-mark-brass.svg') center / contain no-repeat; }
.alpineManagedOutreach .launchpadFullBrand strong { font-size: 13px; font-weight: 500; color: #ece9e5; line-height: 1.3; }
.alpineManagedOutreach .launchpadFullBrand span:not(.alpineBrandMark) { font-size: 11px; color: var(--alpine-rail-muted); margin-top: 2px; }
.alpineManagedOutreach .launchpadShortBrand { display: none; }
.alpineClientIdentity { display: flex; align-items: center; gap: 10px; border: 1px solid #535356; border-radius: 5px; padding: 10px; margin-bottom: 24px; min-width: 0; }
.alpineClientMark { width: 30px; height: 30px; border: 1px solid #85827c; border-radius: 3px; display: grid; place-items: center; flex: none; font: 12px var(--font-plex-mono, monospace); color: #ece9e5; }
.alpineClientIdentity > div { min-width: 0; }
.alpineClientIdentity > div > span { display: block; font-size: 10px; color: var(--alpine-rail-muted); }
.alpineClientIdentity strong { display: block; font-size: 12px; color: #ece9e5; font-weight: 500; overflow-wrap: anywhere; }
.alpineClientSwitch { width: 100%; background: var(--alpine-rail); color: #ece9e5; font: inherit; text-align: left; cursor: pointer; }
.alpineClientSwitch:hover { background: #333438; }
.alpineClientSwitch > svg { margin-left: auto; flex: none; }
.alpineManagedOutreach .launchpadNavigation { display: flex; margin-top: 0; }
.alpineManagedOutreach .launchpadWorkflow { gap: 4px; }
.alpineManagedOutreach .launchpadNavLink { font-size: 13px; min-height: 38px; padding: 8px 10px; gap: 9px; color: #d3d1cd; border-radius: 5px; }
.alpineManagedOutreach .launchpadNavLink > svg { width: 18px; height: 18px; }
.alpineManagedOutreach .launchpadNavLink:hover { background: #333438; color: #fff; }
.alpineManagedOutreach .launchpadNavLink[aria-current='page'] { background: #424144; color: #fff; }
.alpineManagedOutreach .launchpadNavLink[aria-current='page'] > svg { color: #cf9d7b; }
.alpineManagedOutreach .launchpadDraftCount { background: transparent; color: #ded5ce; font: 11px var(--font-plex-mono, monospace); padding: 0; min-width: 16px; }
.alpineManagedOutreach .launchpadCollapseToggle { color: var(--alpine-rail-muted); border-color: #535356; }
.alpineManagedOutreach .launchpadUtilities { padding-top: 18px; border-top: 1px solid #47474b; }
.alpineContextBar { min-height: 72px; padding: 12px 28px; background: var(--panel); border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 24px; position: relative; z-index: 22; }
.alpineContextClient { flex: 0 1 auto; min-width: 100px; max-width: 280px; }
.alpineContextClient > span { display: block; color: var(--muted); font-size: 10px; }
.alpineContextClient strong { display: block; font-weight: 500; font-size: 12px; overflow-wrap: anywhere; }
.alpineContextBar .launchpadCampaign { display: flex; align-items: center; gap: 10px; margin: 0; min-width: 0; flex: 0 1 380px; }
.alpineContextBar .launchpadCampaignLabel { color: var(--muted); font-size: 12px; margin: 0; position: static; width: auto; height: auto; clip-path: none; overflow: visible; }
.alpineContextBar .launchpadSelect { min-width: 0; flex: 1; }
.alpineContextBar .launchpadSelect > summary { color: var(--foreground); border-color: var(--line-strong); background: var(--panel); font-size: 12px; min-height: 34px; padding: 6px 10px; }
.alpineContextBar .launchpadSelect[open] > summary { border-color: var(--alpine-focus); }
.alpineContextBar .campaignPickerPanel { min-width: min(320px, calc(100vw - 32px)); right: 0; left: auto; border-radius: 5px; box-shadow: var(--shadow-popover); }
.alpineContextBar .campaignPickerOption[aria-pressed='true'] { background: var(--alpine-selected); font-weight: 500; }
.alpineSyncStatus { margin-left: auto; font-size: 11px; color: var(--muted); }
.alpineSyncStatus[data-status='error'] { color: var(--danger); }
/* Replies remain actionable without covering navigation or editor controls. */
.alpineManagedOutreach :is(.meaningfulReplyAlert,.meaningfulReplyPill) { position: relative; inset: auto; transform: none; z-index: auto; margin: 12px 18px; max-width: calc(100% - 36px); box-shadow: none; }
.alpineManagedOutreach .meaningfulReplyAlert { width: auto; }
.alpineManagedOutreach .meaningfulReplyPill { width: fit-content; }
.alpineManagedOutreach .main { padding: 24px 28px 44px; max-width: 1760px; margin: 0 auto; }
.alpineManagedOutreach .mainPipeline { height: calc(100dvh - 72px); padding: 0; }
.alpineManagedOutreach .pipelineTopbar { background: var(--panel); padding: 12px 18px; gap: 10px; }
.alpineManagedOutreach :is(.pipelineTopbar h2,.settingsIntro h2,.campaignDetailTitle h2) { font-family: var(--font-data); font-size: 22px; font-weight: 600; line-height: 1.3; letter-spacing: -0.02em; }
.alpineManagedOutreach :is(.primaryButton,.secondaryButton,.iconButton) { border-radius: 5px; font-size: 12px; font-weight: 500; min-height: 34px; box-shadow: none; }
.alpineManagedOutreach :is(input:not([type='checkbox']):not([type='radio']),select,textarea) { border-radius: 4px; }
.alpineManagedOutreach :is(.primaryButton,.secondaryButton):disabled { cursor: not-allowed; opacity: .52; }
.alpineManagedOutreach :is(.pipelineListTable,.emailTrackingTable) { font-size: 12px; }
.alpineManagedOutreach th { font-weight: 500; background: #f8f7f4; color: var(--muted); }
.alpineManagedOutreach tbody tr:hover { background: #fcfaf7; }
.alpineManagedOutreach tbody tr[data-selected='true'] { background: var(--alpine-selected); }
.alpineManagedOutreach :is(.pipelineDetailRail,.draftReviewQueue,.settingsSection,.campaignDetailPanel) { background: var(--panel); border-color: var(--line); box-shadow: none; }
.alpineManagedOutreach :is(.draftReviewQueue,.settingsSection,.campaignDetailPanel) { border-radius: 6px; }
.alpineManagedOutreach .draftReviewToolbar { background: var(--panel); gap: 12px; padding: 16px 18px; }
.alpineManagedOutreach .draftReviewActions { gap: 8px; }
.alpineManagedOutreach .settingsIntroSummary { max-width: 72ch; color: var(--muted); }
.alpineManagedOutreach .settingsSections { max-width: 920px; }
.alpineManagedOutreach .settingsSection { padding: 18px; }
.alpineManagedOutreach .settingsSectionIcon { background: var(--panel-alt); color: var(--foreground); }
.alpineAuthPage, .alpineAuthWordmark, .alpineAuthPanel h1 { font-family: var(--font-data); }
.alpineAuthPage { background: var(--alpine-rail); }
.alpineAuthPanel h1 { letter-spacing: -.02em; }
/* Overview keeps operational counts and destination URLs from deriveTodayQueue. */
.alpineOverviewHeader { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
.alpineOverviewHeader h2 { font: 600 22px/1.3 var(--font-data); letter-spacing: -.02em; margin: 0 0 5px; }
.alpineOverviewHeader p { margin: 0; color: var(--muted); font-size: 12px; }
.alpineOverviewHeader time { font-size: 12px; color: var(--muted); }
.alpineOverviewMetrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; margin: 0 0 24px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.alpineOverviewMetrics > div { padding: 0 16px; border-right: 1px solid var(--line); }
.alpineOverviewMetrics > div:first-child { padding-left: 0; }
.alpineOverviewMetrics > div:last-child { border: 0; }
.alpineOverviewMetrics dt { font-size: 12px; color: var(--muted); }
.alpineOverviewMetrics dd { font: 400 28px/1.6 var(--font-plex-mono,monospace); margin: 0; }
.alpineOverviewLayout { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(260px,1fr); gap: 22px; align-items: start; }
.alpineOverviewWork, .alpineOverviewReviews { border: 1px solid var(--line); border-radius: 6px; background: var(--panel); min-width: 0; }
.alpineOverviewWork h3, .alpineOverviewReviews h3 { font-size: 15px; font-weight: 600; margin: 0; }
.alpineOverviewWork p, .alpineOverviewReviews p { color: var(--muted); font-size: 12px; }
.alpineOverview .alpineOverviewDraft { padding: 22px; min-height: 0; background: var(--panel); border: 0; gap: 20px; }
.alpineOverview .alpineOverviewDraftLead h3 { font-size: 17px; font-weight: 600; }
.alpineOverview .alpineOverviewDraftLead p { margin: 6px 0 16px; }
.alpineOverview .alpineOverviewDraftExamples { font-size: 12px; border-color: var(--line); }
.alpineOverview .alpineOverviewActionRow { padding: 18px 22px; gap: 12px; border-top: 1px solid var(--line); }
.alpineOverview .alpineOverviewActionRow > svg { height: 20px; width: 20px; color: var(--warning); flex-shrink: 0; }
.alpineOverview .alpineOverviewActionCopy h3 { font-size: 13px; }
.alpineOverview .alpineOverviewActionCopy p { margin: 4px 0 0; }
.alpineOverview .alpineOverviewTextAction { font-size: 12px; color: #8f4322; gap: 7px; }
.alpineOverview .alpineOverviewReviewStatus { display: flex; align-items: center; padding: 18px; min-height: 72px; gap: 10px; border-top: 1px solid var(--line); font-size: 12px; }
.alpineOverview .alpineOverviewReviewStatus > svg { height: 18px; width: 18px; flex-shrink: 0; }
.alpineOverview .alpineOverviewReviewStatus > span { min-width: 0; flex: 1; }
.alpineOverviewSectionHeading { padding: 18px; border-bottom: 1px solid var(--line); }
.alpineOverviewSectionHeading p { margin: 5px 0 0; }
.alpineOverviewFooter { padding: 20px 0; }
.alpineOverviewNotice { background: #fff6df; border: 1px solid #e2c998; color: #654809; padding: 12px 14px; margin-bottom: 18px; border-radius: 5px; }
@media (min-width: 901px) {
  .alpineManagedOutreach .appShell[data-navigation-minimized='true'] { grid-template-columns: 64px minmax(0,1fr); }
  .alpineManagedOutreach .appShell[data-navigation-minimized='true'] .launchpadFullBrand { display: none; }
  .alpineManagedOutreach .appShell[data-navigation-minimized='true'] .launchpadShortBrand { display: block; }
  .alpineManagedOutreach .appShell[data-navigation-minimized='true'] .alpineClientIdentity { border: 0; padding: 0; justify-content: center; }
  .alpineManagedOutreach .appShell[data-navigation-minimized='true'] .alpineClientIdentity > div { display: none; }
}
@media (max-width: 1200px) {
  .alpineContextBar { padding-inline: 20px; gap: 16px; }
  .alpineManagedOutreach .main { padding: 22px 20px 36px; }
  .alpineManagedOutreach .mainPipeline { padding: 0; }
  .alpineSyncStatus { max-width: 140px; }
  .alpineOverviewLayout { grid-template-columns: minmax(0,1.4fr) minmax(240px,1fr); gap: 16px; }
}
@media (max-width: 900px) {
  .alpineManagedOutreach .appShell { display: block; }
  .alpineManagedOutreach .appSidebar.launchpadSidebar { height: auto; position: static; padding: 14px 16px 10px; overflow: visible; }
  .alpineManagedOutreach .launchpadBrand { margin: 0 0 12px; }
  .alpineManagedOutreach .launchpadMenuToggle { display: flex; border-color: #535356; color: #ece9e5; }
  .alpineClientIdentity { display: none; }
  .alpineManagedOutreach .launchpadWorkflow { display: flex; gap: 4px; }
  .alpineManagedOutreach .launchpadWorkflow > a { flex: 1; justify-content: center; min-height: 44px; padding: 8px 4px; font-size: 12px; }
  .alpineManagedOutreach .launchpadDraftCount { display: none; }
  .alpineManagedOutreach .launchpadCollapseToggle { display: none; }
  .alpineManagedOutreach .launchpadUtilities { display: none; margin-top: 12px; padding-top: 12px; }
  .alpineManagedOutreach .launchpadUtilities[data-open='true'] { display: block; }
  .alpineContextBar { position: sticky; top: 0; padding: 10px 16px; gap: 10px; min-height: 72px; flex-wrap: wrap; }
  .alpineContextClient { max-width: none; min-width: 80px; flex: 1 1 100px; }
  .alpineContextBar .launchpadCampaign { flex: 2 1 180px; }
  .alpineSyncStatus { max-width: none; margin: 0; flex-basis: 100%; font-size: 10px; }
  .alpineManagedOutreach .mainPipeline { height: auto; min-height: calc(100dvh - 220px); overflow: visible; }
  .alpineOverviewLayout { display: flex; flex-direction: column; }
  .alpineOverviewWork, .alpineOverviewReviews { width: 100%; }
}
@media (max-width: 600px) {
  .alpineManagedOutreach .main { padding: 20px 16px 32px; }
  .alpineManagedOutreach .mainPipeline { padding: 0; }
  .alpineContextBar .launchpadCampaignLabel { font-size: 11px; }
  .alpineContextBar .launchpadSelect > summary { min-height: 44px; }
  .alpineManagedOutreach :is(.primaryButton,.secondaryButton,.iconButton,.campaignPickerOption,.campaignPickerArchived > summary) { min-height: 44px; }
  .alpineManagedOutreach .pipelineTopbar h2 { font-size: 20px; }
  .alpineOverviewHeader { flex-wrap: wrap; margin-bottom: 20px; }
  .alpineOverviewHeader h2 { font-size: 20px; }
  .alpineOverviewMetrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 0; }
  .alpineOverviewMetrics > div:nth-child(odd) { padding-left: 0; }
  .alpineOverviewMetrics > div:nth-child(even) { border: 0; }
  .alpineOverviewMetrics dd { font-size: 25px; }
  .alpineOverview .alpineOverviewDraft { display: block; padding: 18px; }
  .alpineOverview .alpineOverviewDraftExamples { border: 0; padding: 16px 0 0; }
  .alpineOverview .alpineOverviewActionRow { padding: 18px; flex-wrap: wrap; }
  .alpineOverview .alpineOverviewActionRow .alpineOverviewTextAction { margin-left: 32px; }
  .alpineOverview .alpineOverviewTextAction { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .alpineManagedOutreach *, .alpineManagedOutreach *::before, .alpineManagedOutreach *::after { transition: none; scroll-behavior: auto; }
}

.alpineOverviewContext { text-align: right; }
.alpineOverviewContext small { display: block; color: var(--muted); font-size: 11px; margin-top: 4px; }
.alpineOverviewMetrics .alpineOverviewMetricNote { display: block; color: var(--muted); font: 10px/1.5 var(--font-data); }
.alpineOverviewQueueNote { font-size: 11px; color: var(--muted); margin: -12px 0 24px; }
.alpineOverviewDraft { display: flex; align-items: flex-start; justify-content: space-between; }
.alpineOverviewDraftExamples { padding-left: 20px; border-left: 1px solid var(--line); }
.alpineOverviewDraftExamples ul { list-style: none; padding: 0; margin: 6px 0 0; }
.alpineOverviewDraftExamples li { padding-top: 3px; }
.alpineOverviewActionRow { display: flex; align-items: center; }
.alpineOverviewActionCopy { flex: 1; min-width: 0; }
.alpineOverviewTextAction { display: inline-flex; align-items: center; text-decoration: none; }
.alpineOverviewTextAction:hover { text-decoration: underline; }
.alpineOverviewReviewStatus { color: inherit; text-decoration: none; }
.alpineOverviewReviewStatus:hover { background: #fcfaf7; }
.alpineOverviewReviewStatus strong { display: block; font-weight: 500; font-size: 13px; }
.alpineOverviewReviewStatus small { display: block; color: var(--muted); font-size: 11px; margin-top: 3px; }
.alpineOverviewNotice { display: flex; align-items: flex-start; gap: 10px; }
.alpineOverviewNotice svg { flex: none; }
.alpineOverviewNotice p { margin: 4px 0 0; }
.alpineOverviewNotice button { margin-left: auto; }
.alpineOverviewSkeleton { height: 20px; max-width: 600px; background: #eae7e1; border-radius: 3px; margin-top: 18px; }
.alpineOverviewSkeleton:last-child { max-width: 400px; }
.alpineAuthPanel { background: var(--alpine-rail); border-radius: 7px; box-shadow: none; }
.alpineAuthWordmark { letter-spacing: 0; text-transform: none; padding: 0; }
.alpineAuthForm label, .alpineAuthButton { font-family: var(--font-data); letter-spacing: 0; text-transform: none; font-size: 13px; }
.alpineAuthForm input:focus-visible { box-shadow: none; outline: 2px solid #cf9d7b; outline-offset: 3px; }
@media (min-width: 901px) { .alpineManagedOutreach .pipelineWorkspace { height: calc(100dvh - 72px); } }
@media (max-width: 600px) { .alpineOverviewDraft { display: block; } .alpineOverviewDraftExamples { border: 0; padding: 16px 0 0; } .alpineOverviewNotice { flex-wrap: wrap; } }
.alpineManagedOutreach .workspaceSwitchDialog {
  width: min(460px, calc(100vw - 32px));
  max-height: calc(100dvh - 40px);
  overflow: auto;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
  color: var(--foreground);
}
.workspaceSwitchDialog::backdrop { background: #20212466; }
.alpineManagedOutreach .workspaceSwitchDialog h2 { margin: 0 0 12px; font-size: 18px; }
.alpineManagedOutreach .workspaceSwitchDialog p { line-height: 1.5; }
.alpineManagedOutreach .workspaceSwitchDialog ul { list-style: none; margin: 20px 0; padding: 0; }
.alpineManagedOutreach .workspaceSwitchDialog li { display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.alpineManagedOutreach .workspaceSwitchDialog li span { font-size: 12px; }
.alpineManagedOutreach .workspaceSwitchDialog .actionRow { justify-content: flex-end; flex-wrap: wrap; margin-top: 24px; }
.alpineManagedOutreach .workspaceOperationRecovery {
  padding: 16px 24px;
  border-bottom: 1px solid var(--line);
  background: var(--panel);
}
.alpineManagedOutreach .workspaceOperationRecovery h2 { font-size: 15px; margin: 0 0 8px; }
.alpineManagedOutreach .workspaceOperationRecovery p { margin: 4px 0; }
.alpineManagedOutreach .workspaceOperationRecovery ul { list-style: none; padding: 0; margin: 0; }
.alpineManagedOutreach .workspaceOperationRecovery li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 8px 0; }
.alpineManagedOutreach .workspaceOperationRecovery li > div { min-width: 0; overflow-wrap: anywhere; }
.alpineManagedOutreach .workspaceOperationRecovery button { flex-shrink: 0; }
@media (max-width: 600px) {
  .alpineManagedOutreach .workspaceOperationRecovery { padding: 16px; }
  .alpineManagedOutreach .workspaceOperationRecovery li { align-items: flex-start; flex-direction: column; gap: 8px; }
}

/* Loaded after globals.css and managed-outreach.css by the isolated runtime. */
@font-face {
  font-family: "Plex";
  src: url("/assets/fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plex";
  src: url("/assets/fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Plex";
  src: url("/assets/fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "PlexMono";
  src: url("/assets/fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root {
  --font-plex-sans: "Plex", "IBM Plex Sans", system-ui, sans-serif;
  --font-plex-mono: "PlexMono", "IBM Plex Mono", monospace;
}

.mo_2a5fb121766c.mo_2a5fb121766c {
  align-items: flex-start;
}

.mo_d4e3dd200cb9 {
  display: grid;
  gap: 8px;
  line-height: 1.4;
  min-width: 0;
  overflow-wrap: anywhere;
}

.mo_2a5fb121766c .mo_d4e3dd200cb9 p,
.mo_2a5fb121766c .mo_d4e3dd200cb9 ul {
  margin: 0;
}

.mo_d4e3dd200cb9 ul {
  padding-left: 18px;
}

.mo_d4e3dd200cb9 li + li {
  margin-top: 4px;
}

.mo_9d06dbc44b37 {
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.mo_e3e31dc7f6f5 {
  flex-wrap: wrap;
}

.mo_e3e31dc7f6f5 > div {
  flex: 1 1 200px;
  min-width: 0;
}

.mo_e3e31dc7f6f5 h3 {
  overflow-wrap: anywhere;
}

.mo_e3e31dc7f6f5 > .mo_ddc38f65f59a {
  flex-wrap: wrap;
  max-width: 100%;
}

.mo_4ec7aa527f4b {
  color: var(--danger);
  min-height: 44px;
  min-width: 44px;
}

.mo_4ec7aa527f4b:hover:not(:disabled) {
  border-color: var(--danger);
}

.mo_4ec7aa527f4b:disabled {
  color: var(--muted);
  cursor: default;
}

.mo_4ec7aa527f4b:focus-visible {
  outline: 2px solid var(--satori-blue);
  outline-offset: 3px;
}

.mo_eaf11d130527 {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  justify-content: space-between;
}

.mo_eaf11d130527 strong {
  color: var(--satori-blue);
  font-size: 0.8125rem;
}

.mo_eaf11d130527 > span,
.mo_061a68240f23 {
  color: var(--muted);
  font-size: 0.75rem;
}

.mo_061a68240f23 {
  line-height: 1.4;
  margin: 4px 0 8px;
}

.mo_fd80a35a69ef {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mo_f4790447a313 {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 12px 0;
}

.mo_f4790447a313 + .mo_f4790447a313 {
  border-top: 1px solid var(--line);
}

.mo_6bca48160ac4 {
  display: grid;
  font-size: 0.75rem;
  gap: 3px;
  line-height: 1.4;
  min-width: 0;
  overflow-wrap: anywhere;
}

.mo_6bca48160ac4 strong {
  color: var(--satori-blue);
  font-size: 0.875rem;
}

.mo_6bca48160ac4 > span {
  color: var(--muted);
}

.mo_6bca48160ac4 .mo_1f9980bafe42,
.mo_6bca48160ac4 .mo_3f02c540ed6b {
  color: var(--satori-blue-2);
}

.mo_6bca48160ac4 .mo_689eb1be353d {
  color: var(--danger);
}

.mo_acc999d17405 {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--satori-blue-2);
  border-radius: 4px;
  color: var(--satori-blue-2);
  cursor: pointer;
  display: inline-flex;
  font-size: 0.8125rem;
  gap: 5px;
  justify-content: center;
  min-height: 44px;
  min-width: 76px;
  padding: 8px 12px;
}

.mo_acc999d17405:hover:not(:disabled) {
  background: var(--satori-blue-2);
  color: var(--panel);
}

.mo_acc999d17405:disabled {
  border-color: var(--line);
  color: var(--muted);
  cursor: default;
}

.mo_39d34436e17c {
  align-items: center;
  color: var(--good);
  display: inline-flex;
  font-size: 0.75rem;
  gap: 5px;
  max-width: 110px;
}

.mo_38d2ec423076 {
  background: none;
  border: 0;
  color: var(--satori-blue-2);
  cursor: pointer;
  font-size: 0.75rem;
  min-height: 44px;
  padding: 8px 0;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.mo_acc999d17405:focus-visible,
.mo_38d2ec423076:focus-visible {
  outline: 2px solid var(--satori-blue);
  outline-offset: 3px;
}

.mo_ef0e2ce9e96f { display: flex; align-items: center; gap: 8px; min-width: 0; }
.mo_f3493718ee95 { display: inline-flex; align-items: center; flex-shrink: 0; gap: 5px; min-height: 30px; border: 1px solid var(--line); border-radius: 4px; padding: 5px 8px; background: var(--panel); color: var(--satori-blue); font: inherit; font-size: 0.8125rem; cursor: pointer; }
.mo_f3493718ee95:hover { background: var(--satori-blue-50); border-color: var(--satori-light-blue); }
.mo_f3493718ee95:focus-visible, .mo_69a795313674 input:focus-visible { outline: 2px solid var(--satori-light-blue); outline-offset: 2px; }
.mo_69a795313674 { display: grid; gap: 6px; width: 38rem; max-width: 100%; padding: 4px 0; }
.mo_69a795313674 label { color: var(--muted); font-size: 0.8125rem; }
.mo_9fa5cd53f2f1 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.mo_9fa5cd53f2f1 input { flex: 1 1 16rem; min-width: 0; border: 1px solid var(--line); border-radius: 4px; background: var(--panel); color: var(--ink); padding: 8px 10px; font: inherit; font-size: 0.8125rem; }
.mo_9fa5cd53f2f1 button { min-height: 34px; padding: 6px 10px; font-size: 0.8125rem; }
.mo_dca5f4b3e950 { color: var(--danger); font-size: 0.8125rem; margin: 0; }
@media (max-width: 640px) { .mo_ef0e2ce9e96f { flex-wrap: wrap; } .mo_ef0e2ce9e96f h2 { flex-basis: 100%; } }
@media (pointer: coarse) { .mo_f3493718ee95, .mo_9fa5cd53f2f1 button, .mo_9fa5cd53f2f1 input { min-height: 44px; } }

.mo_b7ed9bf12e22 .mo_8cb6ddb4997f {
  grid-template-columns: minmax(0, 0.9fr) minmax(5rem, 0.75fr) minmax(9rem, 1.2fr) minmax(0, 0.9fr);
  overflow-wrap: anywhere;
}

.mo_b7ed9bf12e22 select {
  min-width: 0;
  width: 100%;
}

.mo_5382a60ce168 {
  display: grid;
  gap: 0.25rem;
  overflow-wrap: anywhere;
}

.mo_5382a60ce168 small {
  color: var(--muted);
  font-size: inherit;
}

.mo_29a4685f818f {
  color: var(--muted);
  font-size: 0.6875rem;
  line-height: 1.5;
  margin: 0 0 0.25rem;
}

.mo_c0651d9a75c9 {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  display: grid;
  font-size: 0.6875rem;
  gap: 0.5rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
  padding: 0.75rem;
}

.mo_c0651d9a75c9 ul {
  color: var(--muted);
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding-left: 1rem;
}

.mo_b0e08f10620d {
  font-size: 0.6875rem;
  line-height: 1.5;
}

.mo_b0e08f10620d ul {
  color: var(--muted);
  display: grid;
  gap: 0.5rem;
  margin: 0.5rem 0 0;
  padding-left: 1rem;
}

.mo_bc11138faf51 {
  font-size: 0.6875rem;
  padding: 0.75rem;
}

@media (max-width: 760px) {
  .mo_b7ed9bf12e22 .mo_8cb6ddb4997f {
    grid-template-columns: 1fr auto;
  }
}

.mo_8da5cf21412a { display: grid; gap: 18px; max-width: 1040px; min-width: 0; }
.mo_f6e2b4b8e8fb { align-items: center; background: none; border: 0; color: var(--satori-blue-2); cursor: pointer; display: inline-flex; font-size: .8125rem; gap: 7px; justify-self: start; min-height: 36px; padding: 0; }
.mo_0c07621752ab { align-items: flex-start; display: flex; gap: 16px; justify-content: space-between; }
.mo_0c07621752ab h2 { font-family: var(--font-brand); font-size: 1.5rem; font-weight: 400; line-height: 1.2; margin: 0 0 7px; }
.mo_0c07621752ab p { color: var(--satori-blue-2); font-size: .8125rem; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.mo_0c07621752ab > button { flex-shrink: 0; }
.mo_59e34d9a3e00 { background: var(--panel); border: 1px solid var(--line); display: grid; gap: 12px; padding: 16px; }
.mo_59e34d9a3e00 h3 { font-size: .8125rem; margin: 0 0 5px; }
.mo_59e34d9a3e00 p { color: var(--satori-blue-2); font-size: .8125rem; line-height: 1.5; margin: 0; max-width: 85ch; }
.mo_59e34d9a3e00 .mo_e5366893d02d { color: var(--muted); font-size: .6875rem; overflow-wrap: anywhere; }
.mo_9c29ffb2477d { display: flex; flex-wrap: wrap; gap: 8px; }
.mo_9c29ffb2477d button { background: var(--panel-alt); border: 1px solid var(--line); border-radius: 3px; color: var(--satori-blue-2); cursor: pointer; font: inherit; font-size: .8125rem; min-height: 44px; padding: 8px 12px; }
.mo_9c29ffb2477d button[aria-pressed="true"] { background: var(--satori-blue); border-color: var(--satori-blue); color: var(--panel); font-weight: 700; }
.mo_e594a7357f66 { align-items: flex-start; background: var(--panel-alt); border: 1px solid var(--line); display: flex; gap: 10px; padding: 14px 16px; }
.mo_b8197bdde8d4 { flex: 1; min-width: 0; }
.mo_e594a7357f66 .mo_a3ca12b282d6 { color: var(--muted); font-size: .75rem; }
.mo_fffb881f5fe5 { align-self: center; flex-shrink: 0; min-height: 44px; }
.mo_3123661b5547 { align-items: center; display: flex; flex-wrap: wrap; gap: 10px 16px; }
.mo_3123661b5547 > span { flex: 1 1 35ch; }
.mo_e594a7357f66 strong { font-size: .8125rem; }
.mo_e594a7357f66 p { color: var(--satori-blue-2); font-size: .8125rem; line-height: 1.5; margin: 5px 0 0; max-width: 72ch; }
.mo_b7ced91c0db9 { border-bottom: 1px solid var(--line); display: flex; gap: 20px; }
.mo_b7ced91c0db9 button { align-items: center; background: none; border: 0; border-bottom: 2px solid transparent; color: var(--muted); cursor: pointer; display: inline-flex; font-size: .8125rem; gap: 7px; min-height: 40px; padding: 7px 0 10px; }
.mo_b7ced91c0db9 button[aria-pressed="true"] { border-bottom-color: var(--satori-blue); color: var(--satori-blue); font-weight: 700; }
.mo_b7ced91c0db9 button span { font-variant-numeric: tabular-nums; }
.mo_d256c856c078 { color: var(--muted); font-size: .8125rem; line-height: 1.5; margin: 0; }
.mo_99c26696b541 { background: var(--panel); border: 1px solid var(--line); list-style: none; margin: 0; min-width: 0; padding: 0; }
.mo_21f1053420ab { min-width: 0; padding: 20px; }
.mo_21f1053420ab + .mo_21f1053420ab { border-top: 1px solid var(--line); }
.mo_da8161191b58 { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.mo_e1553c101105 { align-items: center; display: flex; gap: 8px; }
.mo_e1553c101105 svg { color: var(--satori-blue-2); flex-shrink: 0; }
.mo_e1553c101105 h3 { font-size: .8125rem; margin: 0; }
.mo_17b83dff8417 { color: var(--muted); font-family: monospace; font-size: .6875rem; font-weight: 400; margin-left: 5px; }
.mo_896ff8dabb5e { background: var(--panel-alt); border-radius: 3px; color: var(--satori-blue-2); font-size: .6875rem; font-weight: 700; line-height: 1.35; padding: 4px 7px; white-space: nowrap; }
.mo_896ff8dabb5e[data-status="pending"] { background: var(--satori-orange-2); color: var(--warning); }
.mo_896ff8dabb5e[data-status="accepted_risk"] { background: var(--satori-plum-2); color: var(--satori-plum); }
.mo_896ff8dabb5e[data-status="recovered"], .mo_896ff8dabb5e[data-status="verified_non_correspondence"] { background: var(--satori-green-2); color: var(--good); }
.mo_4b526eac6541 { color: var(--muted); font-size: .8125rem; line-height: 1.5; margin: 9px 0 14px; }
.mo_9ccb65c8f685 { display: grid; gap: 14px 24px; grid-template-columns: 1fr 1fr; margin: 0; }
.mo_9ccb65c8f685 > div { min-width: 0; }
.mo_9ccb65c8f685 dt, .mo_e5ebd4a2ab46 dt, .mo_4889b277fedb dt { color: var(--muted); font-size: .6875rem; margin-bottom: 4px; }
.mo_9ccb65c8f685 dd { color: var(--satori-blue-2); display: grid; font-size: .8125rem; gap: 3px; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.mo_4b8c36485448 { color: var(--muted); font-size: .6875rem; }
.mo_e5ebd4a2ab46 { color: var(--muted); font-size: .6875rem; margin: 14px 0; }
.mo_e5ebd4a2ab46 summary { cursor: pointer; min-height: 28px; padding: 5px 0; width: fit-content; }
.mo_e5ebd4a2ab46 dl { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 8px 0 0; }
.mo_e5ebd4a2ab46 dd { margin: 0; overflow-wrap: anywhere; }
.mo_e5ebd4a2ab46 code { color: var(--satori-blue-2); font-size: .6875rem; user-select: all; }
.mo_b2e61f96e050 { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; }
.mo_b2e61f96e050 button { font-size: .8125rem; }
.mo_4889b277fedb { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 14px; }
.mo_4889b277fedb > strong { font-size: .8125rem; }
.mo_4889b277fedb dl { display: grid; gap: 12px 24px; grid-template-columns: 1fr 1fr; margin: 12px 0 0; }
.mo_4889b277fedb dl > :last-child { grid-column: 1 / -1; }
.mo_4889b277fedb dd { color: var(--satori-blue-2); font-size: .8125rem; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.mo_d15db8d69281 { white-space: pre-wrap; }
.mo_4889b277fedb p { color: var(--satori-plum); font-size: .8125rem; line-height: 1.5; margin: 12px 0 0; }
.mo_3d0608dc6dd8, .mo_1ee664294185 { align-items: center; background: var(--panel-alt); border: 1px solid var(--line); color: var(--satori-blue-2); display: flex; font-size: .8125rem; gap: 10px; line-height: 1.5; padding: 10px 12px; }
.mo_1ee664294185 { background: var(--satori-rose-2); border-color: var(--satori-rose); color: var(--danger); }
.mo_1ee664294185 > svg { flex-shrink: 0; }
.mo_936b159a1315 { align-items: center; border: 1px solid var(--line); color: var(--muted); display: grid; font-size: .8125rem; gap: 8px; justify-items: center; line-height: 1.5; padding: 30px 20px; text-align: center; }
.mo_936b159a1315 strong { color: var(--satori-blue-2); }
.mo_936b159a1315 p { margin: 0; max-width: 55ch; }
.mo_8da5cf21412a button:hover:not(:disabled) { filter: brightness(.96); }
.mo_8da5cf21412a button:focus-visible, .mo_8da5cf21412a summary:focus-visible { outline: 2px solid var(--satori-blue-2); outline-offset: 3px; }
.mo_8da5cf21412a button:disabled { cursor: not-allowed; opacity: .6; }
@media (max-width: 640px) {
  .mo_8da5cf21412a { gap: 14px; }
  .mo_0c07621752ab { flex-direction: column; gap: 12px; }
  .mo_21f1053420ab { padding: 16px 12px; }
  .mo_da8161191b58 { flex-wrap: wrap; gap: 8px; }
  .mo_9ccb65c8f685, .mo_4889b277fedb dl { grid-template-columns: 1fr; gap: 12px; }
  .mo_8da5cf21412a button, .mo_e5ebd4a2ab46 summary { min-height: 44px; }
  .mo_e594a7357f66 { flex-direction: column; gap: 14px; }
  .mo_fffb881f5fe5 { align-self: stretch; }
}

@media (pointer: coarse) {
  .mo_8da5cf21412a button, .mo_e5ebd4a2ab46 summary { min-height: 44px; }
}

.mo_f7f161077b00 { max-width: 860px; background: var(--panel); border: 1px solid var(--line); border-radius: 4px; }
.mo_de25c8e2c9da { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px; border-bottom: 1px solid var(--line); }
.mo_de25c8e2c9da h2 { color: var(--satori-blue); font: 400 1.5rem var(--font-brand); margin: 0; }
.mo_de25c8e2c9da p { color: var(--muted); font-size: .8125rem; margin: 5px 0 0; }
.mo_4ffae24bb8f0 { display: grid; gap: 20px; padding: 20px; }
.mo_a45296c6b249 { display: grid; gap: 16px; }
.mo_5fd8d2420e80 { display: grid; gap: 7px; color: var(--satori-blue); font-size: .8125rem; font-weight: 600; min-width: 0; }
.mo_5fd8d2420e80 input, .mo_5fd8d2420e80 select { width: 100%; min-height: 40px; padding: 8px 10px; background: var(--panel); color: var(--foreground); border: 1px solid var(--line); border-radius: 4px; font: inherit; font-weight: 400; }
.mo_5fd8d2420e80 input:focus-visible, .mo_5fd8d2420e80 select:focus-visible, .mo_a3ecacb86e22 input:focus-visible { outline: 2px solid var(--satori-light-blue); outline-offset: 2px; }
.mo_69f2ba6ce103 { display: grid; gap: 4px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.mo_69f2ba6ce103 strong { color: var(--satori-blue); font-size: .8125rem; }
.mo_69f2ba6ce103 span { color: var(--muted); font-size: .6875rem; overflow-wrap: anywhere; }
.mo_df9bba9c165d { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 12px; }
.mo_9fa19e6019f7 { display: grid; grid-template-columns: minmax(130px, 1fr) minmax(0, 2fr); gap: 16px; }
.mo_d1d504b3f10d { color: var(--muted); font-size: .8125rem; line-height: 1.55; margin: 0; }
.mo_2fa63444a4e5 { border: 0; margin: 5px 0; padding: 0; min-width: 0; }
.mo_2fa63444a4e5 legend { color: var(--satori-blue); font-size: .8125rem; font-weight: 600; margin-bottom: 10px; }
.mo_2fa63444a4e5 > div { display: flex; flex-wrap: wrap; gap: 8px; }
.mo_a3ecacb86e22 { display: inline-flex; gap: 6px; align-items: center; border: 1px solid var(--line); border-radius: 4px; padding: 8px 10px; font-size: .8125rem; }
.mo_a3ecacb86e22:has(input:checked) { background: var(--satori-blue-50); border-color: var(--satori-blue-2); }
.mo_a3ecacb86e22 input { accent-color: var(--satori-blue); }
.mo_925e0fc379e6 { max-width: 285px; }
.mo_925e0fc379e6 input { max-width: 120px; }
.mo_128d77abbcfd { display: flex; gap: 10px; margin: 20px 0 14px; padding: 14px; background: var(--satori-blue-50); border: 1px solid var(--line); border-radius: 4px; color: var(--satori-blue); }
.mo_128d77abbcfd > svg { flex-shrink: 0; }
.mo_128d77abbcfd strong { font-size: .8125rem; }
.mo_128d77abbcfd p { margin: 4px 0; font-size: .8125rem; }
.mo_128d77abbcfd span { display: block; color: var(--satori-blue-2); font-size: .6875rem; line-height: 1.5; margin-top: 6px; }
.mo_128d77abbcfd + .mo_d1d504b3f10d { margin-bottom: 10px; }
.mo_aec7c8f59933 { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.mo_8d79cc18423b { padding: 12px; border: 1px solid var(--line); background: var(--satori-blue-50); font-size: .8125rem; }
.mo_8d79cc18423b[role="alert"] { color: var(--warning); }
.mo_8a4eb385ba54 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 560px) { .mo_4ffae24bb8f0, .mo_de25c8e2c9da { padding: 16px; } .mo_9fa19e6019f7 { grid-template-columns: 1fr; } .mo_aec7c8f59933 { align-items: stretch; flex-direction: column; } }
@media (pointer: coarse) { .mo_5fd8d2420e80 input, .mo_5fd8d2420e80 select, .mo_a3ecacb86e22 { min-height: 44px; } }

.mo_3509cbbf2a8d { max-width: 760px; margin: 48px auto; padding: 0 18px; color: var(--satori-blue); }
.mo_3509cbbf2a8d h1 { font-size: 1.5rem; font-weight: 400; font-family: var(--font-brand), Georgia, serif; line-height: 1.2; margin: 28px 0 18px; }
.mo_3509cbbf2a8d p { line-height: 1.6; }
.mo_3509cbbf2a8d form { margin-top: 28px; }
.mo_3509cbbf2a8d label { display: block; font-weight: 600; margin-bottom: 8px; }
.mo_3509cbbf2a8d input { box-sizing: border-box; width: 100%; padding: 10px; border: 1px solid var(--satori-light-blue); border-radius: 4px; font: inherit; min-height: 44px; }
.mo_49ed14f3f8b1 { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.mo_49ed14f3f8b1 button { padding: 10px 18px; border: 1px solid var(--satori-blue); border-radius: 4px; background: var(--satori-blue); color: var(--panel); font: inherit; cursor: pointer; min-height: 44px; }
.mo_49ed14f3f8b1 button:disabled { opacity: .6; cursor: default; }
.mo_49ed14f3f8b1 button + button { background: var(--panel); color: var(--satori-blue); }
.mo_3509cbbf2a8d :is(input,button,a):focus-visible { outline: 2px solid var(--satori-blue); outline-offset: 3px; }
.mo_1fdc78c308ff { padding: 16px; background: var(--panel-alt); border: 1px solid var(--line); }
.mo_3509cbbf2a8d dt { font-weight: 600; margin-top: 16px; }
.mo_3509cbbf2a8d dd { margin: 4px 0; overflow-wrap: anywhere; }

.mo_c4d57be29b9f { padding: 16px; overflow: hidden; }
.mo_018ce9edca95 { width: min(1060px, calc(100vw - 32px)); max-width: 1060px; max-height: calc(100dvh - 32px); overflow-y: auto; }
.mo_9dece56be8fa { border: 0; padding: 0; margin: 0; min-width: 0; }
.mo_9dece56be8fa select, .mo_9dece56be8fa input { max-width: 100%; border: 1px solid var(--line); border-radius: 4px; padding: 9px 10px; background: var(--panel); color: inherit; font: inherit; }
.mo_9dece56be8fa select:focus-visible, .mo_9dece56be8fa input:focus-visible, .mo_b40920a27a76 summary:focus-visible { outline: 2px solid var(--satori-light-blue); outline-offset: 3px; }
.mo_ee461850a2c9 { display: block; color: var(--muted); font-size: 0.8125rem; font-weight: 400; line-height: 1.55; }
.mo_195ad28afaad { padding: 12px 14px; background: var(--satori-green-2); border-left: 3px solid var(--satori-green); color: var(--good); font-size: 0.8125rem; line-height: 1.6; }
.mo_fea89959dfeb { padding: 14px; border: 1px solid var(--satori-rose); border-radius: 4px; background: var(--satori-rose-2); color: var(--danger); font-size: 0.8125rem; line-height: 1.55; }
.mo_fea89959dfeb ul { margin: 8px 0 0; padding-left: 20px; }
.mo_ef7dd601368f { display: grid; gap: 14px; padding: 16px 0; }
.mo_ef7dd601368f label, .mo_9389c1628180 label, .mo_47bfafabf87d { display: grid; gap: 6px; font-size: 0.8125rem; }
.mo_ef7dd601368f label { padding: 12px; border: 1px solid var(--satori-orange); border-radius: 4px; }
.mo_776429050bae h4, .mo_ef7dd601368f h4 { margin: 8px 0; font-size: 0.8125rem; }
.mo_b40920a27a76 { border: 1px solid var(--line); border-radius: 4px; margin-top: 10px; padding: 12px 14px; }
.mo_b40920a27a76 summary { cursor: pointer; font-size: 0.8125rem; }
.mo_b40920a27a76 summary span { margin-left: 10px; color: var(--muted); font-size: 0.8125rem; }
.mo_9389c1628180 { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 12px; margin: 16px 0; }
.mo_47bfafabf87d { margin-bottom: 14px; }
.mo_9e1c2973bf19 { overflow: auto; max-height: 420px; }
.mo_9e1c2973bf19 table { width: 100%; border-collapse: collapse; font-size: 0.8125rem; }
.mo_9e1c2973bf19 th, .mo_9e1c2973bf19 td { text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); padding: 9px; min-width: 170px; max-width: 360px; overflow-wrap: anywhere; }
.mo_9e1c2973bf19 thead { position: sticky; top: 0; background: var(--panel-alt); }
.mo_9e1c2973bf19 td div + div { margin-top: 6px; color: var(--muted); }
.mo_9e1c2973bf19 select { width: 100%; min-width: 190px; }
.mo_03465ec423b7 { margin-top: 16px; font-size: 0.8125rem; }
.mo_03465ec423b7 summary { cursor: pointer; }
.mo_c6caa4c9d6f9 { position: sticky; bottom: -18px; background: var(--panel); padding: 14px 0 2px; margin-top: 16px; border-top: 1px solid var(--line); }
.mo_c6caa4c9d6f9 .modalActions { margin-top: 8px; }
@media (max-width: 640px) { .mo_9389c1628180 { grid-template-columns: repeat(2, 1fr); } .mo_b40920a27a76 summary span { display: block; margin: 6px 0 0; } .mo_018ce9edca95 { width: calc(100vw - 20px); } }

@media (pointer: coarse) { .mo_9dece56be8fa select, .mo_9dece56be8fa input, .mo_b40920a27a76 summary { min-height: 44px; } }

