body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans",
    "Helvetica Neue", sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

img {
  max-width: 40px;
  height: auto;
}

.table-container {
  width: 100%;
  overflow-x: auto;
}

table {
  min-width: 1200px;
  border-collapse: collapse;
  table-layout: fixed;
  max-width: none;
}

thead,
tr td:first-child {
  background-color: #eee;
}

tr,
td {
  width: 64px;
}

th,
td {
  border: 1px solid #ccc;
  font-weight: normal;
  font-size: 12px;
  text-align: center;
  height: 20px;
  vertical-align: middle;
  position: relative;
}

span,
input {
  position: absolute;
  inset: 0;
  vertical-align: middle;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

td:first-child {
  width: 34px;
  text-align: end;
  padding-right: 4px;
}

input {
  border: 0;
  opacity: 0;
  pointer-events: none;
  width: 100%;
}

input.editing {
  pointer-events: auto;
  opacity: 1;
  border: 0;
  outline: none;
}

td:focus-within {
  outline: 2px solid #008000;
}

td span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
  direction: rtl;
  pointer-events: none;
  padding: 0 3px;
}
