/* Scoped attendance workspace cleanup; the existing attendance API and marks stay unchanged. */
#experience-attendance-view #attendance-widget {
  overflow: visible;
}

#experience-attendance-view .experience-attendance-heading {
  margin-bottom: 1.25rem;
}

#experience-attendance-view .experience-attendance-heading > p:last-of-type {
  max-width: 42rem;
  margin-top: .5rem;
}

#experience-attendance-view .experience-attendance-class {
  max-width: 32rem;
  margin-top: 1rem;
}

#experience-attendance-view .experience-attendance-controls {
  grid-template-columns: minmax(10rem, 1fr) auto minmax(10rem, 1fr);
  gap: 1rem;
  align-items: end;
  margin-bottom: 1.25rem;
}

#experience-attendance-view .experience-attendance-session > div {
  gap: .25rem;
  padding: .25rem;
  border: 1px solid var(--experience-line, #d3dcdd);
  border-radius: .625rem;
}

#experience-attendance-view .experience-attendance-session button {
  min-width: 6rem;
  min-height: 2.75rem;
  border: 1px solid transparent;
  border-radius: .4rem;
  padding: .5rem .75rem;
  font-size: .875rem;
  line-height: 1.25;
  white-space: nowrap;
}

#experience-attendance-view .experience-attendance-session button:focus-visible,
#experience-attendance-view .attendance-mark-choice:focus-visible {
  outline: 3px solid var(--accent-primary, #76682b);
  outline-offset: 2px;
}

#experience-attendance-view #attendance-summary {
  padding: .75rem 1rem;
  border-radius: .5rem;
  background: var(--bg-subtle, #f4f6f5);
}

#experience-attendance-view #attendance-list {
  display: grid;
  gap: .5rem;
}

#experience-attendance-view .attendance-row {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) auto auto;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  padding: .625rem .75rem;
  border: 1px solid var(--experience-line, #d3dcdd);
  border-radius: .625rem;
  background: var(--bg-surface, #fff);
}

#experience-attendance-view .attendance-student-name {
  min-width: 0;
  font-size: .9375rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#experience-attendance-view .attendance-row.is-not-scheduled {
  background: var(--bg-subtle, #f4f6f5);
}

#experience-attendance-view .attendance-mark-controls {
  display: flex;
  flex-wrap: wrap;
  gap: .375rem;
}

#experience-attendance-view .attendance-mark-choice {
  min-width: 4.5rem;
  min-height: 2.5rem;
  padding: .4rem .6rem;
  border: 1px solid var(--experience-line, #b8c4c7);
  border-radius: .5rem;
  background: var(--bg-surface, #fff);
  color: var(--text-dark, #172d3a);
  font-size: .8125rem;
  font-weight: 650;
  line-height: 1.2;
  cursor: pointer;
}

#experience-attendance-view .attendance-mark-choice:not(.is-selected):hover {
  background: var(--bg-subtle, #f4f6f5);
}

#experience-attendance-view .attendance-mark-choice:disabled {
  cursor: default;
  opacity: .72;
}

#experience-attendance-view .attendance-mark-clear {
  min-height: 2.5rem;
  padding: .4rem .35rem;
  border: 0;
  border-radius: .4rem;
  background: transparent;
  color: var(--heading-ink-soft, #52636d);
  font-size: .75rem;
  text-decoration: underline;
  cursor: pointer;
}

#experience-attendance-view .attendance-mark-clear:focus-visible {
  outline: 3px solid var(--accent-primary, #76682b);
  outline-offset: 2px;
}

#experience-attendance-view .attendance-mark-clear:disabled { cursor: default; opacity: .72; }

#experience-attendance-view .attendance-row-save-status {
  min-width: 5.25rem;
  color: var(--heading-ink-soft, #52636d);
  font-size: .75rem;
  line-height: 1.35;
  text-align: right;
}

#experience-attendance-view .experience-attendance-export {
  margin-top: 1.5rem;
  padding-top: 1rem;
}

@media (max-width: 640px) {
  #experience-attendance-view #attendance-widget { padding: 1rem; }
  #experience-attendance-view .experience-attendance-controls {
    grid-template-columns: minmax(0, 1fr);
    gap: .75rem;
  }
  #experience-attendance-view .experience-attendance-session,
  #experience-attendance-view .experience-attendance-days { grid-column: auto; grid-row: auto; }
  #experience-attendance-view .attendance-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: .5rem;
    padding: .625rem;
  }
  #experience-attendance-view .attendance-mark-controls {
    grid-column: 1 / -1;
    grid-row: 2;
  }
  #experience-attendance-view .attendance-row-save-status {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    text-align: right;
  }
  #experience-attendance-view .attendance-mark-choice { flex: 1 1 4rem; }
}

@media (max-width: 380px) {
  #experience-attendance-view .attendance-mark-choice { min-width: 0; }
}
