/* Ops board — phone-first, counts never verdicts.
   Design constraint carried in the stylesheet itself: there are no rate bars,
   no trend arrows, no red/green judgment classes here. Numbers are buttons
   because numbers carry evidence, not because they carry feelings. */

.ops-h1 { margin-bottom: 2px; }
.ops-anchor {
  color: var(--sky);
  font-size: .82rem;
  font-variant-numeric: tabular-nums;
  margin: 6px 0 20px;
}
.ops-anchor a { color: var(--sky); }
.ops-anchor b { color: var(--ink); font-weight: 600; }

/* tabs */
.ops-tabs {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  border-top: 1px solid var(--hairline);
  border-bottom: 1px solid var(--hairline);
  margin-bottom: 22px;
}
.ops-tabs a {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  padding: 10px 10px;
  white-space: nowrap;
}
/* all six rooms visible on one phone — a hidden tab is a hidden room */
@media (max-width: 470px) {
  .ops-tabs { justify-content: space-between; gap: 0; }
  .ops-tabs a { font-size: .62rem; letter-spacing: .07em; padding: 10px 4px; }
}
.ops-tabs a[aria-current="true"] {
  color: var(--ink);
  box-shadow: inset 0 -2px 0 var(--accent);
}

/* rows & cards */
.ops-view h2 {
  font-family: "DM Serif Display", Georgia, serif;
  font-weight: 400;
  font-size: 1.3rem;
  margin: 26px 0 6px;
}
.ops-view h2:first-child { margin-top: 0; }
.ops-kicker {
  color: var(--muted);
  font-size: .78rem;
  max-width: 60ch;
  margin-bottom: 10px;
}
.row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid var(--hairline);
}
.row:last-of-type { border-bottom: 1px solid var(--hairline); }
.row .l { color: var(--muted); font-size: .9rem; min-width: 0; }
.row .l b { color: var(--ink); font-weight: 600; }
.row .l small { display: block; color: var(--muted); font-size: .72rem; letter-spacing: .04em; }
.row .r { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }

/* the number-as-evidence */
button.num {
  font: inherit;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
  background: none;
  border: none;
  border-bottom: 1px dotted var(--accent);
  padding: 0 1px 1px;
  cursor: pointer;
}
button.num:hover { color: var(--accent); }
.num-unit { color: var(--muted); font-size: .74rem; margin-left: 4px; letter-spacing: .06em; }
.zero-note { color: var(--muted); font-size: .84rem; font-style: italic; }

/* today strip */
.strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 8px 0 4px;
}
.strip > div {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: 3px;
  padding: 10px 8px 8px;
  text-align: center;
}
.strip dt {
  color: var(--muted);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.strip dd { margin-top: 2px; font-size: 1.15rem; }
@media (max-width: 420px) { .strip { grid-template-columns: repeat(2, 1fr); } }

/* clock */
.clock-row .date { color: var(--ink); font-weight: 600; font-size: .92rem; }
.clock-row .fw {
  display: inline-block;
  color: var(--sky);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  border: 1px solid var(--hairline);
  border-radius: 3px;
  padding: 1px 6px;
  margin-left: 8px;
  vertical-align: 1px;
}
.clock-row .until { color: var(--ink); }

/* tables (funnel / shelf / clients) */
.ops-tablewrap { overflow-x: auto; }
table.ops {
  width: 100%;
  border-collapse: collapse;
  font-size: .88rem;
  font-variant-numeric: tabular-nums;
}
table.ops th {
  text-align: right;
  color: var(--muted);
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 8px 0 8px 12px;
  border-bottom: 1px solid var(--hairline);
}
table.ops th:first-child, table.ops td:first-child { text-align: left; padding-left: 0; }
table.ops td {
  padding: 9px 0 9px 12px;
  border-bottom: 1px solid var(--hairline);
  color: var(--muted);
  text-align: right;
}
table.ops td:first-child { color: var(--ink); }
table.ops tr.total td { color: var(--ink); }

/* provenance sheet */
#sheet-backdrop {
  position: fixed; inset: 0;
  background: rgba(5, 7, 10, .62);
  z-index: 40;
}
#sheet {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  max-height: 72vh;
  overflow-y: auto;
  background: var(--surface);
  border-top: 1px solid var(--hairline);
  z-index: 41;
  padding: 14px 22px 34px;
}
@media (min-width: 700px) {
  #sheet { left: 50%; right: auto; transform: translateX(-50%); width: 620px; border: 1px solid var(--hairline); border-radius: 6px 6px 0 0; }
}
.sheet-head { display: flex; justify-content: space-between; align-items: baseline; }
.sheet-head h2 {
  font-family: "DM Serif Display", Georgia, serif;
  font-weight: 400;
  font-size: 1.15rem;
}
#sheet-close {
  font: inherit; font-size: .72rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--muted); background: none;
  border: 1px solid var(--hairline); border-radius: 3px;
  padding: 4px 10px; cursor: pointer;
}
#sheet-close:hover { color: var(--ink); }
#sheet-body dl { margin: 12px 0 6px; }
#sheet-body dt {
  color: var(--muted);
  font-size: .62rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase;
  margin-top: 12px;
}
#sheet-body dd { color: var(--ink); font-size: .9rem; margin-top: 2px; }
#sheet-body dd.soft { color: var(--muted); }
.ev-list { list-style: none; margin: 6px 0 0; font-size: .78rem; font-variant-numeric: tabular-nums; }
.ev-list li { padding: 5px 0; border-top: 1px solid var(--hairline); color: var(--muted); display: flex; gap: 10px; justify-content: space-between; }
.ev-list .en { color: var(--ink); }
.src-line { color: var(--muted); font-size: .72rem; margin-top: 14px; letter-spacing: .04em; }

.ops-fineprint {
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.75;
  max-width: 64ch;
  margin-top: 40px;
  border-top: 1px solid var(--hairline);
  padding-top: 20px;
}
.ops-fineprint b { color: var(--ink); font-weight: 600; }
