.roster-grid-shell{--roster-zoom-scale:1;--roster-week-gap-base:0.42rem;--roster-day-gap-base:0.36rem;--roster-day-padding-base:0.5rem;--roster-day-min-height-base:8rem;--roster-day-number-base:1.08rem;--roster-day-label-base:0.68rem;--roster-day-count-base:0.68rem;--roster-section-gap-base:0.32rem;--roster-section-padding-base:0.3rem;--roster-entry-pad-y-base:0.18rem;--roster-entry-pad-x-base:0.48rem;--roster-entry-font-base:0.84rem;--roster-meta-font-base:0.72rem;width:100%;min-width:0;height:100%;min-height:0;overflow:auto}.roster-grid-shell[data-fit=comfortable]{--roster-week-gap-base:0.5rem;--roster-day-gap-base:0.44rem;--roster-day-padding-base:0.58rem;--roster-day-min-height-base:8.65rem;--roster-day-number-base:1.16rem;--roster-day-label-base:0.72rem;--roster-day-count-base:0.72rem;--roster-section-gap-base:0.38rem;--roster-section-padding-base:0.34rem;--roster-entry-pad-y-base:0.2rem;--roster-entry-pad-x-base:0.54rem;--roster-entry-font-base:0.88rem;--roster-meta-font-base:0.76rem}.roster-grid-shell[data-fit=compact]{--roster-week-gap-base:0.42rem;--roster-day-gap-base:0.32rem;--roster-day-padding-base:0.42rem;--roster-day-min-height-base:7.25rem;--roster-day-number-base:1rem;--roster-day-label-base:0.62rem;--roster-day-count-base:0.6rem;--roster-section-gap-base:0.28rem;--roster-section-padding-base:0.26rem;--roster-entry-pad-y-base:0.1rem;--roster-entry-pad-x-base:0.34rem;--roster-entry-font-base:0.76rem;--roster-meta-font-base:0.62rem}.roster-grid-shell[data-fit=dense]{--roster-week-gap-base:0.34rem;--roster-day-gap-base:0.25rem;--roster-day-padding-base:0.4rem;--roster-day-min-height-base:7rem;--roster-day-number-base:1rem;--roster-day-label-base:0.62rem;--roster-day-count-base:0.6rem;--roster-section-gap-base:0.24rem;--roster-section-padding-base:0.24rem;--roster-entry-pad-y-base:0.14rem;--roster-entry-pad-x-base:0.38rem;--roster-entry-font-base:0.78rem;--roster-meta-font-base:0.64rem}.roster-grid{display:grid;grid-template-rows:repeat(var(--roster-week-count),auto);width:max(100%,68rem);min-height:max-content;height:auto;align-content:start;grid-gap:calc(var(--roster-week-gap-base) * var(--roster-zoom-scale));gap:calc(var(--roster-week-gap-base) * var(--roster-zoom-scale))}.roster-grid-shell[data-fit=compact] .roster-grid{width:max(100%,var(--roster-grid-min-compact,68rem))}.roster-grid-shell[data-fit=dense] .roster-grid{width:max(100%,var(--roster-grid-min-dense,68rem))}.roster-week{min-height:0;display:flex;border:1px solid var(--surface-border);border-radius:.9rem;background:color-mix(in srgb,var(--surface) 94%,white 6%);overflow:hidden}.roster-week__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:calc(var(--roster-day-gap-base) * var(--roster-zoom-scale));gap:calc(var(--roster-day-gap-base) * var(--roster-zoom-scale));padding:calc(var(--roster-day-gap-base) * var(--roster-zoom-scale));min-height:0;width:100%}.roster-day{min-width:0;min-height:calc(var(--roster-day-min-height-base) * var(--roster-zoom-scale));display:flex;flex-direction:column;border:1px solid var(--surface-border);border-radius:.72rem;background:color-mix(in srgb,var(--surface) 94%,white 6%);padding:calc(var(--roster-day-padding-base) * var(--roster-zoom-scale));font-size:calc(var(--roster-entry-font-base) * var(--roster-zoom-scale));box-shadow:0 6px 16px rgba(15,23,42,.04)}.roster-day--outside{opacity:.58}.roster-day--person-active{border-color:color-mix(in srgb,var(--info) 56%,var(--surface-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--info) 18%,transparent),0 10px 18px rgba(59,130,246,.1)}.roster-day--blocked{border-width:2px;border-color:color-mix(in srgb,var(--danger) 34%,var(--surface-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 18%,transparent),0 10px 18px rgba(15,23,42,.06)}.roster-day--blocked-unwanted{border-color:color-mix(in srgb,var(--danger) 74%,var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--danger) 20%,var(--surface)) 0,color-mix(in srgb,var(--danger) 11%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 26%,transparent),0 14px 24px rgba(225,29,72,.14)}.roster-day--blocked-vacation{border-color:color-mix(in srgb,var(--warning) 84%,var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--warning) 25%,var(--surface)) 0,color-mix(in srgb,var(--warning) 14%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning) 28%,transparent),0 14px 24px rgba(217,119,6,.16)}.roster-day--blocked-mixed{border-color:color-mix(in srgb,var(--danger) 74%,var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--danger) 18%,var(--surface)) 0,color-mix(in srgb,var(--danger) 18%,var(--surface)) 48%,color-mix(in srgb,var(--warning) 24%,var(--surface)) 48%,color-mix(in srgb,var(--warning) 24%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 24%,transparent),0 14px 24px rgba(217,119,6,.16)}.roster-day--blocked-buffer{border-color:color-mix(in srgb,#7c3aed 74%,var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,#7c3aed 18%,var(--surface)) 0,color-mix(in srgb,#7c3aed 10%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#7c3aed 22%,transparent),0 14px 24px rgba(124,58,237,.16)}.roster-day__header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;margin-bottom:calc(.28rem * var(--roster-zoom-scale));padding-bottom:calc(.2rem * var(--roster-zoom-scale));border-bottom:1px solid color-mix(in srgb,var(--surface-border) 82%,transparent);gap:calc(.35rem * var(--roster-zoom-scale))}.roster-day__headline{display:grid;grid-gap:calc(.12rem * var(--roster-zoom-scale));gap:calc(.12rem * var(--roster-zoom-scale));min-width:0;flex:1 1 100%}.roster-day__date-badge{display:inline-flex;align-items:center;gap:calc(.34rem * var(--roster-zoom-scale));align-self:flex-start;padding:calc(.18rem * var(--roster-zoom-scale)) calc(.42rem * var(--roster-zoom-scale));border:1px solid color-mix(in srgb,var(--info) 28%,var(--surface-border));border-radius:.72rem;background:linear-gradient(135deg,color-mix(in srgb,#dbeafe 84%,var(--surface)) 0,color-mix(in srgb,#eff6ff 92%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 6px 16px rgba(59,130,246,.08)}.roster-day__label{font-weight:700;margin-right:0;font-size:calc(var(--roster-day-label-base) * var(--roster-zoom-scale));letter-spacing:.03em;text-transform:uppercase;color:color-mix(in srgb,var(--info) 54%,var(--text))}.roster-day__number{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--heading);font-size:calc(var(--roster-day-number-base) * var(--roster-zoom-scale));font-weight:800;line-height:1}.roster-day__meta{display:flex;flex-wrap:wrap;gap:calc(.2rem * var(--roster-zoom-scale))}.roster-day__count{display:inline-flex;align-items:center;padding:calc(.1rem * var(--roster-zoom-scale)) calc(.34rem * var(--roster-zoom-scale));border:1px solid color-mix(in srgb,var(--surface-border) 74%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 70%,#eef2ff 30%);color:color-mix(in srgb,var(--text-muted) 24%,var(--text));font-size:calc(var(--roster-day-count-base) * var(--roster-zoom-scale));font-weight:700;line-height:1.15;white-space:nowrap}.roster-day--outside .roster-day__date-badge{border-color:color-mix(in srgb,var(--surface-border) 74%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,white 8%) 0,color-mix(in srgb,var(--surface) 96%,transparent) 100%);box-shadow:none}.roster-day--outside .roster-day__count,.roster-day--outside .roster-day__label,.roster-day--outside .roster-day__number{color:color-mix(in srgb,var(--text-muted) 82%,var(--text))}.roster-day--blocked .roster-day__date-badge{border-color:color-mix(in srgb,currentColor 18%,var(--surface-border));box-shadow:inset 0 0 0 1px rgba(255,255,255,.6),0 12px 24px rgba(15,23,42,.12)}:root[data-theme=dark] .roster-day__date-badge{border-color:color-mix(in srgb,var(--info) 34%,var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--info) 18%,var(--surface)) 0,color-mix(in srgb,var(--surface-2) 88%,transparent) 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 14px 28px rgba(2,6,23,.34)}:root[data-theme=dark] .roster-day__label{color:color-mix(in srgb,var(--info) 72%,white 28%)}:root[data-theme=dark] .roster-day__count{border-color:color-mix(in srgb,var(--info) 18%,var(--surface-border));background:color-mix(in srgb,var(--surface-2) 82%,var(--surface));color:var(--heading)}:root[data-theme=dark] .roster-day--outside .roster-day__date-badge{background:linear-gradient(135deg,color-mix(in srgb,var(--surface-2) 88%,var(--surface)) 0,color-mix(in srgb,var(--surface) 96%,transparent) 100%)}:root[data-theme=dark] .roster-day--blocked .roster-day__date-badge{border-color:color-mix(in srgb,currentColor 26%,var(--surface-border));box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 16px 28px rgba(2,6,23,.42)}.roster-day__expert{display:grid;grid-template-columns:auto minmax(0,1fr);flex:1 0 100%;align-items:center;grid-gap:calc(.32rem * var(--roster-zoom-scale));gap:calc(.32rem * var(--roster-zoom-scale));min-width:0;width:100%;padding-top:calc(.04rem * var(--roster-zoom-scale))}.roster-day__expert span{font-size:calc(.6rem * var(--roster-zoom-scale));color:color-mix(in srgb,var(--text-muted) 70%,var(--text));text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.roster-day__expert strong{font-size:calc(.72rem * var(--roster-zoom-scale))}.roster-day__expert .searchable-select,.roster-day__expert .searchable-select__input,.roster-day__expert input{width:100%;max-width:100%;flex:1 1 auto;min-width:0;font-size:calc(.68rem * var(--roster-zoom-scale))}.roster-day__expert-field{min-width:0;width:100%}.roster-day__expert-field .searchable-select__input{min-height:calc(1.55rem * var(--roster-zoom-scale))}.roster-day__expert-pill{display:inline-flex;align-items:center;justify-content:center;min-height:calc(1.5rem * var(--roster-zoom-scale));min-width:0;padding:calc(.12rem * var(--roster-zoom-scale)) calc(.42rem * var(--roster-zoom-scale));border:1px solid color-mix(in srgb,var(--surface-border) 84%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 84%,#eef2ff 16%);color:var(--heading);font-size:calc(.68rem * var(--roster-zoom-scale));font-weight:700;cursor:pointer;margin-left:auto;max-width:min(100%,12rem)}.roster-day__expert-pill:hover{border-color:color-mix(in srgb,var(--info) 38%,var(--surface-border));background:color-mix(in srgb,var(--surface) 76%,#eef2ff 24%);transition:border-color .15s ease,background .15s ease}.roster-day__expert-pill--active{border-color:color-mix(in srgb,var(--info) 56%,var(--surface-border));background:color-mix(in srgb,var(--info) 14%,var(--surface))}.roster-day__sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:calc(var(--roster-section-gap-base) * var(--roster-zoom-scale));gap:calc(var(--roster-section-gap-base) * var(--roster-zoom-scale));min-height:-moz-fit-content;min-height:fit-content;flex:0 0 auto;align-content:start}.lab-roster-day .roster-day__sections{grid-template-columns:minmax(0,1fr);gap:0;grid-template-rows:var(--lab-roster-row-template);min-height:0;flex:1 1 auto;align-content:stretch}.lab-roster-grid-shell{--lab-roster-header-track:calc(1.78rem * var(--roster-zoom-scale));--lab-roster-single-row-height:calc(2.02rem * var(--roster-zoom-scale));--lab-roster-double-row-height:calc(4.08rem * var(--roster-zoom-scale));--lab-roster-single-entry-height:calc(1.74rem * var(--roster-zoom-scale));--lab-roster-double-entry-height:calc(1.8rem * var(--roster-zoom-scale));--lab-roster-row-gap:max(1px,calc(0.06rem * var(--roster-zoom-scale)));--lab-roster-block-gap:max(5px,calc(0.18rem * var(--roster-zoom-scale)));--lab-roster-row-template:var(--lab-roster-single-row-height) var(--lab-roster-double-row-height) var(--lab-roster-block-gap) var(--lab-roster-single-row-height) var(--lab-roster-block-gap) var(--lab-roster-double-row-height) var(--lab-roster-single-row-height) var(--lab-roster-block-gap) var(--lab-roster-double-row-height) var(--lab-roster-single-row-height) var(--lab-roster-block-gap) var(--lab-roster-double-row-height) var(--lab-roster-single-row-height);width:max-content;min-width:100%;overflow:visible}.lab-roster-grid-shell[data-fit=compact]{--lab-roster-header-track:calc(1.62rem * var(--roster-zoom-scale));--lab-roster-single-row-height:calc(1.84rem * var(--roster-zoom-scale));--lab-roster-double-row-height:calc(3.72rem * var(--roster-zoom-scale));--lab-roster-single-entry-height:calc(1.56rem * var(--roster-zoom-scale));--lab-roster-double-entry-height:calc(1.62rem * var(--roster-zoom-scale));--lab-roster-row-gap:max(1px,calc(0.05rem * var(--roster-zoom-scale)));--lab-roster-block-gap:max(4px,calc(0.14rem * var(--roster-zoom-scale)))}.lab-roster-grid-shell[data-fit=dense]{--lab-roster-header-track:calc(1.44rem * var(--roster-zoom-scale));--lab-roster-single-row-height:calc(1.62rem * var(--roster-zoom-scale));--lab-roster-double-row-height:calc(3.28rem * var(--roster-zoom-scale));--lab-roster-single-entry-height:calc(1.34rem * var(--roster-zoom-scale));--lab-roster-double-entry-height:calc(1.42rem * var(--roster-zoom-scale));--lab-roster-row-gap:max(1px,calc(0.04rem * var(--roster-zoom-scale)));--lab-roster-block-gap:max(3px,calc(0.1rem * var(--roster-zoom-scale)))}.lab-roster-month-shell{display:grid;grid-template-columns:max-content max-content max-content;grid-gap:max(4px,calc(.22rem * var(--roster-zoom-scale)));gap:max(4px,calc(.22rem * var(--roster-zoom-scale)));width:max-content;min-width:100%;align-items:start}.lab-roster-grid-shell[data-fit=compact] .lab-roster-month-shell{grid-template-columns:calc(var(--lab-roster-rail-width-compact, 4.4rem) * var(--roster-zoom-scale)) max-content calc(var(--lab-roster-rail-width-compact, 4.4rem) * var(--roster-zoom-scale))}.lab-roster-grid-shell[data-fit=dense] .lab-roster-month-shell{grid-template-columns:calc(var(--lab-roster-rail-width-dense, 3.7rem) * var(--roster-zoom-scale)) max-content calc(var(--lab-roster-rail-width-dense, 3.7rem) * var(--roster-zoom-scale))}.lab-roster-grid-shell[data-fit=compact] .lab-roster-month-center{min-width:var(--roster-grid-min-compact,58rem)}.lab-roster-grid-shell[data-fit=dense] .lab-roster-month-center{min-width:var(--roster-grid-min-dense,50rem)}.lab-roster-month-center{width:max-content}.lab-roster-month-center,.lab-roster-month-rail{display:grid;grid-template-rows:repeat(var(--roster-week-count),auto);grid-gap:calc(var(--roster-week-gap-base) * var(--roster-zoom-scale));gap:calc(var(--roster-week-gap-base) * var(--roster-zoom-scale))}.lab-roster-month-rail{align-content:start;min-height:0}.lab-roster-month-rail__week{display:flex;padding:calc(var(--roster-day-gap-base) * var(--roster-zoom-scale));min-height:0}.lab-roster-month-rail__day{min-width:0;min-height:100%;height:100%;display:grid;grid-template-rows:var(--lab-roster-header-track) minmax(0,1fr);border:1px solid var(--surface-border);border-radius:.72rem;background:color-mix(in srgb,var(--surface) 94%,white 6%);padding:calc(.24rem * var(--roster-zoom-scale));box-shadow:0 6px 16px rgba(15,23,42,.04)}.lab-roster-month-rail__spacer{box-sizing:border-box;min-height:var(--lab-roster-header-track);border-bottom:1px solid color-mix(in srgb,var(--surface-border) 82%,transparent);padding-bottom:calc(.08rem * var(--roster-zoom-scale))}.lab-roster-month-rail__labels{display:grid;grid-template-rows:var(--lab-roster-row-template);grid-gap:0;gap:0;align-content:stretch;padding-top:calc(.12rem * var(--roster-zoom-scale))}.lab-roster-day{min-height:auto;display:grid;grid-template-rows:var(--lab-roster-header-track) minmax(0,1fr);padding:calc(.24rem * var(--roster-zoom-scale))}.lab-roster-day .roster-day__header{box-sizing:border-box;min-height:var(--lab-roster-header-track);margin-bottom:0;padding-bottom:calc(.08rem * var(--roster-zoom-scale));gap:calc(.15rem * var(--roster-zoom-scale))}.lab-roster-day .roster-day__headline{gap:calc(.04rem * var(--roster-zoom-scale))}.lab-roster-day .roster-day__date-badge{gap:calc(.24rem * var(--roster-zoom-scale));padding:calc(.08rem * var(--roster-zoom-scale)) calc(.24rem * var(--roster-zoom-scale));border-radius:.56rem}.lab-roster-day .roster-day__label{letter-spacing:.02em}.lab-roster-day .roster-day__number{font-size:calc(.96rem * var(--roster-zoom-scale))}.roster-section{min-height:0;display:grid;align-content:start;border:1px solid color-mix(in srgb,var(--surface-border) 78%,transparent);border-radius:.64rem;padding:calc(var(--roster-section-padding-base) * var(--roster-zoom-scale));background:color-mix(in srgb,var(--surface) 95%,#f8fafc 5%)}.lab-roster-section{--lab-roster-section-accent:#2563eb;--lab-roster-section-rail-text:color-mix(in srgb,var(--lab-roster-section-accent) 74%,var(--heading));--lab-roster-section-bg-color:color-mix(in srgb,var(--lab-roster-section-accent) 8%,var(--surface));--lab-roster-section-bg-image:linear-gradient(180deg,color-mix(in srgb,var(--lab-roster-section-accent) 10%,white 90%) 0%,color-mix(in srgb,var(--lab-roster-section-accent) 16%,var(--surface)) 100%);--lab-roster-section-border-color:color-mix(in srgb,var(--lab-roster-section-accent) 40%,var(--surface-border));--lab-roster-section-shadow:0 0 0 1px color-mix(in srgb,var(--lab-roster-section-accent) 10%,transparent),0 5px 14px rgba(15,23,42,0.08);--lab-roster-section-rail-bg-color:color-mix(in srgb,var(--lab-roster-section-accent) 24%,white 76%);--lab-roster-section-rail-bg-image:linear-gradient(180deg,color-mix(in srgb,var(--lab-roster-section-accent) 16%,white 84%) 0%,color-mix(in srgb,var(--lab-roster-section-accent) 34%,white 66%) 100%);--lab-roster-section-rail-shadow:inset 0 1px 0 rgba(255,255,255,0.55),0 0 0 1px color-mix(in srgb,var(--lab-roster-section-accent) 16%,transparent);grid-column:1/-1;position:relative;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:calc(.03rem * var(--roster-zoom-scale));border:1px solid var(--lab-roster-section-border-color);border-radius:calc(.62rem * var(--roster-zoom-scale));background-color:var(--lab-roster-section-bg-color);background-image:var(--lab-roster-section-bg-image);box-shadow:var(--lab-roster-section-shadow);overflow:visible}.lab-roster-section,.lab-roster-section--row-single{--lab-roster-entry-slot-height:var(--lab-roster-single-entry-height);min-height:var(--lab-roster-single-row-height);height:var(--lab-roster-single-row-height)}.lab-roster-section--row-double{--lab-roster-entry-slot-height:var(--lab-roster-double-entry-height);min-height:var(--lab-roster-double-row-height);height:var(--lab-roster-double-row-height)}.lab-roster-month-rail__row--ct_114,.lab-roster-section--ct_114{--lab-roster-section-accent:#0f766e}.lab-roster-month-rail__row--module,.lab-roster-section--module{--lab-roster-section-accent:#7c3aed}.lab-roster-section--module{margin-top:calc(var(--lab-roster-block-gap) + 1px)}.lab-roster-month-rail__row--ct_22,.lab-roster-section--ct_22{--lab-roster-section-accent:#15803d}.lab-roster-month-rail__row--night_22,.lab-roster-section--night_22{--lab-roster-section-accent:#047857}.lab-roster-month-rail__row--ct_25,.lab-roster-section--ct_25{--lab-roster-section-accent:#b45309}.lab-roster-month-rail__row--night_25,.lab-roster-section--night_25{--lab-roster-section-accent:#9a3412}.lab-roster-month-rail__row--ct_55,.lab-roster-section--ct_55{--lab-roster-section-accent:#1d4ed8}.lab-roster-month-rail__row--night_55,.lab-roster-section--night_55{--lab-roster-section-accent:#4338ca}.lab-roster-section .roster-section__body{display:grid;grid-auto-rows:minmax(var(--lab-roster-entry-slot-height),auto);grid-gap:var(--lab-roster-row-gap);gap:var(--lab-roster-row-gap);padding:calc(.14rem * var(--roster-zoom-scale)) calc(.12rem * var(--roster-zoom-scale));border-radius:calc(.48rem * var(--roster-zoom-scale));background:color-mix(in srgb,var(--surface) 42%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lab-roster-section-accent) 12%,transparent);min-height:0;flex:1 1 auto;align-content:start;align-items:stretch;overflow-y:auto}.lab-roster-section__body--row-single{align-content:center}.lab-roster-section__body--row-double{align-content:start}.lab-roster-section .roster-entry-shell{display:flex;min-height:var(--lab-roster-entry-slot-height);height:100%}.lab-roster-section .roster-entry-shell>.lab-roster-entry{flex:1 1 auto}.lab-roster-month-rail__row{--lab-roster-section-rail-text:color-mix(in srgb,var(--lab-roster-section-accent,#2563eb) 74%,var(--heading));box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:var(--lab-roster-single-row-height);padding:calc(.04rem * var(--roster-zoom-scale)) calc(.18rem * var(--roster-zoom-scale));border:1px solid color-mix(in srgb,var(--lab-roster-section-accent) 34%,var(--surface-border));border-radius:calc(.52rem * var(--roster-zoom-scale));background-color:var(--lab-roster-section-rail-bg-color);background-image:var(--lab-roster-section-rail-bg-image);box-shadow:var(--lab-roster-section-rail-shadow)}.lab-roster-month-rail__row--row-single{min-height:var(--lab-roster-single-row-height);height:var(--lab-roster-single-row-height)}.lab-roster-month-rail__row--row-double{min-height:var(--lab-roster-double-row-height);height:var(--lab-roster-double-row-height)}.lab-roster-month-rail__label{display:inline-flex;align-items:center;justify-content:center;min-width:0;width:100%;height:100%;color:var(--lab-roster-section-rail-text);font-size:calc(.62rem * var(--roster-zoom-scale));font-weight:900;letter-spacing:.01em;line-height:1;text-align:center;white-space:nowrap}.roster-section--deputy_head,.roster-section--main_building,.roster-section--night,.roster-section--remote,.roster-section--six_building{grid-column:1/-1}.roster-section--collapsed-empty{display:none;min-height:0;padding:0;border:0;background:transparent}.roster-section__header{display:flex;align-items:center;justify-content:space-between;gap:calc(.2rem * var(--roster-zoom-scale));margin-bottom:calc(.22rem * var(--roster-zoom-scale));padding-bottom:calc(.08rem * var(--roster-zoom-scale));border-bottom:1px solid color-mix(in srgb,var(--surface-border) 72%,transparent)}.roster-section--collapsed-empty .roster-section__header{margin:0;justify-content:flex-end}.roster-section--collapsed-empty .roster-section__add{min-width:calc(1.08rem * var(--roster-zoom-scale));min-height:calc(1.08rem * var(--roster-zoom-scale))}.roster-section__header h3{display:inline-flex;align-items:center;margin:0;min-height:calc(1.1rem * var(--roster-zoom-scale));padding:calc(.08rem * var(--roster-zoom-scale)) calc(.4rem * var(--roster-zoom-scale));border:1px solid color-mix(in srgb,var(--surface-border) 76%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 78%,#eef2ff 22%);box-shadow:inset 0 1px 0 rgba(255,255,255,.45);font-size:calc(.66rem * var(--roster-zoom-scale));line-height:1.05;letter-spacing:.02em;text-transform:uppercase}.roster-section--hidden-label{background:color-mix(in srgb,var(--surface) 94%,#eef2ff 6%)}.roster-section__sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.roster-section__add{min-width:calc(1.4rem * var(--roster-zoom-scale));min-height:calc(1.4rem * var(--roster-zoom-scale));padding:0;border-radius:999px;border:1px solid var(--surface-border);background:color-mix(in srgb,var(--surface) 76%,#dbeafe 24%);cursor:pointer;color:transparent;font-size:0;font-weight:700}.roster-section__add:before{content:"+";color:var(--heading);font-size:calc(.86rem * var(--roster-zoom-scale))}.roster-section__body{display:flex;flex-direction:column;gap:calc(.18rem * var(--roster-zoom-scale));padding:calc(.14rem * var(--roster-zoom-scale));border-radius:calc(.56rem * var(--roster-zoom-scale));background:color-mix(in srgb,var(--surface) 82%,#f8fafc 18%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--surface-border) 58%,transparent);min-height:-moz-fit-content;min-height:fit-content;overflow:visible}.roster-section__body--dual-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;grid-column-gap:calc(.18rem * var(--roster-zoom-scale));column-gap:calc(.18rem * var(--roster-zoom-scale))}.roster-section__body--dual-column .roster-section__empty{grid-column:1/-1}.roster-section__body--collapsed-empty{display:none}.roster-section__empty{margin:0;display:flex;align-items:center;justify-content:center;min-height:calc(1.72rem * var(--roster-zoom-scale));padding:calc(.08rem * var(--roster-zoom-scale)) calc(.26rem * var(--roster-zoom-scale));border:1px dashed color-mix(in srgb,var(--surface-border) 78%,transparent);border-radius:calc(.5rem * var(--roster-zoom-scale));background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text-muted);font-size:calc(.72rem * var(--roster-zoom-scale))}.roster-entry{display:grid;grid-gap:calc(.08rem * var(--roster-zoom-scale));gap:calc(.08rem * var(--roster-zoom-scale));width:100%;min-height:calc(2rem * var(--roster-zoom-scale));height:auto;align-items:center;justify-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;border:1px solid color-mix(in srgb,var(--surface-border) 84%,transparent);border-radius:calc(.82rem * var(--roster-zoom-scale));background:color-mix(in srgb,var(--surface) 84%,#f8fafc 16%);color:var(--heading);box-shadow:inset 0 1px 0 rgba(255,255,255,.42),0 6px 14px rgba(15,23,42,.05);cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease,background-color .14s ease}.roster-entry,.roster-entry--readonly{padding:calc(var(--roster-entry-pad-y-base) * var(--roster-zoom-scale)) calc(var(--roster-entry-pad-x-base) * var(--roster-zoom-scale))}.roster-entry--readonly{justify-content:flex-start}.roster-entry:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--info) 30%,var(--surface-border));box-shadow:0 6px 14px rgba(15,23,42,.06)}.roster-entry:focus-visible{outline:2px solid var(--link);outline-offset:2px}.roster-entry:active{opacity:.85;transition:opacity .1s ease}.roster-entry--selected{border-color:color-mix(in srgb,var(--primary) 48%,var(--surface-border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 22%,transparent),0 8px 16px rgba(37,99,235,.1)}.roster-entry--active-person{border-color:color-mix(in srgb,var(--info) 54%,var(--surface-border));background:color-mix(in srgb,var(--info) 12%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--info) 18%,transparent),0 8px 16px rgba(59,130,246,.1)}.roster-entry--faded{opacity:.5}.roster-entry__label{display:block;max-width:100%;overflow:hidden;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:break-word;font-size:calc(var(--roster-entry-font-base) * var(--roster-zoom-scale));font-weight:800;line-height:1.18;text-align:center}.roster-entry__label--doctor{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 .22em;max-width:100%;font-size:clamp(.56rem,.18vw + .52rem,calc(.9rem * var(--roster-zoom-scale)));line-height:1.12;letter-spacing:-.01em;text-wrap:balance;overflow-wrap:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.roster-entry__label-primary{display:block;min-width:0;max-width:100%;text-wrap:balance}.roster-entry__label-secondary{display:inline-flex;align-items:center;white-space:nowrap;font-size:.94em;color:color-mix(in srgb,currentColor 84%,var(--text-muted))}.roster-grid-shell[data-fit=compact] .roster-entry__label--doctor,.roster-grid-shell[data-fit=dense] .roster-entry__label--doctor{display:inline-grid;justify-items:center;gap:.04em;font-size:clamp(.52rem,.14vw + .48rem,calc(.82rem * var(--roster-zoom-scale)))}.roster-grid-shell[data-fit=compact] .roster-entry__label-secondary,.roster-grid-shell[data-fit=dense] .roster-entry__label-secondary{display:block;line-height:1}.roster-entry__row{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;gap:.25rem}.roster-entry-shell{position:relative;display:flex;width:100%;min-height:calc(2rem * var(--roster-zoom-scale))}.roster-entry-shell>.roster-entry{flex:1 1 auto}.roster-entry__remove{position:absolute;top:calc(-.04rem * var(--roster-zoom-scale));right:calc(-.12rem * var(--roster-zoom-scale));z-index:3;display:inline-flex;align-items:center;justify-content:center;width:calc(.92rem * var(--roster-zoom-scale));height:calc(.92rem * var(--roster-zoom-scale));padding:0;border:1px solid color-mix(in srgb,var(--danger) 32%,var(--surface-border));border-radius:999px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:color-mix(in srgb,var(--danger) 78%,var(--heading));font-size:calc(.68rem * var(--roster-zoom-scale));font-weight:800;line-height:1;box-shadow:0 3px 8px rgba(15,23,42,.08);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,visibility .14s ease,border-color .14s ease,background-color .14s ease,color .14s ease}.roster-entry-shell:focus-within .roster-entry__remove,.roster-entry-shell:hover .roster-entry__remove{opacity:1;visibility:visible;pointer-events:auto}.roster-entry__remove:focus-visible,.roster-entry__remove:hover{border-color:color-mix(in srgb,var(--danger) 52%,var(--surface-border));background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:color-mix(in srgb,var(--danger) 94%,var(--heading))}@media (prefers-reduced-motion:no-preference){.roster-entry__remove:active{transform:scale(.97);transition:transform .1s ease}}.lab-roster-entry{display:flex;align-items:center;justify-content:center;min-height:var(--lab-roster-entry-slot-height);height:100%;padding:calc(.04rem * var(--roster-zoom-scale)) calc(.28rem * var(--roster-zoom-scale));border-radius:calc(.68rem * var(--roster-zoom-scale));border-color:color-mix(in srgb,var(--lab-roster-section-accent) 30%,var(--surface-border));background:color-mix(in srgb,var(--lab-roster-section-accent) 18%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lab-roster-section-accent) 12%,transparent),0 6px 14px rgba(15,23,42,.07)}.lab-roster-entry:hover{border-color:color-mix(in srgb,var(--lab-roster-section-accent) 38%,var(--surface-border));background:color-mix(in srgb,var(--lab-roster-section-accent) 24%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lab-roster-section-accent) 16%,transparent),0 8px 16px rgba(15,23,42,.1)}.lab-roster-entry:focus-visible{outline:2px solid var(--link);outline-offset:2px}.lab-roster-entry:active{opacity:.85;transition:opacity .1s ease}.lab-roster-entry .roster-entry__row{display:flex;flex:1 1 auto;min-height:100%;align-items:center;justify-content:center;gap:0}.lab-roster-entry .roster-entry__label{display:flex;align-items:center;justify-content:center;min-height:100%;width:100%;font-size:calc(var(--roster-entry-font-base) * var(--roster-zoom-scale));line-height:1.12;text-wrap:balance;overflow-wrap:normal;word-break:normal}.lab-roster-section__empty-row{display:flex;align-items:center;justify-content:center;gap:0;min-height:var(--lab-roster-entry-slot-height);height:100%;padding:calc(.04rem * var(--roster-zoom-scale)) calc(.28rem * var(--roster-zoom-scale));border:1px dashed color-mix(in srgb,var(--lab-roster-section-accent) 30%,var(--surface-border));border-radius:calc(.68rem * var(--roster-zoom-scale));background:color-mix(in srgb,var(--lab-roster-section-accent) 12%,var(--surface))}.lab-roster-section__empty-row .roster-section__empty{padding-inline:0}.lab-roster-section__add-inline{position:absolute;top:calc(-.08rem * var(--roster-zoom-scale));right:0;z-index:2;min-width:calc(1.02rem * var(--roster-zoom-scale));min-height:calc(1.02rem * var(--roster-zoom-scale));padding:0;border:1px solid color-mix(in srgb,var(--lab-roster-section-accent) 30%,var(--surface-border));border-radius:999px;background:color-mix(in srgb,var(--lab-roster-section-accent) 12%,var(--surface));color:var(--heading);font-size:calc(.76rem * var(--roster-zoom-scale));font-weight:800;line-height:1;box-shadow:0 4px 10px rgba(15,23,42,.08);cursor:pointer;opacity:1}.lab-roster-section__add-inline:focus-visible,.lab-roster-section__add-inline:hover{opacity:1;border-color:color-mix(in srgb,var(--lab-roster-section-accent) 42%,var(--surface-border));box-shadow:0 6px 12px color-mix(in srgb,var(--lab-roster-section-accent) 22%,transparent)}@media (prefers-reduced-motion:no-preference){.lab-roster-section__add-inline:active{transform:scale(.97);transition:transform .1s ease}}.lab-roster-section--night{--lab-roster-section-bg-color:color-mix(in srgb,var(--lab-roster-section-accent) 14%,#e7edf6);--lab-roster-section-bg-image:linear-gradient(180deg,color-mix(in srgb,var(--lab-roster-section-accent) 14%,#eff3f8) 0%,color-mix(in srgb,var(--lab-roster-section-accent) 26%,#d5dfed) 100%);--lab-roster-section-rail-bg-color:color-mix(in srgb,var(--lab-roster-section-accent) 20%,#d2ddea);--lab-roster-section-rail-bg-image:linear-gradient(180deg,color-mix(in srgb,var(--lab-roster-section-accent) 18%,#dde6f0) 0%,color-mix(in srgb,var(--lab-roster-section-accent) 34%,#becddd) 100%);--lab-roster-section-shadow:0 0 0 1px color-mix(in srgb,var(--lab-roster-section-accent) 12%,transparent),0 5px 14px rgba(15,23,42,0.1)}.lab-roster-section--night .lab-roster-section__empty-row{background:linear-gradient(180deg,color-mix(in srgb,var(--dark) 6%,var(--surface)) 0,color-mix(in srgb,var(--dark) 2%,var(--surface)) 100%)}.roster-entry__tail{flex-shrink:0;margin-left:auto;font-size:.58rem;font-weight:700;line-height:1;letter-spacing:.03em}.roster-entry__meta{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(var(--roster-meta-font-base) * var(--roster-zoom-scale));color:var(--text-muted)}.roster-grid-shell[data-fit=compact] .roster-entry__meta,.roster-grid-shell[data-fit=dense] .roster-entry__meta{display:none}.roster-entry--warning{border-width:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 0 0 1px rgba(15,23,42,.05),0 14px 24px rgba(15,23,42,.09)}.roster-entry--warning .searchable-select__input,.roster-entry--warning input[type=text]{font-weight:700;color:var(--heading)}.roster-entry--warning-unwanted{border-color:color-mix(in srgb,var(--danger) 82%,var(--surface-border));background:linear-gradient(90deg,color-mix(in srgb,var(--danger) 28%,transparent) 0,color-mix(in srgb,var(--danger) 28%,transparent) .42rem,color-mix(in srgb,var(--danger) 16%,var(--surface)) .42rem,color-mix(in srgb,var(--danger) 16%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 26%,transparent),0 16px 28px rgba(225,29,72,.18)}.roster-entry--warning-unwanted .searchable-select__input,.roster-entry--warning-unwanted input[type=text]{background:color-mix(in srgb,var(--danger) 12%,var(--surface));color:color-mix(in srgb,var(--danger) 74%,var(--text))}.roster-entry--warning-vacation{border-color:color-mix(in srgb,var(--warning) 85%,var(--surface-border));background:linear-gradient(90deg,color-mix(in srgb,var(--warning) 34%,transparent) 0,color-mix(in srgb,var(--warning) 34%,transparent) .42rem,color-mix(in srgb,var(--warning) 18%,var(--surface)) .42rem,color-mix(in srgb,var(--warning) 18%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning) 28%,transparent),0 16px 28px rgba(217,119,6,.18)}.roster-entry--warning-vacation .searchable-select__input,.roster-entry--warning-vacation input[type=text]{background:color-mix(in srgb,var(--warning) 12%,var(--surface));color:color-mix(in srgb,var(--warning) 78%,var(--text))}.roster-entry--warning-series{border-color:#c026d3;background:linear-gradient(90deg,color-mix(in srgb,#c026d3 34%,transparent) 0,color-mix(in srgb,#c026d3 34%,transparent) .42rem,color-mix(in srgb,#c026d3 14%,var(--surface)) .42rem,color-mix(in srgb,#c026d3 14%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#c026d3 26%,transparent),0 16px 28px rgba(192,38,211,.18)}.roster-entry--warning-duplicate{border-color:#2563eb;background:linear-gradient(90deg,color-mix(in srgb,#2563eb 36%,transparent) 0,color-mix(in srgb,#2563eb 36%,transparent) .42rem,color-mix(in srgb,#2563eb 14%,var(--surface)) .42rem,color-mix(in srgb,#2563eb 14%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#2563eb 26%,transparent),0 16px 28px rgba(37,99,235,.18)}.roster-entry--warning-sutki{border-color:#0f766e;background:linear-gradient(90deg,color-mix(in srgb,#0f766e 34%,transparent) 0,color-mix(in srgb,#0f766e 34%,transparent) .42rem,color-mix(in srgb,#0f766e 14%,var(--surface)) .42rem,color-mix(in srgb,#0f766e 14%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#0f766e 24%,transparent),0 16px 28px rgba(15,118,110,.18)}.roster-entry--warning-buffer,.roster-entry--warning-rest{border-color:#7c3aed;background:linear-gradient(90deg,color-mix(in srgb,#7c3aed 34%,transparent) 0,color-mix(in srgb,#7c3aed 34%,transparent) .42rem,color-mix(in srgb,#7c3aed 14%,var(--surface)) .42rem,color-mix(in srgb,#7c3aed 14%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#7c3aed 24%,transparent),0 16px 28px rgba(124,58,237,.18)}.roster-entry--warning-sutki-22{border-color:#0f766e;background:linear-gradient(90deg,color-mix(in srgb,#0f766e 34%,transparent) 0,color-mix(in srgb,#0f766e 34%,transparent) .42rem,color-mix(in srgb,#0f766e 14%,var(--surface)) .42rem,color-mix(in srgb,#0f766e 14%,var(--surface)) 100%)}.roster-entry--warning-sutki-25{border-color:#b45309;background:linear-gradient(90deg,color-mix(in srgb,#b45309 34%,transparent) 0,color-mix(in srgb,#b45309 34%,transparent) .42rem,color-mix(in srgb,#b45309 14%,var(--surface)) .42rem,color-mix(in srgb,#b45309 14%,var(--surface)) 100%)}.roster-entry--warning-sutki-55{border-color:#1d4ed8;background:linear-gradient(90deg,color-mix(in srgb,#1d4ed8 34%,transparent) 0,color-mix(in srgb,#1d4ed8 34%,transparent) .42rem,color-mix(in srgb,#1d4ed8 14%,var(--surface)) .42rem,color-mix(in srgb,#1d4ed8 14%,var(--surface)) 100%)}.lab-roster-entry--night:not(.lab-roster-entry--staff-sutki-tone){border-color:color-mix(in srgb,var(--lab-roster-section-accent) 42%,var(--surface-border));background:color-mix(in srgb,var(--lab-roster-section-accent) 32%,var(--surface));color:color-mix(in srgb,var(--lab-roster-section-accent) 72%,var(--heading))}.lab-roster-entry--night:not(.lab-roster-entry--staff-sutki-tone):hover{border-color:color-mix(in srgb,var(--lab-roster-section-accent) 52%,var(--surface-border));background:color-mix(in srgb,var(--lab-roster-section-accent) 38%,var(--surface))}.lab-roster-entry--staff-sutki-tone{border-color:var(--lab-roster-staff-accent);background:color-mix(in srgb,var(--lab-roster-staff-wash) 82%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lab-roster-staff-accent) 22%,transparent),0 8px 18px var(--lab-roster-staff-shadow)}.lab-roster-entry--staff-sutki-tone:hover{background:color-mix(in srgb,var(--lab-roster-staff-wash) 88%,var(--surface))}.lab-roster-entry--staff-sutki-tone .searchable-select__input,.lab-roster-entry--staff-sutki-tone input[type=text]{background:color-mix(in srgb,var(--lab-roster-staff-soft) 88%,var(--surface));color:var(--lab-roster-staff-text)}:root[data-theme=dark] .lab-roster-section{--lab-roster-section-bg-color:color-mix(in srgb,var(--lab-roster-section-accent) 18%,#101926);--lab-roster-section-bg-image:linear-gradient(180deg,color-mix(in srgb,var(--lab-roster-section-accent) 24%,#152234) 0%,color-mix(in srgb,var(--lab-roster-section-accent) 14%,#0f1724) 100%);--lab-roster-section-border-color:color-mix(in srgb,var(--lab-roster-section-accent) 42%,var(--surface-border));--lab-roster-section-shadow:0 0 0 1px color-mix(in srgb,var(--lab-roster-section-accent) 16%,transparent),0 8px 18px rgba(0,0,0,0.26);border-color:var(--lab-roster-section-border-color);background-color:var(--lab-roster-section-bg-color);background-image:var(--lab-roster-section-bg-image)}:root[data-theme=dark] .lab-roster-month-rail__row{--lab-roster-section-rail-bg-color:color-mix(in srgb,var(--lab-roster-section-accent) 30%,#13283f);--lab-roster-section-rail-bg-image:linear-gradient(180deg,color-mix(in srgb,var(--lab-roster-section-accent) 38%,#19304b) 0%,color-mix(in srgb,var(--lab-roster-section-accent) 20%,#102235) 100%);--lab-roster-section-rail-shadow:inset 0 1px 0 rgba(255,255,255,0.08),0 0 0 1px color-mix(in srgb,var(--lab-roster-section-accent) 24%,transparent);border-color:color-mix(in srgb,var(--lab-roster-section-accent) 44%,var(--surface-border));background-color:var(--lab-roster-section-rail-bg-color);background-image:var(--lab-roster-section-rail-bg-image);box-shadow:var(--lab-roster-section-rail-shadow)}:root[data-theme=dark] .lab-roster-month-rail__label{color:color-mix(in srgb,var(--lab-roster-section-accent) 52%,white 48%)}:root[data-theme=dark] .lab-roster-section--night{--lab-roster-section-bg-color:color-mix(in srgb,var(--lab-roster-section-accent) 19%,#141c28);--lab-roster-section-bg-image:linear-gradient(180deg,color-mix(in srgb,var(--lab-roster-section-accent) 28%,#1a293a) 0%,color-mix(in srgb,var(--lab-roster-section-accent) 16%,#141d2a) 100%)}:root[data-theme=dark] .lab-roster-month-rail__row--night_22,:root[data-theme=dark] .lab-roster-month-rail__row--night_25,:root[data-theme=dark] .lab-roster-month-rail__row--night_55{--lab-roster-section-rail-bg-color:color-mix(in srgb,var(--lab-roster-section-accent) 24%,#253142);--lab-roster-section-rail-bg-image:linear-gradient(180deg,color-mix(in srgb,var(--lab-roster-section-accent) 28%,#314154) 0%,color-mix(in srgb,var(--lab-roster-section-accent) 18%,#202b3a) 100%)}:root[data-theme=dark] .lab-roster-month-rail__row--night_22 .lab-roster-month-rail__label,:root[data-theme=dark] .lab-roster-month-rail__row--night_25 .lab-roster-month-rail__label,:root[data-theme=dark] .lab-roster-month-rail__row--night_55 .lab-roster-month-rail__label{color:color-mix(in srgb,var(--lab-roster-section-accent) 38%,white 62%)}:root[data-theme=dark] .lab-roster-section--night .lab-roster-section__empty-row{background:linear-gradient(180deg,color-mix(in srgb,var(--surface-2) 92%,var(--surface)) 0,color-mix(in srgb,var(--dark) 24%,var(--surface)) 100%)}:root[data-theme=dark] .lab-roster-section__empty-row .roster-section__empty{color:var(--text-muted)}:root[data-theme=dark] .lab-roster-entry--night:not(.lab-roster-entry--staff-sutki-tone){border-color:color-mix(in srgb,var(--lab-roster-section-accent) 46%,var(--surface-border));background:color-mix(in srgb,var(--lab-roster-section-accent) 30%,var(--surface-2))}:root[data-theme=dark] .lab-roster-entry--night:not(.lab-roster-entry--staff-sutki-tone):hover{background:color-mix(in srgb,var(--lab-roster-section-accent) 38%,var(--surface-2))}:root[data-theme=dark] .lab-roster-entry--staff-sutki-tone .searchable-select__input,:root[data-theme=dark] .lab-roster-entry--staff-sutki-tone input[type=text]{background:color-mix(in srgb,var(--lab-roster-staff-accent) 16%,var(--surface-2));color:color-mix(in srgb,var(--lab-roster-staff-accent) 34%,white 66%)}.roster-entry .searchable-select,.roster-entry .searchable-select__input,.roster-entry input{width:100%;min-width:0;font-size:calc(.74rem * var(--roster-zoom-scale));font-weight:600}.roster-entry .searchable-select{flex:1 1}.roster-workspace--doctor-admin-hybrid .roster-day--blocked,.roster-workspace--lab-admin-hybrid .roster-day--blocked{border-width:2px;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent),0 10px 18px rgba(15,23,42,.06)}.roster-workspace--doctor-admin-hybrid .roster-day--blocked-unwanted,.roster-workspace--lab-admin-hybrid .roster-day--blocked-unwanted{border-color:color-mix(in srgb,var(--danger) 74%,var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--danger) 20%,var(--surface)) 0,color-mix(in srgb,var(--danger) 11%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 26%,transparent),0 14px 24px rgba(225,29,72,.14)}.roster-workspace--doctor-admin-hybrid .roster-day--blocked-vacation,.roster-workspace--lab-admin-hybrid .roster-day--blocked-vacation{border-color:color-mix(in srgb,var(--warning) 84%,var(--surface-border));background:linear-gradient(180deg,color-mix(in srgb,var(--warning) 25%,var(--surface)) 0,color-mix(in srgb,var(--warning) 14%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning) 28%,transparent),0 14px 24px rgba(217,119,6,.16)}.roster-workspace--doctor-admin-hybrid .roster-day--blocked-mixed,.roster-workspace--lab-admin-hybrid .roster-day--blocked-mixed{border-color:color-mix(in srgb,var(--danger) 74%,var(--surface-border));background:linear-gradient(135deg,color-mix(in srgb,var(--danger) 18%,var(--surface)) 0,color-mix(in srgb,var(--danger) 18%,var(--surface)) 48%,color-mix(in srgb,var(--warning) 24%,var(--surface)) 48%,color-mix(in srgb,var(--warning) 24%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 24%,transparent),0 14px 24px rgba(217,119,6,.16)}.roster-workspace--doctor-admin-hybrid .roster-entry--warning,.roster-workspace--lab-admin-hybrid .roster-entry--warning{border-width:2px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 0 0 1px rgba(15,23,42,.05),0 14px 24px rgba(15,23,42,.09)}.roster-workspace--doctor-admin-hybrid .roster-entry--warning-unwanted,.roster-workspace--lab-admin-hybrid .roster-entry--warning-unwanted{border-color:color-mix(in srgb,var(--danger) 82%,var(--surface-border));background:linear-gradient(90deg,color-mix(in srgb,var(--danger) 28%,transparent) 0,color-mix(in srgb,var(--danger) 28%,transparent) .42rem,color-mix(in srgb,var(--danger) 16%,var(--surface)) .42rem,color-mix(in srgb,var(--danger) 16%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--danger) 26%,transparent),0 16px 28px rgba(225,29,72,.18)}.roster-workspace--doctor-admin-hybrid .roster-entry--warning-vacation,.roster-workspace--lab-admin-hybrid .roster-entry--warning-vacation{border-color:color-mix(in srgb,var(--warning) 85%,var(--surface-border));background:linear-gradient(90deg,color-mix(in srgb,var(--warning) 34%,transparent) 0,color-mix(in srgb,var(--warning) 34%,transparent) .42rem,color-mix(in srgb,var(--warning) 18%,var(--surface)) .42rem,color-mix(in srgb,var(--warning) 18%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warning) 28%,transparent),0 16px 28px rgba(217,119,6,.18)}.roster-workspace--doctor-admin-hybrid .roster-entry--warning-series,.roster-workspace--lab-admin-hybrid .roster-entry--warning-series{border-color:#c026d3;background:linear-gradient(90deg,color-mix(in srgb,#c026d3 34%,transparent) 0,color-mix(in srgb,#c026d3 34%,transparent) .42rem,color-mix(in srgb,#c026d3 14%,var(--surface)) .42rem,color-mix(in srgb,#c026d3 14%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#c026d3 26%,transparent),0 16px 28px rgba(192,38,211,.18)}.roster-workspace--doctor-admin-hybrid .roster-entry--warning-duplicate,.roster-workspace--lab-admin-hybrid .roster-entry--warning-duplicate{border-color:#2563eb;background:linear-gradient(90deg,color-mix(in srgb,#2563eb 36%,transparent) 0,color-mix(in srgb,#2563eb 36%,transparent) .42rem,color-mix(in srgb,#2563eb 14%,var(--surface)) .42rem,color-mix(in srgb,#2563eb 14%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#2563eb 26%,transparent),0 16px 28px rgba(37,99,235,.18)}.roster-workspace--doctor-admin-hybrid .roster-entry--warning-sutki,.roster-workspace--lab-admin-hybrid .roster-entry--warning-sutki{border-color:#0f766e;background:linear-gradient(90deg,color-mix(in srgb,#0f766e 34%,transparent) 0,color-mix(in srgb,#0f766e 34%,transparent) .42rem,color-mix(in srgb,#0f766e 14%,var(--surface)) .42rem,color-mix(in srgb,#0f766e 14%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#0f766e 24%,transparent),0 16px 28px rgba(15,118,110,.18)}.roster-workspace--doctor-admin-hybrid .roster-entry--warning-buffer,.roster-workspace--doctor-admin-hybrid .roster-entry--warning-rest,.roster-workspace--lab-admin-hybrid .roster-entry--warning-buffer,.roster-workspace--lab-admin-hybrid .roster-entry--warning-rest{border-color:#7c3aed;background:linear-gradient(90deg,color-mix(in srgb,#7c3aed 34%,transparent) 0,color-mix(in srgb,#7c3aed 34%,transparent) .42rem,color-mix(in srgb,#7c3aed 14%,var(--surface)) .42rem,color-mix(in srgb,#7c3aed 14%,var(--surface)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,#7c3aed 24%,transparent),0 16px 28px rgba(124,58,237,.18)}:root[data-theme=dark] .legacy-page--roster-workspace{border-radius:1.5rem;background-color:#1c1a14;background-image:radial-gradient(circle at 50% 0,rgba(212,175,55,.16) 0,transparent 38%),radial-gradient(circle at 0 100%,rgba(139,115,85,.12) 0,transparent 34%)}:root[data-theme=dark] .roster-workspace{color:var(--text)}:root[data-theme=dark] .roster-side-panel,:root[data-theme=dark] .roster-summary-inline-row,:root[data-theme=dark] .roster-workspace__calendar-viewport,:root[data-theme=dark] .roster-workspace__drawer-panel,:root[data-theme=dark] .roster-workspace__drawer-rail,:root[data-theme=dark] .roster-workspace__mobile-sheet,:root[data-theme=dark] .roster-workspace__mobile-toolbar,:root[data-theme=dark] .roster-workspace__panel-card,:root[data-theme=dark] .roster-workspace__top-panel,:root[data-theme=dark] .roster-workspace__topbar{border-color:rgba(255,215,120,.15);background:radial-gradient(circle at top left,rgba(212,175,55,.12),transparent 34%),linear-gradient(180deg,rgba(28,26,20,.96),rgba(0,0,0,.42));box-shadow:0 18px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.04)}:root[data-theme=dark] .roster-directory-inline-row__name,:root[data-theme=dark] .roster-directory-inline-row__remove,:root[data-theme=dark] .roster-tab-panel__search input,:root[data-theme=dark] .roster-workspace__mobile-summary-item,:root[data-theme=dark] .roster-workspace__panel-actions button,:root[data-theme=dark] .roster-workspace__panel-metrics>div{border-color:rgba(255,215,120,.15);background:rgba(255,230,180,.05);color:#fdfaf5}:root[data-theme=dark] .roster-workspace .topbar-link{border-color:rgba(255,215,120,.15);background:rgba(255,230,180,.05);color:rgba(253,250,245,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}:root[data-theme=dark] .roster-directory-inline-row__name:hover,:root[data-theme=dark] .roster-directory-inline-row__remove:hover,:root[data-theme=dark] .roster-workspace .topbar-link:hover,:root[data-theme=dark] .roster-workspace__mobile-toolbar-button:hover,:root[data-theme=dark] .roster-workspace__panel-actions button:hover{border-color:rgba(255,215,120,.3);background:rgba(255,230,180,.1);color:#fdfaf5}:root[data-theme=dark] .roster-workspace .topbar-link--outline-primary,:root[data-theme=dark] .roster-workspace .topbar-link--outline-primary:hover{border-color:#d4af37;background:rgba(212,175,55,.18);color:#fdfaf5}:root[data-theme=dark] .roster-workspace__status-chip{border-color:rgba(255,215,120,.15);background:rgba(255,230,180,.05);color:#fdfaf5;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}:root[data-theme=dark] .roster-day__expert-field .searchable-select__input,:root[data-theme=dark] .roster-day__expert-pill,:root[data-theme=dark] .roster-workspace__field input,:root[data-theme=dark] .roster-workspace__field select{border-color:rgba(255,215,120,.15);background:rgba(0,0,0,.32);color:#fdfaf5}:root[data-theme=dark] .roster-workspace__zoom{border-color:rgba(255,215,120,.15);background:rgba(255,230,180,.05)}:root[data-theme=dark] .roster-workspace__zoom-end,:root[data-theme=dark] .roster-workspace__zoom-label{color:rgba(253,250,245,.7)}:root[data-theme=dark] .roster-workspace__zoom-slider::-webkit-slider-runnable-track{background:linear-gradient(90deg,rgba(212,175,55,.82) 0,rgba(212,175,55,.82) var(--roster-workspace-zoom-fill),rgba(255,215,120,.18) var(--roster-workspace-zoom-fill),rgba(255,215,120,.18) 100%)}:root[data-theme=dark] .roster-workspace__zoom-slider::-moz-range-thumb,:root[data-theme=dark] .roster-workspace__zoom-slider::-webkit-slider-thumb{border-color:rgba(255,215,120,.3);background:#1c1a14;box-shadow:0 1px 2px rgba(0,0,0,.28),0 0 0 2px rgba(28,26,20,.82)}:root[data-theme=dark] .roster-workspace__zoom-slider::-moz-range-track{background:rgba(255,215,120,.18)}:root[data-theme=dark] .roster-workspace__zoom-slider::-moz-range-progress{background:rgba(212,175,55,.82)}:root[data-theme=dark] .roster-workspace__zoom-reset{background:rgba(212,175,55,.16);color:#fdfaf5;box-shadow:inset 0 0 0 1px rgba(255,215,120,.3)}:root[data-theme=dark] .roster-workspace__mobile-sheet-close,:root[data-theme=dark] .roster-workspace__mobile-toolbar-button{border-color:rgba(255,215,120,.22);background:rgba(212,175,55,.16);color:#fdfaf5}:root[data-theme=dark] .roster-workspace__zoom-value{color:#fdfaf5}:root[data-theme=dark] .roster-workspace__mobile-sheet-backdrop{background:rgba(0,0,0,.54)}:root[data-theme=dark] .roster-workspace__drawer-scrim{background:rgba(0,0,0,.38)}:root[data-theme=dark] .roster-workspace__drawer-rail-button{color:rgba(253,250,245,.4)}:root[data-theme=dark] .roster-workspace__drawer-rail-button--active,:root[data-theme=dark] .roster-workspace__drawer-tab--active{background:rgba(212,175,55,.16);color:#fdfaf5;box-shadow:inset 0 0 0 1px rgba(255,215,120,.28)}:root[data-theme=dark] .roster-workspace__drawer-tab{background:rgba(255,230,180,.05);color:rgba(253,250,245,.7)}:root[data-theme=dark] .roster-workspace__drawer-header{padding-bottom:.18rem;border-bottom:1px solid rgba(255,215,120,.15)}:root[data-theme=dark] .roster-week{border-color:rgba(255,215,120,.15);background:rgba(0,0,0,.16)}:root[data-theme=dark] .roster-day{border-color:rgba(255,215,120,.15);background:rgba(0,0,0,.12);box-shadow:0 8px 18px rgba(0,0,0,.18)}:root[data-theme=dark] .roster-day__header{border-bottom-color:rgba(255,215,120,.12)}:root[data-theme=dark] .roster-day__date-badge{border-color:rgba(255,215,120,.3);background:linear-gradient(135deg,rgba(212,175,55,.18),rgba(28,26,20,.65));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 24px rgba(0,0,0,.24)}:root[data-theme=dark] .roster-day__label{color:rgba(253,250,245,.7)}:root[data-theme=dark] .roster-day__count{border-color:rgba(255,215,120,.15);background:rgba(255,230,180,.05);color:rgba(253,250,245,.7)}:root[data-theme=dark] .roster-day--outside .roster-day__date-badge{background:linear-gradient(135deg,rgba(0,0,0,.28),rgba(28,26,20,.42))}:root[data-theme=dark] .roster-day__expert span,:root[data-theme=dark] .roster-section__header h3{color:rgba(253,250,245,.4)}:root[data-theme=dark] .roster-section__header h3{border-color:rgba(255,215,120,.16);background:rgba(255,230,180,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}:root[data-theme=dark] .roster-section__add{border-color:rgba(255,215,120,.15);background:rgba(255,230,180,.05);color:rgba(253,250,245,.7)}:root[data-theme=dark] .roster-section__body{background:rgba(255,255,255,.02);box-shadow:inset 0 0 0 1px rgba(255,215,120,.08)}:root[data-theme=dark] .roster-section__empty{border-color:rgba(255,215,120,.14);background:rgba(255,255,255,.02)}:root[data-theme=dark] .roster-entry{border-color:rgba(255,215,120,.15);background:rgba(28,26,20,.52);color:#fdfaf5;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}:root[data-theme=dark] .roster-entry:hover{border-color:rgba(255,215,120,.3);background:rgba(255,230,180,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 20px rgba(0,0,0,.22)}:root[data-theme=dark] .roster-entry--active-person,:root[data-theme=dark] .roster-entry--selected{border-color:#d4af37;background:rgba(212,175,55,.18);color:#fdfaf5;box-shadow:inset 0 0 0 1px rgba(255,215,120,.18),0 12px 22px rgba(0,0,0,.24)}:root[data-theme=dark] .roster-day--person-active{border-color:rgba(255,215,120,.3);box-shadow:inset 0 0 0 1px rgba(255,215,120,.14),0 10px 18px rgba(0,0,0,.2)}:root[data-theme=dark] .roster-entry__tail{color:#d4af37;opacity:.9}:root[data-theme=dark] .roster-side-panel__line,:root[data-theme=dark] .roster-side-panel__meta-grid>div{border-color:rgba(255,215,120,.15);background:rgba(28,26,20,.52)}:root[data-theme=dark] .roster-summary-inline-row__stats span{background:rgba(255,230,180,.08)}:root[data-theme=dark] .roster-summary-inline-row--active{border-color:#d4af37;background:radial-gradient(circle at top left,rgba(212,175,55,.12),transparent 32%),linear-gradient(180deg,rgba(212,175,55,.12),rgba(28,26,20,.72))}:root[data-theme=dark] .lab-roster-entry--night:not(.lab-roster-entry--staff-sutki-tone){border-color:rgba(255,215,120,.22);background:linear-gradient(90deg,rgba(0,0,0,.42),rgba(0,0,0,.42) .42rem,rgba(18,16,12,.84) 0,rgba(18,16,12,.84))}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid{--surface:rgba(255,230,180,0.05);--surface-2:rgba(0,0,0,0.3);--surface-border:rgba(255,215,120,0.15);--border:rgba(255,215,120,0.15);--border-strong:rgba(255,215,120,0.3);--heading:#fdfaf5;--text:#fdfaf5;--text-muted:rgba(253,250,245,0.7);--btn-bg:rgba(255,230,180,0.05);--btn-bg-hover:rgba(255,230,180,0.1);--btn-border:rgba(255,215,120,0.15);--btn-fg:rgba(253,250,245,0.7);--primary:#d4af37;--info:#d4af37;--shadow-1:0 18px 40px rgba(0,0,0,0.34);--shadow-2:0 24px 52px rgba(0,0,0,0.42);color:var(--text)}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-workspace__calendar-viewport,:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-workspace__drawer-panel,:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-workspace__drawer-rail,:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-workspace__panel-card,:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-workspace__top-panel,:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-workspace__topbar,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity .roster-workspace__calendar-viewport,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-workspace__calendar-viewport,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-workspace__drawer-panel,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-workspace__drawer-rail,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-workspace__panel-card,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-workspace__top-panel,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-workspace__topbar{border-color:rgba(255,215,120,.15);background:radial-gradient(circle at top left,rgba(212,175,55,.12),transparent 34%),linear-gradient(180deg,rgba(28,26,20,.96),rgba(0,0,0,.42));box-shadow:0 18px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.04)}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-day,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity .roster-day,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-day{border-color:rgba(255,215,120,.16);background:linear-gradient(180deg,rgba(33,30,22,.92),rgba(18,20,26,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 24px rgba(2,6,23,.28)}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-day__date-badge,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity .roster-day__date-badge,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-day__date-badge{padding:.08rem .22rem;border:1px solid rgba(255,215,120,.3);border-radius:.44rem;background:linear-gradient(135deg,rgba(212,175,55,.18),rgba(28,26,20,.65));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 20px rgba(0,0,0,.22);gap:.18rem}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-day__count,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity .roster-day__count,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-day__count{background:rgba(255,248,230,.05);color:rgba(253,250,245,.7)}:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .lab-roster-month-rail__day{border-color:rgba(255,215,120,.16);background:linear-gradient(180deg,rgba(33,30,22,.92),rgba(18,20,26,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 12px 24px rgba(2,6,23,.28)}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-section__header h3,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity .roster-section__header h3,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-section__header h3{color:rgba(253,250,245,.4)}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-section__add,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity .roster-section__add,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-section__add{border-color:rgba(255,215,120,.15);background:rgba(255,230,180,.05)}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-entry,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity .roster-entry,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-entry{border-color:rgba(255,215,120,.15);background:rgba(28,26,20,.6);color:#fdfaf5;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-entry:hover,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity .roster-entry:hover,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-entry:hover{border-color:rgba(255,215,120,.3);background:rgba(255,230,180,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 10px 20px rgba(0,0,0,.22)}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-entry--active-person,:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-entry--selected,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity .roster-entry--active-person,:root[data-theme=dark] .roster-workspace--doctor-storefront-parity .roster-entry--selected,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-entry--active-person,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-entry--selected{border-color:#d4af37;background:rgba(212,175,55,.2);color:#fdfaf5;box-shadow:inset 0 0 0 1px rgba(255,215,120,.2),0 12px 22px rgba(0,0,0,.24)}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-entry__tail,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-entry__tail{color:#d4af37;opacity:.9}:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-side-panel__line,:root[data-theme=dark] .roster-workspace--doctor-admin-hybrid .roster-side-panel__meta-grid>div,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-side-panel__line,:root[data-theme=dark] .roster-workspace--lab-admin-hybrid .roster-side-panel__meta-grid>div{border-color:rgba(255,215,120,.15);background:rgba(28,26,20,.52)}.admin-shell__nav-link{display:inline-flex;justify-content:space-between;gap:.5rem;padding:.7rem .85rem;border-radius:.9rem;border:1px solid color-mix(in srgb,var(--surface-border) 78%,transparent);color:inherit;background:color-mix(in srgb,var(--surface) 90%,white)}.admin-shell__nav-link:focus-visible,.admin-shell__nav-link:hover{border-color:color-mix(in srgb,var(--primary) 40%,var(--surface-border));background:color-mix(in srgb,var(--primary) 10%,var(--surface))}.admin-shell__nav-link--active{border-color:color-mix(in srgb,var(--primary) 42%,transparent);background:color-mix(in srgb,var(--primary) 14%,white)}.admin-shell__role-pill{gap:.4rem;padding:.45rem .75rem;font-size:.82rem;background:color-mix(in srgb,var(--success) 12%,white);color:color-mix(in srgb,var(--success) 70%,var(--heading))}.admin-shell__role-pill--warning{background:color-mix(in srgb,var(--warning) 16%,white);color:color-mix(in srgb,var(--warning) 78%,var(--heading))}.admin-page,.admin-shell__main{min-width:0}.admin-shell{grid-template-columns:minmax(15rem,18rem) minmax(0,1fr)}.admin-shell__sidebar{top:calc(var(--topbar-height) + .75rem);grid-gap:.9rem;gap:.9rem;padding:.9rem;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface) 94%,var(--surface-soft));box-shadow:var(--shadow-sm)}.admin-shell__sidebar-header{grid-gap:.32rem;gap:.32rem}.admin-shell__title{font-size:1.2rem}.admin-shell__description{color:var(--muted);font-size:var(--font-size-meta)}.admin-shell__nav{grid-gap:.38rem;gap:.38rem}.admin-shell__nav-link{display:block;padding:.68rem .78rem;border:1px solid color-mix(in srgb,var(--border-strong) 82%,transparent);background:color-mix(in srgb,var(--surface) 92%,transparent)}.admin-shell__nav-link:hover{border-color:color-mix(in srgb,var(--primary) 30%,var(--border-strong));background:color-mix(in srgb,var(--surface-soft) 78%,var(--surface))}.admin-shell__nav-link--active{border-color:color-mix(in srgb,var(--primary) 58%,var(--border-strong));background:color-mix(in srgb,var(--primary-soft) 60%,var(--surface));color:var(--heading);font-weight:700}.admin-shell__sidebar-footer{padding-top:.2rem}.admin-shell__role-pill{gap:.32rem;padding:.42rem .62rem;background:color-mix(in srgb,var(--success-soft) 58%,var(--surface));color:color-mix(in srgb,var(--success-strong) 76%,var(--heading));font-size:var(--font-size-meta)}.admin-shell__role-pill--warning{background:color-mix(in srgb,var(--warning-soft) 72%,var(--surface));color:color-mix(in srgb,var(--warning-strong) 74%,var(--heading))}.admin-shell__main{min-width:0}@media (max-width:1100px){.admin-shell{grid-template-columns:1fr}.admin-shell__sidebar{position:static}}@media (max-width:720px){.admin-shell__nav{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-shell{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-gap:1rem;gap:1rem;align-items:start}.admin-page,.admin-shell__main,.admin-shell__sidebar,.admin-surface{min-width:0}.admin-shell__sidebar{position:-webkit-sticky;position:sticky;top:calc(1rem + env(safe-area-inset-top));display:grid;grid-gap:1rem;gap:1rem;padding:1rem;border:1px solid var(--border);border-radius:calc(var(--radius-md) + 4px);background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 92%,transparent),var(--surface));box-shadow:var(--shadow-1)}.admin-shell__sidebar-header{display:grid;grid-gap:.4rem;gap:.4rem}.admin-shell__title{margin:0;font-size:clamp(1.2rem,.35vw + 1.1rem,1.5rem);color:var(--heading)}.admin-shell__description{margin:0;color:var(--text-muted);font-size:.9rem}.admin-shell__nav{display:grid;grid-gap:.45rem;gap:.45rem}.admin-shell__nav-link{display:flex;align-items:center;gap:.4rem;padding:.72rem .82rem;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--text);text-decoration:none;font-weight:700}.admin-shell__nav-link:focus-visible,.admin-shell__nav-link:hover{border-color:var(--border-strong);background:var(--surface-2);box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:no-preference){.admin-shell__nav-link:active{transform:scale(.97)}}.admin-shell__nav-link--active{border-color:color-mix(in srgb,var(--warning) 48%,var(--border));background:color-mix(in srgb,var(--warning) 10%,var(--surface))}.admin-shell__sidebar-footer{display:flex;flex-wrap:wrap}.admin-shell__role-pill{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.28rem .62rem;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface-2) 90%,transparent);color:var(--text);font-size:.76rem;font-weight:700}.admin-shell__role-pill--warning{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 12%,var(--surface));color:var(--warning-hover)}[data-theme=dark] .admin-shell__nav-link{background:color-mix(in srgb,var(--surface) 90%,var(--bg))}[data-theme=dark] .admin-shell__nav-link--active{background:color-mix(in srgb,var(--primary) 14%,var(--bg))}[data-theme=dark] .admin-shell__role-pill{background:color-mix(in srgb,var(--success) 12%,var(--bg));color:color-mix(in srgb,var(--success) 70%,var(--heading))}[data-theme=dark] .admin-shell__role-pill--warning{background:color-mix(in srgb,var(--warning) 16%,var(--bg));color:color-mix(in srgb,var(--warning) 78%,var(--heading))}@media (prefers-color-scheme:dark){:root:not([data-theme]) .admin-shell__nav-link{background:color-mix(in srgb,var(--surface) 90%,var(--bg))}:root:not([data-theme]) .admin-shell__nav-link--active{background:color-mix(in srgb,var(--primary) 14%,var(--bg))}:root:not([data-theme]) .admin-shell__role-pill{background:color-mix(in srgb,var(--success) 12%,var(--bg));color:color-mix(in srgb,var(--success) 70%,var(--heading))}:root:not([data-theme]) .admin-shell__role-pill--warning{background:color-mix(in srgb,var(--warning) 16%,var(--bg));color:color-mix(in srgb,var(--warning) 78%,var(--heading))}}.admin-table-wrap{max-height:min(70vh,42rem)}.admin-table{width:100%}.admin-table td,.admin-table th{padding:.48rem .56rem}.admin-table__row--active{background:color-mix(in srgb,var(--primary) 12%,white)}.admin-detail-stack,.admin-subgrid{display:grid;grid-gap:.9rem;gap:.9rem}.admin-subgrid{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.admin-account-main-cell,.admin-key-value-list,.admin-key-value-list__row,.admin-list li,.admin-pill-list,.admin-role-cell,.admin-table-actions{display:flex;flex-wrap:wrap;gap:.45rem}.admin-key-value-list{flex-direction:column}.admin-key-value-list__row{justify-content:space-between;border-bottom:1px solid color-mix(in srgb,var(--surface-border) 65%,transparent);padding-bottom:.4rem}.admin-dialog-backdrop{z-index:60;background:color-mix(in srgb,black 32%,transparent)}.admin-dialog{width:min(100%,34rem);display:grid;grid-gap:1rem;gap:1rem;padding:1rem;border-radius:1rem;border:1px solid color-mix(in srgb,var(--surface-border) 82%,transparent);background:color-mix(in srgb,var(--surface) 96%,white);box-shadow:0 1.2rem 3rem rgba(15,23,42,.18)}.admin-dialog--danger{border-color:color-mix(in srgb,var(--danger) 35%,var(--surface-border))}.admin-dialog__header{gap:.8rem}.admin-dialog__header h2{margin:0}.admin-dialog__error,.admin-dialog__header p{margin:.25rem 0 0}.admin-dialog__actions,.admin-dialog__body{display:grid;grid-gap:.75rem;gap:.75rem}.admin-dialog__actions{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.admin-dialog__close{border:0;background:transparent;color:inherit;font-size:1.35rem;line-height:1}.admin-dialog__error{color:var(--danger)}.admin-detail-layout{grid-template-columns:minmax(0,1.18fr) minmax(20rem,.82fr);grid-gap:.88rem;gap:.88rem}.admin-table-wrap{overflow-x:auto;overflow-y:auto}.admin-table{width:max-content;min-width:100%;border-collapse:collapse}.admin-table td,.admin-table th{padding:.54rem .62rem;border-bottom:1px solid color-mix(in srgb,var(--border-strong) 72%,transparent);text-align:left;vertical-align:top;font-size:var(--font-size-table)}.admin-table td input,.admin-table td select{width:100%}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr:hover{background:color-mix(in srgb,var(--surface-soft) 62%,var(--surface))}.admin-table tbody tr:focus-visible{outline:2px solid var(--link);outline-offset:2px}.admin-table__row--active{background:color-mix(in srgb,var(--primary-soft) 46%,var(--surface))}.admin-cell-stack{display:grid;grid-gap:.28rem;gap:.28rem}.admin-inline-actions,.admin-inline-fields,.admin-toolbar-filters{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.admin-inline-fields input,.admin-inline-fields select,.admin-toolbar-filters input,.admin-toolbar-filters select{min-width:9rem}.admin-pill-list{display:flex;flex-wrap:wrap;gap:.4rem}.admin-key-value-list{display:grid;grid-gap:.48rem;gap:.48rem}.admin-key-value-list__row{display:grid;grid-template-columns:minmax(7rem,10rem) minmax(0,1fr);grid-gap:.5rem;gap:.5rem}.admin-key-value-list dt{color:var(--muted);font-size:var(--font-size-meta)}.admin-key-value-list dd{margin:0;color:var(--heading)}.admin-bullet-list,.admin-compact-list{margin:0;padding-left:1rem}.admin-compact-list{display:grid;grid-gap:.5rem;gap:.5rem}.admin-compact-list li{display:grid;grid-gap:.12rem;gap:.12rem}.admin-dialog-backdrop{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:1rem;background:rgba(15,23,42,.42)}.admin-dialog{width:min(36rem,100%);max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.admin-dialog--danger{border-color:color-mix(in srgb,var(--danger-strong) 42%,var(--border-strong))}.admin-dialog--warning{border-color:color-mix(in srgb,var(--warning-strong) 38%,var(--border-strong))}.admin-dialog__actions,.admin-dialog__body,.admin-dialog__header{padding:.88rem .94rem}.admin-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;border-bottom:1px solid color-mix(in srgb,var(--border-strong) 72%,transparent)}.admin-dialog__header h3{margin:0 0 .2rem}.admin-dialog__header p{margin:0;color:var(--muted);font-size:var(--font-size-meta)}.admin-dialog__close{min-width:2.1rem}.admin-dialog__actions{display:flex;justify-content:flex-end;gap:.45rem;border-top:1px solid color-mix(in srgb,var(--border-strong) 72%,transparent)}.admin-dialog__error{margin:0;color:var(--danger-strong);font-size:var(--font-size-meta)}.admin-form-grid,.admin-password-panel{display:grid;grid-gap:.72rem;gap:.72rem}.admin-password-value{padding:.72rem .8rem;border:1px dashed color-mix(in srgb,var(--warning-strong) 34%,var(--border-strong));border-radius:var(--radius-md);background:color-mix(in srgb,var(--warning-soft) 45%,var(--surface));overflow-wrap:anywhere;word-break:break-word}.admin-password-value code{font-size:1rem;font-weight:700}@media (max-width:1100px){.admin-detail-layout{grid-template-columns:1fr}}@media (max-width:720px){.admin-key-value-list__row{grid-template-columns:1fr}.admin-dialog__actions,.admin-inline-actions,.admin-inline-fields,.admin-toolbar-filters{flex-direction:column;align-items:stretch}.admin-inline-fields input,.admin-inline-fields select,.admin-toolbar-filters input,.admin-toolbar-filters select{min-width:0}}.admin-detail-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.admin-surface .data-surface__content{gap:.85rem}.admin-mobile-only,.admin-page__mobile-toolbar{display:none}.admin-page__mobile-toolbar{align-items:end;gap:.85rem;padding:.85rem .9rem;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface-2) 92%,transparent)}.admin-page__mobile-toolbar-copy{display:grid;grid-gap:.55rem;gap:.55rem}.admin-page__mobile-toolbar-kicker{color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.admin-page__mobile-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));grid-gap:.55rem;gap:.55rem}.admin-page__mobile-summary-item{display:grid;grid-gap:.16rem;gap:.16rem;padding:.62rem .7rem;border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb,var(--surface) 94%,transparent)}.admin-page__mobile-summary-item span{color:var(--text-muted);font-size:.76rem}.admin-page__mobile-summary-item strong{color:var(--heading);font-size:.92rem}.admin-page__mobile-toolbar-button{min-height:2.85rem}.admin-page__mobile-sheet-backdrop{position:fixed;inset:0;z-index:1590;border:0;background:rgba(15,23,42,.52)}.admin-page__mobile-sheet{position:fixed;inset:auto 0 0;z-index:1600;display:grid;grid-gap:.85rem;gap:.85rem;max-height:min(78vh,calc(100vh - 1.5rem));padding:1rem;border-radius:1.25rem 1.25rem 0 0;border:1px solid var(--border-strong);border-bottom:0;background:var(--surface);box-shadow:var(--shadow-2)}[data-theme=dark] .admin-table__row--active{background:color-mix(in srgb,var(--primary) 12%,var(--bg))}[data-theme=dark] .admin-dialog{background:color-mix(in srgb,var(--surface) 96%,var(--bg))}[data-theme=dark] .admin-key-value-list__row{border-bottom-color:color-mix(in srgb,var(--border-strong) 65%,var(--surface-2))}@media (prefers-color-scheme:dark){:root:not([data-theme]) .admin-table__row--active{background:color-mix(in srgb,var(--primary) 12%,var(--bg))}:root:not([data-theme]) .admin-dialog{background:color-mix(in srgb,var(--surface) 96%,var(--bg))}:root:not([data-theme]) .admin-key-value-list__row{border-bottom-color:color-mix(in srgb,var(--border-strong) 65%,var(--surface-2))}}