/* Live screening tab (owned by the screening workstream). Light theme only. Addresses and hashes
   wrap with overflow-wrap: break-word, which splits a token only when it cannot fit a line. */

.s-input > * + * { margin-top: 12px; }
.s-formrow input { flex: 1 1 320px; font-family: var(--mono); }
.s-ex .btn { white-space: normal; text-align: left; }
.s-opt .chips { min-width: 0; }
.s-chain { display: inline-flex; gap: 6px; align-items: center; }
.s-failtest .chips { margin-top: 6px; }
.s-failtest p { margin: 6px 0 0; }

.s-hash { font-family: var(--mono); font-size: .8rem; overflow-wrap: break-word; }
.s-warn { color: var(--warn); }
.s-h2 { margin-top: 16px; }
.s-h3 { margin: 14px 0 0; font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); }
.s-res { align-items: start; }
.s-col > * + * { margin-top: 14px; }
.s-ul { margin: 4px 0 0; padding-left: 18px; }
.s-kv > div { padding: 6px 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 10px; }
.s-kv > div:last-child { border-bottom: 0; }
.s-kv .lbl { padding-top: 2px; }
.srcrow .d + .d { margin-top: 2px; }
.s-nw, .s-num { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* sources table */
table.s-src { min-width: 1380px; table-layout: fixed; }
table.s-src th:nth-child(1) { width: 230px; }
table.s-src th:nth-child(2) { width: 110px; }
table.s-src th:nth-child(3) { width: 104px; }
table.s-src th:nth-child(4) { width: 96px; }
table.s-src th:nth-child(5) { width: 150px; }
table.s-src th:nth-child(7) { width: 210px; }
table.s-src th:nth-child(8) { width: 220px; }

/* batch */
.s-brow { margin-top: 10px; }
.s-file { position: relative; overflow: hidden; }
.s-file input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.s-metrics { margin: 8px 0 4px; }
.s-mhit b { color: var(--hit); }
.s-mok b { color: var(--ok); }
.s-minc b { color: var(--warn); }
.s-skip { margin-top: 8px; }
.s-bwrap { max-height: 72vh; }
table.s-batch { min-width: 1560px; table-layout: fixed; }
table.s-batch th:last-child { width: 420px; }
table.s-batch th:nth-child(1) { width: 250px; }
table.s-batch th:nth-child(2) { width: 112px; }
table.s-batch th:nth-child(3) { width: 150px; }
table.s-batch th:nth-child(n+4):nth-last-child(n+2) { width: 112px; }
table.s-batch td .pill { white-space: nowrap; }
table.s-batch thead th, table.s-src thead th { white-space: normal; word-break: keep-all; }
table.s-batch tbody tr.s-rhit td { background: #fff7f6; }
table.s-batch tbody tr.s-rinc td { background: #fffaf0; }
table.s-batch tbody tr.s-rhit:hover td { background: #fdeeec; }
table.s-batch tbody tr.s-rinc:hover td { background: #fff3dd; }
@media (max-width: 640px) {
  table.s-batch th:nth-child(1), table.s-src th:nth-child(1) { width: 170px; }
  .s-kv > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
}

/* printable report: hidden on screen, the only thing printed while a print is in progress */
#s-print { display: none; }
@media print {
  @page { margin: 14mm; }
  body.s-printing > *:not(#s-print) { display: none !important; }
  body.s-printing { background: #fff; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body.s-printing #s-print { display: block; color: #000; font: 10.5pt/1.45 var(--sans); }
  #s-print h1 { font-size: 16pt; margin: 0 0 4px; }
  #s-print h2 { font-size: 12pt; margin: 16px 0 6px; border-bottom: 1px solid #999; padding-bottom: 2px; }
  #s-print h3 { font-size: 10.5pt; margin: 10px 0 4px; }
  #s-print p { margin: 0 0 6px; }
  #s-print table { border-collapse: collapse; width: 100%; margin: 4px 0 8px; }
  #s-print table.sp-src { table-layout: fixed; }
  #s-print th, #s-print td { border: 1px solid #bbb; padding: 4px 6px; text-align: left; vertical-align: top; font-size: 9pt; }
  #s-print thead { display: table-header-group; }
  #s-print tr, .sp-subj h3 { break-inside: avoid; }
  #s-print .sp-kv th { width: 130px; background: #f2f2f2; }
  #s-print .sp-addr { font-family: var(--mono); font-size: 8.5pt; overflow-wrap: break-word; }
  #s-print .sp-m { color: #444; font-size: 8.5pt; }
  #s-print .sp-v { display: inline-block; border: 1px solid #000; padding: 0 6px; font-size: 9pt; margin-right: 6px; }
  #s-print .sp-match { background: #fde2df; }
  #s-print .sp-clear { background: #dff2e6; }
  #s-print .sp-incomplete { background: #fff0cc; }
}
