/* Operational surfaces: scoped layout, hierarchy and responsive records. */
.module-page { min-width: 0; }
.module-page .page-heading { gap: 1.5rem; align-items: flex-start; }
.module-page .page-heading > div:first-child { min-width: 0; }
.module-page .page-heading h1 { overflow-wrap: anywhere; }
.module-page .card > h2:first-child,
.module-page .section-head h2 { margin-top: 0; }
.module-page .detail-grid > *, .module-page .stack { min-width: 0; }
.module-page .daily-link { padding: 1rem 0; gap: .35rem; }
.module-page .daily-link strong { line-height: 1.45; }
.module-page .daily-link small { line-height: 1.5; }
.module-page .department-grid { gap: 1rem; }
.module-page .department-card { display: flex; flex-direction: column; gap: .65rem; }
.module-page .department-card h2, .module-page .department-card p { margin: 0; }
.module-page .department-card .badge { align-self: flex-start; }
.module-page .department-card .eyebrow { line-height: 1.5; }
.module-page .metrics, .module-page .daily-stats { gap: .75rem; }
.module-page .metric, .module-page .daily-stats > .card { padding: 1rem 1.2rem; }
.module-page .metric strong, .module-page .daily-stats > .card > strong { font-size: 1.75rem; line-height: 1.25; }
.module-page .metric small { line-height: 1.45; }
.module-page .metric .money, .module-page .metric .event-state { font-size: 1.15rem; overflow-wrap: anywhere; }
.module-page .schedule-summary { gap: .75rem; }
.module-page .schedule-total { padding: .85rem 1.1rem; }
.module-page details.card > summary { padding-block: .15rem; font-weight: 650; }
.module-page details.card[open] > summary { margin-bottom: 1rem; }
.module-page .filter-bar, .module-page .calendar-filters { align-items: end; }
.module-page .filter-bar > label, .module-page .calendar-filters > label { min-width: 0; }
.module-tabs { display: flex; flex-wrap: wrap; gap: .35rem; border-bottom: 1px solid var(--line); margin: 0 0 1.5rem; padding: 0 0 .65rem; }
.module-tabs a { display: inline-flex; flex-direction: column; gap: .25rem; border-radius: .6rem; padding: .7rem .9rem; color: var(--muted); text-decoration: none; font-weight: 600; }
.module-tabs a[aria-current="page"] { color: var(--green-dark); background: var(--mint); }
.module-tabs a:hover { background: var(--paper); }
.module-tabs span { font-size: .75rem; font-weight: 400; line-height: 1.4; }
.module-anchor-nav { margin-block: 1rem; }
.module-kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; margin: 1.25rem 0; }
.module-kv div { min-width: 0; }
.module-kv dt { color: var(--muted); font-size: .8rem; margin-bottom: .3rem; }
.module-kv dd { margin: 0; overflow-wrap: anywhere; }
.module-page .register-details { gap: 1rem 1.5rem; }
.module-page .register-details dd { overflow-wrap: anywhere; }
.module-page .privacy-boundary { border-left: 3px solid var(--teal); padding-left: 1rem; }
.module-page .privacy-boundary p:last-child { margin-bottom: 0; }
.module-page .related-private-work { border-top: 1px solid var(--line); margin-top: 1.25rem; padding-top: 1.25rem; }
.module-page .related-private-work h3 { margin-top: 0; }
.module-page .coordination-table { margin-top: 1rem; }
.module-page .coordination-table td { vertical-align: top; }
.module-page .coordination-table small { display: block; margin-top: .35rem; }
.module-page .coordination-table form { margin-bottom: .6rem; }
.module-page .coordination-table td:last-child { width: 38%; }
.module-page .coordination-table .button { white-space: normal; }
.module-page .next-shifts { margin-bottom: 1.5rem; }
.module-page .shift-preview { padding: 1rem 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 1.5rem; align-items: center; }
.module-page .shift-preview h3 { margin: 0 0 .35rem; font-size: 1rem; }
.module-page .shift-preview p { margin: .25rem 0; }
.module-page .shift-preview small { display: block; }
.module-page .shift-preview .button { white-space: normal; }
.module-page .calendar-toolbar h2 { font-size: 1.1rem; margin: 0; }
.module-page .calendar-entry { border-radius: .4rem; padding: .65rem; }
.module-page .calendar-entry strong { line-height: 1.35; overflow-wrap: anywhere; }
.module-page .calendar-legend { gap: .7rem 1rem; line-height: 1.5; }
.module-page .calendar-flag { line-height: 1.4; }
.module-page .completion-panel { scroll-margin-top: 1.5rem; }
.module-page [id] { scroll-margin-top: 1.5rem; }
.module-page .completion-panel form { max-width: 44rem; }
.module-page .timeline p { overflow-wrap: anywhere; }
.module-page .routine-history article { padding-block: 1rem; }
.module-page .routine-history article:first-child { padding-top: 0; }
.module-page .routine-provenance { margin: .5rem 0 1rem; }
.module-page .routine-provenance summary { font-size: .8rem; color: var(--muted); }
.module-page .module-record-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; }
.module-page .module-record-list .daily-link { min-width: 0; overflow-wrap: anywhere; }
.module-page .section-head { gap: 1rem; align-items: flex-start; }
.module-page .module-explanation { margin-top: 1rem; }
.module-page .module-explanation summary { font-size: .85rem; color: var(--muted); }
.module-page .workflow-steps { padding-left: 1.4rem; }
.module-page .workflow-steps li { padding: .35rem 0 .35rem .35rem; }
.module-page .workflow-steps li::marker { color: var(--teal); font-weight: 700; }
.module-page .table-wrap table small { line-height: 1.45; }
.module-page .module-table tbody th { background: transparent; font-size: .875rem; letter-spacing: 0; color: var(--ink); }
.module-page .module-table td, .module-page .module-table tbody th { overflow-wrap: anywhere; }
@media (max-width: 900px) {
  .module-page .report-navigation { display: grid; grid-template-columns: 1fr; }
  .module-page .report-navigation a { padding: .75rem; }
  .module-page .coordination-table td:last-child { width: auto; }
}
@media (max-width: 700px) {
  .module-page .page-heading { gap: 1rem; }
  .module-page .module-record-list { grid-template-columns: 1fr; }
  .module-page .module-kv { grid-template-columns: 1fr; gap: .9rem; }
  .module-page .shift-preview { grid-template-columns: 1fr; }
  .module-page .shift-preview form { width: 100%; }
  .module-page .shift-preview .button { width: 100%; }
  .module-page .metrics, .module-page .daily-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .module-page .metric, .module-page .daily-stats > .card { padding: .85rem; }
  .module-page .metric strong, .module-page .daily-stats > .card > strong { font-size: 1.5rem; }
  .module-page .metrics .metric span { line-height: 1.4; }
  .module-page .module-table thead { display: none; }
  .module-page .module-table, .module-page .module-table tbody { display: block; width: 100%; min-width: 0; }
  .module-page .module-table tr { display: block; padding: 1rem 0; border-bottom: 1px solid var(--line); }
  .module-page .module-table tr:last-child { border-bottom: 0; }
  .module-page .module-table td, .module-page .module-table tbody th { display: block; width: auto; border: 0; padding: .4rem 0; }
  .module-page .module-table td[data-label]::before, .module-page .module-table tbody th[data-label]::before { content: attr(data-label); display: block; font-size: .75rem; font-weight: 600; color: var(--muted); margin-bottom: .2rem; }
  .module-page .module-table td[colspan]::before { content: none; }
  .module-page .calendar-toolbar { align-items: stretch; gap: 1rem; }
  .module-page .calendar-toolbar > .button-row { flex-wrap: wrap; gap: .4rem; }
  .module-page .calendar-toolbar .button { min-height: 44px; }
}
@media print {
  .module-page .module-tabs, .module-page .module-anchor-nav { display: none; }
  .module-page .module-kv, .module-page .module-record-list { display: block; }
  .module-page .card { box-shadow: none; break-inside: auto; }
  .module-page details > * { display: block; }
  .module-page .privacy-boundary { border: 1px solid #999; background: transparent; }
}
