/* Weekly schedules keep the same black and quiet rose workspace. */
.schedule-page{max-width:1420px;min-width:0}
.schedule-weekbar{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:18px;margin-bottom:20px}
.schedule-weekbar>div{max-width:320px;flex:1;min-width:0;text-align:center}
.schedule-weekbar label{font-size:10px;letter-spacing:.03em;color:var(--muted);margin-bottom:8px}
.schedule-weekbar input{max-width:220px;min-height:44px;padding:9px 12px;font-size:14px}
.schedule-weekbar>div>span{display:block;margin-top:7px;color:var(--muted);font-size:11px}
.schedule-arrow{width:45px;min-height:46px;padding:8px;font-size:20px;flex-shrink:0}
.schedule-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}
.schedule-status p{font-size:11px;color:var(--muted);margin:0;line-height:1.7}
.schedule-toolbar,.schedule-toolbar-actions,.schedule-actions,.schedule-section-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.schedule-toolbar{justify-content:space-between;margin:0 0 22px}
.schedule-toolbar p{font-size:12px;margin:0}.schedule-toolbar-actions button,.schedule-toolbar>.text-btn,.schedule-actions button{font-size:12px}
.schedule-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px}
.schedule-stats>div{border:1px solid var(--line);border-radius:16px;background:var(--panel);padding:20px;display:flex;flex-direction:column}
.schedule-stats strong{font-size:27px;color:var(--accent);font-weight:550;line-height:1.2}
.schedule-stats span{font-size:11px;line-height:1.65;color:var(--muted);margin-top:8px}
.schedule-source-note{font-size:12px;line-height:1.85;margin-bottom:24px}
.schedule-filter{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:24px 0 15px}
.schedule-filter label{min-width:200px;max-width:300px;flex:1;font-size:11px;color:var(--muted)}
.schedule-filter select{font-size:13px;min-height:44px;margin-top:7px}
.schedule-filter p{color:var(--muted);font-size:11px;line-height:1.7;margin:0 0 9px}
.schedule-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:16px;max-height:72vh;margin-bottom:24px}
.schedule-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1040px;font-size:11px}
.schedule-table caption{padding:14px;background:var(--panel-raised);font-size:11px;text-align:left;color:var(--muted)}
.schedule-table th,.schedule-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;vertical-align:middle}
.schedule-table tr>*:last-child{border-right:0}.schedule-table tbody tr:last-child>*{border-bottom:0}
.schedule-table thead th{font-weight:500;line-height:1.6;min-width:105px;text-align:left;position:sticky;top:0;z-index:2;background:var(--panel-raised)}
.schedule-table thead th:first-child{left:0;z-index:4;min-width:140px}
.schedule-table thead th small{display:block;color:var(--muted);font-size:9px;margin-top:3px}
.schedule-table tbody th{position:sticky;left:0;z-index:1;background:var(--panel);min-width:140px;max-width:200px;text-align:left;padding:13px}
.schedule-table tbody th>button{background:transparent;padding:3px 0;min-height:36px;color:var(--text);font-size:12px;font-weight:600;text-align:left;max-width:175px;overflow-wrap:anywhere}
.schedule-table tbody th>button:hover{color:var(--accent)}
.schedule-table tbody th>strong{font-size:12px;font-weight:600;overflow-wrap:anywhere}
.schedule-table tbody th>small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:4px}
.schedule-cell{width:100%;border-radius:10px;min-height:72px;padding:13px 8px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:5px;line-height:1.6;border:1px solid var(--line);font-size:11px;color:var(--text);background:var(--bg)}
button.schedule-cell:hover{border-color:var(--accent);background:var(--soft)}
.schedule-cell strong{font-size:11px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.schedule-cell small{font-size:8px;color:var(--muted);font-weight:400}
.schedule-cell-work{background:var(--soft);border-color:var(--accent-line)}
.schedule-cell-off{background:#15221d;border-color:#2c5140}.schedule-off-label{color:var(--good);font-size:11px;font-weight:600}
.schedule-cell-pending{border-style:dashed;color:var(--muted)}
.schedule-pending-label{font-size:10px;font-weight:400}
.schedule-person-hours{display:flex;flex-direction:column;gap:4px;text-align:left;padding:7px;line-height:1.5;min-width:105px}
.schedule-person-hours>strong{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
.schedule-person-hours>small{color:var(--muted);font-size:9px}
.schedule-person-hours>span{font-size:9px;font-weight:500}
.schedule-good{color:var(--good)}.schedule-warning{color:#efbf91}.schedule-muted{color:var(--muted)}
.schedule-daybar,.schedule-mobile-people,.schedule-layout{display:none}
/* "Tu semana": the cook's own seven days, today marked. */
.schedule-me{padding:22px 24px;margin:0 0 22px;border-color:var(--accent-line)}
.schedule-me .eyebrow{font-size:10px;margin-bottom:6px}.schedule-me h2{font-size:19px;margin:0 0 14px}
.schedule-me-missing p:last-child{margin:0;color:var(--muted);font-size:13px;line-height:1.8}
.schedule-me-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.schedule-me-days li{display:flex;flex-direction:column;gap:6px;padding:11px 10px;border-radius:12px;border:1px solid var(--line);background:var(--bg);min-width:0}
.schedule-me-day{font-size:12px;font-weight:600}.schedule-me-day small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:2px}
.schedule-me-shift{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.35}.schedule-me-shift small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:3px}
.schedule-me-work{background:var(--soft);border-color:var(--accent-line)}
.schedule-me-off .schedule-me-shift{color:var(--good)}.schedule-me-pending .schedule-me-shift{color:var(--muted);font-weight:400}
.schedule-me-today{outline:2px solid var(--accent);outline-offset:1px}
.schedule-me-total{margin:14px 0 0;font-size:13px;color:var(--muted)}.schedule-me-total strong{color:var(--text)}
.schedule-today{padding:22px 24px;margin:0 0 22px;border-color:var(--accent-line)}
.schedule-today .eyebrow{font-size:10px;margin-bottom:6px}.schedule-today h2{font-size:19px;margin:0 0 14px}
.schedule-today-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.schedule-today-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--accent-line);background:var(--soft)}
.schedule-today-list small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:2px}
.schedule-today-shift{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}
.schedule-today-off{margin:12px 0 0;font-size:13px;color:var(--muted)}.schedule-today-off strong{color:var(--good)}
.schedule-row-me>th,.schedule-row-me>td{background:color-mix(in srgb,var(--accent) 9%,var(--panel))}
.schedule-row-me>th{box-shadow:inset 3px 0 0 var(--accent)}
.schedule-empty{padding:30px;text-align:left}.schedule-empty h2{font-size:21px}.schedule-empty p{font-size:13px;color:var(--muted);line-height:1.85}
.schedule-editor{padding:28px;border-color:var(--accent-line);scroll-margin-top:25px;margin:24px 0}
.schedule-editor h2{font-size:23px}.schedule-editor .eyebrow{font-size:10px;margin-bottom:9px}
.schedule-editor .field{margin:0 0 18px}.schedule-editor .field label{font-size:12px;margin-bottom:8px;color:var(--muted)}
.schedule-editor input,.schedule-editor select{font-size:16px}.schedule-editor textarea{font-size:14px}
.schedule-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.schedule-check{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.8;margin:18px 0}
.schedule-check input{margin:2px 0 0;min-width:21px}
.schedule-help{color:var(--muted);font-size:11px;line-height:1.9;margin:14px 0 20px}
.schedule-week-notes{padding:24px}.schedule-week-notes>label{font-size:13px;margin-bottom:11px}
.schedule-week-notes textarea{font-size:13px;line-height:1.8}
.schedule-notes{padding:24px}.schedule-notes h2{font-size:16px}.schedule-notes p{font-size:12px;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);margin-bottom:0}
.schedule-savebar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border:1px solid var(--accent-line);border-radius:16px;background:var(--soft);margin:22px 0}
.schedule-savebar strong{font-size:13px;font-weight:600}.schedule-savebar small{display:block;font-size:10px;line-height:1.8;margin-top:4px}.schedule-savebar button{font-size:12px;flex-shrink:0}
.schedule-review,.schedule-share{padding:26px}.schedule-review h2,.schedule-share h2{font-size:21px;margin-bottom:14px}
.schedule-review h3{font-size:13px;margin:22px 0 10px}
.schedule-section-top{justify-content:space-between;align-items:flex-start}.schedule-section-top .eyebrow{font-size:9px;margin-bottom:8px}
.schedule-issues{margin:12px 0 20px;padding-left:20px;font-size:12px;line-height:1.85;color:#efbf91}
.schedule-issues>li{margin-bottom:10px}.schedule-blockers{color:#ffb4bd}
.schedule-review>p,.schedule-share>p{font-size:12px;line-height:1.9;color:var(--muted)}
.schedule-share form>button{font-size:12px}.schedule-share>small{display:block;font-size:10px;line-height:1.9;margin-top:14px}
.schedule-error p{margin-bottom:12px;white-space:pre-wrap;overflow-wrap:anywhere}.schedule-error button{font-size:12px}
.schedule-footnote{font-size:10px;color:var(--muted);line-height:1.9;margin:25px 0}
@media(max-width:900px){
 .schedule-table-wrap{display:none}.schedule-mobile-people{display:grid;gap:13px}
 .schedule-person-card{padding:20px;margin:0}
 .schedule-person-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:15px}
 .schedule-person-top h3{font-size:17px;margin-bottom:5px;overflow-wrap:anywhere}
 .schedule-sector-label{color:var(--muted);font-size:10px}.schedule-person-top>.text-btn{font-size:11px;min-height:36px}
 .schedule-day-label{font-size:10px;color:var(--muted);margin-bottom:8px}
 .schedule-person-card .schedule-cell{align-items:flex-start;text-align:left;padding:16px;min-height:76px}
 .schedule-person-card .schedule-cell strong{font-size:17px}.schedule-person-card .schedule-cell small{font-size:10px}
 .schedule-person-card .schedule-off-label{font-size:15px}.schedule-person-card .schedule-pending-label{font-size:12px}
 .schedule-person-card .schedule-person-hours{margin-top:14px;display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:0}
 .schedule-person-card .schedule-person-hours>strong{font-size:17px}.schedule-person-card .schedule-person-hours>small{align-self:center;font-size:10px;text-align:right}
 .schedule-person-card .schedule-person-hours>span{grid-column:1/-1;font-size:10px}
 .schedule-daybar{display:flex;align-items:flex-end;gap:9px;margin-bottom:16px}
 .schedule-daybar label{flex:1;min-width:0;font-size:10px;color:var(--muted)}
 .schedule-daybar select{min-height:48px;font-size:13px;margin-top:6px}
 .schedule-daybar button{width:44px;padding:10px 5px;min-height:48px;font-size:18px;flex-shrink:0}
 /* Phones choose: the whole week like the Excel (scrolls sideways, names stay put) or one day at a time. */
 .schedule-layout{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin:4px 0 6px}
 .schedule-layout button{min-height:42px;border-radius:10px;font-size:13px;font-weight:600;background:transparent;color:var(--muted);border:1px solid transparent}
 .schedule-layout button[aria-pressed="true"]{background:var(--soft);color:var(--text);border-color:var(--accent-line)}
 .schedule-view-week .schedule-table-wrap{display:block;max-height:none}
 .schedule-view-week .schedule-mobile-people,.schedule-view-week .schedule-daybar{display:none}
 .schedule-view-week .schedule-table{min-width:760px}
 .schedule-view-week .schedule-table thead th{min-width:84px;padding:7px}
 .schedule-view-week .schedule-table thead th:first-child,.schedule-view-week .schedule-table tbody th{min-width:96px;max-width:110px;padding:9px}
 .schedule-view-week .schedule-table td{padding:5px}
 .schedule-view-week .schedule-cell{min-height:54px;padding:8px 4px}
 .schedule-me-days{grid-template-columns:1fr}
 .schedule-me-days li{flex-direction:row;align-items:center;justify-content:space-between;padding:10px 12px}
 .schedule-me-shift{text-align:right}
}
@media(max-width:700px){
 .schedule-weekbar{padding:14px 10px;gap:8px}.schedule-weekbar input{min-height:44px;max-width:190px;width:100%;font-size:13px}
 .schedule-weekbar label{font-size:9px}.schedule-weekbar>div>span{font-size:10px}.schedule-arrow{width:39px;font-size:18px;padding:7px}
 .schedule-status{gap:8px;margin:18px 0}.schedule-status p{font-size:10px}
 .schedule-toolbar{align-items:stretch;gap:10px}.schedule-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}
 .schedule-toolbar-actions button{padding:10px 8px;font-size:10px;min-height:46px;line-height:1.65}
 .schedule-toolbar-actions button:last-child:nth-child(odd){grid-column:1/-1}
 .schedule-toolbar>.text-btn{font-size:11px;margin-left:auto;min-height:40px}
 .schedule-stats{gap:8px}.schedule-stats>div{padding:15px 11px;border-radius:13px}.schedule-stats strong{font-size:24px}.schedule-stats span{font-size:9px}
 .schedule-filter{gap:7px;margin-top:20px}.schedule-filter label{max-width:none;min-width:0;width:100%}.schedule-filter p{width:100%;font-size:10px;margin:0}
 .schedule-filter select{font-size:13px}
 .schedule-editor,.schedule-review,.schedule-share{padding:22px 18px}.schedule-editor h2{font-size:21px}
 .schedule-form-grid{gap:12px}.schedule-editor .field label{font-size:11px}.schedule-editor input{padding:10px;font-size:15px}
 .schedule-check{font-size:11px;gap:9px}.schedule-help{font-size:10px}
 .schedule-actions{flex-direction:column;align-items:stretch;gap:8px}.schedule-actions button{width:100%;font-size:12px}
 .schedule-week-notes,.schedule-notes{padding:20px 18px}
 .schedule-savebar{flex-direction:column;align-items:stretch;padding:19px 18px;gap:14px}.schedule-savebar button{width:100%}
 .schedule-review h2,.schedule-share h2{font-size:20px}.schedule-issues{font-size:11px;padding-left:17px}
 .schedule-share form>button{width:100%;font-size:11px}.schedule-section-top .pill{font-size:9px}
 .schedule-empty{padding:23px 18px}.schedule-empty h2{font-size:20px}.schedule-empty p{font-size:12px}
}

@media(min-width:1400px){.schedule-table thead th:first-child{position:relative;left:auto}.schedule-table tbody th{position:relative;left:auto}}

.schedule-report-actions{padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin:18px 0}.schedule-report-actions>div{display:flex;gap:10px;flex-wrap:wrap}.schedule-report-actions a{font-size:12px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center}.schedule-report-actions small{display:block;font-size:11px;line-height:1.7;color:var(--muted);margin-top:12px}.schedule-report-actions p{font-size:12px;color:var(--muted);margin:0}@media(max-width:700px){.schedule-report-actions>div{display:grid;grid-template-columns:1fr 1fr}.schedule-report-actions a{padding:10px 8px;font-size:11px;text-align:center}}
