/* Scans screen — bull/bear split panes (Screen 50 compact parity) */

:root {
  --scans-pane-gap: 1rem;
  --scans-border: rgb(30 41 59 / 0.95);
  --scans-surface: rgb(2 6 23 / 0.72);
  --scans-head: rgb(15 23 42 / 0.95);
  --scans-bull: rgb(52 211 153);
  --scans-bear: rgb(248 113 113);
  --scans-muted: rgb(100 116 139);
  /* Compact row geometry matching Screen 50 .cmf-table */
  --scans-cell-pad-y: 0.2rem;
  --scans-cell-pad-x: 0.4rem;
  --scans-row-line: 1.15rem;
  --scans-row-height: calc(var(--scans-cell-pad-y) * 2 + var(--scans-row-line));
  --scans-visible-rows: 6;
  --scans-table-max-height: calc(
    var(--scans-row-height) + (var(--scans-visible-rows) * var(--scans-row-height))
  );
}

.scans-rrg-wrap {
  max-height: var(--scans-table-max-height);
}

.scans-table .rrg-score {
  color: rgb(134 239 172);
  font-weight: 700;
}

.scans-table .rrg-heading-ne {
  color: rgb(134 239 172);
  font-weight: 700;
}

.scans-table .rrg-rotation {
  white-space: nowrap;
  color: rgb(148 163 184);
  font-variant-numeric: tabular-nums;
}

.scans-table .rrg-early-turn {
  color: rgb(250 204 21);
  font-weight: 700;
}

.scans-table tr.ics-skip {
  opacity: 0.55;
}

/* Grading never ran for this name. Distinct from a skip, which is a verdict:
   an ungraded row is unjudged, so it reads as pending rather than rejected. */
.scans-table tr.ics-ungraded {
  opacity: 0.7;
}

.scans-table td.ics-ungraded {
  color: rgb(148 163 184);
  font-style: italic;
}

.scans-table .ics-clocks {
  color: rgb(148 163 184);
  white-space: nowrap;
}

/* Acceptance — move quality (Screen 055) */
.scans-scorecard {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.25rem 0.75rem 0.4rem;
  font-size: 9px;
  color: var(--scans-muted);
}

.scans-scorecard-cell {
  white-space: nowrap;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
  background: rgb(30 41 59 / 0.6);
}

.scans-scorecard-cell strong {
  font-weight: 600;
  letter-spacing: 0.02em;
}

.scans-scorecard-empty {
  font-style: italic;
  color: rgb(71 85 105);
}

/* Mid-range closes carry no bias, so they sit above the two halves in their
   own full-width panel and their links prefill no trade direction. */
.scans-bias-panel.neutral {
  border-left: 3px solid rgb(100 116 139);
  margin-bottom: 0.75rem;
}

.scans-bias-panel.neutral.hidden { display: none; }

.scans-bias-panel.neutral .scans-bias-label { color: rgb(148 163 184); }

.accept-continuation { color: rgb(74 222 128); }
.accept-reversal { color: rgb(251 146 60); }
.accept-unresolved { color: rgb(148 163 184); }

#acceptance-pane .scans-empty {
  position: static;
  margin: 0.35rem 0.75rem;
}

.scans-table td.skip {
  color: rgb(248 113 113);
}

/* Page-level vertical scroll (full page), panes own 6-row internal scroll */
html.scans-page {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

body.scans-page {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: visible;
}

.scans-main {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1 0 auto;
  gap: 0.65rem;
  padding: 0.65rem 0.75rem 3.5rem;
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  overflow: visible;
}

.scans-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-shrink: 0;
}

.scans-title {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(148 163 184);
}

.scans-subtitle {
  margin-top: 0.15rem;
  font-size: 10px;
  color: rgb(71 85 105);
  max-width: 42rem;
}

.scans-header-meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
}

.scans-meta {
  font-size: 9px;
  color: rgb(71 85 105);
  white-space: nowrap;
}

.scanner-health {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgb(52 211 153);
}

.scanner-health-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: currentColor;
  /* Static indicator — no pulse (avoids perceived 15s flicker) */
  box-shadow: none;
}

.scanner-health.is-stale {
  color: rgb(251 191 36);
}

.scanner-health.is-error {
  color: rgb(248 113 113);
}

.scans-layout {
  display: flex;
  flex-direction: column;
  gap: var(--scans-pane-gap);
  min-height: 0;
  flex: 0 0 auto;
  overflow: visible;
  padding-bottom: 1.5rem;
}

.scans-pane {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  flex: 0 0 auto;
  border: 1px solid var(--scans-border);
  background: var(--scans-surface);
  overflow: hidden;
}

.scans-pane-head {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.45rem 0.55rem;
  border-bottom: 1px solid var(--scans-border);
  background: var(--scans-head);
  flex-shrink: 0;
}

.pane-head-main {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.5rem;
}

.scans-pane-title {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgb(203 213 225);
}

.scans-pane-meta {
  font-size: 9px;
  color: var(--scans-muted);
}

.scans-pane-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.75rem;
  padding: 0.25rem 0.35rem;
  border: 1px solid rgb(30 41 59 / 0.85);
  background: rgb(2 6 23 / 0.55);
  font-size: 9px;
  color: rgb(148 163 184);
  letter-spacing: 0.02em;
}

.pane-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: rgb(52 211 153);
  flex-shrink: 0;
}

.scans-pane-banner.is-stale .pane-status-dot {
  background: rgb(251 191 36);
}

.scans-pane-banner.is-error .pane-status-dot {
  background: rgb(248 113 113);
}

.pane-status-state {
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgb(52 211 153);
}

.scans-pane-banner.is-stale .pane-status-state {
  color: rgb(251 191 36);
}

.scans-pane-banner.is-error .pane-status-state {
  color: rgb(248 113 113);
}

.pane-status-hits,
.pane-status-scanned,
.pane-status-eval {
  color: rgb(100 116 139);
  white-space: nowrap;
}

.scans-split-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--scans-pane-gap);
  min-height: 0;
  flex: 0 0 auto;
  padding: 0.45rem;
  align-items: start;
}

/* Scoped: there is no global `.hidden`, and `display: grid` above would win
   a bare specificity tie anyway. */
.scans-split-grid.hidden {
  display: none;
}

.scans-bias-panel {
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid rgb(30 41 59 / 0.9);
  background: rgb(2 6 23 / 0.35);
  overflow: hidden;
}

.scans-bias-panel.bull {
  border-color: rgb(22 101 52 / 0.55);
}

.scans-bias-panel.bear {
  border-color: rgb(153 27 27 / 0.55);
}

.scans-bias-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.4rem;
  padding: 0.3rem 0.5rem;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 1px solid rgb(30 41 59 / 0.9);
  flex-shrink: 0;
}

.scans-sort {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: inherit;
  opacity: 0.9;
}

.scans-sort select {
  appearance: none;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: none;
  color: rgb(226 232 240);
  background: rgb(15 23 42);
  border: 1px solid rgb(51 65 85);
  border-radius: 3px;
  padding: 0.12rem 0.4rem;
  cursor: pointer;
}

.scans-bias-panel.bull .scans-bias-label {
  color: rgb(134 239 172);
  background: rgb(6 78 59 / 0.35);
}

.scans-bias-panel.bear .scans-bias-label {
  color: rgb(252 165 165);
  background: rgb(127 29 29 / 0.35);
}

/* Exactly 6 data rows visible, then internal vertical scroll */
.scans-table-wrap {
  position: relative;
  flex: 0 0 auto;
  min-height: 0;
  max-height: var(--scans-table-max-height);
  overflow-x: auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.scans-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
  font-size: 10px;
}

.scans-table th,
.scans-table td {
  padding: var(--scans-cell-pad-y) var(--scans-cell-pad-x);
  font-size: 10px;
  line-height: var(--scans-row-line);
  height: var(--scans-row-height);
  border-bottom: 1px solid rgb(30 41 59 / 0.7);
  white-space: nowrap;
  box-sizing: border-box;
}

.scans-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: rgb(15 23 42);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgb(100 116 139);
  box-shadow: 0 1px 0 rgb(30 41 59);
}

.scans-table tbody tr:nth-child(even) {
  background: rgb(15 23 42 / 0.28);
}

.scans-table tbody tr:hover {
  background: rgb(30 41 59 / 0.45);
}

.scans-table .text-right { text-align: right; }

.scans-ticker-cell {
  white-space: nowrap;
  cursor: pointer;
}

.scans-ticker-cell .scans-ticker-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.scans-chart-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0.2rem;
  background: transparent;
  color: rgb(100 116 139);
  cursor: pointer;
  line-height: 1;
}

.scans-chart-trigger:hover,
.scans-chart-trigger:focus-visible {
  color: rgb(125 211 252);
  background: rgb(30 41 59 / 0.85);
  outline: none;
}

.scans-chart-icon {
  display: block;
  pointer-events: none;
}

.scans-ticker {
  font-weight: 600;
  color: rgb(125 211 252);
  text-decoration: none;
}

.scans-ticker:hover { text-decoration: underline; }

/* Floating 5m hover chart (dark panes) */
.scans-chart-popover {
  position: fixed;
  z-index: 80;
  width: 360px;
  height: 240px;
  box-sizing: border-box;
  padding: 0.45rem 0.5rem 0.4rem;
  border: 1px solid rgb(51 65 85);
  border-radius: 0.4rem;
  background: rgb(15 23 42);
  box-shadow: 0 12px 28px rgb(0 0 0 / 0.45);
  pointer-events: auto;
  overflow: hidden;
}

.scans-chart-popover.hidden {
  display: none;
}

.scans-chart-popover-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.2rem;
}

.scans-chart-popover-title {
  font-size: 11px;
  font-weight: 600;
  color: rgb(226 232 240);
  letter-spacing: 0.02em;
}

.scans-chart-popover-legend {
  display: flex;
  gap: 0.55rem;
  font-size: 9px;
  color: rgb(148 163 184);
}

.scans-chart-leg::before {
  content: "";
  display: inline-block;
  width: 0.55rem;
  height: 2px;
  margin-right: 0.25rem;
  vertical-align: middle;
  border-radius: 1px;
}

.scans-chart-leg-vwap::before { background: #3b82f6; }
.scans-chart-leg-ema::before { background: #f97316; }

.scans-chart-popover-status {
  position: absolute;
  left: 0.75rem;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  text-align: center;
  font-size: 11px;
  color: rgb(148 163 184);
  pointer-events: none;
}

.scans-chart-popover-status.hidden { display: none; }
.scans-chart-popover-status.is-error { color: rgb(248 113 113); }

.scans-chart-popover-canvas {
  width: 100%;
  height: calc(100% - 1.35rem);
}

.bias-bull { color: var(--scans-bull); }
.bias-bear { color: var(--scans-bear); }

.scans-empty {
  position: absolute;
  inset: 2.5rem 0.75rem auto;
  margin: 0;
  font-size: 10px;
  color: rgb(71 85 105);
}

.scans-empty.hidden { display: none; }

/* Only animate genuinely new rows (first insert), not poll refreshes */
.row-enter-once {
  animation: scans-row-in 0.28s ease-out;
}

@keyframes scans-row-in {
  from { opacity: 0.65; }
  to { opacity: 1; }
}

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

@media (max-width: 640px) {
  .scans-header {
    flex-direction: column;
    align-items: stretch;
  }

  .scans-main {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

/* Informed Confidence Scoring pane */
.ics-pane {
  flex-shrink: 0;
}

.ics-pane-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.4rem;
}

.ics-refresh-btn {
  appearance: none;
  border: 1px solid rgb(71 85 105);
  background: rgb(15 23 42);
  color: rgb(226 232 240);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.28rem 0.55rem;
  border-radius: 4px;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.ics-refresh-btn:hover:not(:disabled) {
  border-color: rgb(148 163 184);
  color: rgb(248 250 252);
  background: rgb(30 41 59);
}

.ics-refresh-btn.is-stale {
  border-color: rgb(245 158 11);
  color: rgb(253 230 138);
}

.ics-refresh-btn:disabled {
  opacity: 0.55;
  cursor: wait;
}

.ics-split-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--scans-pane-gap);
}

.ics-bias-panel {
  border: 1px solid var(--scans-border);
  border-radius: 0.35rem;
  background: var(--scans-surface);
  padding: 0.45rem 0.55rem 0.55rem;
  min-height: 7.5rem;
}

.ics-bias-panel .scans-bias-label {
  margin-bottom: 0;
}

.ics-bias-label-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.4rem;
}

.ics-performance-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border: 1px solid rgb(51 65 85);
  border-radius: 0.25rem;
  background: rgb(15 23 42);
  color: rgb(148 163 184);
  cursor: pointer;
  flex-shrink: 0;
}

.ics-performance-btn:hover {
  border-color: rgb(100 116 139);
  color: rgb(226 232 240);
  background: rgb(30 41 59);
}

.ics-bias-panel.bull .ics-performance-btn:hover {
  border-color: rgb(16 185 129);
  color: rgb(110 231 183);
}

.ics-bias-panel.bear .ics-performance-btn:hover {
  border-color: rgb(248 113 113);
  color: rgb(252 165 165);
}

.ics-performance-modal[hidden] {
  display: none !important;
}

.ics-performance-modal {
  position: fixed;
  inset: 0;
  z-index: 85;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem;
  background: rgb(2 6 23 / 0.72);
}

.ics-performance-panel {
  width: min(56rem, 100%);
  max-height: min(90vh, 44rem);
  display: flex;
  flex-direction: column;
  border: 1px solid rgb(51 65 85);
  border-radius: 0.5rem;
  background: rgb(15 23 42);
  box-shadow: 0 18px 40px rgb(0 0 0 / 0.45);
  overflow: hidden;
}

.ics-performance-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid rgb(30 41 59);
  flex-shrink: 0;
}

.ics-performance-eyebrow {
  margin: 0;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgb(14 165 233);
}

.ics-performance-title {
  margin: 0.15rem 0 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgb(241 245 249);
}

.ics-performance-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0.85rem 0.9rem 1rem;
  min-height: 0;
  overflow: hidden;
}

.ics-performance-aggregate {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  flex-shrink: 0;
}

.ics-performance-stat {
  border: 1px solid rgb(30 41 59);
  background: rgb(2 6 23 / 0.55);
  padding: 0.4rem 0.5rem;
}

.ics-performance-stat-label {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(100 116 139);
}

.ics-performance-stat-value {
  margin-top: 0.15rem;
  font-size: 12px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  color: rgb(226 232 240);
}

.ics-performance-table-wrap {
  min-height: 0;
  overflow: auto;
  border: 1px solid rgb(30 41 59);
}

.ics-performance-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
}

.ics-performance-table th,
.ics-performance-table td {
  padding: 0.28rem 0.4rem;
  border-bottom: 1px solid rgb(30 41 59 / 0.85);
  white-space: nowrap;
}

.ics-performance-table th {
  position: sticky;
  top: 0;
  background: rgb(15 23 42);
  text-align: left;
  font-size: 8px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgb(100 116 139);
  z-index: 1;
}

.ics-performance-table .text-right {
  text-align: right;
}

.ics-performance-pos {
  color: rgb(52 211 153);
}

.ics-performance-neg {
  color: rgb(248 113 113);
}

@media (max-width: 900px) {
  .ics-performance-aggregate {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.ics-card-list {
  display: grid;
  gap: 0.4rem;
}

.ics-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.45rem 0.65rem;
  align-items: start;
  width: 100%;
  text-align: left;
  border: 1px solid rgb(51 65 85 / 0.85);
  border-radius: 0.3rem;
  background: rgb(15 23 42 / 0.72);
  padding: 0.45rem 0.55rem;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

.ics-card:hover {
  border-color: rgb(56 189 248 / 0.55);
  background: rgb(30 41 59 / 0.55);
}

.ics-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  height: 2.4rem;
  border-radius: 0.3rem;
  font-size: 12px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  border: 1px solid transparent;
}

.ics-score.call {
  color: rgb(167 243 208);
  background: rgb(6 78 59 / 0.45);
  border-color: rgb(16 185 129 / 0.4);
}

.ics-score.put {
  color: rgb(254 202 202);
  background: rgb(127 29 29 / 0.4);
  border-color: rgb(220 38 38 / 0.4);
}

.ics-card-main {
  min-width: 0;
}

.ics-ticker {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: rgb(125 211 252);
}

.ics-summary {
  margin: 0.2rem 0 0;
  font-size: 10px;
  line-height: 1.35;
  color: rgb(148 163 184);
}

.ics-drivers {
  margin-top: 0.3rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.ics-driver {
  display: inline-flex;
  align-items: center;
  padding: 0.05rem 0.3rem;
  border-radius: 0.2rem;
  border: 1px solid rgb(51 65 85);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: rgb(148 163 184);
  background: rgb(2 6 23 / 0.55);
}

.ics-bias-panel .scans-empty {
  position: static;
  margin-top: 0.35rem;
}

.ics-bias-panel .scans-empty.hidden {
  display: none;
}

/* Commit Trade Plan modal (Screen 055) */
.commit-trade-modal[hidden] {
  display: none !important;
}

.commit-trade-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem;
  background: rgb(2 6 23 / 0.72);
}

.commit-trade-panel {
  width: min(32rem, 100%);
  border: 1px solid rgb(51 65 85);
  border-radius: 0.5rem;
  background: rgb(15 23 42);
  box-shadow: 0 18px 40px rgb(0 0 0 / 0.45);
}

.commit-trade-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.75rem 0.9rem;
  border-bottom: 1px solid rgb(30 41 59);
}

.commit-trade-eyebrow {
  margin: 0;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgb(14 165 233);
}

.commit-trade-title {
  margin: 0.15rem 0 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgb(241 245 249);
}

.commit-trade-close {
  border: 0;
  background: transparent;
  color: rgb(100 116 139);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

.commit-trade-close:hover {
  color: rgb(203 213 225);
}

.commit-trade-body {
  display: grid;
  gap: 0.75rem;
  padding: 0.85rem 0.9rem 1rem;
}

.commit-trade-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem 0.75rem;
}

.commit-span-2 {
  grid-column: 1 / -1;
}

.commit-metric-label {
  font-size: 8px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgb(100 116 139);
}

.commit-metric-value {
  margin-top: 0.15rem;
  font-size: 12px;
  font-weight: 650;
  color: rgb(226 232 240);
  font-variant-numeric: tabular-nums;
}

.commit-ticker {
  color: rgb(110 231 183);
}

.commit-drivers {
  font-size: 11px;
  color: rgb(148 163 184);
  font-weight: 600;
}

.commit-summary {
  margin: 0.2rem 0 0;
  font-size: 11px;
  line-height: 1.4;
  color: rgb(148 163 184);
}

.commit-trade-error {
  margin: 0;
  font-size: 10px;
  color: rgb(248 113 113);
}

.commit-trade-error.hidden {
  display: none;
}

.commit-trade-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.4rem;
  border-top: 1px solid rgb(30 41 59);
  padding-top: 0.75rem;
}

.commit-btn {
  border-radius: 0.3rem;
  border: 1px solid rgb(51 65 85);
  padding: 0.4rem 0.7rem;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

.commit-btn.ghost {
  color: rgb(148 163 184);
  background: transparent;
}

.commit-btn.ghost:hover {
  background: rgb(30 41 59 / 0.6);
}

.commit-btn.primary {
  color: rgb(224 242 254);
  background: rgb(3 105 161 / 0.55);
  border-color: rgb(14 165 233 / 0.55);
}

.commit-btn.primary:hover {
  background: rgb(3 105 161 / 0.75);
}

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