/* Shared comparison picker: visible selections, direct search, and compact saved sets. */
.comparison-picker-dialog { width:min(800px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); gap:9px; padding:12px; }
.comparison-picker-dialog .comparison-heading { margin:0; min-height:30px; }
.comparison-picker-dialog .comparison-heading > div { flex-direction:row; align-items:baseline; gap:4px 10px; }
.comparison-picker-dialog .comparison-controls { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:8px; }
.comparison-picker-dialog .comparison-controls label,.comparison-picker-dialog .comparison-controls select { min-width:0; width:100%; }
.comparison-picker-dialog .comparison-controls select { height:33px; }
.comparison-picker-dialog .comparison-selection { padding:10px; min-height:0; }
.comparison-picker-dialog .comparison-selection-heading { align-items:flex-start; margin-bottom:7px; }
.comparison-picker-dialog .comparison-selection-heading strong { flex-direction:column; gap:3px; }
.comparison-selection-tools { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.comparison-selection-tools button,.comparison-picker-tabs button { border:1px solid var(--line); border-radius:5px; background:var(--panel); color:var(--muted); font:inherit; font-size:11px; cursor:pointer; padding:5px 8px; white-space:nowrap; }
.comparison-selection-tools button:hover,.comparison-picker-tabs button:hover { color:var(--accent); border-color:var(--accent); }
.comparison-selection-tools button:disabled { opacity:.4; cursor:default; }
.comparison-picker-dialog .comparison-slot-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.comparison-selected-slot { position:relative; min-width:0; border:1px dashed var(--line); border-radius:8px; background:var(--panel); }
.comparison-selected-slot.filled { border-style:solid; }
.comparison-selected-slot.active { border-color:var(--accent); box-shadow:0 0 0 1px var(--accent); }
.comparison-slot-select { display:flex; align-items:flex-start; flex-direction:column; gap:2px; width:100%; min-width:0; min-height:64px; padding:7px 32px 7px 10px; border:0; border-radius:8px; text-align:left; background:transparent; color:var(--text); cursor:pointer; }
.comparison-slot-select b,.comparison-slot-select small { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.comparison-slot-select b { font-size:12px; }
.comparison-slot-select small { font-size:10px; color:var(--muted); }
.comparison-slot-axis { font-size:10px; color:var(--accent); }
.comparison-slot-remove { position:absolute; top:8px; right:7px; display:grid; place-items:center; width:23px; height:23px; border:0; border-radius:5px; background:transparent; color:var(--muted); font-size:18px; cursor:pointer; }
.comparison-slot-remove:hover { background:var(--panel2); color:var(--text); }
.comparison-picker-search { display:flex; align-items:center; gap:10px; }
.comparison-picker-search label { flex:0 0 auto; font-size:12px; font-weight:600; }
.comparison-picker-search input { width:100%; min-width:0; box-sizing:border-box; height:33px; border:1px solid var(--line); border-radius:6px; padding:0 10px; background:var(--panel2); color:var(--text); font:inherit; font-size:12px; }
.comparison-picker-search input:focus { outline:1px solid var(--accent); border-color:var(--accent); }
.comparison-picker-tabs { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:-4px; }
.comparison-picker-tabs button { padding:4px 10px; border-radius:14px; border-color:transparent; }
.comparison-picker-tabs button.active { background:var(--accent); color:#fff; }
.comparison-picker-tabs small { margin-left:auto; font-size:10px; color:var(--muted); }
.comparison-candidates { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; min-height:46px; max-height:190px; overflow:auto; overscroll-behavior:contain; padding:1px; }
.comparison-candidate { display:flex; align-items:center; justify-content:space-between; min-width:0; gap:6px; min-height:48px; padding:7px 9px; border:1px solid var(--line); border-radius:6px; background:var(--panel2); color:var(--text); text-align:left; cursor:pointer; }
.comparison-candidate > span { display:flex; min-width:0; flex-direction:column; gap:3px; }
.comparison-candidate b,.comparison-candidate small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.comparison-candidate b { font-size:11px; }
.comparison-candidate small { font-size:10px; color:var(--muted); }
.comparison-candidate em { flex:0 0 auto; font-style:normal; font-size:13px; color:var(--accent); }
.comparison-candidate:hover:not(:disabled),.comparison-candidate:focus-visible { border-color:var(--accent); outline:1px solid var(--accent); }
.comparison-candidate.selected { opacity:.55; cursor:default; }
.comparison-candidate.selected em { font-size:10px; color:var(--muted); }
.comparison-picker-dialog .comparison-empty { margin:0; padding:12px 8px; align-self:center; }
.comparison-saved-details { border-top:1px solid var(--line); padding-top:9px; }
.comparison-saved-details summary { color:var(--muted); font-size:11px; cursor:pointer; }
.comparison-saved-details[open] summary { margin-bottom:8px; }
.comparison-picker-dialog .comparison-actions { border-top:1px solid var(--line); padding-top:8px; }
.comparison-picker-dialog .comparison-run { min-height:34px; min-width:100px; }
.comparison-picker-dialog .comparison-run:disabled { cursor:default; }
@media(max-width:640px) {
  .comparison-picker-dialog { padding:10px; gap:8px; }
  .comparison-picker-dialog .comparison-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .comparison-picker-dialog .comparison-selection-heading { flex-direction:column; gap:7px; }
  .comparison-selection-tools { justify-content:flex-start; }
  .comparison-candidates { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .comparison-picker-search { gap:7px; }
  .comparison-picker-tabs small { flex-basis:100%; margin-left:0; }
}
@media(max-width:370px) {
  .comparison-picker-dialog .comparison-slot-list { grid-template-columns:1fr; }
  .comparison-slot-select { min-height:65px; }
  .comparison-picker-search { align-items:stretch; flex-direction:column; }
}
