.planning-view{min-width:0}.planning-period,.planning-filters,.planning-main-actions,.planning-section-heading,.planning-week-nav{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.planning-period{justify-content:space-between;margin-bottom:12px}.planning-filters .field{min-width:150px}.planning-period-caption{font-weight:600;margin:8px 0 18px}.planning-main-actions{margin-bottom:24px}.planning-section-heading{justify-content:space-between;margin-bottom:16px}.planning-section-heading h2{font-size:1.6rem;margin-bottom:7px}.planning-section-heading p{font-size:.9rem}.planning-coverage{padding:22px;border:1px solid var(--line);border-radius:12px;background:#fffef9;margin-bottom:28px}.planning-summary{display:flex;flex-wrap:wrap;gap:16px 35px;margin:16px 0}.planning-summary span{display:grid;color:var(--muted);font-size:.8rem}.planning-summary strong{font-size:1.7rem;color:var(--green)}.planning-coverage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:12px;margin-top:18px}.planning-coverage-card{display:flex;flex-direction:column;gap:7px;padding:15px;border:1px solid var(--line);border-radius:9px;background:white;min-width:0}.planning-coverage-card>span,.planning-coverage-card>small{font-size:.75rem;color:var(--muted)}.planning-coverage-card dl{margin:8px 0;font-size:.78rem;display:grid;gap:4px}.planning-coverage-card dl div{display:flex;justify-content:space-between;gap:10px}.planning-coverage-card dd{margin:0;font-weight:600}.planning-coverage-card progress{accent-color:#789160;width:100%;height:8px}.planning-coverage-card .button{margin-top:auto;min-height:40px}.planning-coverage-card.has-shortage{border-top:4px solid #ba8450}.planning-coverage-card.is-covered{border-top:4px solid #789160}.planning-pause-warning{background:#fff4d8;color:#735324!important;padding:8px;border-radius:5px}.planning-empty{padding:22px;border:1px dashed #c6d0bc;border-radius:9px;background:#f8f9f1;color:var(--muted);font-size:.9rem}.planning-legend{display:flex;gap:8px 14px;flex-wrap:wrap;margin:15px 0;font-size:.75rem}.planning-legend span:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#b6bbae;margin-right:5px}.planning-legend .available:before{background:#658b50}.planning-legend .preferred:before{background:#8768b3}.planning-legend .unavailable:before{background:#b15c50}.planning-week-grid{overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff}.planning-week-grid table{table-layout:fixed;min-width:1180px;width:100%;font-size:.8rem}.planning-week-grid th:first-child{width:150px;position:sticky;left:0;background:#f5f5eb;z-index:1}.planning-week-grid th:last-child{width:62px}.planning-week-grid th{padding:14px 9px;font-size:.76rem;white-space:normal}.planning-week-grid td{vertical-align:top;padding:9px;border-left:1px solid var(--line)}.planning-availability-tag{display:block;padding:7px 8px;margin-bottom:8px;border-radius:6px;font-size:.7rem;background:#f2f3ed;color:#697162}.planning-availability-tag small{display:block;font-size:.65rem;color:inherit;margin-top:3px}.planning-availability-tag.available{background:#eaf1e2;color:#476137}.planning-availability-tag.preferred{background:#f0eaf7;color:#70518c}.planning-availability-tag.unavailable{background:#faeae5;color:#965245}.planning-shift{display:grid;gap:4px;text-align:left;width:100%;padding:10px 8px;border:0;border-left:3px solid #718e59;border-radius:6px;background:#e9eedf;margin-bottom:8px;color:var(--ink);font:inherit}.planning-shift strong{font-size:.8rem}.planning-shift span,.planning-shift small{font-size:.68rem;line-height:1.5}.planning-shift.is-cancelled{opacity:.6;border-color:#90968a;text-decoration:line-through}.planning-add{width:100%;font-size:.75rem}.planning-mobile-roster{display:none}.planning-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.planning-date-picker{border:1px solid var(--line);padding:16px;border-radius:10px;min-width:0}.planning-date-picker legend{font-weight:600;padding:0 6px}.planning-day-shortcuts{display:flex;flex-wrap:wrap;gap:6px;margin:3px 0 15px}.planning-day-shortcuts .button{font-size:.73rem;min-height:38px}.planning-calendar-weekdays,.planning-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.planning-calendar-weekdays{text-align:center;font-size:.7rem;color:var(--muted);margin-bottom:7px}.planning-date-choice{position:relative;cursor:pointer;min-width:0}.planning-date-choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.planning-date-choice>span{display:grid;text-align:center;align-content:center;min-height:56px;background:white;border:1px solid var(--line);border-radius:6px;padding:6px 2px}.planning-date-choice strong{font-size:.95rem}.planning-date-choice small{font-size:.62rem}.planning-date-choice input:checked+span{background:#e5efdc;border-color:#607e46;box-shadow:inset 0 0 0 1px #607e46}.planning-date-choice input:focus-visible+span{outline:3px solid #658c3e;outline-offset:2px}.planning-date-choice.is-past>span{color:#6e7766;background:#f4f5ef}.planning-date-picker>.small{font-size:.76rem;margin-top:12px}.planning-availability-form{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);gap:24px;padding:22px;background:#fffef9;border:1px solid var(--line);border-radius:12px}.planning-availability-settings{display:flex;flex-direction:column;gap:17px}.planning-availability-settings>.button{margin-top:auto}.planning-availability-overview{margin-top:27px}.planning-availability-overview h2{margin-bottom:15px}.planning-availability-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.planning-availability-list article{padding:13px;background:white;border:1px solid var(--line);border-radius:8px}.planning-availability-list strong{display:block;font-size:.8rem;margin-bottom:8px}.planning-availability-list .planning-availability-tag{margin-bottom:0}.planning-copy-preview>p{margin-bottom:15px}.planning-copy-preview :is(.error-box,.notice){margin-bottom:14px}.planning-copy-preview ul{padding-left:20px;margin-bottom:0}.planning-copy-list{display:grid;gap:8px}.planning-copy-list article{padding:13px;border:1px solid var(--line);border-radius:8px;display:grid;gap:5px}.planning-copy-list span{font-size:.85rem}.planning-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.planning-view .button{min-height:44px}.planning-view :is(button,summary):focus-visible{outline:3px solid #658c3e;outline-offset:3px}@media(max-width:850px){.planning-availability-form{grid-template-columns:1fr}.planning-availability-settings{display:grid;grid-template-columns:1fr 1fr}.planning-availability-settings>.small,.planning-availability-settings>.button{grid-column:1/-1}}@media(max-width:720px){.planning-week-grid{display:none}.planning-mobile-roster{display:block}.planning-mobile-days{display:flex;gap:8px;overflow:auto;margin:0 0 18px;padding:4px 3px 10px}.planning-mobile-days .button{min-width:93px;font-size:.78rem;flex-shrink:0}.planning-mobile-person{padding:16px;background:white;border:1px solid var(--line);border-radius:9px;margin-top:12px}.planning-mobile-person h4{margin:0 0 12px}.planning-mobile-person .planning-shift strong{font-size:1rem}.planning-mobile-person .planning-shift span,.planning-mobile-person .planning-shift small{font-size:.8rem}.planning-availability-tag{font-size:.8rem}.planning-period{align-items:stretch}.planning-week-nav{width:100%}.planning-week-nav .button:nth-child(2){flex:1}.planning-filters{width:100%;align-items:end}.planning-filters .field{flex:1 1 135px;min-width:0}.planning-filters>.button{width:100%}.planning-main-actions .button{flex:1 1 160px}.planning-coverage{padding:17px}.planning-coverage-grid{grid-template-columns:1fr}.planning-section-heading>.button{width:100%}.planning-availability-form{padding:14px;gap:18px}.planning-date-picker{padding:12px}.planning-availability-settings{display:flex}.planning-summary{gap:14px 20px}.planning-summary strong{font-size:1.5rem}.planning-times .field{min-width:0}.planning-date-grid,.planning-calendar-weekdays{gap:4px}}

.planning-summary-warning{padding:12px 14px;margin:12px 0;border-radius:7px;background:#fff4d8;color:#735324;font-size:.84rem}.planning-summary+.notice{margin-bottom:13px}

.planning-shortages{margin:28px 0}.planning-shortage-list{display:grid;gap:12px;margin-top:16px}.planning-shortage{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.4fr);gap:20px;padding:18px;border:1px solid #e1d2ac;border-left:4px solid #ad7826;border-radius:12px;background:#fffef8}.planning-shortage h3{margin:6px 0;font-size:1.35rem}.planning-shortage p{font-size:.82rem;line-height:1.6}.planning-candidates{display:grid;gap:8px;align-content:start}.planning-candidate{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:8px 0;border-bottom:1px solid #e5e7de}.planning-candidate small{display:block;font-size:.73rem;color:var(--muted)}.planning-candidate strong{font-size:.84rem}.planning-candidate .button{white-space:nowrap;min-height:44px}@media(max-width:650px){.planning-shortage{grid-template-columns:1fr;gap:10px;padding:14px}.planning-candidate{flex-wrap:wrap}.planning-candidate .button{flex:1}}

.roster-import-mappings{display:grid;gap:14px;border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0}.roster-import-mappings legend{padding:0 6px;font-weight:600}.roster-import-slots{display:grid;gap:8px;margin-top:14px;max-height:48vh;overflow:auto}.roster-import-slots article{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fffef9;overflow-wrap:anywhere}.roster-import-slots small{color:var(--muted)}.planning-needed-slots{font-size:.78rem}.planning-needed-slots summary{cursor:pointer;min-height:35px}.planning-needed-slots ul{padding-left:17px;margin:6px 0;display:grid;gap:9px}.roster-import-preview .notice{margin:14px 0}
