.staffing-plan { --actual-ink: #263f35; --actual-fill: #edf1eb; --actual-edge: #b5c4b8; margin-block: 18px; border-top: 3px solid var(--actual-ink); overflow-wrap: anywhere; }
.staffing-plan [hidden] { display: none !important; }
.staffing-plan h3, .staffing-plan h4 { margin: 0; }
.staffing-plan input, .staffing-plan select { width: 100%; min-width: 0; }
.staffing-plan button { min-height: 44px; width: fit-content; }
.staffing-plan .actual-primary { color: white; background: var(--actual-ink); }
.staffing-period { padding: 9px 12px; margin-block: 10px; border-inline-start: 3px solid #355746; background: var(--actual-fill); }
.staffing-months { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: 8px; }
.staffing-months section { min-width: 0; padding: 8px; border: 1px solid var(--line); }
.staffing-months ul { margin: 0; }
.staffing-months li { padding-block: 4px; }
@media (max-width: 700px) { .staffing-row { grid-template-columns: 1fr; } }
