/* Operations uses the canonical Share Ventures tokens and admin shell from
 * app.css + admin.css. This file only owns the status table. */

.operations-page .button:disabled { opacity: .55; }

.operations-page .counts { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-bottom: var(--sv-space-6); }
.operations-page .count.healthy { box-shadow: inset 0 3px var(--sv-accent); }
.operations-page .count.degraded,
.operations-page .count.stale { box-shadow: inset 0 3px var(--sv-attention); }
.operations-page .count.failed { box-shadow: inset 0 3px var(--sv-danger); }

.errors {
  margin-bottom: var(--sv-space-6);
  padding: var(--sv-space-4) var(--sv-space-5);
  border: var(--sv-hairline-w) solid var(--sv-hairline);
  border-left: 3px solid var(--sv-danger);
  color: var(--sv-ink-secondary);
  background: var(--sv-surface-raised);
  font-size: var(--sv-text-caption);
}
.errors ul { margin: var(--sv-space-1) 0 0; padding-left: var(--sv-space-5); }

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sv-space-2);
  margin-bottom: var(--sv-space-4);
}
.chip {
  min-height: 40px;
  padding: 9px 13px;
  border: var(--sv-hairline-w) solid var(--sv-hairline-strong);
  color: var(--sv-ink-secondary);
  background: transparent;
  font-size: var(--sv-text-caption);
  font-weight: 500;
}
.chip:hover { border-color: var(--sv-hairline-max); color: var(--sv-ink); }
.chip.is-on {
  border-color: var(--sv-emphasis-surface);
  color: var(--sv-emphasis-ink);
  background: var(--sv-emphasis-surface);
}

.tablewrap {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
.grid {
  width: 100%;
  min-width: 1100px;
  border-collapse: collapse;
  font-size: var(--sv-text-caption);
}
.grid tbody tr { cursor: default; }
.grid th,
.grid td { padding: 11px 14px; vertical-align: top; }
.grid td.name {
  color: var(--sv-ink);
  overflow-wrap: anywhere;
  font-family: var(--sv-font-mono);
}
.grid td.when {
  color: var(--sv-ink-secondary);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.grid td.desc { max-width: 32ch; color: var(--sv-ink-secondary); overflow-wrap: break-word; }
.grid td.evidence { max-width: 46ch; color: var(--sv-ink-secondary); overflow-wrap: anywhere; }
.grid td.evidence ul { margin: 0; padding-left: var(--sv-space-4); }

.state { color: var(--sv-ink); font-weight: 700; white-space: nowrap; }
.state::before {
  width: 7px;
  height: 7px;
  border-radius: var(--sv-radius);
  background: var(--sv-ink-tertiary);
  content: "";
}
.state.healthy::before { background: var(--sv-accent); }
.state.degraded::before,
.state.stale::before { background: var(--sv-attention); }
.state.failed::before { background: var(--sv-danger); }

.proof { color: var(--sv-ink-secondary); white-space: nowrap; }
.unproven {
  display: inline-block;
  margin-left: var(--sv-space-1);
  padding: 1px 4px;
  border: var(--sv-hairline-w) solid var(--sv-hairline);
  color: var(--sv-ink-tertiary);
  font-size: var(--sv-text-caption);
  font-weight: 700;
  letter-spacing: var(--sv-tracking-caps);
  text-transform: uppercase;
}
.grid .empty td { padding: var(--sv-space-8); color: var(--sv-ink-tertiary); text-align: center; }

.legend { color: var(--sv-ink-tertiary); font-size: var(--sv-text-caption); }
.legend p { margin: var(--sv-space-1) 0; }
.legend b { color: var(--sv-ink-secondary); }

@media (min-width: 861px) {
  .operations-page .grid .empty { display: table-row; padding: 0; }
}

@media (max-width: 860px) {
  .operations-page .operations-panel { overflow: visible; border: 0; background: transparent; }
  .operations-page .tablewrap { overflow-x: visible; }
  .operations-page .grid { display: block; min-width: 0; background: transparent; }
  .operations-page .grid thead { display: none; }
  .operations-page .grid tbody,
  .operations-page .grid tr,
  .operations-page .grid td { display: block; width: 100%; }
  .operations-page .grid tr {
    margin-bottom: var(--sv-space-2);
    padding: var(--sv-space-2) 0;
    border: var(--sv-hairline-w) solid var(--sv-hairline);
    background: var(--sv-surface-raised);
  }
  .operations-page .grid td {
    max-width: none;
    min-width: 0;
    padding: var(--sv-space-1) var(--sv-space-3);
    border: 0;
    overflow-wrap: anywhere;
  }
  .operations-page .grid td.evidence ul { padding-left: var(--sv-space-4); }
  .operations-page .grid td[data-label]::before {
    display: block;
    color: var(--sv-ink-tertiary);
    content: attr(data-label);
    font-size: var(--sv-text-caption);
    font-weight: 700;
    letter-spacing: var(--sv-tracking-caps);
    text-transform: uppercase;
  }
}

