.planning-notice { padding: 1rem; border-left: 3px solid var(--link); background: var(--accent-surface); color: var(--accent-text); border-radius: .5rem; }
.planning-error { padding: 1rem; background: var(--error-bg); color: var(--error-text); border-radius: .5rem; }
.planning-toolbar { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin: 1.25rem 0; }
.planning-toolbar > div { min-width: 0; flex: 1 1 220px; }
.planning-toolbar select { max-width: 100%; }
.planning-person, .planning-section { margin: 1.25rem 0; min-width: 0; }
.planning-person-heading { display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.planning-person-heading h2 { margin: 0 0 .25rem; font-size: 1.1rem; }
.planning-person-heading > div:last-child { display: flex; flex-direction: column; gap: .35rem; }
.planning-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .5rem; }
.planning-day { padding: .65rem; border: 1px solid var(--border); background: var(--soft); border-radius: .5rem; display: flex; flex-direction: column; gap: .45rem; overflow-wrap: anywhere; font-size: .8rem; }
.planning-day .badge { white-space: normal; font-size: .7rem; padding: .25rem .35rem; }
.planning-day--work { background: var(--panel); border-top: 3px solid var(--link); }
.planning-day--holiday { background: var(--accent-surface); }
.planning-day--unplanned, .planning-day--dst_review, .planning-day--unsupported { border-top: 3px solid var(--warning-text); }
.planning-holiday { color: var(--link); font-weight: 600; }
.planning-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.planning-fields > div { min-width: 0; }
.planning-section fieldset { min-inline-size: 0; border: 1px solid var(--border); border-radius: .5rem; }
.planning-targets { max-height: 18rem; overflow-y: auto; padding: .25rem; }
.planning-targets label { overflow-wrap: anywhere; }
.planning-shifts { min-width: 0; padding: 0; border: 0; margin: 1rem 0; }
.planning-shift { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr 1fr; align-items: end; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid var(--border); }
.planning-shift > div { min-width: 0; }
.planning-shift label { font-size: .8rem; }
.planning-check { display: flex; align-items: center; gap: .6rem; min-height: 44px; }
.planning-section .planning-check input[type="checkbox"] { width: 22px; height: 22px; min-width: 22px; min-height: 22px; padding: 0; margin: 0; }
.planning-check--confirmation { align-items: flex-start; padding: .65rem 0; margin: .5rem 0; cursor: pointer; }
.planning-section .planning-check--confirmation input[type="checkbox"] { min-height: 22px; flex: 0 0 22px; accent-color: var(--link); }
.planning-check--confirmation > span { min-width: 0; overflow-wrap: anywhere; }
.workload-summary { margin: 1rem 0; padding: 1rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--soft); }
.workload-summary h3 { margin-top: 0; }
.workload-summary .settlement-summary { margin-bottom: .75rem; }
.workload-summary dd { overflow-wrap: anywhere; }
.planning-revision { border-bottom: 1px solid var(--border); padding: .8rem 0; overflow-wrap: anywhere; }
.planning-revision summary { cursor: pointer; color: var(--link); }
@media (max-width: 1200px) { .planning-week { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .planning-week, .planning-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-shift { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning-shift > .planning-check:first-child { grid-column: 1 / -1; }
  .planning-person-heading { flex-direction: column; }
  .planning-person { padding: 1rem; }
}
@media (max-width: 400px) { .planning-fields { grid-template-columns: minmax(0, 1fr); } }
