/* Raw NFIB evidence surfaces, scoped to active C•FLOW Small Business panels. */
#view-cflow .cflow-small-business-panel {
  min-width: 0;
  overflow: hidden;
}

#view-cflow .cflow-sb-status,
#view-cflow .cflow-small-business-panel .panel-placeholder {
  line-height: 1.55;
}

#view-cflow .cflow-sb-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

#view-cflow .cflow-sb-summary > div {
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.025);
}

#view-cflow .cflow-sb-summary span,
#view-cflow .cflow-sb-summary strong {
  display: block;
}

#view-cflow .cflow-sb-summary span,
#view-cflow .cflow-sb-reference {
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
}

#view-cflow .cflow-sb-summary strong {
  margin-top: 4px;
  color: #fff;
  font-size: 1rem;
}

#view-cflow .cflow-sb-chart {
  min-height: 220px;
  margin: 10px 0;
}

#view-cflow .cflow-sb-line {
  display: block;
  width: 100%;
  height: 190px;
}

#view-cflow .cflow-sb-line line {
  stroke: rgba(255, 255, 255, 0.18);
  stroke-width: 0.5;
}

#view-cflow .cflow-sb-line polyline {
  fill: none;
  stroke: #d5d7da;
  stroke-width: 1.6;
  vector-effect: non-scaling-stroke;
}

#view-cflow .cflow-sb-axis {
  display: flex;
  justify-content: space-between;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.68rem;
}

#view-cflow .cflow-simp-latest {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0 8px;
}

#view-cflow .cflow-simp-latest > div {
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid var(--iv-border, rgba(126, 153, 196, 0.16));
  background: rgba(255, 255, 255, 0.025);
}

#view-cflow .cflow-simp-latest span,
#view-cflow .cflow-simp-latest strong {
  display: block;
}

#view-cflow .cflow-simp-latest span {
  color: var(--iv-text-secondary, #a5b0c1);
  font-size: 0.67rem;
}

#view-cflow .cflow-simp-latest strong {
  margin-top: 3px;
  color: var(--iv-text-primary, #e6ecf5);
  font-size: 0.86rem;
  line-height: 1.25;
}

#view-cflow .cflow-simp-chart-scroll {
  width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

#view-cflow .cflow-simp-stacked-chart {
  display: block;
  width: 100%;
  min-width: 520px;
  height: 235px;
}

#view-cflow .cflow-simp-grid line {
  stroke: var(--iv-chart-grid, rgba(126, 153, 196, 0.18));
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

#view-cflow .cflow-simp-grid text {
  fill: var(--iv-chart-label, #cbd5e1);
  font-size: 11px;
}

#view-cflow .cflow-simp-stacked-chart rect {
  shape-rendering: crispEdges;
}

#view-cflow .cflow-simp-stacked-chart rect:hover {
  stroke: var(--iv-text-primary, #e6ecf5);
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
}

#view-cflow .cflow-simp-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 12px;
  margin-top: 9px;
  color: var(--iv-text-secondary, #a5b0c1);
  font-size: 0.66rem;
  line-height: 1.25;
}

#view-cflow .cflow-simp-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

#view-cflow .cflow-simp-legend i,
#view-cflow .cflow-simp-table-swatch {
  display: inline-block;
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  margin-right: 5px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: var(--cflow-simp-color);
}

#view-cflow .cflow-sb-reference {
  margin: 10px 0;
}

#view-cflow .cflow-sb-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0;
}

#view-cflow .cflow-sb-tabs button {
  padding: 6px 9px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 2px;
  background: transparent;
  color: rgba(255, 255, 255, 0.68);
  cursor: pointer;
  font: inherit;
  font-size: 0.72rem;
}

#view-cflow .cflow-sb-tabs button[aria-selected="true"] {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

#view-cflow .cflow-sb-table-wrap {
  width: 100%;
  max-height: 340px;
  overflow: auto;
  overscroll-behavior: contain;
}

#view-cflow .cflow-sb-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.74rem;
}

#view-cflow .cflow-sb-table th,
#view-cflow .cflow-sb-table td {
  padding: 7px 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.09);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

#view-cflow .cflow-sb-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #111419;
  color: rgba(255, 255, 255, 0.72);
}

#view-cflow .cflow-sb-table th:not(:first-child),
#view-cflow .cflow-sb-table td:not(:first-child) {
  text-align: right;
}

#view-cflow .cflow-sb-table-wide th:nth-child(2),
#view-cflow .cflow-sb-table-wide td:nth-child(2) {
  text-align: left;
}

/* Neutral categorical identity only; these tints do not encode magnitude or state. */
#view-cflow .cflow-sb-category-tint-0 > td:first-child { background: rgba(105, 132, 157, 0.12); }
#view-cflow .cflow-sb-category-tint-1 > td:first-child { background: rgba(122, 112, 148, 0.12); }
#view-cflow .cflow-sb-category-tint-2 > td:first-child { background: rgba(101, 139, 130, 0.12); }
#view-cflow .cflow-sb-category-tint-3 > td:first-child { background: rgba(145, 126, 101, 0.12); }
#view-cflow .cflow-sb-category-tint-4 > td:first-child { background: rgba(126, 139, 105, 0.12); }
#view-cflow .cflow-sb-category-tint-5 > td:first-child { background: rgba(139, 105, 123, 0.12); }
#view-cflow .cflow-sb-category-tint-6 > td:first-child { background: rgba(103, 123, 145, 0.12); }
#view-cflow .cflow-sb-category-tint-7 > td:first-child { background: rgba(139, 132, 110, 0.12); }

@media (max-width: 820px) {
  #view-cflow .cflow-sb-summary { grid-template-columns: 1fr; }
  #view-cflow .cflow-simp-latest { grid-template-columns: 1fr; }
  #view-cflow .cflow-sb-chart { min-height: 180px; }
  #view-cflow .cflow-sb-line { height: 150px; }
  #view-cflow .cflow-simp-stacked-chart { height: 210px; }
  #view-cflow .cflow-sb-table-wrap { max-height: 300px; }
}

#view-cflow .cflow-bc-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  min-width: 0;
}

#view-cflow .cflow-bc-card > .panel-title { display: none; }
#view-cflow .cflow-bc-title {
  color: #9fc2ff;
  font-size: 12px;
  letter-spacing: 0.08em;
  margin-bottom: 10px;
  text-transform: uppercase;
}

#view-cflow .cflow-bc-diagnostics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#view-cflow .cflow-bc-diagnostics section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 12px;
  padding: 9px 10px;
  border: 1px solid #2d3a4d;
  background: rgb(255 255 255 / 1.5%);
}

#view-cflow .cflow-bc-diagnostics span { color: #9fb7d5; font-size: 11px; }
#view-cflow .cflow-bc-diagnostics strong { color: #fff; font-size: 13px; text-align: right; }
#view-cflow .cflow-bc-diagnostics strong.positive { color: #74d99f; }
#view-cflow .cflow-bc-diagnostics strong.negative { color: #ff7c7c; }
#view-cflow .cflow-bc-diagnostics strong.neutral { color: #e7c66d; }

#view-cflow .cflow-bc-horizons { display: flex; justify-content: flex-end; gap: 6px; }
#view-cflow .cflow-bc-horizons button {
  min-width: 54px; padding: 5px 10px; border: 1px solid #47617d;
  border-radius: 6px; background: #0b1420; color: #cfe2fa; cursor: pointer;
}
#view-cflow .cflow-bc-horizons button[aria-pressed="true"] { border-color: #8fd3ae; color: #8fd3ae; }
#view-cflow .cflow-bc-chart { width: 100%; min-width: 0; min-height: 270px; overflow: hidden; }

@media (max-width: 820px) {
  #view-cflow .cflow-bc-diagnostics { grid-template-columns: 1fr; }
}

/* Existing certified-state renderers use family-specific class names.
   Present their governed fields with the accepted Labor summary grammar. */
#view-cflow :is(.cflow-state-envelope, .cflow-state-card, .cflow-small-business-state, .cflow-sb-state-block) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#view-cflow :is(.cflow-state-title, .cflow-small-business-state-title, .cflow-sb-state-title),
#view-cflow :is(.cflow-state-reference, .cflow-state-unavailable),
#view-cflow :is(.cflow-small-business-state, .cflow-state-envelope, .cflow-state-card, .cflow-sb-state-block) > .panel-footnote {
  grid-column: 1 / -1;
}

#view-cflow :is(.cflow-state-title, .cflow-small-business-state-title, .cflow-sv-state__title, .cflow-credit-state__title, .cflow-sb-state-title) {
  color: #9fc2ff;
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

#view-cflow :is(.cflow-state-reference, .cflow-credit-state__date) {
  color: #9fb7d5;
  font-size: 11px;
}

#view-cflow :is(.cflow-sv-state__rows, .cflow-credit-state__rows) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

#view-cflow :is(.cflow-credit-state__header, .cflow-sv-state__title) {
  margin-bottom: 10px;
}

#view-cflow :is(.cflow-state-row, .cflow-small-business-state-row, .cflow-sv-state__row, .cflow-credit-state__row, .cflow-sb-state-row) {
  display: grid;
  align-content: start;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #2d3a4d;
  background: rgb(255 255 255 / 1.5%);
}

#view-cflow :is(.cflow-state-row, .cflow-small-business-state-row, .cflow-sv-state__row, .cflow-credit-state__row, .cflow-sb-state-row) :is(span:first-child, .cflow-state-label, .cflow-small-business-state-label, .cflow-sv-state__label, .cflow-credit-state__label) {
  color: #9fb7d5;
  font-size: 11px;
}

#view-cflow :is(.cflow-state-row, .cflow-small-business-state-row, .cflow-sv-state__row, .cflow-credit-state__row, .cflow-sb-state-row) :is(strong, .cflow-state-value, .cflow-small-business-state-value, .cflow-sv-state__value, .cflow-credit-state__value) {
  color: #fff;
  font-size: 15px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

#view-cflow :is(.cflow-sv-state__meta, .cflow-credit-state__context) {
  color: #9fc2ff;
  font-size: 11px;
}

@media (max-width: 820px) {
  #view-cflow :is(.cflow-state-envelope, .cflow-state-card, .cflow-small-business-state, .cflow-sb-state-block, .cflow-sv-state__rows, .cflow-credit-state__rows) {
    grid-template-columns: 1fr;
  }
}
