.scheduler-toolbar{gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-surface);border-bottom:1px solid var(--color-border)}.scheduler-toolbar .field{gap:3px}.scheduler-toolbar .field>span{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.scheduler-toolbar .field input,.scheduler-toolbar .field select{width:100%;min-height:0;height:var(--control-height-sm);padding:0 var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-field);color:var(--color-text);font:inherit;font-size:var(--control-font-md);transition:border-color .14s ease,box-shadow .14s ease}.scheduler-toolbar .field input:hover:not(:disabled),.scheduler-toolbar .field select:hover:not(:disabled){border-color:var(--color-border-strong)}.scheduler-toolbar .field input:focus-visible:not(:disabled),.scheduler-toolbar .field select:focus-visible:not(:disabled){outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.scheduler-toolbar .field--static strong{font-size:var(--control-font-md);font-weight:600;color:var(--color-text)}.scheduler-toolbar__toggle{height:var(--control-height-sm);padding:0 var(--space-2);border-radius:var(--radius-control);color:var(--color-text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.scheduler-toolbar__actions{gap:var(--space-2)}.scheduler-toolbar .toolbar-status{margin:0;font-size:var(--control-font-sm);color:var(--color-text-secondary)}.schedule-grid{--schedule-name-column-width:11rem;--schedule-day-column-width:clamp(2.5rem,calc((100vw - 18rem) / 31),2.6rem);--schedule-week-day-column-width:7rem}.employee-header{gap:2px;padding:var(--space-2) var(--space-3)}.employee-header span{font-size:.75rem;font-weight:600;letter-spacing:.06em;color:var(--color-text-muted)}.employee-header strong{font-size:var(--control-font-sm);font-weight:600;color:var(--color-text)}.day-header{gap:2px;padding:var(--space-2) 2px}.day-header span{font-size:.75rem;font-weight:600;letter-spacing:.04em}.day-header strong{font-size:var(--control-font-sm);font-weight:600}.day-header--today strong{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 3px;border-radius:var(--radius-round);background:var(--color-primary);color:var(--color-text-on-fill)}.employee-cell{justify-content:flex-start;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3)}.employee-cell__avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:1.625rem;height:1.625rem;border-radius:var(--radius-round);background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:.625rem;font-weight:600;line-height:1}.employee-cell__main{gap:0}.employee-cell strong{font-size:var(--control-font-sm);font-weight:600;color:var(--color-text)}.employee-cell strong,.employee-cell__role{display:block;overflow:hidden;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.employee-cell__role{font-size:.75rem;color:var(--color-text-secondary)}.shift-cell-button{padding-inline:0;font-size:.75rem;font-weight:600;letter-spacing:-.02em}.shift-cell__stack{display:grid;grid-gap:1px;gap:1px;justify-items:center;min-width:0;max-width:100%;padding-inline:var(--space-1)}.shift-cell__code{font-size:var(--control-font-sm);font-weight:600;line-height:1.2}.shift-cell__detail{max-width:100%;overflow:hidden;font-size:.75rem;font-weight:500;line-height:1.2;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;opacity:.72}.day-header--outside span,.day-header--outside strong,.shift-cell--outside .shift-cell-button{opacity:.45}.shift-cell--outside{background:var(--color-surface-muted)}.schedule-view-switch{flex:0 0 auto}.schedule-week-pager{display:inline-flex;align-items:center;gap:var(--space-1);flex:0 0 auto}.schedule-week-pager__label{min-width:7.5rem;text-align:center;font-size:var(--control-font-sm);font-weight:600;color:var(--color-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:600px){.schedule-grid{--schedule-name-column-width:7.5rem;--schedule-day-column-width:2.5rem}.employee-cell{padding:var(--space-1) var(--space-1) var(--space-1) var(--space-2)}.employee-cell__avatar{display:none}.employee-cell strong{font-size:.8125rem}}.schedule-switch{position:relative;flex:0 0 auto}.schedule-switch__trigger{display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-height-md);padding:0 var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);font:inherit;font-size:var(--control-font-md);font-weight:600;line-height:1;cursor:pointer;transition:border-color .14s ease,background-color .14s ease}.schedule-switch__trigger:hover:not(:disabled){border-color:var(--color-border-strong)}.schedule-switch__trigger:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.schedule-switch__trigger:disabled{cursor:not-allowed;opacity:.6}.schedule-switch__trigger-label{max-width:14rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.schedule-switch__chevron{width:1rem;height:1rem;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .14s ease}.schedule-switch__trigger[aria-expanded=true] .schedule-switch__chevron{transform:rotate(180deg)}.schedule-switch__menu{position:absolute;top:calc(100% + var(--space-1));left:0;z-index:40;display:grid;grid-gap:1px;gap:1px;min-width:17rem;max-width:min(22rem,calc(100vw - 2rem));padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-surface);box-shadow:var(--shadow-overlay)}.schedule-switch__option{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:0;border-radius:var(--radius-field);background:transparent;color:var(--color-text);font:inherit;font-size:var(--control-font-md);text-align:left;cursor:pointer}.schedule-switch__option:hover:not(:disabled){background:var(--color-surface-muted)}.schedule-switch__option:focus-visible{outline:var(--focus-outline-width) solid var(--color-primary);outline-offset:-2px}.schedule-switch__option:disabled{cursor:not-allowed;opacity:.6}.schedule-switch__option--selected,.schedule-switch__option--selected:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary-hover);font-weight:600}.schedule-switch__label{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.schedule-switch__icon{display:inline-flex;flex:none}.schedule-switch__icon svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.schedule-switch__check{width:1rem;height:1rem;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.schedule-switch__section{margin:var(--space-2) 0 2px;padding:0 var(--space-2);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.schedule-switch__empty{margin:0;padding:0 var(--space-2) var(--space-1);font-size:var(--control-font-sm);color:var(--color-text-secondary)}.schedule-switch__divider{height:1px;margin:var(--space-2) 0;background:var(--color-border)}.schedule-switch__hint{margin:var(--space-1) 0 0;padding:0 var(--space-2);font-size:var(--control-font-sm);color:var(--color-text-secondary)}.subschedule-grid{--schedule-name-column-width:11rem;--schedule-day-column-width:clamp(2.5rem,calc((100vw - 18rem) / 31),2.6rem)}.subschedule-grid-wrap{background:none;border:0;border-top:1px solid var(--color-border);border-radius:0;overscroll-behavior-x:contain}@media (max-width:600px){.subschedule-grid{--schedule-name-column-width:7.5rem;--schedule-day-column-width:2.5rem}}.shift-cell--away:after{content:"";position:absolute;inset:2px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);pointer-events:none}.shift-cell--away .shift-cell-button{opacity:.8}.personal-schedule{display:flex;flex-direction:column;gap:var(--space-4);padding-block:var(--space-4)}.personal-schedule__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.personal-schedule__title{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.personal-schedule__breadcrumb{display:flex;gap:var(--space-2);margin-top:2px;font-size:var(--control-font-sm);color:var(--color-text-secondary)}.personal-schedule__controls,.personal-schedule__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.personal-schedule__body{display:grid;grid-gap:var(--space-6);gap:var(--space-6);align-items:start}@media (min-width:1100px){.personal-schedule__body{grid-template-columns:minmax(0,1fr) 21rem}.personal-schedule__aside{padding-left:var(--space-6);border-left:1px solid var(--color-border)}}.personal-calendar__headings{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.personal-calendar__week{display:contents}.personal-calendar__heading{padding:var(--space-2) var(--space-3);font-size:.75rem;font-weight:600;letter-spacing:.06em;color:var(--color-text-secondary)}.personal-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:6.25rem;border-top:1px solid var(--color-border);border-left:1px solid var(--color-border)}.personal-calendar__grid [role=gridcell]{min-width:0;min-height:0}.personal-calendar__day{display:flex;flex-direction:column;gap:var(--space-2);width:100%;height:100%;overflow:hidden;padding:var(--space-2) var(--space-3);text-align:left;background:var(--color-surface);border:0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);border-radius:0;font:inherit;color:inherit;cursor:pointer}.personal-calendar__day--weekend{background:var(--color-surface-muted)}.personal-calendar__day--outside{color:var(--color-text-secondary);opacity:.6}.personal-calendar__day:hover{background:var(--color-primary-soft)}.personal-calendar__day:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.personal-calendar__day--selected{box-shadow:inset 0 0 0 2px var(--color-primary)}.personal-calendar__date{display:flex;align-items:center;gap:var(--space-2)}.personal-calendar__number{display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;height:1.75rem;font-size:var(--control-font-md);font-weight:600}.personal-calendar__number--today{background:var(--color-primary);color:var(--color-primary-ink);border-radius:var(--radius-pill)}.personal-calendar__month{font-size:.7rem;font-weight:600;letter-spacing:.06em;color:var(--color-text-secondary)}.personal-calendar__entry{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.personal-calendar__shift{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--control-font-sm);color:var(--color-text-secondary)}.personal-calendar__entry{min-width:0;max-width:100%}.personal-schedule__mobile{display:none;flex-direction:column;gap:var(--space-3)}.personal-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(2.75rem,1fr);grid-gap:var(--space-2);gap:var(--space-2);overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:var(--space-1)}.personal-strip__day{display:flex;flex-direction:column;align-items:center;gap:2px;min-height:4.5rem;min-width:2.75rem;padding:var(--space-2) var(--space-1);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control);font:inherit;color:inherit;cursor:pointer}.personal-strip__day:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.personal-strip__day--selected{background:var(--color-sidebar);border-color:var(--color-sidebar);color:var(--color-sidebar-text)}.personal-strip__weekday{font-size:.7rem;font-weight:600;letter-spacing:.04em}.personal-strip__number{font-size:1.05rem;font-weight:700}.personal-strip__dot{width:.5rem;height:.5rem;border-radius:var(--radius-pill)}.personal-strip__dot--empty{background:var(--color-border-strong)}.personal-schedule__day-heading{margin:0;font-size:var(--control-font-lg);font-weight:600}.personal-assignment{display:flex;flex-direction:column;gap:var(--space-2)}.personal-assignment__codes{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.personal-assignment__label{font-size:var(--control-font-md)}.personal-assignment__meta{display:flex;align-items:center;gap:var(--space-2);margin:0;font-size:var(--control-font-sm);color:var(--color-text-secondary)}.personal-assignment__meta svg{width:1rem;height:1rem;flex:0 0 auto}.personal-assignment--rest{color:var(--color-text-secondary)}.personal-schedule__aside{display:flex;flex-direction:column;gap:var(--space-6)}.personal-next{display:flex;flex-direction:column;gap:var(--space-2);padding-left:var(--space-3);border-left:3px solid var(--color-primary)}.personal-next__heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.personal-next__eyebrow{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.personal-next__when{font-size:var(--control-font-sm);font-weight:600;color:var(--color-primary)}.personal-next__date{margin:0;font-size:1.125rem;font-weight:700}.personal-next__none,.personal-upcoming__empty{margin:0;font-size:var(--control-font-sm);color:var(--color-text-secondary)}.personal-upcoming__heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.personal-upcoming__title{margin:0;font-size:var(--control-font-lg);font-weight:700}.personal-upcoming__scope{font-size:var(--control-font-sm);color:var(--color-text-secondary)}.personal-upcoming__list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.personal-upcoming__row{display:grid;grid-template-columns:4.5rem minmax(0,1fr);grid-gap:var(--space-3);gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--color-border)}.personal-upcoming__when{display:flex;flex-direction:column}.personal-upcoming__weekday{font-size:.7rem;font-weight:600;letter-spacing:.06em;color:var(--color-text-secondary)}.personal-upcoming__number{font-size:1.25rem;font-weight:700}.personal-upcoming__what{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.personal-upcoming__rest-icon svg{width:1.5rem;height:1.5rem;color:var(--color-text-secondary)}.personal-schedule__note{margin:0;font-size:var(--control-font-sm);color:var(--color-text-secondary)}.personal-empty{margin-top:var(--space-4)}.schedule-scope{display:flex;flex-direction:column;gap:var(--space-1)}.schedule-scope__status{margin:0;font-size:var(--control-font-sm);color:var(--color-text-secondary)}@media (max-width:1080px){.personal-calendar__shift{display:none}.personal-calendar__day{padding-inline:var(--space-2)}}@media (max-width:720px){.personal-calendar{display:none}.personal-schedule__mobile{display:flex}.personal-schedule__title{font-size:1.5rem}.personal-schedule{padding-top:var(--space-2);padding-bottom:max(var(--space-4),env(safe-area-inset-bottom))}}.notifications{display:flex;flex-direction:column;gap:var(--space-4);padding-block:var(--space-4)}.notifications__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.notifications__title{margin:0;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.notifications__summary{margin:2px 0 0;font-size:var(--control-font-sm);color:var(--color-text-secondary)}.notifications__actions{gap:var(--space-3)}.notifications__actions,.notifications__error{display:flex;flex-wrap:wrap;align-items:center}.notifications__error{gap:var(--space-2);margin:0;padding:var(--space-3);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-control);font-size:var(--control-font-sm);color:var(--color-text)}.notifications__retry{background:none;border:0;padding:0;font:inherit;font-weight:600;color:var(--color-primary);text-decoration:underline;cursor:pointer}.notifications__group{display:flex;flex-direction:column;gap:var(--space-2)}.notifications__group-title{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary)}.notifications__list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none;border-top:1px solid var(--color-border)}.notifications__row-wrap{display:flex;align-items:stretch;gap:var(--space-1);border-bottom:1px solid var(--color-border)}.notifications__row-wrap .notifications__row{flex:1 1 auto;border-bottom:0}.notifications__dismiss{flex:none;align-self:center;display:inline-flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;background:none;border:0;border-radius:var(--radius-control);color:var(--color-text-secondary);cursor:pointer}.notifications__dismiss svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.notifications__dismiss:hover{background:var(--color-surface-muted);color:var(--color-text)}.notifications__row{display:grid;grid-gap:var(--space-1);gap:var(--space-1);width:100%;min-height:3.5rem;padding:var(--space-3) var(--space-2);text-align:left;background:none;border:0;border-bottom:1px solid var(--color-border);border-radius:0;font:inherit;color:inherit;text-decoration:none;cursor:pointer}.notifications__row:hover{background:var(--color-surface-muted)}.notifications__row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.notifications__row:disabled{cursor:default}.notifications__row--unread{box-shadow:inset 2px 0 0 var(--color-primary)}.notifications__row-heading{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.notifications__row--unread .notifications__row-heading strong{font-weight:700}.notifications__dot{width:.5rem;height:.5rem;flex:0 0 auto;border-radius:var(--radius-pill);background:var(--color-border-strong)}.notifications__dot--unread{background:var(--color-primary)}.notifications__badge{padding:0 var(--space-2);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary)}.notifications__row--unread .notifications__badge{color:var(--color-primary)}.notifications__body,.notifications__meta{font-size:var(--control-font-sm);color:var(--color-text-secondary)}.notification-settings{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) 0}.notification-settings__intro{margin:0;max-width:60ch;font-size:var(--control-font-sm);color:var(--color-text-secondary)}.notification-settings__section-title{margin:0;font-size:1rem;font-weight:650;color:var(--color-text)}.notification-settings__address{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control)}.notification-settings__current,.notification-settings__message,.notification-settings__pending{margin:0;font-size:var(--control-font-sm);color:var(--color-text-secondary)}.notification-settings__pending{padding:var(--space-2) var(--space-3);background:var(--color-warning-bg);border-radius:var(--radius-field);color:var(--color-warning-text)}.notification-settings__address-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-2)}.notification-settings__address-form>:first-child{flex:1 1 18rem}.notification-settings__list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.notification-settings__row{padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-control)}.notification-settings__row .subschedule-status-toggle{display:flex;align-items:flex-start;gap:var(--space-3);width:100%}.notification-settings__row input[type=checkbox]{margin-top:.15rem;flex:none}.notification-settings__label{display:flex;flex-direction:column;gap:.15rem}.notification-settings__description{font-size:var(--control-font-sm);color:var(--color-text-secondary)}@media (max-width:720px){.notifications__title{font-size:1.5rem}.notifications__actions{width:100%}.notifications__actions .ui-segmented{flex:1 1 auto}}