.planning-alert-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.planning-alert-actions .primary,.planning-alert-actions .secondary{white-space:nowrap}
dialog.task-coverage-calendar-dialog{width:min(1660px,calc(100% - 32px));max-width:1660px;max-height:92vh;overflow:auto;padding:24px;box-sizing:border-box}
.task-cover-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #dce7ef;padding-bottom:13px}
.task-cover-head h2{margin:0 0 5px}.task-cover-head p{margin:0}.task-cover-head button{flex-shrink:0}
.task-cover-year{display:flex;align-items:center;gap:12px;margin:17px 0;color:#173e68}
.task-cover-year .secondary{min-height:36px;padding:5px 13px;font-size:1.25rem}
.task-cover-status{font-size:.85rem;color:#526d82;margin:9px 0 15px;line-height:1.5}
.task-cover-summary{font-weight:700;color:#173e68;margin:0 0 12px}
.task-cover-legend,.task-cover-people{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:14px;font-size:.8rem}
.task-cover-key,.task-cover-people span{display:inline-flex;align-items:center;gap:5px;border:1px solid #d2e1eb;border-radius:7px;padding:5px 9px;background:#f8fbfe}
.task-cover-key.is-covered{background:#dcf4e7;border-color:#88c8a7;color:#145639}
.task-cover-key.is-overstaffed,.task-cover-day.is-overstaffed{background:#fff4c7;border-color:#d8b747;color:#725600}
dialog.task-coverage-day-dialog{width:min(780px,calc(100% - 28px));max-width:780px;max-height:90vh;overflow:auto;padding:22px}
.task-coverage-day-dialog::backdrop{background:rgba(13,35,56,.45)}
.task-coverage-day-dialog .task-cover-details{margin:16px 0 0}
.task-cover-schedule{font-size:.62rem;line-height:1.35;overflow-wrap:anywhere;text-align:left}
.task-cover-day{cursor:pointer}
.task-cover-key.is-uncovered{background:#fee9e7;border-color:#e6a4a0;color:#8d2c27}
.task-cover-key.is-incompatible{background:#f8d4d1;border-color:#d77f78;color:#84241f}
.task-cover-key.is-inactive{background:#eef2f5;border-color:#d6e0e8;color:#596b79}
.task-cover-people strong{color:#173e68}
.task-cover-seasons{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 13px;font-size:.75rem}
.task-cover-season-key{padding:5px 8px;border:1px solid;border-radius:7px}
.task-cover-season-key.is-active{background:#eff9f0;border-color:#a8d4b1;color:#235b35}
.task-cover-season-key.is-inactive{background:#fff0f0;border-color:#e6b5b5;color:#9a3434}
.task-cover-family-detail{padding:9px 0;border-top:1px solid #d7e3ed}
.task-cover-family-detail:first-of-type{border-top:0}
.task-cover-family-detail h4{margin:0 0 4px}
.task-cover-details{background:#f5f9fc;border:1px solid #d7e3ed;border-radius:9px;padding:11px 14px;margin:0 0 16px;font-size:.82rem}
.task-cover-details h3{font-size:.95rem;margin:0 0 5px}.task-cover-details h4{font-size:.82rem;margin:9px 0 4px}
.task-cover-details p{margin:0}.task-cover-details ul{display:flex;flex-wrap:wrap;gap:4px 20px;margin:5px 0;padding-left:18px}
.task-cover-details .is-invalid{color:#9d302a;font-weight:700}
.task-cover-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.task-cover-month{border:1px solid #d7e3ed;border-radius:12px;padding:15px;background:#fff;min-width:0}
.task-cover-month h3{margin:0 0 11px;color:#173e68}
.task-cover-weekdays,.task-cover-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.task-cover-weekdays{font-size:.72rem;text-align:center;color:#61788d;font-weight:700;margin-bottom:5px}
.task-cover-day,.task-cover-blank{min-width:0;min-height:92px;border-radius:7px}
.task-cover-day{display:flex;flex-direction:column;gap:4px;padding:6px 4px;border:1px solid #e0e8ef;background:#f5f7f9;color:#344f64;text-align:left;width:100%}
.task-cover-day:hover,.task-cover-day.is-selected{outline:2px solid #315d83;outline-offset:1px}
.task-cover-day>strong{font-size:.8rem;line-height:1}
.task-cover-day>small{font-size:.64rem;line-height:1.1;margin-top:auto;color:inherit}
.task-cover-day.is-covered{background:#e0f5e9;border-color:#83c9a2;color:#175b39}
.task-cover-day.is-uncovered{background:#fee9e7;border-color:#e6a4a0;color:#8d2c27}
.task-cover-day.is-incompatible{background:#f8d4d1;border-color:#d77f78;color:#84241f}
.task-cover-day.is-inactive{background:#eef2f5;color:#677987;border-color:#d9e1e8}
.task-cover-day.is-national-holiday{border-top:5px solid #743ab5;padding-top:4px}
.task-cover-day.is-national-holiday>strong{color:#54218a;background:#f5edff;border-radius:3px;padding:2px 3px;align-self:flex-start}
.task-cover-holiday-badge{display:block;align-self:stretch;background:#743ab5;color:#fff;border-radius:4px;padding:3px 1px;font-size:.6rem;font-weight:800;line-height:1.25;text-align:center;overflow-wrap:anywhere}
.task-cover-key.task-cover-holiday-key{background:#f5edff;color:#54218a;border-color:#c4a7e2;border-top:4px solid #743ab5}
.task-cover-holiday-note{display:flex;flex-direction:column;gap:5px;padding:12px 14px;margin-bottom:14px;border:1px solid #c4a7e2;border-top:5px solid #743ab5;border-radius:8px;background:#f5edff;color:#54218a}
.task-cover-holiday-note small{color:#654a7a}
.task-cover-holiday-warning{border-left:4px solid #b78126;padding:9px 12px;background:#fff6e7;color:#775018;font-size:.85rem}
.task-cover-tags{display:flex;flex-direction:column;align-items:stretch;gap:3px;width:100%}
.task-cover-tag{display:inline-block;padding:3px 4px;border:1px solid #8dc5a6;border-radius:5px;background:#fff;color:#175b39;font-size:.7rem;font-weight:800;line-height:1}
.task-cover-tag.is-invalid{border-color:#b84840;color:#922b25;background:#fff8f7;text-decoration:underline dotted}
.task-cover-family-day{min-height:112px}
.task-cover-family-line{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;border-top:1px solid currentColor;padding-top:4px}
.task-cover-family-line small{font-size:.61rem;line-height:1.1}
.task-cover-season-badge{background:#fff;color:#235b35;border:1px solid #73b68b;border-radius:4px;padding:1px 3px;font-size:.65rem;font-weight:800}
.task-cover-season-badge.is-inactive{color:#9a3434;border-color:#d99393}
.task-cover-family-names{display:flex;flex-direction:column;gap:2px;width:100%}
.task-cover-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 3px;border:1px solid #8dc5a6;border-radius:4px;background:#fff;color:#175b39;font-size:.63rem;font-weight:700}
.task-cover-name.is-invalid{border-color:#b84840;color:#922b25;background:#fff8f7}
.task-cover-no-people{font-size:.59rem;line-height:1.1}
.task-cover-name.role-driver,.task-cover-tag.role-driver,.task-cover-person.role-driver,.task-cover-role-key.role-driver{background:#e4f0ff;border-color:#7da7d8;color:#174a80}
.task-cover-name.role-worker,.task-cover-tag.role-worker,.task-cover-person.role-worker,.task-cover-role-key.role-worker{background:#f0e7fb;border-color:#b394d0;color:#633c83}
.task-cover-role-marker{display:inline-block;margin-right:2px;font-size:.9em}
.task-cover-name.is-invalid,.task-cover-tag.is-invalid{border:2px solid #b84840;text-decoration:underline dotted}
.task-cover-details .task-cover-person-list{display:flex;flex-direction:column;gap:7px;list-style:none;padding:0}
.task-cover-person{padding:7px 9px;border:1px solid #d2e1eb;border-radius:6px}
.task-cover-person,.task-cover-person-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.task-cover-person>span{flex:1;min-width:180px}
.task-cover-person button,.task-cover-person-heading button{padding:6px 10px;min-height:34px;font-size:.76rem}
.task-cover-person button.danger{color:#922b25;border-color:#d99b96}
.task-cover-action-editor:not(:empty){border-top:1px solid #cbd7e4;margin-top:18px;padding-top:14px}
.task-cover-action-editor p,.task-cover-action-status{font-size:.84rem;line-height:1.5}
.task-cover-action-status{margin:12px 0 0}
@media(max-width:1399px){.task-cover-months{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.task-cover-months{grid-template-columns:1fr}.task-cover-day,.task-cover-blank{min-height:78px}}
@media(max-width:600px){dialog.task-coverage-calendar-dialog{padding:16px}.task-cover-day,.task-cover-blank{min-height:69px}.task-cover-tag{font-size:.65rem}.planning-alert-actions{width:100%;justify-content:flex-start}}
