.schedule{margin:40px 0;padding:28px;background:#f8faf7;border:1px solid #dfe7df;border-radius:24px}.schedule-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.schedule-heading h2{margin:8px 0}.schedule-nav{display:flex;gap:8px;flex-wrap:wrap}.schedule-nav button{padding:10px 14px;font-size:.85rem;background:#fff;color:#185532;border:1px solid #cbdacd}.schedule-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:24px 0 12px}.schedule-toolbar label{max-width:240px;flex:1}.schedule-toolbar p{font-weight:700;color:#185532}.schedule-help{color:#607164;font-size:.85rem;line-height:1.6}.schedule-group{--team:#185532;margin:24px 0;background:white;border:1px solid #dfe7df;border-radius:16px;overflow:hidden}.team-BOH{--team:#86661b}.team-Cleaning{--team:#316a85}.team-Cashier{--team:#7b4d83}.schedule-group h3{border-inline-start:5px solid var(--team);padding:18px 20px;margin:0;font-size:1rem}.schedule-scroll{overflow:auto}.schedule-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1050px;table-layout:fixed;font-size:.85rem}.schedule-table th,.schedule-table td{padding:14px 8px;text-align:center;vertical-align:top;border-top:1px solid #e7ede8;border-right:1px solid #e7ede8}.schedule-table thead th{background:#f5f8f4;color:#4c6253}.schedule-table th:first-child{width:170px;position:sticky;left:0;background:#fff;z-index:1;text-align:left;padding-left:16px}.schedule-table thead th:first-child{z-index:2;background:#f5f8f4}.schedule-table th small{display:block;font-weight:400;margin-top:5px}.schedule-table .is-today{background:#f0f6e9}.shift-badge{background:#edf3ee;border-inline-start:3px solid var(--team);padding:10px 5px;border-radius:7px;margin-bottom:6px;line-height:1.5}.shift-badge strong{font-size:.8rem;white-space:nowrap}.shift-badge small{display:block;font-size:.68rem;color:#52645a}.not-scheduled{color:#738077;font-size:.72rem}.closed-day{display:block;padding:8px;background:#eef0ef;border-radius:6px;color:#58645c}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.schedule button:focus-visible,.schedule-scroll:focus-visible{outline:3px solid #c99829;outline-offset:3px}
.shift-badge button{padding:4px 8px;font-size:.7rem;margin-top:6px}.schedule-table th,.schedule-table td{overflow-wrap:anywhere}.shift-badge strong{white-space:normal}.schedule-table{min-width:860px}.schedule-table th:first-child{width:140px}@media(min-width:1100px){.schedule-table{min-width:0}.schedule-table th,.schedule-table td{padding:12px 5px}}
@media(max-width:750px){.schedule{padding:16px;border-radius:16px}.schedule-heading,.schedule-toolbar{align-items:stretch;flex-direction:column}.schedule-toolbar{gap:10px}.schedule-toolbar label{max-width:none}.schedule-toolbar p{margin:4px 0}.schedule-table{min-width:0;display:block}.schedule-table thead{display:none}.schedule-table tbody{display:block}.schedule-table tr{display:block;border-top:1px solid #dfe7df;padding:12px}.schedule-table th:first-child{display:block;width:auto;position:static;border:0;font-size:1rem;padding:8px}.schedule-table td{display:flex;justify-content:space-between;align-items:center;gap:10px;border-right:0;padding:10px 8px}.schedule-table td:before{content:attr(data-day);color:#506458;font-size:.8rem}.shift-badge{margin:0}.schedule-group h3{padding:14px}.schedule-nav button{flex:1}}
