/* Shift and Correction components extend the existing reusable theme. */
.roster-filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.roster-filters>.field{flex:1;min-width:170px}
.correction-filters{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:16px;align-items:end}
.roster-message{padding:0 24px}.roster-message:has(.error){padding-top:20px}
.badge.off{background:#edf1f6;color:#526782}
.clock-repeat{font-size:.875rem;margin:14px 0 22px}.clock-repeat summary{cursor:pointer;color:var(--brand)}.clock-repeat>.fields{margin-top:18px}
.correction-compare{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}
.correction-compare>div{border:1px solid var(--line);border-radius:8px;padding:16px;background:#f7fafc}
.correction-compare h3{margin-bottom:10px}.correction-compare p{font-size:.875rem;overflow-wrap:anywhere}
.shift-summary{border:1px solid var(--line);border-radius:8px;padding:16px;background:#f7fafc;margin-bottom:20px}.shift-summary p{margin-top:6px}
@media(max-width:1190px){.correction-filters{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:760px){.roster-filters{gap:12px}.roster-filters>.field{min-width:130px}.correction-filters{grid-template-columns:1fr 1fr}.correction-compare{grid-template-columns:1fr}.roster-message{padding-left:18px;padding-right:18px}}
