/* Screenshot regressions, 2026-10-09. Scoped to the three affected workspaces. */
#root .app-shell .proxy-statistics-scroll {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  overscroll-behavior-x: contain;
}
#root .app-shell .proxy-statistics table {
  table-layout: fixed;
  min-width: 1280px;
  width: 100%;
}
#root .app-shell .proxy-statistics :is(th, td) {
  padding: 14px 16px;
  max-width: none;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.5;
}
#root .app-shell .proxy-statistics thead th {
  background: var(--surface-soft);
  font-size: 11px;
  letter-spacing: .035em;
  overflow-wrap: normal;
}
#root .app-shell .proxy-statistics th:nth-child(1) { width: 180px; }
#root .app-shell .proxy-statistics th:nth-child(2) { width: 130px; }
#root .app-shell .proxy-statistics th:nth-child(3) { width: 125px; }
#root .app-shell .proxy-statistics th:nth-child(4) { width: 200px; }
#root .app-shell .proxy-statistics th:nth-child(5) { width: 150px; }
#root .app-shell .proxy-statistics th:nth-child(6) { width: 145px; }
#root .app-shell .proxy-statistics th:nth-child(7) { width: 175px; }
#root .app-shell .proxy-statistics th:nth-child(8) { width: 175px; }
#root .app-shell .proxy-statistics tbody :is(td:nth-child(2), td:nth-child(3)) {
  overflow-wrap: normal;
}
#root .app-shell .proxy-statistics tbody th { font-weight: 600; }
#root .app-shell .proxy-statistics tbody tr:last-child > * { border-bottom: 0; }
#root .app-shell .proxy-statistics code { overflow-wrap: anywhere; }
#root .app-shell .proxy-statistics summary { line-height: 1.5; min-height: 40px; }
#root .app-shell .proxy-statistics-filters { gap: 12px; }
#root .app-shell .proxy-statistics-heading h3 { margin: 0; font-size: 16px; }

/* Keep controls compact; give the board the actual remaining space, rather
   than subtracting a guessed header height from the viewport. */
#root .app-shell .discovery-stream.is-columns-mode {
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  padding-bottom: 16px;
}
#root .app-shell .discovery-stream > .stream-search-header {
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  flex: 0 0 auto;
  gap: 8px 20px;
  margin: 0 0 14px;
}
#root .app-shell .stream-search-header > .stream-summary {
  order: 0;
  grid-column: auto;
  align-items: center;
}
#root .app-shell .discovery-stream .stream-controls-row { flex: 0 0 auto; margin-bottom: 12px; }
#root .app-shell .discovery-stream.is-columns-mode > .stream-named-board {
  flex: 1 1 0;
  min-height: 180px;
  grid-template-rows: minmax(0, 1fr);
  grid-auto-columns: max(300px, calc((100% - 32px) / 3));
  gap: 16px;
  padding: 0 0 12px;
  overflow: auto hidden;
  overscroll-behavior-x: contain;
}
#root .app-shell .discovery-stream.is-columns-mode .stream-named-board > .stream-live-column {
  height: 100%;
  min-height: 0;
  padding: 12px;
  border-radius: 16px;
}
#root .app-shell .discovery-stream .ai-qualified-column > :is(p, .stream-ai-status) {
  flex: 0 0 auto;
  margin: 8px 0;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
#root .app-shell .stream-live-column .stream-lead-card { padding: 14px; }

/* Give the existing matte family room to read at list size. Each campaign
   keeps its own motion direction; animations are confined to direct intent. */
#root .app-shell .campaign-table .campaign-artwork {
  display: grid;
  place-items: center;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  background: var(--surface-soft);
}
#root .app-shell .campaign-table .campaign-artwork > .tool-artwork {
  width: 48px;
  height: 48px;
}
#root .app-shell .campaign-table .campaign-artwork img {
  width: 48px;
  height: 48px;
  max-width: 48px;
  max-height: 48px;
  animation: none;
  transform: none;
  transition: transform 200ms cubic-bezier(.23, 1, .32, 1);
}
#root .app-shell .campaign-table .campaign-plan-select { gap: 14px; min-height: 52px; }
#root .app-shell .campaign-table .campaign-plan-select > span:last-child { min-width: 0; }
#root .app-shell .campaign-table td { padding-block: 16px; }
#root .app-shell .campaign-table-actions > .button {
  transition: background-color 140ms ease, transform 120ms cubic-bezier(.23, 1, .32, 1);
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html:not([data-input-mode="keyboard"]):not([data-motion="reduced"]) #root .app-shell .campaign-table .campaign-plan-select:hover .campaign-artwork img {
    transform: var(--art-hover, translateY(-3px) rotate(-3deg));
  }
  html:not([data-input-mode="keyboard"]):not([data-motion="reduced"]) #root .app-shell .campaign-table .campaign-plan-select:active .campaign-artwork img { transform: scale(.95); }
  #root .app-shell .campaign-table-actions > .button:active:not(:disabled) { transform: scale(.97); }
}
@media (max-width: 1100px) {
  #root .app-shell .discovery-stream > .stream-search-header { grid-template-columns: minmax(0, 1fr) auto; }
  #root .app-shell .stream-search-header > .stream-summary { grid-column: 1 / -1; grid-row: 2; }
  #root .app-shell .stream-search-header .stream-overview-counts { margin-left: 0; }
  #root .app-shell .discovery-stream.is-columns-mode > .stream-named-board { grid-auto-columns: calc((100% - 16px) / 2); }
}
@media (max-width: 650px) {
  #root .app-shell .discovery-stream.is-columns-mode > .stream-named-board { grid-auto-columns: 100%; }
  #root .app-shell .proxy-statistics :is(summary, .button) { min-height: 44px; }
}
html[data-input-mode="keyboard"] #root .app-shell .campaign-table :is(img, .button),
html[data-motion="reduced"] #root .app-shell .campaign-table :is(img, .button) {
  transition: none;
  animation: none;
  transform: none;
}
@media (prefers-reduced-motion: reduce) {
  #root .app-shell .campaign-table .campaign-artwork img,
  #root .app-shell .campaign-table-actions > .button {
    transition: none;
    animation: none;
    transform: none;
  }
}

/* Small action/status symbols supplement their text; no new focus targets. */
#root .app-shell .campaign-table .campaign-status::before {
  content: "";
  display: block;
  border-radius: 0;
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  background: currentColor;
  mask: var(--campaign-state-symbol) center / contain no-repeat;
  --campaign-state-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 4 5 5-11 11H4v-5Z M12 7l5 5'/%3E%3C/g%3E%3C/svg%3E");
}
#root .app-shell .campaign-table .campaign-status:is(.is-prepared,.is-completed)::before {
  --campaign-state-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/g%3E%3C/svg%3E");
}
#root .app-shell .campaign-table .campaign-status:is(.is-needs_setup,.is-held,.is-stopped)::before {
  --campaign-state-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 10 17H2Z M12 9v4 M12 16v.2'/%3E%3C/g%3E%3C/svg%3E");
}
#root .app-shell .campaign-table .campaign-status:is(.is-running,.is-queued)::before {
  --campaign-state-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8 4 12 8-12 8Z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
}
#root .app-shell .campaign-table .campaign-status:is(.is-paused,.is-archived)::before {
  --campaign-state-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M6 5h4v14H6z M14 5h4v14h-4z'/%3E%3C/g%3E%3C/svg%3E");
}
#root .app-shell .campaign-table-actions > .button:first-child:not(:has(svg))::after {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h16 M14 6l6 6-6 6' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
#root .app-shell .campaign-table .campaign-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1.4;
  border-radius: 6px;
  padding: 4px 7px;
}

/* Published accounts-layout suppresses the old status dot at higher specificity. */
#root .app-shell.product-shell.original-ui .campaign-table .campaign-status::before { display: block; border-radius: 0; }
