/* Data sources (#1351): one-screen health board. Verdict + host strip on top; the source list and the detail
   scroll on their own (same pattern as World events and Liquidity). Colours come from the web.css tokens. */
#view-sources.view{overflow:hidden;padding-bottom:12px}
.sh-page{height:100%;display:flex;flex-direction:column;gap:10px;max-width:1600px;margin:0 auto;padding-top:6px;min-width:0}
.sh-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sh-title{flex:1;min-width:220px}
.sh-head h1{margin:0;font-size:22px}
.sh-checked{margin:2px 0 0;font-size:12.5px;color:var(--ink-2)}
.sh-warn{color:var(--warn)}
.sh-actions{display:flex;gap:8px;flex-wrap:wrap}
.sh-copy-status{flex-basis:100%;margin:0;font-size:12.5px;color:var(--ink-2);min-height:0}
.sh-copy-status:empty{display:none}
.sh-muted{color:var(--ink-2)}
.sh-pad{padding:16px}
.sh-note{font-size:12.5px;color:var(--ink-2);margin:8px 0 0}

/* Verdict: the operator's "is anything wrong" answer, always visible. */
.sh-verdict{position:relative;border:1px solid var(--line);border-left:6px solid var(--good);border-radius:12px;background:var(--card);padding:10px 14px 10px 16px;display:flex;flex-direction:column;gap:4px}
.sh-verdict.sh-bad{border-left-color:var(--bad);background:linear-gradient(90deg,var(--bad-soft),var(--card) 60%)}
.sh-verdict.sh-warn{border-left-color:var(--warn);background:linear-gradient(90deg,var(--warn-soft),var(--card) 60%)}
.sh-verdict.sh-good{background:linear-gradient(90deg,var(--good-soft),var(--card) 60%)}
.sh-verdict-dot{display:none}
.sh-verdict>strong{font-size:18px;color:var(--ink)}
.sh-verdict>p{margin:0;font-size:13.5px;color:var(--ink-2)}
.sh-counts{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.sh-count{border:1px solid currentColor;background:var(--card);border-radius:999px;padding:4px 11px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}

.sh-count[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)!important}

/* Host strip: computer, sentinel, collector, outages, known gaps. */
.sh-host{display:flex;flex-wrap:wrap;gap:6px}
.sh-chip{font-size:12px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink-2);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.sh-chip.sh-good{color:var(--good)}.sh-chip.sh-warn{color:var(--warn);border-color:var(--warn)}.sh-chip.sh-bad{color:var(--bad);border-color:var(--bad)}

/* Tone colours shared by pills, dots, counts and findings. */
.sh-good{color:var(--good)}.sh-bad{color:var(--bad)}.sh-mute{color:var(--ink-3)}
.sh-count.sh-warn,.sh-pill.sh-warn{color:var(--warn)}
.sh-pill{display:inline-block;font-size:11.5px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid currentColor;white-space:nowrap;line-height:1.35;vertical-align:middle}

.sh-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line)}
.sh-tabs button{border:0;background:none;padding:7px 10px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--ink-2);border-bottom:2px solid transparent}
.sh-tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}

.sh-work{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,36%) minmax(0,1fr);gap:14px}
.sh-work[hidden],.sh-browse[hidden]{display:none}
.sh-browse{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}
.sh-list{display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.sh-list-head{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.sh-seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--card);flex-wrap:wrap}
.sh-seg button{border:0;background:none;padding:5px 10px;font:inherit;font-size:12.5px;cursor:pointer;color:var(--ink)}
.sh-seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.sh-find{flex:1;min-width:140px}
.sh-find input{width:100%;box-sizing:border-box;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;font-size:13px}
.sh-board{flex:1;min-height:0;overflow:auto;scrollbar-width:thin;outline:none}
.sh-group{position:sticky;top:0;z-index:1;background:var(--bg-2);font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);padding:4px 12px;border-bottom:1px solid var(--line)}
.sh-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);cursor:pointer}
.sh-row:hover{background:var(--bg)}
.sh-row[aria-selected="true"]{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
.sh-row-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.sh-row-top{display:flex;align-items:center;gap:7px;min-width:0}
.sh-row-top strong{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-row-sub{font-size:12px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-row-side{display:flex;flex-direction:column;align-items:flex-end;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
.sh-row-age{font-weight:600}
.sh-dot{width:9px;height:9px;border-radius:50%;flex:none;background:currentColor}
.sh-dot.sh-warn{color:var(--warn)}

.sh-detail{min-height:0;overflow:auto;scrollbar-width:thin;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:14px 18px}
.sh-eyebrow{margin:0;font:12px var(--mono);color:var(--ink-3);overflow-wrap:anywhere}
.sh-d-head h2{margin:2px 0 4px;font-size:21px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.sh-sentence{margin:0 0 8px;font-size:15px}
.sh-d-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}
.sh-d-actions .sh-copy-status{flex-basis:auto}
.sh-report{max-height:300px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.45 var(--mono);background:var(--bg-2);border:1px solid var(--line);border-radius:8px;padding:10px;margin:6px 0 10px}
.sh-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.sh-stat{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;background:var(--bg);min-width:0}
.sh-stat-label{font-size:12px;color:var(--ink-2)}
.sh-stat strong{font-size:18px;font-variant-numeric:tabular-nums;color:var(--ink)}
.sh-stat small{font-size:11.5px;color:var(--ink-2);overflow-wrap:anywhere}
.sh-stat.sh-bad{border-color:var(--bad)}.sh-stat.sh-bad strong{color:var(--bad)}
.sh-stat.sh-warn{border-color:var(--warn)}.sh-stat.sh-warn strong{color:var(--warn)}
.sh-box{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px}
.sh-box h3{margin:0 0 8px;font-size:14px}
.sh-box h4{margin:10px 0 4px;font-size:12.5px;color:var(--ink-2)}
.sh-findings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.sh-findings li{display:flex;flex-direction:column;gap:2px;padding-left:10px;border-left:3px solid currentColor;font-size:13.5px}
.sh-findings li>span:last-child{color:var(--ink);overflow-wrap:anywhere}
.sh-findings li.sh-warn{color:var(--warn)}
.sh-f-tag{font-size:11.5px;font-weight:700}
.sh-chips{display:flex;flex-wrap:wrap;gap:6px}
.sh-link{border:1px solid currentColor;background:var(--card);border-radius:999px;padding:4px 10px;font:inherit;font-size:12.5px;cursor:pointer}
.sh-link.sh-warn{color:var(--warn)}
.sh-dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:3px 12px;margin:0;font-size:12.5px}
.sh-dl dt{color:var(--ink-2)}
.sh-dl dd{margin:0;overflow-wrap:anywhere;font-family:var(--mono);font-size:12px}
.sh-stderr summary,.sh-tech>summary{cursor:pointer;font-size:13px;font-weight:600}
.sh-stderr pre{max-height:220px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:11.5px/1.45 var(--mono);background:var(--bg-2);border-radius:8px;padding:8px;margin:6px 0 0}

@media(max-width:1100px){#view-sources.view{overflow:auto}.sh-page{height:auto}.sh-work{grid-template-columns:1fr}.sh-list{max-height:420px}.sh-detail{overflow:visible}.sh-browse{overflow:visible}}
@media(max-width:700px){.sh-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.sh-dl{grid-template-columns:1fr}.sh-dl dt{margin-top:4px}.sh-detail{padding:12px}.sh-actions{width:100%}.sh-actions .btn{flex:1;justify-content:center}.sh-verdict>strong{font-size:16px}}
.sh-tag{flex:none;font-size:10.5px;font-weight:600;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:0 6px;white-space:nowrap;line-height:1.5}
.sh-reach{font-size:11px}
.sh-stat.sh-mute strong{color:var(--ink-2)}
.sh-row-top strong{min-width:0}
