.schedule-coverage{gap:4px;min-width:0;margin:4px 6px 8px;display:grid}.schedule-coverage__group{border:1px solid var(--border);background:var(--surface-muted);min-width:0;color:var(--muted);border-radius:6px;align-items:baseline;gap:4px;padding:5px 6px;font-size:11px;line-height:1.3;display:flex}.schedule-coverage__group.has-shortage{color:var(--warning-fg);background:color-mix(in srgb, var(--warning-color) 12%, var(--surface));border-color:color-mix(in srgb, var(--warning-color) 40%, var(--border))}.schedule-coverage__group.is-covered{color:var(--success-fg);background:var(--success-subtle);border-color:color-mix(in srgb, var(--success-color) 25%, var(--border))}.schedule-coverage__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.schedule-coverage__count{white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0}.schedule-day-view .schedule-coverage{margin:0 0 14px}.schedule-day-view .schedule-coverage__group{padding:7px 10px;font-size:12px}.generation-outcome>.generation-outcome__preferences,.generation-outcome>.demand-workload-note{flex-basis:100%}.generation-outcome>.demand-workload-note{color:var(--text);font-size:13px;line-height:1.5}.generation-outcome__preferences{border-top:1px solid var(--border);padding-top:10px;font-size:13px}.generation-outcome__preferences summary{cursor:pointer;min-height:28px;font-weight:600}.demand-workload-note{border-left:3px solid var(--accent);background:var(--accent-subtle);margin:0;padding:10px 12px;font-size:13px;line-height:1.5}.schedule-page{gap:24px;display:grid}.schedule-page>.page-header{align-items:center;margin-bottom:0}.schedule-controls{flex-wrap:wrap;align-items:end;gap:16px 24px;min-width:0;display:flex}.schedule-controls>.schedule-toolbar{flex:220px;max-width:320px}.schedule-controls>.schedule-nav{flex:auto;margin-top:0}.topbar__title--schedule{flex-wrap:wrap;align-items:center;gap:0 16px;display:flex}#schedule-title-status:empty{display:none}@media (max-width:768px){body .schedule-page{gap:14px}body .schedule-page .schedule-nav__arrow{width:44px;min-width:44px;height:44px}body .schedule-page .schedule-nav__period{flex:1;min-width:0}body .schedule-page .schedule-nav__label{white-space:normal;text-align:center;font-size:12px}body .schedule-page .schedule-nav__today{min-height:44px;padding-inline:10px}}.schedule-approval-handoff{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--accent) 4%, var(--surface));border-radius:12px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:10px 14px;display:grid}.schedule-approval-handoff__icon{width:24px;height:24px;color:var(--accent-strong);background:var(--accent-subtle);border-radius:50%;place-items:center;display:grid}.schedule-approval-handoff__copy{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:0 14px;min-width:0;display:flex}.schedule-approval-handoff__copy strong{color:var(--text);font-size:14px}.schedule-approval-handoff__copy>span,.schedule-approval-handoff__copy p{color:var(--muted);font-size:13px;line-height:1.5}.schedule-approval-handoff__copy p{margin:2px 0 0}.schedule-approval-handoff__actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;display:flex}.schedule-approval-handoff__actions .button{min-height:44px;padding:8px 12px;font-size:13px}.schedule-approval-handoff__actions .button:last-child{color:var(--text-secondary);border-color:#0000}.schedule-approval-handoff__details{min-width:0;color:var(--muted);font-size:13px;line-height:1.5}.schedule-approval-handoff__details summary{cursor:pointer;width:fit-content;min-height:44px;color:var(--text-secondary);align-items:center;list-style:none;display:flex}.schedule-approval-handoff__details summary::-webkit-details-marker{display:none}.schedule-approval-handoff__details summary{gap:8px}.schedule-approval-handoff__details[open]{flex-basis:100%}.schedule-approval-handoff__details summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.schedule-approval-handoff__details p{margin:10px 0}.schedule-approval-handoff__details a{color:var(--accent-strong)}@media (max-width:1100px){.schedule-approval-handoff{grid-template-columns:24px minmax(0,1fr)}.schedule-approval-handoff__actions{grid-column:2}}@media (max-width:768px){.schedule-controls{gap:14px}.schedule-controls>.schedule-toolbar{flex-basis:100%;max-width:none}.schedule-controls>.schedule-nav{width:100%}.schedule-approval-handoff{padding:10px 12px}.schedule-approval-handoff__icon{align-self:start;margin-top:2px}.schedule-approval-handoff__actions{grid-column:1/-1;justify-content:stretch}.schedule-approval-handoff__actions .button{flex:auto}}.schedule-import-card{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));background:color-mix(in srgb, var(--accent-subtle) 65%, var(--surface));border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(220px,320px);align-items:end;gap:18px 24px;padding:20px;display:grid}.schedule-import-card--notice{align-items:center}.schedule-import-card__copy,.schedule-import-card--notice>div:first-child{gap:6px;display:grid}.schedule-import-card h3,.schedule-import-card p{margin:0}.schedule-import-card__eyebrow{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.schedule-import-card__location{gap:7px;font-weight:700;display:grid}.schedule-import-card__location select{width:100%;min-width:0}.schedule-import-card__next{color:var(--muted)}.schedule-import-card .inline-error,.schedule-import-card__actions{grid-column:1/-1}.schedule-import-card__actions{flex-wrap:wrap;gap:10px;display:flex}@media (max-width:720px){.schedule-import-card{grid-template-columns:1fr;padding:16px}.schedule-import-card__actions .button{flex:140px}}.schedule-toolbar{grid-template-columns:minmax(0,440px);align-items:end;gap:14px;display:grid}.schedule-field{min-width:0}.schedule-page__action-label--short{display:none}@media (max-width:768px){.schedule-page .page-header__actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.schedule-page .page-header__actions>.button,.schedule-page .page-header__actions>.page-actions-menu{width:100%;min-width:0}.schedule-page .page-header__actions .button{white-space:normal;width:100%;min-width:0;padding-inline:8px;font-size:13px;line-height:1.15}.schedule-page .page-header__actions .page-actions-menu>.button{height:100%}.schedule-page .page-header__actions>.page-actions-menu:nth-child(odd) .page-actions-menu__dropdown{left:0;right:auto}.schedule-page__action-label--full{display:none}.schedule-page__action-label--short{display:inline}}@media (max-width:420px){.schedule-page .page-header__actions{gap:6px}.schedule-page .page-header__actions .button{padding-inline:6px;font-size:12px}}.schedule-nav--standalone{justify-content:flex-end;margin-top:4px}.schedule-nav{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.schedule-nav__period{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.schedule-nav__label{letter-spacing:-.01em;text-align:center;text-transform:capitalize;white-space:nowrap;min-width:0;padding:0 8px;font-size:15px;font-weight:700}.schedule-nav__arrow{border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--text);background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:20px;line-height:1;transition:background .15s,border-color .15s;display:flex}.schedule-nav__arrow:hover{background:var(--surface-muted);border-color:var(--border-strong)}.schedule-nav__today{padding:5px 12px;font-size:13px}.schedule-view-toggle{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.schedule-view-toggle__btn{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:5px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.schedule-view-toggle__btn.is-active{background:var(--accent);color:#fff}.schedule-view-toggle__btn:not(.is-active):hover{background:var(--surface-muted);color:var(--text)}@media (max-width:720px){.schedule-view-toggle{display:none}.schedule-nav{justify-content:center;gap:8px;width:100%}.schedule-nav__period{gap:4px}.schedule-nav__label{min-width:0;padding:0 4px;font-size:14px}.schedule-nav__today{margin-left:4px}}.schedule-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:20px;display:grid}@media (min-width:1440px){.schedule-layout{grid-template-columns:320px minmax(0,1fr)}}@media (max-width:720px){.schedule-layout{grid-template-columns:minmax(0,1fr)}.schedule-sidebar{display:none}}.schedule-sidebar{z-index:9;border:1px solid var(--border);background:var(--surface);border-radius:14px;gap:16px;padding:16px;display:grid;position:sticky;top:88px}.schedule-sidebar__header h3{margin-bottom:4px;font-size:15px;font-weight:600}.schedule-sidebar__header p{color:var(--muted);font-size:13px}.schedule-employee-list{gap:6px;max-height:720px;padding-right:4px;display:grid;overflow-y:auto}@media (min-width:1361px){.schedule-page .schedule-employee-list{max-height:calc(100dvh - 250px)}}.schedule-employee{border:1px solid var(--border);background:var(--surface-muted);cursor:grab;border-radius:10px;gap:3px;padding:10px 12px;transition:border-color .15s,box-shadow .15s;display:grid}.schedule-employee:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.schedule-employee:active{cursor:grabbing}.schedule-employee.is-dragging{opacity:.5}.schedule-employee__name{font-size:13.5px;font-weight:600}.schedule-employee__meta{color:var(--muted);font-size:12px}.schedule-employee.is-guest{border-color:color-mix(in srgb, var(--warning-color) 35%, var(--border));background:color-mix(in srgb, var(--warning-color) 6%, var(--surface-muted))}.schedule-employee.is-guest:hover{border-color:var(--warning-color);box-shadow:0 0 0 2px color-mix(in srgb, var(--warning-color) 15%, transparent)}.schedule-employee__location-badge{color:var(--warning-strong);background:color-mix(in srgb, var(--warning-color) 15%, transparent);border-radius:4px;margin-top:2px;padding:1px 6px;font-size:11px;font-weight:500;display:inline-block}.schedule-guest-section{border-top:1px solid var(--border);gap:8px;padding-top:12px;display:grid}.schedule-guest-section__toggle{all:unset;cursor:pointer;color:var(--text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.schedule-guest-section__toggle:hover{color:var(--accent)}.schedule-guest-section__count{background:color-mix(in srgb, var(--warning-color) 18%, transparent);color:var(--warning-strong);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:600}.schedule-guest-section__arrow{color:var(--muted);margin-left:auto}.schedule-guest-section__hint{color:var(--muted);margin:0;font-size:12px}.schedule-employee-list--guests{max-height:300px}.schedule-calendar{gap:10px;min-width:0;padding-bottom:6px;display:grid;overflow:auto hidden}.schedule-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.schedule-weekdays__cell{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-left:8px;font-size:10.5px;font-weight:600}.schedule-weekdays--week .schedule-weekdays__cell--week{text-transform:none;letter-spacing:0;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.schedule-weekdays__cell-day{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:11px;font-weight:600}.schedule-weekdays__cell-date{color:var(--text);font-size:13px;font-weight:700}.schedule-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.schedule-grid--week{grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-grid--week .schedule-day{min-height:280px}.schedule-day{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;gap:6px;min-height:160px;transition:border-color .15s;display:flex}.schedule-day.is-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.schedule-day.is-today .schedule-day__date span{color:var(--accent)}.schedule-day.is-outside{opacity:.5}.schedule-day.is-closed{background:var(--surface-muted)}.schedule-day.is-over{outline:2px dashed var(--accent);background:var(--accent-subtle)}.schedule-day__header{justify-content:space-between;align-items:center;padding:8px 10px 0;display:flex}.schedule-day__date{color:var(--muted);gap:1px;font-size:11px;display:grid}.schedule-day__date span{color:var(--text);font-size:15px;font-weight:700}.schedule-day__toggle{background:var(--danger-subtle);cursor:pointer;border:none;border-radius:999px;align-items:center;width:38px;height:20px;padding:2px;transition:background .2s;display:inline-flex}.schedule-day__toggle:disabled{cursor:not-allowed;opacity:.5}.schedule-day__toggle.is-on{background:var(--accent-subtle)}.schedule-day__toggle-handle{background:var(--danger-color);border-radius:50%;width:16px;height:16px;transition:transform .2s,background .2s}.schedule-day__toggle.is-on .schedule-day__toggle-handle{background:var(--accent);transform:translate(18px)}.schedule-day__meta{flex-wrap:wrap;gap:4px;padding:0 10px;display:flex}.schedule-day__badge{background:var(--danger-subtle);color:var(--danger-fg);border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:500}.schedule-day__badge--override,.schedule-day__badge--shortened{background:var(--accent-subtle);color:var(--accent-strong)}.schedule-day.is-holiday{box-shadow:inset 0 -3px 0 color-mix(in srgb, var(--danger-color) 65%, transparent)}.schedule-day.is-holiday .schedule-day__date>span,.schedule-day-picker__chip.is-holiday .schedule-day-picker__date{color:var(--danger-color)}.schedule-day-view__holiday{color:var(--danger-fg);font-weight:600}.schedule-day__content{display:contents}.schedule-day__body{gap:5px;min-width:0;padding:0 8px 8px;display:grid}.schedule-day__add{border:1px dashed var(--border);width:100%;height:26px;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border-radius:6px;justify-content:center;align-items:center;margin-top:2px;transition:opacity .15s,border-color .15s,color .15s,background .15s;display:flex}.schedule-day__add svg{width:12px;height:12px}.schedule-day:hover .schedule-day__add,.schedule-day.is-today .schedule-day__add{opacity:1}.schedule-day__add:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle);opacity:1}.schedule-shift-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left;cursor:default;overflow-wrap:anywhere;border-radius:8px;gap:3px;width:100%;min-width:0;padding:6px 8px;transition:border-color .15s,background .15s;display:grid;position:relative}.schedule-shift-chip__edit{all:unset;cursor:pointer;gap:3px;min-width:0;padding-right:22px;display:grid}.schedule-shift-chip:focus-within{border-color:var(--accent)}.schedule-shift-chip:hover{border-color:var(--accent);background:var(--surface-raised)}.schedule-shift-chip.is-dragging{opacity:.5}.schedule-shift-chip__info{gap:1px;display:grid}.schedule-shift-chip__name-row{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.schedule-shift-chip__name{-webkit-line-clamp:2;overflow-wrap:normal;min-width:0;max-width:100%;color:var(--text);-webkit-box-orient:vertical;font-size:12px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.schedule-shift-chip__employee-state{background:color-mix(in srgb, var(--warning-color) 18%, transparent);color:var(--warning-strong);white-space:nowrap;border-radius:999px;align-items:center;padding:1px 6px;font-size:10px;font-weight:600;line-height:1.2;display:inline-flex}.schedule-shift-chip__time{color:var(--text-secondary);font-size:11px;font-weight:500}.schedule-shift-chip__status{text-transform:uppercase;letter-spacing:.01em;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:500;overflow:hidden}.schedule-shift-chip__handle{all:unset;width:24px;height:24px;color:var(--muted);cursor:grab;place-items:center;font-size:13px;display:grid;position:absolute;top:2px;right:2px}.schedule-shift-chip__handle:active{cursor:grabbing}.schedule-shift-chip.status-planned{border-left:3px solid var(--accent)}.schedule-shift-chip.status-planned .schedule-shift-chip__name{color:var(--text)}.schedule-shift-chip.status-approved{background:#3b82f612;border-left:3px solid #3b82f6}.schedule-shift-chip.status-approved .schedule-shift-chip__name{color:var(--text)}.schedule-shift-chip.is-inactive-employee{background:color-mix(in srgb, #64748b 10%, var(--surface));border-style:dashed;box-shadow:inset 0 0 0 1px #64748b2e}.schedule-shift-chip.is-inactive-employee .schedule-shift-chip__name{color:var(--text)}.schedule-shift-chip.is-inactive-employee .schedule-shift-chip__time,.schedule-shift-chip.is-inactive-employee .schedule-shift-chip__status{color:var(--text-secondary)}.schedule-shift-chip.status-cancelled{border-left:3px solid var(--danger-color);opacity:.55;text-decoration:line-through}.schedule-shift-chip.is-guest{border-left:3px solid var(--warning-color);background:color-mix(in srgb, var(--warning-color) 8%, var(--surface))}.schedule-shift-chip.is-guest .schedule-shift-chip__name{color:var(--warning-strong)}.schedule-shift-chip.is-guest .schedule-shift-chip__status{background:color-mix(in srgb, var(--warning-color) 18%, transparent);color:var(--warning-strong)}.schedule-shift-chip.is-vacation-conflict{background:color-mix(in srgb, #06b6d4 8%, var(--surface));border-left:3px solid #06b6d4;outline:1px dashed #06b6d4}.schedule-shift-chip.is-vacation-conflict .schedule-shift-chip__name{color:#0e7490}.schedule-day__more{width:fit-content;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:none;padding:0 8px;font-size:11px;transition:color .15s}.schedule-day__more:hover,.schedule-day__more:focus-visible{color:var(--accent);outline:none}.schedule-day-shifts-overlay{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a85;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.schedule-day-shifts-dialog{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;width:min(520px,100%);max-height:min(760px,100vh - 36px);padding:18px;animation:.15s confirm-in;display:grid;box-shadow:0 22px 70px #0f172a52}.schedule-day-shifts-dialog__header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.schedule-day-shifts-dialog__header h3{color:var(--text);margin:0;font-size:18px;font-weight:700}.schedule-day-shifts-dialog__header p{color:var(--muted);margin:4px 0 0;font-size:13px}.schedule-day-shifts-dialog__close{border:1px solid var(--border);background:var(--surface-muted);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:10px;font-size:22px;line-height:1}.schedule-day-shifts-dialog__close:hover,.schedule-day-shifts-dialog__close:focus-visible{color:var(--text);border-color:var(--accent);outline:none}.schedule-day-shifts-dialog__list{gap:8px;padding-right:4px;display:grid;overflow-y:auto}.schedule-day-shifts-dialog__shift{border:1px solid var(--border);background:var(--surface-muted);width:100%;color:var(--text);text-align:left;cursor:pointer;border-left-width:3px;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;transition:border-color .15s,background .15s;display:grid}.schedule-day-shifts-dialog__shift:hover,.schedule-day-shifts-dialog__shift:focus-visible{border-color:var(--accent);background:var(--surface-raised);outline:none}.schedule-day-shifts-dialog__shift.status-planned{border-left-color:var(--accent)}.schedule-day-shifts-dialog__shift.status-approved{border-left-color:#3b82f6}.schedule-day-shifts-dialog__shift.status-completed{border-left-color:#10b981}.schedule-day-shifts-dialog__shift.status-cancelled{border-left-color:var(--danger-color);opacity:.68}.schedule-day-shifts-dialog__shift-main{gap:3px;min-width:0;display:grid}.schedule-day-shifts-dialog__shift-main strong{overflow-wrap:anywhere;font-size:14px}.schedule-day-shifts-dialog__shift-main span{color:var(--text-secondary);font-size:12px;font-weight:500}.schedule-day-shifts-dialog__shift-meta{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.schedule-day-shifts-dialog__shift-meta span{background:var(--surface);color:var(--text-secondary);white-space:nowrap;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:600}.schedule-day-shifts-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.schedule-empty{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:12px;padding:16px;font-size:13px}.schedule-drag-preview{background:var(--surface);border:1px solid var(--accent);width:fit-content;min-width:200px;max-width:min(280px,100vw - 32px);box-shadow:0 12px 30px color-mix(in srgb, var(--text) 18%, transparent);cursor:grabbing;pointer-events:none;border-left-width:3px;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;line-height:1.3;display:inline-flex}.schedule-drag-preview__handle{color:var(--accent);flex:none;font-size:14px}.schedule-drag-preview__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.schedule-form{background:var(--surface);border:1px solid var(--border);border-radius:14px;gap:12px;padding:18px;display:grid}.schedule-form .form-grid{gap:10px}.schedule-form .field>span{font-size:12px}.schedule-form .field input,.schedule-form .field select,.schedule-form .textarea{border-radius:8px;padding:8px 10px;font-size:13px}.schedule-form .field-hint{color:var(--text-secondary);margin-top:4px;font-size:12px;line-height:1.4;display:block}.schedule-form__readonly-note{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border));background:color-mix(in srgb, var(--accent) 8%, var(--surface));color:var(--text-secondary);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.45}.schedule-form .textarea{min-height:64px}.schedule-form .form-actions{flex-wrap:wrap;gap:8px}.schedule-form .form-actions .button{padding:8px 14px;font-size:13px}.schedule-form__note{grid-column:1/-1}.schedule-generator-backdrop{justify-content:center;align-items:center;padding:16px;display:flex;overflow:hidden auto}.schedule-generator-modal{border:1px solid var(--border);background:var(--surface);width:min(980px,100vw - 32px);max-height:calc(100vh - 32px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.schedule-generator-modal .vac-print-modal__header{align-items:flex-start;min-height:78px;padding:18px 20px 14px}.schedule-generator-modal .vac-print-modal__header h3{margin:0;font-size:15.5px;line-height:1.25}.schedule-generator-modal .drawer__close{flex-shrink:0;margin-top:-2px}.schedule-generator-modal__subtitle{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.35}.schedule-generator-steps{z-index:1;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 55%, transparent);align-items:center;gap:10px;min-height:44px;padding:8px 18px;display:flex;position:relative}.schedule-generator-step{min-width:0;color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;font-size:12px;display:inline-flex}.schedule-generator-step:disabled{cursor:not-allowed;opacity:.55}.schedule-generator-step span{border:1px solid var(--border);background:var(--surface);width:22px;height:22px;color:var(--muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.schedule-generator-step.is-active{color:var(--text)}.schedule-generator-step strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.schedule-generator-step.is-active span,.schedule-generator-step.is-complete span{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--accent-subtle);color:var(--accent-strong)}.schedule-generator-steps__line{background:var(--border);width:42px;height:1px}.schedule-generator-modal .button--sm{min-height:0;padding:6px 10px;font-size:12px}.schedule-generator-modal__body{flex:1;grid-template-columns:minmax(300px,350px) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.schedule-generator-modal>.vac-print-modal__header,.schedule-generator-modal>.schedule-generator-steps,.schedule-generator-modal>.vac-print-modal__footer{flex-shrink:0}.schedule-generator-modal>.inline-error{margin:8px 18px}.generation-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.generation-modes--compact{gap:6px}.generation-modes--compact button{border:1px solid var(--border);background:var(--surface-muted);min-width:0;min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:11px 14px;font-size:13px}.generation-modes--compact button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-subtle);font-weight:600}.generation-mode-description{margin-top:-6px}.generation-period-shortcuts{flex-wrap:wrap;gap:8px;display:flex}.generation-period-shortcuts .button{min-height:44px}.generation-period-shortcuts .form-hint{flex-basis:100%;margin:0}.generation-cycle-picker{gap:9px;display:grid}.generation-cycle-details>summary,.generation-demand__settings>summary{cursor:pointer;color:var(--muted);padding:5px 0;font-size:12px}.generation-cycle-details[open]>summary,.generation-demand__settings[open]>summary{margin-bottom:8px}.generation-team{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px}.generation-team>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px;list-style:none;display:flex}.generation-team>summary::-webkit-details-marker{display:none}.generation-team>summary>span:first-child{gap:4px;display:grid}.generation-team>summary small{color:var(--muted);font-size:12px}.generation-team__edit{color:var(--accent-strong);text-align:right;font-size:12px}.generation-team__body{gap:14px;padding:0 12px 12px;display:grid}.generation-team__body>.button{justify-self:start}.generation-team>summary:focus-visible,.generation-cycle-details>summary:focus-visible,.generation-demand__settings>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.generation-outcome{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.generation-outcome strong{font-size:17px}.generation-outcome p{color:var(--muted);margin:5px 0 0;font-size:12px}.generation-outcome.has-shortage{border-color:var(--danger-fg)}.generation-outcome.has-shortage .button{color:var(--danger-fg)}.generation-outcome__workload{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;flex-basis:100%;gap:6px 16px;padding-top:10px;font-size:12px;display:flex}.generation-outcome__workload .is-above{color:var(--danger-fg);font-weight:600}.generation-outcome__workload .is-below{color:var(--warning-fg);font-weight:600}.cycle-editor{gap:8px;min-width:0;display:grid}.cycle-editor__chain{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;padding:4px 3px;display:flex}.cycle-editor__day{border:1px solid var(--border);background:var(--surface-muted);width:44px;min-width:44px;height:54px;color:var(--text);font:inherit;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:manipulation;border-radius:7px;align-content:center;justify-items:center;gap:3px;padding:5px;display:grid;position:relative}.cycle-editor__day small{color:var(--muted);font-size:10px}.cycle-editor__day b{font-size:13px}.cycle-editor__day.is-work{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--accent-subtle)}.cycle-editor__day.is-selected{outline:2px solid var(--accent);outline-offset:1px}.cycle-editor__day.is-dragging{opacity:.35}.cycle-editor__day.is-drop-before:before,.cycle-editor__day.is-drop-after:after{content:"";background:var(--accent);border-radius:2px;width:3px;position:absolute;top:-4px;bottom:-4px}.cycle-editor__day.is-drop-before:before{left:-6px}.cycle-editor__day.is-drop-after:after{right:-6px}.cycle-editor__day:focus-visible{outline:2px solid var(--text);outline-offset:2px}.cycle-editor__ghost{cursor:grabbing;box-shadow:0 5px 16px #0003}.cycle-editor__repeat{color:var(--muted);padding-inline:4px;font-size:22px}.cycle-editor__add,.cycle-editor__actions,.cycle-editor__move,.cycle-editor__panel-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cycle-editor__panel-heading,.cycle-editor__actions{justify-content:space-between}.cycle-editor__panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:10px;padding:12px;display:grid}.cycle-editor__panel strong{font-size:13px}.cycle-editor__hint{margin:0}.cycle-editor__remove{color:var(--danger-fg)}.cycle-editor__announcement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cycle-editor__day-details{font-size:12px}.cycle-editor__day-details>summary{cursor:pointer;color:var(--muted);padding-block:8px}.cycle-editor__day-details[open]>:not(summary){margin-top:10px}.cycle-editor .button--sm,.cycle-editor__actions .generation-switch button{min-height:40px}.generation-time__summary{gap:6px;font-size:13px;display:grid}@media (max-width:600px){.generation-cycle-details>summary,.generation-demand__settings>summary{min-height:44px;padding:12px 0}.schedule-generator-modal .generation-outcome .button{white-space:normal;text-align:left;min-height:44px}.cycle-editor .button--sm,.cycle-editor__actions .generation-switch button{min-height:44px}}.generation-cycle-picker>strong,.generation-time>strong{font-size:13px}.generation-preset-options{grid-template-columns:repeat(4,minmax(48px,1fr)) minmax(140px,1.5fr);gap:7px;display:grid}.generation-preset-options button,.generation-preset-options select{border:1px solid var(--border);background:var(--surface-muted);min-width:0;min-height:38px;color:var(--text);font:inherit;border-radius:8px;padding:7px 10px;font-size:13px}.generation-preset-options button{cursor:pointer}.generation-preset-options button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-subtle);font-weight:700}.generation-preset-options select{width:100%}.generation-duration{float:right;color:var(--muted);font-size:12px;font-weight:400}.generation-cycle--compact{align-items:center}.generation-cycle--compact>span{text-align:center;border:1px solid var(--border);background:var(--surface-muted);border-radius:6px;flex:0 0 34px;gap:3px;padding:4px;display:grid}.generation-cycle--compact>.is-work{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--accent-subtle)}.generation-cycle--compact>.generation-cycle__repeat{color:var(--muted);background:0 0;border:0;font-size:20px}.generation-settings>.schedule-generator-advanced__body{gap:14px;display:grid}.generation-settings-links{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.generation-validation>button{margin-top:8px;display:block}.generation-workload-details{min-width:0}.generation-demand{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:8px;padding:12px;display:grid}.generation-demand__header,.generation-demand__actions,.generation-shortage-actions{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.generation-demand__header{justify-content:space-between}.generation-demand__actions{font-size:12px}.generation-demand__rows{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.generation-demand__rows li{overflow-wrap:anywhere;flex-wrap:wrap;gap:4px 12px;display:flex}.generation-demand p{margin:0}.generation-demand{background:var(--surface);gap:12px;padding:16px}.generation-demand__header strong{font-size:14px;line-height:1.4}.generation-demand__team{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.generation-demand__team b{color:var(--text);font-weight:600}.generation-demand__hint,.generation-demand__alternative p{color:var(--muted);font-size:13px;line-height:1.5}.generation-demand__actions{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.generation-demand__actions .button{text-align:center;white-space:normal;justify-content:center;min-height:42px;padding:10px 12px;font-size:13px}.generation-demand__alternative{border-top:1px solid var(--border);padding-top:12px}.generation-text-action{color:var(--accent-strong);font:inherit;cursor:pointer;background:0 0;border:0;padding:5px 0;font-size:13px;font-weight:600}.generation-demand__alternative p{margin-top:4px}.generation-text-action:focus-visible,.schedule-generation-result__dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.schedule-page__heading{flex-wrap:wrap;align-items:center;gap:0 12px;display:flex;position:relative}.schedule-page__mobile-more{display:none}@media (max-width:768px){.schedule-page__desktop-more{display:none}.schedule-page__mobile-more{margin-left:auto;display:block}.schedule-page__mobile-more .button{min-width:44px;min-height:44px;padding-inline:10px;font-size:12px}.schedule-page__heading>.schedule-generation-result{flex-basis:100%}}.schedule-generation-result{min-width:0;max-width:100%}.schedule-generation-result>summary{width:fit-content;min-height:44px;color:var(--accent-strong);cursor:pointer;align-items:center;gap:6px;padding:4px 0;font-size:13px;line-height:1.4;list-style:none;display:flex}.schedule-generation-result>summary::-webkit-details-marker{display:none}.schedule-generation-result>summary strong{font-variant-numeric:tabular-nums}.schedule-generation-result>summary:hover{text-underline-offset:3px;text-decoration:underline}.schedule-generation-result>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.schedule-generation-result__panel{z-index:35;border:1px solid var(--border);background:var(--surface);border-radius:12px;width:min(360px,100vw - 64px);padding:16px;position:absolute;top:100%;left:0;box-shadow:0 12px 32px #0000002e}@media (min-width:769px){#schedule-title-status .schedule-generation-result{position:relative}#schedule-title-status .schedule-generation-result>summary{gap:8px}}.schedule-generation-result__heading{flex-wrap:wrap;align-items:center;gap:6px 12px;padding-right:30px;display:flex}.schedule-generation-result__heading strong{font-size:15px;line-height:1.4}.schedule-generation-result__heading span{color:var(--accent-strong);font-size:12px;font-weight:600}.schedule-generation-result__location,.schedule-generation-result__period{overflow-wrap:anywhere;font-size:13px;line-height:1.5}.schedule-generation-result .schedule-generation-result__location{margin:8px 0 0}.schedule-generation-result .schedule-generation-result__period{color:var(--muted);margin:2px 0 0}.schedule-generation-result__progress{flex-wrap:wrap;gap:8px 16px;margin-top:12px;font-size:13px;display:flex}.schedule-generation-result__progress strong{color:var(--text);font-variant-numeric:tabular-nums}.schedule-generation-result__actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.schedule-generation-result__actions .button{min-height:44px;padding:10px 14px;font-size:13px}.schedule-generation-result__dismiss{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:0;right:0}.schedule-generation-result__dismiss:hover{background:var(--surface-muted);color:var(--text)}@media (max-width:600px){.schedule-generation-result__panel{padding:14px}.schedule-generation-result__actions{display:flex}.schedule-generation-result__actions .button{white-space:normal;min-width:0;padding-inline:8px}}.generation-shortage-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;min-height:36px;font:inherit;border-radius:6px;margin-top:4px;padding:6px 8px;font-size:12px;display:block}.generation-calendar__scroll.staffing-coverage{container-type:inline-size}.generation-shortage-detail{white-space:normal;text-align:left;background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;gap:10px;width:min(720px,100cqw - 18px);max-width:100%;padding:12px;font-size:13px;display:grid;position:sticky;left:8px}.generation-shortage-detail p{line-height:1.5}.staffing-coverage .generation-shortage-detail .form-hint{max-width:none}.generation-shortage-reasons{gap:6px;display:grid}.generation-shortage-reasons summary{cursor:pointer;padding:4px 0;font-weight:600}.generation-shortage-reasons ul{margin:5px 0;padding-left:20px}.generation-shortage-toggle:focus-visible,.generation-shortage-reasons summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.generation-employee-tools{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(120px,1fr));gap:8px;display:grid}.generation-draft-notice,.generation-selection-summary{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;padding:12px}.generation-draft-notice{margin-bottom:16px}.generation-draft-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.generation-selection-summary .form-hint{margin:6px 0}.generation-employee-identity{gap:4px;min-width:0;display:grid}.generation-employee-ineligible{color:var(--muted);font-size:12px}.generation-employee-tools input,.generation-employee-tools select{border:1px solid var(--border);background:var(--surface-muted);width:100%;min-width:0;min-height:40px;color:var(--text);font:inherit;border-radius:8px;padding:8px 12px;font-size:13px}.generation-alignment-details>summary,.generation-notes>summary{cursor:pointer;color:var(--muted);padding:5px 0;font-size:12px}.generation-notes p{margin:8px 0 0}.generation-shortage-filter{align-items:center;gap:8px;padding:8px 0;font-size:12px;display:flex}.generation-shortage-filter input{accent-color:var(--accent)}.generation-tab-count{color:var(--danger-fg);background:var(--danger-subtle);border-radius:5px;margin-left:6px;padding:1px 5px;font-size:11px;display:inline-block}.generation-calendar>.staffing-distribution{border:0;padding:0}.generation-calendar>.generation-calendar__pagination{justify-content:center}.generation-calendar__pagination>span{text-align:center}.generation-modes--compact button:focus-visible,.generation-preset-options :is(button,select):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.generation-modes .schedule-generator-preset{min-height:110px}.schedule-generator-preset:disabled{opacity:.55;cursor:not-allowed}.generation-mode-note{border-left:3px solid var(--accent);background:var(--accent-subtle);border-radius:6px;margin:0;padding:12px 14px;font-size:13px;line-height:1.55}.generation-mode-note p{margin:0 0 6px}.generation-validation{border:1px solid #c88b36;border-radius:8px;margin:0;padding:12px;font-size:13px;line-height:1.5}.generation-time,.generation-alignment{gap:12px;display:grid}.schedule-generator-modal input:is([type=date],[type=time]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark] .schedule-generator-modal input:is([type=date],[type=time]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.generation-cycle{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.generation-cycle>div{text-align:center;border:1px solid var(--border);background:var(--surface-muted);border-radius:8px;flex:0 0 86px;align-content:start;gap:5px;min-height:96px;padding:9px 5px;display:grid}.generation-cycle>.is-work{background:var(--accent-subtle);border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.generation-cycle small{color:var(--muted);font-size:10px}.generation-cycle span{white-space:nowrap;font-size:11px}.generation-switch{flex-wrap:wrap;gap:6px;display:flex}.generation-switch button{background:var(--surface-muted);border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:9px 12px;font-size:13px}.generation-switch button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-subtle)}.generation-alignment__rows{max-height:260px;overflow:auto}.generation-alignment__row{border-bottom:1px solid var(--border);grid-template-columns:minmax(100px,1fr) minmax(80px,150px) auto;align-items:center;gap:10px;padding:9px 0;font-size:12px;display:grid}.generation-alignment__row select{width:100%;min-width:0}.generation-alignment__sequence{gap:3px;display:flex}.generation-alignment__sequence b{text-align:center;background:var(--surface-muted);width:22px;color:var(--muted);border-radius:4px;padding:5px 0}.generation-alignment__sequence .is-work{background:var(--accent-subtle);color:var(--text)}.generation-calendar{gap:10px;min-width:0;display:grid}.generation-calendar p{margin:0}.generation-calendar__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.generation-calendar__pagination{align-items:center;gap:10px;font-size:12px;display:flex}.generation-calendar__legend{color:var(--muted);flex-wrap:wrap;gap:8px 14px;font-size:12px;display:flex}.generation-calendar__legend b{background:var(--surface-muted);border-radius:4px;padding:3px 6px;display:inline-block}.generation-calendar__scroll{border:1px solid var(--border);border-radius:9px;max-height:480px;overflow:auto}.generation-calendar__table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.generation-calendar__table th,.generation-calendar__table td{text-align:center;border-bottom:1px solid var(--border);padding:7px 5px}.generation-calendar__table th:first-child{text-align:left;z-index:1;background:var(--surface);overflow-wrap:anywhere;min-width:135px;max-width:180px;padding-left:10px;position:sticky;left:0}.generation-calendar__table thead th{z-index:2;background:var(--surface-muted);white-space:nowrap;position:sticky;top:0}.generation-calendar__table thead th:first-child{z-index:3}.generation-calendar__table .is-outside-period{color:var(--muted);background:var(--surface-muted)}.generation-calendar__table tfoot{background:var(--surface-muted);font-weight:600}.generation-calendar__cell{background:var(--surface-muted);width:100%;min-width:52px;min-height:36px;color:var(--muted);cursor:pointer;font:inherit;border:1px solid #0000;border-radius:6px;place-content:center;gap:4px;padding:4px;display:grid}.generation-calendar__cell small{white-space:nowrap;font-size:9px}.generation-calendar .is-work{color:var(--text);background:var(--accent-subtle);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.generation-calendar .is-existing{color:var(--text);background:color-mix(in srgb, #478bea 18%, var(--surface))}.generation-calendar .is-skip{color:var(--text);background:color-mix(in srgb, #db923e 18%, var(--surface))}.generation-calendar__cell:focus-visible,.generation-switch button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:600px){.generation-shortage-toggle{min-height:44px}.generation-shortage-actions .button{white-space:normal;min-height:44px}.generation-shortage-reasons summary{min-height:44px;padding:12px 0}.generation-demand__actions :is(a,button){align-items:center;min-height:44px;display:flex}.generation-modes{grid-template-columns:minmax(0,1fr)}.generation-modes--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.generation-modes--compact button{padding:9px 5px;font-size:12px}.generation-preset-options{grid-template-columns:repeat(4,minmax(0,1fr))}.generation-preset-options select{grid-column:1/-1}.generation-employee-tools{grid-template-columns:minmax(0,1fr)}.generation-calendar__pagination{gap:6px}.generation-modes .schedule-generator-preset{min-height:0}.generation-alignment__row{grid-template-columns:minmax(100px,1fr) minmax(80px,1fr)}.generation-alignment__sequence{grid-column:1/-1}.generation-calendar__table th:first-child{min-width:105px;max-width:105px}}.schedule-generator-modal__body.is-scenario,.schedule-generator-modal__body.is-people,.schedule-generator-modal__body.is-preview{grid-template-columns:minmax(0,1fr)}.schedule-generator-modal__body.is-scenario .schedule-generator-form,.schedule-generator-modal__body.is-people .schedule-generator-form{border-right:0;justify-self:center;width:min(820px,100%)}.schedule-generator-modal__body.is-scenario .schedule-generator-preview,.schedule-generator-modal__body.is-people .schedule-generator-preview,.schedule-generator-modal__body.is-preview .schedule-generator-form{display:none}.schedule-generator-form{border-right:1px solid var(--border);align-content:start;gap:14px;min-width:0;padding:18px;display:grid;overflow:hidden auto}.schedule-generator-form__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.schedule-generator-step-panel{gap:16px;display:grid}.schedule-generator-intro{gap:4px;display:grid}.schedule-generator-intro strong{color:var(--text);font-size:15px}.schedule-generator-intro span{color:var(--muted);font-size:12.5px;line-height:1.45}.schedule-generator-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.schedule-generator-preset{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 42%, transparent);min-width:0;min-height:82px;color:var(--text);cursor:pointer;text-align:left;border-radius:10px;align-content:start;gap:6px;padding:14px;transition:border-color .15s,background .15s,box-shadow .15s;display:grid}.schedule-generator-preset:hover{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));background:color-mix(in srgb, var(--accent-subtle) 30%, var(--surface) 70%)}.schedule-generator-preset.is-active{border-color:color-mix(in srgb, var(--accent) 62%, var(--border));background:color-mix(in srgb, var(--accent-subtle) 58%, var(--surface) 42%);box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 20%, transparent)}.schedule-generator-preset strong{font-size:14px}.schedule-generator-preset span{color:var(--accent-strong);font-size:12px;font-weight:800}.schedule-generator-preset small{color:var(--muted);font-size:12px;line-height:1.35}.schedule-generator-saved-patterns__body{gap:8px;padding:0 12px 12px;display:grid}.schedule-generator-pattern-save{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.schedule-generator-pattern-save input{border:1px solid var(--border);background:var(--surface);min-width:0;color:var(--text);border-radius:8px;padding:7px 8px;font-size:12px}.schedule-generator-section{gap:8px;display:grid}.schedule-generator-section__header,.schedule-generator-preview__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-generator-section__header strong,.schedule-generator-preview__header strong{color:var(--text);font-size:13px}.schedule-generator-pattern,.schedule-generator-employees{gap:6px;display:grid}.schedule-generator-pattern__row{grid-template-columns:26px minmax(92px,1fr) 72px 72px minmax(90px,1fr) 28px;align-items:center;gap:6px;display:grid}.schedule-generator-pattern__index{background:var(--surface-muted);width:24px;height:24px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.schedule-generator-pattern input,.schedule-generator-pattern select,.schedule-generator-phase input[type=number]{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);border-radius:8px;padding:7px 8px;font-size:12px}.schedule-generator-pattern input:disabled{opacity:.45;cursor:not-allowed}.schedule-generator-pattern__remove{border:1px solid var(--border);width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border-radius:8px}.schedule-generator-pattern__remove:disabled{opacity:.35;cursor:not-allowed}.schedule-generator-employees{max-height:240px;padding-right:2px;overflow:auto}.schedule-generator-quick-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.schedule-generator-brigade-size{color:var(--text-secondary);grid-template-columns:minmax(0,1fr) 72px;align-items:center;gap:8px;font-size:12.5px;display:grid}.schedule-generator-brigade-size span{align-items:center;gap:5px;display:inline-flex}.schedule-generator-brigade-size input{border:1px solid var(--border);background:var(--surface);width:100%;min-width:0;color:var(--text);border-radius:8px;padding:7px 8px;font-size:12px}.schedule-generator-employee{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 55%, transparent);border-radius:9px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:7px 8px;display:grid}.schedule-generator-employee__name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.schedule-generator-employee__meta{color:var(--muted);overflow-wrap:anywhere;min-width:0;font-size:11px}.schedule-generator-options{color:var(--text-secondary);gap:8px;font-size:12.5px;display:grid}.schedule-generator-options label{align-items:center;gap:8px;display:inline-flex}.schedule-generator-help{border:1px solid var(--border);width:16px;height:16px;color:var(--muted);cursor:help;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;font-size:11px;font-weight:800;line-height:1;display:inline-flex;position:relative}.schedule-generator-help:focus-visible,.schedule-generator-preview-shift__result:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schedule-generator-tooltip{z-index:3000;border:1px solid var(--border);background:var(--surface-raised);width:min(260px,100vw - 24px);box-shadow:var(--shadow-sm);color:var(--text);pointer-events:none;white-space:normal;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:600;line-height:1.35;position:fixed}.schedule-generator-tooltip.is-above{transform:translateY(-100%)}.schedule-generator-tooltip:before{content:"";left:var(--tooltip-arrow-left,16px);border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-raised);width:9px;height:9px;position:absolute}.schedule-generator-tooltip.is-above:before{bottom:-5px;transform:rotate(45deg)}.schedule-generator-tooltip.is-below:before{top:-5px;transform:rotate(225deg)}.schedule-generator-advanced,.schedule-generator-saved-patterns,.schedule-generator-history{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 45%, transparent);border-radius:10px;overflow:hidden}.schedule-generator-advanced>summary,.schedule-generator-saved-patterns>summary,.schedule-generator-history>summary{cursor:pointer;min-height:38px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;padding:0 12px;font-size:12.5px;font-weight:700;display:flex}.schedule-generator-advanced>summary::-webkit-details-marker{display:none}.schedule-generator-saved-patterns>summary::-webkit-details-marker{display:none}.schedule-generator-history>summary::-webkit-details-marker{display:none}.schedule-generator-advanced>summary:before,.schedule-generator-saved-patterns>summary:before,.schedule-generator-history>summary:before{color:var(--muted);margin-right:8px}.schedule-generator-advanced__body{gap:14px;padding:0 12px 12px;display:grid}.schedule-generator-history__body{gap:8px;padding:0 12px 12px;display:grid}.schedule-generator-history__empty{color:var(--muted);margin:0;font-size:12px}.schedule-generator-batch{border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 8px;padding:8px;display:grid}.schedule-generator-batch strong{color:var(--text);font-size:12.5px;display:block}.schedule-generator-batch span{color:var(--muted);font-size:11.5px}.schedule-generator-batch__count{white-space:nowrap;justify-self:end}.schedule-generator-batch__rollback{border:1px solid color-mix(in srgb, var(--danger-color) 32%, transparent);background:var(--danger-subtle);min-height:24px;color:var(--danger-fg);cursor:pointer;border-radius:999px;justify-self:end;padding:3px 9px;font-size:11px;font-weight:800}.schedule-generator-batch__rollback:disabled{cursor:not-allowed;opacity:.5}.schedule-generator-batch__owner-only{white-space:nowrap;justify-self:end;font-weight:700}.schedule-generator-phases{gap:6px;display:grid}.schedule-generator-phase{color:var(--text-secondary);grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:8px;font-size:12px;display:grid}.schedule-generator-phase span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.schedule-generator-preview{grid-auto-rows:max-content;align-content:start;gap:12px;min-width:0;padding:18px;display:grid;overflow:hidden auto}.schedule-generator-preview__header>div{align-content:start;gap:3px;min-width:0;display:grid}.schedule-generator-preview__context{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.35;overflow:hidden}.schedule-generator-summary{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;display:grid}.schedule-generator-summary>div{border:1px solid var(--border);background:var(--surface-muted);border-radius:10px;gap:4px;padding:12px;display:grid}.schedule-generator-summary strong{color:var(--text);font-size:22px;line-height:1}.schedule-generator-summary span,.schedule-generator-skipline{color:var(--muted);font-size:12px}.schedule-generator-summary span,.schedule-generator-skipline span,.schedule-generator-section__header strong,.schedule-generator-advanced>summary span,.schedule-generator-saved-patterns>summary span,.schedule-generator-history>summary span{align-items:center;gap:5px;display:inline-flex}.schedule-generator-skipline{flex-wrap:wrap;gap:8px 14px;display:flex}.schedule-generator-skipline strong{color:var(--text);font-weight:700}.schedule-generator-preview__empty{border:1px dashed var(--border);min-height:220px;color:var(--muted);text-align:center;border-radius:12px;justify-content:center;align-items:center;padding:18px;display:flex}.schedule-generator-preview__days{gap:8px;min-height:0;display:grid;overflow:hidden auto}.schedule-generator-preview-day{border:1px solid var(--border);background:var(--surface);border-radius:10px}.schedule-generator-preview-day__header{background:var(--surface-muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.schedule-generator-preview-day__header strong{text-transform:capitalize;font-size:12.5px;line-height:1.2}.schedule-generator-preview-day__header span{color:var(--muted);white-space:nowrap;font-size:11.5px}.schedule-generator-preview-day__shifts{gap:8px;padding:8px;display:grid}.schedule-generator-preview-shift{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 45%, transparent);border-radius:9px;gap:8px;min-width:0;padding:9px;display:grid}.schedule-generator-preview-shift.is-create{border-color:color-mix(in srgb, var(--accent) 22%, var(--border))}.schedule-generator-preview-shift.is-muted{color:var(--muted)}.schedule-generator-preview-shift.is-existing{border-color:color-mix(in srgb, var(--accent) 38%, var(--border));background:color-mix(in srgb, var(--accent-subtle) 70%, var(--surface) 30%);color:var(--text-secondary)}.schedule-generator-preview-shift.is-problem{border-color:color-mix(in srgb, var(--danger-color) 55%, var(--border));background:color-mix(in srgb, var(--danger-subtle) 70%, var(--surface) 30%)}.schedule-generator-preview-shift__header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.schedule-generator-preview-shift__header>div{gap:2px;min-width:0;display:grid}.schedule-generator-preview-shift__header strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:12.5px;line-height:1.2}.schedule-generator-preview-shift__header div span{color:var(--muted);font-size:11.5px}.schedule-generator-preview-shift__result{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;position:relative}.schedule-generator-preview-shift__create{border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);background:var(--accent-subtle);min-height:24px;color:var(--accent-strong);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 9px;font-size:11px;font-weight:800;line-height:1.2}.schedule-generator-preview-shift__create:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent-subtle) 70%, var(--surface) 30%)}.schedule-generator-preview-shift__create:disabled{cursor:not-allowed;opacity:.55}.schedule-generator-preview-shift__result--create{background:var(--accent-subtle);color:var(--accent-strong)}.schedule-generator-preview-shift__result--skip{background:var(--surface-muted);color:var(--muted)}.schedule-generator-preview-shift__result--existing{background:var(--accent-subtle);color:var(--accent-strong)}.schedule-generator-preview-shift.is-problem .schedule-generator-preview-shift__result--skip{background:var(--danger-subtle);color:var(--danger-fg)}.schedule-generator-preview-shift__employees{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.schedule-generator-preview-shift__employee{border:1px solid var(--border);background:var(--surface);min-width:0;max-width:100%;color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:700;overflow:hidden}.schedule-generator-preview-shift.is-muted .schedule-generator-preview-shift__employee{color:var(--muted)}.schedule-generator-preview-shift.is-existing .schedule-generator-preview-shift__employee{border-color:color-mix(in srgb, var(--accent) 25%, var(--border));color:var(--accent-strong)}.schedule-generator-preview__more{border:1px solid var(--border);color:var(--muted);background:var(--surface-muted);border-radius:10px;padding:9px 10px;font-size:12px}@media (max-width:920px){.schedule-generator-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.schedule-generator-modal__body{grid-template-columns:1fr;overflow:auto}.schedule-generator-steps{padding-inline:14px;overflow-x:auto}.schedule-generator-form{border-right:none;border-bottom:1px solid var(--border)}.schedule-generator-presets{grid-template-columns:1fr}}@media (max-width:720px){.schedule-generator-backdrop{justify-content:stretch;align-items:stretch;padding:0}.schedule-generator-modal{border:0;border-radius:0;width:100vw;height:100dvh;max-height:none}.schedule-generator-modal .vac-print-modal__header{min-height:74px;padding:calc(14px + env(safe-area-inset-top)) 16px 12px}.schedule-generator-modal .vac-print-modal__header h3{font-size:15px}.schedule-generator-modal__subtitle{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 72px);overflow:hidden}.schedule-generator-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-height:48px;padding:8px 12px;display:grid;overflow-x:hidden}.schedule-generator-steps__line{display:none}.schedule-generator-step{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-muted) 45%, transparent);border-radius:999px;justify-content:center;gap:6px;min-height:32px;padding:4px 6px;font-size:11.5px}.schedule-generator-step.is-active,.schedule-generator-step.is-complete{border-color:color-mix(in srgb, var(--accent) 42%, var(--border));background:color-mix(in srgb, var(--accent-subtle) 55%, var(--surface) 45%)}.schedule-generator-step span{background:0 0;border:0;width:19px;height:19px;font-size:10.5px}.schedule-generator-step strong{font-size:11.5px}.schedule-generator-form,.schedule-generator-preview{padding:14px 16px}.schedule-generator-modal__body{overflow:hidden}.schedule-generator-preview{gap:10px}.schedule-generator-preview__header{align-items:flex-start}.schedule-generator-preview__context{text-overflow:clip;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.schedule-generator-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.schedule-generator-summary>div{min-width:0;padding:10px 8px}.schedule-generator-summary strong{font-size:19px}.schedule-generator-summary span{align-items:flex-start;min-width:0;font-size:11px;line-height:1.25}.schedule-generator-skipline{gap:7px 12px}.schedule-generator-preview__days{padding-bottom:4px}.schedule-generator-preview-day__header,.schedule-generator-preview-day__shifts{padding-inline:8px}.schedule-generator-preview-shift__header{align-items:flex-start}.schedule-generator-modal .vac-print-modal__footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));grid-template-columns:1fr;gap:10px;display:grid}.schedule-generator-modal .vac-print-modal__footer .button{width:100%}}@media (max-width:420px){.schedule-generator-step{gap:4px;padding-inline:4px}.schedule-generator-step strong{font-size:10.5px}.schedule-generator-preview__header{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.schedule-generator-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.schedule-generator-summary>div{padding:9px 7px}.schedule-generator-summary strong{font-size:18px}.schedule-generator-summary span{font-size:10.5px}}.schedule-summary{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;margin-top:24px;padding:20px;display:grid}.schedule-summary h2{margin:0 0 6px;font-size:18px}.schedule-summary p{margin:0}.schedule-summary__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.schedule-summary__stat-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;min-width:0;padding:14px 16px}.schedule-summary__stat-label{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:600}.schedule-summary__stat-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.schedule-summary__stat-sub{color:var(--muted);margin-top:4px;font-size:12px}.schedule-summary__details{min-width:0}.schedule-summary__details>summary{cursor:pointer;font-weight:600}.schedule-summary__details>summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.schedule-summary .staffing-coverage{border:1px solid var(--border);border-radius:10px;margin-top:12px}.schedule-summary .staffing-coverage thead th{z-index:1;background:var(--surface-muted);position:sticky;top:0}.schedule-summary .staffing-coverage tbody th{font-weight:500}.schedule-summary .staffing-coverage td{font-variant-numeric:tabular-nums}@media (max-width:600px){.schedule-summary{padding:14px}.schedule-summary__stats{grid-template-columns:minmax(0,1fr);gap:8px}}.schedule-print-modal-overlay{z-index:500;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.schedule-print-modal{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);border-radius:16px;grid-template-rows:auto 1fr auto;width:100%;max-width:960px;max-height:86vh;display:grid;overflow:hidden}.schedule-print-modal__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.schedule-print-modal__header h3{letter-spacing:-.01em;font-size:17px;font-weight:700}.schedule-print-modal__close{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:22px;line-height:1;transition:color .15s,background .15s}.schedule-print-modal__close:hover{color:var(--text);background:var(--surface-muted)}.schedule-print-modal__body{grid-template-columns:200px 1fr;min-height:0;display:grid;overflow:hidden}.schedule-print-modal__templates{border-right:1px solid var(--border);flex-direction:column;gap:8px;padding:16px 12px;display:flex;overflow-y:auto}.schedule-print-modal__templates h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:2px;padding-left:4px;font-size:10.5px;font-weight:600}.schedule-print-template-btn{text-align:left;border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:10px;width:100%;padding:10px 12px;transition:border-color .15s,background .15s}.schedule-print-template-btn.is-active{border-color:var(--accent);background:var(--accent-subtle)}.schedule-print-template-btn:not(.is-active):hover{background:var(--surface-muted);border-color:var(--border-strong)}.schedule-print-template-btn__name{color:var(--text);font-size:13px;font-weight:600}.schedule-print-template-btn__desc{color:var(--muted);margin-top:3px;font-size:11px}.schedule-print-modal__preview{background:var(--bg);min-height:0;padding:20px;overflow-y:auto}.schedule-print-modal__preview-inner{color:#111;background:#fff;border-radius:8px;min-height:400px;padding:24px;font-family:Arial,sans-serif;box-shadow:0 1px 6px #00000014}.schedule-print-modal__footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.spm-header{border-bottom:1.5px solid #333;margin-bottom:16px;padding-bottom:12px}.spm-header__title{margin-bottom:4px;font-size:18px;font-weight:700}.spm-header__meta{color:#555;flex-wrap:wrap;gap:16px;font-size:11px;display:flex}.spm-list__day{margin-bottom:14px}.spm-list__holiday{color:#991b1b;text-transform:none;font-weight:500}.spm-list__day-title{text-transform:capitalize;border-bottom:1px solid #e0e0e0;margin-bottom:6px;padding-bottom:4px;font-size:12.5px;font-weight:700}.spm-list__row{border-bottom:1px solid #f5f5f5;grid-template-columns:minmax(160px,1fr) 90px 110px;gap:8px;padding:3px 0;font-size:11.5px;display:grid}.spm-list__name{color:#111;font-weight:600}.spm-list__time{color:#555}.spm-list__status{color:#777;font-size:11px}.spm-list__empty{color:#aaa;font-size:11px;font-style:italic}.spm-table{border-collapse:collapse;width:100%;font-size:11.5px}.spm-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#444;background:#f5f5f5;border-bottom:1.5px solid #ccc;padding:6px 8px;font-size:10px;font-weight:700}.spm-table td{color:#222;vertical-align:top;border-bottom:1px solid #eee;padding:5px 8px}.spm-table tr:last-child td{border-bottom:none}.spm-table__empty{text-align:center;color:#999;font-style:italic;padding:20px 8px!important}.spm-employees__block{margin-bottom:16px}.spm-employees__name{color:#111;border-bottom:1px solid #e0e0e0;margin-bottom:6px;padding-bottom:4px;font-size:13px;font-weight:700}.spm-employees__row{border-bottom:1px solid #f5f5f5;grid-template-columns:120px 90px auto;gap:8px;padding:3px 0;font-size:11.5px;display:grid}.spm-employees__date{color:#555}.spm-employees__time{color:#111;font-weight:600}.spm-employees__status{color:#888;font-size:11px}.spm-employees__empty,.spm-empty{color:#aaa;font-size:11px;font-style:italic}.spm-empty{text-align:center;padding:20px 0}.spm-grid__week{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:10px;display:grid}.spm-grid__cell{border:1px solid #ddd;border-radius:4px;overflow:hidden}.spm-grid__cell-header{background:#f5f5f5;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding:4px 6px;display:flex}.spm-grid__cell-day{text-transform:uppercase;letter-spacing:.05em;color:#666;font-size:9px;font-weight:700}.spm-grid__cell-date{color:#111;font-size:13px;font-weight:700}.spm-grid__cell-body{flex-direction:column;gap:4px;min-height:48px;padding:4px 6px;display:flex}.spm-grid__shift{font-size:10px;line-height:1.3}.spm-grid__shift-name{color:#111;white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.spm-grid__shift-time{color:#666}.spm-grid__shift-status{color:#888;font-size:9.5px}.spm-grid__empty{color:#ccc;text-align:center;margin:auto;font-size:11px}.schedule-print-header{border-bottom:1px solid #ddd;margin-bottom:12px;padding:12px 0 16px;display:none}.schedule-print-header__title{font-size:20px;font-weight:700}.schedule-print-header__meta{color:#555;flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.schedule-print-list{gap:12px;display:none}.schedule-print-list--week{grid-template-columns:repeat(7,1fr);gap:8px;display:none}.schedule-print-day{break-inside:avoid;border-bottom:1px solid #ddd;gap:6px;padding:8px 0;display:grid}.schedule-print-list--week .schedule-print-day{border:1px solid #ddd;border-radius:6px;padding:8px}.schedule-print-day__title{text-transform:capitalize;font-size:13px;font-weight:600}.schedule-print-day__shifts{gap:4px;display:grid}.schedule-print-day__row{grid-template-columns:minmax(180px,1fr) 110px 120px;gap:12px;font-size:12px;display:grid}.schedule-print-list--week .schedule-print-day__row{grid-template-columns:1fr;gap:2px}.schedule-print-day__name{font-weight:600}.schedule-print-day__time,.schedule-print-day__status,.schedule-print-day__empty{color:#555;font-size:12px}.print-only{display:none}.schedule-birthday-badge{box-sizing:border-box;width:100%;min-width:0;max-width:100%;color:var(--warning-fg);background:#fef3c7;border:1px solid #fde68a;border-radius:6px;align-items:center;gap:4px;margin-top:2px;padding:2px 6px;font-size:11px;display:flex;overflow:hidden}.schedule-day__body .schedule-vacation-badge{box-sizing:border-box;width:100%;min-width:0;max-width:100%;overflow:hidden}.schedule-day__body .schedule-vacation-badge__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.schedule-vacation-badge,.schedule-birthday-badge{cursor:help;position:relative}.schedule-vacation-badge[data-tooltip]:after,.schedule-birthday-badge[data-tooltip]:after{content:attr(data-tooltip);z-index:40;border:1px solid var(--border);background:var(--surface-raised);width:max-content;max-width:min(260px,100vw - 32px);box-shadow:var(--shadow-sm);color:var(--text);opacity:0;pointer-events:none;white-space:normal;border-radius:6px;padding:7px 9px;font-size:12px;font-weight:600;line-height:1.35;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 8px);left:0;transform:translateY(4px)}.schedule-vacation-badge[data-tooltip]:before,.schedule-birthday-badge[data-tooltip]:before{content:"";z-index:41;border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-raised);opacity:0;pointer-events:none;width:9px;height:9px;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 3px);left:12px;transform:translateY(4px)rotate(45deg)}.schedule-vacation-badge[data-tooltip]:hover:after,.schedule-vacation-badge[data-tooltip]:focus-visible:after,.schedule-birthday-badge[data-tooltip]:hover:after,.schedule-birthday-badge[data-tooltip]:focus-visible:after{opacity:1;transform:translateY(0)}.schedule-vacation-badge[data-tooltip]:hover:before,.schedule-vacation-badge[data-tooltip]:focus-visible:before,.schedule-birthday-badge[data-tooltip]:hover:before,.schedule-birthday-badge[data-tooltip]:focus-visible:before{opacity:1;transform:translateY(0)rotate(45deg)}.schedule-vacation-badge[data-tooltip]:focus-visible,.schedule-birthday-badge[data-tooltip]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shifts-summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.shifts-summary__card{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.shifts-summary__card.is-warn{border-color:color-mix(in srgb, var(--warning-color) 40%, transparent);background:color-mix(in srgb, var(--warning-color) 8%, var(--surface-muted))}.shifts-summary__card.is-ok{border-color:color-mix(in srgb, var(--accent) 30%, transparent);background:color-mix(in srgb, var(--accent) 6%, var(--surface-muted))}.shifts-summary__card.is-muted .shifts-summary__value{color:var(--muted)}.shifts-summary__value{color:var(--text);font-size:22px;font-weight:700;line-height:1}.shifts-summary__label{color:var(--muted);font-size:12px;font-weight:500}.shifts-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.shifts-week-nav{align-items:center;gap:6px;display:flex}.shifts-week-label{text-align:center;min-width:170px;font-size:14px;font-weight:600}.shifts-filters{flex-wrap:wrap;gap:8px;display:flex}.shifts-toolbar.shifts-toolbar--journal{align-items:stretch;gap:10px;display:grid}.shifts-toolbar__row{align-items:center;gap:12px;min-width:0;display:flex}.shifts-toolbar--journal .shifts-filters{flex:auto;min-width:0}.shifts-toolbar__mass-action{flex:none;margin-left:auto}@media (max-width:768px){.shifts-toolbar{flex-direction:column;align-items:stretch;gap:10px;width:100%}.shifts-week-nav{grid-template-columns:44px minmax(0,1fr) 44px auto;align-items:center;gap:8px;width:100%;display:grid}.shifts-week-label{text-align:center;min-width:0}.shifts-filters{grid-template-columns:1fr;gap:8px;width:100%;display:grid}.shifts-filters .table-filter__select,.shifts-filters .searchable-select{width:100%;max-width:none}.shifts-toolbar.shifts-toolbar--journal,.shifts-toolbar--journal .shifts-toolbar__row{grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%;display:grid}.shifts-toolbar--journal .shifts-toolbar__mass-action{justify-content:center;width:100%;margin-left:0}}@media (max-width:480px){.shifts-week-nav{grid-template-columns:44px minmax(0,1fr) 44px}.shifts-week-nav .button:last-child{grid-column:1/-1;justify-content:center;width:100%}}.shifts-view-toggle{border:1px solid var(--border);border-radius:8px;margin-left:auto;display:flex;overflow:hidden}.shifts-view-toggle__btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:7px 16px;font-size:13px;font-weight:500;transition:background .12s,color .12s}.shifts-view-toggle__btn+.shifts-view-toggle__btn{border-left:1px solid var(--border)}.shifts-view-toggle__btn.is-active{background:var(--accent);color:#fff}.shifts-toolbar__row--scope{flex-wrap:wrap}.shifts-scope-toggle{flex-shrink:0;margin-left:0}.shifts-journal-note{color:var(--muted);font-size:12px}.shifts-scope-toggle .shifts-view-toggle__btn:focus-visible{outline:2px solid var(--text);outline-offset:-3px}.shifts-plan-load-error{border:1px solid var(--warning-color);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px;font-size:13px;display:flex}@media (max-width:768px){.shifts-scope-toggle .shifts-view-toggle__btn{flex:1;min-height:40px}}.shifts-grid-wrapper{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:12px;overflow-x:auto}.shifts-grid{grid-template-columns:160px repeat(7,minmax(160px,1fr)) 110px;min-width:1390px;display:grid}.shifts-grid-scroll-hint{color:var(--muted);margin:0 0 8px;font-size:12px}.shifts-grid-wrapper:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shifts-grid__employee,.shifts-grid__corner{z-index:1;position:sticky;left:0}.shifts-grid__corner{background:var(--surface-muted);border-bottom:1px solid var(--border);border-right:1px solid var(--border);border-radius:12px 0 0;padding:10px 12px}.shifts-grid__day-header{background:var(--surface-muted);border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;display:flex}.shifts-grid__day-header.is-today .shifts-grid__date{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.shifts-grid__total-header{background:var(--surface-muted);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-radius:0 12px 0 0;justify-content:center;align-items:center;padding:8px 10px;font-size:11px;font-weight:700;display:flex}.shifts-grid__weekday{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px;font-weight:700}.shifts-grid__date{color:var(--text);font-size:14px;font-weight:600}.shifts-grid__employee{border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:var(--surface-muted);flex-direction:column;gap:3px;padding:10px 12px;display:flex}.shifts-grid__employee-name{color:var(--text);font-size:13px;font-weight:500}.shifts-grid__scheme-badge{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:10px;font-weight:600}.shifts-grid__cell{border-bottom:1px solid var(--border);border-right:1px solid var(--border);flex-direction:column;gap:3px;min-width:0;min-height:70px;padding:4px;display:flex;position:relative}.shifts-grid__cell.is-empty{cursor:pointer}.shifts-grid__cell.is-empty:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.shifts-grid__cell.is-empty:hover .shifts-cell__add-hint{opacity:1}.shifts-cell__add-hint{color:var(--accent);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:22px;font-weight:300;transition:opacity .15s;display:flex;position:absolute;inset:0}.shifts-cell__add-btn{border:1px solid var(--border);background:var(--surface-muted);width:18px;height:18px;color:var(--accent);cursor:pointer;opacity:0;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:opacity .15s,background .12s;display:flex;position:absolute;top:3px;right:3px}.shifts-grid__cell:hover .shifts-cell__add-btn{opacity:1}.shifts-cell__add-btn:hover{background:color-mix(in srgb, var(--accent) 15%, var(--surface-muted))}.shifts-grid__cell-hint{color:var(--muted);padding:4px;font-size:10px}.shifts-cell__shift{border-radius:6px;flex-direction:column;gap:4px;padding:8px;font-size:12px;line-height:1.45;transition:opacity .1s;display:flex}.shifts-cell__shift.is-closed{background:color-mix(in srgb, var(--accent) 12%, transparent);border-left:2px solid var(--accent);cursor:pointer}.shifts-cell__shift.is-closed:hover{background:color-mix(in srgb, var(--accent) 20%, transparent)}.shifts-cell__shift.is-open{background:color-mix(in srgb, var(--warning-color) 12%, transparent);border-left:2px solid var(--warning-color)}.shifts-cell__shift.is-problem{background:color-mix(in srgb, var(--danger-color) 12%, transparent);border-left:2px solid var(--danger-color)}.shifts-cell__shift.is-verified{background:color-mix(in srgb, var(--success-color) 14%, transparent);border-left:2px solid var(--success-color);cursor:pointer}.shifts-cell__shift.is-verified:hover{background:color-mix(in srgb, var(--success-color) 22%, transparent)}.shifts-cell__shift.shifts-cell__planned{border:1px dashed color-mix(in srgb, var(--muted) 65%, var(--border));background:color-mix(in srgb, var(--muted) 6%, transparent);width:100%;min-width:0;min-height:64px;color:var(--text);text-align:left;cursor:pointer;padding:6px;font-family:inherit;line-height:1.4}.shifts-cell__planned .shifts-cell__location{max-width:100%}.shifts-cell__planned .shifts-cell__time{color:var(--text)}.shifts-cell__planned.is-due{border-color:var(--warning-color);background:color-mix(in srgb, var(--warning-color) 9%, transparent)}.shifts-cell__planned:hover{background:color-mix(in srgb, var(--muted) 16%, transparent)}.shifts-cell__planned.is-due:hover{background:color-mix(in srgb, var(--warning-color) 17%, transparent)}.shifts-cell__planned:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shifts-cell__plan-status{color:var(--muted);margin-top:3px;font-size:10px;font-weight:600}.shifts-cell__planned.is-due .shifts-cell__plan-status{color:var(--warning-strong)}.shifts-cell__plan-time{color:var(--muted);font-size:11px;line-height:1.4}.shifts-list__plan-time{color:var(--muted);margin-top:2px;font-size:11px;display:block}.shifts-plan-status{color:var(--text);background:var(--surface-muted);border:1px dashed var(--muted)}.data-table--shifts .shifts-list__planned{background:color-mix(in srgb, var(--muted) 5%, transparent)}.data-table--shifts .shifts-list__planned.is-due{background:color-mix(in srgb, var(--warning-color) 7%, transparent)}.shifts-planned-detail{justify-items:start;gap:16px;display:grid}.shifts-planned-detail__info{gap:12px;width:100%;margin:0;display:grid}.shifts-planned-detail__info>div{gap:4px;display:grid}.shifts-planned-detail__info dt{color:var(--muted);font-size:12px}.shifts-planned-detail__info dd{margin:0;font-weight:600}.shifts-planned-detail__note{white-space:pre-wrap;overflow-wrap:anywhere}.shifts-create__plan-note{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);border-radius:8px;margin:0;padding:12px;font-size:13px;line-height:1.6}.shifts-cell__verified{color:var(--success-strong);margin-top:2px;font-size:10px;font-weight:600}.shifts-panel__verify-toggle{border-radius:var(--radius);border:1.5px solid var(--border);background:var(--surface-muted);cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin:4px 0;padding:12px 16px;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,color .15s;display:flex}.shifts-panel__verify-toggle input[type=checkbox]{display:none}.shifts-panel__verify-toggle:hover{border-color:var(--success-color);color:var(--text-primary)}.shifts-panel__verify-toggle.is-verified{border-color:var(--success-color);background:color-mix(in srgb, var(--success-color) 10%, var(--surface));color:var(--success-strong)}.shifts-panel__verify-icon{text-align:center;flex-shrink:0;width:20px;font-size:16px;line-height:1}.shifts-cell__location{color:var(--text);white-space:normal;overflow-wrap:anywhere;font-weight:600}.shifts-cell__time{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px}.shifts-cell__summary,.shifts-cell__footer{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;display:flex}.shifts-cell__summary{padding-top:3px}.shifts-cell__time-range{white-space:nowrap;display:block}.shifts-cell__end-date{color:var(--muted);font-size:10px;display:block}.shifts-cell__hours{color:var(--accent-strong);font-size:11px;font-weight:600}.shifts-cell__hours.is-problem-text{color:var(--color-danger,var(--danger-color))}.shifts-cell__earned{color:var(--text);font-size:11px;font-weight:500}.shifts-cell__comment{font-size:10px}.shifts-cell__compliance{margin-top:2px}.shifts-grid__total-cell{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--accent) 4%, transparent);flex-direction:column;justify-content:center;gap:2px;padding:8px 10px;display:flex}.shifts-grid__total-shifts{color:var(--muted);font-size:11px}.shifts-grid__total-hours{color:var(--text);font-size:13px;font-weight:700}.shifts-grid__total-amount{color:var(--accent-strong);font-size:11px;font-weight:600}.shifts-panel__info{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;gap:8px;padding:12px 14px;display:grid}.shifts-panel__info-row{justify-content:space-between;gap:12px;font-size:13px;display:flex}.shifts-panel__info-row>span{min-width:0}.shifts-panel__info-row span:first-child{color:var(--muted);flex-shrink:0}.shifts-panel__info-row span:last-child{color:var(--text);text-align:right;overflow-wrap:anywhere;font-weight:500}.shifts-panel__info-row .shifts-panel__worked{justify-items:end;gap:2px;display:grid}.shifts-panel__info-row .shifts-panel__worked-live{color:var(--accent-strong)}.shifts-panel__info-row .shifts-panel__worked-warning{color:var(--color-danger,#ef4444);font-size:12px;font-weight:600;line-height:1.25}.shifts-panel__fields{gap:12px;display:grid}.shifts-create__times{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.shifts-create__times-hint{grid-column:1/-1;margin-top:-6px}.schedule-day-view{flex-direction:column;gap:16px;display:flex}.schedule-day-picker{background:var(--surface-muted);border:1px solid var(--border);z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;padding:4px;display:grid;position:sticky;top:8px}.schedule-day-picker__chip{cursor:pointer;min-height:56px;color:var(--text-secondary);background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:6px 4px;transition:background .15s,color .15s,border-color .15s;display:flex}.schedule-day-picker__chip:hover{background:color-mix(in srgb, var(--accent) 8%, transparent);color:var(--text)}.schedule-day-picker__chip.is-over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--surface));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text)}.schedule-day-picker__chip.is-selected{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.schedule-day-picker__chip.is-today:not(.is-selected){border-color:color-mix(in srgb, var(--accent) 38%, transparent);color:var(--accent-strong)}.schedule-day-picker__chip.is-day-off:not(.is-selected){opacity:.55}.schedule-day-picker__weekday{text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600;line-height:1}.schedule-day-picker__date{letter-spacing:-.02em;font-size:17px;font-weight:700;line-height:1.1}.schedule-day-picker__dot{border-radius:999px;flex-shrink:0;width:6px;height:6px;margin-top:2px}.schedule-day-picker__dot--full{background:var(--success-color)}.schedule-day-picker__dot--partial{background:var(--warning-color)}.schedule-day-picker__dot--empty{border:1px solid color-mix(in srgb, var(--text) 18%, transparent);background:0 0}.schedule-day-picker__chip.is-selected .schedule-day-picker__dot--empty{border-color:color-mix(in srgb, var(--accent-fg) 60%, transparent)}.schedule-day-view__selected{border:1px dashed #0000;border-radius:14px;flex-direction:column;gap:16px;min-width:0;padding:10px;transition:border-color .15s,background .15s;display:flex}.schedule-day-view__selected.is-over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent)}.schedule-day-view__header{flex-direction:column;gap:4px;padding:4px 2px 0;display:flex}.schedule-day-view__title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:18px;font-weight:700}.schedule-day-view__meta{color:var(--text-secondary);font-size:13px}.schedule-day-view__empty{text-align:center;color:var(--text-secondary);background:var(--surface-muted);border:1px dashed var(--border);border-radius:14px;padding:24px 16px;font-size:14px}.schedule-day-view__locations{flex-direction:column;gap:16px;display:flex}.schedule-day-view__location{flex-direction:column;gap:8px;display:flex}.schedule-day-view__location-title{letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:8px;padding-left:10px;font-size:13px;font-weight:700;display:flex;position:relative}.schedule-day-view__location-title:before{content:"";background:var(--accent);border-radius:2px;width:3px;height:14px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.schedule-day-view__shifts{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.schedule-day-view__shifts>li{margin:0}.schedule-day-view__shift-card{min-width:0;position:relative}.schedule-day-view__shift-card.is-dragging{opacity:.45}.schedule-day-view__shift{border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;width:100%;color:var(--text);border-left:3px solid var(--border);border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;transition:border-color .15s,background .15s,transform .1s;display:flex}.schedule-day-view__shift--has-handle{padding-right:48px}.schedule-day-view__shift-handle{border:1px solid var(--border);background:var(--surface-muted);width:32px;height:32px;color:var(--muted);cursor:grab;touch-action:none;border-radius:9px;place-items:center;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.schedule-day-view__shift-handle:hover,.schedule-day-view__shift-handle:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.schedule-day-view__shift-handle:active{cursor:grabbing}.schedule-day-view__shift:hover{border-color:color-mix(in srgb, var(--accent) 32%, var(--border));background:color-mix(in srgb, var(--accent) 4%, var(--surface))}.schedule-day-view__shift:active{transform:scale(.997)}.schedule-day-view__shift--planned{border-left-color:color-mix(in srgb, var(--accent) 50%, transparent)}.schedule-day-view__shift--approved{border-left-color:var(--success-color)}.schedule-day-view__shift--cancelled{border-left-color:var(--muted);opacity:.7}.schedule-day-view__shift--completed{border-left-color:#06b6d4}.schedule-day-view__shift-time{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.schedule-day-view__shift-time strong{letter-spacing:-.01em;color:var(--text);font-size:16px;font-weight:700}.schedule-day-view__shift-hours{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.schedule-day-view__shift-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-day-view__shift-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.schedule-day-view__shift-status{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;font-size:11px;font-weight:600}.schedule-day-view__shift--approved .schedule-day-view__shift-status{color:var(--success-strong)}.schedule-day-view__shift--cancelled .schedule-day-view__shift-status{color:var(--muted);text-decoration:line-through}.schedule-day-view__add{justify-content:center;align-self:stretch;min-height:48px;margin-top:4px}@media (min-width:721px) and (max-width:1600px){.schedule-page .schedule-layout{grid-template-columns:minmax(0,1fr);gap:14px}.schedule-page .schedule-sidebar{grid-template-columns:minmax(170px,210px) minmax(0,1fr);align-items:start;gap:12px;padding:12px}.schedule-page .schedule-employee-list{scrollbar-width:thin;gap:8px;min-width:0;max-height:none;padding:0 0 5px;display:flex;overflow:auto hidden}.schedule-page .schedule-employee{flex:0 0 180px;min-width:0}.schedule-page .schedule-guest-section{grid-column:1/-1}.schedule-page .schedule-employee-list--guests{max-height:none}}@media (min-width:721px) and (max-width:1100px){.schedule-page{gap:18px}.schedule-page .schedule-calendar,.schedule-page .schedule-weekdays,.schedule-page .schedule-grid{gap:4px}.schedule-page .schedule-day{border-radius:8px;gap:4px;min-height:150px}.schedule-page .schedule-grid--week .schedule-day{min-height:250px}.schedule-page .schedule-day__header{padding:6px 6px 0}.schedule-page .schedule-day__date span{font-size:14px}.schedule-page .schedule-day__toggle{width:32px;height:18px}.schedule-page .schedule-day__toggle-handle{width:14px;height:14px}.schedule-page .schedule-day__toggle.is-on .schedule-day__toggle-handle{transform:translate(14px)}.schedule-page .schedule-day__meta{padding-inline:5px}.schedule-page .schedule-day__body{gap:4px;padding:0 5px 5px}.schedule-page .schedule-shift-chip{border-radius:7px;padding:5px 6px}.schedule-page .schedule-shift-chip__edit{padding-right:18px}.schedule-page .schedule-shift-chip__name{font-size:11px}.schedule-page .schedule-shift-chip__time{white-space:nowrap;font-size:10px}.schedule-page .schedule-shift-chip__status{display:none}.schedule-page .schedule-shift-chip__handle{width:20px;height:22px}}.schedule-form__save-hint{color:var(--text-secondary);flex:0 0 100%;margin:0;font-size:.875rem;line-height:1.5}
