@charset "UTF-8";:root{color:#17211d;background:#edf1ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #17211d;--muted: #63716b;--surface: #ffffff;--surface-soft: #f5f7f6;--line: #d7dfdb;--line-strong: #b9c5bf;--accent: #087f5b;--accent-strong: #066a4c;--amber: #b26400;--danger: #c43232;--shadow: 0 8px 24px rgba(23, 33, 29, .08)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{min-width:320px;background:#edf1ef}button,input,select,textarea{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(8,127,91,.22);outline-offset:2px}a{color:inherit;text-decoration:none}.main{min-height:100vh;background:#edf1ef}.app-header{position:sticky;z-index:100;top:0;height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 28px;color:#f8fbf9;background:#17211d;border-bottom:3px solid #e4a11b}.app-header__brand{display:flex;align-items:center;gap:12px;min-width:0}.app-header__brand img{width:40px;height:40px;object-fit:contain;filter:brightness(0) invert(1)}.app-header__brand span{display:grid;min-width:0}.app-header__brand strong{font-size:17px;line-height:1.2;font-weight:750}.app-header__brand small{color:#aebbb5;font-size:12px;line-height:1.4}.app-header__actions{min-width:0;display:flex;align-items:center;gap:10px}.nav{display:flex;align-items:center;gap:6px}.nav__element{min-width:116px;height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid transparent;border-radius:6px;color:#bdc8c3;font-size:14px;font-weight:650;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.nav__element svg{width:19px;height:19px}.nav__element:hover{color:#fff;background:#25332d}.nav__element.active{color:#fff;background:#087f5b;border-color:#25a87f}.account-menu{position:relative}.account-menu__trigger{min-width:42px;height:42px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;color:#bdc8c3;background:transparent;border:1px solid transparent;border-radius:6px;font-size:13px;font-weight:650;cursor:pointer}.account-menu__trigger:hover,.account-menu__trigger[aria-expanded=true]{color:#fff;background:#25332d;border-color:#3a4a43}.account-menu__trigger svg{width:20px;height:20px}.account-menu__panel{position:absolute;z-index:130;top:48px;right:0;width:220px;display:grid;gap:6px;padding:9px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 12px 28px #0c14103d}.account-menu__panel button{min-height:36px;display:flex;align-items:center;gap:8px;padding:7px 9px;color:var(--ink);background:transparent;border:0;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer;text-align:left}.account-menu__panel button:hover{color:var(--accent);background:#e8f4ef}.account-menu__panel button.is-danger:hover{color:var(--danger);background:#fbe9e9}.account-menu__panel button svg{width:17px;height:17px}.account-menu__identity{display:grid;gap:2px;padding:7px 9px 10px;border-bottom:1px solid var(--line)}.account-menu__identity strong{font-size:12px}.account-menu__identity span{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.app-workspace{width:100%;min-height:calc(100vh - 72px)}.page,.planer__container{width:100%;padding:24px 28px 32px}.page__heading{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.page__heading h1{margin:2px 0 0;color:var(--ink);font-size:27px;line-height:1.15;font-weight:760;letter-spacing:0}.page__eyebrow{margin:0;color:var(--accent);font-size:12px;font-weight:750;letter-spacing:0;text-transform:uppercase}.page__metric{min-width:138px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:var(--muted)}.page__metric strong{color:var(--ink);font-size:28px;line-height:1;font-weight:760}.page__metric span{max-width:72px;font-size:12px;line-height:1.2}.calendar{display:grid;grid-template-columns:minmax(760px,1fr) 260px;align-items:start;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.calendar__container{min-width:760px;display:grid;grid-template-columns:54px repeat(7,minmax(96px,1fr))}.calendar__container__day{min-width:0;border-right:1px solid var(--line)}.calendar__container__day__label{position:sticky;z-index:4;top:0;height:48px;display:flex;align-items:center;justify-content:center;color:var(--muted);background:#f5f7f6;border-bottom:1px solid var(--line-strong);font-size:12px;font-weight:750;text-transform:uppercase}.calendar__container__day:first-child .calendar__container__day__label:after{content:"Time"}.calendar__container__day__content{display:flex;flex-direction:column;background:var(--surface)}.calendar__container__day__content__hour{position:relative;flex:0 0 64px;min-height:64px;padding-top:5px;color:#7b8982;border-bottom:1px solid #e9eeeb;font-size:11px;text-align:center;transition:background-color .12s ease}.calendar__container__day__content__hour:hover{background:#eef7f3}.calendar__container__day__content__hour:after{content:"";position:absolute;top:50%;right:0;left:0;border-top:1px dashed #edf1ef;pointer-events:none}.calendar__container__day__content__hour__planned{position:absolute;z-index:2;left:3px;width:calc(100% - 6px);min-width:0!important;display:flex;flex-direction:column;justify-content:space-between;gap:4px;overflow:hidden;padding:7px;color:#fff;border:1px solid rgba(0,0,0,.12);border-radius:5px;box-shadow:0 3px 8px #17211d33;font-size:11px;line-height:1.25;text-align:left;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.calendar__container__day__content__hour__planned--comparison{z-index:3!important;opacity:.72;border:2px dashed rgba(255,255,255,.9);pointer-events:none}.calendar__container__day__content__hour__planned--skip{opacity:.62;border-style:dashed}.calendar__container__day__content__hour__planned--not{opacity:.48;border-style:dashed;filter:saturate(.45)}.calendar__container__day__content__hour__planned--dragging{z-index:20!important;opacity:.82;outline:2px solid rgba(255,255,255,.9);box-shadow:0 10px 24px #17211d52;cursor:grabbing;pointer-events:none}.calendar__container__day__content__hour__planned:hover{filter:saturate(1.08) brightness(.97);box-shadow:0 5px 14px #17211d3d}.calendar__container__day__content__hour__planned__label{display:-webkit-box;overflow:hidden;font-weight:700;-webkit-box-orient:vertical;-webkit-line-clamp:3}.calendar__container__day__content__hour__planned__time{width:100%;display:flex;justify-content:space-between;gap:4px;font-size:10px;white-space:nowrap}.calendar__container__day__content__hour__planned__option,.calendar__container__day__content__hour__planned__status{overflow:hidden;font-size:8px;font-weight:800;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.calendar__container__day__content__hour__planned__preview{width:max-content;max-width:100%;overflow:hidden;padding:3px 5px;color:var(--ink);background:#ffffffeb;border-radius:3px;font-size:8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.calendar__container__day__content__hour__planned__resizeTop,.calendar__container__day__content__hour__planned__resizeBottom{position:absolute;z-index:3;right:0;left:0;height:8px;cursor:ns-resize;touch-action:none}.calendar__container__day__content__hour__planned__resizeTop{top:0}.calendar__container__day__content__hour__planned__resizeBottom{bottom:0}.calendar__container__day__content__hour__closeIcon{position:absolute;top:3px;right:3px;width:22px;height:22px;display:grid;place-items:center;border-radius:4px;background:#141a1780}.calendar__container__day__content__hour__closeIcon svg{width:15px;height:15px}.calendar__container__day__content__hour__ufindIcon{position:absolute;z-index:2;top:3px;right:29px;width:22px;height:22px;display:grid;place-items:center;color:#fff;background:#141a1780;border-radius:4px}.calendar__container__day__content__hour__ufindIcon:hover{background:#141a17bf}.calendar__container__day__content__hour__ufindIcon svg{width:14px;height:14px}.calendar__infos{position:sticky;top:0;min-height:100%;display:flex;flex-direction:column;gap:22px;padding:18px;background:#f5f7f6}.calendar__infos__termList{width:100%;display:grid;gap:8px}.calendar__infos__termList .unicalendar__button,.calendar__infos__termList .unicalendar__button .ui-button{width:100%}.calendar__infos__options{display:grid;gap:9px}.calendar__infos__sectionLabel{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.calendar__infos__optionTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.calendar__infos__optionTabs button{min-width:0;min-height:38px;display:grid;place-content:center;gap:1px;padding:6px;color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:4px;font-size:10px;font-weight:750;cursor:pointer}.calendar__infos__optionTabs button:hover,.calendar__infos__optionTabs button.active{color:var(--accent);background:#e8f4ef;border-color:#8fc2ae}.calendar__infos__optionTabs button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar__infos__optionTabs button small{color:#8a5100;font-size:8px;text-transform:uppercase}.calendar__infos__compare{display:grid;gap:6px;padding:9px;background:#eef2f0;border-radius:5px}.calendar__infos__compare>span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.calendar__infos__compare>span svg{width:14px;height:14px}.calendar__infos__optionActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.calendar__infos__optionActions--draft{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar__infos__optionActions--draft>:first-child{grid-column:1/-1}.calendar__infos__optionActions .unicalendar__button,.calendar__infos__optionActions .unicalendar__button .ui-button{width:100%;min-width:0}.calendar__infos__optionRename{display:grid;gap:5px}.calendar__infos__optionRename>label{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.calendar__infos__optionRename>div{display:grid;grid-template-columns:minmax(0,1fr) 40px 40px;gap:5px}.calendar__infos__optionRename input{min-width:0;height:40px;padding:8px 10px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:5px}.calendar__infos__optionRename .unicalendar__button,.calendar__infos__optionRename .unicalendar__button .ui-button{width:40px;min-width:40px}.calendar__infos__infoContainer{display:grid;gap:8px}.calendar__infos__info{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;color:var(--muted);font-size:13px}.calendar__infos__info__color{width:9px;height:24px;flex:0 0 9px;border-radius:2px}.calendar__infos__info__label{font-weight:650}.calendar__infos__info__sum{font-variant-numeric:tabular-nums}.calendar__infos__info__sum--total{color:var(--ink);font-weight:800}.flex{display:flex}.flex--5{align-items:center;gap:7px}.work,.work-office{background-color:#7651a8}.work-homeoffice{background-color:#9b4d8f}.uni{background-color:#1479b8}.uni-skip{color:#fff;background:#7b8791}.uni-not{color:#fff;background:#be4b49}.private{background-color:#16805d}.total{background-color:#17211d}.capitalize{text-transform:capitalize}.unicalendar__input,.unicalendar__select{width:100%}.unicalendar__input label,.unicalendar__select label{display:block;margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:650}.unicalendar__input input:not([type=checkbox]):not([type=color]),.unicalendar__input select,.unicalendar__input .ui-input input,.unicalendar__select input:not([type=checkbox]):not([type=color]),.unicalendar__select select,.unicalendar__select .ui-input input{width:100%;min-height:42px;padding:9px 11px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:5px}.unicalendar__input--flex,.unicalendar__select--flex{display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-end;gap:8px}.unicalendar-select__control{min-height:42px!important;height:42px;color:var(--ink);background:var(--surface)!important;border-color:var(--line-strong)!important;border-radius:5px!important;box-shadow:none!important}.unicalendar__row>.unicalendar__input,.unicalendar__row>.unicalendar__select{align-self:flex-start}.unicalendar-select__control--is-focused{border-color:var(--accent)!important;box-shadow:0 0 0 2px #087f5b26!important}.unicalendar-select__value-container{height:40px;padding:0 11px!important}.unicalendar-select__indicators{height:40px}.unicalendar-select__input-container{margin:0!important;padding:0!important}.unicalendar__button{flex:0 0 auto;padding:0;background:transparent;border:0;cursor:pointer}.unicalendar__button .ui-button{width:auto;min-width:116px;min-height:40px;padding:8px 13px;border-radius:5px;font-size:14px}.unicalendar__button--onlyIcon .ui-button{width:40px;min-width:40px;padding:8px}.unicalendar__button--plain .ui-button{color:var(--ink);background:var(--surface);border:1px solid var(--line-strong)}@media(max-width:900px){.page,.planer__container{padding:20px 16px 92px}.calendar{display:flex;flex-direction:column-reverse}.calendar__container{width:100%}.calendar__infos{position:static;width:100%;min-height:0;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.calendar__infos__infoContainer{grid-column:1/-1;grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.app-header{height:60px;padding:0 16px}.app-header__brand small{display:none}.app-header__brand img{width:34px;height:34px}.app-workspace{min-height:calc(100vh - 60px)}.account-menu__trigger span{display:none}.account-menu__panel{position:fixed;top:56px;right:12px}.nav{position:fixed;z-index:110;right:0;bottom:0;left:0;height:70px;justify-content:stretch;gap:0;padding:7px 12px;background:#17211d;border-top:2px solid #e4a11b}.nav__element{flex:1;width:auto;min-width:0;height:54px;flex-direction:column;gap:2px;font-size:11px}.page__heading{align-items:flex-end}.page__heading h1{font-size:24px}.page__metric{display:none}.calendar__infos{grid-template-columns:1fr}.calendar__infos__infoContainer{grid-column:auto}}.unicalendar__modal{position:relative;width:min(620px,100vw - 32px);max-height:min(780px,100vh - 40px);overflow:auto;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 22px 60px #0c141047}.unicalendar__modal__container{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:#0f18149e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.unicalendar__modal__closeIcon{position:absolute;z-index:2;top:12px;right:12px;width:32px;height:32px;display:grid;place-items:center;color:var(--muted);background:var(--surface-soft);border-radius:5px;cursor:pointer}.unicalendar__modal__closeIcon:hover{color:#fff;background:var(--danger)}.unicalendar__modal__content{padding:26px}.unicalendar__modal__content h2,.unicalendar__modal__content h3{margin:0 44px 20px 0;font-weight:760}.unicalendar__modal__content form{display:grid;gap:14px}.unicalendar__modal__content--areYouSure{min-height:150px;display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px}.unicalendar__modal__content--areYouSure>:first-child{width:100%;align-self:flex-start;padding-right:36px;font-size:18px;font-weight:700}.unicalendar__modal__confirmationMessage{width:100%;margin-top:-12px;color:var(--muted);font-size:11px;line-height:1.45}.planner-course-picker{min-height:560px}.planner-course-picker--loading{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px}.planner-course-picker--loading svg{width:18px;height:18px}.planner-course-picker__heading{margin-bottom:18px}.planner-course-picker__heading>span{color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase}.planner-course-picker__heading h2{margin-bottom:0!important}.planner-course-picker .unicalendar__row,.planner-course-picker .unicalendar__select{width:100%}.planner-course-picker__review{display:grid;gap:10px;padding:14px;background:#f7f9f8;border:1px solid var(--line);border-radius:6px}.planner-course-picker__reviewTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.planner-course-picker__reviewTitle>div{display:grid;gap:2px}.planner-course-picker__reviewTitle strong{color:var(--ink);font-size:14px}.planner-course-picker__reviewTitle span{color:var(--muted);font-size:11px}.planner-course-picker__reviewTitle>span{flex:0 0 auto;font-weight:800}.planner-course-picker__badges{display:flex;flex-wrap:wrap;gap:4px}.planner-course-picker__badges span{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;color:#4f5e57;background:#e9eeeb;border-radius:4px;font-size:9px;font-weight:800;text-transform:uppercase;white-space:nowrap}.planner-course-picker__badges svg{width:11px;height:11px}.planner-course-picker__badges .is-focus{color:#285b78;background:#e5f0f6}.planner-course-picker__badges .is-extension{color:#62502a;background:#f3ecd9}.planner-course-picker__badges .is-gatekeeper{color:#805000;background:#fff0ce}.planner-course-picker__badges .is-met{color:#176341;background:#dff3e9}.planner-course-picker__badges .is-missing{color:#982f2f;background:#fbe3e3}.planner-course-picker__requirement{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;color:#176341;background:#edf7f2;border:1px solid #c5e3d5;border-radius:5px}.planner-course-picker__requirement>svg{width:17px;height:17px;flex:0 0 auto}.planner-course-picker__requirement>div{display:grid;gap:2px}.planner-course-picker__requirement strong{font-size:11px}.planner-course-picker__requirement span{color:var(--muted);font-size:10px;line-height:1.35}.planner-course-picker__requirement.is-missing{color:#982f2f;background:#fff3f3;border-color:#efcccc}.planner-course-picker__requirement.is-recommended{color:#805000;background:#fff8e9;border-color:#efd9a8}.planner-course-picker__requirement.is-loading{color:var(--muted);background:#f1f4f2;border-color:var(--line)}.planner-course-picker__termWarning{display:flex;align-items:center;gap:6px;color:#982f2f;font-size:10px;font-weight:750}.planner-course-picker__termWarning svg{width:15px;height:15px}.planner-transfer{display:grid;gap:14px}.planner-transfer__heading>span{color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase}.planner-transfer__heading h2{margin:2px 0 0!important}.planner-transfer__state,.planner-transfer__missing{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.planner-transfer__state svg,.planner-transfer__missing svg{width:17px;height:17px}.planner-transfer__state.is-error,.planner-transfer__missing.is-error{color:var(--danger)}.planner-transfer__state--empty{padding:12px;color:#805000;background:#fff8e9;border:1px solid #efd9a8;border-radius:5px}.planner-transfer__semesterChoice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.planner-transfer__semesterChoice>div{grid-column:1/-1;display:grid;gap:3px}.planner-transfer__semesterChoice>div strong{color:var(--ink);font-size:12px}.planner-transfer__semesterChoice>div span{color:var(--muted);font-size:10px}.planner-transfer__semesterChoice>button{min-height:58px;display:flex;align-items:center;gap:9px;padding:10px 12px;color:var(--ink);background:#f7f9f8;border:1px solid var(--line-strong);border-radius:5px;cursor:pointer;text-align:left}.planner-transfer__semesterChoice>button:hover{color:var(--accent);background:#edf6f2;border-color:#8dbdab}.planner-transfer__semesterChoice>button svg{width:19px;height:19px}.planner-transfer__semesterChoice>button span{display:grid;gap:1px}.planner-transfer__semesterChoice>button strong{font-size:12px}.planner-transfer__semesterChoice>button small{color:var(--muted);font-size:9px}.planner-transfer__changeSemester{width:max-content;padding:0;color:var(--accent);background:transparent;border:0;font-size:10px;font-weight:750;cursor:pointer}.planner-transfer__courses{min-height:0;max-height:min(58vh,580px);display:flex;flex-direction:column;align-items:stretch;gap:10px;overflow-y:auto;padding-right:3px;scrollbar-gutter:stable}.planner-transfer__courses>section{flex:0 0 auto;border:1px solid var(--line);border-radius:6px;overflow:hidden}.planner-transfer__courses section>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:11px 12px;background:#f4f7f5;border-bottom:1px solid var(--line)}.planner-transfer__courses section>header div{display:grid;gap:2px}.planner-transfer__courses section>header strong{color:var(--ink);font-size:12px}.planner-transfer__courses section>header span,.planner-transfer__courses section>header small{color:var(--muted);font-size:10px}.planner-transfer__courses section>.planner-transfer__missing{padding:12px}.planner-transfer__offering{display:grid;gap:8px;padding:11px 12px;border-bottom:1px solid var(--line)}.planner-transfer__offering:last-child{border-bottom:0}.planner-transfer__offering>div:first-child{display:flex;justify-content:space-between;gap:10px}.planner-transfer__offering>div:first-child strong{color:var(--ink);font-size:11px}.planner-transfer__offering>div:first-child small{color:var(--muted);font-size:9px}.planner-transfer__groups{display:grid;gap:6px}.planner-transfer__group{min-width:0;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;margin:0;padding:9px 10px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:5px;cursor:pointer}.planner-transfer__group:hover{background:#f3f8f5;border-color:#a9c9bb}.planner-transfer__group.is-selected{background:#edf7f2;border-color:#8dbdab}.planner-transfer__group>input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--accent);cursor:pointer}.planner-transfer__groupContent{min-width:0;display:grid;gap:5px}.planner-transfer__groupHeading{display:flex;align-items:center;justify-content:space-between;gap:10px}.planner-transfer__groupHeading strong{font-size:11px}.planner-transfer__groupHeading small{flex:0 0 auto;color:var(--muted);font-size:9px}.planner-transfer__groupTimes{display:flex;flex-wrap:wrap;gap:4px}.planner-transfer__groupTimes>span{padding:3px 6px;color:#285b78;background:#e5f0f6;border-radius:3px;font-size:9px;font-weight:750}.planner-transfer__groupTimes>.is-missing{color:#805000;background:#fff0ce}.planner-transfer__groupLecturers{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.planner-transfer__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.planner-transfer__footer>span{color:var(--muted);font-size:10px;font-weight:750}.planner-course-option{display:grid;gap:5px;padding:3px 1px}.planner-course-option__heading,.planner-course-option__meta{display:flex;justify-content:space-between;gap:10px}.planner-course-option__heading{color:var(--ink);font-size:11px}.planner-course-option__heading strong{min-width:0;white-space:normal}.planner-course-option__heading span{flex:0 0 auto;color:var(--muted);font-size:9px;font-weight:750}.planner-course-option__meta{justify-content:flex-start;color:var(--muted);font-size:9px}.planner-course-option__flags{display:flex;flex-wrap:wrap;gap:4px}.planner-course-option__flags span{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;color:#4f5e57;background:#e9eeeb;border-radius:4px;font-size:9px;font-weight:800;text-transform:uppercase;white-space:nowrap}.planner-course-option__flags svg{width:11px;height:11px}.planner-course-option__flags .is-focus{color:#285b78;background:#e5f0f6}.planner-course-option__flags .is-extension{color:#62502a;background:#f3ecd9}.planner-course-option__flags .is-gatekeeper{color:#805000;background:#fff0ce}.planner-course-option__flags .is-met{color:#176341;background:#dff3e9}.planner-course-option__flags .is-missing{color:#982f2f;background:#fbe3e3}.unicalendar-select__group{padding:0!important}.unicalendar-select__menu-list{padding-top:0!important;padding-bottom:0!important}.unicalendar-select__menu-portal{z-index:2000!important}.unicalendar-select__group-heading{position:sticky;z-index:2;top:0;margin:0!important;padding:8px 10px!important;color:var(--ink)!important;background:#edf2ef;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px!important;font-weight:850!important}.unicalendar-select__option{padding:7px 10px!important;border-bottom:1px solid #edf1ef}.unicalendar-select__option:has(.unicalendar-select__cluster-heading){padding:0!important;opacity:1!important;cursor:default!important}.unicalendar-select__cluster-heading{width:100%;display:block;padding:7px 10px 6px 18px;color:#285b78;background:#f2f7fa;border-top:1px solid #d7e5ed;border-bottom:1px solid #d7e5ed;font-size:9px;font-weight:850;text-transform:uppercase}@media(max-width:560px){.unicalendar__modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.unicalendar__modal__container{padding:10px}.unicalendar__modal__content{padding:22px 18px}}.calendar-appointment-editor{width:100%;min-width:0;box-sizing:border-box}.calendar-appointment-editor .unicalendar__form{gap:14px}.calendar-appointment-editor__typeRow,.calendar-appointment-editor__courseRow{width:100%;min-width:0;display:grid;align-items:end;gap:10px}.calendar-appointment-editor__typeRow>*,.calendar-appointment-editor__courseRow>*{min-width:0}.calendar-appointment-editor__typeRow{grid-template-columns:minmax(130px,180px) minmax(0,1fr)}.calendar-appointment-editor__courseRow{grid-template-columns:minmax(0,1fr) 92px}.calendar-appointment-editor__ects{display:flex;min-width:0;flex-direction:column}.calendar-appointment-editor__ects span{margin-bottom:5px;color:var(--muted);font-size:12px;font-weight:650}.calendar-appointment-editor__ects strong{display:flex;min-height:42px;align-items:center;padding:9px 11px;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface-subtle);font-variant-numeric:tabular-nums}.calendar-appointment-editor__state{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.calendar-appointment-editor__state svg{font-size:18px}.calendar-appointment-editor__state.is-error{color:var(--danger, #a83d3d)}.calendar-appointment-editor__state.is-loading{padding:11px 12px;color:#285b78;background:#edf5fd;border:1px solid #bdd5eb;border-radius:5px}.calendar-appointment-editor__state.is-loading>svg{flex:0 0 auto;animation:appointmentLoading 1.2s linear infinite}.calendar-appointment-editor__state.is-loading>div{display:grid;gap:2px}.calendar-appointment-editor__state.is-loading strong{color:#214d68;font-size:12px}.calendar-appointment-editor__state.is-loading span{color:#557382;font-size:10px;line-height:1.35}.calendar-appointment-editor__scope{display:grid;gap:7px;padding:10px;background:var(--surface-soft);border:1px solid var(--line);border-radius:5px}.calendar-appointment-editor__scope>span{color:var(--muted);font-size:11px;font-weight:650}.calendar-appointment-editor__scope>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.calendar-appointment-editor__scope button{min-height:36px;padding:7px 10px;color:var(--muted);background:var(--surface);border:1px solid var(--line-strong);border-radius:5px;font-size:11px;font-weight:750;cursor:pointer}.calendar-appointment-editor__scope button:hover{color:var(--accent);border-color:var(--accent)}.calendar-appointment-editor__scope button.active{color:#fff;background:var(--accent);border-color:var(--accent)}@keyframes appointmentLoading{to{transform:rotate(360deg)}}@media(max-width:560px){.calendar-appointment-editor__typeRow{grid-template-columns:1fr}.calendar-appointment-editor__courseRow{grid-template-columns:minmax(0,1fr) 78px}}.unicalendar__form{width:100%;display:grid;gap:14px;margin-top:8px}.unicalendar__form>form{display:grid;gap:14px}.unicalendar__form input[type=submit]{width:auto;min-width:120px;min-height:42px;padding:9px 16px;border:1px solid var(--accent-strong);border-radius:5px;background-color:var(--accent);color:#fff;font-size:14px;font-weight:700;cursor:pointer;transition:.3s}.unicalendar__form input[type=submit]:hover{background-color:var(--accent-strong)}.unicalendar__form.is-submit-disabled input[type=submit]{pointer-events:none;cursor:not-allowed;opacity:.55}.unicalendar__select>div{width:100%}.unicalendar__input,.unicalendar__select{display:flex;justify-content:left;align-items:flex-start;flex-direction:column;width:100%}.unicalendar__input label,.unicalendar__select label{margin-bottom:2px}.unicalendar__input input:not(.unicalendar__input input[type=checkbox],.unicalendar__input input[type=color],.unicalendar__input select[type=checkbox],.unicalendar__input select[type=color],.unicalendar__select input[type=checkbox],.unicalendar__select input[type=color],.unicalendar__select select[type=checkbox],.unicalendar__select select[type=color]),.unicalendar__input select:not(.unicalendar__input input[type=checkbox],.unicalendar__input input[type=color],.unicalendar__input select[type=checkbox],.unicalendar__input select[type=color],.unicalendar__select input[type=checkbox],.unicalendar__select input[type=color],.unicalendar__select select[type=checkbox],.unicalendar__select select[type=color]),.unicalendar__select input:not(.unicalendar__input input[type=checkbox],.unicalendar__input input[type=color],.unicalendar__input select[type=checkbox],.unicalendar__input select[type=color],.unicalendar__select input[type=checkbox],.unicalendar__select input[type=color],.unicalendar__select select[type=checkbox],.unicalendar__select select[type=color]),.unicalendar__select select:not(.unicalendar__input input[type=checkbox],.unicalendar__input input[type=color],.unicalendar__input select[type=checkbox],.unicalendar__input select[type=color],.unicalendar__select input[type=checkbox],.unicalendar__select input[type=color],.unicalendar__select select[type=checkbox],.unicalendar__select select[type=color]){border:1px solid lightgrey;padding:8px;box-sizing:border-box;border-radius:4px;width:100%}.unicalendar__input--flex,.unicalendar__select--flex{flex-direction:row-reverse;justify-content:left;align-items:center;gap:8px}.unicalendar__row{width:100%;display:flex;justify-content:left;align-items:center;gap:4px}.unicalendar__usedColors__container{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:4px;max-width:500px}.unicalendar__usedColors__element{width:40px;height:25px;border:3px solid transparent;border-radius:4px;cursor:pointer;transition:.3s}.unicalendar__usedColors__element:hover,.unicalendar__usedColors__element--selected{border:3px solid black;box-shadow:2px 2px 8px #000}.unicalendar__toast{width:min(420px,100vw - 32px);display:flex;flex-direction:column;gap:10px}.unicalendar__toast__container{position:fixed;z-index:2147483000;bottom:18px;right:18px;pointer-events:none}.unicalendar__toast__element{--toast-accent: #348565;--toast-soft: #edf7f2;position:relative;display:flex;flex-direction:column;gap:7px;width:100%;padding:15px 44px 15px 16px;box-sizing:border-box;overflow:hidden;pointer-events:auto;color:#1d2824;background:#fffffffa;border:1px solid #cfd9d5;border-left:5px solid var(--toast-accent);border-radius:6px;box-shadow:0 12px 32px #14201b33;animation:toastOpening .24s ease-out}.unicalendar__toast__element.is-error{--toast-accent: #b43b3b;--toast-soft: #fff0f0}.unicalendar__toast__element.is-info{--toast-accent: #306dac;--toast-soft: #edf5fd}.unicalendar__toast__element--closing{animation:toastClosing .28s ease-in forwards}.unicalendar__toast__element__close{position:absolute;top:8px;right:8px;width:30px;height:30px;display:grid;place-items:center;padding:0;cursor:pointer;color:#69736f;background:transparent;border:0;border-radius:4px}.unicalendar__toast__element__close svg{font-size:19px}.unicalendar__toast__element__close:hover{background:#f0f3f2;color:#222}.unicalendar__toast__element__header{display:flex;align-items:center;gap:8px;min-width:0;color:#26332e;font-size:16px}.unicalendar__toast__element__header__icon{width:27px;height:27px;display:grid;flex:0 0 27px;place-items:center;color:var(--toast-accent);background:var(--toast-soft);border-radius:50%}.unicalendar__toast__element__header__icon svg{font-size:19px}.unicalendar__toast__element__message{padding-left:35px;color:#65706c;font-size:14px;line-height:1.4;overflow-wrap:anywhere}@keyframes toastOpening{0%{transform:translate(28px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toastClosing{0%{transform:translate(0);opacity:1}to{transform:translate(28px);opacity:0}}@media(max-width:600px){.unicalendar__toast__container{bottom:10px;right:8px}.unicalendar__toast{width:calc(100vw - 16px)}}@media(prefers-reduced-motion:reduce){.unicalendar__toast__element,.unicalendar__toast__element--closing{animation-duration:.01ms}}.catalog{--catalog-green-soft: #e8f4ef;--catalog-blue: #276b91;--catalog-blue-soft: #eaf2f7}.catalog__heading{margin-bottom:14px}.catalog__metrics{display:flex;align-items:center;gap:22px}.catalog__metrics>div{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:7px;color:var(--muted);font-size:12px}.catalog__metrics strong{color:var(--ink);font-size:23px}.catalog__toolbar{position:sticky;z-index:20;top:72px;display:grid;grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px;min-height:64px;padding:10px 12px;background:#f5f7f6;border:1px solid var(--line);border-radius:7px 7px 0 0}.catalog__tabs{display:flex;gap:3px;padding:3px;background:#e5ebe8;border-radius:6px}.catalog__tabs button{height:36px;display:flex;align-items:center;gap:6px;padding:0 11px;color:var(--muted);background:transparent;border:0;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer}.catalog__tabs button svg{width:17px;height:17px}.catalog__tabs button:disabled{opacity:.42;cursor:not-allowed}.catalog__tabs button.active{color:var(--ink);background:var(--surface);box-shadow:0 1px 3px #17211d1f}.catalog__search{min-width:0;height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;background:var(--surface);border:1px solid var(--line-strong);border-radius:5px}.catalog__search svg{width:18px;height:18px;color:var(--muted)}.catalog__search input{width:100%;padding:0;border:0;outline:0;color:var(--ink);background:transparent}.catalog__apiControls{display:flex;align-items:center;gap:7px}.catalog__apiControls>input{width:78px;height:40px;padding:0 9px;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:5px;font-size:13px;font-weight:700;text-transform:uppercase}.catalog__surface{min-height:420px;background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0 0 7px 7px;box-shadow:var(--shadow)}.catalog__moduleList{width:100%}.catalog__studyGroup+.catalog__studyGroup{border-top:6px solid #edf1ef}.catalog__studyGroupHeader{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 16px;color:var(--muted);background:#f5f7f6;border-bottom:1px solid var(--line-strong)}.catalog__studyGroupHeader>div{display:grid;gap:2px}.catalog__studyGroupHeader>div>span{color:var(--accent);font-size:9px;font-weight:800;text-transform:uppercase}.catalog__studyGroupHeader h2{margin:0;color:var(--ink);font-size:16px}.catalog__studyGroupHeader>span{font-size:10px;font-weight:700;white-space:nowrap}.catalog__module{border-bottom:1px solid var(--line)}.catalog__module:last-child{border-bottom:0}.catalog__module>summary{position:relative;min-height:58px;display:grid;grid-template-columns:42px minmax(240px,1fr) auto 36px;align-items:center;gap:12px;padding:8px 14px 8px 28px;cursor:pointer;list-style:none;transition:background-color .13s ease}.catalog__module>summary::-webkit-details-marker{display:none}.catalog__module>summary:before{content:"›";position:absolute;left:12px;color:var(--muted);font-size:19px;transform:rotate(0)}.catalog__module>summary:hover{background:#f8faf9}.catalog__module>summary button{width:32px;height:32px;display:grid;place-items:center;padding:0;color:var(--muted);background:transparent;border:0;border-radius:4px;cursor:pointer}.catalog__module>summary button:hover{color:var(--accent);background:var(--catalog-green-soft)}.catalog__module>summary button svg{width:17px;height:17px}.catalog__module[open]>summary{background:#f5f7f6;border-bottom:1px solid var(--line)}.catalog__module[open]>summary:before{transform:rotate(90deg)}.catalog__module--api>summary{grid-template-columns:62px minmax(260px,1fr) auto auto}.catalog__moduleId{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.catalog__moduleTitle{min-width:0;display:grid;grid-template-columns:minmax(60px,auto) minmax(0,1fr);gap:10px;align-items:baseline;font-size:13px}.catalog__moduleTitle strong{color:var(--ink)}.catalog__moduleTitle a{display:inline-flex;align-items:center;gap:5px}.catalog__moduleTitle a:hover{color:var(--accent)}.catalog__moduleTitle a svg{width:13px;height:13px}.catalog__moduleTitle span{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.catalog__moduleCount{color:var(--muted);font-size:11px;white-space:nowrap}.catalog__moduleMeta,.catalog__apiMeta{display:flex;flex-wrap:wrap;gap:8px 22px;padding:10px 16px;color:var(--muted);background:#fbfcfb;border-bottom:1px solid var(--line);font-size:11px}.catalog__moduleMeta svg,.catalog__apiMeta svg{width:13px;height:13px;vertical-align:-2px}.catalog__apiMeta a{display:inline-flex;align-items:center;gap:5px;color:var(--catalog-blue);font-weight:700}.catalog__apiMeta>span{white-space:pre-line}.catalog__tableWrap{width:100%;overflow-x:auto}.catalog__table{width:100%;min-width:820px;border-collapse:collapse;font-size:12px}.catalog__table th{position:sticky;z-index:2;top:136px;height:35px;padding:7px 10px;color:var(--muted);background:#f5f7f6;border-bottom:1px solid var(--line-strong);font-size:10px;font-weight:800;text-align:left;text-transform:uppercase;white-space:nowrap}.catalog__table th svg{width:13px;height:13px;vertical-align:-2px}.catalog__table td{padding:9px 10px;color:var(--muted);border-bottom:1px solid #e8eeeb;vertical-align:top}.catalog__table tbody tr:last-child td{border-bottom:0}.catalog__table tbody tr:hover td{background:#fbfcfb}.catalog__table td strong{color:var(--ink)}.catalog__table--groups{min-width:900px}.catalog__table--groups th{position:static}.catalog__table--diff{min-width:1180px}.catalog__external{display:inline-flex;align-items:center;gap:4px}.catalog__external:hover{color:var(--accent)}.catalog__external svg{width:12px;height:12px}.catalog__subline{display:block;margin-top:2px;color:var(--muted);font-size:10px}.catalog__mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.catalog__flags{display:flex;flex-wrap:wrap;gap:4px}.catalog__courseFlags{display:inline-flex;flex-wrap:wrap;gap:4px;margin-top:4px}.catalog__flag,.catalog__status,.catalog__match{display:inline-flex;align-items:center;gap:3px;padding:3px 6px;color:#315d4d;background:var(--catalog-green-soft);border-radius:4px;font-size:9px;font-weight:800;text-transform:uppercase;white-space:nowrap}.catalog__flag svg{width:11px;height:11px}.catalog__flag--focus{color:#285b78;background:#e5f0f6}.catalog__flag--extension{color:#62502a;background:#f3ecd9}.catalog__flag--warning{color:#8a5100;background:#fff1d9}.catalog__actions{width:44px;text-align:right}.catalog__actions button{width:28px;height:28px;display:grid;place-items:center;padding:0;color:var(--muted);background:transparent;border:0;border-radius:4px;cursor:pointer}.catalog__actions button:hover{color:var(--accent);background:var(--catalog-green-soft)}.catalog__actions svg{width:16px;height:16px}.catalog__rowActions{display:flex;align-items:center;gap:5px;min-width:126px}.catalog__rowActions button{min-height:28px;display:inline-flex;align-items:center;gap:4px;padding:4px 7px;color:var(--catalog-blue);background:var(--surface);border:1px solid var(--line-strong);border-radius:4px;font-size:9px;font-weight:800;cursor:pointer}.catalog__rowActions button:hover{color:var(--accent);background:var(--catalog-green-soft);border-color:#9bc9b8}.catalog__rowActions svg{width:13px;height:13px}.catalog__apiCourses{display:grid}.catalog__apiCourse{border-bottom:1px solid #e8eeeb}.catalog__apiCourse:last-child{border-bottom:0}.catalog__apiCourse>summary{min-height:45px;display:grid;grid-template-columns:72px minmax(260px,1fr) 70px 58px auto;align-items:center;gap:10px;padding:7px 16px 7px 30px;color:var(--muted);font-size:11px;cursor:pointer;list-style:none}.catalog__apiCourse>summary::-webkit-details-marker{display:none}.catalog__apiCourse>summary:before{content:"+";position:absolute;margin-left:-17px;font-size:16px}.catalog__apiCourse>summary strong{color:var(--ink);font-size:12px}.catalog__apiCourse>summary strong a{display:inline-flex;align-items:center;gap:5px}.catalog__apiCourse>summary strong a:hover{color:var(--accent)}.catalog__apiCourse>summary strong a svg{width:12px;height:12px}.catalog__apiCourse>summary svg{width:14px;height:14px;vertical-align:-3px}.catalog__apiCourse[open]>summary{background:var(--catalog-blue-soft)}.catalog__apiCourse[open]>summary:before{content:"−"}.catalog__apiCourseName{min-width:0;display:grid;justify-items:start}.catalog__apiCourseBody{padding:0 16px 14px 30px;background:#f9fbfc}.catalog__apiCourseHeading{display:grid;gap:4px;padding:10px 0;color:var(--muted);font-size:11px}.catalog__import{min-height:29px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:5px 8px;color:var(--accent);background:var(--surface);border:1px solid #9bc9b8;border-radius:4px;font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.catalog__import:hover{background:var(--catalog-green-soft)}.catalog__import:disabled{opacity:.5;cursor:wait}.catalog__import svg,.catalog__imported svg{width:14px;height:14px}.catalog__imported{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-size:10px;font-weight:800;white-space:nowrap}.catalog__exams{border-top:1px solid var(--line)}.catalog__exams>summary{display:flex;align-items:center;gap:7px;min-height:42px;padding:7px 16px;color:var(--catalog-blue);background:#f4f8fa;font-size:11px;font-weight:800;cursor:pointer}.catalog__exams>summary svg{width:16px;height:16px}.catalog__diffSummary{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line)}.catalog__diffSummary button{min-height:64px;display:flex;align-items:baseline;justify-content:center;gap:7px;color:var(--muted);background:#fbfcfb;border:0;border-right:1px solid var(--line);cursor:pointer}.catalog__diffSummary button:last-child{border-right:0}.catalog__diffSummary button:hover,.catalog__diffSummary button.active{color:var(--accent);background:var(--catalog-green-soft)}.catalog__diffSummary span{color:var(--ink);font-size:21px;font-weight:800}.catalog__diffSummary small{font-size:10px;font-weight:800;text-transform:uppercase}.catalog__diffTable{max-height:calc(100vh - 305px);overflow:auto}.catalog__diffTable .catalog__table th{top:0}.catalog__diffGroup th{position:static!important;height:38px;padding:8px 10px!important;color:var(--ink)!important;background:#eaf0ed!important;font-size:12px!important;text-transform:none!important}.catalog__diffGroup th>span{margin-right:8px;color:var(--accent);font-size:8px;text-transform:uppercase}.catalog__diffGroup th>small{margin-left:8px;color:var(--muted);font-size:9px;font-weight:700}.catalog__status--added{color:#176341;background:#dff3e9}.catalog__status--changed{color:#805000;background:#fff0ce}.catalog__status--removed{color:#982f2f;background:#fbe3e3}.catalog__status--unchanged{color:#53615b;background:#e9eeeb}.catalog__empty,.catalog__loading{min-height:180px;display:grid;place-items:center;padding:28px;color:var(--muted);font-size:13px}.catalog__empty--compact{min-height:80px}.catalog__error{margin-bottom:8px;padding:10px 12px;color:#8e2f2f;background:#fdeaea;border:1px solid #efbcbc;border-radius:5px;font-size:12px}.catalog__sourceLine{padding:9px 2px;color:var(--muted);font-size:10px;text-align:right}.catalog__editorBackdrop{position:fixed;z-index:300;inset:0;display:flex;justify-content:flex-end;background:#111b176b}.catalog__editor{width:min(560px,100%);height:100%;display:flex;flex-direction:column;background:var(--surface);box-shadow:-12px 0 32px #17211d2e}.catalog__editor>header{min-height:76px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.catalog__editor>header span{color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase}.catalog__editor>header h2{margin:2px 0 0;font-size:20px}.catalog__editor>header button{width:36px;height:36px;display:grid;place-items:center;padding:0;color:var(--muted);background:#f3f6f4;border:0;border-radius:5px;cursor:pointer}.catalog__editor>footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--line)}.catalog__editorBody{flex:1;display:grid;align-content:start;gap:18px;overflow-y:auto;padding:18px}.catalog__formGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.catalog__formWide{grid-column:1/-1}.catalog__review{width:min(620px,100%)}.catalog__apiSource{padding:14px;background:#f4f8fa;border:1px solid #d8e5ec;border-radius:6px}.catalog__apiSource>div{display:grid;gap:3px}.catalog__apiSource>div span{color:var(--catalog-blue);font-size:9px;font-weight:800;text-transform:uppercase}.catalog__apiSource>div strong{color:var(--ink);font-size:15px}.catalog__apiSource dl{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 18px;margin:14px 0 0}.catalog__apiSource dl>div{min-width:0}.catalog__apiSource dt{color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.catalog__apiSource dd{margin:2px 0 0;color:var(--ink);font-size:11px;overflow-wrap:anywhere}.catalog__changeReview{display:grid;gap:6px;padding:12px 14px;color:#805000;background:#fff8e9;border:1px solid #efd9a8;border-radius:6px;font-size:11px}.catalog__changeReview strong{color:#684000;font-size:10px;text-transform:uppercase}.catalog__applyApi{min-height:34px;display:inline-flex;align-items:center;justify-self:start;gap:6px;padding:6px 10px;color:var(--catalog-blue);background:var(--catalog-blue-soft);border:1px solid #bdd4e1;border-radius:4px;font-size:10px;font-weight:800;cursor:pointer}.catalog__applyApi:hover{color:var(--accent);background:var(--catalog-green-soft);border-color:#9bc9b8}.catalog__applyApi svg{width:15px;height:15px}@media(max-width:1100px){.catalog__toolbar{grid-template-columns:1fr auto}.catalog__search{grid-column:1/-1;grid-row:2}}@media(max-width:760px){.catalog__heading{align-items:flex-start}.catalog__metrics{gap:10px;flex-wrap:wrap;justify-content:flex-end}.catalog__metrics>div{display:block;text-align:right}.catalog__metrics span{display:block}.catalog__toolbar{position:static;grid-template-columns:1fr}.catalog__tabs{overflow-x:auto}.catalog__tabs button{flex:1 0 auto}.catalog__search,.catalog__apiControls{grid-column:auto;grid-row:auto}.catalog__apiControls{flex-wrap:wrap}.catalog__module>summary{grid-template-columns:34px minmax(180px,1fr) 32px}.catalog__moduleCount{display:none}.catalog__module--api>summary{grid-template-columns:52px minmax(190px,1fr) auto}.catalog__module--api .catalog__moduleCount{display:none}.catalog__moduleTitle{display:block}.catalog__moduleTitle span{display:block;margin-top:2px}.catalog__apiCourse>summary{grid-template-columns:64px minmax(210px,1fr) 60px 48px;overflow-x:auto}.catalog__match{display:none}.catalog__diffSummary{grid-template-columns:repeat(5,minmax(72px,1fr));overflow-x:auto}.catalog__formGrid{grid-template-columns:1fr}.catalog__formWide{grid-column:auto}.catalog__apiSource dl{grid-template-columns:1fr}.catalog__rowActions span{display:none}.catalog__rowActions{min-width:66px}.catalog__studyGroupHeader{align-items:flex-start}.catalog__studyGroupHeader>span{white-space:normal;text-align:right}}.planer__container{min-height:calc(100vh - 72px)}.planer{width:100%;height:calc(100vh - 206px);min-height:480px;display:flex;flex-direction:column;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.plan-list{min-height:0;display:flex;flex:1;flex-direction:column}.plan-list__header{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;background:#f5f7f6;border-bottom:1px solid var(--line)}.plan-list__header>div{display:grid;gap:2px}.plan-list__header span{color:var(--accent);font-size:9px;font-weight:800;text-transform:uppercase}.plan-list__header h2{margin:0;color:var(--ink);font-size:18px}.plan-list__create{min-height:36px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:5px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.plan-list__create:hover{background:#176b50}.plan-list__create svg{width:17px;height:17px}.plan-list__tableWrap{min-height:0;flex:1;overflow:auto}.plan-list__table{width:100%;min-width:900px;border-collapse:collapse}.plan-list__table th{position:sticky;z-index:2;top:0;padding:10px 14px;color:var(--muted);background:#eef2f0;border-bottom:1px solid var(--line-strong);font-size:9px;font-weight:800;text-align:left;text-transform:uppercase}.plan-list__table th:last-child{text-align:right}.plan-list__table td{height:62px;padding:10px 14px;color:var(--muted);border-bottom:1px solid var(--line);font-size:11px;white-space:nowrap}.plan-list__table tbody tr{cursor:pointer}.plan-list__table tbody tr:hover{background:#f2f8f5}.plan-list__table td:first-child{width:30%;white-space:normal}.plan-list__table td strong{display:block;color:var(--ink);font-size:13px}.plan-list__table td small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.plan-list__actions{width:84px;display:flex;justify-content:flex-end;gap:4px}.plan-list__actions button{width:30px;height:30px;display:grid;place-items:center;padding:0;color:var(--muted);background:transparent;border:0;border-radius:4px;cursor:pointer}.plan-list__actions button:hover{color:var(--accent);background:#e2f1eb}.plan-list__actions button.is-danger:hover{color:var(--danger);background:#fbe9e9}.plan-list__actions button svg{width:16px;height:16px}.plan-list__empty{min-height:220px;display:grid;place-content:center;justify-items:center;gap:4px;color:var(--muted);font-size:12px}.plan-list__empty strong{color:var(--ink);font-size:15px}.planner-requirements-tooltip{display:grid;gap:8px;padding:3px 2px}.planner-requirements-tooltip>strong{font-size:12px}.planner-requirements-tooltip section{display:grid;gap:2px}.planner-requirements-tooltip section>span{color:#b9c8c0;font-size:9px;font-weight:800;text-transform:uppercase}.planner-requirements-tooltip section>div{max-width:330px;font-size:10px;line-height:1.35}.planner-requirements-popover{position:fixed;z-index:1500;width:max-content;max-width:min(360px,100vw - 24px);padding:10px 12px;color:#fff;background:#26312c;border:1px solid #435149;border-radius:5px;box-shadow:0 8px 22px #0c14104d;pointer-events:none}.planner-tooltip-trigger{display:inline-flex}.uniplaner__menu{position:sticky;z-index:10;top:0;flex:0 0 auto;min-height:78px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:14px 16px;background:#f5f7f6;border-bottom:1px solid var(--line)}.uniplaner__menu__left,.uniplaner__menu__right{display:flex;align-items:flex-end;gap:10px}.uniplaner__menu__left{flex:1;max-width:650px}.uniplaner__menu__right{justify-content:flex-end}.uniplaner__content{width:100%}.uniplaner__content__container{width:100%;min-height:0;flex:1 1 auto;overflow:auto}.uniplaner__content__semester{position:relative;min-width:780px;height:132px;display:flex;align-items:stretch;border-bottom:1px solid var(--line);background:#fff}.uniplaner__content__semester:nth-child(2n){background:#fafbfa}.uniplaner__content__semester__label{width:72px;flex:0 0 72px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding-bottom:10px;color:var(--muted);background:#eef2f0;border-right:1px solid var(--line-strong)}.uniplaner__content__semester__label__term{width:100%;padding:7px 4px;color:#fff;background:#3e5148;font-size:11px;font-weight:800;text-align:center}.uniplaner__content__semester__label__term span,.uniplaner__content__semester__label__term small{display:block}.uniplaner__content__semester__label__term small{margin-top:1px;color:#dce5e1;font-size:9px;font-weight:650}.uniplaner__content__semester__label__semester{color:var(--ink);font-size:24px;font-weight:760}.uniplaner__content__semester__label__toCalendar{padding:0;color:inherit;background:transparent;border:0;display:grid;place-items:center;cursor:pointer}.uniplaner__content__semester__label__toCalendar:hover{color:var(--accent)}.uniplaner__content__semester__label__toCalendar svg{width:18px;height:18px}.uniplaner__content__semester__courses{min-width:0;display:flex;align-items:center;gap:8px;overflow-x:auto;padding:11px;scrollbar-width:thin}.uniplaner__content__semester--paused{height:72px;min-height:72px;background:#f4f6f5}.uniplaner__content__semester--paused .uniplaner__content__semester__label{padding-bottom:4px;opacity:.72}.uniplaner__content__semester--paused .uniplaner__content__semester__label__semester{font-size:18px}.uniplaner__content__semester__pausedMessage{flex:1;display:flex;align-items:center;gap:9px;padding:0 18px;color:var(--muted);font-size:13px;font-weight:650}.uniplaner__content__semester__pausedMessage>svg{width:19px;height:19px}.uniplaner__content__semester__pausedMessage button{display:flex;align-items:center;gap:6px;margin-left:auto;padding:7px 10px;color:var(--accent);background:var(--surface);border:1px solid var(--line-strong);border-radius:5px;font-size:12px;font-weight:700;cursor:pointer}.uniplaner__content__semester__pausedMessage button:hover{background:#e8f4ef}.uniplaner__content__semester__pausedMessage button svg{width:16px;height:16px}.uniplaner__content__semester__course{position:relative;height:106px;max-width:300px!important;min-width:150px!important;display:flex;flex-direction:column;gap:3px;padding:12px 58px 28px 12px;color:var(--ink);background:#edf6f2;border:1px solid #a9cfc0;border-left:4px solid var(--accent);border-radius:6px}.uniplaner__content__semester__course--warning{background:#fff3e3;border-color:#e0b676;border-left-color:var(--amber)}.uniplaner__content__semester__course__deleteIcon{position:absolute;top:6px;right:6px;width:24px;height:24px;display:grid;place-items:center;color:var(--muted);border-radius:4px;cursor:pointer}.uniplaner__content__semester__course__deleteIcon:hover{color:#fff;background:var(--danger)}.uniplaner__content__semester__course__deleteIcon svg{width:16px;height:16px}.uniplaner__content__semester__course__ufindIcon{position:absolute;top:6px;right:32px;width:24px;height:24px;display:grid;place-items:center;color:var(--muted);border-radius:4px}.uniplaner__content__semester__course__ufindIcon:hover{color:var(--accent);background:#fff}.uniplaner__content__semester__course__ufindIcon svg{width:14px;height:14px}.uniplaner__content__semester__course__name{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.uniplaner__content__semester__course__name--short{display:flex;align-items:center;gap:5px;color:var(--ink);font-size:14px;font-weight:760;-webkit-line-clamp:1}.uniplaner__content__semester__course__courseType{flex:0 0 auto;padding:2px 4px;color:#285b78;background:#e5f0f6;border-radius:3px;font-size:8px;font-weight:850;line-height:1.2}.uniplaner__content__semester__course__infos{position:absolute;bottom:7px;color:var(--muted);font-size:10px;font-weight:750}.uniplaner__content__semester__course__infos--ects{right:10px}.uniplaner__content__semester__course__flags{position:absolute;bottom:5px;left:12px;display:flex;gap:3px;color:var(--accent)}.uniplaner__content__semester__course__flags span{width:18px;height:18px;display:grid;place-items:center;background:#ffffffb8;border:1px solid #b9d5ca;border-radius:3px}.uniplaner__content__semester__course__flags svg{width:11px;height:11px}.uniplaner__content__semester__course__flags .is-met{color:#176341;border-color:#9ed0b8}.uniplaner__content__semester__course__flags .is-missing{color:#982f2f;border-color:#e2aaaa}.uniplaner__content__semester__empty{min-width:72px;flex:1 0 72px;display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;transition:color .14s ease,background-color .14s ease}.uniplaner__content__semester__empty:hover{color:var(--accent);background:#eef7f3}.uniplaner__content__semester__empty--newSemester{min-width:780px;height:72px;border-bottom:1px solid var(--line)}.uniplaner__content__semester__empty--sumInfos{position:sticky;z-index:8;bottom:0;min-width:780px;min-height:92px;justify-content:space-between;padding:18px 24px;color:var(--ink);background:#f5f7f6;cursor:default}.uniplaner__content__semester__empty--sumInfos:hover{color:var(--ink);background:#f5f7f6}.uniplaner__content__semester__empty--sumInfos>div:first-child{font-size:17px;font-weight:750}.uniplaner__content__semester__empty--sumInfos>div:last-child{display:grid;gap:3px;color:var(--muted);font-size:12px;text-align:right}.uniplaner__content__semester__ects{width:74px;flex:0 0 74px;display:grid;place-items:center;color:var(--muted);border-left:1px solid var(--line);font-size:12px;font-weight:700}.uniplaner__content__semester__deleteSemester{position:absolute;top:5px;right:5px;z-index:3;width:24px;height:24px;display:grid;place-items:center;color:var(--muted);cursor:pointer}.uniplaner__content__semester__deleteSemester:hover{color:var(--danger)}.uniplaner__content__semester__deleteSemester svg{width:16px;height:16px}@media(max-width:900px){.planer{height:calc(100vh - 190px)}.uniplaner__menu{align-items:stretch;flex-direction:column}.uniplaner__menu__left{max-width:none}.uniplaner__menu__right{justify-content:flex-start}}@media(max-width:640px){.planer__container{min-height:calc(100vh - 60px)}.uniplaner__menu__left{display:grid;grid-template-columns:1fr 1fr}.uniplaner__menu__left>:first-child{grid-column:1/-1}}
