/* Evaluator Record — /tech/evaluator-record/ and /tech/evaluator-record/<slug>/
   (layouts/tech/evaluator-record-index.html, evaluator-record.html). Scoped to .esc-root, which also
   carries .obs-root so the observatory's table, coverage and "not stated" styles apply unchanged
   (observatory.css is linked first). Only the record's own pieces are here: the header card, the
   engagement timeline, the terms grid, the findings and the outcome kinds. Tokens point at main.css. */
.esc-root { --kind-incident: var(--accent-text); --kind-correction: var(--signal-amber); --kind-contradiction: #B07CFF;
            --kind-override: var(--accent-text); --kind-acted: #44cc88; --kind-staff-move: #4C8DFF; }

/* ── header card ── */
.esc-card { margin: 1.4rem 0 2rem; background: var(--bg-surface); border: 1px solid var(--border-chrome); border-radius: 4px; overflow: hidden; }
.esc-card-head { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; padding: .65rem 1rem; background: var(--bg-elevated); border-bottom: 1px solid var(--border); font-family: var(--font-mono); }
.esc-card-title { color: var(--text-bright); font-weight: 700; font-size: .78rem; letter-spacing: .18em; }
.esc-card-head .obs-type { margin-left: .2rem; }
.esc-card-head .esc-stamp { margin-left: auto; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); border: 1px solid var(--border); padding: .2rem .5rem; white-space: nowrap; }
.esc-facts { list-style: none; margin: 0; padding: .7rem 1rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr)); gap: .45rem 1.2rem; font-size: .84rem; }
.esc-facts li { display: grid; gap: .1rem; }
.esc-facts dt, .esc-facts li > span:first-child { font-family: var(--font-mono); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); }
.esc-facts li > span:last-child { color: var(--text); line-height: 1.4; }
.esc-tiles { list-style: none; margin: 0; padding: 0 1rem .9rem; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .5rem; }
.esc-tiles a { display: grid; gap: .1rem; padding: .55rem .5rem; background: var(--bg); border: 1px solid var(--border); border-top: 2px solid var(--accent); border-radius: 3px; text-align: center; border-bottom-width: 1px; }
.esc-tiles a:hover { border-color: var(--accent); }
.esc-tiles b { font-family: var(--font-mono); font-size: 1.25rem; color: var(--text-bright); line-height: 1.1; }
.esc-tiles a > span { font-family: var(--font-mono); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-text); }
.esc-legend { margin: 0; padding: 0 1rem .8rem; font-size: .8rem; color: var(--text-muted); line-height: 1.5; }
/* the summary: what the record holds, each value a link into the slice */
.esc-summary { margin: 0 1rem .9rem; padding: .7rem .9rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: .6rem 1.4rem; background: var(--bg); border: 1px solid var(--border); border-left: 3px solid var(--signal-amber); border-radius: 3px; font-size: .84rem; }
.esc-summary > div { display: grid; gap: .2rem; align-content: start; }
.esc-summary dt { font-family: var(--font-mono); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--signal-amber); }
.esc-summary dd { margin: 0; color: var(--text); line-height: 1.5; display: flex; flex-wrap: wrap; gap: .25rem .35rem; align-items: center; }
.esc-summary dd b { color: var(--text-bright); }
.esc-summary dd em { font-style: normal; color: var(--text-muted); }
.esc-summary dd .obs-note { width: 100%; }
.esc-summary a.obs-fv { color: var(--text-bright); }
.esc-sidecount { font-family: var(--font-mono); font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); display: inline-flex; gap: .3rem; align-items: center; }
.esc-tags { display: flex; flex-wrap: wrap; gap: .3rem; }
.esc-tags .er-chip { color: var(--text); }
.esc-tags a.obs-fv-tag.is-on .er-chip { border-color: var(--accent); color: var(--text-bright); background: var(--accent-glow); }

/* ── engagement timeline ── */
.esc-tl { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--border-chrome); }
.esc-tl > li { position: relative; margin: 0 0 1rem; padding: 0 0 0 1.3rem; }
.esc-tl > li::before { content: ""; position: absolute; left: -7px; top: .55rem; width: 12px; height: 12px; border-radius: 50%; background: var(--bg); border: 2px solid var(--accent); }
.esc-tl > li.is-undated::before { border-color: var(--text-muted); }
.esc-ev { background: var(--bg-surface); border: 1px solid var(--border); border-radius: 4px; padding: .7rem .9rem .8rem; display: grid; gap: .45rem; }
.esc-ev-head { display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; }
.esc-ev-when { font-family: var(--font-mono); font-size: .72rem; color: var(--signal-amber); letter-spacing: .06em; white-space: nowrap; }
.esc-ev-what { font-weight: 700; color: var(--text-bright); font-size: .98rem; }
.esc-ev-what i { font-style: normal; color: var(--text-muted); font-weight: 400; }
.esc-ev-head .obs-role { margin-left: auto; }
.esc-ev-doc { font-size: .82rem; color: var(--text-muted); }
.esc-terms { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem .8rem; border-top: 1px dashed var(--border); padding-top: .5rem; }
.esc-terms li { display: grid; gap: .12rem; font-size: .8rem; line-height: 1.4; }
.esc-terms li > span:first-child { font-family: var(--font-mono); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted); }
.esc-terms li > span:last-child { color: var(--text); }
.esc-terms li.is-na > span:last-child { color: var(--text-muted); }
.esc-finding { margin: 0; padding: .5rem .8rem; border-left: 3px solid var(--signal-amber); background: rgba(232,163,61,.07); font-size: .86rem; line-height: 1.5; color: var(--text); }
.esc-finding b { display: block; font-family: var(--font-mono); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; color: var(--signal-amber); margin-bottom: .2rem; font-weight: 700; }
.esc-after { display: flex; gap: .35rem; flex-wrap: wrap; align-items: center; font-size: .74rem; color: var(--text-muted); }
.esc-after a { border-bottom: none; }
.esc-ev-foot { display: flex; gap: .8rem; flex-wrap: wrap; font-size: .74rem; color: var(--text-muted); align-items: baseline; }
.esc-ev-foot .obs-id { margin-left: auto; }

/* ── outcome kinds ── */
.esc-kind { display: inline-block; font-family: var(--font-mono); font-size: .6rem; letter-spacing: .1em; text-transform: uppercase; padding: .15rem .45rem; border: 1px solid var(--k, var(--border-chrome)); color: var(--k, var(--text)); border-radius: 2px; white-space: nowrap; }
.esc-kind-incident { --k: var(--kind-incident); } .esc-kind-correction { --k: var(--kind-correction); } .esc-kind-contradiction { --k: var(--kind-contradiction); }
.esc-kind-override { --k: var(--kind-override); } .esc-kind-acted { --k: var(--kind-acted); } .esc-kind-staff-move { --k: var(--kind-staff-move); }
.esc-kinds { list-style: none; margin: 0 0 .8rem; padding: 0; display: flex; gap: .4rem; flex-wrap: wrap; }
.esc-kinds li { font-family: var(--font-mono); font-size: .66rem; color: var(--text-muted); display: inline-flex; gap: .4rem; align-items: center; }
.esc-kinds li b { color: var(--text-bright); }
.esc-via { display: block; font-family: var(--font-mono); font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); margin-top: .2rem; }
.esc-quote { font-size: .84rem; line-height: 1.5; max-width: 60ch; }

/* ── findings list ── */
.esc-findings { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.esc-findings li { display: grid; gap: .3rem; }
.esc-findings .esc-finding { font-size: .9rem; }
.esc-findings .esc-src { font-size: .74rem; color: var(--text-muted); }

/* ── index table ── */
.esc-index .obs-table td a.esc-rec { color: var(--text-bright); font-weight: 600; }
.esc-num { font-family: var(--font-mono); text-align: right; white-space: nowrap; }
.esc-labs { font-size: .76rem; color: var(--text-muted); }

/* ── empty sections say so ── */
.esc-none { margin: .3rem 0 0; font-family: var(--font-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }

@media (max-width: 900px) {
  .esc-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .esc-terms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .esc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .esc-terms { grid-template-columns: 1fr; }
  .esc-card-head .esc-stamp { margin-left: 0; }
  .esc-ev-head .obs-role { margin-left: 0; }
  .esc-tl > li { padding-left: 1rem; }
}
