.nhom.tab { display: flex; margin-bottom: 10px; }
.nhom.tab button { flex: 1; padding: 8px 0; font-size: 15px; }
#kqChu { width: 100%; padding: 8px; border: 1px solid var(--vien); border-radius: 6px; font: 14px/1.5 system-ui, sans-serif; }
#khungTrang { position: relative; display: inline-block; background: #fff; box-shadow: 0 1px 8px rgb(0 0 0/.35); max-width: 100%; cursor: crosshair; user-select: none; }
#phu { position: absolute; inset: 0; overflow: hidden; }
#phu .vung { position: absolute; border: 2px dashed var(--nhan); background: rgb(11 107 203 / .12); pointer-events: none; }
#phu .chuTim { position: absolute; background: rgb(255 214 0 / .35); pointer-events: none; }
.cuonBang { max-height: 340px; overflow: auto; border: 1px solid var(--vien); border-radius: 6px; background: #fff; }
.cuonBang table { border-collapse: collapse; font-size: 13px; width: 100%; }
.cuonBang td { border: 1px solid var(--vien); padding: 3px 6px; white-space: nowrap; }
.cuonBang tr:first-child td { font-weight: 600; background: #f1f5fb; }
.luoiAnh { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; max-height: 360px; overflow: auto; }
.luoiAnh label { display: block; margin: 0; padding: 4px; border: 2px solid var(--vien); border-radius: 8px; cursor: pointer; font-size: 12px; font-weight: 400; background: #fff; }
.luoiAnh label.on { border-color: var(--nhan); }
.luoiAnh canvas { width: 100%; height: 80px; object-fit: contain; background: #e9edf3; display: block; border-radius: 4px; }
