/* D-69 / OE-D69-003 M-5 - Shared Qvix visual styles (qvix-visual.css).
   Theme tokens only. No motion. Contrast via --text/--text2/--border. */
.qv-slot{margin:8px 0;}
.qv-slot.qv-ok{margin:10px 0;}
.qv-card{
  margin:0;
  padding:12px 14px;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:8px;
  color:var(--text);
}
.qv-title{
  font-size:13px;
  font-weight:600;
  color:var(--text);
  margin:0 0 10px;
}
.qv-source{
  font-size:11px;
  font-family:'DM Mono',monospace;
  color:var(--text3);
  margin-top:8px;
}
.qv-data{margin-top:8px;font-size:12px;color:var(--text2);}
.qv-data summary{cursor:pointer;color:var(--accent);font-size:12px;}
.qv-data table{width:100%;border-collapse:collapse;margin-top:6px;}
.qv-data th,.qv-data td{
  border:1px solid var(--border);
  padding:4px 6px;
  text-align:left;
  color:var(--text2);
  font-size:11px;
}
.qv-data th{background:var(--bg4);color:var(--text);font-weight:600;}
.qv-tl{list-style:none;margin:0;padding:0;border-left:2px solid var(--border2);margin-left:6px;}
.qv-tl li{display:flex;gap:10px;padding:0 0 12px 14px;position:relative;}
.qv-tl li:last-child{padding-bottom:0;}
.qv-tl li::before{
  content:'';
  position:absolute;
  left:-5px;top:4px;
  width:8px;height:8px;border-radius:50%;
  background:var(--blue);
  border:2px solid var(--bg3);
}
.qv-when{
  flex:0 0 72px;
  font-size:11px;
  font-family:'DM Mono',monospace;
  color:var(--text3);
  padding-top:1px;
}
.qv-tl-b{flex:1;min-width:0;}
.qv-tl-b strong{display:block;font-size:13px;color:var(--text);font-weight:600;}
.qv-detail{display:block;font-size:12px;color:var(--text2);margin-top:2px;line-height:1.45;}
.qv-chart{width:100%;overflow-x:auto;}
.qv-svg{width:100%;height:auto;display:block;max-width:560px;}
.qv-grid{stroke:var(--border);stroke-width:1;}
.qv-tick{fill:var(--text3);font-size:10px;font-family:'DM Mono',monospace;}
.qv-val{fill:var(--text2);font-size:10px;font-family:'DM Mono',monospace;}
.qv-line{fill:none;stroke-width:2;}
.qv-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:12px;color:var(--text2);}
.qv-lg{display:inline-flex;align-items:center;gap:5px;}
.qv-lg i{display:inline-block;width:10px;height:10px;border-radius:2px;}
.qv-node{fill:var(--bg2);stroke:var(--border2);stroke-width:1.5;}
.qv-nlabel{fill:var(--text);font-size:11px;font-family:'Space Grotesk',sans-serif;}
.qv-edge{fill:none;stroke:var(--text3);stroke-width:1.5;}
.qv-arrow{fill:var(--text3);}
.qv-elabel{fill:var(--text3);font-size:10px;font-family:'DM Mono',monospace;}
@media (prefers-reduced-motion: reduce){
  .qv-card,.qv-slot,.qv-tl li::before{animation:none!important;transition:none!important;}
}

/* OE-D69-003 M-5 - suggested / collapsible visual_sections under the response. */
.qv-sections{margin:8px 0 4px;display:flex;flex-direction:column;gap:8px;}
.qv-suggested{
  margin:0;
  padding:0;
  background:var(--bg3);
  border:1px solid var(--border);
  border-radius:8px;
  color:var(--text);
}
.qv-suggested > .qv-card{border:0;border-radius:0 0 8px 8px;background:transparent;}
.qv-suggested-sum{
  cursor:pointer;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  font-size:12px;
  color:var(--text2);
  border-bottom:1px solid transparent;
}
.qv-suggested[open] > .qv-suggested-sum{border-bottom-color:var(--border);}
.qv-suggested-sum::-webkit-details-marker{display:none;}
.qv-suggested-label{font-weight:600;color:var(--accent);}
.qv-provenance{
  font-size:11px;
  font-family:'DM Mono',monospace;
  color:var(--text3);
  line-height:1.35;
}
@media (prefers-reduced-motion: reduce){
  .qv-suggested,.qv-sections{animation:none!important;transition:none!important;}
}
