/* Set editor (SPEC §11.2) — layered on app.css + triage.css. */
.qform { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: .5rem .8rem; margin: .5rem 0; }
.qform label { display: flex; flex-direction: column; gap: .2rem; font-size: .85rem; }
.qform select, .qform input { font: inherit; padding: .25rem; }
.query summary { cursor: pointer; font-weight: 600; }
.summary { display: flex; gap: .8rem; font-size: .9rem; align-items: baseline; margin: .4rem 0; }
.summary span { opacity: .8; }
.diff { border: 1px dashed color-mix(in srgb, CanvasText 30%, transparent); border-radius: 8px; padding: .6rem; margin: .5rem 0; }
.diff .added { color: #3a7; } .diff .dropped { color: #c33; }
.cell.added { outline: 2px solid #3a7; outline-offset: -2px; }
.cell.dropped { outline: 2px solid #c33; outline-offset: -2px; opacity: .6; }
.cell.selected { border-bottom: 3px solid #3a7; }
.cell.excluded { border-bottom: 3px solid #c33; opacity: .55; }
.cell.undecided { border-bottom: 3px solid transparent; }
.cell[draggable="true"] { cursor: grab; }
.tags i.st { background: #333c; text-transform: uppercase; }
.tags i.o { background: #4448; }
tr.archived td { opacity: .5; }
