.ops-grid > div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 10px;
}

.ops-grid div div {
  border: 1px solid var(--line);
  background: #fafbf8;
  padding: 12px;
}

.ops-grid span {
  display: block;
  color: #7d8680;
  font-size: 9px;
}

.ops-grid b {
  display: block;
  font: 500 22px Georgia, serif;
  margin: 8px 0 3px;
}

.ops-grid small {
  color: #8c958f;
  font-size: 8px;
}

/* Readability scale: keep secondary information compact without tiny text. */
body {
  font-size: 14px;
  line-height: 1.55;
}

.logo small,
nav > span,
header small,
.kicker,
.metric > span,
.metric small,
.panel-title a,
.badge,
.legend,
.field label,
.source-card dt,
.run-summary span,
.ops-grid span,
.ops-grid small {
  font-size: 12px;
  line-height: 1.45;
}

nav a {
  font-size: 14px;
}

nav a i,
aside footer,
.row-actions button,
.tabs button,
.pagination,
.pagination button,
th,
td small,
.list small {
  font-size: 12px;
}

.page-head p,
.alert,
.btn,
.toolbar input,
.toolbar select,
.field input,
.field select,
.field textarea,
table,
.list li span,
#toast,
.drawer .field input,
.drawer .field select,
.drawer .field textarea,
.check-field,
.source-card dd,
.source-card details {
  font-size: 13px;
  line-height: 1.5;
}

td b {
  font-size: 14px;
}

.btn,
.row-actions button,
.tabs button,
.pagination button {
  min-height: 32px;
}

th,
td {
  padding-top: 12px;
  padding-bottom: 12px;
}

/* A few helper texts are rendered with inline sizes in legacy views. */
.panel p,
.panel ol,
#roleCards label {
  font-size: 13px !important;
  line-height: 1.55;
}
