.attendance-registration-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-end;
}

.attendance-registration-field-inline {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.attendance-registration-field-inline span {
  font-size: 13px;
  font-weight: 700;
  color: var(--muted);
}

.attendance-registration-regtype-checks {
  display: flex;
  gap: 12px;
  align-items: center;
}

.attendance-registration-modal-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px;
}

.attendance-registration-table-scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  overscroll-behavior-inline: contain;
}

.attendance-registration-table {
  min-width: 860px;
  background: var(--panel);
}

.attendance-registration-table th,
.attendance-registration-table td {
  padding: 11px 10px;
  white-space: nowrap;
  vertical-align: middle;
}

.attendance-registration-table th {
  background: var(--soft);
}

.attendance-registration-matrix {
  min-width: 640px;
  background: var(--panel);
}

.attendance-registration-matrix th,
.attendance-registration-matrix td {
  padding: 10px;
  vertical-align: middle;
}

.attendance-registration-matrix th {
  background: var(--soft);
  white-space: nowrap;
}

.attendance-registration-matrix td:first-child,
.attendance-registration-matrix th:first-child {
  white-space: nowrap;
  font-weight: 800;
}

.attendance-registration-matrix-cell {
  display: grid;
  gap: 5px;
  min-width: 84px;
}

.attendance-registration-matrix-cell strong {
  color: var(--text);
  font-size: 13px;
}

.attendance-registration-matrix-mini-bar {
  width: 100%;
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--soft);
}

.attendance-registration-matrix-mini-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--brand);
}

.attendance-registration-matrix-mini-bar.good span {
  background: #0f766e;
}

.attendance-registration-matrix-mini-bar.warn span {
  background: #b45309;
}

.attendance-registration-matrix-mini-bar.bad span {
  background: #b42318;
}

.attendance-registration-detail-toggle {
  margin-top: 16px;
}

.attendance-registration-detail-toggle summary {
  cursor: pointer;
  font-weight: 800;
  color: var(--muted);
  padding: 6px 0;
}

.attendance-registration-detail-toggle .attendance-registration-table-scroll {
  margin-top: 10px;
}

.attendance-registration-edit-mode-toggle {
  display: inline-flex;
  margin-top: 8px;
}
