:root{--font-ui: "Inter", "Avenir Next", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--text-strong: #202020;--text-body: #303030;--text-muted: #6c6c6c;--panel-glass-background: rgba(255, 255, 255, .75);--menu-background: rgba(250, 250, 250, .75);--glass-backdrop-filter: blur(14px) saturate(1.2);--schedule-header-height: 48px;font-family:var(--font-ui);font-size:16px;color:var(--text-body);background:#fafafa;--accent: #4b4b4b;--accent-dark: #3f3f3f;--accent-soft: #e3e4e6;--mobile-participant-bar-height: 58px;font-synthesis:none;font-weight:400;line-height:1.4;letter-spacing:-.006em;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{height:100%}body{margin:0;min-width:320px;overflow:hidden;background:#fafafa;color:var(--text-body);font-family:var(--font-ui);font-size:.875rem;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font-family:inherit;letter-spacing:inherit}.app-shell{width:100%;max-width:none;height:100dvh;margin:0;position:relative;padding:0;display:flex;flex-direction:column;overflow:hidden;background:#fafafa}.mesh-background-stage{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.mesh-background-track{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;display:flex;width:100%;height:100%;pointer-events:none;will-change:transform}.mesh-background-track>.mesh-background{position:relative;inset:auto;flex:0 0 100%;width:100%;height:100%}.mesh-background{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;pointer-events:none}.faculty-landing-active .mesh-background-stage{display:none}.app-header{position:relative;z-index:1;display:none}.mobile-participant-bar{display:none}.mobile-filters{border:1px solid #d2d2d2;border-radius:8px;background:#fff;padding:8px 10px;color:var(--accent-dark);font:inherit;font-size:.8rem;font-weight:650;line-height:1.25;cursor:pointer}.notice{margin:12vh auto;padding:24px;max-width:640px;text-align:center;color:var(--text-muted);font-size:.9rem;line-height:1.55}.notice.error{color:#9d2e3d;background:#fff5f6;border:1px solid #f3d7dc;border-radius:12px}.notice button{border:0;background:none;color:inherit;text-decoration:underline;font:inherit;font-weight:700;cursor:pointer}.faculty-landing{position:relative;z-index:1;display:flex;width:100%;max-width:100%;height:100dvh;max-height:100dvh;min-height:0;flex:0 0 100dvh;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:40px 28px;overflow:hidden;background-color:#ededed;background-image:radial-gradient(ellipse at 4% 6%,rgba(194,194,194,.9) 0%,rgba(220,220,220,.52) 28%,transparent 58%),radial-gradient(ellipse at 29% 18%,rgba(239,239,239,.76) 0%,rgba(246,246,246,.3) 29%,transparent 55%),radial-gradient(ellipse at 67% 5%,rgba(243,243,243,.72) 0%,rgba(249,249,249,.3) 31%,transparent 58%),radial-gradient(ellipse at 96% 10%,rgba(202,202,202,.86) 0%,rgba(225,225,225,.5) 30%,transparent 60%),radial-gradient(ellipse at 6% 48%,rgba(224,224,224,.66) 0%,rgba(241,241,241,.3) 30%,transparent 56%),radial-gradient(ellipse at 48% 50%,rgba(250,250,254,.98) 0%,rgba(250,250,252,.58) 33%,transparent 64%),radial-gradient(ellipse at 96% 51%,rgba(218,218,218,.64) 0%,rgba(237,237,237,.3) 31%,transparent 57%),radial-gradient(ellipse at 10% 96%,rgba(190,190,190,.82) 0%,rgba(216,216,216,.5) 30%,transparent 61%),radial-gradient(ellipse at 38% 90%,rgba(232,232,232,.7) 0%,rgba(246,246,246,.3) 33%,transparent 59%),radial-gradient(ellipse at 72% 92%,rgba(235,235,235,.74) 0%,rgba(247,247,247,.3) 32%,transparent 60%),radial-gradient(ellipse at 98% 91%,rgba(198,198,198,.86) 0%,rgba(224,224,224,.48) 31%,transparent 62%),linear-gradient(118deg,#ededed,#fafafe 45%,#ededed);text-align:center;isolation:isolate}.faculty-landing:before{position:absolute;z-index:-1;top:-18%;right:-18%;bottom:-18%;left:-18%;background:radial-gradient(ellipse at -2% 14%,color-mix(in srgb,var(--faculty-hover-colour) 78%,transparent) 0%,transparent 23%),radial-gradient(ellipse at 18% -6%,color-mix(in srgb,var(--faculty-hover-colour) 62%,transparent) 0%,transparent 21%),radial-gradient(ellipse at 52% -8%,color-mix(in srgb,var(--faculty-hover-colour) 56%,transparent) 0%,transparent 20%),radial-gradient(ellipse at 84% -3%,color-mix(in srgb,var(--faculty-hover-colour) 64%,transparent) 0%,transparent 22%),radial-gradient(ellipse at 102% 17%,color-mix(in srgb,var(--faculty-hover-colour) 80%,transparent) 0%,transparent 24%),radial-gradient(ellipse at 106% 52%,color-mix(in srgb,var(--faculty-hover-colour) 72%,transparent) 0%,transparent 22%),radial-gradient(ellipse at 96% 102%,color-mix(in srgb,var(--faculty-hover-colour) 76%,transparent) 0%,transparent 23%),radial-gradient(ellipse at 68% 108%,color-mix(in srgb,var(--faculty-hover-colour) 54%,transparent) 0%,transparent 21%),radial-gradient(ellipse at 28% 108%,color-mix(in srgb,var(--faculty-hover-colour) 62%,transparent) 0%,transparent 22%),radial-gradient(ellipse at -5% 88%,color-mix(in srgb,var(--faculty-hover-colour) 74%,transparent) 0%,transparent 24%),radial-gradient(ellipse at -7% 50%,color-mix(in srgb,var(--faculty-hover-colour) 68%,transparent) 0%,transparent 22%);content:"";opacity:0;pointer-events:none;filter:blur(42px) saturate(1.35);-webkit-mask-image:radial-gradient(ellipse at center,transparent 0 45%,#000 72%);mask-image:radial-gradient(ellipse at center,transparent 0 45%,#000 72%);transition:opacity .68s ease}.faculty-landing.faculty-hovered:before{opacity:.95}.faculty-landing:after{display:none}.faculty-landing>*{position:relative;z-index:1}.faculty-landing .eyebrow{position:absolute;top:25%;left:50%;display:flex;align-items:center;justify-content:center;gap:20px;margin:0;color:#666;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:700;line-height:1.1;letter-spacing:.08em;transform:translate(-50%,-50%)}.faculty-landing .eyebrow:before,.faculty-landing .eyebrow:after{display:none}.faculty-landing .eyebrow img{display:block;width:min(600px,88vw);height:auto;max-height:none;object-fit:contain;opacity:.22}.faculty-choice-grid{position:absolute;z-index:1;top:50%;left:50%;display:grid;width:min(1060px,calc(100% - 32px));grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 28px;transform:translate(-50%,-50%)}.faculty-choice{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);gap:22px;align-items:center;min-height:156px;border:1px solid color-mix(in srgb,var(--faculty-colour) 42%,#d5dbe2);border-radius:17px;background:#fff;padding:18px 22px;color:var(--text-strong);font:inherit;font-size:clamp(1rem,1.4vw,1.12rem);font-weight:700;line-height:1.3;text-align:left;cursor:pointer;box-shadow:0 5px 16px #25324414;transition:border-color .18s,box-shadow .18s,background .18s}.faculty-choice:hover,.faculty-choice:focus-visible{border-color:var(--faculty-colour);background:#fff;box-shadow:0 8px 22px color-mix(in srgb,var(--faculty-colour) 18%,transparent)}.faculty-choice:focus-visible{outline:2px solid var(--faculty-colour, var(--accent));outline-offset:3px}.faculty-choice-icon{display:grid;width:120px;height:120px;place-items:center;border:0;border-radius:26px;background:transparent;padding:0}.faculty-choice-icon img{display:block;width:100%;height:100%;object-fit:contain}.faculty-choice-name{min-width:0;line-height:1.35}.faculty-switch{display:inline-flex;align-items:center;gap:8px;width:100%;min-height:38px;margin-bottom:12px;border:1px solid color-mix(in srgb,var(--faculty-colour, #777) 38%,#d0d0d0);border-radius:8px;background:#fff;padding:6px 9px;color:color-mix(in srgb,var(--faculty-colour, #444) 65%,#222);font:inherit;font-size:.78rem;font-weight:750;text-align:left;cursor:pointer}.faculty-switch:hover,.faculty-switch:focus-visible{background:color-mix(in srgb,var(--faculty-colour, #777) 8%,white)}.faculty-switch:focus-visible{outline:2px solid var(--faculty-colour, var(--accent));outline-offset:1px}zre .faculty-switch img{display:block;width:25px;height:25px;object-fit:contain}.filters .faculty-switch{min-height:63px;margin:0 0 16px;border:0;border-radius:0;background:transparent;padding:0}.filters .faculty-switch:hover{background:transparent}.filters .faculty-switch img{flex:0 0 57px;width:57px;height:57px;border-radius:50%;background:transparent;transition:background .18s ease}.filters .faculty-switch:hover img,.filters .faculty-switch:focus-visible img{background:#ffffff85}.planner{display:grid;grid-template-columns:minmax(0,1fr) 312px;gap:0;align-items:stretch;position:relative;z-index:1;flex:1;min-height:0}.schedule,.filters{border:0;background-color:transparent;border-radius:0;box-shadow:none}.filters{height:100%;min-height:0;display:flex;flex-direction:column;overflow:hidden}.filters.wide-desktop{background-color:#0000000d}.filters.wide-desktop .sidebar-content{background-color:transparent}.panel-brand{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px;height:58px;min-height:58px;padding:10px 14px 0 24px}.panel-brand-load-status{position:absolute;top:21px;left:-8px}.panel-brand-load-status .loading-spinner{margin-right:0}.panel-brand-filter-row{flex:1 1 auto;min-width:0;width:auto;margin:0}.panel-brand-filter-row .participant-filter{min-height:36px;padding-top:7px;padding-bottom:7px}.panel-brand-menu{display:grid;flex:0 0 38px;width:38px;height:38px;margin-left:auto;place-items:center;border:0;border-radius:5px;background:transparent;padding:3px;color:#494949;opacity:1;cursor:pointer}.panel-brand-menu-icon,.mobile-menu-button .menu-state-icon{display:block;width:25px;height:25px;object-fit:contain}.panel-brand-menu:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sidebar-content{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden;margin-top:-18px;border:0;border-radius:5px 0 0;background:var(--panel-glass-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding-top:18px}.filter-section.participants-section{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;padding-top:0}.participant-results{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.group-section{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow:hidden;padding-top:0}.group-section .group-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.personalization-actions{position:relative;display:grid;flex:0 0 auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px;border-top:1px solid rgba(0,0,0,.12);padding-top:12px}.personalization-actions button{min-width:0;height:40px;border-radius:8px;padding:7px 6px;font:inherit;font-size:.76rem;font-weight:700;line-height:1.2;cursor:pointer}.personalization-icon-group{display:grid;min-width:0;height:40px;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(0,0,0,.14);border-radius:8px;background:var(--panel-glass-background)}.personalization-actions .personalization-icon-action{position:relative;display:grid;width:100%;height:38px;place-items:center;border:0;border-right:1px solid rgba(0,0,0,.12);border-radius:0;background:transparent;padding:2px}.personalization-actions .personalization-icon-action:first-child{border-radius:7px 0 0 7px}.personalization-actions .personalization-icon-action:last-child{border-right:0}.personalization-actions .personalization-icon-action:last-child{border-radius:0 7px 7px 0}.personalization-icon-action img{display:block;width:min(22px,100%);height:22px;object-fit:contain}.personalization-icon-action:hover,.personalization-icon-action:focus-visible{background:#0000000e}.personalization-icon-action.flash{animation:personalization-success-background .9s ease-out}.personalization-icon-action.flash img{animation:personalization-success-icon .9s ease-out}@keyframes personalization-success-background{20%,72%{background:#d7f3df;box-shadow:inset 0 0 0 2px #29954b}}@keyframes personalization-success-icon{20%,72%{filter:brightness(0) saturate(100%) invert(46%) sepia(63%) saturate(743%) hue-rotate(91deg) brightness(89%) contrast(89%)}}.personalization-icon-feedback,.personalization-action-feedback{border:1px solid rgba(0,0,0,.15);border-radius:10px;background:var(--menu-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:7px 10px;color:var(--text-body);font-size:.74rem;font-weight:400;line-height:1.3;box-shadow:0 5px 18px #0000002e}.personalization-icon-feedback{position:absolute;z-index:2;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:180px;white-space:nowrap;transform:translate(-50%);pointer-events:none}.personalization-default-feedback{right:0;left:auto;transform:none}@media (prefers-reduced-motion: reduce){.personalization-icon-action.flash{animation:none;background:#d7f3df;box-shadow:inset 0 0 0 2px #29954b}.personalization-icon-action.flash img{animation:none;filter:brightness(0) saturate(100%) invert(46%) sepia(63%) saturate(743%) hue-rotate(91deg) brightness(89%) contrast(89%)}}.personalization-action-feedback{position:absolute;bottom:calc(100% + 6px);left:0;max-width:100%;margin:0}.personalization-action-feedback.error{color:#9d2e3d}.personalization-cancel{border:1px solid rgba(0,0,0,.14);background:var(--panel-glass-background);color:var(--accent-dark)}.personalization-confirm{border:1px solid var(--accent);background:var(--accent);color:#fff}.personalization-cancel:hover,.personalization-cancel:focus-visible{background:#0000000e}.personalization-confirm:hover,.personalization-confirm:focus-visible{border-color:var(--accent-dark);background:var(--accent-dark)}.personalization-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.filter-section{padding:18px}.filter-section+.filter-section{border-top:1px solid #e3e3e3}.context{display:grid;gap:12px}.eyebrow{margin:0 0 5px;color:var(--text-muted);font-size:.65rem;font-weight:750;line-height:1.2;letter-spacing:.13em;text-transform:uppercase}.context label{display:grid;gap:5px;color:#555;font-size:.75rem;font-weight:650;line-height:1.25}select{width:100%;min-height:38px;padding:8px 30px 8px 10px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;color:#2b2b2b;font:inherit;cursor:pointer}.share-menu-wrap{position:relative;min-width:0;z-index:2}.share-button{width:100%;min-height:38px;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-size:.78rem;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:0 3px 8px #4b4b4b26}.share-button:hover,.share-button[aria-expanded=true]{background:var(--accent-dark)}.share-button:disabled,.share-button:disabled:hover{background:transparent;color:var(--text-muted);filter:grayscale(1);box-shadow:none}.share-menu{position:static;display:grid;width:100%;gap:3px;margin-top:6px;padding:7px;border:0;border-radius:10px;background:var(--menu-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter)}.share-menu button{display:flex;min-height:34px;align-items:center;gap:16px;border:1px solid transparent;border-radius:5px;background:transparent;padding:4px 7px;color:var(--text-body);font:inherit;font-size:.74rem;line-height:1.3;text-align:left;cursor:pointer}.share-menu button img{display:block;flex:0 0 22px;width:22px;height:22px}.semester-picker{min-width:0}.semester-picker-trigger{display:flex;width:100%;min-height:38px;align-items:center;gap:9px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;padding:7px 10px;color:#2b2b2b;font:inherit;font-size:.78rem;line-height:1.25;text-align:left;cursor:pointer}.semester-picker-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.semester-picker-trigger:disabled{cursor:not-allowed;opacity:.55}.semester-picker-trigger img,.semester-picker-option img{display:block;flex:0 0 20px;width:20px;height:20px;object-fit:contain}.semester-picker-trigger>span:first-of-type{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.semester-picker-chevron{position:relative;top:-3px;margin-left:auto;color:#666;font-size:.9rem;line-height:1}.semester-picker-menu{display:grid;max-height:min(42dvh,260px);gap:3px;overflow-y:auto;margin-top:6px;border:0;border-radius:9px;background:var(--menu-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:6px}.semester-picker.open,.share-menu-wrap.open{overflow:hidden;border-radius:8px;box-shadow:inset 0 0 0 1px #00000024;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.semester-picker.open .semester-picker-trigger,.share-menu-wrap.open .share-button{border-color:transparent;border-radius:7px 7px 0 0}.semester-picker.open .semester-picker-menu,.share-menu-wrap.open .share-menu{margin-top:0;border-radius:0 0 8px 8px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.semester-picker-option{display:flex;min-height:34px;align-items:center;gap:9px;border:1px solid transparent;border-radius:5px;background:transparent;padding:4px 7px;color:var(--text-body);font:inherit;font-size:.74rem;line-height:1.3;text-align:left;cursor:pointer}.semester-picker-option.selected{border-color:#00000024;background:#ffffffb8;color:var(--accent-dark)}.semester-picker-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.context-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.panel-menu{--panel-menu-gap: 6px;display:flex;flex:1 1 auto;min-height:0;margin-top:-18px;flex-direction:column;gap:var(--panel-menu-gap);overflow-y:auto;align-content:start;border:0;border-radius:5px 0 0;background:var(--menu-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding-top:18px}.panel-menu .panel-menu-faculty-action{margin-top:0}.filters.panel-menu-open .sidebar-content{display:none}@media (min-width: 801px){.filters .sidebar-content,.filters .panel-menu{margin-top:15px}}.panel-menu-back,.panel-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;color:var(--accent-dark);font:inherit;font-size:.78rem;font-weight:700;line-height:1.2;cursor:pointer}.panel-menu-back{min-height:35px;justify-content:flex-start;padding:7px 10px}.panel-menu-back img,.panel-menu-button img{display:block;width:16px;height:16px}.panel-menu-back:hover,.panel-menu-back:focus-visible,.panel-menu-button:hover,.panel-menu-button:focus-visible{background:#ffffffb8}.panel-menu-back:focus-visible,.panel-menu-button:focus-visible,.panel-menu-action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.panel-menu-action{display:flex;min-height:34px;align-items:center;gap:16px;border:1px solid transparent;border-radius:5px;background:transparent;padding:4px 7px;color:var(--text-body);font:inherit;font-size:.74rem;line-height:1.3;text-align:left;cursor:pointer}.panel-menu-action img{display:block;width:22px;height:22px}.panel-menu-action:disabled{cursor:default;opacity:.5}.panel-menu .share-button{border:1px solid transparent;font-weight:400;box-shadow:none}.panel-menu .share-button>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panel-menu .semester-picker-trigger[aria-expanded=true],.panel-menu .share-button[aria-expanded=true]{border-color:#00000024;background:transparent;color:var(--accent-dark)}.panel-menu .semester-picker.open .semester-picker-trigger[aria-expanded=true],.panel-menu .share-menu-wrap.open .share-button[aria-expanded=true]{border-color:#00000024;background:#ffffffb8}.panel-menu .context-actions{grid-template-columns:1fr;gap:var(--panel-menu-gap)}.panel-menu .share-menu{gap:var(--panel-menu-gap)}.panel-menu .view-picker{grid-template-columns:1fr}.panel-menu-button{width:100%;min-height:35px;margin-bottom:12px;padding:7px 10px}.sidebar-toggle{min-height:38px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;color:var(--accent-dark);font:inherit;font-size:.8rem;font-weight:650;line-height:1.25;cursor:pointer}.view-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.view-picker button{min-height:31px;border:1px solid #d9d9d9;border-radius:7px;background:transparent;padding:5px 7px;color:#666;font:inherit;font-size:.68rem;font-weight:650;line-height:1.25;cursor:pointer}.view-picker button.active{border-color:#00000024;background:#ffffffb8;color:var(--accent-dark)}.view-picker button:disabled{cursor:not-allowed;opacity:.45}.date-navigation{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:5px}.date-navigation button{border:1px solid #d0d0d0;border-radius:7px;background:#fff;color:var(--accent-dark);font:inherit;font-size:1rem;font-weight:550;line-height:1;cursor:pointer}.date-navigation input{min-width:0;border:1px solid #d0d0d0;border-radius:7px;padding:6px 7px;color:#2b2b2b;font:inherit;font-size:.75rem;line-height:1.25}.qr-dialog-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0000006b}.qr-dialog{width:min(100%,380px);max-height:calc(100dvh - 48px);overflow:auto;border:1px solid rgba(0,0,0,.16);border-radius:14px;background:#fff;padding:20px;box-shadow:0 12px 38px #00000040}.qr-code-frame{display:grid;min-height:320px;place-items:center}.preference-storage-consent:not([open]){display:none}.preference-storage-consent[open]{position:fixed;inset:auto 16px 16px auto;z-index:30;display:grid;gap:9px;width:min(520px,calc(100vw - 32px));max-height:min(75dvh,620px);overflow-y:auto;margin:0;border:1px solid rgba(0,0,0,.2);border-radius:12px;background:var(--panel-glass-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:16px;box-shadow:0 8px 28px #00000038}.preference-storage-consent::backdrop{background:#0000002e}.preference-storage-consent h2{margin:0;color:var(--text-strong);font-size:.96rem;line-height:1.3}.preference-storage-consent p{margin:0;color:var(--text-body);font-size:.76rem;line-height:1.45}.preference-storage-consent-error{color:#9d2e3d!important}.preference-storage-consent-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:3px}.preference-storage-consent-actions button{min-height:36px;border-radius:7px;padding:7px 12px;font:inherit;font-size:.76rem;font-weight:650;cursor:pointer}.preference-storage-consent-refuse{border:1px solid #bdbdbd;background:transparent;color:var(--text-body)}.preference-storage-consent-accept{border:1px solid var(--accent);background:var(--accent);color:#fff}.preference-storage-consent-actions button:hover{filter:brightness(.94)}.preference-storage-consent-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qr-code{display:block;width:min(100%,350px);height:auto;image-rendering:pixelated}.qr-dialog-status{margin:0;color:var(--text-muted);font-size:.8rem;line-height:1.45;text-align:center}.qr-dialog-status.error{color:#9d2e3d}.schedule-title{position:relative;z-index:5;display:grid;gap:4px;isolation:isolate;grid-column:2;grid-row:1;min-width:0;overflow:visible}.schedule h1{white-space:nowrap}.schedule-header{position:relative}.desktop-controls,.desktop-participant-picker{display:none}.filter-help{margin:10px 0 12px;color:var(--text-muted);font-size:.74rem;line-height:1.5}.participant-status{margin:0;color:var(--text-muted);font-size:.76rem;line-height:1.4}.participant-status.error{color:#9d2e3d}.participant-search-display-contents,.participant-search-display-contents .participant-search-results,.participant-search-display-contents .participant-search-results-content{display:contents}.participants-list{margin:0 -7px;padding:0 7px}.participant-filter-row{position:relative;width:100%;margin-bottom:14px}.participant-filter-icon{position:absolute;top:50%;left:10px;z-index:1;width:22px;height:22px;transform:translateY(-50%);opacity:.65;pointer-events:none}.participant-filter,.comparison-time-menu .comparison-time-input{width:100%;min-width:0;min-height:38px;margin-bottom:0;padding:8px 40px;border:1px solid #9f9f9f;border-radius:5px;background:#ffffff9e;color:#2b2b2b;font:inherit;font-size:.8rem}.participant-filter:focus,.comparison-time-menu .comparison-time-input:focus{outline:2px solid var(--accent);outline-offset:-2px}.participant-filter::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.participant-filter::placeholder{color:#8a8a8a}.participant-filter-clear{position:absolute;top:50%;right:3px;width:32px;height:32px;transform:translateY(-50%);border:0;border-radius:50%;background:transparent;padding:0;color:#555;font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}.participant-filter-clear:hover{background:#eee;color:#222}.participant-filter-clear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.participants-list ul{display:grid;gap:4px;margin:0;padding:0;list-style:none;color:#444;font-size:.78rem;line-height:1.4}.participants-list li{min-width:0}.participant-choice{width:100%;min-width:0;overflow-wrap:anywhere;border:1px solid transparent;border-radius:5px;background:transparent;padding:2px 4px;color:inherit;font:inherit;font-weight:400;line-height:1.4;text-align:left;white-space:normal;cursor:pointer}.participant-choice .participant-programme,.participant-choice .participant-specialization{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.25em;align-items:baseline}.participant-choice .participant-specialization{font-size:.9em}.participant-choice .participant-year-spacer{visibility:hidden}.default-plan-row .participant-choice{display:flex;align-items:center;gap:8px}.default-plan-label{display:block;min-width:0}.default-plan-icons{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;margin-left:auto}.default-plan-mark{display:block;width:18px;height:18px}.participants-list .participant-choice.active{border-color:transparent;background:#00000012;color:var(--accent-dark)}.group-list{margin:0 -7px}.subject{padding:10px 7px;border-bottom:1px solid #e6e6e6}.group-section .subject{border-bottom-color:#0000001a}.group-section .subject:first-child{padding-top:0}.subject:last-of-type{border:0}.subject h2{margin:0 0 7px;color:var(--text-strong);font-size:.8rem;font-weight:650;line-height:1.25;letter-spacing:-.01em}.unit-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px}.unit-row+.unit-row{margin-top:8px}.unit{flex:0 0 auto;max-width:100%;min-width:0}.unit-row.unit-row-paired>.unit:nth-child(2){text-align:right}.unit-row.unit-row-paired>.unit:nth-child(2) .group-choice-row{justify-content:flex-end}.unit p{margin:0 0 5px;color:var(--text-muted);font-size:.65rem;font-weight:400;line-height:1.2}.group-choice-row{display:flex;flex-wrap:wrap;gap:5px}.group-choice{width:30px;height:30px;min-width:30px;min-height:30px;border:1px solid var(--group-border-colour, rgba(255, 255, 255, .34));border-radius:5px;background:var(--group-colour, rgba(255, 255, 255, .64));padding:3px;color:#444;font:inherit;font-size:.79rem;line-height:1.2;display:inline-grid;place-items:center;cursor:pointer}.group-choice:hover{background:#ffffff7a;border-color:var(--group-border-colour, rgba(255, 255, 255, .34))}.group-choice.active{border-color:var(--group-border-colour, var(--accent));background:var(--group-border-colour, var(--accent));color:#fff}.group-choice:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.empty{margin:0;padding:12px 7px;color:var(--text-muted);font-size:.78rem;line-height:1.45}.events h2{margin:0 0 7px;color:var(--text-strong);font-size:.8rem;font-weight:650;line-height:1.25}.events ul{display:grid;gap:4px;margin:0;padding:0;list-style:none;color:#666;font-size:.75rem;line-height:1.4}.events li{display:flex;gap:7px;align-items:baseline;flex-wrap:wrap}.events strong{color:#333}.events em{color:#777;font-style:normal}.schedule{--schedule-top-inset: 10px;min-width:0;min-height:0;height:100%;padding:var(--schedule-top-inset) 6px 0 4px;display:flex;flex-direction:column;overflow:hidden}.schedule-header{position:relative;z-index:5;display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:5px;align-items:center;flex:0 0 auto;min-height:var(--schedule-header-height);margin-bottom:12px;overflow:visible}.schedule-header.main-note-below-heading{min-height:98px}.schedule-heading-line{position:relative;display:flex;justify-content:center;align-items:stretch;gap:5px;width:100%;max-width:100%;min-width:0}.schedule-heading-row{display:flex;flex:0 1 auto;width:fit-content;max-width:100%;min-width:0;align-items:center;gap:25px;border-radius:5px;background:transparent;padding:5px 50px 5px 25px;margin:0 auto}.schedule-heading-row-empty{visibility:hidden}.schedule-faculty-mark{display:block;flex:0 0 auto;width:47px;height:47px;object-fit:contain}.schedule h1{position:relative;z-index:1;display:flex;align-self:stretch;flex:0 1 auto;flex-direction:column;align-items:flex-start;justify-content:center;width:fit-content;max-width:100%;min-width:0;min-height:28px;margin:0;border-radius:0;background:transparent;padding:0;color:var(--text-strong);font-size:1.1rem;font-weight:400;line-height:1.3;letter-spacing:-.015em;text-align:left}.schedule h1>span{display:block;flex-shrink:0;min-width:0;max-width:100%;padding-block:.12em;margin-block:-.12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-heading-specialization{margin-left:0;color:var(--text-muted);font-size:.76em;line-height:1.3}.desktop-header-actions{position:absolute;top:0;left:var(--schedule-top-inset, 10px);z-index:9;display:flex;max-width:min(46vw,620px);align-items:flex-start;gap:6px}.desktop-action-group{position:relative;display:flex;flex:0 0 auto;align-items:center;height:40px;border:1px solid rgba(0,0,0,.14);border-radius:8px;background:var(--panel-glass-background);padding:0}.desktop-view-menu-wrap{position:relative;z-index:8;display:grid;flex:0 0 49px;width:49px;height:38px;place-items:center}.desktop-action-group:is(.has-notifications,.has-time-settings) .desktop-view-menu-wrap:after{position:absolute;top:0;right:0;bottom:0;width:1px;background:#0000001f;content:"";pointer-events:none}.desktop-action-group:not(.has-notifications):not(.has-time-settings) .desktop-view-menu-wrap{border-radius:7px}.desktop-action-group:is(.has-notifications,.has-time-settings) .desktop-view-menu-wrap{border-radius:7px 0 0 7px}.desktop-action-group:is(.has-notifications,.has-time-settings) .desktop-notifications-menu-wrap{border-radius:0 7px 7px 0}.desktop-view-menu-wrap .desktop-view-button{position:relative;display:grid;width:100%;height:100%;place-items:center;border:0;border-radius:inherit;background:transparent;padding:5px;cursor:pointer}.desktop-view-menu-wrap .desktop-view-button>.plan-note-icon{display:block;width:22px;height:22px;object-fit:contain}.desktop-view-menu-wrap:hover,.desktop-view-menu-wrap:focus-within,.desktop-view-menu-wrap:has(.desktop-view-button[aria-expanded=true]),.desktop-notifications-menu-wrap:hover,.desktop-notifications-menu-wrap:focus-within,.desktop-notifications-menu-wrap:has(.desktop-notifications-button[aria-expanded=true]){background:#0000000e}.desktop-view-button:hover,.desktop-view-button[aria-expanded=true]{background:transparent}.desktop-view-menu{position:absolute;top:42px;left:-1px;z-index:10;display:grid;width:220px;gap:3px;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:var(--menu-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:6px;box-shadow:0 5px 18px #0000002e}.desktop-view-menu button{display:flex;align-items:center;gap:8px;min-height:34px;border:1px solid transparent;border-radius:5px;background:transparent;padding:5px 8px;color:var(--text-body);font:inherit;font-size:.74rem;text-align:left;cursor:pointer}.desktop-view-menu button.active{border-color:#00000024;background:#ffffffb8}.desktop-view-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.desktop-view-menu img{display:block;width:22px;height:22px}.desktop-notifications-menu-wrap{position:relative;z-index:9;display:grid;flex:0 0 49px;width:49px;height:38px;place-items:center}.desktop-notifications-button{position:relative;display:grid;width:100%;height:100%;place-items:center;border:0;border-radius:inherit;background:transparent;padding:5px;cursor:pointer}.desktop-main-note-wrap{position:relative;z-index:10;flex:0 1 auto;width:fit-content;max-width:var(--main-note-max-width, 400px);min-width:0}.desktop-main-note-wrap.note-below-heading{position:absolute;top:50px;left:0;max-width:min(var(--main-note-max-width, 400px),calc(100vw - 30px))}.desktop-main-note-capsule{display:flex;width:100%;min-width:0;height:40px;align-items:center;gap:14px;overflow:hidden;border:1px solid rgba(0,0,0,.14);border-radius:8px;background:var(--menu-background);padding:5px 16px 5px 10px;color:var(--text-body);font:inherit;font-size:.72rem;line-height:1.6;text-align:left;cursor:pointer}.desktop-main-note-capsule>img{display:block;flex:0 0 22px;width:22px;height:22px;object-fit:contain}.desktop-main-note-capsule>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-main-note-capsule.expanded{height:auto;min-height:40px;max-height:calc(100dvh - 20px);align-items:flex-start;overflow-y:auto;overscroll-behavior:contain;background:var(--menu-background);padding-bottom:calc(5px + var(--main-note-text-offset, 0px));-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);box-shadow:0 5px 18px #0000002e}.desktop-main-note-capsule.expanded>img{margin-top:var(--main-note-icon-offset, 0px)}.desktop-main-note-capsule.expanded>span{margin-top:var(--main-note-text-offset, 0px);overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:pre-wrap}.desktop-main-note-wrap.note-below-heading .desktop-main-note-capsule.expanded{max-height:calc(100dvh - 70px)}.desktop-main-note-capsule:hover{background:#fffffff0}.desktop-main-note-capsule.message-unread,.desktop-main-note-capsule.message-unread:hover{position:relative;overflow:visible;border-color:transparent;background:#ffb902;color:var(--accent-dark);font-weight:700}.desktop-main-note-capsule.message-unread:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:4px;background:repeating-linear-gradient(135deg,#202020 -.5px,#202020 4.5px,#ffb902 5.5px,#ffb902 9.5px);background-size:14.1421356px 14.1421356px;background-position:4px 0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.desktop-main-note-capsule:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (max-width: 800px){.schedule-header.main-note-below-heading{min-height:128px;align-items:start}.desktop-main-note-wrap.note-below-heading{top:80px}.desktop-main-note-wrap.note-below-heading .desktop-main-note-capsule.expanded{max-height:calc(100dvh - 100px)}}.desktop-notifications-button:hover,.desktop-notifications-button[aria-expanded=true]{background:transparent}.desktop-notifications-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.desktop-notifications-button>img{display:block;width:22px;height:22px;object-fit:contain}.desktop-notifications-count{position:absolute;top:50%;left:50%;display:grid;min-width:0;height:auto;place-items:center;border-radius:0;background:transparent;padding:0;color:#333;font-size:.72rem;font-weight:400;line-height:1;transform:translate(-50%,-50%)}.desktop-notifications-button.unread .desktop-notifications-count{font-weight:700}.desktop-notifications-menu{position:absolute;top:48px;left:-1px;z-index:12;display:grid;width:min(440px,calc(100vw - 85px));max-height:calc(100dvh - 61px);gap:0;overflow-y:auto;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:var(--menu-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:0;box-shadow:0 5px 18px #0000002e;transition:opacity .12s ease}.desktop-notifications-menu.notification-wobble-transparent{opacity:.5}@media (prefers-reduced-motion: reduce){.desktop-notifications-menu{transition:none}}.desktop-notification-entry{position:relative;display:block;width:100%;min-height:48px;overflow:hidden;border:0;border-radius:0;background:transparent;padding:11px 15px 12px;color:var(--text-body);font:inherit;font-size:.76rem;line-height:1.4;text-align:left;cursor:pointer}.desktop-notification-entry+.desktop-notification-entry{border-top:1px solid var(--notification-divider-colour)}.desktop-notification-entry .notification-content{position:relative;z-index:1;display:grid;min-width:0;gap:2px;overflow-wrap:anywhere}.desktop-notification-entry .notification-heading{display:grid;gap:2px;min-width:0}.desktop-notification-entry .notification-source{font-weight:600}.desktop-notification-entry .notification-participants{display:grid;gap:2px;min-width:0}.desktop-notification-entry .notification-details{color:var(--text-body)}.desktop-notification-entry .notification-text{display:block;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere}.desktop-notifications-read-all{display:block;width:100%;min-height:36px;border:0;border-top:1px solid rgba(0,0,0,.15);background:transparent;padding:8px 15px;color:var(--text-body);font:inherit;font-size:.74rem;text-align:left;cursor:pointer}.desktop-notifications-read-all:hover,.desktop-notifications-read-all:focus-visible{background:#ffffffb8}.desktop-notifications-read-all:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.desktop-notification-entry:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.desktop-view-menu button:hover:not(.active):not(:disabled),.desktop-view-menu button:focus-visible:not(.active):not(:disabled),.view-picker button:hover:not(.active):not(:disabled),.view-picker button:focus-visible:not(.active):not(:disabled),.mobile-view-menu button:hover:not(.active):not(:disabled),.mobile-view-menu button:focus-visible:not(.active):not(:disabled),.participant-choice:hover:not(.active),.participant-choice:focus-visible:not(.active){border-color:transparent;background:#ffffffb8}.desktop-notification-entry:hover,.desktop-notification-entry:focus-visible{background:#ffffffb8}.desktop-notification-entry.unread:hover,.desktop-notification-entry.unread:focus-visible{background:color-mix(in srgb,var(--notification-colour) 50%,rgba(255,255,255,.72))}.semester-picker-option:hover:not(.selected),.semester-picker-option:focus-visible:not(.selected),.share-menu button:hover,.share-menu button:focus-visible{border-color:transparent;background:#ffffffb8}.desktop-notification-entry.unread{background:color-mix(in srgb,var(--notification-colour) 72%,transparent);color:var(--accent-dark)}@media (max-width: 700px) and (hover: none) and (pointer: coarse),(max-width: 1024px) and (max-height: 540px) and (orientation: landscape) and (hover: none) and (pointer: coarse){.single-day-layout .desktop-header-actions{top:0;right:5px;left:auto;max-width:none}.single-day-layout .desktop-notifications-menu-wrap{width:40px;flex-basis:40px}.single-day-layout .desktop-notifications-menu{right:0;left:auto;width:min(440px,calc(100vw - 10px));max-height:calc(100dvh - 57px)}}.panel-menu-action:hover,.panel-menu-action:focus-visible{background:#ffffffb8}.panel-menu-action:disabled:not(.share-button):hover{background:transparent}.panel-menu-action.active{border-color:#00000024;background:#ffffffb8;color:var(--accent-dark)}.share-menu button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.load-status{grid-column:2;grid-row:1;justify-self:end;margin:0;color:var(--text-muted);font-size:.72rem;line-height:1.35}.loading-spinner{display:block;width:15px;height:15px;margin-right:10px;border:2px solid #d4d4d4;border-top-color:var(--accent);border-radius:50%;animation:loading-spin .75s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.loading-spinner{animation-duration:1.5s}}.load-status.error{color:#9d2e3d}.load-status button{border:0;background:none;color:inherit;text-decoration:underline;font:inherit;font-weight:700;cursor:pointer}.day-picker{display:none}.calendar-scroll{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;overscroll-behavior-x:contain;border-top:0;padding-top:0;outline-offset:3px}.calendar{--timetable-frame-colour: rgba(0, 0, 0, .2);display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:5px;width:100%;height:calc(100% - 12px);min-width:0;margin-bottom:12px;padding-right:8px}.calendar.week-calendar{grid-template-columns:196px 54px minmax(0,1fr)}.week-picker{display:grid;grid-template-rows:var(--day-header-height) minmax(0,1fr);min-width:0;min-height:0;margin-left:var(--schedule-top-inset, 10px);overflow:hidden;background:transparent}.week-picker-header{display:grid;grid-template-columns:repeat(var(--week-days),minmax(0,1fr));min-width:0}.week-picker-header span{min-width:0;overflow:hidden;padding:0 2px;color:#404040;font-size:.7rem;font-weight:400;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.week-picker-column{display:grid;grid-template-rows:repeat(var(--week-count),minmax(18px,auto));min-width:0;min-height:0;overflow-y:auto;border:0;box-shadow:inset 0 0 0 1px #0003;background:transparent}.week-picker-row{position:relative;display:grid;grid-template-columns:repeat(var(--week-days),minmax(0,1fr));min-width:0;min-height:18px;overflow:hidden;border:0;border-bottom:1px solid rgba(0,0,0,.14);background:transparent;padding:0 1px;cursor:pointer}.week-picker-row:hover,.week-picker-row:focus-visible{background:#ffffff6b;background-clip:content-box}.week-picker-row.active{overflow:visible;background:#ffffff6b;background-clip:content-box}.week-picker-row.active:after{content:"";position:absolute;z-index:2;top:-1px;right:0;bottom:-1px;left:0;border:1px solid var(--accent);border-radius:5px;pointer-events:none}.week-picker-row.active:first-child:after{top:0}.week-picker-row.active:last-child:after{bottom:0}.week-picker-day{position:relative;z-index:1;display:grid;min-width:0;grid-template-rows:minmax(18px,1fr) auto;border-right:1px solid rgba(0,0,0,.14)}.week-picker-row:last-child{border-bottom:0}.week-picker-day.last{border-right:0}.week-picker-day.unavailable{background:#0000000d}.week-picker-markers{position:relative;z-index:1;display:flex;width:100%;height:calc(100% - var(--bar-stack-height, 0px));min-width:0;min-height:0;flex-wrap:wrap;align-content:center;align-items:center;justify-content:center;gap:2px;box-sizing:border-box;padding:2px}.week-picker-marker{display:grid;flex:0 0 10px;width:10px;height:10px;place-items:center;border-radius:50%;background:var(--marker-colour)}.week-picker-marker-cancellation{flex-basis:14px;width:14px;height:14px;background:transparent;color:var(--marker-colour);font-size:1.2rem;font-weight:700;line-height:.75}.week-picker-markers.compact{gap:1px}.week-picker-markers.compact .week-picker-marker{flex-basis:8px;width:8px;height:8px}.week-picker-markers.compact .week-picker-marker-cancellation{flex-basis:12px;width:12px;height:12px;font-size:1rem}.week-picker-markers.dense .week-picker-marker{flex-basis:6px;width:6px;height:6px}.week-picker-markers.dense .week-picker-marker-cancellation{flex-basis:10px;width:10px;height:10px;font-size:.85rem}.week-picker-markers.very-dense .week-picker-marker{flex-basis:5px;width:5px;height:5px}.week-picker-markers.very-dense .week-picker-marker-cancellation{flex-basis:9px;width:9px;height:9px;font-size:.75rem}.week-picker-date-group-bars{position:absolute;right:2px;bottom:2px;left:2px;display:grid;height:var(--bar-stack-height);grid-template-rows:repeat(var(--bar-count),minmax(0,1fr));row-gap:2px}.week-picker-date-group-bars i{display:block;min-height:0;border-radius:2px}.week-picker-session-pattern{position:absolute;top:0;bottom:0;z-index:0;background-image:repeating-linear-gradient(135deg,transparent 0,transparent 5px,rgba(0,0,0,.03) 5px,rgba(0,0,0,.03) 10px);background-attachment:fixed;pointer-events:none}.week-picker-day-number{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#00000040;font-size:.72rem;font-weight:400;line-height:1;letter-spacing:-.03em;pointer-events:none}.week-picker-month{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:flex;width:100%;height:100%;max-width:100%;align-items:center;justify-content:center;overflow:hidden;color:#00000040;font-size:.72rem;font-weight:400;line-height:1;letter-spacing:-.03em;text-align:center;text-overflow:ellipsis;white-space:nowrap}.week-picker-row.active .week-picker-day-number,.week-picker-row.active .week-picker-month{color:#404040}.mesh-background-stage .mesh-background{will-change:transform}.time-column{position:relative;height:100%}.time-highlight{--time-highlight-gap: 16px;position:absolute;right:0;left:0;z-index:2;border:0;background-color:#fafafab8;pointer-events:none}.time-highlight:before,.time-highlight:after{position:absolute;right:0;left:0;z-index:1;height:1px;background-image:linear-gradient(var(--timetable-frame-colour),var(--timetable-frame-colour)),linear-gradient(var(--timetable-frame-colour),var(--timetable-frame-colour));background-repeat:no-repeat;background-size:calc(50% - var(--time-highlight-gap)) 1px,calc(50% - var(--time-highlight-gap)) 1px;background-position:left top,right top;content:"";pointer-events:none}.time-highlight:before{top:0}.time-highlight:after{bottom:0}.time-highlight-fill{position:absolute;right:0;left:0;z-index:0;background-color:#fafafa1a;mix-blend-mode:difference;pointer-events:none}.time-column span{position:absolute;z-index:1;right:0;left:0;color:#555;font-family:inherit;font-size:.68rem;font-variant-numeric:tabular-nums;font-weight:500;line-height:1;text-align:center;transform:translateY(-50%)}.time-highlight-label{right:0!important;left:0!important;z-index:4!important;border:0;padding:0 5px}.time-highlight-label-start,.time-highlight-label-end{border:0;border-radius:0}.time-highlight-label-end{transform:translateY(calc(-50% - 1px))}.time-column span.time-highlight-break-label{right:0;left:0;z-index:4!important;padding:0 5px;border:0;background:transparent!important;font-size:.61rem;transform:translateY(-50%)}.time-highlight-break-label-start,.time-highlight-break-label-end{border-radius:5px}.time-column span:last-child{transform:translateY(-50%)}.time-column.persistent-hints>span:not(.time-highlight-label):not(.time-highlight-break-label){opacity:.38}.time-column>span.time-axis-hour-hidden{display:none}.day-columns{display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));gap:5px;height:100%;min-width:0;min-height:0}.day{position:relative;min-width:0;height:100%;min-height:0}.day+.day:before{display:none}.day h2{position:relative;display:block;height:var(--day-header-height);margin:0;text-align:center;color:#404040;font-family:inherit;font-size:.7rem;font-weight:400;line-height:1.2}.day h2.today{color:var(--text-strong);font-weight:400}.day h2 a{display:inline-block;color:inherit;text-decoration:none;-webkit-user-select:none;user-select:none}.single-day-layout .day h2 a{cursor:default;pointer-events:none}.day h2 a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.day-grid{position:relative;height:calc(100% - var(--day-header-height));min-height:0;border-right:1px solid var(--timetable-frame-colour);border-left:1px solid var(--timetable-frame-colour);background:transparent}.day-grid.inactive-day{border:1px solid var(--timetable-frame-colour);background:#0000000d}.day-grid.session-day:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;content:"";background-image:repeating-linear-gradient(135deg,transparent 0,transparent 5px,rgba(0,0,0,.03) 5px,rgba(0,0,0,.03) 10px);background-attachment:fixed;pointer-events:none}.lesson-layer{position:absolute;top:0;right:-1px;bottom:0;left:-1px}.lesson-start-label{position:absolute;z-index:4;margin-top:-3px;color:var(--timetable-frame-colour);font-size:.65rem;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;visibility:hidden;pointer-events:none;transform:translate(calc(-50% + var(--label-shift, 0px)),-100%)}.lesson-start-label.visible{visibility:visible}.day-grid>i{position:absolute;right:0;left:0;height:1px;background-color:var(--timetable-frame-colour)}.day-grid>i.half{background-color:#00000024}.lesson{position:absolute;display:flex;flex-direction:column;min-height:8px;border:1px solid;border-radius:5px;padding:6px;text-align:left;color:var(--text-body);line-height:1.25;overflow:hidden;cursor:default;box-shadow:0 2px 6px #00000038;transition:filter .15s ease,opacity .15s ease}.lesson.notification-wobble{animation:lesson-wobble .65s ease-in-out;transform-origin:center}@keyframes lesson-wobble{0%,to{transform:rotate(0)}15%{transform:translate(-3px) rotate(-3deg)}30%{transform:translate(3px) rotate(3deg)}45%{transform:translate(-2px) rotate(-2deg)}60%{transform:translate(2px) rotate(2deg)}75%{transform:translate(-1px) rotate(-1deg)}}@media (prefers-reduced-motion: reduce){.lesson.notification-wobble{animation:none}}.lesson-tooltip{position:fixed;z-index:100;max-width:min(300px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow-y:auto;border:1px solid var(--lesson-tooltip-border-colour);border-radius:7px;color:var(--text-body);font:inherit;font-size:.72rem;line-height:1.35;box-shadow:0 4px 12px #00000038;pointer-events:auto}.lesson-tooltip-details,.lesson-tooltip-note{padding:6px 8px;-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter)}.lesson-tooltip-details{background:#ffffff8c;background:color-mix(in srgb,var(--lesson-tooltip-colour) 52%,transparent);white-space:pre-line}.lesson-tooltip-note{border-top:1px solid rgba(0,0,0,.14);background:var(--menu-background);white-space:pre-wrap;overflow-wrap:anywhere}.single-day-layout .mobile-lesson-tooltip{max-width:min(340px,calc(100vw - 16px));max-height:calc(var(--mobile-viewport-height) - 16px);font-size:1rem;line-height:1.55}.mobile-lesson-tooltip .lesson-tooltip-details{padding:9px 11px}.mobile-lesson-tooltip .lesson-tooltip-line{overflow-wrap:anywhere}.mobile-lesson-tooltip .lesson-tooltip-line+.lesson-tooltip-line{margin-top:3px}.mobile-lesson-tooltip .lesson-tooltip-title{font-weight:700}.mobile-lesson-tooltip .lesson-tooltip-line a{color:inherit;text-decoration:underline;text-underline-offset:2px}.mobile-lesson-tooltip .lesson-tooltip-note{padding:9px 11px}.message-receipt{display:block;width:100%;margin:0;border:1px solid #64748b;border-radius:6px;padding:10px 12px;background:#f1f5f9;color:#172033;font:inherit;text-align:left}button.message-receipt{cursor:pointer}.message-receipt .message-text{display:block;white-space:pre-wrap;overflow-wrap:anywhere}.message-receipt small{display:block;margin-top:6px;font-size:.72rem}.message-receipt.message-unread{border-color:#9a6700;background:#fff3c4;box-shadow:inset 4px 0 #9a6700}.message-receipt:focus-visible{outline:3px solid #2563eb;outline-offset:-3px}.message-storage-warning{margin:6px 0;padding:6px;background:#fff3c4;color:#172033;font-size:.75rem}.lesson-messages-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:16px;border:1px solid #64748b;border-radius:10px;background:#fff;color:#172033;overflow-y:auto;overscroll-behavior:contain}.lesson-messages-dialog::backdrop{background:#0008}.lesson-messages-heading{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.lesson-messages-heading h2{flex:1;margin:0;font-size:1rem;overflow-wrap:anywhere}.lesson-messages-heading button{width:32px;height:32px;flex:0 0 32px;border:1px solid #64748b;border-radius:5px;background:#f1f5f9;color:#172033;font-size:1.3rem;cursor:pointer}.lesson-messages-dialog .message-receipt+.message-receipt{margin-top:12px}.lesson.group-clickable{cursor:pointer}.lesson.lecture:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:"";background-image:repeating-linear-gradient(135deg,transparent 0,transparent 7px,var(--lesson-lecture-stripe) 7px,var(--lesson-lecture-stripe) 10px);-webkit-mask:linear-gradient(to bottom,transparent 0%,#000 50%,transparent 100%);-webkit-mask-repeat:no-repeat;mask:linear-gradient(to bottom,transparent 0%,#000 50%,transparent 100%);mask-repeat:no-repeat;pointer-events:none}.lesson.event{border-style:solid;background-image:none}.lesson.overlap-event{box-shadow:0 3px 9px #3c3c3c38}.lesson.cancelled{background:#e1e4e8!important;border-color:#818995!important;color:#5f5f5f}.lesson.cancelled small{color:inherit}.lesson.ungrouped-event{position:absolute;border-width:1px;background-color:#fbfdfd;background-image:none;color:var(--text-body)}.lesson.event:before,.lesson-event-background:before{--glow-a: 16% 9%;--glow-b: 83% 16%;--glow-c: 39% 47%;--glow-d: 76% 56%;--glow-e: 14% 88%;--glow-f: 88% 91%;--glow-filter: blur(8px) saturate(1.35);position:absolute;top:-12px;right:-12px;bottom:-12px;left:-12px;z-index:0;content:"";background:radial-gradient(ellipse at var(--glow-a),var(--lesson-event-gradient-top) 0%,transparent 36%),radial-gradient(ellipse at var(--glow-b),var(--lesson-event-tint) 0%,transparent 38%),radial-gradient(ellipse at var(--glow-c),var(--lesson-event-gradient) 0%,transparent 43%),radial-gradient(ellipse at var(--glow-d),var(--lesson-event-gradient-top) 0%,transparent 41%),radial-gradient(ellipse at var(--glow-e),var(--lesson-event-tint) 0%,transparent 39%),radial-gradient(ellipse at var(--glow-f),var(--lesson-event-gradient-top) 0%,transparent 38%);filter:var(--glow-filter);transform:scale(1.08);pointer-events:none}.lesson.ungrouped-event-glow-1:before,.lesson.ungrouped-event-glow-1 .lesson-event-background:before{--glow-a: 11% 13%;--glow-b: 90% 10%;--glow-c: 45% 42%;--glow-d: 72% 62%;--glow-e: 21% 82%;--glow-f: 82% 86%;--glow-filter: blur(8.5px) saturate(1.4)}.lesson.ungrouped-event-glow-2:before,.lesson.ungrouped-event-glow-2 .lesson-event-background:before{--glow-a: 21% 5%;--glow-b: 76% 22%;--glow-c: 31% 54%;--glow-d: 84% 48%;--glow-e: 9% 91%;--glow-f: 93% 79%;--glow-filter: blur(7.5px) saturate(1.3)}.lesson.ungrouped-event-glow-3:before,.lesson.ungrouped-event-glow-3 .lesson-event-background:before{--glow-a: 8% 18%;--glow-b: 88% 7%;--glow-c: 48% 39%;--glow-d: 68% 60%;--glow-e: 25% 92%;--glow-f: 79% 83%;--glow-filter: blur(9px) saturate(1.38)}.lesson.ungrouped-event-glow-4:before,.lesson.ungrouped-event-glow-4 .lesson-event-background:before{--glow-a: 18% 12%;--glow-b: 78% 12%;--glow-c: 35% 52%;--glow-d: 87% 58%;--glow-e: 10% 84%;--glow-f: 91% 90%;--glow-filter: blur(8px) saturate(1.42)}.lesson.segmented-event:before{display:none}.lesson-event-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background-color:var(--lesson-render-colour);pointer-events:none}.lesson.cancelled.segmented-event{background:transparent!important}.lesson-message-watermark,.notification-watermark{position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;pointer-events:none}.lesson-message-watermark svg,.notification-watermark svg{position:absolute;right:0;bottom:min(0px,calc((100% - min(130%,160px))/2));display:block;width:auto;height:min(130%,160px);aspect-ratio:1;color:var(--lesson-border-colour);opacity:.15;transform:translate(17%)}.notification-watermark svg{color:var(--lesson-message-colour)}.lesson-message-watermark.unread svg,.desktop-notification-entry.unread .notification-watermark svg{color:#fff;opacity:.65}.notification-main-note-icon{position:absolute;right:0;bottom:min(0px,calc((100% - min(180%,220px))/2));display:block;height:min(180%,220px);aspect-ratio:1;background:var(--lesson-message-colour);opacity:.15;transform:translate(17%);-webkit-mask:url(/assets/konv_message-DdWpUKTg.svg) center / contain no-repeat;mask:url(/assets/konv_message-DdWpUKTg.svg) center / contain no-repeat}.desktop-notification-entry.unread .notification-main-note-icon{background:#fff;opacity:.65}.lesson-content{display:flex;flex:1 1 auto;flex-direction:column;min-width:0;min-height:0;overflow:hidden;position:relative;z-index:1}.lesson strong,.lesson span,.lesson small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lesson strong{flex:0 0 auto;font-size:.72rem;font-weight:650;line-height:1.35}.lesson-elective,.lesson-event-detail{flex:0 0 auto;margin-top:2px;font-size:.65rem;line-height:1.35}.lesson-elective{color:#4b4b4b}.lesson-event-detail{color:inherit}.lesson-participants{flex:1 1 auto;min-height:0;margin-top:2px;overflow-y:hidden;overscroll-behavior:contain;scrollbar-width:thin}.lesson-participants-scrollable{overflow-y:auto}.lesson-participant{margin-top:2px;font-size:.65rem;line-height:1.35}.lesson-rooms{flex:0 0 auto;margin-top:auto;padding-top:3px;color:inherit;font-size:.61rem;line-height:1.35}.lesson .participant-link{position:relative;z-index:1;color:inherit;text-decoration:none;cursor:pointer}.lesson .participant-link:hover{color:inherit;text-decoration:none}.lesson .lesson-break{position:absolute;right:0;left:0;z-index:0;margin:0;background-color:#ffffff73;pointer-events:none}.date-group-strip{position:absolute;right:5px;bottom:3px;left:5px;height:3px;overflow:hidden;border-radius:999px;background:#24242418}.date-group-strip{z-index:2;pointer-events:none}.date-group-strip i{position:absolute;top:0;right:auto;bottom:0;border:0;background:var(--accent)}.lesson.dimmed{opacity:.32;filter:saturate(.55)}.lesson.dimmed.group-hovered{opacity:.83}@media (max-width: 800px){.faculty-landing{padding:24px 16px}.faculty-landing .eyebrow{gap:14px;margin:0;font-size:1.2rem}.faculty-landing .eyebrow:before,.faculty-landing .eyebrow:after{width:30px}.faculty-choice-grid{width:calc(100% - 32px);grid-template-columns:1fr}.faculty-choice{grid-template-columns:96px minmax(0,1fr);min-height:122px;padding:14px 16px;font-size:.96rem;justify-items:start;align-items:center;text-align:left}.faculty-choice-icon{width:96px;height:96px;border-radius:22px;padding:0}.app-shell{padding:0}.planner{grid-template-columns:minmax(0,1fr) 270px}.schedule{padding:var(--schedule-top-inset) 7px 0 4px}}@media (max-width: 800px) and (hover: hover) and (pointer: fine){.planner{grid-template-columns:minmax(0,1fr)}.filters.compact-desktop{position:absolute;top:0;right:0;z-index:12;display:flex;width:96px;height:auto;min-height:0;overflow:visible;pointer-events:none}.filters.compact-desktop .panel-brand{width:96px;height:58px;min-height:58px;align-items:flex-start;gap:6px;padding:10px 14px 0 0}.filters.compact-desktop .panel-brand>button{pointer-events:auto}.filters.compact-desktop .panel-brand-menu{flex:0 0 38px;width:38px;height:38px;margin-left:0}.compact-search-button{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border:1px solid rgba(0,0,0,.14);border-radius:8px;background:var(--panel-glass-background);padding:7px;cursor:pointer}.compact-search-button img{display:block;width:22px;height:22px;object-fit:contain}.compact-search-button:hover,.compact-search-button.active{background:var(--menu-background)}.compact-search-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.filters.compact-desktop .panel-menu,.filters.compact-desktop.personalization-open .sidebar-content{position:absolute;top:60px;right:14px;z-index:4;display:flex;width:min(360px,calc(100vw - 28px));max-height:calc(100dvh - 84px);margin:0;overflow:auto;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:var(--menu-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:12px;box-shadow:0 5px 18px #0000002e;pointer-events:auto}.filters.compact-desktop .sidebar-content{display:none}.filters.compact-desktop.personalization-open .sidebar-content{min-height:260px;flex-direction:column}.filters.compact-desktop .panel-menu{flex-direction:column}.schedule{position:relative}.schedule-header{display:flex;min-height:var(--schedule-header-height);align-items:center;margin-bottom:5px;padding-right:100px;padding-left:10px}.schedule-title{position:relative;top:-5px;z-index:5;order:2;align-self:flex-start;flex:1 1 100px;width:auto;min-width:80px}.desktop-header-actions{position:relative;top:auto;left:auto;order:1;align-self:flex-start;flex:0 1 auto;max-width:min(48vw,250px);min-width:0}.desktop-main-note-wrap{flex:0 1 auto;min-width:0}.desktop-main-note-capsule{gap:6px;padding-right:5px;padding-left:5px}.desktop-main-note-wrap.note-below-heading{position:relative;top:auto;left:auto}.schedule-header.main-note-below-heading{min-height:var(--schedule-header-height);align-items:center}.schedule-heading-line{justify-content:flex-start}.schedule-heading-row{flex:1 1 auto;width:auto;overflow:hidden;gap:7px;padding:0}.schedule-faculty-mark{flex-basis:47px;width:47px;height:47px}.schedule-heading-row h1{flex:0 1 auto;width:max-content;max-width:100%;padding-right:0}.schedule-header .load-status{margin-right:0}.desktop-participant-picker{position:absolute;top:58px;right:14px;z-index:13;display:flex;width:min(360px,calc(100% - 28px));max-height:calc(100dvh - 82px);flex-direction:column;gap:0;overflow:hidden;border:1px solid rgba(0,0,0,.16);border-radius:10px;background:var(--panel-glass-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:0 12px 12px;box-shadow:0 5px 18px #0000002e}.compact-participant-search{flex:0 0 auto;margin:0 -12px 8px;border-bottom:1px solid rgba(0,0,0,.14);padding:10px 12px}.desktop-participant-picker .participant-filter-row{margin-bottom:0}.desktop-participant-picker .participants-list{flex:1 1 auto;min-height:0;margin:0 -7px;overflow-y:auto;padding:0 7px}}@media (max-width: 400px) and (hover: hover) and (pointer: fine){.desktop-view-menu-wrap,.desktop-notifications-menu-wrap{flex-basis:40px;width:40px}.schedule-title{min-width:70px}.desktop-main-note-capsule{padding-right:1px;padding-left:1px}}@media (max-width: 700px) and (hover: none) and (pointer: coarse),(max-width: 1024px) and (max-height: 540px) and (orientation: landscape) and (hover: none) and (pointer: coarse){body{overflow:hidden}.app-shell{height:auto;min-height:100dvh;padding:0;display:block}.app-header{display:flex;justify-content:flex-end;min-height:42px;margin-bottom:0;padding:10px 12px 0}.planner{display:flex;flex-direction:column;height:auto}.filters{order:1}.schedule{order:2}.filters{display:none;position:static;height:auto;max-height:none;margin-bottom:0;overflow:visible}.filters.open{display:block}.sidebar-content{overflow:visible}.schedule{--schedule-top-inset: 8px;height:calc(100dvh - 42px);min-height:calc(100dvh - 42px);padding:var(--schedule-top-inset) 5px 5px 4px;border-radius:0;overflow:visible}.schedule-header{grid-template-columns:43px minmax(0,1fr);column-gap:5px;margin-bottom:12px}.schedule-faculty-mark{width:47px;height:47px}.load-status{grid-row:2;justify-self:start;margin-top:4px}.day-picker{display:flex;gap:5px;overflow-x:auto;margin-bottom:6px;padding-bottom:2px}.day-picker button{display:grid;gap:1px;min-width:51px;border:1px solid #d6d6d6;border-radius:8px;background:#fff;padding:6px 7px;color:#6a6a6a;font:inherit;line-height:1.2;cursor:pointer}.day-picker button span{font-size:.78rem;font-weight:400}.day-picker button small{color:inherit;font-size:.58rem;font-weight:400;line-height:1.15}.day-picker button.active{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 3px 8px #4b4b4b30}.calendar-scroll{flex:1 1 auto;min-height:0;overflow:visible;padding-top:0}.calendar{height:100%;min-height:calc(var(--grid-height) + var(--day-header-height));margin-bottom:0;grid-template-columns:43px 1fr}.time-column{height:100%}.time-highlight{--time-highlight-gap: 14px}.time-column span{right:0;font-size:.63rem}.day-columns{display:block;height:100%}.day{height:100%}.day.mobile-hidden{display:none}.day h2,.week-picker-header span{font-size:.78rem}.week-picker-day-number,.week-picker-month{font-size:.76rem}.day-grid{height:calc(100% - var(--day-header-height))}.lesson strong{font-size:.76rem}.lesson span{font-size:.69rem}.lesson small{font-size:.65rem}.single-day-layout .lesson.compact-lesson{padding:4px}.single-day-layout .lesson.compact-lesson .lesson-participants{flex:0 0 auto;margin-top:1px;overflow:hidden}.single-day-layout .lesson.compact-lesson .lesson-participant{margin-top:0}.single-day-layout .lesson.compact-lesson .lesson-rooms{margin-top:auto}.single-day-layout .lesson.compact-lesson-font strong{font-size:.68rem;line-height:1.35}.single-day-layout .lesson.compact-lesson-font .lesson-participant{font-size:.6rem;line-height:1.35}.single-day-layout .lesson.compact-lesson-font .lesson-rooms{font-size:.58rem;line-height:1.35}.context{grid-template-columns:1fr 1fr}.context .eyebrow,.context .view-picker,.context .date-navigation,.context .context-actions{grid-column:span 2}.view-picker button{min-height:34px}.group-section{padding-top:15px}}@media (min-width: 801px){.desktop-view-menu,.desktop-notifications-menu{top:42px}.planner{grid-template-columns:minmax(0,1fr)}.planner.personalization-open{grid-template-columns:minmax(0,1fr) clamp(360px,30vw,460px)}.schedule-header{grid-template-columns:minmax(0,1fr);min-height:var(--schedule-header-height);margin-bottom:5px}.schedule-title{position:absolute;top:-10px;left:0;right:0;z-index:6;width:auto;max-width:none;grid-column:1;grid-row:1}.schedule-heading-line{width:100%;margin:0;justify-content:flex-start}.schedule-heading-row{max-width:calc(100% - 60px);margin:0 auto;padding-right:0;padding-left:0;transform:translate(8px)}.schedule-header .load-status{position:absolute;top:58px;right:0;margin:0}.filters.wide-desktop{position:absolute;top:0;right:0;z-index:12;display:block;width:clamp(360px,30vw,460px);height:auto;min-height:0;overflow:visible;background:transparent;pointer-events:none}.filters.wide-desktop .panel-brand{position:relative;z-index:2;width:100%;pointer-events:auto}.filters.wide-desktop .sidebar-content{display:none}.wide-desktop-participant-search{position:relative;flex:1 1 auto;min-width:0;overflow:visible}.filters.wide-desktop .panel-brand-filter-row,.comparison-search-brand .panel-brand-filter-row{margin:0;border:1px solid rgba(0,0,0,.14);border-radius:8px;background:var(--panel-glass-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter)}.filters.wide-desktop .panel-brand-filter-row:focus-within,.comparison-search-brand .panel-brand-filter-row:focus-within{box-shadow:0 5px 18px #0000002e}.filters.wide-desktop .panel-brand-filter-row .participant-filter:focus,.comparison-search-brand .panel-brand-filter-row .participant-filter:focus{outline:none}.filters.wide-desktop .panel-brand-filter-row .participant-filter,.comparison-search-brand .panel-brand-filter-row .participant-filter{display:block;min-height:36px;border:0;border-radius:7px;background:transparent}.wide-desktop-participant-picker{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:10;display:flex;width:100%;max-height:calc(100dvh - 62px);flex-direction:column;overflow:hidden;border:1px solid rgba(0,0,0,.16);border-radius:8px;background:var(--panel-glass-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:7px;box-shadow:0 5px 18px #0000002e}.wide-desktop-participant-results{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow:hidden}.wide-desktop-participant-picker .participant-status{flex:0 0 auto;padding:5px 4px}.wide-desktop-participant-picker .participants-list{margin:0;padding:0}.wide-desktop-participant-picker .participant-results{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.filters.wide-desktop .panel-menu{position:absolute;top:60px;right:14px;z-index:4;width:calc(100% - 28px);max-height:calc(100dvh - 84px);flex:0 1 auto;margin:0;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:var(--menu-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:12px;box-shadow:0 5px 18px #0000002e;pointer-events:auto}.filters.wide-desktop.personalization-open{position:static;display:flex;width:auto;height:100%;overflow:hidden;pointer-events:auto}.filters.wide-desktop.personalization-open .sidebar-content{position:static;display:flex;min-height:0;margin:2px 14px 14px;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:var(--panel-glass-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:12px;box-shadow:0 5px 18px #0000002e;pointer-events:auto}.comparison-sidebar.filters.wide-desktop.personalization-open .sidebar-content{margin-left:24px}.filters.wide-desktop.personalization-open .group-section{padding:0}}@media (max-width: 700px) and (hover: none) and (pointer: coarse),(max-width: 1024px) and (max-height: 540px) and (orientation: landscape) and (hover: none) and (pointer: coarse){.single-day-layout .schedule-header{display:grid;grid-template-columns:minmax(0,1fr);height:0;min-height:0;row-gap:var(--schedule-top-inset);justify-content:stretch;margin-bottom:0}.single-day-layout .schedule-header.mobile-status-visible{height:auto;margin-bottom:8px}.single-day-layout .schedule h1,.single-day-layout .schedule-faculty-mark{display:none}.single-day-layout .schedule-title{grid-column:1;grid-row:1}.single-day-layout .schedule-heading-row{display:none}.single-day-layout .schedule-heading-line{justify-content:flex-end}.single-day-layout .schedule-header .load-status{grid-column:1;grid-row:1;margin:0}.single-day-layout .loading-spinner,.single-day-layout .day-picker{display:none}.app-shell.single-day-layout{display:flex;height:100dvh;min-height:0;overflow:hidden}.single-day-layout .planner{flex:0 0 calc(100dvh - var(--mobile-participant-bar-height));height:calc(100dvh - var(--mobile-participant-bar-height));min-height:0;overflow:hidden}.single-day-layout .schedule{height:100%;min-height:0;overflow:hidden}.single-day-layout .calendar-scroll{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.single-day-layout .lesson-participants-scrollable{overflow-y:hidden;overscroll-behavior-y:auto}.single-day-layout.mobile-overlay-open .calendar-scroll{scrollbar-width:none}.single-day-layout.mobile-overlay-open .calendar-scroll::-webkit-scrollbar{display:none}.single-day-layout .calendar{height:calc(100% - 8px);margin-bottom:8px}.single-day-layout .mesh-background-track{transform-origin:left center}.single-day-layout .mesh-background-stage .mesh-background{right:auto;max-width:none;transform-origin:left center}.single-day-layout .filters{display:none;position:fixed;right:0;bottom:var(--mobile-participant-bar-height);left:0;z-index:5;height:min(70dvh,520px);max-height:calc(100dvh - var(--mobile-participant-bar-height));margin:0;overflow:hidden;border-top:1px solid rgba(0,0,0,.16);background:var(--panel-glass-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);box-shadow:0 -8px 24px #00000024}.single-day-layout .filters .sidebar-content,.single-day-layout .filters .panel-menu{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.single-day-layout .filters.open{display:flex}.single-day-layout.participant-picker-open .filters.open{top:var(--mobile-viewport-top, 0px);bottom:auto;height:calc(var(--mobile-viewport-height, 100dvh) - var(--mobile-participant-bar-height));max-height:none;border-top:0;box-shadow:none}.single-day-layout.panel-menu-open .filters.open{top:var(--mobile-viewport-top, 0px);bottom:auto;height:calc(var(--mobile-viewport-height, 100dvh) - var(--mobile-participant-bar-height));max-height:none;border-top:0;background:var(--menu-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);box-shadow:none}.single-day-layout .filters .context{display:none}.single-day-layout .filters .panel-menu{display:flex;flex:1 1 auto;min-height:0;margin-top:0;flex-direction:column;overflow-y:auto;padding:16px 16px 20px}.single-day-layout .filters.panel-menu-open .sidebar-content{display:none}.single-day-layout .filters .sidebar-content{display:flex;margin-top:0;overflow:hidden;padding-top:16px}.single-day-layout .filters .participants-section{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;padding:0 16px 20px}.single-day-layout .filters .participants-section .participant-filter-row{order:1;flex:0 0 auto;margin:12px 0 0}.single-day-layout .filters .participants-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.single-day-layout .filters .participants-list .participant-choice{min-height:48px;padding:10px 8px}.single-day-layout .mobile-participant-bar{position:fixed;right:0;bottom:max(0px,calc(100dvh - var(--mobile-viewport-top, 0px) - var(--mobile-viewport-height, 100dvh)));left:0;z-index:6;display:grid;grid-template-columns:max-content minmax(0,1fr) 40px 40px;gap:8px;align-items:center;height:var(--mobile-participant-bar-height);padding:8px 12px;border-top:1px solid rgba(0,0,0,.16);background:#eeeeeef0;box-shadow:0 -3px 12px #00000014}.mobile-action-group{display:flex;align-items:center;gap:8px;height:40px}.mobile-notifications-menu-wrap{position:relative;z-index:9;flex:0 0 40px;width:40px;height:40px}.mobile-notifications-menu-wrap .desktop-notifications-button{border-radius:9px;padding:7px}.mobile-notifications-menu-wrap .desktop-notifications-button:hover img{opacity:.7}.single-day-layout .mobile-notifications-menu{position:fixed;top:var(--mobile-viewport-top, 0px);right:0;bottom:auto;left:0;display:block;width:100vw;height:calc(var(--mobile-viewport-height, 100dvh) - var(--mobile-participant-bar-height));max-height:none;border:0;border-radius:0;box-shadow:none;overscroll-behavior:contain}.mobile-notifications-empty{margin:0;padding:14px 16px;color:var(--text-muted);font-size:.76rem}.mobile-participant-button{grid-column:2;display:flex;align-items:center;justify-content:center;min-width:0;width:100%;min-height:40px;overflow:hidden;border:1px solid rgba(0,0,0,.14);border-radius:8px;background:var(--panel-glass-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);padding:8px 12px;color:#2b2b2b;font:inherit;font-size:.8rem;line-height:1.2;text-align:center;cursor:pointer}.mobile-participant-button span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-participant-button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mobile-home-button,.mobile-menu-button{display:grid;width:40px;height:40px;place-items:center;justify-self:end;border:0;border-radius:9px;background:transparent;padding:7px;cursor:pointer}.mobile-home-button{grid-column:3}.mobile-home-button img{display:block;width:25px;height:25px;object-fit:contain}.mobile-home-button:hover:not(:disabled) img{opacity:.7}.mobile-home-button:disabled{cursor:default;opacity:.38}.mobile-menu-button{grid-column:4}.mobile-home-button:focus-visible,.mobile-menu-button:focus-visible,.mobile-view-button:focus-visible,.mobile-notifications-menu-wrap .desktop-notifications-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mobile-view-menu-wrap{position:relative;flex:0 0 40px;width:40px;height:40px}.mobile-view-button{display:grid;width:100%;height:100%;place-items:center;border:0;border-radius:9px;background:transparent;padding:7px;cursor:pointer}.mobile-view-button img{display:block;width:22px;height:22px;object-fit:contain}.mobile-view-button:hover img{opacity:.7}.mobile-view-menu{position:fixed;top:var(--mobile-viewport-top, 0px);right:0;bottom:auto;left:0;z-index:7;display:grid;width:100vw;height:calc(var(--mobile-viewport-height, 100dvh) - var(--mobile-participant-bar-height));max-height:none;grid-template-rows:minmax(0,1fr) repeat(2,max-content);overflow:hidden;gap:4px;padding:12px;border:0;border-radius:0;background:var(--menu-background);-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);box-shadow:none}.mobile-view-menu button{display:flex;align-items:center;gap:8px;min-height:34px;border:1px solid transparent;border-radius:7px;background:transparent;padding:6px 8px;color:#444;font:inherit;font-size:.72rem;font-weight:550;line-height:1.3;text-align:left;cursor:pointer}.mobile-view-menu button img{display:block;width:22px;height:22px;object-fit:contain}.mobile-date-calendar{display:grid;min-height:0;grid-template-rows:max-content minmax(0,1fr)}.mobile-date-calendar-header,.mobile-date-calendar-row{display:grid;grid-template-columns:repeat(var(--week-days),minmax(0,1fr))}.mobile-date-calendar-header{margin-bottom:6px}.mobile-date-calendar-header span{min-width:0;overflow:hidden;color:#404040;font-size:.68rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.mobile-date-calendar-weeks{min-height:0;overflow-y:auto;overscroll-behavior:contain;border:1px solid rgba(0,0,0,.2)}.mobile-date-calendar-row{position:relative;min-height:38px;border-bottom:1px solid rgba(0,0,0,.14)}.mobile-date-calendar-row:last-child{border-bottom:0}.mobile-view-menu .mobile-date-calendar-day{position:relative;z-index:1;display:grid;min-width:0;min-height:38px;align-items:center;justify-items:center;border:0;border-right:1px solid rgba(0,0,0,.14);border-radius:0;padding:0}.mobile-view-menu .mobile-date-calendar-day:last-of-type{border-right:0}.mobile-view-menu .mobile-date-calendar-day.active{outline:2px solid var(--accent);outline-offset:-2px;background:#ffffff8c}.mobile-view-menu .mobile-date-calendar-day:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mobile-view-menu .mobile-date-calendar-day.unavailable{background:#0000000d;opacity:.55}.mobile-date-calendar-day.active .week-picker-day-number,.mobile-date-calendar-day.active .week-picker-month{color:#404040}.mobile-date-calendar-row .week-picker-session-pattern{z-index:0}.mobile-view-menu button.active{border-color:#00000024;background:#ffffffb8;color:var(--text-body)}.single-day-layout .panel-menu-action,.single-day-layout .share-menu button{min-height:34px;border:1px solid transparent;border-radius:7px;padding:6px 8px;color:#444;font-size:.72rem;font-weight:550}.single-day-layout .panel-menu-action:hover,.single-day-layout .panel-menu-action:focus-visible:not(.active),.single-day-layout .share-menu button:hover,.single-day-layout .share-menu button:focus-visible{border-color:#c7c7c7;background:#ffffffb8;color:#444}.single-day-layout .panel-menu-action.active,.single-day-layout .panel-menu-action[aria-expanded=true]{border-color:#00000024;background:#ffffffb8;color:var(--accent-dark)}.mobile-view-menu button:disabled{cursor:not-allowed;opacity:.45}}@media (max-width: 1024px) and (max-height: 540px) and (orientation: landscape) and (hover: none) and (pointer: coarse){.single-day-layout.mobile-personalization{height:100dvh;overflow:hidden}.single-day-layout.mobile-personalization .planner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));height:calc(100dvh - var(--mobile-participant-bar-height));min-height:0;overflow:hidden}.single-day-layout.mobile-personalization .schedule{order:initial;height:100%;min-height:0;margin:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.single-day-layout.mobile-personalization .calendar-scroll{flex:0 0 auto;height:calc(var(--grid-height) + var(--day-header-height) + 8px);overflow:visible}.single-day-layout.mobile-personalization .filters{position:static;order:initial;display:flex;width:100%;height:100%;max-height:none;min-height:0;overflow:hidden;border:0;border-left:1px solid rgba(0,0,0,.16);box-shadow:none}.single-day-layout.mobile-personalization .filters .sidebar-content{flex:1 1 auto;min-height:0}.single-day-layout.mobile-personalization .filters .group-section{padding:0 12px 12px}.single-day-layout.mobile-personalization .filters .group-list{overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.single-day-layout.mobile-personalization:not(.mobile-comparison) .planner{flex:0 0 100dvh;height:100dvh}.single-day-layout.mobile-personalization:not(.mobile-comparison) .filters{height:calc(var(--mobile-viewport-height, 100dvh) - var(--mobile-participant-bar-height));margin-top:var(--mobile-viewport-top, 0px)}.single-day-layout .mobile-personalization-bar{left:50%;grid-template-columns:minmax(40px,1fr) repeat(4,40px)}.mobile-personalization-bar .personalization-confirm{height:40px;min-width:0;border-radius:8px;padding:7px 6px;font:inherit;font-weight:700;cursor:pointer}.mobile-personalization-bar .personalization-icon-action{position:relative;display:grid;width:40px;height:40px;place-items:center;border:0;border-radius:9px;background:transparent;padding:7px;cursor:pointer}.mobile-personalization-bar .personalization-icon-action:focus-visible,.mobile-personalization-bar .personalization-confirm:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mobile-personalization-bar .mobile-menu-button{grid-column:5}.mobile-personalization-bar .personalization-default-feedback{right:0;left:auto;transform:none}}.mobile-rotation-prompt{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#fafafa;text-align:center}.mobile-rotation-content{max-width:360px}.mobile-rotation-content h2{margin:0 0 12px;color:var(--text-strong);font-size:1.1rem}.mobile-rotation-content p{margin:0 0 22px;color:var(--text-body);font-size:.86rem;line-height:1.5}.mobile-rotation-icon{display:inline-block;width:1.2em;height:1.2em;vertical-align:-.2em}.mobile-rotation-content button{min-height:40px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);padding:8px 16px;color:#fff;font:inherit;cursor:pointer}.mobile-rotation-content button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.common-availability-fragments{display:contents}.planner.comparison-open{--comparison-header-offset: 10px;--comparison-header-gap: 12px;grid-template-rows:calc(var(--schedule-header-height) + var(--comparison-header-offset) + var(--comparison-header-gap)) minmax(0,1fr)}.planner.comparison-open>.schedule{grid-column:1;grid-row:2;padding-top:0}.planner.comparison-open .comparison-plan-bar{z-index:14;grid-column:1 / -1;grid-row:1;display:flex;min-width:0;height:var(--schedule-header-height);min-height:var(--schedule-header-height);align-self:start;align-items:center;gap:10px;margin:var(--comparison-header-offset) 0 0;padding:0 0 0 14px}.planner.comparison-open .comparison-sidebar{grid-column:2;grid-row:2}.comparison-sidebar .sidebar-content{margin-top:0}.comparison-plan-bar>.comparison-header-actions{position:relative;top:auto;left:auto;order:0;align-self:flex-start;flex:0 0 auto;max-width:none}.comparison-plan-close{flex:0 0 38px;margin-left:auto}.comparison-plan-bar>.comparison-plan-close{margin-right:14px}.comparison-plan-bar>.comparison-search-brand{position:relative;z-index:2;flex:0 0 clamp(360px,30vw,460px);width:clamp(360px,30vw,460px);transform:translateY(-5px)}.comparison-plan-bar>.comparison-compact-brand{flex:0 0 96px;width:96px;height:58px;align-items:flex-start;gap:6px;padding:10px 14px 0 0;transform:translateY(-5px)}.app-shell:not(.single-day-layout) .planner:not(.comparison-open) .schedule-title{top:20px;transform:translateY(-50%)}.app-shell:not(.single-day-layout) .filters .panel-brand{padding-top:11px}.app-shell:not(.single-day-layout) .planner.comparison-open{grid-template-columns:minmax(0,1fr)}.app-shell:not(.single-day-layout) .comparison-plan-bar{height:40px;min-height:40px}.app-shell:not(.single-day-layout) .comparison-plan-bar>.comparison-header-actions{align-self:center}.app-shell:not(.single-day-layout) .comparison-plan-bar>:is(.comparison-search-brand,.comparison-compact-brand){height:40px;min-height:40px;align-items:center;padding-top:0;transform:none}.comparison-compact-brand>button{pointer-events:auto}.comparison-compact-brand .panel-brand-menu{margin-left:0}.comparison-plan-scroll{flex:1 1 auto;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin}.comparison-plan-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.comparison-search-brand .panel-brand-load-status{top:11px;right:auto}.comparison-limit-dialog{width:min(380px,calc(100vw - 24px))}.comparison-limit-dialog h2{margin:0;font-size:1rem}.comparison-limit-dialog p{margin:16px 0}.comparison-limit-dialog form{display:flex;justify-content:flex-end}.comparison-limit-dialog button{min-width:72px;border:1px solid #64748b;border-radius:5px;padding:7px 16px;background:#f1f5f9;color:#172033;font:inherit;cursor:pointer}.comparison-result{overflow-x:auto}.comparison-sidebar .comparison-plans{border-bottom:0}.comparison-busy{position:absolute;z-index:1;border:0;border-top:1px solid rgba(0,0,0,.14);border-bottom:1px solid rgba(0,0,0,.14);background:#0000001a;pointer-events:none}.comparison-busy-day-left{border-left:1px solid rgba(0,0,0,.14)}.comparison-busy-day-right{border-right:1px solid rgba(0,0,0,.14)}.comparison-plan-busy{position:absolute;z-index:2;border:0;border-top:1px solid rgba(0,0,0,.14);border-right:1px solid rgba(0,0,0,.14);border-bottom:1px solid rgba(0,0,0,.14);border-left:1px solid rgba(0,0,0,.14);pointer-events:none}.comparison-busy-time-label{position:absolute;z-index:5;color:var(--text-body);font-size:.65rem;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;pointer-events:none}.comparison-plan-busy{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;cursor:pointer;pointer-events:auto}.comparison-plan-busy:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.comparison-busy-time-label-start{margin-top:4px;transform:translate(-50%)}.comparison-busy-time-label-end{margin-top:-4px;transform:translate(-50%,-100%)}.comparison-gap{position:absolute;z-index:4;left:0;display:flex;width:100%;align-items:center;justify-content:center;container-type:size;border:0;border-radius:0;background:transparent;padding:0;cursor:pointer}.comparison-gap:hover,.comparison-gap:focus-visible,.comparison-gap.selected{background:#fff6}.comparison-gap:hover{background:transparent}.comparison-gap:hover:before{position:absolute;z-index:0;top:1px;right:1px;bottom:1px;left:1px;background:#fff6;content:"";pointer-events:none}.comparison-gap.selected{border:1px solid #484848;border-radius:5px}.comparison-gap:hover.selected{background:transparent}.comparison-gap:focus-visible:not(:hover):not(.selected){outline:2px solid var(--accent);outline-offset:-2px}.comparison-gap.gap-interactions-disabled{pointer-events:none;cursor:default}.comparison-gap.gap-interactions-disabled:is(:hover,:focus-visible,.selected){border:0;background:transparent;outline:none}.comparison-gap.gap-interactions-disabled:before{display:none}.comparison-gap-duration{position:absolute;z-index:1;top:50%;left:50%;display:none;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--comparison-gap-plan-colour, #fff) 48%,rgba(70,70,70,.4));border-radius:7px;background:transparent;padding:4px 7px;color:var(--text-body);font:inherit;font-size:.7rem;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;-webkit-backdrop-filter:var(--glass-backdrop-filter);backdrop-filter:var(--glass-backdrop-filter);transform:translate(-50%,-50%);pointer-events:none}@container (min-width: 58px) and (min-height: 28px){.comparison-gap-duration{display:inline-flex}}.comparison-empty{margin:auto;max-width:450px;padding:24px;text-align:center}.comparison-chips{display:flex;width:max-content;min-width:100%;gap:5px;margin:0;padding:4px 0;list-style:none}.comparison-chips li{display:flex;flex:0 0 auto;width:max-content;align-items:center;min-width:0;gap:6px;border-radius:5px;background:#ffffff73;padding:5px 7px 5px 12px;font-size:.76rem}.comparison-chips li>.comparison-chip-name{display:block;flex:0 0 auto;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;font-size:var(--comparison-plan-name-size, .76rem)}.comparison-chips li{border:1px solid transparent}.comparison-chips li.highlighted{border-color:var(--comparison-plan-frame-colour);box-shadow:0 2px 6px #00000038}.comparison-chip-name .participant-programme,.comparison-chip-name .participant-specialization{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.25em;align-items:baseline}.comparison-chip-name .participant-specialization{font-size:.9em}.comparison-chip-name .participant-year-spacer{visibility:hidden}.comparison-chip-measure-root{position:fixed;z-index:-1;left:-10000px;top:0;height:auto}.comparison-chips small{color:var(--text-muted)}.comparison-chips button{border:0;background:transparent;padding:2px 4px;color:var(--text-body);font:inherit;font-size:1.1rem;cursor:pointer}.comparison-help{margin:8px 0;color:var(--text-muted);font-size:.75rem}.comparison-search,.comparison-search .participant-filter-row{margin-bottom:8px}.comparison-search .participants-list{max-height:180px;overflow:auto;margin:0 0 8px;padding:0}.comparison-search .participants-list .participant-choice{font-size:.76rem}.comparison-hours label{display:grid;gap:4px;color:var(--text-body);font-size:.76rem}.comparison-hours input{width:100%;min-width:0;min-height:32px;border:1px solid #d9d9d9;border-radius:7px;background:#ffffffb8;padding:5px 7px;color:var(--text-body);font:inherit}.comparison-settings{display:grid;gap:9px}.comparison-hours{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.comparison-time-menu{max-height:calc(100dvh - 74px);overflow-y:auto;padding:12px;gap:12px}.comparison-header-error{position:absolute;z-index:15;top:calc(var(--schedule-header-height) + var(--comparison-header-offset));left:14px;max-width:calc(100% - 28px);margin:0;border:1px solid rgba(0,0,0,.14);border-radius:7px;background:var(--menu-background);padding:8px 12px;font-size:.76rem}.comparison-time-menu .comparison-time-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:8px}.comparison-time-menu .comparison-weekend{cursor:pointer}.comparison-time-menu .comparison-weekend input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:grid;flex:0 0 18px;width:18px;height:18px;margin:0;place-items:center;border:1px solid #9f9f9f;border-radius:5px;background:#ffffff9e;color:#2b2b2b;cursor:pointer}.comparison-time-menu .comparison-weekend input:checked:after{width:5px;height:9px;margin-top:-2px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg);content:""}.comparison-time-menu .comparison-weekend input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.comparison-weekend{display:flex;align-items:center;gap:7px;color:var(--text-body);font-size:.76rem}.comparison-error{position:static;max-width:none;margin:10px 7px}.comparison-sidebar .personalization-actions{grid-template-columns:minmax(0,1fr)}@media (min-width: 801px){.planner.comparison-open{--comparison-header-gap: 5px}}@media (max-width: 700px) and (hover: none) and (pointer: coarse),(max-width: 1024px) and (max-height: 540px) and (orientation: landscape) and (hover: none) and (pointer: coarse){.planner.comparison-open{--comparison-header-offset: 8px;--comparison-header-gap: 12px}}@media (max-width: 1024px) and (max-height: 540px) and (orientation: landscape) and (hover: none) and (pointer: coarse){.single-day-layout.mobile-comparison .planner{flex:0 0 100dvh;height:100dvh;grid-template-rows:minmax(0,1fr)}.single-day-layout.mobile-comparison .planner.comparison-open>.schedule{grid-column:1;grid-row:1;padding-top:var(--schedule-top-inset)}.single-day-layout.mobile-comparison .planner.comparison-open .comparison-sidebar{grid-column:2;grid-row:1;height:calc(var(--mobile-viewport-height, 100dvh) - var(--mobile-participant-bar-height));margin-top:var(--mobile-viewport-top, 0px)}.single-day-layout.mobile-comparison .comparison-mobile-plans .comparison-plan-scroll{margin:0;overflow-x:hidden;overflow-y:auto}.single-day-layout.mobile-comparison .comparison-chips{width:100%;min-width:0;flex-direction:column;gap:8px;padding:0 0 4px}.single-day-layout.mobile-comparison .comparison-chips li{width:100%;min-height:44px;flex:0 0 auto}.single-day-layout.mobile-comparison .comparison-chips li>.comparison-chip-name{flex:1 1 auto;overflow-wrap:anywhere}.single-day-layout.mobile-comparison .comparison-chips button{flex:0 0 32px;min-height:32px}.single-day-layout.mobile-comparison .comparison-mobile-bar{left:50%;grid-template-columns:40px 40px minmax(0,1fr) 40px}.single-day-layout.mobile-comparison .comparison-mobile-find{grid-column:3}.single-day-layout.mobile-comparison .comparison-mobile-find img{display:block;width:22px;height:22px}.single-day-layout.mobile-comparison .comparison-mobile-menu{top:auto;right:8px;bottom:calc(var(--mobile-participant-bar-height) + max(0px,calc(100dvh - var(--mobile-viewport-top, 0px) - var(--mobile-viewport-height, 100dvh))));left:calc(50% + 8px);width:auto;height:auto;max-height:calc(var(--mobile-viewport-height, 100dvh) - var(--mobile-participant-bar-height) - 8px);grid-template-rows:none;overflow-y:auto;border:1px solid rgba(0,0,0,.14);border-radius:10px;box-shadow:0 5px 18px #0000002e}.single-day-layout.mobile-comparison .comparison-mobile-view-menu{top:var(--mobile-viewport-top, 0px);right:0;bottom:auto;left:50%;width:50%;height:calc(var(--mobile-viewport-height, 100dvh) - var(--mobile-participant-bar-height));max-height:none;grid-template-rows:minmax(0,1fr) repeat(2,max-content);overflow:hidden;border:0;border-radius:0;box-shadow:none}.single-day-layout.mobile-comparison .comparison-error{flex:0 0 auto;margin:8px 0 0}.single-day-layout.mobile-comparison .comparison-help{margin:0}}@media print{@page{size:A4 landscape;margin:3mm}html,body,#app{width:100%;height:auto;min-width:0;margin:0;overflow:visible;background:#fff}#app .app-shell{display:block;width:100%;height:189mm;min-height:0;padding:0;overflow:visible;background:#fff;print-color-adjust:exact;-webkit-print-color-adjust:exact}#app .app-shell>:not(.planner),#app .planner>:not(.schedule),#app .schedule>:not(.schedule-header):not(.calendar-scroll),#app .schedule-header>:not(.schedule-title),#app .schedule-message-actions,#app .lesson-message-watermark,#app .message-storage-warning,#app .week-picker,#app .time-column .time-highlight,#app .time-column .time-highlight-label,#app .time-column .time-highlight-break-label,dialog,dialog::backdrop,.lesson-tooltip{display:none!important}#app .planner{display:block;height:100%;min-height:0}#app .schedule{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;padding:0;overflow:visible;background:#fff;border:0;box-shadow:none;break-inside:avoid}#app .schedule-header{display:block;flex:0 0 auto;margin:0 0 1mm;padding:0}#app .schedule-title{position:static;width:calc(100% - 54px);margin-left:54px}#app .schedule-heading-line{display:block}#app .schedule-heading-row{display:flex;justify-content:center;width:100%!important;max-width:100%!important;margin:0!important;padding:0;overflow:visible;background:transparent;transform:none!important}#app .schedule-faculty-mark{display:none}#app .schedule h1{display:flex;flex:0 1 auto;width:auto;max-width:100%;min-height:0;align-items:center;transform:translateY(6px);font-size:.875rem;line-height:1.45;letter-spacing:normal;padding:0;text-align:center}#app .schedule-heading-specialization{font-size:inherit}#app .schedule h1>span{overflow:visible;white-space:normal;overflow-wrap:anywhere}#app .calendar-scroll{flex:1 1 0;min-height:0;overflow:visible}#app .calendar{display:grid;grid-template-columns:54px minmax(0,1fr);width:100%;min-width:0;height:100%;min-height:0;margin:0}#app .day-columns{display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));min-width:0}#app .day{display:block;min-width:0}#app .lesson{box-shadow:none;transition:none}}
