/* A full-height library on phones; the same report and queue hierarchy scales up. */
#reports-modal { --library-gutter: var(--space-2); padding: max(var(--library-gutter),env(safe-area-inset-top)) max(var(--library-gutter),env(safe-area-inset-right)) max(var(--library-gutter),env(safe-area-inset-bottom)) max(var(--library-gutter),env(safe-area-inset-left)); }
#reports-modal .reports-dialog { width: 100%; max-height: calc(100dvh - max(var(--library-gutter),env(safe-area-inset-top)) - max(var(--library-gutter),env(safe-area-inset-bottom))); }
.reports-dialog .modal-header { flex: 0 0 auto; }
.reports-dialog .modal-body { scroll-padding-block: var(--space-4); overflow-wrap: anywhere; }
.reports-dialog .report-baseline { min-width: 0; }
.reports-dialog .modal-header > div { min-width: 0; }
.reports-dialog .modal-header h3 { overflow-wrap: anywhere; }
.schedule-library-open { justify-self: start; }
.schedule-heading, .schedule-form, .schedule-list, .schedule-history, .schedule-jobs,
.schedule-feedback, .schedule-empty, .schedule-toolbar { display: grid; gap: var(--space-3); min-width: 0; }
.schedule-filters { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.schedule-filters [aria-pressed=true] { color: var(--ink); background: var(--lapis-soft); border-color: var(--lapis); }
.schedule-heading p, .schedule-summary p, .schedule-row p, .schedule-job p { margin: 0; }
.schedule-heading .report-back { justify-self: start; }
.schedule-report-name { margin: 0; font-size: var(--fs-title); line-height: 1.8; overflow-wrap: anywhere; }
.schedule-row, .schedule-job, .schedule-summary, .schedule-recovery, .schedule-empty {
  min-width: 0; padding: var(--space-4); border: 1px solid var(--line);
  border-radius: var(--radius-sm); background: var(--panel);
}
.schedule-summary, .schedule-row, .schedule-job, .schedule-recovery { display: grid; gap: var(--space-3); }
.reports-dialog .schedule-name { white-space: normal; overflow-wrap: anywhere; text-align: start; justify-content: start; padding: 0; font-size: var(--fs-body); }
.schedule-state { justify-self: start; padding: var(--space-1) var(--space-2); border: 1px solid var(--line-2); border-radius: var(--radius-pill); font-size: var(--fs-small); color: var(--ink-2); background: var(--panel-2); }
.schedule-state.active, .schedule-state.completed { color: var(--turquoise-deep); background: var(--turquoise-soft); }
.schedule-state.failed { color: var(--granate); background: var(--granate-soft); }
.schedule-facts { display: grid; gap: var(--space-3); margin: 0; min-width: 0; }
.schedule-facts > div { display: grid; gap: var(--space-1); min-width: 0; }
.schedule-facts dt { color: var(--ink-2); font-size: var(--fs-small); }
.schedule-facts dd { margin: 0; overflow-wrap: anywhere; unicode-bidi: plaintext; }
.schedule-field { display: grid; gap: var(--space-2); min-width: 0; font-size: var(--fs-small); }
.schedule-field input { display: block; width: 100%; min-width: 0; max-width: 100%; min-height: var(--tap); padding: var(--space-2) var(--space-3); border: 1px solid var(--line-2); border-radius: var(--radius-sm); background: var(--panel); color: var(--ink); font: inherit; }
.schedule-field input[type=datetime-local] { direction: ltr; text-align: start; }
.schedule-field input:focus-visible, .schedule-interval-unit input:focus-visible { outline: 2px solid var(--turquoise); outline-offset: 2px; }
.schedule-interval-unit { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: var(--space-3); min-width: 0; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.schedule-interval-unit legend { padding-inline: var(--space-2); font-size: var(--fs-small); }
.schedule-interval-unit .report-choice { margin: 0; flex: 1 1 auto; }
.schedule-contract { min-width: 0; }
.schedule-contract > summary { min-height: var(--tap); cursor: pointer; align-content: center; }
.schedule-contract[open] { display: grid; gap: var(--space-3); }
.schedule-feedback:empty { display: none; }
.schedule-recovery h5, .schedule-history h5 { margin: 0; font-size: var(--fs-body); }
.schedule-source { display: grid; gap: var(--space-2); padding: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-sm); min-width: 0; }
.schedule-source h6 { margin: 0; font-size: var(--fs-small); overflow-wrap: anywhere; }
.schedule-job .schedule-result { justify-self: start; }
@media (min-width: 480px) {
  .schedule-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 800px) {
  #reports-modal { --library-gutter: var(--space-5); }
  #reports-modal .reports-dialog { width: min(100%,960px); }
  .schedule-row { grid-template-columns: minmax(0,1fr) auto; align-items: start; }
  .schedule-row > .schedule-facts, .schedule-row > p { grid-column: 1 / -1; }
  .schedule-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
