:root,:root[data-color-scheme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--app-fg:var(--app-text);--app-separator:var(--border);--tg-bg:var(--app-elevated);--tg-text:var(--app-text);--tg-hint:var(--app-hint);--tg-link:var(--app-link);--tg-button:var(--app-accent);--tg-button-text:var(--app-accent-fg);--tg-secondary-bg:var(--app-bg);--tg-header-bg:var(--app-bg);--tg-accent:var(--app-accent);--tg-section-bg:var(--app-surface);--tg-section-header:var(--app-hint);--tg-subtitle:var(--app-text-secondary);--tg-destructive:var(--app-danger);--text-hero:clamp(1.2rem, 4vw, 1.4rem);--text-title:clamp(1.15rem, 3.5vw, 1.35rem);--text-section:.8125rem;--text-body:.9375rem;--text-meta:.8125rem;--text-chip:.8125rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-body:1.65;--leading-title:1.35;--tracking-title:-.012em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-sheet:22px;--app-pad:var(--space-4);--app-ease:var(--ease-out,cubic-bezier(.22, 1, .36, 1));--scroll-margin-chrome:4.5rem;--app-nav-height:56px;--app-content-max:560px;--app-content-wide:760px;--tg-safe-top:0px;--tg-safe-bottom:0px;--tg-safe-left:0px;--tg-safe-right:0px;--safe-top:max(env(safe-area-inset-top,0px), var(--tg-safe-top));--safe-bottom:max(env(safe-area-inset-bottom,0px), var(--tg-safe-bottom));--safe-left:max(env(safe-area-inset-left,0px), var(--tg-safe-left));--safe-right:max(env(safe-area-inset-right,0px), var(--tg-safe-right));--tg-viewport-stable:100dvh;--keyboard-inset:0px;--app-host-top:max(var(--space-3), var(--safe-top));--app-content-top:var(--app-host-top);--app-toast-top:calc(var(--app-host-top) + var(--space-2));font-feature-settings:"ss01" on, "kern" on;background:var(--app-bg);color:var(--app-text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Estedad,Tahoma,system-ui,sans-serif}html.tg-webapp{--app-host-top:max(var(--safe-top), calc(var(--tg-viewport-safe-area-inset-top,0px) + var(--tg-viewport-content-safe-area-inset-top,0px)));--app-content-top:var(--app-host-top);--app-toast-top:calc(var(--app-host-top) + var(--space-3))}*{box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}html,body{min-height:var(--tg-viewport-stable);height:var(--tg-viewport-stable);direction:rtl;margin:0;overflow:hidden}body{background:var(--app-bg);color:var(--app-text)}button,input,select,textarea{font:inherit;font-feature-settings:"ss01" on, "kern" on;font-family:inherit}input::placeholder,textarea::placeholder{font-feature-settings:"ss01" on, "kern" on;font-family:inherit}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed}.app-shell{min-height:var(--tg-viewport-stable);height:var(--tg-viewport-stable);max-height:var(--tg-viewport-stable);flex-direction:column;display:flex;position:relative;overflow:hidden}.app-main{width:100%;min-height:0;max-width:var(--app-content-max);scrollbar-width:none;padding:calc(var(--app-content-top) + var(--space-2)) max(var(--app-pad), var(--safe-right)) calc(var(--app-nav-height) + var(--safe-bottom) + var(--space-4) + var(--keyboard-inset,0px)) max(var(--app-pad), var(--safe-left));flex-direction:column;flex:auto;margin-inline:auto;display:flex;overflow:clip auto}@keyframes screen-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.screen,.tg-skeleton__row,.tg-bottom-nav__item.is-active .tg-bottom-nav__icon,.need-row,.need-row.is-dragging,.need-priority-list--dragging .need-row:not(.is-dragging){will-change:auto;transition:none!important;animation:none!important}.need-row.is-dragging{box-shadow:none;transform:none}}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--app-pad) var(--space-3);z-index:1;flex-shrink:0;display:flex;position:relative;overflow:visible}.page-header__main{align-items:flex-start;gap:var(--space-2);flex:1;min-width:0;display:flex}.page-header__text{min-width:0}.page-header__back{width:2.75rem;height:2.75rem;border:1px solid color-mix(in srgb, var(--app-hint) 28%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--app-bg) 70%, var(--app-card));color:var(--app-text);cursor:pointer;flex-shrink:0;place-items:center;margin-inline-start:calc(var(--space-1) * -1);transition:background .15s,border-color .15s;display:grid}.page-header__back:active{background:color-mix(in srgb, var(--app-accent) 12%, var(--app-card));border-color:color-mix(in srgb, var(--app-accent) 35%, transparent)}.page-header__back-icon{font-size:var(--text-hero);font-weight:500;line-height:1;display:inline-block;transform:translateY(-.05rem)rotate(180deg)}.page-header__kicker{margin:0 0 var(--space-1);font-size:var(--text-chip);color:var(--app-text-secondary);font-weight:600}.page-header__title{font-size:var(--text-title);letter-spacing:-.01em;color:var(--app-text);overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.35;overflow:visible}.page-header__subtitle{margin:var(--space-1) 0 0;font-size:var(--text-meta);color:var(--app-text-secondary);overflow-wrap:anywhere;line-height:1.4}.page-header__icon-btn{border:1px solid var(--app-separator);border-radius:var(--radius-md);background:var(--app-surface);width:2.75rem;height:2.75rem;color:var(--app-accent);cursor:pointer;place-items:center;padding:0;display:grid}.page-header__icon-btn:active{filter:brightness(.96)}.page-header__toolbar{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.inbox-read-all-btn{min-height:2.75rem;padding:0 var(--space-3);border:1px solid var(--app-separator);background:var(--app-surface);color:var(--app-text-secondary);font-size:var(--text-chip);white-space:nowrap;cursor:pointer;box-sizing:border-box;border-radius:1rem;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.inbox-read-all-btn:active:not(:disabled){filter:brightness(.96)}.brand-logo{object-fit:contain;object-position:center;background:var(--brand-logo-bg);width:auto;max-width:7.5rem;height:2.85rem;padding:var(--space-1);box-sizing:content-box;box-shadow:0 0 0 1px color-mix(in srgb, var(--app-text) 8%, transparent);border-radius:10px;flex-shrink:0;display:block}.brand-logo--home{max-width:8rem;height:3rem;padding:var(--space-2)}.theme-toggle{border:1px solid color-mix(in srgb, var(--app-hint) 28%, transparent);border-radius:var(--radius-md);background:color-mix(in srgb, var(--app-bg) 70%, var(--app-card));width:2.75rem;height:2.75rem;color:var(--app-text);cursor:pointer;font-size:var(--text-body);flex-shrink:0;place-items:center;line-height:1;display:grid}.theme-toggle:active{background:color-mix(in srgb, var(--app-accent) 12%, var(--app-card))}.theme-toggle__icon{width:1.15rem;height:1.15rem;display:block}.home-greeting__aside{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.home-greeting__inbox{border:1px solid var(--app-separator);background:var(--app-surface);width:2.75rem;height:2.75rem;color:var(--app-accent);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid;position:relative}.home-greeting__inbox:active{filter:brightness(.96)}.home-greeting__inbox-badge{top:calc(var(--space-1) * -1);min-width:1.1rem;height:1.1rem;padding:0 var(--space-1);background:var(--app-danger);color:var(--app-danger-fg);font-size:var(--text-chip);font-weight:var(--font-weight-bold);box-shadow:0 0 0 2px var(--app-surface);border-radius:999px;place-items:center;line-height:1;display:grid;position:absolute;inset-inline-start:calc(var(--space-1) * -1)}.detail-title{margin:0 var(--app-pad) var(--space-3);font-size:var(--text-title);font-weight:700;line-height:1.3}.detail-body{margin:0 var(--app-pad) var(--space-4);line-height:1.65;font-size:var(--text-body);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.detail-dl{margin:0 var(--app-pad) var(--space-4);background:var(--app-surface);border-radius:var(--radius-md);overflow:hidden}.screen-hint{margin:0 var(--app-pad) var(--space-4);font-size:var(--text-meta);color:var(--app-hint);line-height:1.45}.inset-row{margin:0 var(--app-pad) var(--space-3)}.form-actions{gap:var(--space-2);display:grid}.form-actions--loose{gap:var(--space-4)}.detail-dl>div{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:.5px solid var(--app-separator);display:flex}.detail-dl>div:last-child{border-bottom:0}.detail-dl dt{color:var(--app-hint);font-size:var(--text-meta);flex-shrink:0}.presence-week{margin:0}.presence-legacy{margin:0 var(--app-pad) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--app-surface);font-size:var(--text-body);color:var(--app-text-secondary);line-height:1.5}.detail-dl dd{text-align:start;font-weight:600;font-size:var(--text-body);overflow-wrap:anywhere;min-width:0;max-width:68%;margin:0}.ltr-iso{overflow-wrap:anywhere;word-break:break-word;direction:ltr;unicode-bidi:isolate}.home-greeting{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--app-pad) var(--space-4);flex-shrink:0;display:flex;overflow:visible}.home-greeting__lead{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.home-greeting .page-header__back{margin-inline-end:0}.home-greeting__text{min-width:0}.home-greeting__hello{align-items:center;gap:var(--space-2);font-size:var(--text-title);color:var(--app-text);margin:0;font-weight:700;line-height:1.3;display:flex}.home-greeting__account{width:var(--tap-min,2.75rem);height:var(--tap-min,2.75rem);border:1px solid var(--app-separator);border-radius:var(--radius-sm);background:var(--app-surface);color:var(--app-accent);cursor:pointer;flex-shrink:0;place-items:center;padding:0;display:inline-grid}.home-greeting__account:active{filter:brightness(.96)}.home-greeting__account:focus-visible{box-shadow:var(--focus-ring,0 0 0 3px color-mix(in srgb, var(--app-focus) 40%, transparent));outline:none}.home-greeting__meta{margin:var(--space-1) 0 0;font-size:var(--text-meta);color:var(--app-text-secondary)}.inbox-hero{width:calc(100% - 2 * var(--app-pad));margin:0 var(--app-pad) var(--space-4);align-items:center;gap:var(--space-3);text-align:start;border-radius:var(--radius-md);padding:var(--space-4);background:var(--app-accent);min-height:4.75rem;color:var(--app-accent-fg);border:0;display:flex}.inbox-hero:active{filter:brightness(.94)}.inbox-hero--compact{min-height:4rem;padding:var(--space-3) var(--space-4);border:1px solid color-mix(in srgb, var(--app-accent) 24%, var(--app-separator));background:var(--app-surface);color:var(--app-text);box-shadow:none}.inbox-hero__icon{width:var(--tap-min,2.75rem);height:var(--tap-min,2.75rem);border-radius:var(--radius-icon);background:color-mix(in srgb, var(--app-accent-fg) 18%, transparent);color:var(--app-accent-fg);flex-shrink:0;place-items:center;display:grid;position:relative}.inbox-hero--compact .inbox-hero__icon{background:color-mix(in srgb, var(--app-accent) 12%, transparent);width:2.25rem;height:2.25rem;color:var(--app-accent)}.inbox-hero__badge{top:calc(var(--space-1) * -1);min-width:1.2rem;height:1.2rem;padding:0 var(--space-1);background:var(--app-danger);color:var(--app-danger-fg);font-size:var(--text-chip);box-shadow:0 0 0 2px var(--app-surface);border-radius:999px;place-items:center;font-weight:700;line-height:1;display:grid;position:absolute;inset-inline-start:calc(var(--space-1) * -1)}.inbox-hero__icon svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.3rem;height:1.3rem;margin:0 auto;display:block;transform:translateY(.06rem)}.inbox-hero__body{gap:var(--space-1);flex:1;min-width:0;display:grid}.home-primary-hint{margin:calc(var(--space-2) * -1) var(--app-pad) var(--space-3);color:var(--app-hint);font-size:var(--text-chip);text-align:center;line-height:1.4}.inbox-hero__title{font-size:var(--text-body);font-weight:700}.inbox-hero__hint{font-size:var(--text-chip);color:color-mix(in srgb, var(--app-accent-fg) 82%, transparent);line-height:1.4}.inbox-hero__chevron{color:color-mix(in srgb, var(--app-accent-fg) 88%, transparent);font-size:var(--text-title);transform:scaleX(-1)}.home-greeting__profile{min-width:3rem;min-height:3rem;color:inherit;background:0 0;border:0;place-items:center;padding:0;display:grid}.home-greeting__profile:focus-visible{box-shadow:var(--focus-ring,0 0 0 3px color-mix(in srgb, var(--app-focus) 40%, transparent));border-radius:50%;outline:none}.semester-card{margin:0 var(--app-pad) var(--space-4);padding:var(--space-4);background:var(--app-surface);border-radius:var(--radius-md);gap:var(--space-3);display:grid}.semester-card--action{width:100%;color:inherit;text-align:start;cursor:pointer;font:inherit;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--app-accent) 14%, transparent);transition:background .12s var(--app-ease), box-shadow .12s var(--app-ease);border:0}.semester-card--action:active{background:color-mix(in srgb, var(--app-accent) 8%, var(--app-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--app-accent) 26%, transparent)}.semester-card__hint{font-size:var(--text-chip);color:var(--app-accent);margin:0;font-weight:600}.semester-card__hint--left{text-align:left}.semester-card__row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.semester-card__status{flex-shrink:0;max-width:48%}.semester-card__label{font-size:var(--text-chip);color:var(--app-hint);margin:0;font-weight:600}.semester-card__value{font-size:var(--text-body);margin:0;font-weight:700}.semester-card__explain{font-size:var(--text-meta);color:var(--app-text-secondary);margin:0;line-height:1.45}.quick-actions{padding:0 var(--app-pad) var(--space-4);gap:0;display:grid}.home-menu-grid{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-menu-card--primary{border-color:color-mix(in srgb, var(--app-accent) 42%, var(--app-separator));background:color-mix(in srgb, var(--app-accent) 10%, var(--app-surface))}.quick-action{align-items:center;column-gap:var(--space-3);text-align:start;padding:var(--space-3) var(--space-2);border:0;border-bottom:1px solid var(--app-separator);background:var(--app-surface);color:inherit;min-height:3.75rem;transition:background .12s var(--app-ease), opacity .12s var(--app-ease);border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon label chevron""icon hint chevron";display:grid}.home-menu-grid .quick-action{border:1px solid var(--app-separator);border-radius:var(--radius-md);min-width:0;padding:var(--space-3)}.quick-action:active:not(:disabled){background:color-mix(in srgb, var(--app-accent) 8%, var(--app-surface))}.quick-action:disabled{opacity:.45}.quick-action__top{display:contents}.quick-action__icon{width:2rem;height:2rem;color:var(--app-accent);background:color-mix(in srgb, var(--app-accent) 12%, transparent);border-radius:10px;grid-area:icon;place-items:center;display:grid}.quick-action__icon svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.quick-action__chevron{color:var(--app-hint);font-size:var(--text-body);grid-area:chevron;line-height:1;transform:scaleX(-1)}.quick-action__label{font-size:var(--text-body);color:var(--app-text);grid-area:label;font-weight:700}.quick-action__hint{font-size:var(--text-chip);color:var(--app-text-secondary);grid-area:hint}.attention-banner{margin:0 var(--app-pad) var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:color-mix(in srgb, var(--app-warning) 12%, var(--app-surface));border-inline-start:3px solid var(--app-warning);font-size:var(--text-body);line-height:1.45}.attention-banner--info{background:color-mix(in srgb, var(--app-accent) 10%, var(--app-surface));border-inline-start-color:var(--app-accent)}.attention-banner--danger{background:color-mix(in srgb, var(--app-danger) 10%, var(--app-surface));border-inline-start-color:var(--app-danger)}.status-badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-chip);white-space:normal;text-align:center;overflow-wrap:anywhere;background:color-mix(in srgb, var(--tg-hint) 14%, transparent);max-width:100%;color:var(--app-text);border-radius:6px;font-weight:700;line-height:1.3;display:inline-flex}.status-badge--accent{background:color-mix(in srgb, var(--app-accent) 16%, transparent);color:var(--app-accent)}.status-badge--success{background:color-mix(in srgb, var(--app-success) 16%, transparent);color:var(--app-success)}.status-badge--warning{background:color-mix(in srgb, var(--app-warning) 18%, transparent);color:var(--app-warning)}.status-badge--danger{background:color-mix(in srgb, var(--app-danger) 14%, transparent);color:var(--app-danger)}.tg-section--flush{margin-top:0}.tg-section-header{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-2) var(--space-1) var(--space-2);z-index:0;display:flex;position:relative;overflow:visible}.tg-section-header h2{font-size:var(--text-chip);color:var(--app-text-secondary);margin:0;font-weight:700;line-height:1.45;overflow:visible}.tg-section-header__action{color:var(--app-link);font-size:var(--text-chip);background:0 0;border:0;padding:0;font-weight:600}.tg-section-header__action--icon.is-active{border-color:var(--app-accent);background:color-mix(in srgb, var(--app-accent) 12%, var(--app-surface));color:var(--app-accent)}.tg-section__list{background:var(--app-surface);border-radius:var(--radius-md);overflow:hidden}.tg-section__list>.tg-checkbox:last-child,.tg-section__list>.tg-section__check-row:last-child{border-bottom:0}.scope-checklist{gap:var(--space-3);margin:0 0 var(--space-4);flex-direction:column;display:flex}.form-actions+.scope-checklist,.form-actions+.tg-section{margin-top:var(--space-3)}.tg-cell{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3);border:0;border-bottom:.5px solid var(--app-separator);min-height:52px;color:inherit;text-align:start;background:0 0;display:flex}.history-card{padding:var(--space-3);background:var(--app-surface);border-bottom:.5px solid var(--app-separator)}.history-card:last-child{border-bottom:0}.history-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.history-card h3,.history-card p{margin:0}.history-card h3{font-size:var(--text-body)}.history-card p{margin-top:var(--space-1);color:var(--app-hint);font-size:var(--text-chip)}.history-card__timeline{margin:var(--space-3) 0 0;gap:0;padding:0;list-style:none;display:grid}.history-card__timeline li{gap:var(--space-1);min-width:0;min-height:3.1rem;color:var(--app-text-secondary);font-size:var(--text-chip);padding-block-end:var(--space-3);padding-inline-start:var(--space-5);display:grid;position:relative}.history-card__timeline li:before{content:"";inset-inline-start:.08rem;border:2px solid var(--app-hint);background:var(--app-surface);border-radius:50%;width:.58rem;height:.58rem;position:absolute;top:.3rem}.history-card__timeline li.is-current{color:var(--app-text);font-weight:700}.history-card__timeline li.is-current:before{border-color:var(--app-accent);background:var(--app-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--app-accent) 18%, transparent)}.history-card__timeline li:not(:last-child):after{content:"";inset-inline-start:.36rem;background:var(--app-separator);width:2px;position:absolute;top:1rem;bottom:0}.history-card__timeline time{color:var(--app-hint);text-align:start;direction:ltr;unicode-bidi:isolate}.tg-cell--interactive{cursor:pointer}.tg-cell--composite{cursor:default}.tg-cell__main{align-items:center;gap:inherit;min-width:0;color:inherit;font:inherit;text-align:start;cursor:pointer;min-height:inherit;background:0 0;border:0;flex:1;margin:0;padding:0;display:flex}.tg-cell__main:disabled{cursor:not-allowed}.tg-cell--interactive:hover{background:color-mix(in srgb, var(--app-accent) 5%, var(--app-surface))}.tg-cell--interactive:active{background:color-mix(in srgb, var(--tg-hint) 10%, transparent)}.tg-cell__leading{flex-shrink:0}.tg-cell__leading-icon{background:color-mix(in srgb, var(--tg-button) 12%, transparent);width:2rem;height:2rem;color:var(--tg-button);border-radius:.55rem;place-items:center;display:grid}.tg-cell__leading-icon svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:1.15rem;height:1.15rem}.tg-cell__body{flex:1;min-width:0}.tg-cell__title{font-size:var(--text-body);overflow-wrap:anywhere;font-weight:600;line-height:1.35}.tg-cell--strong .tg-cell__title{color:var(--app-text);font-weight:700}.tg-cell--muted{opacity:.62}.tg-cell--muted .tg-cell__title{font-weight:500}.tg-cell__title.is-destructive{color:var(--app-danger)}.tg-cell__subtitle{margin-top:var(--space-1);color:var(--app-text-secondary);font-size:var(--text-chip);overflow-wrap:anywhere;line-height:1.4}.tg-cell__meta{color:var(--app-hint);font-size:var(--text-chip);text-align:end;overflow-wrap:anywhere;word-break:break-word;unicode-bidi:isolate;max-width:42%;font-weight:600}.tg-cell__chevron{color:color-mix(in srgb, var(--tg-hint) 70%, transparent);font-size:var(--text-body);opacity:.7;line-height:1;transform:scaleX(-1)}.tg-notice{margin:0 var(--app-pad) var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--app-accent) 8%, var(--app-surface));color:var(--app-text-secondary);font-size:var(--text-body);z-index:0;line-height:1.5;position:relative}.tg-notice--warning{background:color-mix(in srgb, var(--app-warning) 12%, var(--app-surface))}.tg-notice--error{background:color-mix(in srgb, var(--app-danger) 10%, var(--app-surface));color:var(--app-danger)}.tg-notice--success{background:color-mix(in srgb, var(--app-success) 12%, var(--app-surface))}.connectivity-banner{top:0;z-index:90;padding:calc(var(--safe-top) + var(--space-2)) max(var(--app-pad), var(--safe-left)) var(--space-2) max(var(--app-pad), var(--safe-right));color:var(--app-text);border-bottom:1px solid var(--app-separator);font-size:var(--text-meta);text-align:center;font-weight:650;line-height:1.4;position:fixed;inset-inline:0}.connectivity-banner--offline{background:color-mix(in srgb, var(--app-danger) 18%, var(--app-surface))}.connectivity-banner--online{background:color-mix(in srgb, var(--app-success) 18%, var(--app-surface))}.offline-queue-status{top:calc(var(--safe-top) + 44px);inset-inline:var(--app-pad);z-index:89;width:min(calc(100% - 2 * var(--app-pad)), var(--app-content-max));padding:var(--space-3);border:1px solid var(--app-separator);border-radius:var(--radius-md);background:var(--app-elevated);box-shadow:var(--shadow-float);font-size:var(--text-meta);margin-inline:auto;position:fixed}.offline-queue-status__list{gap:var(--space-2);margin-top:var(--space-2);display:grid}.offline-queue-status__item{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.offline-queue-status__actions{gap:var(--space-2);flex:none;display:inline-flex}.offline-queue-status__actions button{color:var(--app-link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.tg-form .tg-notice,.field-group .tg-notice{margin:0}.app-toast-host{top:var(--app-toast-top);z-index:100;padding-inline:max(var(--space-4), var(--safe-left)) max(var(--space-4), var(--safe-right));pointer-events:none;justify-content:center;display:flex;position:fixed;inset-inline:0}.app-toast{pointer-events:auto;width:min(100%, var(--app-content-max));padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--app-elevated);color:var(--app-text);border:1px solid color-mix(in srgb, var(--app-hint) 32%, transparent);font-size:var(--text-body);text-align:start;box-shadow:var(--shadow-toast);touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform, opacity;transition:transform .24s var(--app-ease), opacity .24s var(--app-ease);direction:rtl;font-weight:650;line-height:1.45}.app-toast--enter{opacity:0;transform:translateY(-110%)}.app-toast--shown{opacity:1;transform:translateY(0)}.app-toast--exit{opacity:0;transform:translateY(-110%)}.app-toast--info{background:color-mix(in srgb, var(--app-accent) 92%, var(--app-bg));color:var(--app-accent-fg);border-color:#0000}.app-toast--success{background:color-mix(in srgb, var(--app-success) 88%, var(--app-bg));color:var(--app-success-fg);border-color:#0000}.app-toast--error{background:color-mix(in srgb, var(--app-danger) 88%, var(--app-bg));color:var(--app-danger-fg);border-color:#0000}.tg-search{padding:var(--space-1) 0 var(--space-2);z-index:1;background:0 0;position:relative;top:auto}.tg-search__control{width:100%;position:relative}.tg-search__input{scroll-margin-top:calc(max(var(--safe-top), env(safe-area-inset-top,0px)) + var(--scroll-margin-chrome));scroll-margin-bottom:calc(var(--keyboard-inset,0px) + var(--app-nav-height) + var(--safe-bottom) + var(--space-6));border-radius:var(--radius-sm);width:100%;padding:var(--space-3) var(--space-4);background:var(--app-control-bg);color:var(--app-text);min-height:44px;border:0;outline:none;padding-inline-end:var(--space-8)}.tg-search__input::-webkit-search-cancel-button{appearance:none}.tg-search__input::placeholder{color:var(--app-hint)}.tg-search__clear{inset-inline-end:var(--space-1);width:2.75rem;height:2.75rem;color:var(--app-hint);font-size:var(--text-title);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;line-height:1;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.tg-search__clear:hover,.tg-search__clear:active{background:color-mix(in srgb, var(--app-accent) 10%, transparent);color:var(--app-text)}.tg-search--launcher .tg-search__placeholder{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--app-control-bg);color:var(--app-hint);text-align:start;border:0;padding-inline-end:var(--space-8);line-height:1.4;display:block}.tg-search--launcher:active .tg-search__placeholder{filter:brightness(.98)}.search-status{margin:var(--space-1) 0 0;padding:0 var(--space-1);color:var(--app-hint);font-size:var(--text-chip);font-weight:600}.courses-recent{margin:0 var(--app-pad) var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--app-surface)}.courses-recent__header{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);color:var(--app-text-secondary);font-size:var(--text-chip);font-weight:700;display:flex}.courses-recent__clear{min-height:2.25rem;padding:var(--space-1) var(--space-2);color:var(--app-link);font:inherit;font-size:var(--text-chip);cursor:pointer;background:0 0;border:0;flex-shrink:0}.courses-recent__list{gap:var(--space-2);scrollbar-width:none;display:flex;overflow-x:auto}.courses-recent__list::-webkit-scrollbar{display:none}.courses-sticky{z-index:1;padding:0 0 var(--space-3);background:var(--app-bg);margin:0;position:relative;top:auto}.courses-search-sticky .tg-search{z-index:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0;position:static;top:auto}.courses-search-sticky .tg-search__input{background:var(--app-surface);box-shadow:var(--shadow-search);transition:box-shadow .22s var(--app-ease), background-color .22s var(--app-ease), border-color .22s var(--app-ease)}.courses-search-sticky.is-scrolled{background:color-mix(in srgb, var(--app-bg) 78%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sticky)}.courses-search-sticky.is-scrolled .tg-search__input{background:var(--app-surface);box-shadow:var(--shadow-sticky-strong)}@media (prefers-reduced-transparency:reduce){.courses-search-sticky.is-scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--app-bg)}}.courses-toolbar{padding-bottom:var(--space-1)}.courses-list-pane{min-height:12rem}.courses-trail{justify-content:center;align-items:center;gap:var(--space-1);margin:0 var(--app-pad) var(--space-3);color:var(--app-hint);font-size:var(--text-body);text-align:center;line-height:1.4;display:flex}.courses-trail__sep{color:var(--app-hint);font-weight:400}.courses-trail .is-active{color:var(--app-fg);font-weight:700}.courses-list-pane__context{margin:0 var(--app-pad) var(--space-3);color:var(--app-hint);font-size:var(--text-meta);line-height:1.45}.btn-soft-blue{width:calc(100% - (var(--app-pad) * 2));margin:0 var(--app-pad) var(--space-4);padding:0 var(--space-4);border:1px solid var(--button-secondary-border,var(--app-separator));border-radius:var(--radius-md);background:var(--button-secondary,var(--app-control-bg));color:var(--button-secondary-foreground,var(--app-accent));font:inherit;font-size:var(--text-body);height:auto;min-height:48px;max-height:none;padding-block:var(--space-3);box-sizing:border-box;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;font-weight:700;line-height:1.2;display:flex}.btn-soft-blue:active:not(:disabled){filter:brightness(.94)}.btn-soft-blue:disabled{opacity:.55}.courses-filter-bar{gap:var(--space-2);scrollbar-width:none;padding:var(--space-1) var(--app-pad) var(--space-2);display:flex;overflow-x:auto}.courses-filter-bar::-webkit-scrollbar{display:none}.courses-filter-toggle{padding:var(--space-2) var(--space-4);background:var(--app-surface);color:var(--app-text-secondary);font:inherit;font-size:var(--text-meta);white-space:nowrap;min-height:44px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tg-hint) 22%, transparent);border:0;border-radius:8px;flex:none;font-weight:650}.courses-filter-toggle.is-active{background:color-mix(in srgb, var(--app-accent) 14%, var(--app-surface));color:var(--app-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--app-accent) 28%, transparent)}.courses-weekday-panel{margin:0 var(--app-pad) var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--app-surface)}.courses-weekday-panel__title{margin:0 0 var(--space-2);font-size:var(--text-chip);color:var(--app-text-secondary);font-weight:650;line-height:1.4}.courses-filters{gap:var(--space-2);scrollbar-width:none;display:flex;overflow-x:auto}.courses-filters::-webkit-scrollbar{display:none}.mode-tabs{gap:var(--space-2);scrollbar-width:none;padding:0 var(--app-pad) var(--space-3);margin:0;display:flex;overflow-x:auto}.mode-tabs::-webkit-scrollbar{display:none}.courses-sticky>.mode-tabs,.courses-search-sticky>.mode-tabs{padding-bottom:var(--space-2)}.courses-filter-chip{padding:var(--space-2) var(--space-4);background:color-mix(in srgb, var(--tg-hint) 10%, var(--app-surface));color:var(--app-hint);white-space:nowrap;font-size:var(--text-chip);border:0;border-radius:8px;min-height:36px;font-weight:600}.courses-filter-chip.is-active{background:var(--app-accent);color:var(--app-accent-fg)}.courses-filter-chip--physical-left{margin-inline-start:auto}.courses-filter-chip--plus{min-width:2.35rem;padding-inline:var(--space-2);font-size:0;font-weight:700;line-height:1}.courses-hint{margin:var(--space-1) var(--app-pad) 0;color:var(--app-hint);font-size:var(--text-chip);line-height:1.4}.courses-pagination{gap:var(--space-2) var(--space-3);padding:var(--space-4) var(--app-pad) var(--space-2);grid-template-columns:1fr 1fr;align-items:center;display:grid}.courses-pagination>:first-child{grid-area:1/1;justify-self:start}.courses-pagination>:nth-child(2){text-align:center;grid-area:2/1/auto/-1;justify-self:center}.courses-pagination>:nth-child(3){grid-area:1/2;justify-self:end}.courses-pagination__meta{color:var(--app-hint);font-size:var(--text-chip);font-weight:600}.courses-pagination--load-more{align-items:stretch;gap:var(--space-3);padding:var(--space-5) 0 var(--space-4);flex-direction:column;display:flex}.courses-pagination--load-more .courses-pagination__meta{margin-top:var(--space-1);text-align:center}.limit-meter{margin:0 var(--app-pad) var(--space-3);font-size:var(--text-chip);color:var(--app-hint);min-height:1.25rem;font-weight:600}.tg-form .limit-meter,.field-group .limit-meter{margin:0}.course-detail-actions{gap:0;min-height:48px;display:grid}.course-detail-status{margin:0 var(--app-pad) var(--space-3);justify-content:flex-start;align-items:center;min-height:1.65rem;display:flex}.field-label-clear{gap:var(--space-1);font-size:var(--text-meta);font-weight:600;display:grid}.field-label-clear__row{justify-content:space-between;align-items:center;gap:var(--space-2);direction:rtl;display:flex}.field-label-clear__label{text-align:start;flex:1;min-width:0}.field-label-clear__btn{color:var(--app-link,var(--app-accent));font:inherit;font-size:var(--text-chip);min-height:2.75rem;padding:var(--space-2) var(--space-2);cursor:pointer;background:0 0;border:0;flex-shrink:0;font-weight:650;line-height:1.2}.field-label-clear__btn:disabled{opacity:.45;cursor:default}.field-label-clear__btn:active:not(:disabled){opacity:.75}.field-label-clear textarea,.field-label-clear input{box-sizing:border-box;width:100%;font-weight:400}.char-counter{font-size:var(--text-chip);color:var(--app-hint);text-align:end}.char-counter.is-near{color:var(--app-warning)}.char-counter.is-over{color:var(--app-danger)}.need-row{background:var(--app-surface);border-bottom:.5px solid var(--app-separator);touch-action:pan-y;contain:layout style;align-items:stretch;transition:opacity .14s;display:flex}.need-row.is-dragging{z-index:3;border:1px solid color-mix(in srgb, var(--app-accent) 28%, var(--app-separator));border-bottom-color:color-mix(in srgb, var(--app-accent) 28%, var(--app-separator));background:color-mix(in srgb, var(--app-accent) 10%, var(--app-surface));box-shadow:var(--shadow-drag);will-change:transform;border-radius:.9rem;transition:none;position:relative;transform:translateY(-2px)scale(1.015)}.need-row__body{gap:var(--space-1);min-width:0;padding:var(--space-3) var(--space-1);text-align:start;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;display:grid}.need-row__title{font-size:var(--text-body);color:var(--app-text);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.need-row__subtitle{font-size:var(--text-chip);color:var(--app-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.need-row__order-actions{flex-direction:column;flex-shrink:0;justify-content:center;width:2.5rem;display:flex}.need-row__order-actions button{width:100%;min-height:2.75rem;color:var(--app-accent);font-size:var(--text-body);background:0 0;border:0;line-height:1}.need-row__order-actions button:disabled{color:var(--app-hint);opacity:.4}.need-row__priority{width:1.75rem;font-size:var(--text-meta);color:var(--app-accent);flex-shrink:0;place-items:center;font-weight:700;display:grid}.need-row .tg-cell{border-bottom:0;flex:1;min-width:0}.tg-section__list>.tg-cell:last-child,.tg-section__list>.need-row:last-child .tg-cell{border-bottom:0}.need-row .tg-cell__title,.need-row .tg-cell__subtitle{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.need-row__remove{color:var(--app-danger);padding:0 var(--space-3);font-size:var(--text-chip);cursor:pointer;background:0 0;border:0;flex-shrink:0;font-weight:600}.requests-catalog-btn{width:100%;min-height:3rem;margin:0 0 var(--space-3);border:1px solid var(--app-accent);border-radius:var(--radius-md);background:var(--app-accent);color:var(--app-accent-fg);font:inherit;font-size:var(--text-body);cursor:pointer;justify-content:center;align-items:center;font-weight:700;display:flex}.import-stages{gap:var(--space-2);padding:var(--space-4);background:var(--app-surface);border-radius:var(--radius-md);margin:0 var(--app-pad) var(--space-4);display:grid}.import-stage{align-items:center;gap:var(--space-3);font-size:var(--text-body);color:var(--app-hint);display:flex}.import-stage.is-done{color:var(--app-success)}.import-stage.is-active{color:var(--app-text);font-weight:700}.import-stage.is-error{color:var(--app-danger)}.import-stage__mark{text-align:center;width:1.25rem;font-weight:700}.tg-bottom-nav{inset-inline:0;padding:var(--space-1) var(--safe-right) calc(var(--space-1) + var(--safe-bottom)) var(--safe-left);background:var(--tg-bottom-bar,var(--app-surface));border-top:.5px solid var(--app-separator);z-index:20;grid-template-columns:repeat(4,1fr);gap:0;max-width:none;display:grid;position:fixed;bottom:0}.tg-bottom-nav--student,.tg-bottom-nav--admin{grid-template-columns:repeat(4,1fr)}.tg-bottom-nav__item{color:var(--app-hint);padding:var(--space-2) var(--space-1);font-size:var(--text-chip);justify-items:center;gap:var(--space-1);min-height:48px;transition:color .12s var(--app-ease);background:0 0;border:0;font-weight:600;display:grid}.tg-bottom-nav--student .tg-bottom-nav__item,.tg-bottom-nav--admin .tg-bottom-nav__item{font-size:var(--text-chip)}.tg-bottom-nav__icon{place-items:center;width:1.4rem;height:1.4rem;display:grid}.tg-bottom-nav__icon svg{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.tg-bottom-nav__item.is-active{color:var(--app-accent)}.tg-bottom-nav__item.is-active .tg-bottom-nav__icon{animation:nav-pop .22s var(--app-ease)}@keyframes nav-pop{0%{transform:scale(.9)}60%{transform:scale(1.06)}to{transform:none}}.tg-avatar{background:var(--app-accent);width:2.25rem;height:2.25rem;color:var(--app-accent-fg);border:0;border-radius:50%;place-items:center;padding:0;display:grid;overflow:hidden}.tg-avatar img{object-fit:cover;width:100%;height:100%}.tg-avatar__initial{font-weight:700;font-size:var(--text-body)}.tg-avatar--interactive{cursor:pointer;min-width:var(--tap-min,2.75rem);min-height:var(--tap-min,2.75rem);width:var(--tap-min,2.75rem);height:var(--tap-min,2.75rem)}.tg-avatar--interactive:focus-visible,.tg-cell--interactive:focus-visible,.tg-cell__main:focus-visible,.quick-action:focus-visible,.home-menu-grid .quick-action:focus-visible,.inbox-hero:focus-visible,.semester-card--action:focus-visible,.tg-search--launcher:focus-visible .tg-search__placeholder,.page-header__back:focus-visible,.page-header__icon-btn:focus-visible,.theme-toggle:focus-visible,.home-greeting__inbox:focus-visible,.home-greeting__account:focus-visible,.home-greeting__profile:focus-visible,.tg-section-header__action--icon:focus-visible,.tg-text-action:focus-visible,.btn-soft-blue:focus-visible,.admin-doc-deliver:focus-visible{box-shadow:var(--focus-ring);outline:none}.tg-empty{padding:var(--space-8) var(--app-pad);text-align:center}.tg-section .tg-empty{padding-inline:var(--space-2)}.tg-empty__title{font-size:var(--text-body);margin:0;font-weight:700}.tg-empty__hint{margin:var(--space-2) 0 0;color:var(--app-hint);font-size:var(--text-body);line-height:1.5}.tg-empty__action{margin-top:var(--space-4);background:var(--app-accent);color:var(--app-accent-fg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:0;min-height:44px;font-weight:700}.tg-empty--error{color:var(--app-danger)}.tg-empty--error .tg-empty__hint{color:var(--app-text-secondary)}.tg-skeleton{padding:var(--space-2) var(--app-pad) var(--space-3);gap:var(--space-2);display:grid}.tg-skeleton__row{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--tg-hint) 13%, var(--app-surface));height:3.1rem;animation:1.4s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%{opacity:.62}to{opacity:1}}.tg-form{gap:var(--space-4);padding:0 var(--app-pad) var(--space-4);display:grid}.mct-filters{gap:var(--space-4);box-sizing:border-box;width:100%;max-width:100%;padding-bottom:var(--space-2);grid-template-columns:minmax(0,1fr)}.mct-filter-slider{gap:var(--space-2);width:100%;min-width:0;display:grid}.mct-filter-slider__header{justify-content:space-between;align-items:baseline;gap:var(--space-3);min-width:0;display:flex}.mct-filter-slider__label{font-size:var(--text-meta);color:var(--app-hint);font-weight:600}.mct-filter-slider__value{font-size:var(--text-chip);font-variant-numeric:tabular-nums;color:var(--app-text);flex-shrink:0;font-weight:700}.mct-filters .ui-slider{width:100%;min-width:0}.mct-filters__actions{width:100%}.field-group{gap:var(--space-3);padding:var(--space-4);background:var(--app-surface);border-radius:var(--radius-md);display:grid}.field-group__title{margin:0 0 calc(var(--space-1) * -1);font-size:var(--text-chip);color:var(--app-hint);font-weight:700}.tg-form label,.field-group label,.field-select-field{gap:var(--space-2);font-size:var(--text-meta);color:var(--app-hint);font-weight:600;display:grid}.field-hint{font-size:var(--text-chip);color:var(--app-hint);font-weight:500}.field-error{font-size:var(--text-chip);color:var(--app-danger);font-weight:600}.field-group:has(.field-select.is-open){z-index:5;position:relative}.field-select{position:relative}.field-select__trigger{justify-content:space-between;align-items:center;gap:var(--space-3);text-align:start;width:100%;font:inherit;cursor:pointer;appearance:none;margin:0;font-weight:600;display:flex}.field-select__trigger:disabled{cursor:not-allowed}.field-select__value{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.field-select__chevron{color:var(--app-hint);transition:transform .14s var(--app-ease);flex-shrink:0}.field-select.is-open .field-select__chevron{transform:rotate(180deg)}.field-select__menu{z-index:6;inset-inline:0;top:calc(100% + var(--space-1));padding:var(--space-1);border:1px solid var(--app-separator);border-radius:var(--radius-md);background:var(--app-elevated);box-shadow:var(--shadow-float), 0 0 0 1px color-mix(in srgb, var(--app-accent) 10%, transparent);margin:0;list-style:none;position:absolute}.field-select__option{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-3);border-radius:calc(var(--radius-sm) - 2px);color:var(--app-text);font:inherit;font-size:var(--text-body);text-align:start;cursor:pointer;background:0 0;border:0;margin:0;font-weight:600;line-height:1.3;display:flex}.field-select__option:hover,.field-select__option:focus-visible{background:color-mix(in srgb, var(--app-accent) 12%, transparent);outline:none}.field-select__check-spacer{flex-shrink:0;width:16px;height:16px}.tg-form input,.tg-form select,.tg-form textarea,.field-group input,.field-group select,.field-group textarea,.field-label-clear input,.field-label-clear textarea,.field-label-clear select,.field-select__trigger{scroll-margin-top:calc(max(var(--safe-top), env(safe-area-inset-top,0px)) + var(--scroll-margin-chrome));scroll-margin-bottom:calc(var(--keyboard-inset,0px) + var(--app-nav-height) + var(--safe-bottom) + var(--space-6));border:.5px solid var(--app-separator);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-3);background:var(--app-bg);color:var(--app-text);min-height:44px;transition:box-shadow .12s var(--app-ease);outline:none}.tg-form input:focus,.tg-form select:focus,.tg-form textarea:focus,.field-group input:focus,.field-group select:focus,.field-group textarea:focus,.field-label-clear input:focus,.field-label-clear textarea:focus,.field-label-clear select:focus,.field-select.is-open .field-select__trigger,.field-select__trigger:focus{box-shadow:0 0 0 2px color-mix(in srgb, var(--app-accent) 35%, transparent)}.tg-form input.is-invalid,.tg-form select.is-invalid,.tg-form textarea.is-invalid,.field-group input.is-invalid,.field-group select.is-invalid,.field-group textarea.is-invalid,[aria-invalid=true]{box-shadow:0 0 0 2px color-mix(in srgb, var(--app-danger) 40%, transparent)}.tg-form textarea,.field-group textarea{resize:vertical;min-height:4.5rem;font:inherit;line-height:1.55}.tg-checkbox{align-items:center;gap:var(--space-2);grid-template-columns:none;display:flex!important}.tg-section__list>.tg-checkbox,.tg-section__check-row{box-sizing:border-box;width:100%;min-height:var(--tap-min,2.75rem);padding:var(--space-3);gap:var(--space-3);border-bottom:.5px solid var(--app-separator);margin:0}.tg-checkbox input{width:1.05rem;height:1.05rem;accent-color:var(--app-accent);min-height:auto}.tg-text-action{width:calc(100% - 2 * var(--app-pad));margin:0 var(--app-pad) var(--space-3);border:1px solid var(--app-accent);background:var(--app-accent);color:var(--app-accent-fg);text-align:center;padding:0 var(--space-4);border-radius:var(--radius-md);font-weight:700;font-size:var(--text-body);height:auto;min-height:48px;max-height:none;padding-block:var(--space-3);box-sizing:border-box;white-space:normal;text-overflow:ellipsis;cursor:pointer;justify-content:center;align-items:center;line-height:1.2;display:flex;overflow:hidden}.course-detail-actions .tg-text-action{margin-bottom:var(--space-3)}.courses-pagination--load-more .tg-text-action{width:100%;min-width:0}.courses-pagination .tg-text-action{width:auto;min-width:5.75rem;padding-inline:var(--space-4);margin:0}.tg-text-action:active:not(:disabled){filter:brightness(.94)}.tg-form .tg-text-action,.field-group .tg-text-action,.form-actions .tg-text-action,.form-actions .btn-soft-blue{width:100%;margin:0}.tg-text-action--danger{border-color:var(--app-danger);background:var(--app-danger);color:var(--app-danger-fg)}.tg-text-action--danger:active:not(:disabled){filter:brightness(.94)}.tg-text-action:disabled{opacity:.55}.schedule-grid{gap:var(--space-2);display:grid}.schedule-row{gap:var(--space-2);grid-template-columns:4.5rem 1fr;align-items:center;display:grid}.schedule-row span{font-size:var(--text-chip);color:var(--app-hint);font-weight:600}.muted{color:var(--app-hint)}.muted.tiny{font-size:var(--text-meta)}.center{text-align:center}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root[data-color-scheme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-color-scheme=dark] .tg-bottom-nav{background:var(--tg-bottom-bar,var(--app-surface))}:root[data-color-scheme=high-contrast]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width>=640px){.app-main{max-width:var(--app-content-wide)}.home-greeting,.page-header{padding-inline:0}.home-greeting,.page-header,.mode-tabs,.semester-wheel,.inbox-hero,.semester-card,.attention-banner,.quick-actions,.tg-section,.tg-notice,.tg-empty,.tg-skeleton,.inset-row{max-width:none;margin-inline:0}}html.web-host{--web-content-width:var(--app-content-max)}html.web-host .app-main{--web-gutter:calc((100% - var(--web-content-width)) / 2);max-width:none;padding-inline:max(var(--app-pad), var(--safe-right), var(--web-gutter)) max(var(--app-pad), var(--safe-left), var(--web-gutter))}.web-login{width:100%;max-width:var(--app-content-max);min-width:0;margin-inline:auto}html.web-host .web-login{margin-block:auto}.web-login .home-greeting__hello,.web-login .home-greeting__meta{overflow-wrap:anywhere}.web-login .home-greeting__hello{flex-wrap:wrap}.web-login .mode-tabs{margin-bottom:var(--space-4)}.web-login .mode-tabs .courses-filter-chip{text-align:center;flex:1 1 0;justify-content:center;align-items:center;min-width:0;display:inline-flex}.web-login__telegram{gap:var(--space-2);margin-bottom:var(--space-4);min-width:0;display:grid}.web-login__telegram-btn{width:100%}.web-login__telegram-hint{font-size:var(--text-meta);color:var(--app-text-secondary);text-align:center;overflow-wrap:anywhere;margin:0}.web-login__divider{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--app-hint);font-size:var(--text-meta);min-width:0;display:flex}.web-login__divider:before,.web-login__divider:after{content:"";border-block-start:1px solid var(--app-separator);flex:1;min-width:0}.web-login__divider span{text-align:center;overflow-wrap:anywhere;flex-shrink:1;min-width:0}@media (width<=360px){.web-login .brand-logo--home{max-width:6.5rem;height:2.5rem}}@media (width>=640px){html.web-host{--web-content-width:var(--app-content-wide)}}@media (width>=760px){.quick-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr))}.quick-action{border:1px solid var(--app-separator);border-radius:var(--radius-md)}}@media (width<=360px){:root{--app-pad:var(--space-2)}.page-header__title,.home-greeting__hello{font-size:var(--text-body)}.tg-cell{gap:var(--space-2);padding-inline:var(--space-3)}.tg-cell__meta{max-width:36%;font-size:var(--text-chip)}.history-card__header{flex-direction:column;align-items:stretch}.detail-dl>div{align-items:stretch;gap:var(--space-1);flex-direction:column}.detail-dl dd{text-align:start;max-width:none}.tg-text-action,.btn-soft-blue{height:auto;min-height:48px;max-height:none;padding-block:var(--space-3)}.courses-pagination{grid-template-columns:1fr}.courses-pagination>:first-child,.courses-pagination>:nth-child(2),.courses-pagination>:nth-child(3){text-align:center;grid-area:auto/1;justify-self:stretch}}.file-pick{flex-direction:column;gap:8px;display:flex}.file-pick__label{color:var(--tg-text,var(--app-text));font-size:14px;font-weight:600}.file-pick__button{background:var(--tg-button,var(--app-accent));min-height:44px;color:var(--tg-button-text,var(--app-accent-fg));cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0 16px;font-size:15px;font-weight:600;display:inline-flex}.field-group .file-pick__button{color:var(--tg-button-text,var(--app-accent-fg));background:var(--tg-button,var(--app-accent))}.file-pick__button.is-disabled{opacity:.55;pointer-events:none}.file-pick__name{color:var(--tg-hint,var(--app-hint));word-break:break-word;margin:0;font-size:13px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.screen--curriculum-boards{box-sizing:border-box;flex-direction:column;flex:auto;align-self:stretch;width:100%;height:auto;min-height:0;max-height:none;padding-bottom:0;display:flex;overflow:hidden}.screen--curriculum-grade{box-sizing:border-box;flex-direction:column;flex:auto;align-self:stretch;width:100%;min-height:100%;padding-bottom:0;display:flex}.screen--curriculum-grade>.page-header{flex-shrink:0}.screen--curriculum-boards>.tg-section--flush{flex-direction:column;flex:auto;min-height:0;margin-bottom:0;display:flex}.curriculum-current-bar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-2);padding:0 var(--app-pad) var(--space-3);margin-top:calc(var(--space-2) * -1);display:flex;position:relative}.screen--curriculum-boards>.page-header,.screen--curriculum-boards>.curriculum-current-bar{flex-shrink:0}.curriculum-current-bar__text{min-width:0;color:var(--app-text-secondary);font-size:var(--text-meta);margin:0;font-weight:600;line-height:1.4}.curriculum-current-setter{z-index:5;flex-shrink:0;position:relative}.curriculum-current-setter__btn{justify-content:center;align-items:center;gap:var(--space-1);min-height:2.25rem;padding:var(--space-1) var(--space-3);border:1px solid color-mix(in srgb, var(--app-accent) 40%, var(--app-separator));border-radius:var(--radius-md);background:color-mix(in srgb, var(--app-accent) 10%, var(--app-surface));color:var(--app-accent);font:inherit;font-size:var(--text-meta);cursor:pointer;touch-action:manipulation;margin:0;font-weight:700;line-height:1.2;display:inline-flex}.curriculum-current-setter__btn.is-open,.curriculum-current-setter__btn:active:not(:disabled){background:color-mix(in srgb, var(--app-accent) 18%, var(--app-surface));border-color:color-mix(in srgb, var(--app-accent) 55%, var(--app-separator))}.curriculum-current-setter__btn:disabled{opacity:.45;cursor:default}.curriculum-current-setter__btn:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--app-accent) 35%, transparent);outline:none}.curriculum-current-setter__chevron{transition:transform .14s var(--app-ease,ease);flex-shrink:0}.curriculum-current-setter__btn.is-open .curriculum-current-setter__chevron{transform:rotate(180deg)}.curriculum-current-menu{inset-inline-end:0;top:calc(100% + var(--space-1));z-index:30;padding:var(--space-1);overscroll-behavior:contain;border:1px solid var(--app-separator);border-radius:var(--radius-md);background:var(--app-surface);min-width:9.5rem;max-height:min(18rem,55vh);box-shadow:var(--shadow-md), 0 0 0 1px color-mix(in srgb, var(--app-accent) 12%, transparent);-webkit-overflow-scrolling:touch;margin:0;list-style:none;position:absolute;overflow:hidden auto}.curriculum-current-menu__option{width:100%;padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);color:var(--app-text);font:inherit;font-size:var(--text-body);text-align:start;cursor:pointer;touch-action:manipulation;background:0 0;border:0;margin:0;font-weight:600;line-height:1.3;display:flex}.curriculum-current-menu__option:active{background:color-mix(in srgb, var(--app-accent) 12%, transparent)}.curriculum-current-menu__option.is-selected{background:color-mix(in srgb, var(--app-accent) 16%, transparent);color:var(--app-accent);font-weight:700}.curriculum-carousel{align-items:stretch;gap:var(--space-2);min-height:0;margin:0 calc(var(--app-pad) * -1);padding:0 4% var(--space-2);overscroll-behavior-x:contain;scroll-snap-type:none;-webkit-overflow-scrolling:touch;touch-action:none;scrollbar-width:none;cursor:grab;box-sizing:border-box;flex:auto;display:flex;overflow:auto hidden}.curriculum-carousel.is-dragging,.curriculum-carousel:active{cursor:grabbing}.curriculum-carousel::-webkit-scrollbar{display:none}.curriculum-carousel__slide{box-sizing:border-box;flex-direction:column;flex:0 0 92%;align-self:stretch;width:92%;min-width:16rem;max-width:92%;height:auto;min-height:0;display:flex}.curriculum-carousel>.curriculum-carousel__slide.curriculum-board{flex:0 0 92%;width:92%;min-width:16rem;max-width:92%}.curriculum-board{gap:var(--space-2);min-width:0;height:auto;min-height:0;padding:var(--space-3);border:1px solid var(--app-separator);border-radius:var(--radius-md);background:var(--app-surface);flex-direction:column;display:flex;overflow:hidden}.curriculum-board--current{border-color:color-mix(in srgb, var(--app-accent) 48%, var(--app-separator));background:color-mix(in srgb, var(--accent-soft) 70%, var(--app-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--app-accent) 18%, transparent)}.curriculum-board__header{flex-direction:column;flex-shrink:0;align-items:stretch;display:flex}.curriculum-board__heading{align-items:center;gap:var(--space-2);display:flex}.curriculum-board__title{font-size:var(--text-body);font-weight:var(--font-weight-bold);color:var(--app-text);margin:0;line-height:1.25}.curriculum-board--current .curriculum-board__title{color:var(--app-accent)}.curriculum-board__badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:var(--app-accent);color:var(--app-accent-fg);font-size:var(--text-chip);flex-shrink:0;font-weight:700;line-height:1.35}.curriculum-board__actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-shrink:0;margin-inline-start:auto;display:flex}.curriculum-board__add-icon{margin-inline-start:0}.curriculum-board__add-icon:disabled{opacity:.45;cursor:default}.curriculum-board__wipe{padding:var(--space-1) var(--space-1);color:var(--app-danger);font:inherit;font-size:var(--text-chip);white-space:nowrap;cursor:pointer;background:0 0;border:0;margin:0;font-weight:700;line-height:1.2}.curriculum-board__wipe:disabled{opacity:.45;cursor:default}.curriculum-board__wipe:active:not(:disabled){filter:brightness(.92)}.curriculum-board__empty{padding:var(--space-4) var(--space-2);color:var(--app-hint);font-size:var(--text-meta);text-align:center;margin:auto 0;font-weight:600;line-height:1.45}.curriculum-board__body{gap:var(--space-2);flex-direction:column;flex:auto;min-height:0;display:flex;position:relative;overflow:hidden}.curriculum-board__list{gap:var(--space-2);flex-direction:column;flex:auto;min-height:0;margin:0;padding:0;list-style:none;display:flex;position:relative;overflow:hidden}.curriculum-board__row{flex-shrink:0;min-width:0;display:block}.curriculum-board__row--probe{visibility:hidden;pointer-events:none;height:auto;position:absolute}.curriculum-board__course{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-3);border:1px solid var(--app-separator);border-radius:var(--radius-sm);background:var(--app-bg);text-align:start;cursor:pointer;touch-action:manipulation;grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}.curriculum-board__course--none{background:var(--surface,var(--app-surface));border:1px solid var(--app-separator);color:var(--app-text)}:root[data-color-scheme=dark] .curriculum-board__course--none,:root[data-color-scheme=high-contrast] .curriculum-board__course--none{background:color-mix(in srgb, var(--app-surface) 88%, var(--app-bg))}.curriculum-board__course--pass{background:var(--success-soft);border:1px solid var(--success-border);color:var(--app-success)}.curriculum-board__course--fail{background:var(--destructive-soft);border:1px solid var(--destructive-border);color:var(--app-danger)}.curriculum-board__course-name{-webkit-line-clamp:2;color:inherit;font-size:var(--text-meta);-webkit-box-orient:vertical;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.curriculum-board__course-grade{min-width:2.25rem;color:inherit;font-size:var(--text-body);font-weight:var(--font-weight-bold);text-align:end;font-variant-numeric:tabular-nums;direction:ltr;flex-shrink:0;line-height:1.2}.curriculum-board__course--fail .curriculum-board__course-grade{color:var(--app-danger)}.curriculum-board__course--pass .curriculum-board__course-grade{color:var(--app-success)}.curriculum-board__course--none .curriculum-board__course-grade{color:var(--app-hint)}.curriculum-board__expand{width:100%;padding:var(--space-3) var(--space-3);border-radius:var(--radius-sm);color:var(--app-accent);font-size:var(--text-meta);cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;margin:0;font-weight:700;line-height:1.35;display:flex}.curriculum-board__expand--probe{visibility:hidden;pointer-events:none;position:absolute}.curriculum-board__expand:active:not(:disabled){filter:brightness(.96)}.curriculum-board__expand:disabled{opacity:.45}.curriculum-term-full__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.curriculum-term-full__list>li{min-width:0}.curriculum-term-full__course{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-3);border:1px solid var(--app-separator);border-radius:var(--radius-sm);background:var(--app-bg);text-align:start;cursor:pointer;touch-action:manipulation;grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}@media (width>=480px){.curriculum-carousel{padding-inline:6%}.curriculum-carousel__slide,.curriculum-carousel>.curriculum-carousel__slide.curriculum-board{flex:0 0 88%;width:88%;max-width:88%}}.curriculum-course-form{flex-direction:column;flex:auto;gap:0;min-height:0;display:flex}.screen--curriculum-grade>.curriculum-course-form{flex-direction:column;flex:auto;min-height:0;display:flex}.curriculum-course-form__body{gap:var(--space-4);padding-top:var(--space-1);flex:0 auto;align-content:start;display:grid}.curriculum-course-form__grade{gap:var(--space-2);margin:0;display:grid}.curriculum-course-form__footer{z-index:1;padding:var(--space-4) 0 var(--space-2);background:var(--app-bg);flex-shrink:0;margin-top:auto;position:relative}.curriculum-course-form__action{width:100%;margin:0}.curriculum-course-detail{gap:var(--space-3);margin:0;padding:0;display:grid}.curriculum-course-detail__term{color:var(--app-accent);font-size:var(--text-chip);font-weight:var(--font-weight-bold);letter-spacing:.01em;margin:0}.curriculum-course-detail__name{color:var(--app-text);font-size:var(--text-title);font-weight:var(--font-weight-bold);line-height:var(--leading-title);letter-spacing:var(--tracking-title);overflow-wrap:anywhere;margin:0}.curriculum-course-detail__facts{border:1px solid var(--app-separator);border-radius:var(--radius-md);background:var(--app-surface);margin:0;overflow:hidden}.curriculum-course-detail__facts>div{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:1px solid var(--app-separator);display:flex}.curriculum-course-detail__facts>div:last-child{border-bottom:0}.curriculum-course-detail__facts dt{color:var(--app-hint);font-size:var(--text-chip);flex-shrink:0;margin:0;font-weight:650}.curriculum-course-detail__facts dd{min-width:0;max-width:68%;color:var(--app-text);font-size:var(--text-body);font-weight:var(--font-weight-bold);text-align:start;overflow-wrap:anywhere;margin:0}.curriculum-course-detail__grade-panel{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--app-separator);border-radius:var(--radius-md);background:var(--app-surface);display:grid}.curriculum-course-detail__grade-heading{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.curriculum-course-detail__grade-heading>span{color:var(--app-text);font-size:var(--text-body);font-weight:var(--font-weight-bold)}.curriculum-course-detail__grade-heading>em{color:var(--app-hint);font-size:var(--text-chip);font-style:normal;font-weight:600}.curriculum-course-detail__grade-panel input{min-height:3.1rem;font-size:var(--text-title);text-align:center;letter-spacing:.02em;font-weight:700}.curriculum-course-detail__requisites{gap:var(--space-2);display:grid}.curriculum-course-detail__requisites-title{color:var(--app-text);font-size:var(--text-body);font-weight:var(--font-weight-bold);margin:0}.curriculum-course-detail__requisites-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.curriculum-course-detail__requisite{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--app-separator);border-radius:var(--radius-sm);background:var(--app-surface);display:flex}.curriculum-course-detail__requisite-name{min-width:0;color:var(--app-text);font-size:var(--text-meta);overflow-wrap:anywhere;font-weight:700;line-height:1.45}.curriculum-course-detail__requisite-grade{color:var(--app-text-secondary);font-size:var(--text-meta);white-space:nowrap;flex-shrink:0;font-weight:700}.curriculum-course-fields{gap:var(--space-2);margin-bottom:var(--space-3);padding:var(--space-3);border:1px solid var(--app-separator);border-radius:var(--radius-md);background:var(--app-bg);display:grid}.curriculum-course-fields>div{gap:var(--space-1);display:grid}.curriculum-course-fields span{color:var(--app-hint);font-size:var(--text-chip);font-weight:600}.curriculum-course-fields strong{color:var(--app-text);font-size:var(--text-body);word-break:break-word;font-weight:600;line-height:1.4}.curriculum-course-fields__prereq{padding:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--app-separator)}.curriculum-course-fields__prereq em{margin-top:var(--space-1);font-style:normal;font-size:var(--text-chip);font-weight:600;display:block}.curriculum-course-fields__prereq--met{border-color:var(--success-border);background:var(--success-soft)}.curriculum-course-fields__prereq--met strong,.curriculum-course-fields__prereq--met em{color:var(--app-success)}.curriculum-course-fields__prereq--missing{border-color:var(--destructive-border);background:var(--destructive-soft)}.curriculum-course-fields__prereq--missing strong,.curriculum-course-fields__prereq--missing em{color:var(--app-danger)}.curriculum-prereq-chip{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-chip);white-space:nowrap;align-items:center;font-weight:700;line-height:1.3;display:inline-flex}.curriculum-prereq-chip--met{color:var(--app-success);background:var(--success-soft);border:1px solid var(--success-border)}.curriculum-prereq-chip--missing{color:var(--app-danger);background:var(--destructive-soft);border:1px solid var(--destructive-border)}.info-sheet-root{z-index:95;pointer-events:none;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.info-sheet__backdrop{background:color-mix(in srgb, var(--scrim) 48%, transparent);cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;border:0;margin:0;padding:0;position:absolute;inset:0}.info-sheet{z-index:1;width:min(100%, var(--app-content-max,40rem));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--app-card,var(--surface));max-height:min(70dvh,70vh);color:var(--app-text,var(--foreground));box-shadow:var(--shadow-float);pointer-events:auto;padding-bottom:max(var(--space-4,var(--space-4)), var(--safe-bottom));padding-inline:max(var(--space-4,var(--space-4)), var(--safe-left)) max(var(--space-4,var(--space-4)), var(--safe-right));flex-direction:column;margin-inline:auto;display:flex;position:relative}.info-sheet__chrome{padding-top:var(--space-3);flex-shrink:0}.info-sheet__header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.info-sheet__title{font-size:var(--text-body);font-weight:var(--font-weight-bold);margin:0;line-height:1.3}.info-sheet__body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding-bottom:var(--space-1);flex:auto;overflow:hidden auto}.info-sheet__section+.info-sheet__section{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid color-mix(in srgb, var(--app-hint,var(--border)) 35%, transparent)}.info-sheet__section-title{margin:0 0 var(--space-2);font-size:var(--text-meta);font-weight:var(--font-weight-bold);color:var(--app-accent,var(--accent))}.info-sheet__section-body{font-size:var(--text-body);color:var(--app-text-secondary,var(--muted-foreground));overflow-wrap:anywhere;margin:0;line-height:1.65}.info-sheet__section-body p{margin:0 0 var(--space-2)}.info-sheet__section-body p:last-child{margin-bottom:0}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.75rem;--radius-md:1rem;--radius-lg:1.25rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"Estedad", "Tahoma", system-ui, sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root,:root[data-color-scheme=light]{--brand-50:#f0f9fa;--brand-100:#d9f0f3;--brand-200:#b8e1e6;--brand-300:#83cad2;--brand-400:#4dadba;--brand-500:#268d9c;--brand-600:#176b7a;--brand-700:#145766;--brand-800:#134854;--brand-900:#123d47;--background:#f6f8f9;--surface:#fff;--surface-raised:#fff;--foreground:#172126;--secondary-foreground:#3f4d54;--muted:#eef2f3;--muted-foreground:#64747c;--primary:#176b7a;--primary-foreground:#fff;--accent:#14798a;--accent-foreground:#fff;--accent-soft:#e7f5f7;--info:#176b7a;--info-foreground:#fff;--info-soft:#e7f5f7;--info-border:#aadce2;--link:#145766;--success:#067647;--success-foreground:#fff;--success-soft:#ecfdf3;--success-border:#a6f4c5;--warning:#9a5b00;--warning-foreground:#fff;--warning-soft:#fffaeb;--warning-border:#fedf89;--destructive:#b42318;--destructive-foreground:#fff;--destructive-soft:#fef3f2;--destructive-border:#fecdca;--button-secondary:var(--accent-soft);--button-secondary-foreground:var(--primary);--button-secondary-border:var(--info-border);--border:#dde4e7;--border-strong:#c7d1d5;--divider:#e8edef;--disabled:#e9eef0;--disabled-foreground:#5a666c;--ring:#268d9c;--focus-ring:0 0 0 3px var(--ring)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--focus-ring:0 0 0 3px color-mix(in srgb, var(--ring) 40%, transparent)}}:root,:root[data-color-scheme=light]{--focus-ring-error:0 0 0 3px var(--destructive)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--focus-ring-error:0 0 0 3px color-mix(in srgb, var(--destructive) 28%, transparent)}}:root,:root[data-color-scheme=light]{--chrome:#edf1f2;--brand-logo-bg:#fff;--scrim:#000;--shadow-sm:0 1px 2px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--shadow-sm:0 1px 2px color-mix(in srgb, var(--scrim) 4%, transparent)}}:root,:root[data-color-scheme=light]{--shadow-md:0 6px 20px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--shadow-md:0 6px 20px color-mix(in srgb, var(--scrim) 8%, transparent)}}:root,:root[data-color-scheme=light]{--shadow-primary:0 4px 12px var(--primary), inset 0 1px 0 var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--shadow-primary:0 4px 12px color-mix(in srgb, var(--primary) 12%, transparent), inset 0 1px 0 color-mix(in srgb, var(--primary-foreground) 14%, transparent)}}:root,:root[data-color-scheme=light]{--shadow-drag:0 8px 20px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--shadow-drag:0 8px 20px color-mix(in srgb, var(--scrim) 12%, transparent)}}:root,:root[data-color-scheme=light]{--shadow-float:0 10px 28px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--shadow-float:0 10px 28px color-mix(in srgb, var(--scrim) 10%, transparent)}}:root,:root[data-color-scheme=light]{--shadow-toast:0 8px 24px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--shadow-toast:0 8px 24px color-mix(in srgb, var(--scrim) 12%, transparent)}}:root,:root[data-color-scheme=light]{--shadow-sticky:0 3px 12px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--shadow-sticky:0 3px 12px color-mix(in srgb, var(--scrim) 6%, transparent)}}:root,:root[data-color-scheme=light]{--shadow-sticky-strong:0 3px 12px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--shadow-sticky-strong:0 3px 12px color-mix(in srgb, var(--scrim) 8%, transparent)}}:root,:root[data-color-scheme=light]{--shadow-search:0 1px 2px var(--scrim), 0 2px 6px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root,:root[data-color-scheme=light]{--shadow-search:0 1px 2px color-mix(in srgb, var(--scrim) 3%, transparent), 0 2px 6px color-mix(in srgb, var(--scrim) 4%, transparent)}}:root[data-color-scheme=dark]{--brand-50:#0c2025;--brand-100:#103038;--brand-200:#16434d;--brand-300:#1d5b67;--brand-400:#287987;--brand-500:#3c9eac;--brand-600:#59c3d0;--brand-700:#83d5df;--brand-800:#b8e7ec;--brand-900:#ddf4f6;--background:#0c1114;--surface:#13181b;--surface-raised:#1a2024;--foreground:#e6ecee;--secondary-foreground:#c2cdd1;--muted:#171c1f;--muted-foreground:#9aa7ad;--primary:#59c3d0;--primary-foreground:#081518;--accent:#67d2e0;--accent-foreground:#081518;--accent-soft:#102f36;--info:#67d2e0;--info-foreground:#081518;--info-soft:#102f36;--info-border:#285965;--link:#83d5df;--success:#6ce9a6;--success-foreground:#081510;--success-soft:#102d22;--success-border:#176b45;--warning:#fec84b;--warning-foreground:#1d1505;--warning-soft:#33270e;--warning-border:#7a5a16;--destructive:#fda29b;--destructive-foreground:#210b09;--destructive-soft:#351715;--destructive-border:#7a302b;--border:#29363c;--border-strong:#3a4a51;--divider:#202c31;--disabled:#202a2f;--disabled-foreground:#6f7f86;--ring:#67d2e0;--focus-ring:0 0 0 3px var(--ring)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--focus-ring:0 0 0 3px color-mix(in srgb, var(--ring) 45%, transparent)}}:root[data-color-scheme=dark]{--focus-ring-error:0 0 0 3px var(--destructive)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--focus-ring-error:0 0 0 3px color-mix(in srgb, var(--destructive) 36%, transparent)}}:root[data-color-scheme=dark]{--chrome:#0f161a;--brand-logo-bg:#fff;--scrim:#000;--shadow-sm:0 1px 2px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--shadow-sm:0 1px 2px color-mix(in srgb, var(--scrim) 20%, transparent)}}:root[data-color-scheme=dark]{--shadow-md:0 8px 22px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--shadow-md:0 8px 22px color-mix(in srgb, var(--scrim) 26%, transparent)}}:root[data-color-scheme=dark]{--shadow-primary:0 4px 14px var(--scrim), inset 0 1px 0 var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--shadow-primary:0 4px 14px color-mix(in srgb, var(--scrim) 22%, transparent), inset 0 1px 0 color-mix(in srgb, var(--primary-foreground) 8%, transparent)}}:root[data-color-scheme=dark]{--shadow-drag:0 10px 24px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--shadow-drag:0 10px 24px color-mix(in srgb, var(--scrim) 30%, transparent)}}:root[data-color-scheme=dark]{--shadow-float:0 12px 30px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--shadow-float:0 12px 30px color-mix(in srgb, var(--scrim) 30%, transparent)}}:root[data-color-scheme=dark]{--shadow-toast:0 10px 28px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--shadow-toast:0 10px 28px color-mix(in srgb, var(--scrim) 34%, transparent)}}:root[data-color-scheme=dark]{--shadow-sticky:0 4px 14px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--shadow-sticky:0 4px 14px color-mix(in srgb, var(--scrim) 22%, transparent)}}:root[data-color-scheme=dark]{--shadow-sticky-strong:0 4px 14px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--shadow-sticky-strong:0 4px 14px color-mix(in srgb, var(--scrim) 26%, transparent)}}:root[data-color-scheme=dark]{--shadow-search:0 1px 2px var(--scrim), 0 2px 8px var(--scrim)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark]{--shadow-search:0 1px 2px color-mix(in srgb, var(--scrim) 12%, transparent), 0 2px 8px color-mix(in srgb, var(--scrim) 14%, transparent)}}:root[data-color-scheme=high-contrast]{--brand-50:#000;--brand-100:#000;--brand-200:#00333d;--brand-300:#006477;--brand-400:#00a1b8;--brand-500:#33d4e3;--brand-600:#7cebf2;--brand-700:#a7f3f7;--brand-800:#d2fafc;--brand-900:#fff;--background:#000;--surface:#000;--surface-raised:#111;--foreground:#fff;--secondary-foreground:#e6e6e6;--muted:#111;--muted-foreground:#b8b8b8;--primary:#7cebf2;--primary-foreground:#000;--accent:#7cebf2;--accent-foreground:#000;--accent-soft:#002b33;--info:#7cebf2;--info-foreground:#000;--info-soft:#002b33;--info-border:#7cebf2;--link:#a7f3f7;--success:#4dff88;--success-foreground:#000;--success-soft:#002b12;--success-border:#4dff88;--warning:#ffd166;--warning-foreground:#000;--warning-soft:#332500;--warning-border:#ffd166;--destructive:#ff5c5c;--destructive-foreground:#000;--destructive-soft:#300;--destructive-border:#ff5c5c;--border:#fff;--border-strong:#fff;--divider:#fff;--disabled:#1f1f1f;--disabled-foreground:#b8b8b8;--ring:#c7d2fe;--focus-ring:0 0 0 3px #fff;--focus-ring-error:0 0 0 3px #ff5c5c;--chrome:#000;--brand-logo-bg:#fff;--scrim:#000;--shadow-sm:none;--shadow-md:none;--shadow-primary:none;--shadow-drag:none;--shadow-float:none;--shadow-toast:none;--shadow-sticky:none;--shadow-sticky-strong:none;--shadow-search:none}:root,:root[data-color-scheme=light],:root[data-color-scheme=dark],:root[data-color-scheme=high-contrast]{--text-hero:clamp(1.2rem, 4vw, 1.4rem);--text-title:clamp(1.15rem, 3.5vw, 1.35rem);--text-section:.8125rem;--text-body:.9375rem;--text-meta:.8125rem;--text-chip:.8125rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-body:1.65;--leading-title:1.35;--tracking-title:-.012em;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-sheet:22px;--radius-icon:12px;--radius-control:14px;--radius-card:16px;--radius-pill:999px;--duration-fast:.15s;--duration-base:.24s;--duration-slow:.36s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--transition-ui:var(--duration-base) var(--ease-out);--tap-min:2.75rem;--app-bg:var(--background);--app-surface:var(--surface);--app-elevated:var(--surface-raised);--app-card:var(--surface);--app-text:var(--foreground);--app-text-secondary:var(--secondary-foreground);--app-hint:var(--muted-foreground);--app-accent:var(--primary);--app-accent-fg:var(--primary-foreground);--app-link:var(--link);--app-danger:var(--destructive);--app-danger-fg:var(--destructive-foreground);--app-success:var(--success);--app-success-fg:var(--success-foreground);--app-warning:var(--warning);--app-warning-fg:var(--warning-foreground);--app-separator:var(--border);--app-focus:var(--ring);--app-control-bg:var(--muted);--app-chrome:var(--chrome);--app-brand-logo-bg:var(--brand-logo-bg);--tg-bottom-bar:var(--chrome)}html,body,#root{min-height:var(--tg-viewport-stable,100dvh);height:var(--tg-viewport-stable,100dvh);overflow:hidden}html,body,#root,*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}body{background:var(--background);color:var(--foreground);font-family:Estedad,Tahoma,system-ui,sans-serif;font-size:var(--text-body,.92rem);font-weight:var(--font-weight-regular,400);line-height:var(--leading-body,1.55)}button,input,select,textarea,input::placeholder,textarea::placeholder{font-feature-settings:"ss01" on, "kern" on;font-family:inherit}button{touch-action:manipulation}.app-shell{min-height:var(--tg-viewport-stable,100dvh);height:var(--tg-viewport-stable,100dvh);max-height:var(--tg-viewport-stable,100dvh);background:radial-gradient(circle at 100% -10%, var(--brand-100), transparent 32rem), var(--background);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.app-shell{background:radial-gradient(circle at 100% -10%, color-mix(in srgb, var(--brand-100) 55%, transparent), transparent 32rem), var(--background)}}.app-main{width:100%;min-height:0;max-width:var(--app-content-wide);scrollbar-width:none;padding:var(--app-content-top) max(var(--app-pad), var(--safe-right)) calc(5.5rem + var(--safe-bottom) + var(--keyboard-inset,0px)) max(var(--app-pad), var(--safe-left));flex-direction:column;flex:auto;display:flex;overflow:clip auto}@media (hover:hover) and (pointer:fine){html.web-host .app-main{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}html.web-host .app-main::-webkit-scrollbar{width:var(--space-2);display:block}html.web-host .app-main::-webkit-scrollbar-thumb{border-radius:var(--radius-pill);background:var(--border-strong)}}html.tg-keyboard .app-main{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;overflow-y:auto}.app-shell.no-nav .app-main{padding-bottom:calc(1.5rem + var(--safe-bottom) + var(--keyboard-inset,0px))}.screen{padding:0 0 1.25rem;animation:.22s cubic-bezier(.22,1,.36,1) both modern-screen-in}.app-main :is(.page-header,.home-greeting,.detail-title,.detail-body,.detail-dl,.screen-hint,.inset-row,.presence-legacy,.home-primary-hint,.semester-card,.attention-banner,.announcement-carousel-wrap,.quick-actions,.tg-section,.tg-notice,.tg-empty,.tg-skeleton,.scope-checklist,.courses-recent,.courses-trail,.courses-list-pane__context,.btn-soft-blue,.tg-text-action,.tg-form,.inbox-hero,.mode-tabs,.semester-wheel,.history-card,.courses-filter-panel){width:100%;max-width:none;margin-inline:0}.app-main :is(.page-header,.home-greeting,.tg-search,.tg-form,.tg-skeleton){padding-inline:0}.screen-toolbar{gap:.35rem;margin-bottom:.35rem;display:grid}@keyframes modern-screen-in{0%{opacity:0}to{opacity:1}}.page-header{z-index:1;flex-shrink:0;align-items:center;min-height:4.25rem;padding:.5rem 0 .85rem;position:relative;overflow:visible}.page-header__main{align-items:center;gap:.75rem}.page-header__back{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--foreground);box-shadow:var(--shadow-sm);margin-inline-start:0}.page-header__back:hover,.page-header__back:active{border-color:var(--accent);background:var(--accent-soft)}.page-header__back-icon{color:var(--primary);font-size:1.7rem;transform:none}.page-header__kicker{color:var(--accent);font-size:var(--text-section);font-weight:var(--font-weight-semibold);letter-spacing:.02em;text-transform:none;margin-bottom:.25rem}.page-header__title{color:var(--foreground);font-size:var(--text-title);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-title);line-height:var(--leading-title);overflow-wrap:anywhere;overflow:visible}.page-header__title:focus,.home-greeting__hello:focus{outline:none}.page-header__subtitle{color:var(--muted-foreground);font-size:var(--text-meta);overflow-wrap:anywhere;margin-top:.3rem;line-height:1.45;overflow:visible}.page-header__action{flex-shrink:0;align-self:center;align-items:center;max-width:46%;display:flex}.brand-logo{border:1px solid var(--border);border-radius:var(--radius-control);max-width:7.5rem;height:3rem;box-shadow:var(--shadow-sm);padding:.4rem}.home-greeting{flex-shrink:0;padding:.15rem 0 .85rem;overflow:visible}.home-greeting__lead{gap:.75rem}.home-greeting__hello{color:var(--foreground);font-size:var(--text-hero);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-title);line-height:var(--leading-title);align-items:center;gap:.5rem;display:flex}.home-greeting__account{width:var(--tap-min,2.75rem);height:var(--tap-min,2.75rem);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--accent);cursor:pointer;transition:border-color var(--transition-ui), box-shadow var(--transition-ui), background var(--transition-ui);flex-shrink:0;place-items:center;padding:0;display:inline-grid}.home-greeting__account:hover,.home-greeting__account:active{border-color:var(--accent);background:var(--accent-soft)}.home-greeting__meta{color:var(--muted-foreground);font-size:var(--text-meta);margin-top:.25rem;line-height:1.45}.home-greeting__profile{border:1px solid var(--border);background:var(--surface);transition:border-color var(--transition-ui), box-shadow var(--transition-ui);border-radius:50%}.home-greeting__profile:hover,.home-greeting__profile:active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.home-greeting__profile:hover,.home-greeting__profile:active{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent)}}.home-greeting__inbox{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--accent);cursor:pointer;transition:border-color var(--transition-ui), box-shadow var(--transition-ui), background var(--transition-ui);flex-shrink:0;place-items:center;display:grid;position:relative}.home-greeting__inbox:active{border-color:var(--accent);background:var(--accent-soft)}.home-greeting__inbox-badge{border-radius:var(--radius-pill);background:var(--destructive);min-width:1.1rem;height:1.1rem;color:var(--destructive-foreground);font-size:.62rem;font-weight:var(--font-weight-bold);box-shadow:0 0 0 2px var(--surface);top:-.3rem;place-items:center;padding:0 .25rem;line-height:1;display:grid;position:absolute;inset-inline-start:-.3rem}.tg-avatar{border:2px solid var(--surface);width:2.85rem;height:2.85rem;box-shadow:0 0 0 1px var(--border)}.inbox-hero{border:1px solid var(--primary);width:100%;min-height:5.5rem;margin:0 0 1rem;padding:1rem .85rem}@supports (color:color-mix(in lab, red, red)){.inbox-hero{border:1px solid color-mix(in srgb, var(--primary) 25%, transparent)}}.inbox-hero{background:var(--primary);box-shadow:var(--shadow-primary);border-radius:1.5rem}.inbox-hero--compact{border-color:var(--border);background:var(--surface);min-height:4rem;color:var(--foreground);box-shadow:none;border-radius:1rem;margin-bottom:.8rem;padding:.75rem .9rem}.inbox-hero__icon{background:var(--primary-foreground);border-radius:1rem;width:2.85rem;height:2.85rem}@supports (color:color-mix(in lab, red, red)){.inbox-hero__icon{background:color-mix(in srgb, var(--primary-foreground) 15%, transparent)}}.inbox-hero__title{font-size:.98rem}.inbox-hero__hint{color:var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.inbox-hero__hint{color:color-mix(in srgb, var(--primary-foreground) 74%, transparent)}}.inbox-hero__hint{font-size:.75rem}.semester-card{border:1px solid var(--border);background:var(--surface);box-shadow:none;border-radius:1rem;margin:0 0 .8rem;padding:.9rem .75rem}.semester-card--action{cursor:pointer;text-align:start;width:100%;font:inherit;color:inherit;box-shadow:inset 0 0 0 1px var(--accent);display:block}@supports (color:color-mix(in lab, red, red)){.semester-card--action{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 14%, transparent)}}.semester-card--action{transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.semester-card--action:active{background:var(--accent)}@supports (color:color-mix(in lab, red, red)){.semester-card--action:active{background:color-mix(in srgb, var(--accent) 8%, var(--surface))}}.semester-card--action:active{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.semester-card--action:active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 26%, transparent)}}.semester-card--action:focus-visible{box-shadow:var(--focus-ring);outline:none}.semester-card__label{color:var(--muted-foreground);font-size:.72rem;font-weight:600}.semester-card__value{color:var(--foreground);font-size:1.2rem;font-weight:var(--font-weight-bold);margin-top:.15rem}.semester-card__row{align-items:flex-start}.semester-card__status{padding-top:.1rem}.semester-card__explain{color:var(--muted-foreground);border-top:0;padding-top:0;font-size:.76rem;line-height:1.45}.semester-card--gradient{isolation:isolate;border-color:var(--accent);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.semester-card--gradient{border-color:color-mix(in srgb, var(--accent) 24%, var(--border))}}.semester-card--gradient{background:var(--surface)}.semester-card--gradient:before{content:"";z-index:0;background:radial-gradient(circle at 18% 22%, var(--accent), transparent 58%), radial-gradient(circle at 82% 78%, var(--primary), transparent 62%), linear-gradient(145deg, var(--accent-soft), var(--surface) 48%, var(--primary));position:absolute;inset:-35%}@supports (color:color-mix(in lab, red, red)){.semester-card--gradient:before{background:radial-gradient(circle at 18% 22%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 58%), radial-gradient(circle at 82% 78%, color-mix(in srgb, var(--primary) 18%, transparent), transparent 62%), linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 72%, transparent), color-mix(in srgb, var(--surface) 92%, transparent) 48%, color-mix(in srgb, var(--primary) 10%, var(--surface)))}}.semester-card--gradient:before{pointer-events:none;animation:16s ease-in-out infinite alternate semester-card-gradient-drift}.semester-card--gradient>*{z-index:1;position:relative}@keyframes semester-card-gradient-drift{0%{opacity:.82;transform:translate(-2%,-1%)scale(1)}to{opacity:1;transform:translate(2%,1.5%)scale(1.06)}}@media (prefers-reduced-motion:reduce){.semester-card--gradient:before{animation:none}}.quick-actions{grid-template-columns:1fr;gap:.5rem;padding:0 0 1.25rem}.semester-settings__footer{flex-direction:column;gap:.75rem;margin-top:.25rem;padding-bottom:1rem;display:flex}.semester-settings__save{text-align:center;align-self:stretch;padding:.75rem 1rem}.home-menu-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.home-menu-grid>.quick-action:last-child:nth-child(odd){grid-column:1/-1}.home-menu-grid .quick-action__top{grid-area:top;justify-content:space-between;align-items:center;width:100%;display:flex}@supports (color:color-mix(in lab, red, red)){.home-menu-card--primary{border-color:color-mix(in srgb, var(--primary) 28%, var(--border));background:color-mix(in srgb, var(--accent-soft) 80%, var(--surface))}}.quick-action{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);min-height:3.9rem;box-shadow:none;grid-template-columns:auto minmax(0,1fr) auto;padding:.75rem .9rem}.quick-action:hover,.quick-action:active{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.quick-action:hover,.quick-action:active{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}}.quick-action:hover,.quick-action:active{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.quick-action:hover,.quick-action:active{background:color-mix(in srgb, var(--accent-soft) 50%, var(--surface))}}.quick-action__icon{border-radius:var(--radius-icon);background:var(--accent-soft);width:2.35rem;height:2.35rem;color:var(--accent)}.quick-action__label{font-size:var(--text-body)}.quick-action__hint{color:var(--muted-foreground);font-size:var(--text-meta)}.home-menu-grid .quick-action__hint{min-width:0;font-size:var(--text-meta);overflow-wrap:anywhere;grid-area:hint;line-height:1.4}.quick-action__chevron,.inbox-hero__chevron,.tg-cell__chevron{transform:none}.attention-banner,.tg-notice{margin:0 0 var(--space-4);border:1px solid var(--border);border-inline-start:4px solid var(--accent);border-radius:var(--radius-card);background:var(--surface);box-shadow:none;color:var(--muted-foreground)}.attention-banner--warning,.tg-notice--warning{border-color:var(--warning-border);border-inline-start-color:var(--warning);background:var(--warning-soft)}.attention-banner--danger,.tg-notice--error{border-color:var(--destructive-border);border-inline-start-color:var(--destructive);background:var(--destructive-soft)}.tg-notice--success{border-color:var(--success-border);border-inline-start-color:var(--success);background:var(--success-soft)}.tg-section{margin:0 0 .8rem}.scope-checklist{gap:var(--space-3);margin-bottom:var(--space-4);flex-direction:column;display:flex}.home-greeting,.inbox-hero,.semester-card,.attention-banner,.announcement-carousel-wrap,.quick-actions,.tg-section,.tg-notice,.tg-empty,.tg-skeleton,.inset-row,.scope-checklist,.semester-wheel,.mode-tabs,.page-header{max-width:none;margin-inline:0}.scope-checklist>.tg-section{margin-bottom:0}.app-main .tg-empty{padding-inline:0}.tg-section-header{padding:.55rem .25rem;overflow:visible}.tg-section-header h2{color:var(--muted-foreground);font-size:var(--text-section);font-weight:var(--font-weight-semibold);letter-spacing:.01em;line-height:1.45;overflow:visible}.tg-section-header__action--icon{width:var(--tap-min);height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--foreground);cursor:pointer;place-items:center;padding:0;display:grid}.tg-section-header__action--icon.is-active{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tg-section-header__action--icon.is-active{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}}.tg-section-header__action--icon.is-active{background:var(--accent-soft);color:var(--accent)}.tg-section-header__action--icon:active{filter:brightness(.96)}.courses-filter-panel{margin-bottom:.65rem;padding:0 .25rem}.semester-settings__bulk-delete{flex-direction:column;gap:.75rem;margin-top:.5rem;display:flex}.tg-section__list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.tg-cell{border-bottom-color:var(--border);min-height:4.2rem;padding:.8rem .75rem}.tg-cell--interactive:hover,.tg-cell--interactive:active{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.tg-cell--interactive:hover,.tg-cell--interactive:active{background:color-mix(in srgb, var(--accent-soft) 52%, var(--surface))}}.tg-cell:disabled{background:var(--disabled);color:var(--disabled-foreground);cursor:not-allowed;box-shadow:none}.tg-cell__leading-icon{background:var(--accent-soft);width:2.35rem;height:2.35rem;color:var(--accent);border-radius:.85rem}.tg-cell__leading-icon--accent{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.tg-cell__leading-icon--accent{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent)}}.tg-cell__leading-icon--success{background:var(--success-soft);color:var(--success);box-shadow:inset 0 0 0 1px var(--success)}@supports (color:color-mix(in lab, red, red)){.tg-cell__leading-icon--success{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--success) 12%, transparent)}}.tg-cell__leading-icon--warning{background:var(--warning-soft);color:var(--warning);box-shadow:inset 0 0 0 1px var(--warning)}@supports (color:color-mix(in lab, red, red)){.tg-cell__leading-icon--warning{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warning) 12%, transparent)}}.tg-cell__leading-icon--danger{background:var(--destructive-soft);color:var(--destructive);box-shadow:inset 0 0 0 1px var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tg-cell__leading-icon--danger{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--destructive) 12%, transparent)}}.tg-cell__title{color:var(--foreground);font-size:.88rem;font-weight:700}.tg-cell__subtitle,.tg-cell__meta{color:var(--muted-foreground);font-size:var(--text-meta)}.tg-cell__chevron{color:var(--muted-foreground)}.status-badge,.ui-badge{font-size:.68rem;font-weight:var(--font-weight-bold);border:1px solid #0000;border-radius:999px;padding:.3rem .65rem}.status-badge--neutral,.ui-badge--neutral{border-color:var(--border);background:var(--muted);color:var(--muted-foreground)}.status-badge--accent,.ui-badge--primary,.ui-badge--accent{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.status-badge--accent,.ui-badge--primary,.ui-badge--accent{border-color:color-mix(in srgb, var(--accent) 22%, transparent)}}.status-badge--accent,.ui-badge--primary,.ui-badge--accent{background:var(--accent-soft);color:var(--accent)}.status-badge--success,.ui-badge--success{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.status-badge--warning,.ui-badge--warning{border-color:var(--warning-border);background:var(--warning-soft);color:var(--warning)}.status-badge--danger,.ui-badge--danger{border-color:var(--destructive-border);background:var(--destructive-soft);color:var(--destructive)}.courses-sticky,.courses-search-sticky,.tg-search{padding-inline:0}.courses-search-sticky{z-index:8;padding:var(--space-2) 0 var(--space-3);isolation:isolate;transition:background-color var(--transition-ui), box-shadow var(--transition-ui), -webkit-backdrop-filter var(--transition-ui), backdrop-filter var(--transition-ui);background:0 0;margin:0;position:sticky;top:0;overflow:visible}.courses-sticky{padding:0 0 var(--space-3);background:0 0;margin:0}.courses-search-sticky.is-scrolled{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.courses-search-sticky.is-scrolled{background:color-mix(in srgb, var(--background) 78%, transparent)}}.courses-search-sticky.is-scrolled{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sticky)}@media (prefers-reduced-transparency:reduce){.courses-search-sticky.is-scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--background)}}:root[data-color-scheme=high-contrast] .courses-search-sticky.is-scrolled{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--background);box-shadow:none}.tg-search{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.courses-search-sticky .tg-search{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0}.screen-toolbar__search .tg-search,.screen--home .tg-search{padding-inline:0;padding-top:0}.tg-search__input,.tg-search--launcher .tg-search__placeholder{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);min-height:3rem;box-shadow:var(--shadow-search);color:var(--foreground);padding-block:.7rem;padding-inline:3rem 1rem}.tg-search__input{color:var(--foreground);padding-inline-end:3rem}.tg-search__icon{z-index:1;color:var(--muted-foreground);pointer-events:none;inset-inline:1rem auto;position:absolute;top:50%;transform:translateY(-50%)}.tg-search__clear{width:2.75rem;height:2.75rem;inset-inline:auto .35rem}.tg-search__input:focus{box-shadow:var(--shadow-search), 0 0 0 3px var(--ring)}@supports (color:color-mix(in lab, red, red)){.tg-search__input:focus{box-shadow:var(--shadow-search), 0 0 0 3px color-mix(in srgb, var(--ring) 26%, transparent)}}.tg-search__input::placeholder{color:var(--muted-foreground);opacity:1}.tg-search--launcher{cursor:pointer;text-align:start;width:100%;font:inherit;color:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.tg-search--launcher .tg-search__placeholder{width:100%;color:var(--muted-foreground);text-align:start;line-height:1.4;display:block}.search-status{color:var(--muted-foreground);margin:.35rem 0 0;padding:0 .15rem;font-size:.74rem;font-weight:700}.courses-filter-bar,.mode-tabs{gap:.5rem;padding-inline:0}.courses-search-sticky>.mode-tabs{padding-bottom:var(--space-2)}.courses-filter-toggle,.courses-filter-chip{min-height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--muted-foreground);box-shadow:var(--shadow-sm)}.courses-filter-toggle.is-active,.courses-filter-chip.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.courses-weekday-panel,.courses-recent,.field-group,.import-stages{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.courses-pagination{padding-inline:0}.tg-text-action,.tg-empty__action,.file-pick__button{min-height:var(--tap-min);border-radius:var(--radius-control);background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-primary);border:0}.btn-soft-blue{min-height:var(--tap-min);border:1px solid var(--button-secondary-border);border-radius:var(--radius-control);background:var(--button-secondary);color:var(--button-secondary-foreground);box-shadow:none}.tg-text-action--danger{background:var(--destructive)}.tg-form{padding-inline:0}.field-group{gap:.85rem;padding:1rem}.field-group__title{color:var(--foreground);font-size:.84rem}.field-select__menu{border-color:var(--border);background:var(--surface-raised);box-shadow:var(--shadow-sm);border-radius:.9rem}.field-select__option{color:var(--foreground)}.field-select__option.is-selected{background:var(--accent-soft);color:var(--accent)}.tg-form input,.tg-form select,.tg-form textarea,.field-group input,.field-group select,.field-group textarea,.field-label-clear input,.field-label-clear textarea,.field-label-clear select,.field-select__trigger{min-height:var(--tap-min);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface)}.tg-form input:focus,.tg-form select:focus,.tg-form textarea:focus,.field-group input:focus,.field-group select:focus,.field-group textarea:focus,.field-label-clear input:focus,.field-label-clear textarea:focus,.field-label-clear select:focus{box-shadow:var(--focus-ring)}.detail-dl{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);margin-inline:0}.detail-dl>div{border-bottom-color:var(--border);padding:.9rem 1rem}.detail-body{color:var(--muted-foreground);margin-inline:0}.history-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.need-priority-list{isolation:isolate}.need-row{background:var(--surface);border-bottom-color:var(--border);touch-action:pan-y;contain:layout style;transition:opacity var(--duration-fast) var(--ease-standard)}.need-priority-list--dragging{touch-action:none}.need-priority-list--dragging .need-row:not(.is-dragging){opacity:.68}.need-row.is-dragging{z-index:3;border:1px solid var(--accent);position:relative}@supports (color:color-mix(in lab, red, red)){.need-row.is-dragging{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--border))}}.need-row.is-dragging{border-bottom-color:var(--accent);border-radius:.9rem}@supports (color:color-mix(in lab, red, red)){.need-row.is-dragging{border-bottom-color:color-mix(in srgb, var(--accent) 28%, var(--border))}}.need-row.is-dragging{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.need-row.is-dragging{background:color-mix(in srgb, var(--accent-soft) 78%, var(--surface))}}.need-row.is-dragging{box-shadow:var(--shadow-drag);will-change:transform;transition:none;transform:translateY(-2px)scale(1.015)}.need-row__handle{width:2.5rem;color:var(--muted-foreground);cursor:grab;touch-action:none;background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.need-row.is-dragging .need-row__handle{color:var(--accent)}.need-row__handle:active{cursor:grabbing}.need-row__body{text-align:start;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;gap:.15rem;padding:.8rem .35rem;display:grid}.need-row__title{color:var(--foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;overflow:hidden}.need-row__subtitle{color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.need-row__remove{color:var(--destructive);cursor:pointer}.requests-catalog-btn{border:1px solid var(--primary);background:var(--primary);width:100%;min-height:3rem;color:var(--primary-foreground);font:inherit;font-size:.95rem;font-weight:var(--font-weight-bold);box-shadow:var(--shadow-primary);cursor:pointer;border-radius:1rem;justify-content:center;align-items:center;margin:0 0 .75rem;display:flex}.requests-catalog-btn:active{filter:brightness(.96)}.screen--home{flex-direction:column;gap:clamp(1.35rem,1rem + 2vw,1.75rem);display:flex}.screen--home>*{min-width:0}.screen--home>.home-greeting{padding-bottom:0}.screen--home .tg-search--launcher{margin-bottom:0}.screen--home>.tg-section>.tg-section-header{padding-block:0 .75rem}.need-row__order-actions{width:2.75rem}.need-row__order-actions button{color:var(--accent)}.need-row__priority{width:2.25rem;color:var(--accent)}.need-row.is-dragging .need-row__priority{color:var(--accent);font-weight:var(--font-weight-bold)}.schedule-row{grid-template-columns:5rem minmax(0,1fr)}.schedule-row span{color:var(--muted-foreground)}.import-stage{background:var(--background);border-radius:.75rem;min-height:2.5rem;padding:.35rem .6rem}.file-pick__button{padding-inline:1rem}.screen-hint,.muted,.field-hint{color:var(--muted-foreground)}.char-counter{color:var(--muted-foreground);font-size:.7rem;font-weight:700}.connectivity-banner{border-radius:0 0 1rem 1rem}.offline-queue-status,.app-toast{border:1px solid var(--border);box-shadow:var(--shadow-md);border-radius:1rem}@media (width>=640px){.quick-actions{gap:.85rem}}@media (width<=420px){.quick-action{min-height:3.7rem;padding:.75rem}.quick-action__icon{width:2rem;height:2rem}.quick-action__label{font-size:.76rem}}@media (prefers-reduced-motion:reduce){.screen{animation:none}.need-row,.need-row.is-dragging,.need-priority-list--dragging .need-row:not(.is-dragging){will-change:auto;transition:none!important;animation:none!important}.need-row.is-dragging{box-shadow:none;transform:none}}.ui-slider{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;width:100%;height:1.75rem;display:flex;position:relative}.ui-slider[data-disabled]{cursor:not-allowed;opacity:.45}.ui-slider__track{background:var(--muted);width:100%;height:.375rem;box-shadow:inset 0 1px 2px var(--scrim);border-radius:999px;flex-grow:1;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.ui-slider__track{box-shadow:inset 0 1px 2px color-mix(in srgb, var(--scrim) 8%, transparent)}}.ui-slider__range{background:var(--primary);border-radius:999px;height:100%;position:absolute}.ui-slider__thumb{border:1px solid var(--primary);border-radius:999px;width:1.35rem;height:1.35rem;display:block}@supports (color:color-mix(in lab, red, red)){.ui-slider__thumb{border:1px solid color-mix(in srgb, var(--primary) 55%, var(--border));box-shadow:0 1px 3px color-mix(in srgb, var(--scrim) 22%, transparent), 0 0 0 1px color-mix(in srgb, var(--scrim) 5%, transparent)}}.ui-slider__thumb{transition:box-shadow var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}.ui-slider__thumb:hover{border-color:var(--primary)}.ui-slider__thumb:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-switch{cursor:pointer;border:1px solid var(--border);border-radius:999px;flex-shrink:0;align-items:center;width:3rem;height:1.75rem;padding:0;display:inline-flex;position:relative}@supports (color:color-mix(in lab, red, red)){.ui-switch{border:1px solid color-mix(in srgb, var(--border) 80%, transparent)}}.ui-switch{background:var(--muted);transition:background var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.ui-switch[data-state=checked]{background:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ui-switch[data-state=checked]{border-color:color-mix(in srgb, var(--accent) 70%, var(--border))}}.ui-switch:focus-visible{box-shadow:var(--focus-ring);outline:none}.ui-switch:disabled{cursor:not-allowed;opacity:.45}.ui-switch__thumb{pointer-events:none;background:var(--surface);width:1.35rem;height:1.35rem;box-shadow:var(--shadow-sm);transition:inset-inline-start var(--duration-fast) var(--ease-standard);top:50%;border-radius:999px;display:block;position:absolute;inset-inline-start:.15rem;transform:translateY(-50%)}.tg-cell--switch{cursor:default}.tg-cell--switch .tg-cell__body{flex:1;min-width:0}.semester-wheel{margin:0 0 var(--space-4);width:100%;padding:var(--space-3) var(--space-2) var(--space-2);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.semester-wheel--disabled{opacity:.55;pointer-events:none}.semester-wheel__wrapper{min-height:11.5rem;color:var(--foreground)}.semester-wheel [data-rwp-highlight-wrapper]{background:var(--accent);border-radius:.9rem}@supports (color:color-mix(in lab, red, red)){.semester-wheel [data-rwp-highlight-wrapper]{background:color-mix(in srgb, var(--accent) 12%, var(--surface))}}.semester-wheel [data-rwp-highlight-wrapper]{box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.semester-wheel [data-rwp-highlight-wrapper]{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 22%, transparent)}}.semester-wheel [data-rwp-highlight-item]{color:var(--foreground);font-size:1.05rem;font-weight:700}.semester-wheel [data-rwp-option]{color:var(--muted-foreground);font-size:.92rem}.semester-wheel__option,.semester-wheel [data-rwp-option]{font-variant-numeric:tabular-nums}.semester-wheel__highlight,.semester-wheel [data-rwp-highlight-wrapper],.semester-wheel__highlight-item,.semester-wheel [data-rwp-highlight-item],.semester-wheel__option,.semester-wheel [data-rwp-option]{height:2.5rem}.semester-wheel__selected{padding:0 .25rem var(--space-3);color:var(--foreground);margin:0;font-size:.95rem;font-weight:600}.page-header__icon-btn{border:1px solid var(--border);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--accent);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:1rem;place-items:center;padding:0;display:grid}.page-header__icon-btn:active{border-color:var(--accent);background:var(--accent-soft)}.page-header__icon-btn--muted{color:var(--muted-foreground)}.page-header__icon-btn:disabled{opacity:.55;cursor:not-allowed}.screen--profile .page-header__action{max-width:none}.page-header__toolbar{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.inbox-read-all-btn{border:1px solid var(--border);background:var(--surface);min-height:2.75rem;color:var(--muted-foreground);white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);box-sizing:border-box;border-radius:1rem;justify-content:center;align-items:center;padding:0 .8rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.inbox-read-all-btn:active:not(:disabled){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.inbox-read-all-btn:disabled{opacity:.55;cursor:default}.inbox-compose{margin-bottom:.5rem}.inbox-compose__broadcast{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--border);background:var(--background);border-radius:1rem;margin:0 0 .85rem;padding:.85rem 1rem;display:flex}.inbox-compose__broadcast-title{color:var(--foreground);margin:0;font-size:.9rem;font-weight:700}.inbox-compose__broadcast-hint{color:var(--muted-foreground);margin:.2rem 0 0;font-size:.75rem}.inbox-compose__add{gap:.65rem;margin-bottom:.85rem;display:grid}.inbox-compose__add-field{margin:0;padding:.85rem}.inbox-compose__add-btn{width:100%;margin:0}.inbox-compose__recipients{margin-top:.25rem}.inbox-compose__remove{background:var(--destructive);border:0;border-radius:.75rem;place-items:center;width:2.25rem;height:2.25rem;padding:0;display:grid}@supports (color:color-mix(in lab, red, red)){.inbox-compose__remove{background:color-mix(in srgb, var(--destructive) 10%, transparent)}}.inbox-compose__remove{color:var(--destructive);cursor:pointer}.inbox-compose__remove:active{filter:brightness(.95)}.inbox-compose__send{margin-top:.5rem}.announcement-carousel-wrap{flex-direction:column;gap:.4rem;margin:0 0 .85rem;display:flex}.announcement-carousel__header{justify-content:space-between;align-items:center;gap:.75rem;padding-inline:.15rem;display:flex}.announcement-carousel__label{color:var(--muted-foreground);margin:0;font-size:.78rem;font-weight:700}.announcement-carousel{overscroll-behavior-x:contain;scroll-snap-type:none;scrollbar-width:none;-webkit-overflow-scrolling:touch;touch-action:none;cursor:grab;align-items:stretch;gap:.65rem;margin-inline:-.15rem;padding:.1rem .15rem .15rem;display:flex;overflow:auto hidden}.announcement-carousel.is-dragging,.announcement-carousel:active{cursor:grabbing}.announcement-carousel::-webkit-scrollbar{display:none}.announcement-carousel__slide{box-sizing:border-box;border:1px solid var(--accent);flex-direction:column;flex:0 0 84%;gap:.35rem;width:84%;min-height:6.75rem;max-height:8.75rem;padding:.75rem .85rem;display:flex}@supports (color:color-mix(in lab, red, red)){.announcement-carousel__slide{border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border))}}.announcement-carousel__slide{border-radius:var(--radius-card);background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.announcement-carousel__slide{background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface))}}.announcement-carousel__slide{color:inherit;text-align:start;cursor:pointer}.announcement-carousel--single .announcement-carousel__slide{flex-basis:100%;width:100%}.announcement-carousel__slide--unread{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.announcement-carousel__slide--unread{border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}}.announcement-carousel__slide--unread{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.announcement-carousel__slide--unread{background:color-mix(in srgb, var(--accent-soft) 78%, var(--surface))}}.announcement-carousel__meta{min-width:0;font-size:var(--text-meta);color:var(--muted-foreground);align-items:center;gap:.4rem;display:flex}.announcement-carousel__meta>span:first-child{font-weight:var(--font-weight-semibold);color:var(--primary)}.announcement-carousel__badge{border-radius:var(--radius-pill);background:var(--primary);color:var(--primary-foreground);font-size:.68rem;font-weight:var(--font-weight-bold);margin-inline-start:auto;padding:.05rem .4rem;line-height:1.4}.announcement-carousel__body{-webkit-line-clamp:3;line-clamp:3;font-size:var(--text-body);line-height:1.5;font-weight:var(--font-weight-medium);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.announcement-carousel__dots{justify-content:center;gap:.3rem;display:flex}.announcement-carousel__dot{border-radius:var(--radius-pill);background:var(--accent);width:.35rem;height:.35rem}@supports (color:color-mix(in lab, red, red)){.announcement-carousel__dot{background:color-mix(in srgb, var(--accent) 28%, transparent)}}.announcement-carousel__dot.is-active{background:var(--primary);width:.9rem}.tg-cell__trailing{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.tg-cell__actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:inline-flex}.tg-cell__value{color:var(--foreground);font-size:var(--text-body);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;flex-shrink:0;line-height:1.25}.admin-doc-deliver{box-shadow:none;color:var(--accent,var(--app-accent));font-size:.8rem;font-weight:var(--font-weight-semibold);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:0;flex:none;align-self:center;align-items:center;width:auto;max-width:none;height:auto;min-height:0;margin:0;padding:.1rem .15rem;line-height:1.2;display:inline-flex}.admin-doc-deliver:active{opacity:.65}.admin-doc-deliver:disabled,.admin-doc-deliver[aria-disabled=true]{opacity:.45;pointer-events:none}.inbox-thread{gap:var(--space-3);margin:0 0 var(--space-3);flex-direction:column;padding:0;display:flex}.inbox-thread__bubble{padding:var(--space-3) var(--space-4);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:1rem;margin:0}.inbox-thread__bubble--inbound{border-inline-start:3px solid var(--accent)}.inbox-thread__bubble--outbound{border-inline-end:3px solid var(--primary);background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.inbox-thread__bubble--outbound{background:color-mix(in srgb, var(--accent-soft) 35%, var(--surface))}}.inbox-thread__meta{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);color:var(--muted-foreground);flex-wrap:wrap;font-size:.75rem;display:flex}.inbox-thread__body{white-space:pre-wrap;color:var(--foreground);margin:0;line-height:1.55}.inbox-thread__composer{margin-top:auto}:root,:root[data-color-scheme=light],:root[data-color-scheme=dark],:root[data-color-scheme=high-contrast]{--app-divider:var(--divider);--app-disabled:var(--disabled);--app-disabled-fg:var(--disabled-foreground);--app-info:var(--info);--app-info-fg:var(--info-foreground)}html{font-feature-settings:"ss01" on, "kern" on;font-kerning:normal;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}::selection{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){::selection{background:color-mix(in srgb, var(--primary) 18%, transparent)}}::selection{color:var(--foreground)}.app-shell{background:radial-gradient(circle at 100% -10%, var(--brand-100), transparent 32rem), var(--background)}@supports (color:color-mix(in lab, red, red)){.app-shell{background:radial-gradient(circle at 100% -10%, color-mix(in srgb, var(--brand-100) 55%, transparent), transparent 32rem), var(--background)}}html.tg-desktop,html.tg-desktop body,html.tg-desktop #root,html.tg-desktop .app-shell{height:var(--tg-viewport-stable,100dvh);min-height:0;max-height:var(--tg-viewport-stable,100dvh)}html.tg-keyboard,html.tg-keyboard body,html.tg-keyboard #root,html.tg-keyboard.tg-desktop,html.tg-keyboard.tg-desktop body,html.tg-keyboard.tg-desktop #root{height:var(--app-visible-height,var(--tg-viewport-stable,100dvh));min-height:0;max-height:var(--app-visible-height,var(--tg-viewport-stable,100dvh));overflow:hidden}html.tg-keyboard .app-shell{top:var(--vv-offset-top,0px);width:100%;height:var(--app-visible-height,var(--tg-viewport-stable,100dvh));min-height:0;max-height:var(--app-visible-height,var(--tg-viewport-stable,100dvh));position:fixed;inset-inline:0;overflow:hidden}:root[data-color-scheme=high-contrast] .app-shell{background:var(--background)}.app-shell svg:not([data-stroke=inherit]){stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.page-header__title{font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-title)}.page-header__kicker{color:var(--primary);font-weight:var(--font-weight-semibold);letter-spacing:.015em}.page-header__back,.page-header__icon-btn,.theme-toggle,.home-greeting__inbox,.home-greeting__account,.tg-section-header__action--icon,.inbox-read-all-btn{border-color:var(--border);border-radius:var(--radius-control);background:var(--surface);box-shadow:var(--shadow-sm);transition:color var(--transition-ui), border-color var(--transition-ui), background-color var(--transition-ui), box-shadow var(--transition-ui), transform var(--transition-ui)}.tg-cell__actions .page-header__icon-btn{width:var(--tap-min);height:var(--tap-min);flex:none}.page-header__back:active,.page-header__icon-btn:active,.theme-toggle:active,.home-greeting__inbox:active,.home-greeting__account:active,.tg-section-header__action--icon:active,.inbox-read-all-btn:active:not(:disabled){border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.page-header__back:active,.page-header__icon-btn:active,.theme-toggle:active,.home-greeting__inbox:active,.home-greeting__account:active,.tg-section-header__action--icon:active,.inbox-read-all-btn:active:not(:disabled){border-color:color-mix(in srgb, var(--primary) 36%, var(--border))}}.page-header__back:active,.page-header__icon-btn:active,.theme-toggle:active,.home-greeting__inbox:active,.home-greeting__account:active,.tg-section-header__action--icon:active,.inbox-read-all-btn:active:not(:disabled){background:var(--accent-soft);color:var(--primary);transform:scale(.98)}.page-header__icon-btn.page-header__icon-btn--danger{color:var(--destructive);border-color:var(--destructive-border)}.page-header__icon-btn.page-header__icon-btn--danger:active{border-color:var(--destructive);background:var(--destructive-soft);color:var(--destructive)}.brand-logo{border-color:var(--border);border-radius:var(--radius-control);box-shadow:var(--shadow-sm)}.home-greeting__hello{font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-title)}.home-greeting__profile,.tg-avatar{border-color:var(--surface);background:var(--primary);box-shadow:0 0 0 1px var(--border), var(--shadow-sm)}.home-greeting__profile:focus-visible,.home-greeting__profile:hover{border-color:var(--surface);box-shadow:0 0 0 3px var(--ring), var(--shadow-sm)}@supports (color:color-mix(in lab, red, red)){.home-greeting__profile:focus-visible,.home-greeting__profile:hover{box-shadow:0 0 0 3px color-mix(in srgb, var(--ring) 28%, transparent), var(--shadow-sm)}}.inbox-hero{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.inbox-hero{border-color:color-mix(in srgb, var(--primary) 78%, var(--border))}}.inbox-hero{border-radius:var(--radius-card);box-shadow:var(--shadow-primary)}.inbox-hero__icon{border-radius:var(--radius-icon);box-shadow:inset 0 0 0 1px var(--primary-foreground)}@supports (color:color-mix(in lab, red, red)){.inbox-hero__icon{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary-foreground) 10%, transparent)}}.inbox-hero--compact .inbox-hero__icon{background:var(--accent-soft);width:2.35rem;height:2.35rem;color:var(--accent);border-radius:.8rem}.inbox-hero__title{font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-title)}.inbox-hero--compact .inbox-hero__title{font-size:.9rem}.semester-card,.quick-action,.tg-section__list,.courses-weekday-panel,.courses-recent,.field-group,.import-stages,.detail-dl,.history-card,.semester-wheel,.offline-queue-status,.inbox-thread__bubble{border-color:var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-sm)}.screen--semester-settings .semester-wheel{margin-bottom:.75rem}.semester-card--gradient{border-color:var(--border);background:var(--surface)}.semester-card--gradient:before{content:none}.semester-card__value{font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-title)}.quick-action{transition:border-color var(--transition-ui), background-color var(--transition-ui), box-shadow var(--transition-ui), transform var(--transition-ui)}.home-menu-grid .quick-action{min-height:6.75rem;padding:var(--space-4);box-shadow:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"top""label""hint";align-items:start;row-gap:.45rem;display:grid}.quick-action__icon,.tg-cell__leading-icon{border-radius:var(--radius-icon);box-shadow:inset 0 0 0 1px var(--accent)}@supports (color:color-mix(in lab, red, red)){.quick-action__icon,.tg-cell__leading-icon{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 10%, transparent)}}.home-menu-card--primary .quick-action__icon{background:var(--primary);color:var(--primary-foreground)}.tg-cell:disabled .tg-cell__leading-icon{background:var(--muted);color:var(--disabled-foreground)}.tg-cell__leading-icon--success{box-shadow:inset 0 0 0 1px var(--success)}@supports (color:color-mix(in lab, red, red)){.tg-cell__leading-icon--success{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--success) 12%, transparent)}}.tg-cell__leading-icon--warning{box-shadow:inset 0 0 0 1px var(--warning)}@supports (color:color-mix(in lab, red, red)){.tg-cell__leading-icon--warning{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--warning) 12%, transparent)}}.tg-cell__leading-icon--danger{box-shadow:inset 0 0 0 1px var(--destructive)}@supports (color:color-mix(in lab, red, red)){.tg-cell__leading-icon--danger{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--destructive) 12%, transparent)}}.quick-action__label,.tg-cell__title{font-weight:var(--font-weight-semibold);letter-spacing:-.006em}.home-menu-grid .quick-action__label{min-width:0;font-size:var(--text-body);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere;grid-area:label;line-height:1.4}.home-menu-card--primary .quick-action__label{font-weight:var(--font-weight-bold)}.tg-cell:disabled .tg-cell__title,.tg-cell:disabled .tg-cell__subtitle,.tg-cell:disabled .tg-cell__meta{color:var(--disabled-foreground)}.home-menu-card--primary{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.home-menu-card--primary{border-color:color-mix(in srgb, var(--primary) 28%, var(--border))}}.home-menu-card--primary{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.home-menu-card--primary{background:color-mix(in srgb, var(--accent-soft) 80%, var(--surface))}}.home-menu-card--primary .quick-action__icon{background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-primary)}@media (hover:hover) and (pointer:fine){.quick-action:hover,.tg-cell--interactive:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.quick-action:hover,.tg-cell--interactive:hover{border-color:color-mix(in srgb, var(--primary) 28%, var(--border))}}.quick-action:hover,.tg-cell--interactive:hover{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.quick-action:hover,.tg-cell--interactive:hover{background:color-mix(in srgb, var(--accent-soft) 45%, var(--surface))}}.quick-action:hover{box-shadow:var(--shadow-sm)}}.quick-action:active:not(:disabled),.tg-cell--interactive:active{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.quick-action:active:not(:disabled),.tg-cell--interactive:active{background:color-mix(in srgb, var(--accent-soft) 65%, var(--surface))}}.quick-action:active:not(:disabled){transform:scale(.99)}.tg-section-header h2{font-size:var(--text-section);font-weight:var(--font-weight-semibold);letter-spacing:.01em;color:var(--muted-foreground)}.tg-section__list>:last-child{border-bottom-color:#0000}.tg-cell{transition:background-color var(--transition-ui), border-color var(--transition-ui)}.tg-section__list>.tg-cell,.tg-section__list>.need-row,.tg-section__list>.tg-checkbox,.tg-section__list>.tg-section__check-row{border-bottom-color:var(--divider)}.tg-cell__chevron,.quick-action__chevron,.inbox-hero__chevron{color:var(--disabled-foreground)}.inbox-hero--compact .inbox-hero__hint,.inbox-hero--compact .inbox-hero__chevron{color:var(--muted-foreground)}.home-menu-grid .quick-action__icon,.home-menu-grid .quick-action__chevron{grid-area:auto}.status-badge,.ui-badge{border-radius:var(--radius-pill);letter-spacing:0;font-weight:700}.status-badge--accent,.ui-badge--primary,.ui-badge--accent{border-color:var(--info-border);background:var(--info-soft);color:var(--info)}.attention-banner,.tg-notice{border-radius:var(--radius-control);box-shadow:none}.screen--home>.tg-search,.screen--home>.announcement-carousel-wrap,.screen--home>.attention-banner,.screen--home>.tg-section,.screen--home>.home-menu-grid{margin-bottom:0}.screen--semester-settings .tg-section+.tg-section{margin-top:.25rem}.attention-banner--info,.tg-notice:not(.tg-notice--warning):not(.tg-notice--error):not(.tg-notice--success){border-color:var(--info-border);border-inline-start-color:var(--info);background:var(--info-soft);color:var(--secondary-foreground)}.tg-notice--warning,.attention-banner--warning{color:var(--warning)}.tg-notice--error,.attention-banner--danger{color:var(--destructive)}.tg-notice--success{color:var(--success)}.tg-search__input,.tg-search--launcher .tg-search__placeholder{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-search);transition:border-color var(--transition-ui), background-color var(--transition-ui), box-shadow var(--transition-ui)}.courses-search-sticky .tg-search__input{border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-search);transition:box-shadow var(--transition-ui), border-color var(--transition-ui), background-color var(--transition-ui)}.tg-search--launcher:focus-visible .tg-search__placeholder{box-shadow:var(--focus-ring);outline:none}.courses-search-sticky.is-scrolled .tg-search__input{border-color:var(--border-strong);background:var(--surface);box-shadow:var(--shadow-sticky-strong)}.tg-search--launcher:active .tg-search__placeholder{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.tg-search--launcher:active .tg-search__placeholder{border-color:color-mix(in srgb, var(--accent) 46%, var(--border))}}.tg-search--launcher:active .tg-search__placeholder{background:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.tg-search--launcher:active .tg-search__placeholder{background:color-mix(in srgb, var(--accent-soft) 40%, var(--background))}}.tg-form input,.tg-form select,.tg-form textarea,.field-group input,.field-group select,.field-group textarea,.field-label-clear input,.field-label-clear textarea,.field-label-clear select,.field-select__trigger{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--foreground);box-shadow:inset 0 1px 1px var(--scrim)}@supports (color:color-mix(in lab, red, red)){.tg-form input,.tg-form select,.tg-form textarea,.field-group input,.field-group select,.field-group textarea,.field-label-clear input,.field-label-clear textarea,.field-label-clear select,.field-select__trigger{box-shadow:inset 0 1px 1px color-mix(in srgb, var(--scrim) 2%, transparent)}}.tg-form input,.tg-form select,.tg-form textarea,.field-group input,.field-group select,.field-group textarea,.field-label-clear input,.field-label-clear textarea,.field-label-clear select,.field-select__trigger{transition:border-color var(--transition-ui), background-color var(--transition-ui), box-shadow var(--transition-ui)}.tg-search__input::placeholder,.tg-form input::placeholder,.tg-form textarea::placeholder,.field-group input::placeholder,.field-group textarea::placeholder,.field-label-clear input::placeholder,.field-label-clear textarea::placeholder{color:var(--disabled-foreground);opacity:1;font-feature-settings:"ss01" on, "kern" on;font-family:inherit}.tg-search__input:hover,.tg-form input:hover,.tg-form select:hover,.tg-form textarea:hover,.field-group input:hover,.field-group select:hover,.field-group textarea:hover,.field-label-clear input:hover,.field-label-clear textarea:hover,.field-label-clear select:hover,.field-select__trigger:hover:not(:disabled){border-color:var(--border-strong)}.tg-search__input:focus{border-color:var(--primary);background:var(--surface-raised);box-shadow:var(--shadow-search), var(--focus-ring)}.courses-search-sticky .tg-search__input:focus{box-shadow:var(--shadow-search), var(--focus-ring)}.courses-search-sticky.is-scrolled .tg-search__input:focus{box-shadow:var(--shadow-sticky-strong), var(--focus-ring)}.tg-form input:focus,.tg-form select:focus,.tg-form textarea:focus,.field-group input:focus,.field-group select:focus,.field-group textarea:focus,.field-label-clear input:focus,.field-label-clear textarea:focus,.field-label-clear select:focus,.field-select.is-open .field-select__trigger,.field-select__trigger:focus{border-color:var(--primary);background:var(--surface-raised);box-shadow:var(--focus-ring)}.tg-form input.is-invalid,.tg-form select.is-invalid,.tg-form textarea.is-invalid,.field-group input.is-invalid,.field-group select.is-invalid,.field-group textarea.is-invalid,.field-select__trigger[aria-invalid=true],[aria-invalid=true]{border-color:var(--destructive);background:var(--destructive-soft);box-shadow:var(--focus-ring-error)}.tg-form label,.field-group label,.field-select-field,.field-label-clear{color:var(--secondary-foreground);font-weight:600}.field-group__title{color:var(--foreground);font-weight:var(--font-weight-bold);letter-spacing:-.01em}.tg-checkbox input{accent-color:var(--primary)}.tg-text-action,.tg-empty__action,.file-pick__button,.requests-catalog-btn{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.tg-text-action,.tg-empty__action,.file-pick__button,.requests-catalog-btn{border:1px solid color-mix(in srgb, var(--primary) 80%, var(--border))}}.tg-text-action,.tg-empty__action,.file-pick__button,.requests-catalog-btn{border-radius:var(--radius-control);background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-primary);font-weight:var(--font-weight-semibold);letter-spacing:-.004em;transition:filter var(--transition-ui), transform var(--transition-ui), box-shadow var(--transition-ui)}.btn-soft-blue{border:1px solid var(--button-secondary-border);border-radius:var(--radius-control);background:var(--button-secondary);color:var(--button-secondary-foreground);box-shadow:none;font-weight:var(--font-weight-semibold);letter-spacing:-.004em;transition:filter var(--transition-ui), transform var(--transition-ui), box-shadow var(--transition-ui), background-color var(--transition-ui)}.screen>.tg-text-action,.screen>.btn-soft-blue,.screen-toolbar__action{width:100%;margin-inline:0}.tg-text-action:active:not(:disabled),.tg-empty__action:active:not(:disabled),.file-pick__button:active:not(.is-disabled),.requests-catalog-btn:active:not(:disabled){filter:brightness(.97);box-shadow:var(--shadow-sm);transform:scale(.99)}.btn-soft-blue:active:not(:disabled){background:var(--button-secondary)}@supports (color:color-mix(in lab, red, red)){.btn-soft-blue:active:not(:disabled){background:color-mix(in srgb, var(--button-secondary) 72%, var(--primary))}}.btn-soft-blue:active:not(:disabled){color:var(--button-secondary-foreground);box-shadow:none;transform:scale(.99)}.curriculum-course-detail__term{color:var(--accent)}.curriculum-course-detail__name{color:var(--foreground)}.curriculum-course-detail__facts{border-color:var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-sm)}.curriculum-course-detail__facts>div{border-bottom-color:var(--border)}.curriculum-course-detail__facts dt{color:var(--muted-foreground)}.curriculum-course-detail__facts dd{color:var(--foreground)}.curriculum-course-detail__grade-panel{border-color:var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.curriculum-course-detail__grade-heading>span{color:var(--foreground)}.curriculum-course-detail__grade-heading>em{color:var(--muted-foreground)}.curriculum-course-detail__grade-panel input{border-radius:var(--radius-control);background:var(--background);border-color:var(--border)}.curriculum-course-detail__requisites-title{color:var(--foreground)}.curriculum-course-detail__requisite{border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:1rem}.curriculum-course-detail__requisite--met{border-color:var(--success-border);background:var(--success-soft)}.curriculum-course-detail__requisite--fail{border-color:var(--warning-border);background:var(--warning-soft)}.curriculum-course-detail__requisite-name{color:var(--foreground)}.curriculum-course-detail__requisite-grade{color:var(--muted-foreground)}.curriculum-course-detail__requisite--met .curriculum-course-detail__requisite-name,.curriculum-course-detail__requisite--met .curriculum-course-detail__requisite-grade{color:var(--success)}.curriculum-course-detail__requisite--fail .curriculum-course-detail__requisite-name,.curriculum-course-detail__requisite--fail .curriculum-course-detail__requisite-grade{color:var(--warning)}.curriculum-course-form__footer{background:var(--background)}.curriculum-course-form__action.tg-text-action--danger{width:100%;min-height:3rem}.curriculum-board__wipe{color:var(--destructive)}.tg-text-action--danger{border-color:var(--destructive);background:var(--destructive);color:var(--destructive-foreground);box-shadow:0 8px 18px var(--destructive), inset 0 1px 0 var(--destructive-foreground)}@supports (color:color-mix(in lab, red, red)){.tg-text-action--danger{box-shadow:0 8px 18px color-mix(in srgb, var(--destructive) 16%, transparent), inset 0 1px 0 color-mix(in srgb, var(--destructive-foreground) 16%, transparent)}}:where(button,input,select,textarea,a,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{box-shadow:var(--focus-ring);outline:none}:where(button:disabled,input:disabled,select:disabled,textarea:disabled,.file-pick__button.is-disabled),.tg-text-action:disabled,.btn-soft-blue:disabled,.quick-action:disabled,.page-header__icon-btn:disabled,.inbox-read-all-btn:disabled,.field-label-clear__btn:disabled,.file-pick__button.is-disabled{border-color:var(--border);background:var(--disabled);color:var(--disabled-foreground);box-shadow:none;opacity:1}.tg-form input:disabled,.tg-form select:disabled,.tg-form textarea:disabled,.field-group input:disabled,.field-group select:disabled,.field-group textarea:disabled,.field-label-clear input:disabled,.field-label-clear textarea:disabled,.field-label-clear select:disabled,.field-select__trigger:disabled{border-color:var(--border);background:var(--disabled);color:var(--disabled-foreground);box-shadow:none;opacity:1;-webkit-text-fill-color:var(--disabled-foreground)}.courses-filter-toggle,.courses-filter-chip{border-color:var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--secondary-foreground);box-shadow:none;font-weight:var(--font-weight-semibold);transition:color var(--transition-ui), border-color var(--transition-ui), background-color var(--transition-ui), box-shadow var(--transition-ui)}.courses-filter-toggle.is-active,.courses-filter-chip.is-active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.courses-filter-toggle.is-active,.courses-filter-chip.is-active{border-color:color-mix(in srgb, var(--primary) 48%, var(--border))}}.courses-filter-toggle.is-active,.courses-filter-chip.is-active{background:var(--accent-soft);color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}@supports (color:color-mix(in lab, red, red)){.courses-filter-toggle.is-active,.courses-filter-chip.is-active{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--primary) 8%, transparent)}}.ui-slider__track{background:var(--disabled);box-shadow:inset 0 1px 2px var(--scrim)}@supports (color:color-mix(in lab, red, red)){.ui-slider__track{box-shadow:inset 0 1px 2px color-mix(in srgb, var(--scrim) 8%, transparent)}}.ui-slider__range{background:var(--primary)}.ui-slider__thumb{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.ui-slider__thumb{border-color:color-mix(in srgb, var(--primary) 48%, var(--border-strong))}}.ui-slider__thumb{background:var(--surface-raised);box-shadow:0 1px 3px var(--scrim), 0 0 0 1px var(--scrim)}@supports (color:color-mix(in lab, red, red)){.ui-slider__thumb{box-shadow:0 1px 3px color-mix(in srgb, var(--scrim) 22%, transparent), 0 0 0 1px color-mix(in srgb, var(--scrim) 5%, transparent)}}.ui-switch{border-color:var(--border-strong);background:var(--disabled);box-shadow:inset 0 1px 2px var(--scrim)}@supports (color:color-mix(in lab, red, red)){.ui-switch{box-shadow:inset 0 1px 2px color-mix(in srgb, var(--scrim) 8%, transparent)}}.ui-switch[data-state=checked]{border-color:var(--primary);background:var(--primary)}.ui-switch__thumb{background:var(--surface-raised);box-shadow:0 1px 3px var(--scrim), 0 0 0 1px var(--scrim)}@supports (color:color-mix(in lab, red, red)){.ui-switch__thumb{box-shadow:0 1px 3px color-mix(in srgb, var(--scrim) 22%, transparent), 0 0 0 1px color-mix(in srgb, var(--scrim) 5%, transparent)}}.ui-switch[data-state=checked] .ui-switch__thumb{inset-inline-start:calc(100% - 1.5rem)}.semester-wheel [data-rwp-highlight-wrapper]{border-radius:var(--radius-control);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--info-border)}.history-card__timeline li:before{border-color:var(--surface);box-shadow:0 0 0 1px var(--border-strong)}.history-card__timeline li.is-current:before{background:var(--primary);box-shadow:0 0 0 1px var(--primary), 0 0 0 4px var(--primary)}@supports (color:color-mix(in lab, red, red)){.history-card__timeline li.is-current:before{box-shadow:0 0 0 1px var(--primary), 0 0 0 4px color-mix(in srgb, var(--primary) 14%, transparent)}}.history-card__timeline li:not(:last-child):after{background:var(--divider)}.import-stage{border-radius:var(--radius-icon);border:1px solid #0000}.import-stage.is-active{border-color:var(--info-border);background:var(--info-soft);color:var(--foreground)}.import-stage.is-done{background:var(--success-soft);color:var(--success)}.import-stage.is-error{background:var(--destructive-soft);color:var(--destructive)}.tg-skeleton__row{border:1px solid var(--divider);border-radius:var(--radius-control);background:linear-gradient(100deg, var(--muted) 24%, var(--surface-raised) 38%, var(--muted) 52%);background-size:200% 100%;animation:1.5s ease-in-out infinite premium-skeleton}@keyframes premium-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.app-toast{border-color:var(--border-strong);border-radius:var(--radius-control);background:var(--surface-raised);color:var(--foreground);box-shadow:var(--shadow-toast);font-weight:var(--font-weight-semibold)}.app-toast--info{border-color:var(--info-border);background:var(--info-soft);color:var(--info)}.app-toast--success{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.app-toast--error{border-color:var(--destructive-border);background:var(--destructive-soft);color:var(--destructive)}.connectivity-banner--offline{border-bottom-color:var(--destructive-border);background:var(--destructive-soft);color:var(--destructive)}.connectivity-banner--online{border-bottom-color:var(--success-border);background:var(--success-soft);color:var(--success)}.inbox-thread__bubble--inbound{border-inline-start-color:var(--info)}.inbox-thread__bubble--outbound{border-inline-end-color:var(--primary);background:var(--accent-soft)}.tg-bottom-nav{border-top-color:var(--divider);background:var(--chrome);box-shadow:0 -6px 20px var(--scrim)}@supports (color:color-mix(in lab, red, red)){.tg-bottom-nav{box-shadow:0 -6px 20px color-mix(in srgb, var(--scrim) 5%, transparent)}}.tg-bottom-nav__item{color:var(--muted-foreground);font-weight:600}.tg-bottom-nav__item.is-active{color:var(--primary);font-weight:var(--font-weight-bold)}:root[data-color-scheme=dark] :is(.semester-card,.quick-action,.tg-section__list,.courses-weekday-panel,.courses-recent,.field-group,.import-stages,.detail-dl,.history-card,.semester-wheel,.inbox-thread__bubble){box-shadow:inset 0 1px 0 var(--foreground), var(--shadow-sm)}@supports (color:color-mix(in lab, red, red)){:root[data-color-scheme=dark] :is(.semester-card,.quick-action,.tg-section__list,.courses-weekday-panel,.courses-recent,.field-group,.import-stages,.detail-dl,.history-card,.semester-wheel,.inbox-thread__bubble){box-shadow:inset 0 1px 0 color-mix(in srgb, var(--foreground) 2.5%, transparent), var(--shadow-sm)}}@media (prefers-reduced-motion:reduce){.tg-skeleton__row{background:var(--muted);animation:none}}.ui-icon{flex-shrink:0;display:block}.ui-icon-add{color:var(--accent)}.ui-icon-remove{color:var(--destructive)}.ui-icon-swap{color:var(--warning)}.courses-filter-chip--plus{border-color:var(--accent);place-items:center;min-width:2.35rem;padding-inline:.55rem;display:inline-grid}@supports (color:color-mix(in lab, red, red)){.courses-filter-chip--plus{border-color:color-mix(in srgb, var(--accent) 34%, var(--border))}}.courses-filter-chip--plus{background:var(--accent-soft);color:var(--accent);font-size:0;line-height:1}.courses-filter-chip--plus .ui-icon-add,.tg-section-header__action--icon .ui-icon-add,.quick-action__icon .ui-icon-add,.tg-cell__leading-icon .ui-icon-add,.tg-cell__leading-icon .ui-icon-remove,.tg-cell__leading-icon .ui-icon-swap,.home-menu-card--primary .quick-action__icon .ui-icon-add{color:currentColor}.courses-filter-chip--plus.is-active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.courses-filter-chip--plus.is-active{border-color:color-mix(in srgb, var(--primary) 88%, var(--border))}}.courses-filter-chip--plus.is-active{background:var(--primary);color:var(--primary-foreground);box-shadow:var(--shadow-primary)}.tg-section-header__action--icon:has(.ui-icon-add){color:var(--accent)}:is(.tg-section-header__action--icon:has(.ui-icon-add).is-active,.tg-section-header__action--icon:has(.ui-icon-add):active){border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){:is(.tg-section-header__action--icon:has(.ui-icon-add).is-active,.tg-section-header__action--icon:has(.ui-icon-add):active){border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}}:is(.tg-section-header__action--icon:has(.ui-icon-add).is-active,.tg-section-header__action--icon:has(.ui-icon-add):active){background:var(--accent-soft);color:var(--accent)}.info-sheet{border:1px solid var(--border);background:var(--surface-raised,var(--surface));color:var(--foreground);box-shadow:var(--shadow-float)}.info-sheet__title{color:var(--foreground);letter-spacing:-.02em}.info-sheet__section+.info-sheet__section{border-top-color:var(--divider,var(--border))}.info-sheet__section-title{color:var(--accent)}.info-sheet__section-body{color:var(--muted-foreground)}@media (width>=640px){.info-sheet{max-width:min(28rem,100%);max-height:min(65dvh,36rem);margin-bottom:max(1rem, var(--safe-bottom));border-radius:var(--radius-lg);padding-bottom:1.1rem}.info-sheet-root{padding-inline:max(1rem, var(--safe-left)) max(1rem, var(--safe-right));padding-bottom:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
