.deadline-toolbar { display: flex; gap: .65rem 1rem; align-items: center; flex-wrap: wrap; margin: 1rem 0; font-size: .875rem; }
#progress-message { opacity: .8; }
.deadline-overlay { display: block; margin-top: .4rem; line-height: 1.45; }
.deadline-overlay [hidden], .deadline-overlay[hidden] { display: none; }
.deadline-status { display: inline-block; border: 1px solid currentColor; border-radius: .3rem; padding: .1rem .4rem; font-size: .75rem; font-weight: 600; }
.deadline-personal-date, .survey-deadline { display: block; font-size: .8rem; margin-top: .3rem; }
.deadline-overlay.is-submitted .deadline-status {
  color: #3d3000;
  background: #f2c94c;
  border-color: #d0a91f;
}
.deadline-overlay.is-full-score .deadline-status {
  color: #fff;
  background: #3b8f56;
  border-color: #3b8f56;
}
.deadline-overlay.is-overdue { color: #a83232; }
html[data-theme="dark"] .deadline-overlay.is-submitted:not(.is-full-score) .deadline-status,
body.dark-mode .deadline-overlay.is-submitted:not(.is-full-score) .deadline-status {
  color: #211a00;
  background: #d9b63f;
  border-color: #d9b63f;
}
html[data-theme="dark"] .deadline-overlay.is-full-score .deadline-status,
body.dark-mode .deadline-overlay.is-full-score .deadline-status {
  color: #fff;
  background: #459f62;
  border-color: #459f62;
}
html[data-theme="dark"] .deadline-overlay.is-overdue, body.dark-mode .deadline-overlay.is-overdue { color: #ffaaaa; }

.deadline-toolbar [hidden] { display: none; }
#deadline-sync-controls { display: inline-flex; gap: .65rem 1rem; align-items: center; flex-wrap: wrap; }
#deadline-sync-controls[hidden] { display: none; }

#deadline-checklist { list-style: none; padding: 0; margin-top: 1.5rem; }
#deadline-checklist > li::before { display: none; content: none; }
.deadline-checklist-item {
  display: grid;
  grid-template-columns: 1.25rem minmax(12rem, 1fr) auto;
  gap: .35rem 1rem;
  align-items: center;
  padding: 1rem;
  margin-bottom: .75rem;
  border: 1px solid rgba(128, 128, 128, .3);
  border-radius: .45rem;
}
.deadline-checklist-item[hidden] { display: none; }
.deadline-check-marker {
  width: 1rem;
  height: 1rem;
  border: 2px solid currentColor;
  border-radius: .2rem;
  grid-row: 1 / span 2;
}
.deadline-checklist-item.is-submitted .deadline-check-marker {
  border-color: #d0a91f;
  background: #f2c94c;
  box-shadow: inset 0 0 0 2px #fff;
}
.deadline-checklist-item.is-full-score .deadline-check-marker {
  border-color: #3b8f56;
  background: #3b8f56;
  box-shadow: inset 0 0 0 2px #fff;
}
.deadline-checklist-title { font-weight: 600; }
.deadline-checklist-kind { font-size: .8rem; opacity: .7; text-transform: uppercase; }
.deadline-checklist-date { text-align: right; }
.deadline-checklist-item .deadline-overlay { grid-column: 2 / 4; margin-top: 0; }
@media (max-width: 38rem) {
  .deadline-checklist-item { grid-template-columns: 1.25rem 1fr; }
  .deadline-checklist-date { grid-column: 2; text-align: left; }
  .deadline-checklist-item .deadline-overlay { grid-column: 2; }
}
