.deadline-notices { max-width: 1040px; display: grid; gap: .7rem; margin-top: .8rem; }
.deadline-notices-message { border: 1px solid var(--border); padding: .55rem .8rem; border-radius: .45rem; }
.deadline-notices-message:empty { display: none; }
.deadline-notices-message.error { background: var(--danger-bg); color: var(--danger-text); }
.deadline-notices-filters { display: flex; flex-wrap: wrap; align-items: end; gap: .55rem; }
.deadline-notices-filters .field { min-width: min(100%, 8.5rem); }
.deadline-notices-list { margin: 0; padding: 0; list-style: none; border: 1px solid var(--border); border-radius: .6rem; background: var(--surface); }
.deadline-notice { display: grid; grid-template-columns: minmax(0,1fr) minmax(8.5rem,auto) minmax(0,auto); align-items: start; gap: .5rem .9rem; padding: .75rem .9rem; }
.deadline-notice + .deadline-notice { border-top: 1px solid var(--border); }
.deadline-notice.unread { box-shadow: inset 3px 0 0 var(--accent); }
.deadline-notice-body { overflow-wrap: anywhere; }
.deadline-notice-title { font-weight: 620; }
.deadline-notice-time { display: grid; gap: .1rem; }
.deadline-notice-time time { font-weight: 620; }
.deadline-notice-time.overdue { color: var(--danger-text); }
.deadline-notice-actions, .deadline-notices-pages { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.deadline-notices-pages[hidden] { display: none; }
.deadline-notices-empty { padding: .9rem; }
@media (max-width: 840px) {
  .deadline-notice { grid-template-columns: minmax(0,1fr) minmax(0,auto); }
  .deadline-notice-actions { grid-column: 1 / -1; }
}
@media (max-width: 500px) {
  .deadline-notice { grid-template-columns: 1fr; }
  .deadline-notice-time { display: flex; flex-wrap: wrap; gap: .35rem; }
}
