:root{--ums-brand-orange-100: #f7ad18;--ums-brand-orange-200: #f27f0d;--ums-brand-orange-300: #f85a2f;--ums-brand-blue-100: #364d8a;--ums-brand-blue-200: #8ba1dc;--ums-brand-blue-300: #419ebd;--ums-secondary-50: #fafafa;--ums-secondary-100: #f5f5f5;--ums-secondary-200: #eeeeee;--ums-secondary-300: #e0e0e0;--ums-secondary-400: #bdbdbd;--ums-secondary-500: #9e9e9e;--ums-secondary-600: #757575;--ums-secondary-700: #616161;--ums-secondary-800: #424242;--ums-secondary-900: #212121;--ums-white: #ffffff;--ums-black: #000000;--ums-bg: var(--ums-white);--ums-surface: var(--ums-white);--ums-surface-strong: var(--ums-secondary-50);--ums-text: var(--ums-black);--ums-muted: var(--ums-secondary-700);--ums-primary: var(--ums-brand-orange-100);--ums-primary-contrast: var(--ums-black);--ums-primary-hover: var(--ums-brand-orange-200);--ums-secondary-action: var(--ums-black);--ums-secondary-action-contrast: var(--ums-white);--ums-danger: var(--ums-brand-orange-300);--ums-information: var(--ums-brand-blue-300);--ums-warning: var(--ums-brand-orange-200);--ums-error: var(--ums-brand-orange-300);--ums-focus: #ae25f8;--ums-focus-contrast: var(--ums-white);--ums-border: var(--ums-secondary-300);--ums-border-strong: var(--ums-secondary-400);--ums-status-info-bg: color-mix(in srgb, var(--ums-brand-blue-300) 15%, white);--ums-status-info-border: var(--ums-brand-blue-300);--ums-status-warning-bg: color-mix(in srgb, var(--ums-brand-orange-200) 15%, white);--ums-status-warning-border: var(--ums-brand-orange-200);--ums-status-error-bg: color-mix(in srgb, var(--ums-brand-orange-300) 14%, white);--ums-status-error-border: var(--ums-brand-orange-300);--ums-radius: 6px;--ums-shadow: 0 8px 20px rgba(0, 0, 0, .08);--ums-font-body: "Mona Sans", "Source Sans Pro", "Segoe UI", sans-serif;--ums-font-display: "Mona Sans", "Source Sans Pro", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--ums-font-body);line-height:1.4;background-color:var(--ums-bg);color:var(--ums-text)}h1,h2,h3,h4,h5,h6{margin:0;font-weight:700;line-height:1.2}a{color:var(--ums-text);transition:color .2s linear}a:hover{color:var(--ums-brand-blue-100)}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid var(--ums-focus);outline-offset:2px}.ums-skip-link{position:absolute;left:.75rem;top:-40px;z-index:1000;padding:.5rem .75rem;border-radius:var(--ums-radius);background:var(--ums-focus);color:var(--ums-focus-contrast);text-decoration:none}.ums-skip-link:focus,.ums-skip-link:focus-visible{top:.75rem}.ums-button,button{border:none;border-radius:var(--ums-radius);padding:.6rem .9rem;min-height:2.25rem;background:var(--ums-primary);color:var(--ums-primary-contrast);cursor:pointer;font-weight:600;transition:background-color .12s ease,color .12s ease,transform 80ms ease}.ums-button:hover,button:not(:disabled):hover{background:var(--ums-primary-hover)}.ums-button:active,button:not(:disabled):active{transform:translateY(1px)}.ums-button:disabled,button:disabled{cursor:not-allowed;opacity:.65}.ums-input,.ums-select,.ums-textarea,input,select,textarea,.formGrid input,.formGrid select,.inlineForm input,.inlineForm select{width:100%;border:1px solid var(--ums-border-strong);border-radius:var(--ums-radius);padding:.55rem .65rem;min-height:2.25rem;background:var(--ums-white);color:var(--ums-text)}.ums-input:focus,.ums-select:focus,.ums-textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--ums-focus)}.ums-input:disabled,.ums-select:disabled,.ums-textarea:disabled,input:disabled,select:disabled,textarea:disabled{background:var(--ums-secondary-100);border-color:var(--ums-border);color:var(--ums-muted);cursor:not-allowed;opacity:1}.ums-form-field,.formGrid label,.inlineForm label{display:grid;gap:.25rem;font-weight:600}.panel{background:var(--ums-surface-strong);border-radius:var(--ums-radius);border:1px solid var(--ums-border);box-shadow:var(--ums-shadow);padding:1rem;margin-bottom:1rem;width:min(100%,1200px);margin-inline:auto}.panelHeaderRow{display:flex;justify-content:space-between;align-items:center;gap:1rem}.rowList li,.detailsList div{border:1px solid var(--ums-border);border-radius:var(--ums-radius);padding:.75rem;background:var(--ums-white)}.formGrid{display:grid;gap:.8rem}button.secondary,.ums-button.secondary{background:var(--ums-secondary-action);color:var(--ums-secondary-action-contrast)}button.danger,.ums-button.danger{background:var(--ums-status-error-border);color:var(--ums-white)}button.danger:not(:disabled):hover,.ums-button.danger:not(:disabled):hover{background:color-mix(in srgb,var(--ums-status-error-border) 85%,black)}button.transparent,.ums-button.transparent{background:transparent;color:var(--ums-text);border:1px solid var(--ums-border-strong)}button.transparent:not(:disabled):hover,.ums-button.transparent:not(:disabled):hover{background:var(--ums-secondary-200)}.buttonRow{display:flex;gap:.6rem;flex-wrap:wrap}.inlineForm{display:flex;gap:.6rem;flex-wrap:wrap;align-items:end}.compactForm{margin-top:.5rem}.rowList{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.75rem;width:min(100%,1200px);margin-inline:auto}.rowList li{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.stack{display:grid;gap:.6rem}.ums-tabs{margin-top:1rem;display:grid;gap:.85rem}.ums-tabList{display:flex;gap:.6rem;flex-wrap:wrap}.ums-tabPanel{display:grid;gap:.75rem}.detailsList{margin:1rem 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem;width:min(100%,1200px);margin-inline:auto}.detailsList dt{font-weight:700}.detailsList dd{margin:.25rem 0 0}.helperText{margin:0;color:var(--ums-muted);font-size:.92rem}.ums-preserveLineBreaks{white-space:pre-line}.ums-loadingIndicator{display:grid;justify-items:center;gap:.85rem;color:var(--ums-text)}.ums-loadingIndicator.compact{gap:.5rem;padding:.4rem 0}.ums-loadingIndicatorBars{display:inline-flex;align-items:flex-end;gap:.35rem;min-height:2.5rem}.ums-loadingIndicatorBars span{width:.5rem;height:1rem;border-radius:999px;background:linear-gradient(180deg,var(--ums-brand-orange-100),var(--ums-primary));box-shadow:0 10px 24px #ef7f1a2e;animation:ums-loading-bounce .9s ease-in-out infinite;transform-origin:center bottom}.ums-loadingIndicatorBars span:nth-child(2){animation-delay:.12s}.ums-loadingIndicatorBars span:nth-child(3){animation-delay:.24s}.ums-loadingIndicatorLabel{margin:0;font-weight:700;letter-spacing:.02em}@keyframes ums-loading-bounce{0%,to{transform:scaleY(.9);opacity:.6}50%{transform:scaleY(1.8);opacity:1}}.staffLoginIntro{margin-bottom:.85rem}.staffLoginActions{margin-top:.25rem}.studentLoginIntro{margin-bottom:.85rem}.studentLoginActions{margin-top:.25rem}.formFieldError{color:var(--ums-status-error-border)}.ums-multi-choice{position:relative}.ums-multi-choice-trigger{width:100%;text-align:left;border:1px solid var(--ums-border-strong);border-radius:var(--ums-radius);padding:.55rem .65rem;min-height:2.25rem;background:var(--ums-white);color:var(--ums-text)}.ums-multi-choice-trigger:disabled{background:var(--ums-secondary-100);border-color:var(--ums-border);color:var(--ums-muted);cursor:not-allowed;opacity:1}.ums-multi-choice-panel{position:absolute;top:calc(100% + .25rem);left:0;right:0;z-index:20;border:1px solid var(--ums-border);border-radius:var(--ums-radius);background:var(--ums-white);box-shadow:var(--ums-shadow);padding:.5rem;max-height:14rem;overflow:auto;display:grid;gap:.4rem}.ums-multi-choice-option{display:flex;align-items:center;gap:.5rem;font-weight:500}@media(max-width:960px){.panelHeaderRow{align-items:flex-start;flex-direction:column}.rowList li{flex-direction:column}}.appFrame{min-height:100vh;display:flex;flex-direction:column}.ums-loadingOverlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:linear-gradient(135deg,#11111161,#1111112e),radial-gradient(circle at top,rgba(239,127,26,.18),transparent 46%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.ums-loadingOverlayCard{min-width:min(18rem,100%);padding:1.4rem 1.6rem;border-radius:calc(var(--ums-radius) * 1.5);background:#fffffff0;border:1px solid rgba(17,17,17,.08);box-shadow:0 24px 60px #11111129}.topHeader{min-height:68px;padding:.75rem 1.1rem .75rem 1.4rem;display:flex;align-items:center;justify-content:space-between;background:var(--ums-black);border-bottom:4px solid var(--ums-brand-orange-100);color:var(--ums-white);position:sticky;top:0;z-index:20}.appTitle{margin:0;font-family:var(--ums-font-display);font-size:1.3rem;letter-spacing:.03em;text-transform:uppercase}.topHeaderActions{display:inline-flex;align-items:center;gap:.75rem}.headerLanguageSwitcher{display:inline-flex;align-items:center;gap:.5rem}.bodyLayout{flex:1;display:flex;min-height:0}.sideMenu{width:250px;background:var(--ums-secondary-50);border-right:1px solid var(--ums-border);padding:.75rem;transition:width .18s ease;overflow:hidden}.sideMenu.collapsed{width:72px}.menuToggleButton{width:100%;margin-bottom:.75rem;background:var(--ums-secondary-action);color:var(--ums-secondary-action-contrast)}.menuNav{display:flex;flex-direction:column;gap:.35rem}.menuLink{text-decoration:none;color:var(--ums-text);border-radius:var(--ums-radius);padding:.55rem .65rem;display:flex;align-items:center;gap:.55rem;min-height:2.2rem;cursor:pointer;transition:background-color .12s ease,color .12s ease}.menuLinkIcon{flex:0 0 auto}.menuLink:hover{background:var(--ums-secondary-200)}.menuLink[aria-current=page]{background:var(--ums-brand-orange-100);color:var(--ums-black);font-weight:700}.sideMenu.collapsed .menuLinkLabel{display:none}.sideMenu.collapsed .menuLink{justify-content:center;padding:.55rem}.contentArea{flex:1;min-width:0;padding:1rem 1.15rem 1.5rem;background:var(--ums-white);display:flex;flex-direction:column;align-items:center}.contentArea>*{width:min(100%,1200px)}.appFooter{min-height:56px;padding:.75rem 1.15rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;border-top:1px solid var(--ums-border);background:var(--ums-surface-strong);color:var(--ums-text)}.appFooterLink{color:var(--ums-primary);font-weight:600;text-underline-offset:2px}.appFooterLink:hover{color:var(--ums-primary-hover)}@media(max-width:760px){.topHeader{padding:.75rem;height:auto;gap:.75rem;flex-wrap:wrap}.appTitle{font-size:1.1rem}.topHeaderActions{width:100%;justify-content:space-between}.sideMenu{width:210px}.sideMenu.collapsed{width:60px}.contentArea{padding:.8rem}.appFooter{flex-direction:column;align-items:flex-start}}
