.staff-tabs,.staff-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:22px}.staff-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px}.staff-grid h2{font-size:1.6rem}.staff-grid p{overflow-wrap:anywhere}.staff-shifts{display:grid;gap:12px}.staff-shift{display:flex;justify-content:space-between;gap:20px;align-items:center}.staff-shift h3{margin:7px 0}.staff-cancelled{opacity:.65}.staff-locations{border:1px solid var(--line);border-radius:10px;padding:15px;display:grid;gap:10px}.staff-locations legend{padding:0 6px}.staff-order-location{margin-bottom:20px;padding:18px;background:var(--white,#fff);border:1px solid var(--line);border-radius:12px}.staff-order-location select{width:100%}@media(max-width:600px){.staff-shift{display:block}.staff-shift .button{margin-top:12px}.staff-toolbar .field{width:100%}.staff-tabs .button{flex:1;font-size:.78rem}}

.staff-week-grid{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fffef9}.staff-week-grid table{min-width:1000px;width:100%;table-layout:fixed}.staff-week-grid th:first-child{width:145px;position:sticky;left:0;background:#f4f3e9;z-index:1}.staff-week-grid th:last-child{width:64px}.staff-week-grid td{vertical-align:top;padding:8px;border-left:1px solid var(--line)}.staff-week-grid th{font-size:.75rem;padding:14px 8px}.staff-slot{display:block;width:100%;text-align:left;border:0;border-left:3px solid #7d9862;border-radius:6px;background:#e9eedf;color:var(--ink);padding:9px 6px;margin-bottom:8px;font-size:.75rem}.staff-slot span{display:block;font-size:.65rem;margin-top:4px}.staff-slot-add{border:1px dashed #c2cbb8;background:transparent;width:100%;font-size:.7rem;padding:8px 4px;color:var(--muted);border-radius:5px;min-height:34px}.staff-mobile-roster{display:none}@media(max-width:720px){.staff-week-grid{display:none}.staff-mobile-roster{display:block}}

.staff-work-start{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;margin-bottom:28px}
.staff-next-shift{background:#edf1e2;border-color:#bbcba4}
.staff-next-shift h2,.staff-work-actions h2{font-size:1.65rem;margin:10px 0 16px}
.staff-shift-time{display:block;font-size:2rem;font-variant-numeric:tabular-nums;color:var(--green);margin-bottom:12px}
.staff-next-shift p,.staff-work-actions p{line-height:1.7;overflow-wrap:anywhere}
.staff-work-actions .button{width:100%;min-height:44px}
.staff-work-actions p{font-size:.85rem;margin:9px 0 20px}
.staff-work-actions p:last-child{margin-bottom:0}
.staff-shift-note{padding-top:14px;border-top:1px solid #cdd8bb;white-space:pre-wrap}
.staff-section-title{font-size:1.6rem;margin-bottom:15px}
.staff-past-shifts{margin-top:25px;border-top:1px solid var(--line);padding-top:10px}
.staff-past-shifts>summary{padding:14px 0;cursor:pointer;font-weight:600}
.staff-past-shifts>.small{margin-bottom:15px}
.staff-week-controls{display:flex;gap:7px;flex-wrap:wrap}
.staff-week-controls .button{min-width:44px;min-height:44px}
.staff-week-caption{font-weight:600;margin-bottom:7px}
.staff-page .small+#staff-roster{margin-top:18px}
.staff-empty-copy{margin-bottom:24px;color:var(--muted)}
.staff-page :is(button,summary):focus-visible{outline:3px solid #829b68;outline-offset:3px}
@media(max-width:720px){.staff-work-start{grid-template-columns:1fr}.staff-next-shift h2{font-size:1.5rem}.staff-shift .button,.staff-tabs .button{min-height:44px}.staff-toolbar .field{min-width:0;flex:1 1 180px}.staff-week-controls{width:100%}.staff-week-controls .button:nth-child(2){flex:1}}
.personnel-work-summary{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px;margin-bottom:24px;border:1px solid #bbcba4;border-radius:12px;background:#edf1e2}
.personnel-work-summary h2{font-size:1.7rem;margin:8px 0 12px}.personnel-work-summary p{font-size:.875rem;line-height:1.6}.personnel-work-summary>.button{min-height:44px;flex-shrink:0}
.personnel-work-counts{display:flex;gap:12px 25px;flex-wrap:wrap;margin-top:15px;font-size:.8rem}.personnel-work-counts strong{font-size:1.05rem;margin-right:3px}
@media(max-width:720px){.personnel-work-summary{flex-direction:column;align-items:stretch;padding:20px}.personnel-work-summary h2{font-size:1.45rem}.personnel-work-summary>.button{white-space:normal}}
