/* Shared card presentation from the existing patrol pool. Signal receipts keep
 * their own prices, outcomes and expandable details; no confidence is inferred.
 * Scope both modules explicitly so legacy cards and account panels are untouched.
 */
body :is(#signals-view #signal-rows .signal-card-grid, #yolo-detect-workspace #yd-findings) {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:start;
  gap:8px;
}
body :is(#signals-view #signal-rows .signal-card, #yolo-detect-workspace #yd-findings .yd-finding) {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-content:start;
  min-width:0;
  min-height:0;
  padding:8px 10px;
  gap:4px 8px;
  border:1px solid transparent;
  border-radius:8px;
  background:var(--surface);
  color:var(--text);
  text-align:left;
  font-size:12px;
  line-height:1.3;
  box-shadow:none;
  transition:background 140ms,border-color 140ms,transform 140ms;
}
body :is(#signals-view #signal-rows .signal-card, #yolo-detect-workspace #yd-findings .yd-finding):hover {
  background:var(--surface-high);
  border-color:var(--line);
  box-shadow:none;
  transform:translateY(-1px);
}
body :is(#signals-view #signal-rows .signal-card-top, #yolo-detect-workspace #yd-findings .yd-finding-head) {
  grid-column:1;
  grid-row:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  min-width:0;
}
body :is(#signals-view #signal-rows .card-symbol strong, #yolo-detect-workspace #yd-findings .yd-finding-head strong) {
  color:var(--text);
  font:600 17px var(--font-ui);
  letter-spacing:normal;
  overflow-wrap:anywhere;
}
body :is(#signals-view #signal-rows .card-symbol small, #yolo-detect-workspace #yd-findings .yd-finding-head small) {display:none}
body :is(#signals-view #signal-rows .card-timeframe, #yolo-detect-workspace #yd-findings .yd-finding-head>span) {
  flex:none;
  padding:1px 4px;
  border:0;
  border-radius:3px;
  background:var(--surface-highest);
  color:var(--muted);
  font:10px var(--mono);
  white-space:nowrap;
}
body #signals-view #signal-rows .signal-card-direction {
  grid-column:2;
  grid-row:1;
  align-self:center;
  flex-wrap:nowrap;
  gap:0;
}
body #signals-view #signal-rows .card-direction-group {
  gap:2px;
  padding:2px 4px;
  border-radius:3px;
  color:var(--muted);
  background:var(--surface-highest);
  white-space:nowrap;
}
body #signals-view #signal-rows .short .card-direction-group {color:#cf5d70;background:#ff4f731c}
body #signals-view #signal-rows .long .card-direction-group {color:#70ffba;background:#01e5991c}
body #signals-view #signal-rows :is(.card-direction,.direction-stage) {
  padding:0;
  gap:2px;
  background:none;
  color:inherit;
  font-size:10px;
  line-height:13px;
}
body #signals-view #signal-rows :is(.direction-icon,.direction-icon svg) {width:10px;height:10px;flex-basis:10px}
body #signals-view #signal-rows .signal-card-price {
  grid-column:1;
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:2px 6px;
  min-width:0;
}
body #signals-view #signal-rows .card-price-label {font-size:10px;line-height:15px;margin:0}
body #signals-view #signal-rows .card-price {font:600 11px/15px var(--mono);letter-spacing:normal}
body #signals-view #signal-rows .performance-badge {
  grid-column:2;
  align-self:start;
  justify-self:end;
  margin:0;
  padding:0;
  background:none;
  font:10px/15px var(--mono);
}
body #signals-view #signal-rows .card-performance {
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
  padding:0;
}
body #signals-view #signal-rows .card-performance>div {padding:0;border:0;border-radius:0;background:none}
body #signals-view #signal-rows .card-performance dt {font-size:10px;line-height:15px}
body #signals-view #signal-rows .card-performance dd {font:500 11px/15px var(--mono);margin:0}
body #signals-view #signal-rows .signal-row-details {grid-column:1/-1;margin:0;padding:0;border:0;min-width:0}
body #signals-view #signal-rows .signal-row-details summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:0;
  margin:0;
  min-height:18px;
  color:var(--dim);
  font:10px/15px var(--mono);
  cursor:pointer;
}
body #signals-view #signal-rows .signal-row-details summary:focus-visible {outline:2px solid var(--focus-border);outline-offset:3px}
body #signals-view #signal-rows .signal-row-details summary::after {content:'⌄';color:var(--signal-accent)}
body #signals-view #signal-rows .signal-row-details[open] summary::after {content:'⌃'}
body #signals-view #signal-rows .signal-confirmed-time {font:inherit;white-space:nowrap}
body #signals-view #signal-rows .signal-row-details[open] {display:grid;gap:6px}
body #signals-view #signal-rows .card-recency {font-size:10px;line-height:15px}
body #signals-view #signal-rows .model-card-status {flex-wrap:wrap;gap:4px;font-size:10px}
body #signals-view #signal-rows .performance-note {display:block;font-size:10px;line-height:1.5}
@media(max-width:700px) {
  body :is(#signals-view #signal-rows .signal-card-grid, #yolo-detect-workspace #yd-findings) {grid-template-columns:repeat(2,minmax(0,1fr))}
  body :is(#signals-view #signal-rows .signal-card, #yolo-detect-workspace #yd-findings .yd-finding) {padding:8px;gap:4px}
  body :is(#signals-view #signal-rows .signal-card-top, #yolo-detect-workspace #yd-findings .yd-finding-head) {grid-column:1/-1}
  body :is(#signals-view #signal-rows .card-symbol strong, #yolo-detect-workspace #yd-findings .yd-finding-head strong) {font-size:14px}
  body #signals-view #signal-rows .signal-card-direction {grid-column:1/-1;grid-row:2;justify-content:flex-start}
  body #signals-view #signal-rows :is(.signal-card-price,.performance-badge) {grid-column:1/-1;justify-self:stretch}
  body #signals-view #signal-rows .signal-card-price {justify-content:space-between}
  body #signals-view #signal-rows .signal-row-details summary {flex-wrap:wrap;gap:2px}
  body #signals-view #signal-rows .card-performance {gap:4px}
}
