:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--hue-ocean:#184e77;--hue-teal:#168aad;--hue-forest:#52b69a;--hue-amber:#f0c03d;--hue-red:#c82525;--hue-violet:#8b5cf6;--tone-white:#fff;--tone-black:#1a1a1a;--theme-canvas:var(--lightningcss-light,#f5f7f8)var(--lightningcss-dark,#0f1318);--theme-surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#171c23);--theme-surface-elevated:var(--lightningcss-light,#fff)var(--lightningcss-dark,#222a34);--theme-ink:var(--lightningcss-light,#202124)var(--lightningcss-dark,#f1f5f9);--theme-shadow:var(--lightningcss-light,#3c4043)var(--lightningcss-dark,#000);--mix-faint:6%;--mix-subtle:10%;--mix-soft:18%;--mix-strong:55%;--text-on-dark:var(--tone-white);--text-on-light:var(--tone-black);--text-on-primary:var(--text-on-dark);--primary:var(--lightningcss-light,var(--hue-ocean))var(--lightningcss-dark,color-mix(in oklch, var(--hue-ocean) 45%, var(--hue-teal)));--primary-hover:color-mix(in oklch, var(--primary) 84%, var(--tone-black));--primary-dark:color-mix(in oklch, var(--hue-ocean) 78%, var(--tone-black));--primary-text:var(--text-on-primary);--info:var(--hue-teal);--success:var(--hue-forest);--warning:var(--hue-amber);--danger:var(--hue-red);--warning-subtle:color-mix(in oklch, var(--warning) 78%, var(--tone-white));--warning-strong:color-mix(in oklch, var(--warning) 62%, var(--danger));--danger-soft:color-mix(in oklch, var(--danger) 72%, var(--theme-surface));--success-text:var(--text-on-light);--warning-text:var(--text-on-light);--warning-strong-text:var(--text-on-light);--danger-text:var(--text-on-dark);--weekend-bg:color-mix(in oklch, var(--primary) 12%, var(--surface));--weekend-bg-alt:color-mix(in oklch, var(--info) 14%, var(--surface));--weekend-bg-gradient:linear-gradient(135deg, var(--weekend-bg) 0%, var(--weekend-bg-alt) 100%);--weekend-text:color-mix(in oklch, var(--primary) 58%, var(--theme-ink));--weekend-border:color-mix(in oklch, var(--primary) 42%, var(--surface));--holiday-bg:color-mix(in oklch, var(--hue-violet) 12%, var(--surface));--holiday-bg-alt:color-mix(in oklch, color-mix(in oklch, var(--hue-violet) 65%, var(--danger)) 14%, var(--surface));--holiday-bg-gradient:linear-gradient(135deg, var(--holiday-bg) 0%, var(--holiday-bg-alt) 100%);--holiday-text:color-mix(in oklch, var(--hue-violet) 52%, var(--theme-ink));--background:var(--theme-canvas);--surface:var(--theme-surface);--surface-variant:color-mix(in oklab, var(--theme-ink) var(--mix-faint), var(--surface));--surface-elevated:var(--theme-surface-elevated);--surface-hover:color-mix(in oklab, var(--theme-ink) var(--mix-subtle), var(--surface));--background-secondary:var(--surface);--background-tertiary:var(--surface-variant);--hover-background:var(--surface-hover);--text-primary:var(--theme-ink);--text-secondary:color-mix(in oklab, var(--theme-ink) 76%, var(--surface));--text-tertiary:color-mix(in oklab, var(--theme-ink) 68%, var(--surface));--text-disabled:color-mix(in oklab, var(--theme-ink) 48%, var(--surface));--secondary:var(--text-secondary);--border-light:color-mix(in oklab, var(--theme-ink) var(--mix-soft), var(--surface));--border:color-mix(in oklab, var(--theme-ink) 44%, var(--surface));--border-strong:color-mix(in oklab, var(--theme-ink) var(--mix-strong), var(--surface));--divider:var(--border-light);--bg-tertiary:color-mix(in oklab, var(--theme-ink) 8%, var(--surface));--bg-subtle:var(--surface-variant);--bg-muted:var(--border-light);--bg-input:var(--surface);--bg-disabled:var(--surface-variant);--primary-light:color-mix(in oklch, var(--primary) var(--mix-soft), var(--surface));--info-light:color-mix(in oklch, var(--info) var(--mix-soft), var(--surface));--success-light:color-mix(in oklch, var(--success) var(--mix-soft), var(--surface));--warning-subtle-light:color-mix(in oklch, var(--warning) var(--mix-subtle), var(--surface));--warning-light:color-mix(in oklch, var(--warning) var(--mix-soft), var(--surface));--warning-strong-light:color-mix(in oklch, var(--warning-strong) var(--mix-soft), var(--surface));--danger-soft-light:color-mix(in oklch, var(--danger-soft) var(--mix-soft), var(--surface));--danger-light:color-mix(in oklch, var(--danger) var(--mix-soft), var(--surface));--success-text-dark:color-mix(in oklch, var(--success) 58%, var(--theme-ink));--info-text-dark:color-mix(in oklch, var(--info) 58%, var(--theme-ink));--warning-text-dark:color-mix(in oklch, var(--warning) 48%, var(--theme-ink));--danger-text-dark:color-mix(in oklch, var(--danger) 58%, var(--theme-ink));--text-action:color-mix(in oklch, var(--primary) 58%, var(--theme-ink));--info-border:color-mix(in oklch, var(--info) 48%, var(--surface));--color-primary-alpha:color-mix(in oklch, var(--primary) 24%, transparent);--color-primary-alpha-soft:color-mix(in oklch, var(--primary) 14%, transparent);--color-primary-subtle:color-mix(in oklch, var(--primary) var(--mix-subtle), transparent);--color-success-hover:color-mix(in oklch, var(--success) 82%, var(--theme-ink));--color-info-surface:color-mix(in oklch, var(--info) var(--mix-subtle), var(--surface));--color-info-surface-strong:var(--info-light);--color-info-surface-accent:var(--info-border);--color-info-panel-gradient:linear-gradient(135deg, var(--color-info-surface), var(--color-info-surface-strong));--color-info-panel-gradient-hover:linear-gradient(135deg, var(--color-info-surface-strong), var(--color-info-surface-accent));--color-danger-hover:color-mix(in oklch, var(--danger) 82%, var(--theme-ink));--color-danger-border:color-mix(in oklch, var(--danger) 48%, var(--surface));--text-danger:var(--danger-text-dark);--text-danger-dark:color-mix(in oklch, var(--danger) 42%, var(--theme-ink));--text-success:var(--success-text-dark);--text-success-dark:color-mix(in oklch, var(--success) 42%, var(--theme-ink));--text-warning:var(--warning-text-dark);--text-warning-dark:color-mix(in oklch, var(--warning) 35%, var(--theme-ink));--text-info:var(--info-text-dark);--status-canceled:var(--hue-violet);--status-canceled-light:color-mix(in oklch, var(--status-canceled) var(--mix-soft), var(--surface));--status-canceled-text-dark:color-mix(in oklch, var(--status-canceled) 54%, var(--theme-ink));--status-revoked:color-mix(in oklch, var(--hue-violet) 42%, var(--danger));--status-revoked-light:color-mix(in oklch, var(--status-revoked) var(--mix-soft), var(--surface));--status-revoked-text-dark:color-mix(in oklch, var(--status-revoked) 54%, var(--theme-ink));--status-success-gradient:linear-gradient(135deg, var(--success-light), color-mix(in oklch, var(--success) 28%, var(--surface)));--status-warning-gradient:linear-gradient(135deg, var(--warning-light), color-mix(in oklch, var(--warning) 28%, var(--surface)));--button-success-gradient:linear-gradient(135deg, var(--success), color-mix(in oklch, var(--success) 72%, var(--primary)));--button-success-gradient-hover:linear-gradient(135deg, var(--color-success-hover), color-mix(in oklch, var(--success) 62%, var(--primary-dark)));--button-primary-end:color-mix(in oklch, var(--info) 85%, var(--tone-black));--button-primary-end-hover:color-mix(in oklch, var(--button-primary-end) 84%, var(--tone-black));--button-primary-gradient:linear-gradient(135deg, var(--primary), var(--button-primary-end));--button-primary-gradient-hover:linear-gradient(135deg, var(--primary-hover), var(--button-primary-end-hover));--category-ocean:var(--primary);--category-teal:var(--info);--category-forest:var(--success);--category-amber:var(--warning);--category-red:var(--danger);--category-violet:var(--hue-violet);--category-rose:color-mix(in oklch, var(--hue-violet) 42%, var(--danger));--category-lime:color-mix(in oklch, var(--success) 62%, var(--warning));--category-blue-teal:color-mix(in oklch, var(--primary) 55%, var(--info));--category-ocean-text:color-mix(in oklch, var(--category-ocean) 58%, var(--theme-ink));--category-teal-text:color-mix(in oklch, var(--category-teal) 58%, var(--theme-ink));--category-forest-text:color-mix(in oklch, var(--category-forest) 55%, var(--theme-ink));--category-amber-text:color-mix(in oklch, var(--category-amber) 45%, var(--theme-ink));--category-red-text:color-mix(in oklch, var(--category-red) 58%, var(--theme-ink));--category-violet-text:color-mix(in oklch, var(--category-violet) 52%, var(--theme-ink));--category-rose-text:color-mix(in oklch, var(--category-rose) 54%, var(--theme-ink));--category-lime-text:color-mix(in oklch, var(--category-lime) 42%, var(--theme-ink));--badge-primary-bg:var(--primary);--badge-success-bg:color-mix(in oklch, var(--success) 62%, var(--tone-black));--badge-warning-bg:color-mix(in oklch, var(--warning) 55%, var(--tone-black));--badge-danger-bg:var(--danger);--badge-info-bg:color-mix(in oklch, var(--category-blue-teal) 72%, var(--tone-black));--badge-violet-bg:color-mix(in oklch, var(--category-violet) 72%, var(--tone-black));--badge-neutral-bg:color-mix(in oklch, var(--tone-black) 76%, var(--surface));--badge-text:var(--text-on-dark);--today-accent:var(--success);--today-text:var(--success-text-dark);--today-row-bg:color-mix(in oklch, var(--success) var(--mix-subtle), transparent);--today-cell-bg:color-mix(in oklch, var(--success) var(--mix-faint), transparent);--nightshift-today-bg:oklch(from var(--success) 91% .065 h);--nightshift-change-bg:oklch(from var(--primary-dark) 90% .055 h);--nightshift-highlight-text:var(--text-on-light);--nightshift-change-accent:var(--primary-dark);--teaching-type-lecture-bg:var(--category-ocean);--teaching-type-lecture-text:var(--text-on-dark);--teaching-type-lecture-border:var(--primary-dark);--teaching-type-seminar-bg:var(--category-amber);--teaching-type-seminar-text:var(--text-on-light);--teaching-type-seminar-border:color-mix(in oklch, var(--category-amber) 72%, var(--tone-black));--teaching-type-exercise-bg:var(--category-red);--teaching-type-exercise-text:var(--text-on-dark);--teaching-type-exercise-border:color-mix(in oklch, var(--category-red) 76%, var(--tone-black));--teaching-type-exam-bg:var(--category-forest);--teaching-type-exam-text:var(--text-on-light);--teaching-type-exam-border:color-mix(in oklch, var(--category-forest) 70%, var(--tone-black));--teaching-type-practical-bg:color-mix(in oklch, var(--category-violet) 68%, var(--tone-black));--teaching-type-practical-text:var(--text-on-dark);--teaching-type-practical-border:color-mix(in oklch, var(--category-violet) 52%, var(--tone-black));--nightshift-distribution-cool-end:var(--lightningcss-light,oklch(from var(--primary-dark) 60% .16 h))var(--lightningcss-dark,oklch(from var(--primary-dark) 75% .14 h));--nightshift-distribution-warm-end:var(--lightningcss-light,var(--category-red))var(--lightningcss-dark,color-mix(in oklab, var(--category-red) 65%, var(--text-primary)));--nightshift-distribution-cool-start:var(--nightshift-distribution-cool-end);--nightshift-distribution-warm-start:var(--nightshift-distribution-warm-end);--nightshift-distribution-scale:linear-gradient(to right, color-mix(in oklab, var(--nightshift-distribution-cool-end) 34%, var(--surface)), var(--surface) 39%, var(--surface) 61%, color-mix(in oklab, var(--nightshift-distribution-warm-end) 34%, var(--surface)));--nightshift-heatmap-underload-strong:color-mix(in oklch, var(--success) 52%, var(--surface));--nightshift-heatmap-underload-soft:color-mix(in oklch, var(--success) 28%, var(--surface));--nightshift-heatmap-neutral:var(--surface-variant);--nightshift-heatmap-overload-soft:color-mix(in oklch, var(--warning) 34%, var(--surface));--nightshift-heatmap-overload-strong:color-mix(in oklch, var(--danger) 48%, var(--surface));--nightshift-heatmap-text:var(--text-primary);--unit-color-1-bg:color-mix(in oklch, var(--category-ocean) var(--mix-soft), var(--surface));--unit-color-1-text:var(--category-ocean-text);--unit-color-2-bg:color-mix(in oklch, var(--category-forest) var(--mix-soft), var(--surface));--unit-color-2-text:var(--category-forest-text);--unit-color-3-bg:color-mix(in oklch, var(--category-amber) var(--mix-soft), var(--surface));--unit-color-3-text:var(--category-amber-text);--unit-color-4-bg:color-mix(in oklch, var(--category-violet) var(--mix-soft), var(--surface));--unit-color-4-text:var(--category-violet-text);--unit-color-5-bg:color-mix(in oklch, var(--category-rose) var(--mix-soft), var(--surface));--unit-color-5-text:var(--category-rose-text);--unit-color-6-bg:color-mix(in oklch, var(--category-blue-teal) var(--mix-soft), var(--surface));--unit-color-6-text:var(--category-ocean-text);--unit-color-7-bg:color-mix(in oklch, var(--category-teal) var(--mix-soft), var(--surface));--unit-color-7-text:var(--category-teal-text);--unit-color-8-bg:color-mix(in oklch, var(--category-lime) var(--mix-soft), var(--surface));--unit-color-8-text:var(--category-lime-text);--unit-color-9-bg:color-mix(in oklch, var(--category-red) var(--mix-soft), var(--surface));--unit-color-9-text:var(--category-red-text);--unit-color-10-bg:color-mix(in oklch, var(--category-lime) 24%, var(--surface));--unit-color-10-text:var(--category-lime-text);--unit-group-bg:var(--surface-variant);--unit-group-text:var(--text-secondary);--unit-group-border:var(--border);--green-highlight:color-mix(in oklch, var(--success) 22%, var(--surface));--shadow-sm:0 1px 2px color-mix(in oklch, var(--theme-shadow) 14%, transparent);--shadow:0 1px 3px color-mix(in oklch, var(--theme-shadow) 20%, transparent), 0 1px 2px color-mix(in oklch, var(--theme-shadow) 14%, transparent);--shadow-md:0 2px 6px color-mix(in oklch, var(--theme-shadow) 24%, transparent), 0 1px 3px color-mix(in oklch, var(--theme-shadow) 16%, transparent);--shadow-lg:0 4px 12px color-mix(in oklch, var(--theme-shadow) 28%, transparent), 0 2px 6px color-mix(in oklch, var(--theme-shadow) 18%, transparent);--shadow-xl:0 8px 24px color-mix(in oklch, var(--theme-shadow) 34%, transparent), 0 4px 12px color-mix(in oklch, var(--theme-shadow) 22%, transparent);--shadow-modal:0 20px 60px color-mix(in oklch, var(--theme-shadow) 42%, transparent);--shadow-success-sm:0 2px 6px color-mix(in oklch, var(--success) 28%, transparent);--shadow-success-md:0 4px 12px color-mix(in oklch, var(--success) 38%, transparent);--overlay-backdrop:color-mix(in oklch, var(--theme-shadow) 58%, transparent);--overlay-surface-soft:color-mix(in oklch, var(--surface) 66%, transparent);--overlay-surface-strong:color-mix(in oklch, var(--surface) 86%, transparent);--overlay-on-brand-soft:color-mix(in oklch, var(--tone-white) 14%, transparent);--overlay-on-brand-strong:color-mix(in oklch, var(--tone-white) 26%, transparent);--overlay-progress:color-mix(in oklch, var(--tone-white) 18%, transparent);--overlay-sheen:color-mix(in oklch, var(--tone-white) 22%, transparent);--overlay-neutral-subtle:color-mix(in oklch, var(--theme-ink) 10%, transparent);--overlay-backdrop-strong:color-mix(in oklch, var(--tone-black) 86%, transparent);--overlay-danger-soft:color-mix(in oklch, var(--danger) 84%, transparent);--overlay-danger-strong:color-mix(in oklch, var(--danger) 96%, transparent);--media-scrim-start:color-mix(in oklch, var(--tone-black) 5%, transparent);--media-scrim-middle:color-mix(in oklch, var(--tone-black) 20%, transparent);--media-scrim-strong:color-mix(in oklch, var(--tone-black) 90%, transparent);--media-on-dark-muted:color-mix(in oklch, var(--tone-white) 85%, transparent);--media-on-dark-secondary:color-mix(in oklch, var(--tone-white) 92%, transparent);--media-on-dark-primary:color-mix(in oklch, var(--tone-white) 95%, transparent);--media-control-surface:color-mix(in oklch, var(--tone-white) 12%, transparent);--media-badge-surface:color-mix(in oklch, var(--tone-white) 18%, transparent);--drag-feedback-primary-strong:color-mix(in oklch, var(--primary) 24%, transparent);--drag-feedback-primary:color-mix(in oklch, var(--primary) var(--mix-soft), transparent);--drag-feedback-primary-soft:color-mix(in oklch, var(--primary) var(--mix-subtle), transparent);--drag-feedback-success-strong:color-mix(in oklch, var(--success) 24%, transparent);--drag-feedback-success:color-mix(in oklch, var(--success) var(--mix-soft), transparent);--focus-color:var(--text-action);--focus-ring:0 0 0 2px var(--focus-color);--focus-ring-strong:0 0 0 3px var(--focus-color);--focus-ring-soft:var(--focus-ring);--text-shadow-contrast:0 .5px 1px color-mix(in oklch, var(--tone-black) 38%, transparent);--pending-stripe-color:color-mix(in oklch, var(--theme-ink) 10%, transparent);--shadow-primary-sm:0 1px 2px color-mix(in oklch, var(--primary) 24%, transparent);--shadow-primary-md:0 2px 6px color-mix(in oklch, var(--primary) 34%, transparent);--shadow-warning-sm:0 2px 4px color-mix(in oklch, var(--warning) 34%, transparent);--shadow-warning-md:0 4px 8px color-mix(in oklch, var(--warning) 44%, transparent);--shadow-warning-lg:0 2px 8px color-mix(in oklch, var(--warning) 62%, transparent);--shadow-danger-sm:0 2px 4px color-mix(in oklch, var(--danger) 34%, transparent);--shadow-danger-md:0 4px 8px color-mix(in oklch, var(--danger) 46%, transparent);--shadow-danger-lg:0 2px 8px color-mix(in oklch, var(--danger) 62%, transparent);--shadow-panel-left:-8px 0 24px color-mix(in oklch, var(--theme-shadow) 38%, transparent);--surface-danger-subtle:color-mix(in oklch, var(--danger) var(--mix-subtle), transparent);--surface-danger-soft:color-mix(in oklch, var(--danger) var(--mix-soft), transparent);--surface-danger-medium:color-mix(in oklch, var(--danger) 22%, transparent);--surface-danger-strong:color-mix(in oklch, var(--danger) 28%, transparent);--surface-warning-subtle:color-mix(in oklch, var(--warning) var(--mix-faint), transparent);--surface-warning-soft:color-mix(in oklch, var(--warning) var(--mix-subtle), transparent);--surface-warning-medium:color-mix(in oklch, var(--warning) 14%, transparent);--surface-warning-strong:color-mix(in oklch, var(--warning) 20%, transparent);--surface-success-soft:color-mix(in oklch, var(--success) 14%, transparent);--surface-success-medium:color-mix(in oklch, var(--success) 20%, transparent);--surface-primary-subtle:color-mix(in oklch, var(--primary) var(--mix-subtle), transparent);--surface-primary-soft:color-mix(in oklch, var(--primary) 14%, transparent);--surface-warning-amber:color-mix(in oklch, var(--warning) 40%, transparent);--surface-warning-amber-soft:color-mix(in oklch, var(--warning) 26%, transparent);--surface-highlight-green:color-mix(in oklch, var(--success) 42%, transparent);--surface-highlight-green-soft:color-mix(in oklch, var(--success) 28%, transparent);--staffing-warning-header:color-mix(in oklch, var(--warning) 30%, transparent);--staffing-warning-cell:color-mix(in oklch, var(--warning) 20%, transparent);--staffing-critical-header:color-mix(in oklch, var(--danger) 30%, transparent);--staffing-critical-cell:color-mix(in oklch, var(--danger) 20%, transparent);--staffing-warning-border:color-mix(in oklch, var(--warning) 52%, transparent);--staffing-warning-badge:var(--warning);--staffing-warning-badge-text:var(--warning-text);--staffing-critical-badge:var(--danger);--staffing-critical-badge-text:var(--danger-text);--border-danger-soft:color-mix(in oklch, var(--danger) 28%, transparent);--border-danger-medium:color-mix(in oklch, var(--danger) 42%, transparent);--border-warning-soft:color-mix(in oklch, var(--warning) 28%, transparent);--border-warning-medium:color-mix(in oklch, var(--warning) 42%, transparent);--border-warning-strong:color-mix(in oklch, var(--warning) 60%, transparent);--border-success-soft:color-mix(in oklch, var(--success) 38%, transparent);--border-primary-soft:color-mix(in oklch, var(--primary) 28%, transparent);--border-primary-medium:color-mix(in oklch, var(--primary) 44%, transparent);--focus-ring-primary:var(--focus-ring);--focus-ring-danger:0 0 0 2px var(--text-danger);--focus-ring-danger-lg:0 0 0 3px var(--text-danger);--focus-ring-warning:0 0 0 2px var(--text-warning);--focus-ring-danger-strong:var(--focus-ring-danger);--focus-ring-success:0 0 0 2px var(--text-success);--focus-ring-success-lg:0 0 0 3px var(--text-success);--focus-ring-success-xl:0 0 0 4px var(--text-success);--cell-border-danger-soft:inset 0 0 0 1px var(--border-danger-soft);--cell-border-danger-medium:inset 0 0 0 1px var(--border-danger-medium);--cell-border-danger-glow:inset 0 0 0 1px color-mix(in oklch, var(--danger) 60%, transparent), 0 0 10px color-mix(in oklch, var(--danger) 32%, transparent);--cell-border-warning-soft:inset 0 0 0 1px var(--border-warning-soft);--cell-border-warning-medium:inset 0 0 0 1px var(--border-warning-medium);--cell-border-warning-glow:inset 0 0 0 1px color-mix(in oklch, var(--warning) 52%, transparent), 0 0 8px color-mix(in oklch, var(--warning) 30%, transparent);--shadow-lg-up:0 -4px 12px color-mix(in oklch, var(--theme-shadow) 28%, transparent);--bar-rotation:color-mix(in oklch, var(--category-ocean) 82%, var(--tone-black));--bar-rotation-basis:color-mix(in oklch, var(--category-violet) 72%, var(--tone-black));--bar-rotation-grund:color-mix(in oklch, var(--category-blue-teal) 72%, var(--tone-black));--bar-rotation-schwerpunkt:color-mix(in oklch, var(--category-forest) 62%, var(--tone-black));--bar-permanent:color-mix(in oklch, var(--tone-black) 76%, var(--surface));--bar-guest:color-mix(in oklch, var(--category-amber) 55%, var(--tone-black));--bar-blocker:color-mix(in oklch, var(--category-red) 82%, var(--tone-black));--bar-gap:color-mix(in oklch, color-mix(in oklch, var(--category-amber) 62%, var(--category-red)) 58%, var(--tone-black));--bar-gap-border:color-mix(in oklch, var(--bar-gap) 72%, var(--tone-black));--bar-gap-hover:color-mix(in oklch, color-mix(in oklch, var(--category-amber) 62%, var(--category-red)) 68%, var(--tone-black));--bar-text:var(--text-on-dark);--bar-permanent-text:var(--text-on-dark);--bar-training-gradient:linear-gradient(135deg, var(--category-violet), var(--category-rose));--bar-pattern-gradient:linear-gradient(135deg, var(--category-teal), var(--category-blue-teal));--bar-pattern-border:color-mix(in oklch, var(--category-teal) 70%, var(--tone-black));--training-bg:color-mix(in oklch, var(--category-violet) 28%, transparent);--training-border:color-mix(in oklch, var(--category-violet) 48%, transparent);--training-border-strong:color-mix(in oklch, var(--category-violet) 62%, transparent);--training-progress:color-mix(in oklch, var(--category-violet) 58%, transparent);--training-completed-bg:color-mix(in oklch, var(--success) 28%, transparent);--training-completed-border:color-mix(in oklch, var(--success) 56%, transparent);--training-completed-progress:var(--training-completed-border);--training-interrupted-bg:color-mix(in oklch, var(--danger) 24%, transparent);--training-interrupted-border:color-mix(in oklch, var(--danger) 52%, transparent);--pattern-bg:color-mix(in oklch, var(--category-teal) 42%, transparent);--pattern-border:color-mix(in oklch, var(--category-teal) 66%, transparent);--print-text-primary:var(--tone-black);--print-text-secondary:color-mix(in oklch, var(--tone-black) 82%, var(--tone-white));--print-text-tertiary:color-mix(in oklch, var(--tone-black) 64%, var(--tone-white));--print-border:var(--print-text-tertiary);--print-border-strong:var(--print-text-primary);--print-surface:color-mix(in oklch, var(--tone-black) 7%, var(--tone-white));--print-surface-muted:color-mix(in oklch, var(--tone-black) 4%, var(--tone-white));--print-weekend-fill:color-mix(in oklch, var(--warning) 24%, var(--tone-white));--print-holiday-fill:color-mix(in oklch, var(--success) 20%, var(--tone-white));--print-success-fill:color-mix(in oklch, var(--success) 22%, var(--tone-white));--print-success-border:color-mix(in oklch, var(--success) 68%, var(--tone-black));--print-warning-fill:color-mix(in oklch, var(--warning) 24%, var(--tone-white));--print-warning-border:color-mix(in oklch, var(--warning) 62%, var(--tone-black));--print-danger-fill:color-mix(in oklch, var(--danger) 18%, var(--tone-white));--print-danger-border:color-mix(in oklch, var(--danger) 72%, var(--tone-black));--print-info-fill:color-mix(in oklch, var(--info) 18%, var(--tone-white));--print-info-text:color-mix(in oklch, var(--info) 58%, var(--tone-black));--print-violet-fill:color-mix(in oklch, var(--category-violet) 18%, var(--tone-white));--print-violet-text:color-mix(in oklch, var(--category-violet) 58%, var(--tone-black));--print-rose-fill:color-mix(in oklch, var(--category-rose) 18%, var(--tone-white));--print-rose-text:color-mix(in oklch, var(--category-rose) 58%, var(--tone-black));--module-header-min-height:4rem;--module-header-padding-block:.375rem;--module-header-padding-inline:1.25rem;--module-header-border:color-mix(in srgb, var(--primary) 12%, var(--border));--module-header-background:linear-gradient(to bottom, var(--primary), var(--category-forest)) left / 3px 100% no-repeat, linear-gradient(112deg, color-mix(in srgb, var(--primary-light) 42%, var(--surface)) 0%, var(--surface) 42%, color-mix(in srgb, var(--surface-variant) 48%, var(--surface)) 100%);--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-2xs:.125rem;--spacing-3:.75rem;--spacing-5:1.25rem;--font-3xs:.75rem;--font-2xs:.8125rem;--font-xs:.875rem;--font-sm:1rem;--font-md:1.125rem;--font-lg:clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--font-xl:clamp(1.5rem, 1.2rem + 1.5vw, 2rem);--font-page-title:var(--font-xl);--font-section-heading:var(--font-lg);--font-subsection-heading:var(--font-md);--font-body:var(--font-sm);--font-label:var(--font-xs);--font-caption:var(--font-2xs);--font-badge:var(--font-3xs);--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Consolas, "Liberation Mono", monospace;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:var(--font-weight-semibold);--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--tracking-tighter:-.03em;--tracking-tight:-.015em;--tracking-normal:0;--tracking-wide:.025em;--prose-width:65ch;--space-prose:1.25em;--page-padding-sm:.75rem;--page-padding-md:1rem;--page-padding-lg:1.5rem;--date-cell-padding:.075rem;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--nav-width:250px;--nav-width-collapsed:64px;--header-height:3rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-popover:300;--z-overlay:400;--z-modal:500;--z-toast:600;--z-critical:700;--z-portal-dropdown:1100;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-bottom-padding:max(var(--safe-bottom), 1rem)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme-preference=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme-preference=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{margin:0;padding:0}*,:before,:after{box-sizing:border-box}html{width:100%;height:100%;font-size:16px;display:table}body{font-family:var(--font-sans);font-size:var(--font-sm);font-weight:var(--font-weight-normal);line-height:var(--leading-normal);background-color:var(--background);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:table-cell;overflow:hidden}h1{font-size:var(--font-xl);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h2{font-size:var(--font-lg);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}h3{font-size:var(--font-md);font-weight:var(--font-weight-medium);line-height:var(--leading-snug)}h4{font-size:var(--font-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-snug)}h5,h6{font-size:var(--font-xs);font-weight:var(--font-weight-medium);line-height:var(--leading-snug)}p{font-size:var(--font-sm);line-height:var(--leading-normal)}small{font-size:var(--font-2xs)}button,input,select,textarea{font-family:inherit;font-size:var(--font-sm)}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea,select{outline:none;font-family:inherit}:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:-1px}@media (forced-colors:active){:focus-visible{outline:2px solid highlight!important}}h1,h2,h3{text-rendering:optimizelegibility}::selection{background-color:var(--primary-light);color:var(--text-primary)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prose{max-width:var(--prose-width)}.prose p+p{margin-top:var(--space-prose)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}
@media print{html{font-size:10pt;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}:root{--font-print-lg:10pt;--font-print-md:9pt;--font-print-sm:8pt;--font-print-xs:7pt;--font-print-2xs:6.5pt;--print-header-title-font:11pt;--print-header-meta-font:7pt;--print-grid-font:7.25pt;--print-grid-font-strong:7.5pt;--print-grid-secondary-font:6pt;--print-grid-header-font:6.75pt;--print-grid-cell-padding-y:1pt;--print-grid-cell-padding-x:2.5pt;--print-grid-change-gutter:9pt;--print-grid-change-marker-font:6pt}body{margin:0;padding:0;background:var(--tone-white)!important;color:var(--print-text-primary)!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}h1{color:var(--print-text-primary)!important;margin:0 0 8pt!important;font-size:15pt!important;font-weight:700!important}h2{color:var(--print-text-primary)!important;margin:0 0 6pt!important;font-size:14pt!important;font-weight:600!important}h3{color:var(--print-text-primary)!important;font-size:12pt!important;font-weight:600!important}nav,aside,header.mobileHeader,.navigation,button:not(.printInclude),input:not(.printInclude),select:not(.printInclude),[role=navigation],[data-no-print],.noprint{display:none!important}.printHeader{border-bottom:2pt solid var(--print-border-strong);margin-bottom:12pt;padding-bottom:8pt;display:block!important}.printHeader h1{margin-bottom:4pt!important}.printHeader .printMeta{flex-wrap:wrap;gap:16pt;font-size:9pt;display:flex;color:var(--print-text-secondary)!important}.printHeader .printMeta span{align-items:center;gap:4pt;display:inline-flex}table{border-collapse:collapse;width:100%;font-size:8pt}th,td{border:.5pt solid var(--print-text-secondary);text-align:left;padding:3pt 4pt}th{font-weight:600;background-color:var(--print-surface)!important}tr:nth-child(2n){background-color:var(--print-surface-muted)!important}.printStatusApproved,[data-status=approved]{background-color:var(--print-success-fill)!important;border-left:3pt solid var(--print-success-border)!important}.printStatusPending,[data-status=pending]{background-color:var(--print-warning-fill)!important;border-left:3pt solid var(--print-warning-border)!important}.printStatusRejected,[data-status=rejected]{background-color:var(--print-danger-fill)!important;border-left:3pt solid var(--print-danger-border)!important}.printStatusHoliday,[data-type=holiday]{background-color:var(--print-info-fill)!important;color:var(--print-info-text)!important}.printStatusWeekend,[data-type=weekend]{background-color:var(--print-violet-fill)!important;color:var(--print-violet-text)!important}.printStatusSick,[data-type=sick]{background-color:var(--print-rose-fill)!important;color:var(--print-rose-text)!important}.pageBreakBefore{page-break-before:always}.pageBreakAfter{page-break-after:always}.avoidBreak{page-break-inside:avoid}h1,h2,h3,h4,h5,h6{page-break-after:avoid}.printFooter{text-align:center;border-top:.5pt solid var(--print-border);padding:4pt;font-size:8pt;position:fixed;bottom:0;left:0;right:0;color:var(--print-text-tertiary)!important;display:block!important}.mainContent,main{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}*{box-shadow:none!important;text-shadow:none!important}a[href]:after{content:none}.container{max-width:100%!important;margin:0!important;padding:0!important}}
.SessionGuard-module__iS_yMa__sessionWarning{background-color:var(--warning);color:var(--warning-text);box-shadow:var(--shadow-lg);z-index:10000;max-width:300px;font-size:var(--font-xs);border-radius:8px;padding:12px 20px;animation:.3s ease-out SessionGuard-module__iS_yMa__slideIn;position:fixed;top:20px;right:20px}.SessionGuard-module__iS_yMa__sessionWarningIcon{vertical-align:middle;margin-right:4px}.SessionGuard-module__iS_yMa__expiredOverlay{z-index:10002;background:color-mix(in srgb, var(--background) 84%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.SessionGuard-module__iS_yMa__expiredPanel{border:1px solid var(--border);background:var(--background);max-width:420px;color:var(--text-primary);box-shadow:var(--shadow-lg);font-size:var(--font-sm);font-weight:var(--font-weight-medium);border-radius:8px;align-items:center;gap:12px;padding:16px 20px;display:flex}.SessionGuard-module__iS_yMa__expiredIcon{color:var(--warning);flex-shrink:0}@keyframes SessionGuard-module__iS_yMa__slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width:768px){.SessionGuard-module__iS_yMa__sessionWarning{max-width:none;left:10px;right:10px}.SessionGuard-module__iS_yMa__expiredPanel{width:100%}}
.ConnectionStatusBanner-module__DJE8wa__banner{z-index:10001;font-size:var(--font-xs);font-weight:var(--font-weight-medium);justify-content:center;align-items:center;gap:.5rem;padding:8px 16px;animation:.3s ease-out ConnectionStatusBanner-module__DJE8wa__slideDown;display:flex;position:fixed;top:0;left:0;right:0}.ConnectionStatusBanner-module__DJE8wa__warning{background-color:var(--warning-strong);color:var(--warning-strong-text)}.ConnectionStatusBanner-module__DJE8wa__success{background-color:var(--success);color:var(--success-text);animation:.3s ease-out ConnectionStatusBanner-module__DJE8wa__slideDown,.5s ease-in 2.5s forwards ConnectionStatusBanner-module__DJE8wa__fadeOut}.ConnectionStatusBanner-module__DJE8wa__icon{vertical-align:middle;flex-shrink:0}.ConnectionStatusBanner-module__DJE8wa__retryButton{min-height:1.75rem;color:inherit;font:inherit;font-size:var(--font-3xs);font-weight:var(--font-weight-semibold);cursor:pointer;background:0 0;border:1px solid;border-radius:6px;flex-shrink:0;padding:.25rem .625rem}.ConnectionStatusBanner-module__DJE8wa__retryButton:hover{background:color-mix(in srgb, currentColor 12%, transparent)}.ConnectionStatusBanner-module__DJE8wa__retryButton:disabled{cursor:wait;opacity:.72;background:color-mix(in srgb, currentColor 12%, transparent)}@keyframes ConnectionStatusBanner-module__DJE8wa__slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes ConnectionStatusBanner-module__DJE8wa__fadeOut{0%{opacity:1}to{opacity:0}}@media (max-width:768px){.ConnectionStatusBanner-module__DJE8wa__banner{font-size:var(--font-2xs);flex-wrap:wrap;padding:10px 12px}}
.AppRefreshBanner-module__3fKnHW__banner{left:50%;bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom));z-index:var(--z-critical);align-items:center;gap:var(--spacing-sm);box-sizing:border-box;width:min(calc(100vw - var(--spacing-lg) - var(--spacing-lg)), 42rem);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--warning);border-radius:var(--radius-sm);background:var(--surface);color:var(--text-primary);box-shadow:var(--shadow-lg);grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:fixed;transform:translate(-50%)}.AppRefreshBanner-module__3fKnHW__reloading{border-color:var(--primary)}.AppRefreshBanner-module__3fKnHW__icon{color:var(--warning-strong);flex-shrink:0}.AppRefreshBanner-module__3fKnHW__reloading .AppRefreshBanner-module__3fKnHW__icon{color:var(--primary)}.AppRefreshBanner-module__3fKnHW__copy{gap:var(--spacing-xs);min-width:0;display:grid}.AppRefreshBanner-module__3fKnHW__title{min-width:0;color:var(--text-primary);font-size:var(--font-xs);font-weight:var(--font-weight-semibold);line-height:var(--leading-tight);overflow-wrap:anywhere}.AppRefreshBanner-module__3fKnHW__message{min-width:0;color:var(--text-secondary);font-size:var(--font-2xs);line-height:var(--leading-snug);overflow-wrap:anywhere}.AppRefreshBanner-module__3fKnHW__refreshButton{justify-content:center;align-items:center;gap:var(--spacing-xs);min-height:2.5rem;padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--primary);border-radius:var(--radius-sm);background:var(--primary);color:var(--text-on-primary);font:inherit;font-size:var(--font-xs);font-weight:var(--font-weight-semibold);line-height:var(--leading-none);cursor:pointer;white-space:nowrap;display:inline-flex}.AppRefreshBanner-module__3fKnHW__refreshButton:hover:not(:disabled){background:var(--primary-dark)}.AppRefreshBanner-module__3fKnHW__refreshButton:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.AppRefreshBanner-module__3fKnHW__refreshButton:disabled{cursor:wait;opacity:.78}.AppRefreshBanner-module__3fKnHW__spinner{animation:.9s linear infinite AppRefreshBanner-module__3fKnHW__appRefreshSpin}@keyframes AppRefreshBanner-module__3fKnHW__appRefreshSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:640px){.AppRefreshBanner-module__3fKnHW__banner{width:min(calc(100vw - var(--spacing-md) - var(--spacing-md)), 32rem);max-height:calc(100dvh - var(--spacing-lg) - var(--spacing-lg));grid-template-columns:auto minmax(0,1fr);top:50%;bottom:auto;overflow-y:auto;transform:translate(-50%,-50%)}.AppRefreshBanner-module__3fKnHW__refreshButton{grid-column:1/-1;width:100%}}
