.schedule-view{
  --sv-green:#174a44;--sv-green2:#287568;--sv-mint:#deeee8;--sv-mint2:#edf8f3;
  --sv-line:#d4e3de;--sv-text:#17342f;--sv-muted:#6c817c;--sv-white:#fff;
  --sv-weekend-bg:#fff5f5;--sv-weekend-line:#efd8d8;--sv-weekend-text:#a54c4c;
  --sv-dayoff:#fcebdd;--sv-dayoff-text:#7b4b2e;--sv-vac:#e8f0ff;--sv-vac-text:#365a91;
  --sv-project:#f1e9fb;--sv-project-text:#6b4b86;--sv-duty1:#fff1d6;--sv-duty1-text:#76551d;
  --sv-duty2:#e2f5f4;--sv-duty2-text:#356662;
  --sv-matrix-date:58px;--sv-matrix-employee:116px;--sv-matrix-row:88px;
  width:100%;min-width:0;max-width:100%;overflow-x:hidden;color: var(--wt-text, var(--sv-text))
}
.schedule-view__section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin-top:22px}.schedule-view__section-head h2{margin:0;font-size:21px}
.schedule-view__content{min-width:0;max-width:100%;overflow-x:hidden}

.schedule-view__segments{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:13px;padding:4px;border-radius: 11px;background: var(--wt-surface-alt, #edf2f0)}
.schedule-view__segments#schedule-view-scope{margin-top:8px}
.schedule-view [hidden]{display:none!important}
.schedule-view__segment{min-height:39px;border: 0;border-radius: 8px;background: transparent;color: var(--wt-muted, var(--sv-muted));font-size:13px;font-weight:800}
.schedule-view__segment--active{background: var(--wt-surface, #fff);color: var(--wt-success-text, var(--sv-green));box-shadow: 0 2px 7px var(--wt-shadow, rgba(23,74,68,.1))}
.schedule-view__period{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;margin-top:14px}
.schedule-view__period strong{display:flex;align-items:center;justify-content:center;min-height:42px;text-align:center;font-size:14px;line-height:1.2}
.schedule-view__period-button{width:42px;height:42px;padding:0;border: 1px solid var(--wt-success-border, var(--sv-line));border-radius: 10px;background: var(--wt-surface, #fff);display:grid;place-items:center;color: var(--wt-success-text, var(--sv-green));cursor:pointer}
.schedule-view__period-button svg{display:block;width:16px;height:16px;stroke: currentColor;stroke-width: 2;fill: none;stroke-linecap: round;stroke-linejoin: round}
.schedule-view__period-button:active{transform:translateY(1px)}
.schedule-view__period-button:disabled,.schedule-view__segment:disabled{opacity:.55;cursor:default}
.schedule-view__feedback{margin:12px 0 0;padding:10px 12px;border-radius: 10px;color: var(--wt-muted, var(--sv-muted));background: var(--wt-surface-alt, #edf2f0);font-size:12px;line-height:1.35}
.schedule-view__feedback--error{color: var(--wt-error-text, #8b4141);background: var(--wt-error-soft, #fff0f0)}
.schedule-view__feedback[hidden]{display:none!important}
.schedule-view__week-list{display:grid;gap:10px;margin-top:12px}
.schedule-view__day-card{border: 1px solid var(--wt-success-border, var(--sv-line));border-radius: 14px;background: var(--wt-surface, #fff);overflow:hidden}
.schedule-view__day-card.today{border-color: var(--wt-success-border, #7eb9ae);background: var(--wt-success-soft, #fbfefd)}
.schedule-view__day-card.weekend{background: var(--wt-surface, #fff);border-color: var(--wt-error-border, var(--sv-weekend-line))}
.schedule-view__day-card.weekend .schedule-view__day-card-head{background: var(--wt-error-soft, #fff1f1)}
.schedule-view__day-card.weekend .schedule-view__day-card-date strong,.schedule-view__day-card.weekend .schedule-view__day-card-date span{color: var(--wt-error-text, var(--sv-weekend-text))}
.schedule-view__day-card-head{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:11px 12px;border-bottom: 1px solid var(--wt-success-border, #edf1ef);background: var(--wt-success-soft, #fbfdfc)}
.schedule-view__day-card-date{display:flex;align-items:baseline;gap:7px}
.schedule-view__day-card-date strong{font-size:17px}.schedule-view__day-card-date span{color: var(--wt-muted, var(--sv-muted));font-size:12px;font-weight:700}
.schedule-view__rows{padding:5px 12px 8px}
.schedule-view__employee-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;border-bottom: 1px solid var(--wt-success-border, #eef2f1)}
.schedule-view__employee-row:last-child{border-bottom: 0}
.schedule-view__person-line{display:flex;align-items:center;flex-wrap:wrap;gap:4px 5px;min-width:0}.schedule-view__person-line strong{font-size:13px}
.schedule-view__person-tags{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}
.schedule-view__person-tag{display:inline-flex;align-items:center;min-height:22px;padding:3px 6px;border-radius: 7px;font-size:8px;font-weight:850;white-space:nowrap}
.schedule-view__person-tag.hospitality{background: var(--wt-warning-soft, var(--sv-duty1));color: var(--wt-warning-text, var(--sv-duty1-text))}.schedule-view__person-tag.freshness{background: var(--wt-success-soft, var(--sv-duty2));color: var(--wt-success-text, var(--sv-duty2-text))}.schedule-view__person-tag.project{background: var(--wt-info-soft, var(--sv-project));color: var(--wt-violet-text, var(--sv-project-text))}.schedule-view__person-tag.neutral{background: var(--wt-surface-alt, #edf2f0);color: var(--wt-success-text, #526a65)}
.schedule-view__assignment-right{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px}
.schedule-view__shift{font-size:12px;font-weight:850;color: var(--wt-success-text, var(--sv-green));white-space:nowrap}
.schedule-view__absence{padding:5px 8px;border-radius: 8px;font-size:11px;font-weight:800;white-space:nowrap}.schedule-view__absence.day_off{background: var(--wt-warning-soft, var(--sv-dayoff));color: var(--wt-warning-text, var(--sv-dayoff-text))}.schedule-view__absence.vacation{background: var(--wt-info-soft, var(--sv-vac));color: var(--wt-info-text, var(--sv-vac-text))}
.schedule-view__work-marker{padding:5px 8px;border-radius: 8px;background: var(--wt-surface-alt, #edf2f0);color: var(--wt-success-text, #526a65);font-size:11px;font-weight:800;white-space:nowrap}
.schedule-view__empty,.schedule-view__day-empty{padding:16px 12px;color: var(--wt-muted, var(--sv-muted));font-size:13px;text-align:center}
.schedule-view__matrix-scroll{position:relative;width:100%;min-width:0;max-width:100%;height:calc(100dvh - 282px);min-height:460px;margin-top:12px;overflow:auto;box-sizing:border-box;border: 1px solid var(--wt-success-border, var(--sv-line));border-radius: 14px;background: var(--wt-surface, #fff);overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.schedule-view__matrix{width:max-content;min-width:100%;border-collapse: separate;border-spacing: 0;table-layout:fixed;font-size:10px}
.schedule-view__matrix th,.schedule-view__matrix td{border-right: 1px solid var(--wt-success-border, #e2ebe8);border-bottom: 1px solid var(--wt-success-border, #e2ebe8)}.schedule-view__matrix tr>*:last-child{border-right: 0}
.schedule-view__matrix-groups th{position:sticky;top:0;z-index:8;height:26px;background: var(--wt-surface-alt, #f0f5f3);color: var(--wt-muted, #687c77);font-size:9px;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.04em}
.schedule-view__matrix-groups .schedule-view__date-head{left:0;z-index:11;width:var(--sv-matrix-date);min-width:var(--sv-matrix-date)}
.schedule-view__matrix-employees th{position:sticky;top:26px;z-index:7;width:var(--sv-matrix-employee);min-width:var(--sv-matrix-employee);height:64px;padding:6px;background: var(--wt-surface, #fff);text-align:center;vertical-align:middle}
.schedule-view__matrix-employees .schedule-view__date-head{left:0;z-index:10;width:var(--sv-matrix-date);min-width:var(--sv-matrix-date);background: var(--wt-surface-alt, #f5f8f7)}
.schedule-view__employee-head{display:grid;justify-items:center;gap:4px}.schedule-view__avatar{position:relative;width:36px;height:36px;display:grid;place-items:center;overflow:hidden;border: 1px solid var(--wt-success-border, #8acabc);border-radius: 50%;background: var(--wt-success-soft, #e9f6f1);color: var(--wt-success-text, #1b5e55);font-size:11px;font-weight:800}.schedule-view__avatar--photo{color: transparent;border-color: var(--wt-success-border, #7eb9ae);background: var(--wt-success-soft, #dceee8)}.schedule-view__avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius: 50%}.schedule-view__employee-head-name{max-width:102px;font-size:9px;font-weight:800;line-height:1.12}
.schedule-view__date-cell{position:sticky;left:0;z-index:4;width:var(--sv-matrix-date);min-width:var(--sv-matrix-date);height:auto;min-height:52px;max-height:none;padding:5px;background: var(--wt-surface, #fff);text-align:center;vertical-align:middle}
.schedule-view__date-cell.weekend{background: var(--wt-error-soft, #fff0f0);color: var(--wt-error-text, var(--sv-weekend-text))}.schedule-view__date-num{display:block;font-size:14px;font-weight:850}.schedule-view__date-dow{display:block;margin-top:2px;color: var(--wt-muted, #71847f);font-size:8px;font-weight:700}.schedule-view__date-cell.weekend .schedule-view__date-dow{color: var(--wt-error-text, var(--sv-weekend-text))}
.schedule-view__matrix-cell{width:var(--sv-matrix-employee);min-width:var(--sv-matrix-employee);height:auto;min-height:52px;max-height:none;overflow:visible;padding:6px;background: var(--wt-surface, #fff);vertical-align:top}
/* 1.0.11-r77 flex month row */
.schedule-view__matrix-row{min-height:52px;height:auto}
.schedule-view__matrix-cell>.schedule-view__shift-card,.schedule-view__matrix-cell>.schedule-view__abs-card,.schedule-view__matrix-cell>.schedule-view__work-card{margin-top:0}
.schedule-view__matrix-row.weekend .schedule-view__matrix-cell{background: var(--wt-error-soft, #fff8f8)}.schedule-view__matrix-row.today .schedule-view__date-cell{box-shadow: inset 3px 0 0 var(--wt-success-border, #287568)}.schedule-view__matrix-row.today .schedule-view__matrix-cell{background: var(--wt-success-soft, #fbfefd)}
.schedule-view__matrix .schedule-view__group-start,.schedule-view__matrix-groups .schedule-view__group-start,.schedule-view__matrix-employees .schedule-view__group-start{border-left: 2px solid var(--wt-success-border, #bfd3cd)!important}
.schedule-view__shift-card{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:5px 6px;border: 1px solid var(--wt-success-border, #88c8ba);border-radius: 8px;background: var(--wt-success-soft, #e7f4ef);color: var(--wt-success-text, #174a44);font-weight:800;line-height:1.2}.schedule-view__time{font-size:11px}
.schedule-view__duty{display:inline-block;width:max-content;max-width:100%;padding:3px 5px;border-radius: 6px;font-size:7px;white-space:nowrap}.schedule-view__duty.hospitality{background: var(--wt-warning-soft, var(--sv-duty1));color: var(--wt-warning-text, #80551a);border: 1px solid var(--wt-warning-border, #e8c98e)}.schedule-view__duty.freshness{background: var(--wt-success-soft, var(--sv-duty2));color: var(--wt-success-text, #17675f);border: 1px solid var(--wt-success-border, #a7d9d4)}.schedule-view__duty.neutral,.schedule-view__mini-neutral{display:inline-block;width:max-content;max-width:100%;padding:3px 5px;border-radius: 6px;background: var(--wt-surface-alt, #edf2f0);color: var(--wt-success-text, #526a65);font-size:7px;white-space:nowrap}
.schedule-view__project-bar{margin-top:5px;padding:5px;border: 1px solid var(--wt-info-border, #d9c7ed);border-radius: 7px;background: var(--wt-info-soft, var(--sv-project));color: var(--wt-violet-text, var(--sv-project-text));font-size:8px;font-weight:800}
.schedule-view__matrix-cell.day_off{background: var(--wt-warning-soft, var(--sv-dayoff))!important}.schedule-view__matrix-cell.vacation{background: var(--wt-info-soft, var(--sv-vac))!important}
.schedule-view__abs-card{display:flex;align-items:center;justify-content:center;width:100%;min-height:0;margin:0;padding:5px 6px;border-radius: 8px;font-size:11px;font-weight:800;line-height:1.2;text-align:center}.schedule-view__abs-card.day_off{border: 1px solid var(--wt-warning-border, #e6b996);color: var(--wt-warning-text, var(--sv-dayoff-text));background: var(--wt-warning-soft, var(--sv-dayoff))}.schedule-view__abs-card.vacation{border: 1px solid var(--wt-info-border, #b7c9ee);color: var(--wt-info-text, var(--sv-vac-text));background: var(--wt-info-soft, var(--sv-vac))}
.schedule-view__work-card{display:flex;align-items:center;justify-content:center;width:100%;min-height:0;margin:0;padding:5px 6px;border: 1px solid var(--wt-success-border, #88c8ba);border-radius: 8px;background: var(--wt-success-soft, #e7f4ef);color: var(--wt-success-text, #174a44);font-size:11px;font-weight:800;line-height:1.2}
@media(max-width:360px){.schedule-view__segment{font-size:11.5px}.schedule-view__matrix-scroll{height:calc(100dvh - 272px)}}

/* Common shell palette; categorical colors above intentionally preserved. */
.schedule-view { --sv-green:var(--brand-green-dark); --sv-green2:var(--brand-green); --sv-mint:var(--brand-mint-soft); --sv-mint2:var(--ui-surface-info); --sv-line:var(--ui-border); --sv-text:var(--brand-text); --sv-muted:var(--ui-text-secondary); }
.schedule-view__feedback { color: var(--wt-muted, var(--ui-text-secondary)); background: var(--wt-success-soft, var(--ui-surface-info)); }
.schedule-view__feedback--error { color: var(--wt-error-text, var(--ui-danger-text)); background: var(--wt-error-soft, var(--ui-semantic-error-bg)); }
:is(.schedule-view__collapse-button,.schedule-view__period-button,.schedule-view__segment):focus-visible { outline: 2px solid var(--wt-success-border, var(--brand-green)); outline-offset: 2px; }

.schedule-view__retry{margin-top:12px}
