.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.portal-shell{--portal-sidebar-width:246px;display:grid;grid-template-columns:var(--portal-sidebar-width) minmax(0,1fr);background:#f3f4f5}.portal-shell.is-compact{--portal-sidebar-width:82px}.portal-sidebar{position:sticky;z-index:40;top:0;display:flex;height:100vh;min-width:0;flex-direction:column;border-right:1px solid var(--line);background:#fff}.portal-brand-row{display:flex;height:74px;flex:0 0 auto;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:0 13px 0 17px}.portal-brand{display:flex;min-width:0;flex:1;align-items:center;gap:11px}.portal-brand__mark{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(145deg,#d0173d,#9e0827 72%);box-shadow:0 8px 18px -9px rgb(186 12 47/65%)}.portal-brand__mark svg{width:23px;height:23px}.portal-brand__copy{display:grid;min-width:0;gap:2px}.portal-brand__copy strong{font-weight:780}.portal-brand__copy small,.portal-brand__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-brand__copy small{color:var(--muted);font-size:8px;font-weight:760;letter-spacing:.12em}.portal-menu-button,.portal-sidebar__collapse{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:#fff;cursor:pointer}.portal-menu-button:hover,.portal-sidebar__collapse:hover{color:var(--scarlet);background:var(--scarlet-soft)}.portal-menu-button svg,.portal-sidebar__collapse svg{width:18px;height:18px}.portal-navigation{min-height:0;flex:1;overflow-y:auto;padding:13px 10px 20px}.portal-nav-group+.portal-nav-group{margin-top:17px}.portal-nav-group>small{display:block;margin:0 10px 7px;color:var(--muted-2);font-size:8px;font-weight:780;letter-spacing:.13em}.portal-nav-link{display:flex;min-height:47px;align-items:center;gap:11px;border-radius:11px;padding:7px 9px;color:var(--muted);transition:color .14s,background .14s}.portal-nav-link:hover{color:var(--ink);background:var(--surface-soft)}.portal-nav-link.is-active{color:var(--scarlet);background:var(--scarlet-soft)}.portal-nav-link>svg{width:23px;height:23px;flex:0 0 auto}.portal-nav-link>span{display:grid;min-width:0;gap:2px}.portal-nav-link em,.portal-nav-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-nav-link strong{color:inherit;font-weight:730}.portal-nav-link em{color:var(--muted-2);font-size:8px;font-style:normal}.portal-sidebar__status{display:flex;min-height:62px;flex:0 0 auto;align-items:center;gap:9px;border-top:1px solid var(--line);padding:10px 17px}.campus-source-list a>i,.portal-sidebar__status>i,.source-inspector dl i,.source-table button>span:nth-child(4) i{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#2e9d69;box-shadow:0 0 0 4px rgb(46 157 105/11%)}.portal-sidebar__status>i.is-error,.source-inspector dl i.is-degraded,.source-inspector dl i.is-stale,.source-table i.is-dead,.source-table i.is-degraded,.source-table i.is-stale{background:var(--red);box-shadow:0 0 0 4px rgb(180 35 24/11%)}.portal-sidebar__status>span{display:grid;min-width:0;gap:2px}.portal-sidebar__status small,.portal-sidebar__status strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-sidebar__status strong{font-size:9px}.portal-sidebar__status small{color:var(--muted);font-size:8px}.portal-shell.is-compact .portal-brand-row>button,.portal-shell.is-compact .portal-brand__copy,.portal-shell.is-compact .portal-nav-group>small,.portal-shell.is-compact .portal-nav-link>span,.portal-shell.is-compact .portal-sidebar__status>span{display:none}.portal-shell.is-compact .portal-brand-row{justify-content:center;padding:0}.portal-shell.is-compact .portal-brand{flex:0 0 auto}.portal-shell.is-compact .portal-navigation{padding-inline:12px}.portal-shell.is-compact .portal-nav-link,.portal-shell.is-compact .portal-sidebar__status{justify-content:center;padding-inline:0}.portal-topbar{z-index:45;display:flex;height:74px;gap:16px;border-bottom:1px solid rgb(18 20 22/7%);padding:0 28px;background:rgb(255 255 255/90%);backdrop-filter:blur(20px) saturate(140%)}.portal-menu-button{display:none}.portal-page-identity{display:flex;min-width:0;align-items:center;gap:10px}.portal-page-identity__icon{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border-radius:10px;color:var(--scarlet);background:var(--scarlet-soft)}.portal-page-identity__icon svg{width:19px;height:19px}.portal-page-identity>span:last-child{display:grid;min-width:0;gap:2px}.portal-page-identity small,.portal-page-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-page-identity strong{font-weight:760}.portal-page-identity small{color:var(--muted)}.portal-topbar__actions{display:flex;align-items:center;gap:16px;margin-left:auto}.portal-campus-select{display:flex;height:38px;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;padding:0 8px;background:#fff}.portal-campus-select svg{width:16px;color:var(--scarlet)}.portal-campus-select select{max-width:130px;border:0;outline:0;color:var(--ink-soft);background:transparent;font-size:10px;font-weight:700}.portal-main{width:min(calc(100% - 48px),1540px);min-height:calc(100vh - 74px);padding:28px 0 44px}.portal-mobile-nav,.portal-sidebar-backdrop{display:none}.academics-page,.calendar-page,.campuses-page,.housing-page,.portal-overview,.resource-page,.sources-page{min-width:0}.calendar-page-heading,.resource-page-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.resource-page-heading__icon{display:grid;width:54px;height:54px;flex:0 0 auto;place-items:center;border-radius:16px;color:var(--scarlet);background:var(--scarlet-soft)}.resource-page-heading__icon svg{width:29px;height:29px}.resource-page-heading__icon.housing-icon{color:var(--green);background:var(--green-soft)}.resource-page-heading__icon.campus-icon{color:var(--blue);background:var(--blue-soft)}.resource-page-heading__icon.source-icon{color:#7357c9;background:#f0edff}.calendar-page-heading>div:first-child,.resource-page-heading>div:nth-child(2){min-width:0;flex:1}.calendar-page-heading h1,.resource-page-heading h1{margin:0;font-size:28px;font-weight:790;letter-spacing:0;line-height:1.15}.calendar-page-heading p,.resource-page-heading p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.academics-heading>a,.calendar-page-heading>button,.resource-page-heading>a,.resource-refresh{display:inline-flex;min-height:39px;flex:0 0 auto;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:11px;padding:0 12px;color:var(--ink-soft);background:#fff;cursor:pointer;font-size:10px;font-weight:700}.calendar-page-heading>button:hover,.resource-page-heading>a:hover,.resource-refresh:hover{border-color:rgb(186 12 47/30%);color:var(--scarlet)}.calendar-page-heading>button svg,.resource-page-heading>a svg,.resource-refresh svg{width:15px;height:15px}.overview-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.overview-intro h1{margin:7px 0 8px;font-size:clamp(30px,3vw,46px);font-weight:790;letter-spacing:0;line-height:1.08}.overview-intro h1 span{color:var(--muted-2);font-weight:620}.overview-intro>div:first-child>p{margin:0;color:var(--muted);font-size:13px}.overview-data-status{display:grid;min-width:320px;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:15px;padding:11px 12px;background:#fff;box-shadow:var(--shadow-sm)}.overview-data-status>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:var(--green);background:var(--green-soft)}.overview-data-status>span.is-error{color:var(--red);background:var(--red-soft)}.overview-data-status>span svg{width:23px;height:23px}.overview-data-status>div{display:grid;gap:2px}.overview-data-status em,.overview-data-status small{color:var(--muted);font-size:8px;font-style:normal}.overview-data-status strong{font-size:12px}.overview-data-status>a{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;color:var(--muted)}.overview-data-status>a:hover{color:var(--scarlet);background:var(--scarlet-soft)}.overview-alert,.overview-clear-status{display:flex;min-height:58px;align-items:center;gap:11px;margin-top:20px;border:1px solid #f1d49d;border-radius:13px;padding:9px 12px;background:#fff7e8}.overview-alert>span,.overview-clear-status>svg{width:25px;height:25px;flex:0 0 auto;color:var(--amber)}.overview-alert>span svg{width:25px;height:25px}.overview-alert>div,.overview-clear-status>span{display:grid;min-width:0;flex:1;gap:2px}.overview-alert small,.overview-clear-status small{color:#83633d;font-size:8px}.overview-alert strong,.overview-clear-status strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.overview-alert button,.overview-clear-status a{display:inline-flex;align-items:center;gap:4px;border:0;padding:6px 8px;color:#7a4a00;background:none;cursor:pointer;font-size:9px;font-weight:750}.overview-clear-status{border-color:#bde1ce;background:#eef9f3}.overview-clear-status a,.overview-clear-status>svg{color:var(--green)}.overview-clear-status small{color:#52806a}.news-alert-panel,.news-clear-status{margin-bottom:16px;overflow:hidden;border:1px solid #f1d49d;border-radius:13px;background:#fffaf0}.news-alert-panel>header,.news-clear-status{display:flex;min-height:58px;align-items:center;gap:11px;padding:9px 12px}.news-alert-panel>header>span,.news-clear-status>svg{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border-radius:9px;color:#7a4a00;background:#ffe6b6}.news-alert-panel>header>span svg,.news-clear-status>svg{width:20px;height:20px}.news-alert-panel>header>div,.news-clear-status>span{display:grid;min-width:0;flex:1;gap:2px}.news-alert-panel>header strong,.news-clear-status strong{font-size:11px}.news-alert-panel>header small,.news-clear-status small{color:#83633d;font-size:8px}.news-alert-panel a,.news-clear-status a{display:inline-flex;align-items:center;gap:4px;color:#7a4a00;font-size:8px;font-weight:750}.news-alert-panel>div{border-top:1px solid #f1d49d;background:#fff}.news-alert-panel>div>button{display:grid;width:100%;min-height:54px;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line);padding:8px 12px;background:#fff;cursor:pointer;text-align:left}.news-alert-panel>div>button:last-child{border-bottom:0}.news-alert-panel>div>button:hover{background:var(--surface-soft)}.news-alert-panel>div>button>span{display:grid;min-width:0;gap:3px}.news-alert-panel>div>button small,.news-alert-panel>div>button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.news-alert-panel>div>button strong{font-size:9px}.news-alert-panel time,.news-alert-panel>div>button small{color:var(--muted);font-size:7px}.news-alert-panel>div>button>svg{color:var(--muted-2)}.news-clear-status{border-color:#bde1ce;background:#eef9f3}.news-clear-status a,.news-clear-status>svg{color:var(--green)}.news-clear-status>svg{background:#d8f1e4}.news-clear-status small{color:#52806a}.overview-quick-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.overview-quick-links>a{display:grid;min-height:104px;grid-template-columns:40px minmax(0,1fr) 16px;grid-template-rows:auto auto;align-items:center;gap:2px 10px;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff;transition:transform .15s,border-color .15s,box-shadow .15s}.overview-quick-links>a:hover{border-color:#cbd0d6;box-shadow:var(--shadow-md);transform:translateY(-1px)}.overview-quick-links>a>span{display:grid;width:40px;height:40px;grid-row:1/3;place-items:center;border-radius:12px;color:var(--scarlet);background:var(--scarlet-soft)}.overview-quick-links>a:nth-child(2n)>span{color:var(--blue);background:var(--blue-soft)}.overview-quick-links>a:nth-child(3n)>span{color:var(--green);background:var(--green-soft)}.overview-quick-links>a>span svg{width:22px;height:22px}.overview-quick-links small,.overview-quick-links strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-quick-links strong{align-self:end;font-size:11px}.overview-quick-links small{align-self:start;color:var(--muted);font-size:8px}.overview-quick-links>a>svg{grid-column:3;grid-row:1/3;color:var(--muted-2)}.overview-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:14px;margin-top:14px}.overview-news,.overview-upcoming{min-width:0;border:1px solid var(--line);border-radius:16px;background:#fff}.campus-resource-pages>header,.campus-source-list>header,.overview-news>header,.overview-upcoming>header{display:flex;min-height:68px;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 16px}.campus-content-grid header small,.overview-news header small,.overview-upcoming header small{color:var(--scarlet);font-size:8px;font-weight:780;letter-spacing:.12em}.campus-content-grid h2,.overview-news h2,.overview-upcoming h2{margin:3px 0 0;font-size:17px}.overview-news header a,.overview-upcoming header a{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px;font-weight:700}.overview-event-list>button{display:grid;width:100%;min-height:64px;grid-template-columns:90px minmax(0,1fr) 20px;align-items:center;gap:12px;border:0;border-bottom:1px solid var(--line);padding:9px 16px;background:transparent;cursor:pointer;text-align:left}.overview-event-list>button:last-child{border-bottom:0}.overview-event-list>button:hover{background:var(--surface-soft)}.overview-event-list>button>span{display:grid;min-width:0;gap:3px}.overview-event-list>button>span:first-child{border-right:1px solid var(--line)}.overview-event-list small,.overview-event-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-event-list strong{font-size:10px}.overview-event-list>button>span:nth-child(2)>strong{font-size:11px}.overview-event-list small{color:var(--muted);font-size:8px}.overview-event-list>button>svg{color:var(--muted-2)}.overview-news-list{display:grid;padding:4px 15px 10px}.overview-news-list button{display:grid;gap:5px;border:0;border-bottom:1px solid var(--line);padding:13px 2px;background:none;cursor:pointer;text-align:left}.overview-news-list button:last-child{border-bottom:0}.overview-news-list small,.overview-news-list span{color:var(--muted);font-size:8px}.overview-news-list strong{display:-webkit-box;overflow:hidden;font-size:11px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.class-results-loading,.housing-documents.is-loading,.overview-list-loading,.resource-skeleton-list,.source-inspector__loading{display:grid;gap:9px;padding:14px}.class-results-loading i,.housing-documents.is-loading i,.overview-list-loading i,.resource-skeleton-list i,.source-inspector__loading i{display:block;height:56px;border-radius:10px;background:linear-gradient(100deg,#eceff1 20%,#f8f9fa 45%,#eceff1 70%);background-size:220% 100%;animation:resource-shimmer 1.2s linear infinite}@keyframes resource-shimmer{to{background-position:-220% 0}}.resource-toolbar{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff}.resource-search{display:flex;min-width:220px;height:42px;flex:1;align-items:center;gap:8px;border:1px solid var(--line);border-radius:11px;padding:0 11px;background:var(--surface-soft)}.resource-search:focus-within{border-color:rgb(186 12 47/35%);background:#fff;box-shadow:0 0 0 4px rgb(186 12 47/6%)}.resource-search>svg{width:17px;color:var(--muted)}.resource-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:11px}.resource-search button{display:grid;border:0;padding:0;color:var(--muted);background:none;cursor:pointer}.resource-select{display:flex;height:42px;align-items:center;gap:8px;border-left:1px solid var(--line);padding:0 7px 0 16px}.resource-select span{color:var(--muted);font-size:9px}.resource-select select{max-width:200px;border:0;outline:0;background:#fff;font-size:10px;font-weight:700}.resource-list-meta{display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:0 4px;color:var(--muted);font-size:9px}.resource-rows{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.resource-row{display:grid;width:100%;min-height:108px;grid-template-columns:64px minmax(0,1fr) 24px;align-items:center;gap:14px;border:0;border-bottom:1px solid var(--line);padding:13px 16px;background:#fff;cursor:pointer;text-align:left}.resource-row:last-child{border-bottom:0}.resource-row:hover{background:var(--surface-soft)}.resource-row__date{display:grid;width:62px;height:62px;align-content:center;gap:2px;border-radius:13px;color:var(--scarlet);background:var(--scarlet-soft);text-align:center}.resource-row__date.is-news{color:var(--blue);background:var(--blue-soft)}.resource-row__date.is-organization{color:#7357c9;background:#f0edff}.resource-row__date small{font-size:8px}.resource-row__date strong{font-size:11px}.resource-row__content{display:grid;min-width:0;gap:5px}.resource-row__meta,.resource-row__topline{display:flex;min-width:0;align-items:center;gap:7px}.resource-row__topline em{border-radius:5px;padding:2px 5px;color:var(--scarlet);background:var(--scarlet-soft);font-size:7px;font-style:normal;font-weight:750}.resource-row__meta span,.resource-row__topline small{color:var(--muted);font-size:8px}.resource-row__content>strong{overflow:hidden;font-size:13px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.resource-row__content>p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.resource-row__meta span{display:flex;min-width:0;align-items:center;gap:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-row__meta svg{width:12px;flex:0 0 auto}.resource-row__arrow{color:var(--muted-2)}.resource-empty{display:grid;min-height:280px;place-items:center;align-content:center;gap:7px;border:1px dashed var(--line-strong);border-radius:14px;padding:30px;color:var(--muted);background:rgb(255 255 255/55%);text-align:center}.resource-empty>svg{width:38px;height:38px;color:var(--muted-2)}.resource-empty h2{margin:5px 0 0;color:var(--ink);font-size:15px}.resource-empty p{margin:0;font-size:10px}.resource-empty button{border:0;border-radius:9px;padding:7px 11px;color:#fff;background:var(--scarlet);cursor:pointer;font-size:9px;font-weight:700}.resource-sheet-layer{position:fixed;z-index:120;inset:0}.resource-sheet-backdrop{position:absolute;inset:0;border:0;background:rgb(17 20 24/35%);backdrop-filter:blur(2px)}.resource-sheet{position:absolute;top:0;right:0;display:flex;width:min(560px,92vw);height:100%;flex-direction:column;background:#fff;box-shadow:-24px 0 70px -30px rgb(16 24 40/45%);animation:resource-sheet-in .18s ease-out}@keyframes resource-sheet-in{0%{transform:translateX(30px);opacity:0}}.resource-sheet>header{display:flex;height:64px;flex:0 0 auto;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 18px}.resource-sheet__type{display:flex;align-items:center;gap:7px;color:var(--scarlet);font-size:9px;font-weight:780;text-transform:uppercase}.resource-sheet__type svg{width:20px;height:20px}.resource-sheet>header button{display:grid;width:34px;height:34px;place-items:center;border:0;border-radius:10px;color:var(--muted);background:var(--surface-soft);cursor:pointer}.resource-sheet>header button svg{width:20px;height:20px}.resource-sheet__body{min-height:0;flex:1;overflow-y:auto;padding:23px 20px 36px}.resource-sheet__heading h2{margin:0;overflow-wrap:anywhere;font-size:24px;line-height:1.25}.resource-sheet__heading>div{display:flex;flex-wrap:wrap;gap:8px 13px;margin-top:13px}.resource-sheet__heading>div span{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:9px}.resource-sheet__heading svg{width:13px}.resource-sheet__categories{display:flex;flex-wrap:wrap;gap:6px;margin-top:17px}.resource-sheet__categories span{border:1px solid var(--line);border-radius:7px;padding:4px 7px;color:var(--muted);background:var(--surface-soft);font-size:8px}.resource-sheet__content p,.resource-sheet__summary{color:var(--ink-soft);font-size:11px;line-height:1.75;overflow-wrap:anywhere}.resource-sheet__summary{margin:19px 0 0;font-size:12px}.resource-sheet__content,.resource-sheet__series,.resource-sheet__sources{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.resource-sheet h3{margin:0 0 11px;font-size:11px}.resource-sheet__series>div{display:flex;flex-wrap:wrap;gap:6px}.resource-sheet__series span{border-radius:7px;padding:5px 7px;color:var(--blue);background:var(--blue-soft);font-size:8px}.resource-sheet__sources{display:grid;gap:7px}.resource-sheet__sources h3{margin-bottom:4px}.resource-sheet__sources a{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.resource-sheet__sources a:hover{border-color:#b9d7c8;background:var(--green-soft)}.resource-sheet__sources a>span{display:grid;min-width:0;grid-template-columns:18px minmax(0,1fr);gap:2px 5px}.resource-sheet__sources a>span svg{width:17px;height:17px;grid-row:1/3;color:var(--green)}.resource-sheet__sources a small,.resource-sheet__sources a strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-sheet__sources a strong{font-size:9px}.resource-sheet__sources a small{color:var(--muted);font-size:7px}.resource-sheet__sources a>svg{width:16px;flex:0 0 auto;color:var(--muted)}.resource-sheet__error,.resource-sheet__loading{display:grid;flex:1;place-content:center;gap:10px;padding:30px;text-align:center}.resource-sheet__loading i{display:block;width:260px;max-width:60vw;height:18px;border-radius:8px;background:var(--surface-muted)}.resource-sheet__error svg{width:38px;height:38px;justify-self:center;color:var(--red)}.resource-sheet__error p{color:var(--muted);font-size:10px}.resource-sheet__error button{border:0;border-radius:9px;padding:7px 10px;color:#fff;background:var(--scarlet);cursor:pointer}.calendar-page-heading{align-items:flex-end;justify-content:space-between}.calendar-page-heading h1{margin-top:5px}.calendar-toolbar{display:flex;min-height:58px;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px 14px 0 0;padding:8px 12px;background:#fff}.calendar-month-control{display:flex;align-items:center;gap:4px}.calendar-month-control button,.calendar-refresh{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--line);border-radius:9px;color:var(--muted);background:#fff;cursor:pointer}.calendar-month-control strong{min-width:130px;font-size:14px;text-align:center}.calendar-toolbar>label{display:flex;height:34px;align-items:center;gap:5px;margin-left:auto;border:1px solid var(--line);border-radius:9px;padding:0 8px}.calendar-toolbar label svg{width:15px;color:var(--muted)}.calendar-toolbar label select{max-width:220px;border:0;outline:0;background:transparent;font-size:9px;font-weight:700}.calendar-refresh{display:inline-flex;width:auto;gap:5px;padding:0 10px;font-size:9px;font-weight:700}.calendar-layout{display:grid;min-height:700px;grid-template-columns:minmax(0,1fr) 310px;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px;background:#fff}.calendar-grid-panel{min-width:0;border-right:1px solid var(--line)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--line);background:var(--surface-soft)}.calendar-weekdays span{padding:9px;color:var(--muted);font-size:9px;font-weight:750;text-align:center}.calendar-grid{display:grid;min-height:660px;grid-auto-rows:minmax(108px,1fr);grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{position:relative;min-width:0;overflow:hidden;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px;background:#fff;cursor:pointer;text-align:left}.calendar-day:nth-child(7n){border-right:0}.calendar-day.is-selected,.calendar-day:hover{background:#faf4f5}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px rgb(186 12 47/65%)}.calendar-day.is-empty{background:var(--surface-soft)}.calendar-day__number{display:grid;width:24px;height:24px;place-items:center;border-radius:8px;color:var(--ink-soft);font-size:9px;font-weight:750}.calendar-day__events{min-width:0;gap:4px;margin-top:5px}.calendar-day__events>span{display:grid;min-width:0;height:23px;grid-template-columns:5px auto minmax(0,1fr);align-items:center;gap:3px;border-radius:6px;padding:0 5px;color:var(--blue);background:var(--blue-soft)}.calendar-day__events>span.is-academic{color:var(--scarlet);background:var(--scarlet-soft)}.calendar-day__events i{width:4px;height:4px;border-radius:50%;background:currentColor}.calendar-day__events small,.calendar-day__events strong{overflow:hidden;font-size:6.5px;text-overflow:ellipsis;white-space:nowrap}.calendar-day__events strong{font-size:7px}.calendar-day__events em{color:var(--muted);font-size:7px;font-style:normal}.calendar-agenda{min-width:0;background:var(--surface-soft)}.calendar-agenda>header{display:flex;height:76px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 14px;background:#fff}.calendar-agenda>header span{display:grid;gap:2px}.calendar-agenda>header small{color:var(--muted);font-size:8px}.calendar-agenda>header strong{font-size:20px}.calendar-agenda>header em{border-radius:8px;padding:5px 7px;color:var(--scarlet);background:var(--scarlet-soft);font-size:8px;font-style:normal;font-weight:750}.calendar-agenda__items{display:grid;gap:7px;padding:10px}.calendar-agenda__items>button{display:grid;width:100%;min-height:72px;grid-template-columns:12px minmax(0,1fr) 16px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px;background:#fff;cursor:pointer;text-align:left}.calendar-agenda__items>button:hover{border-color:#cbd0d6;box-shadow:var(--shadow-sm)}.calendar-agenda__items>button>span:first-child{display:grid;height:100%;place-items:center}.calendar-agenda__items>button>span:first-child i{width:4px;height:100%;border-radius:4px;background:var(--blue)}.calendar-agenda__items>button>span:first-child.is-academic i{background:var(--scarlet)}.calendar-agenda__items>button>span:nth-child(2){display:grid;min-width:0;gap:3px}.calendar-agenda__items em,.calendar-agenda__items small{overflow:hidden;color:var(--muted);font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.calendar-agenda__items strong{display:-webkit-box;overflow:hidden;font-size:9px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.calendar-agenda__items>button>svg{color:var(--muted-2)}.calendar-agenda__empty{display:grid;min-height:300px;place-content:center;justify-items:center;gap:6px;padding:20px;text-align:center}.calendar-agenda__empty svg{width:36px;height:36px;color:var(--muted-2)}.calendar-agenda__empty strong{font-size:11px}.calendar-agenda__empty small{color:var(--muted);font-size:8px}.academics-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px}.academics-tabs button{position:relative;display:inline-flex;height:43px;align-items:center;gap:6px;border:0;padding:0 14px;color:var(--muted);background:none;cursor:pointer;font-size:10px;font-weight:720}.academics-tabs button.is-active{color:var(--ink)}.academics-tabs button.is-active:after{position:absolute;right:12px;bottom:-1px;left:12px;height:3px;border-radius:3px 3px 0 0;background:var(--scarlet);content:""}.academics-tabs button>svg{width:17px;height:17px}.academics-tabs button>span{display:grid;min-width:17px;height:17px;place-items:center;border-radius:6px;color:var(--scarlet);background:var(--scarlet-soft);font-size:7px}.class-search-form{display:grid;grid-template-columns:minmax(270px,1fr) 170px 130px auto;align-items:end;gap:9px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.class-search-form>label:not(.class-search-input){display:grid;gap:5px}.class-search-form>label>span{color:var(--muted);font-size:8px;font-weight:700}.class-search-form select,.class-search-form>label:not(.class-search-input) input{width:100%;height:44px;border:1px solid var(--line);border-radius:10px;padding:0 10px;outline:0;background:var(--surface-soft);font-size:10px;font-weight:700}.class-search-input{display:grid;height:62px;grid-template-columns:20px minmax(0,1fr);align-content:center;gap:1px 8px;border:1px solid var(--line);border-radius:11px;padding:0 12px;background:var(--surface-soft)}.class-search-input:focus-within{border-color:rgb(186 12 47/35%);box-shadow:0 0 0 4px rgb(186 12 47/6%)}.class-search-input>svg{width:20px;height:20px;grid-row:1/3;align-self:center;color:var(--scarlet)}.class-search-input input{min-width:0;border:0;outline:0;background:transparent;font-size:13px;font-weight:700}.class-search-input span{color:var(--muted);font-size:7px}.class-search-form>button{display:inline-flex;height:44px;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:0 15px;color:#fff;background:var(--scarlet);cursor:pointer;font-size:10px;font-weight:750;white-space:nowrap}.class-search-form>button:disabled{cursor:not-allowed;opacity:.45}.class-search-start{display:grid;min-height:360px;place-content:center;justify-items:center;gap:7px;text-align:center}.class-search-start>svg{width:52px;height:52px;color:var(--scarlet)}.class-search-start h2{margin:8px 0 0;font-size:17px}.class-search-start p{max-width:470px;margin:0;color:var(--muted);font-size:10px;line-height:1.6}.class-results{margin-top:13px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.class-results>header{display:flex;min-height:47px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 14px;background:var(--surface-soft)}.class-results>header span{font-size:9px}.class-results>header span strong{color:var(--scarlet);font-size:13px}.class-results>header small{color:var(--muted);font-size:8px}.class-result{border-bottom:1px solid var(--line)}.class-result:last-child{border-bottom:0}.class-result__summary{width:100%;min-height:116px;grid-template-columns:90px minmax(0,1fr) 100px 22px;align-items:center;gap:14px;border:0;padding:14px;cursor:pointer;text-align:left}.class-result.is-expanded .class-result__summary,.class-result__summary:hover{background:#fafafa}.class-result__code{display:grid;width:88px;height:68px;place-content:center;gap:3px;border-radius:12px;color:var(--scarlet);background:var(--scarlet-soft);text-align:center}.class-result__code small{font-size:8px;font-weight:750}.class-result__code strong{font-size:18px}.class-result__title{display:grid;min-width:0;gap:4px}.class-result__title>strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.class-result__title small{color:var(--muted);font-size:8px}.class-result__title p{display:-webkit-box;margin:2px 0 0;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.class-result__stats{display:grid;justify-items:end;gap:2px}.class-result__stats strong{font-size:20px}.class-result__stats em,.class-result__stats small{color:var(--muted);font-size:7px;font-style:normal}.class-result__stats em{margin-top:4px;border-radius:6px;padding:3px 5px;color:var(--blue);background:var(--blue-soft)}.class-result__summary>svg{color:var(--muted);transition:transform .15s}.class-result.is-expanded .class-result__summary>svg{transform:rotate(180deg)}.class-result__sections{background:var(--surface-soft)}.class-section-row{display:grid;min-height:78px;grid-template-columns:155px minmax(190px,1fr) 170px 96px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:10px 14px}.class-section-row:last-child{border-bottom:0}.class-section-row__identity,.class-section-row__meeting,.class-section-row__seats{display:grid;min-width:0;gap:3px}.class-section-row__identity>span{display:flex;align-items:center;gap:4px;color:var(--red);font-size:7px;font-weight:750}.class-section-row__identity>span.is-open{color:var(--green)}.class-section-row__identity>span i{width:6px;height:6px;border-radius:50%;background:currentColor}.class-section-row strong{font-size:9px}.class-section-row small,.class-section-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-section-row small{color:var(--muted);font-size:7px}.class-section-row__seats>strong{color:var(--green);font-size:17px}.class-section-row__seats>button{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:4px;border:0;padding:5px 0;color:var(--blue);background:none;cursor:pointer;font-size:8px;font-weight:750}.class-section-row__seats em{color:var(--red);font-size:7px;font-style:normal}.class-plan-button{display:inline-flex;height:34px;align-items:center;justify-content:center;gap:4px;border:1px solid var(--line);border-radius:9px;color:var(--ink-soft);background:#fff;cursor:pointer;font-size:8px;font-weight:700}.class-plan-button.is-planned{border-color:#afd5c1;color:var(--green);background:var(--green-soft)}.program-directory>header,.schedule-workspace>header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.program-directory h2,.schedule-workspace h2{margin:0;font-size:18px}.program-directory header p,.schedule-workspace header p{margin:4px 0 0;color:var(--muted);font-size:9px}.program-directory header label{display:flex;width:min(360px,40vw);height:42px;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;padding:0 10px;background:#fff}.program-directory header label svg{width:17px;color:var(--muted)}.program-directory header input{min-width:0;flex:1;border:0;outline:0;font-size:10px}.program-list{grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.program-list>button{display:grid;min-height:136px;grid-template-columns:46px minmax(0,1fr) 18px;align-items:center;gap:10px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;text-align:left}.program-list>button:nth-child(2n){border-right:0}.program-list>button:hover{background:var(--surface-soft)}.program-list>button>span:first-child{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:var(--blue);background:var(--blue-soft)}.program-list>button>span:first-child svg{width:23px;height:23px}.program-list>button>span:nth-child(2){display:grid;min-width:0;gap:4px}.program-list em,.program-list small{color:var(--muted);font-size:7px;font-style:normal}.program-list strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.program-list p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:8px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.program-list>button>svg{color:var(--muted-2)}.schedule-workspace>header>span{border-radius:8px;padding:6px 8px;color:var(--scarlet);background:var(--scarlet-soft);font-size:8px;font-weight:750}.schedule-empty{display:grid;min-height:420px;place-content:center;justify-items:center;gap:7px;border:1px dashed var(--line-strong);border-radius:14px;background:rgb(255 255 255/55%);text-align:center}.schedule-empty svg{width:50px;height:50px;color:var(--scarlet)}.schedule-empty h3{margin:8px 0 0}.schedule-empty p{margin:0;color:var(--muted);font-size:9px}.schedule-empty.is-loading{min-height:180px}.schedule-loading-dots{display:flex;gap:5px}.schedule-loading-dots i{width:7px;height:7px;border-radius:50%;background:var(--scarlet);animation:schedule-dot .8s infinite alternate}.schedule-loading-dots i:nth-child(2){animation-delay:.15s}.schedule-loading-dots i:nth-child(3){animation-delay:.3s}@keyframes schedule-dot{to{transform:translateY(-4px);opacity:.45}}.schedule-conflicts{display:grid;gap:7px;margin-top:14px;border-top:1px solid var(--line);padding-top:14px}.schedule-conflicts>header{display:flex;align-items:center;gap:6px;color:var(--amber);font-size:10px}.schedule-conflicts>header svg{width:17px;height:17px}.schedule-conflict{display:flex;align-items:flex-start;gap:8px;border-left:3px solid var(--amber);border-radius:7px;padding:8px 10px;background:#fffaf0}.schedule-conflict.is-overlap{border-left-color:var(--red);background:var(--red-soft)}.schedule-conflict svg{width:15px;height:15px;flex:0 0 auto;color:var(--amber)}.schedule-conflict.is-overlap svg{color:var(--red)}.schedule-conflict span{display:grid;gap:2px;min-width:0}.schedule-conflict strong{font-size:9px;line-height:1.3}.schedule-conflict small{color:var(--muted);font-size:8px;line-height:1.4}.schedule-clear{display:flex;align-items:center;gap:6px;margin-top:14px;color:#267a53;font-size:9px}.schedule-clear svg{width:16px;height:16px}.schedule-travel-note{margin:7px 0 0;color:var(--muted-2);font-size:7px;line-height:1.45}.schedule-item-actions{display:grid;gap:7px;margin:14px 0 5px}.schedule-item-actions>button{display:inline-flex;width:fit-content;min-height:35px;align-items:center;gap:7px;border:1px solid rgb(187 35 43/24%);border-radius:8px;padding:0 12px;color:var(--scarlet);background:var(--scarlet-soft);cursor:pointer;font-size:9px;font-weight:750}.schedule-item-actions>button.is-scheduled{color:#267a53;border-color:rgb(46 157 105/24%);background:rgb(46 157 105/9%)}.schedule-item-actions>button:disabled{cursor:wait;opacity:.65}.schedule-item-actions>button svg{width:16px;height:16px}.schedule-inline-notice{display:flex;align-items:flex-start;gap:5px;margin:0;color:var(--amber);font-size:8px;line-height:1.4}.schedule-inline-notice.is-overlap{color:var(--red)}.schedule-inline-notice svg{width:14px;height:14px;flex:0 0 auto}.schedule-manual{margin-top:17px;border-top:1px solid var(--line);padding-top:13px}.schedule-manual__toggle{display:inline-flex;min-height:34px;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:8px;padding:0 10px;color:var(--ink);background:#fff;cursor:pointer;font-size:9px;font-weight:720}.schedule-manual__toggle:hover{border-color:var(--scarlet);color:var(--scarlet)}.schedule-manual__toggle svg{width:16px;height:16px}.schedule-manual form{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(5,minmax(90px,1fr)) auto;gap:8px;margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.schedule-manual label{display:grid;gap:4px;min-width:0}.schedule-manual label span{color:var(--muted);font-size:7px;font-weight:700}.schedule-manual input,.schedule-manual select{width:100%;min-height:31px;border:1px solid var(--line-strong);border-radius:6px;padding:0 7px;color:var(--ink);background:#fff;font:inherit;font-size:8px}.schedule-manual form>button{display:inline-flex;align-self:end;min-height:31px;align-items:center;gap:5px;border:0;border-radius:6px;padding:0 9px;color:#fff;background:var(--scarlet);cursor:pointer;font-size:8px;font-weight:750;white-space:nowrap}.schedule-manual form>button svg{width:14px;height:14px}.weekly-schedule{position:relative;display:grid;height:784px;grid-template-columns:58px repeat(5,minmax(0,1fr));grid-template-rows:42px 742px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.weekly-schedule__corner,.weekly-schedule__day{display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);background:var(--surface-soft);font-size:9px}.weekly-schedule__day:last-of-type{border-right:0}.weekly-schedule__times{position:relative;grid-column:1;grid-row:2;border-right:1px solid var(--line);background:var(--surface-soft)}.weekly-schedule__times span{position:relative;display:block;height:56px;border-bottom:1px solid var(--line);padding:5px 6px;color:var(--muted);font-size:7px;text-align:right}.weekly-schedule__column{grid-row:2;border-right:1px solid var(--line);background:repeating-linear-gradient(180deg,transparent 0 27px,#eef0f2 27px 28px)}.weekly-schedule__event{position:absolute;z-index:2;width:calc((100% - 58px) / 5 - 6px);margin-top:42px;margin-left:calc(58px + (var(--schedule-day, 0) * ((100% - 58px) / 5)) + 3px);overflow:hidden;border:0;border-left:4px solid var(--scarlet);border-radius:8px;padding:7px;color:#7d1029;background:#fbe4e9;cursor:pointer;text-align:left}.weekly-schedule__event.color-1{border-color:var(--blue);color:#1d4f8d;background:#e5effc}.weekly-schedule__event.color-2{border-color:var(--green);color:#17603e;background:#e4f5ec}.weekly-schedule__event.color-3{border-color:var(--amber);color:#7b4a08;background:#fff0d8}.weekly-schedule__event.color-4{border-color:#7357c9;color:#51399f;background:#eeebff}.weekly-schedule__event small,.weekly-schedule__event span,.weekly-schedule__event strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.weekly-schedule__event strong{font-size:9px}.weekly-schedule__event small,.weekly-schedule__event span{margin-top:3px;font-size:7px}.schedule-mobile-list{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:11px;margin-top:13px;background:#fff}.schedule-mobile-list button{display:grid;min-height:62px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) 20px;align-items:center;gap:9px;border:0;border-bottom:1px solid var(--line);padding:10px;background:#fff;text-align:left;cursor:pointer}.schedule-mobile-list button:last-child{border-bottom:0}.schedule-mobile-list button:hover{background:var(--surface-soft)}.schedule-mobile-list button>span{display:grid;gap:2px;min-width:0}.schedule-mobile-list small,.schedule-mobile-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-mobile-list strong{font-size:9px}.schedule-mobile-list small{color:var(--muted);font-size:7px}.schedule-mobile-list button>svg{width:16px;height:16px;color:var(--muted)}.housing-callout{display:grid;min-height:118px;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid #bcdaca;border-radius:15px;padding:16px;background:#eff8f3}.housing-callout>span{display:grid;width:58px;height:58px;place-items:center;border-radius:15px;color:var(--green);background:#d9f0e4}.housing-callout>span svg{width:31px;height:31px}.housing-callout small{color:var(--green);font-size:8px;font-weight:780;letter-spacing:.12em}.housing-callout h2{margin:4px 0 5px;font-size:18px}.housing-callout p{margin:0;color:#527565;font-size:9px}.housing-callout>button{display:inline-flex;height:38px;align-items:center;gap:5px;border:0;border-radius:10px;padding:0 11px;color:#fff;background:var(--green);cursor:pointer;font-size:9px;font-weight:730}.housing-controls{display:flex;align-items:center;gap:12px;margin-top:13px;border:1px solid var(--line);border-radius:13px;padding:9px 11px;background:#fff}.housing-controls>label:first-child{display:flex;height:38px;align-items:center;gap:8px}.housing-controls label>span:first-child{color:var(--muted);font-size:8px}.housing-controls select{height:34px;border:1px solid var(--line);border-radius:9px;padding:0 8px;outline:0;background:var(--surface-soft);font-size:9px;font-weight:700}.housing-history-toggle{display:flex;align-items:center;gap:7px;margin-left:auto;cursor:pointer}.housing-history-toggle input{position:absolute;opacity:0}.housing-history-toggle>span{grid-template-columns:31px auto;gap:2px 7px}.housing-history-toggle i{position:relative;width:31px;height:18px;grid-row:1/3;border-radius:10px;background:var(--surface-muted)}.housing-history-toggle i:after{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgb(16 24 40/20%);content:"";transition:transform .15s}.housing-history-toggle input:checked+span i{background:var(--scarlet)}.housing-history-toggle input:checked+span i:after{transform:translateX(13px)}.housing-history-toggle small,.housing-history-toggle strong{font-size:8px}.housing-history-toggle small{font-size:7px}.housing-controls>button{display:inline-flex;height:34px;align-items:center;gap:4px;border:1px solid var(--line);border-radius:9px;padding:0 9px;color:var(--muted);background:#fff;cursor:pointer;font-size:8px;font-weight:700}.housing-documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.housing-documents>article{position:relative;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff}.housing-document__main{display:grid;width:100%;min-height:150px;grid-template-columns:50px minmax(0,1fr) 18px;align-items:start;gap:11px;border:0;padding:14px 14px 42px;background:#fff;cursor:pointer;text-align:left}.housing-document__main:hover{background:var(--surface-soft)}.housing-document__icon{display:grid;width:48px;height:48px;place-items:center;border-radius:13px;color:var(--green);background:var(--green-soft)}.housing-document__icon svg{width:25px;height:25px}.housing-document__content{display:grid;min-width:0;gap:5px}.housing-document__content>span:first-child{display:flex;align-items:center;gap:6px}.housing-document__content>span:first-child small{color:var(--green);font-size:7px;font-weight:750}.housing-document__content>span:first-child em{border-radius:5px;padding:2px 4px;color:var(--amber);background:var(--amber-soft);font-size:6px;font-style:normal}.housing-document__content>strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.housing-document__content>p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:8px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.housing-document__meta{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:3px}.housing-document__meta span{display:flex;align-items:center;gap:3px;color:var(--muted);font-size:7px}.housing-document__meta svg{width:11px}.housing-document__main>svg{color:var(--muted-2)}.housing-documents>article>a{position:absolute;right:12px;bottom:10px;display:inline-flex;align-items:center;gap:4px;color:var(--green);font-size:8px;font-weight:700}.campus-switcher{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.campus-switcher button{display:grid;min-width:0;min-height:92px;place-items:center;align-content:center;gap:4px;border:1px solid var(--line);border-radius:12px;padding:9px;color:var(--muted);background:#fff;cursor:pointer}.campus-switcher button.is-active,.campus-switcher button:hover{border-color:rgb(40 101 182/32%);color:var(--blue);background:var(--blue-soft)}.campus-switcher button>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;color:var(--blue);background:var(--blue-soft)}.campus-switcher button.is-active>span{color:#fff;background:var(--blue)}.campus-switcher svg{width:19px;height:19px}.campus-switcher small,.campus-switcher strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campus-switcher strong{color:inherit;font-size:9px}.campus-switcher small{font-size:7px}.campus-detail-band{display:flex;min-height:125px;align-items:center;justify-content:space-between;gap:24px;margin-top:12px;border:1px solid #c6d7eb;border-radius:14px;padding:17px 20px;background:#edf4fc}.campus-detail-band small{color:var(--blue);font-size:8px;font-weight:780;letter-spacing:.12em}.campus-detail-band h2{margin:4px 0;font-size:25px}.campus-detail-band p{max-width:650px;margin:0;color:#526f92;font-size:9px}.campus-health-summary{display:flex;gap:8px}.campus-health-summary span{display:grid;min-width:78px;gap:2px;border-left:1px solid #c6d7eb;padding:5px 12px}.campus-health-summary strong{color:var(--blue);font-size:19px}.campus-health-summary small{color:#526f92;font-size:7px;letter-spacing:0}.campus-content-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.65fr);gap:12px;margin-top:12px}.campus-resource-pages,.campus-source-list{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.campus-resource-pages>button{display:grid;width:100%;min-height:98px;grid-template-columns:44px minmax(0,1fr) 18px;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--line);padding:12px 15px;background:#fff;cursor:pointer;text-align:left}.campus-resource-pages>button:hover{background:var(--surface-soft)}.campus-resource-pages>button>span:first-child{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;color:var(--blue);background:var(--blue-soft)}.campus-resource-pages>button>span:nth-child(2){display:grid;min-width:0;gap:4px}.campus-resource-pages small{color:var(--blue);font-size:7px}.campus-resource-pages strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.campus-resource-pages p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:8px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.campus-source-list>a{display:grid;min-height:61px;grid-template-columns:8px minmax(0,1fr) auto 16px;align-items:center;gap:9px;border-bottom:1px solid var(--line);padding:9px 13px}.campus-source-list>a:hover{background:var(--surface-soft)}.campus-source-list>a>span{display:grid;min-width:0;gap:3px}.campus-source-list small,.campus-source-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campus-source-list strong{font-size:9px}.campus-source-list em,.campus-source-list small{color:var(--muted);font-size:7px}.campus-source-list em{font-style:normal}.campus-empty{min-height:180px;padding:30px;color:var(--muted);font-size:9px;text-align:center}.source-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.source-metrics button{display:grid;min-height:86px;grid-template-columns:40px auto;grid-template-rows:auto auto;align-content:center;justify-content:start;gap:1px 9px;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--muted);background:#fff;cursor:pointer;text-align:left}.source-metrics button.is-active,.source-metrics button:hover{border-color:#cbbff4;color:#6448bd;background:#f7f5ff}.source-metrics button>span{display:grid;width:38px;height:38px;grid-row:1/3;place-items:center;border-radius:11px;color:#7357c9;background:#f0edff}.source-metrics button strong{align-self:end;color:var(--ink);font-size:18px}.source-metrics button small{align-self:start;overflow:hidden;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.coverage-gaps{margin-top:12px;border:1px solid #e8d8b4;border-radius:8px;padding:13px 14px;background:#fffaf0}.coverage-gaps>header{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;align-items:start}.coverage-gaps>header>span{display:grid;width:36px;height:36px;place-items:center;border-radius:7px;color:#8a5e0d;background:#f8e8be}.coverage-gaps>header svg{width:18px;height:18px}.coverage-gaps small{color:#8a5e0d;font-size:8px;font-weight:780;letter-spacing:.1em}.coverage-gaps h2{margin:2px 0 0;font-size:15px}.coverage-gaps>header p{margin:4px 0 0;color:#7b6a4a;font-size:9px;line-height:1.5}.coverage-gaps>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:11px}.coverage-gaps article{min-width:0;border-top:1px solid #ead9b5;padding-top:8px}.coverage-gaps article strong{display:block;font-size:10px;line-height:1.35}.coverage-gaps article p{margin:4px 0 0;color:#7b6a4a;font-size:8px;line-height:1.5}.source-toolbar{display:flex;gap:9px;margin-top:11px;border:1px solid var(--line);border-radius:12px;padding:9px;background:#fff}.source-toolbar label{display:flex;height:38px;flex:1;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--surface-soft)}.source-toolbar input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:10px}.source-toolbar button{display:inline-flex;height:38px;align-items:center;gap:5px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;cursor:pointer;font-size:8px;font-weight:700}.source-layout{display:grid;min-height:680px;grid-template-columns:minmax(0,1fr) 390px;gap:11px;margin-top:11px}.source-inspector,.source-inspector-placeholder,.source-table-wrap{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.source-table-header,.source-table>button{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(105px,.8fr) minmax(100px,.7fr) 82px minmax(100px,.7fr);align-items:center;gap:9px}.source-table-header{min-height:42px;border-bottom:1px solid var(--line);padding:0 13px;color:var(--muted);background:var(--surface-soft);font-size:7px;font-weight:750}.source-table{max-height:637px;overflow-y:auto}.source-table>button{width:100%;min-height:64px;border:0;border-bottom:1px solid var(--line);padding:9px 13px;background:#fff;cursor:pointer;text-align:left}.source-table>button.is-selected,.source-table>button:hover{background:#f8f6ff}.source-table button>span{display:flex;min-width:0;align-items:center;gap:5px;font-size:8px}.source-table button>span:first-child,.source-table button>span:last-child,.source-table button>span:nth-child(3){display:grid;gap:3px}.source-table small,.source-table strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-table strong{font-size:9px}.source-table small{color:var(--muted);font-size:7px}.source-table em{width:max-content;max-width:100%;overflow:hidden;border-radius:6px;padding:4px 6px;color:#6047aa;background:#f0edff;font-size:7px;font-style:normal;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.source-table em.is-client_direct{color:var(--green);background:var(--green-soft)}.source-table button>span:last-child{grid-template-columns:minmax(0,1fr) 14px}.source-inspector{align-self:start}.source-inspector>header{display:flex;min-height:62px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:10px 13px}.source-inspector>header div{display:grid;min-width:0;gap:3px}.source-inspector>header small{color:#7357c9;font-size:7px;font-weight:780;letter-spacing:.12em}.source-inspector>header strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.source-inspector>header button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:9px;color:var(--muted);background:var(--surface-soft);cursor:pointer}.source-inspector__body{max-height:616px;overflow-y:auto;padding:13px}.source-inspector__strategy{display:grid;grid-template-columns:45px minmax(0,1fr);gap:10px;border-radius:11px;padding:11px;background:#f6f4ff}.source-inspector__strategy>span{display:grid;width:44px;height:44px;place-items:center;border-radius:11px;color:#7357c9;background:#e9e4ff}.source-inspector__strategy>span.is-client_direct{color:var(--green);background:var(--green-soft)}.source-inspector__strategy>div{display:grid;gap:3px}.source-inspector__strategy small{color:var(--muted);font-size:7px}.source-inspector__strategy strong{font-size:10px}.source-inspector__strategy p{margin:0;color:var(--muted);font-size:7.5px;line-height:1.45}.source-inspector dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0 0;border:1px solid var(--line);border-radius:10px}.source-inspector dl>div{min-width:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px}.source-inspector dl>div:nth-child(2n){border-right:0}.source-inspector dt{color:var(--muted);font-size:7px}.source-inspector dd{display:flex;min-width:0;align-items:center;gap:5px;margin:4px 0 0;overflow:hidden;font-size:8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.source-inspector__endpoint,.source-inspector__parameters,.source-inspector__versions{margin-top:15px;border-top:1px solid var(--line);padding-top:13px}.source-inspector h3{margin:0 0 8px;font-size:9px}.source-inspector__endpoint code{display:block;overflow:hidden;border-radius:8px;padding:8px;color:#4b3a83;background:#f6f4ff;font-size:7px;line-height:1.5;overflow-wrap:anywhere}.source-inspector__endpoint a{display:inline-flex;align-items:center;gap:4px;margin-top:8px;color:var(--blue);font-size:8px;font-weight:700}.source-inspector__parameters>div{display:grid;gap:3px;border-bottom:1px solid var(--line);padding:7px 0}.source-inspector__parameters>div>span{display:flex;align-items:center;gap:5px}.source-inspector__parameters code{color:#6047aa;font-size:8px;font-weight:700}.source-inspector__parameters em{border-radius:4px;padding:2px 4px;color:var(--red);background:var(--red-soft);font-size:6px;font-style:normal}.source-inspector__parameters p,.source-inspector__parameters small{margin:0;color:var(--muted);font-size:7px;line-height:1.4}.source-inspector__versions>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 0;font-size:7px}.source-inspector__versions span{display:flex;align-items:center;gap:5px}.source-inspector__versions i{width:6px;height:6px;border-radius:50%;background:#7357c9}.source-inspector__versions code{color:var(--muted);font-size:7px}.source-inspector-placeholder{display:grid;min-height:360px;place-content:center;justify-items:center;gap:7px;padding:30px;text-align:center}.source-inspector-placeholder svg{width:45px;height:45px;color:#7357c9}.source-inspector-placeholder h2{margin:8px 0 0;font-size:14px}.source-inspector-placeholder p{max-width:230px;margin:0;color:var(--muted);font-size:8px;line-height:1.5}.dashboard-shell--embedded{padding-top:0}.dashboard-shell--embedded .dashboard-heading{margin-top:0}@media (max-width:1220px){.portal-shell{--portal-sidebar-width:216px}.portal-sidebar--desktop .portal-nav-link em{display:none}.overview-quick-links{grid-template-columns:repeat(3,minmax(0,1fr))}.calendar-layout{grid-template-columns:minmax(0,1fr) 280px}.calendar-day__events small{display:none}.class-search-form{grid-template-columns:minmax(250px,1fr) 140px 110px auto}.class-section-row{grid-template-columns:135px minmax(160px,1fr) 140px 88px}.source-layout{grid-template-columns:minmax(0,1fr) 340px}.source-table-header,.source-table>button{grid-template-columns:minmax(170px,1.4fr) 110px 90px 72px}.source-table-header>span:last-child,.source-table>button>span:last-child{display:none}}@media (max-width:980px){.portal-shell{--portal-sidebar-width:82px}.portal-sidebar--desktop .portal-brand-row>button,.portal-sidebar--desktop .portal-brand__copy,.portal-sidebar--desktop .portal-nav-group>small,.portal-sidebar--desktop .portal-nav-link>span,.portal-sidebar--desktop .portal-sidebar__status>span{display:none}.portal-sidebar--desktop .portal-brand-row{justify-content:center;padding:0}.portal-sidebar--desktop .portal-brand{flex:0 0 auto}.portal-sidebar--desktop .portal-navigation{padding-inline:12px}.portal-sidebar--desktop .portal-nav-link,.portal-sidebar--desktop .portal-sidebar__status{justify-content:center;padding-inline:0}.portal-main{width:min(calc(100% - 32px),1540px)}.calendar-layout,.campus-content-grid,.overview-columns{grid-template-columns:1fr}.calendar-grid-panel{border-right:0;border-bottom:1px solid var(--line)}.calendar-agenda{min-height:340px}.class-search-form{grid-template-columns:minmax(230px,1fr) 140px 110px}.class-search-form>button{grid-column:1/-1}.class-section-row{grid-template-columns:130px minmax(160px,1fr) 120px}.class-plan-button{grid-column:1/-1}.campus-switcher{grid-template-columns:repeat(4,minmax(0,1fr))}.source-layout{grid-template-columns:1fr}.coverage-gaps>div{grid-template-columns:repeat(3,minmax(0,1fr))}.source-inspector,.source-inspector-placeholder{min-height:0}}@media (max-width:720px){body{padding-bottom:66px}.portal-shell{display:block}.portal-sidebar{position:fixed;z-index:100;top:0;left:0;width:min(310px,88vw);transform:translateX(-105%);transition:transform .18s ease-out;box-shadow:24px 0 60px -25px rgb(16 24 40/45%)}.portal-sidebar.is-mobile-open{transform:translateX(0)}.portal-sidebar .portal-brand-row>button,.portal-sidebar .portal-brand__copy,.portal-sidebar .portal-nav-group>small,.portal-sidebar .portal-nav-link>span,.portal-sidebar .portal-sidebar__status>span{display:grid}.portal-sidebar .portal-brand-row{justify-content:flex-start;padding:0 13px 0 17px}.portal-sidebar .portal-brand{flex:1}.portal-sidebar .portal-navigation{padding-inline:10px}.portal-sidebar .portal-nav-link{justify-content:flex-start;padding-inline:9px}.portal-sidebar .portal-sidebar__status{justify-content:flex-start;padding-inline:17px}.portal-sidebar-backdrop{position:fixed;z-index:90;inset:0;display:block;border:0;background:rgb(16 24 40/35%)}.portal-topbar{height:62px;gap:9px;padding:0 12px}.portal-menu-button{display:grid}.portal-page-identity small,.portal-page-identity__icon{display:none}.portal-page-identity strong{font-size:12px}.portal-topbar__actions{gap:7px}.portal-topbar__actions>.time-display{display:none}.portal-campus-select{height:34px}.portal-campus-select select{max-width:104px;font-size:9px}.portal-main{width:min(calc(100% - 20px),1540px);min-height:calc(100vh - 128px);padding:17px 0 25px}.portal-mobile-nav{position:fixed;z-index:80;right:0;bottom:0;left:0;display:grid;height:66px;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);padding:5px max(5px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));background:rgb(255 255 255/94%);backdrop-filter:blur(20px)}.portal-mobile-nav a,.portal-mobile-nav button{display:grid;place-content:center;justify-items:center;gap:2px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-size:8px}.portal-mobile-nav a.is-active{color:var(--scarlet);background:var(--scarlet-soft)}.portal-mobile-nav svg{width:21px;height:21px}.calendar-page-heading,.resource-page-heading{align-items:flex-start;gap:10px;margin-bottom:14px}.resource-page-heading__icon{width:43px;height:43px;border-radius:12px}.resource-page-heading__icon svg{width:23px;height:23px}.calendar-page-heading h1,.resource-page-heading h1{font-size:21px}.calendar-page-heading p,.resource-page-heading p{font-size:9px}.resource-page-heading>a,.resource-refresh{width:36px;min-height:36px;padding:0}.resource-page-heading>a{font-size:0}.resource-refresh span{display:none}.overview-intro{display:grid;gap:14px}.overview-intro h1{font-size:29px;line-height:1.12}.overview-intro>div:first-child>p{font-size:10px;line-height:1.5}.overview-data-status{width:100%;min-width:0}.overview-alert,.overview-clear-status{align-items:flex-start}.overview-alert strong,.overview-clear-status strong{white-space:normal}.overview-alert button,.overview-clear-status a{align-self:center}.overview-quick-links{grid-auto-columns:78%;grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x mandatory}.overview-quick-links>a{scroll-snap-align:start}.overview-columns{grid-template-columns:1fr}.overview-news,.overview-upcoming{border-radius:13px}.overview-event-list>button{grid-template-columns:76px minmax(0,1fr) 16px;padding-inline:11px}.resource-toolbar{display:grid}.resource-search{min-width:0}.resource-select{border-top:1px solid var(--line);border-left:0;padding:8px 2px 0}.resource-select select{max-width:none;flex:1}.resource-row{min-height:102px;grid-template-columns:48px minmax(0,1fr) 16px;gap:10px;padding:11px}.resource-row__date{width:46px;height:54px;border-radius:10px}.resource-row__content>strong{font-size:11px;white-space:normal}.resource-row__content>p{-webkit-line-clamp:1}.resource-row__meta{display:none}.resource-sheet{top:auto;bottom:0;width:100%;height:min(88vh,760px);border-radius:18px 18px 0 0;animation-name:resource-sheet-up}@keyframes resource-sheet-up{0%{transform:translateY(30px);opacity:0}}.resource-sheet__body{padding-inline:16px}.resource-sheet__heading h2{font-size:20px}.calendar-page-heading{align-items:flex-end}.calendar-page-heading>div{min-width:0}.calendar-toolbar{display:grid;grid-template-columns:1fr auto;border-radius:12px 12px 0 0}.calendar-month-control{justify-content:space-between}.calendar-month-control strong{min-width:110px;font-size:12px}.calendar-toolbar>label{grid-column:1/-1;grid-row:2;margin-left:0}.calendar-toolbar label select{max-width:none;flex:1}.calendar-layout{display:block;min-height:0}.calendar-grid-panel{display:none}.calendar-agenda{min-height:530px}.calendar-agenda>header{height:68px}.academics-heading>a{width:36px;overflow:hidden;padding:0;font-size:0}.academics-tabs{overflow-x:auto}.academics-tabs button{flex:0 0 auto;padding-inline:10px}.class-search-form{grid-template-columns:1fr 1fr}.class-search-input{height:58px;grid-column:1/-1}.class-search-form>button{grid-column:1/-1}.class-results>header{align-items:flex-start;flex-direction:column;justify-content:center;gap:2px}.class-result__summary{min-height:122px;grid-template-columns:64px minmax(0,1fr) 18px;gap:9px;padding:11px}.class-result__code{width:62px;height:62px}.class-result__code strong{font-size:14px}.class-result__title>strong{white-space:normal;font-size:11px}.class-result__title p{-webkit-line-clamp:1}.class-result__stats{display:none}.class-section-row{grid-template-columns:1fr 1fr;gap:10px}.class-section-row__seats{grid-column:1}.class-plan-button{grid-column:2;align-self:end}.program-directory>header,.schedule-workspace>header{align-items:flex-start;flex-direction:column;gap:10px}.program-directory header label{width:100%}.program-list{grid-template-columns:1fr}.program-list>button{border-right:0}.weekly-schedule{display:none}.schedule-mobile-list{border-radius:13px;margin-top:0}.schedule-mobile-list button{min-height:78px}.schedule-manual form{grid-template-columns:1fr 1fr}.schedule-manual form>button,.schedule-manual form>label:first-child,.schedule-manual form>label:last-of-type{grid-column:1/-1}.schedule-mobile-list button>span{display:grid;min-width:0;gap:3px}.schedule-mobile-list small,.schedule-mobile-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.schedule-mobile-list small{color:var(--muted);font-size:7px}.housing-callout{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:13px}.housing-callout>span{width:46px;height:46px;border-radius:12px}.housing-callout>span svg{width:25px;height:25px}.housing-callout h2{font-size:14px}.housing-callout p{font-size:8px}.housing-callout>button{grid-column:1/-1}.housing-controls{display:grid;grid-template-columns:1fr auto}.housing-controls>label:first-child{grid-column:1/-1}.housing-controls select{flex:1}.housing-history-toggle{margin-left:0}.housing-documents{grid-template-columns:1fr}.housing-document__main{min-height:142px;grid-template-columns:42px minmax(0,1fr) 16px;padding-inline:11px}.housing-document__icon{width:40px;height:40px}.campus-switcher{grid-auto-columns:34%;grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x mandatory}.campus-switcher button{scroll-snap-align:start}.campus-detail-band{align-items:flex-start;flex-direction:column;gap:14px}.campus-health-summary{width:100%}.campus-health-summary span{min-width:0;flex:1;padding-inline:8px}.campus-content-grid{grid-template-columns:1fr}.source-metrics{grid-auto-columns:46%;grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;padding-bottom:5px}.coverage-gaps>div{grid-template-columns:1fr}.source-toolbar{display:grid}.source-layout{display:block;min-height:0}.source-table-header{display:none}.source-table{max-height:none}.source-table>button{grid-template-columns:minmax(0,1fr) 90px 16px;min-height:72px;padding:10px}.source-table>button>span:nth-child(3),.source-table>button>span:nth-child(4){display:none}.source-table>button>span:last-child{display:grid;grid-column:3}.source-table>button>span:last-child strong{display:none}.source-inspector{position:fixed;z-index:115;right:0;bottom:0;left:0;max-height:88vh;border-radius:18px 18px 0 0;box-shadow:0 -20px 60px -28px rgb(16 24 40/50%)}.source-inspector__body{max-height:calc(88vh - 62px)}.source-inspector-placeholder{display:none}.dashboard-shell--embedded,.dashboard-shell--embedded .dashboard-heading{padding-top:0}}@media (prefers-reduced-motion:reduce){.class-result__summary>svg,.overview-quick-links>a,.portal-sidebar,.resource-sheet{transition:none;animation:none}}.portal-shell{--portal-sidebar-width:268px;min-height:100vh;background:#f5f6f7}.portal-shell.is-compact{--portal-sidebar-width:76px}.portal-sidebar--desktop{position:fixed;z-index:40;inset:0 auto 0 0;width:var(--portal-sidebar-width);height:100dvh;border-right:1px solid var(--line);background:rgb(255 255 255/96%);box-shadow:10px 0 34px -34px rgb(15 23 42/65%);transition:width .18s ease}.portal-workspace{width:calc(100% - var(--portal-sidebar-width));margin-left:var(--portal-sidebar-width);transition:width .18s ease,margin-left .18s ease}.portal-brand-row{height:68px;padding:0 12px 0 16px}.portal-brand__mark{width:38px;height:38px;border-radius:8px;background:#ba0c2f;box-shadow:0 9px 22px -13px rgb(186 12 47/70%)}.portal-brand__copy strong{font-size:14px;letter-spacing:0}.portal-brand__copy small,.portal-nav-group>small{letter-spacing:.08em}.portal-shell.is-compact .portal-brand-row>.portal-sidebar__collapse,.portal-sidebar__collapse{display:inline-flex;width:34px;height:34px;padding:0}.portal-navigation{padding:12px 10px 20px}.portal-nav-group+.portal-nav-group{margin-top:14px}.portal-nav-link{min-height:48px;border-radius:8px;padding:7px 10px}.portal-nav-link strong{font-size:12px}.portal-nav-link em{font-size:9px;line-height:1.25}.portal-nav-link>svg{width:20px;height:20px}.portal-shell.is-compact .portal-brand-row{padding:0 10px}.portal-shell.is-compact .portal-brand-row .portal-brand{display:none}.portal-shell.is-compact .portal-brand-row>.portal-sidebar__collapse{margin:0 auto}.portal-topbar{height:68px;padding:0 24px;background:rgb(255 255 255/92%)}.portal-page-identity__icon{width:36px;height:36px;border-radius:8px}.portal-page-identity strong{font-size:13px}.portal-page-identity small{font-size:10px}.portal-campus-trigger{min-width:210px;height:44px;justify-content:flex-start;gap:8px;padding-inline:11px 9px}.portal-campus-trigger>svg:first-child{width:18px;height:18px;color:var(--scarlet)}.portal-campus-trigger__copy{display:grid;min-width:0;flex:1;gap:1px;overflow:hidden;text-align:left}.portal-campus-trigger__copy small,.portal-campus-trigger__copy strong{overflow:hidden;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.portal-campus-trigger__copy small{color:var(--muted);font-size:8px;font-weight:650}.portal-campus-trigger__copy strong{font-size:11px}.portal-campus-trigger [data-slot=badge]{height:22px;padding-inline:7px;font-size:8px}.portal-campus-trigger__chevrons{width:14px!important;height:14px!important;color:var(--muted-2)!important}.portal-campus-menu{width:min(350px,calc(100vw - 20px));max-height:min(620px,calc(100vh - 84px));border-radius:8px;padding:7px}.portal-campus-menu__intro{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:8px 7px 9px}.portal-campus-menu__intro>span{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;color:var(--scarlet);background:var(--scarlet-soft)}.portal-campus-menu__intro svg{width:18px;height:18px}.portal-campus-menu__intro strong{font-size:12px}.portal-campus-menu__intro p{margin:2px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.portal-campus-menu__label{display:grid;gap:2px;padding:8px 7px 5px}.portal-campus-menu__label span{color:var(--ink);font-size:10px;font-weight:760}.portal-campus-menu__label small{color:var(--muted);font-size:8px;font-weight:500}.portal-campus-menu [role=menuitemcheckbox],.portal-campus-menu [role=menuitemradio]{min-height:48px;border-radius:6px;padding-block:6px;padding-left:9px}.portal-campus-menu [role=menuitemcheckbox][data-disabled]{opacity:1}.portal-campus-menu__campus-copy,.portal-campus-menu__primary>span:last-child{display:grid;min-width:0;gap:2px}.portal-campus-menu__campus-copy strong,.portal-campus-menu__primary strong{font-size:12px}.portal-campus-menu__campus-copy small,.portal-campus-menu__primary small{color:var(--muted);font-size:9px}.portal-main{width:min(calc(100% - 48px),1560px);min-height:calc(100vh - 68px);padding:28px 0 54px}.portal-mobile-sheet{background:#fff}.portal-mobile-sheet .portal-navigation{min-height:0;flex:1}.calendar-page-heading,.resource-page-heading-v3{min-height:82px;align-items:center;gap:14px;margin-bottom:22px}.calendar-page-heading>div:first-child,.resource-page-heading-v3>div:nth-child(2){min-width:0;flex:1}.calendar-page-heading .eyebrow,.resource-page-heading-v3 .eyebrow{color:var(--scarlet);font-size:9px;letter-spacing:.08em}.calendar-page-heading h1,.resource-page-heading-v3 h1{margin:4px 0 3px;font-size:clamp(26px,3vw,36px);line-height:1.05;letter-spacing:0}.calendar-page-heading p,.resource-page-heading-v3 p{max-width:760px;margin:0;color:var(--muted);line-height:1.55}.resource-page-heading__icon{width:50px;height:50px}.resource-page-heading__icon svg{width:25px;height:25px}.housing-controls-v3,.resource-toolbar-v3,.source-toolbar-v3{border-radius:8px;padding:10px;box-shadow:0 8px 28px -28px rgb(15 23 42/65%)}.resource-toolbar-v3{display:grid;grid-template-columns:minmax(260px,1fr) 220px 150px}.housing-search,.program-directory-v3>header label,.resource-search-v3,.source-toolbar-v3>label{display:flex;min-width:0;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:0 8px;background:var(--surface-soft)}.housing-search>svg,.program-directory-v3 header label>svg,.resource-search-v3>svg,.source-toolbar-v3 label>svg{width:18px;flex:0 0 auto;color:var(--muted)}.housing-search input,.program-directory-v3 header input,.resource-search-v3 input,.source-toolbar-v3 input{height:40px;border:0;background:transparent;box-shadow:none}.housing-controls-v3 [data-slot=select-trigger],.resource-toolbar-v3 [data-slot=select-trigger]{width:100%;height:42px;background:#fff}.resource-list-meta{min-height:48px;font-size:10px}.resource-list-meta strong{color:var(--ink);font-size:14px}.resource-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}.resource-pagination span{color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.housing-document-grid.is-loading,.resource-card-skeletons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.housing-document-grid>[data-slot=skeleton],.resource-card-skeletons>*{min-height:230px}.resource-empty{border-radius:8px}.entity-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.entity-event-card{min-height:248px;border-radius:8px;background:#fff;transition:transform .16s ease,box-shadow .16s ease}.entity-event-card:hover{transform:translateY(-2px);box-shadow:0 18px 34px -28px rgb(15 23 42/55%)}.entity-event-card>[data-slot=card-header]{display:grid;grid-template-columns:58px minmax(0,1fr);gap:13px;padding:16px 16px 8px}.entity-event-card__date{display:grid;width:58px;height:68px;place-content:center;gap:1px;border-radius:8px;color:var(--scarlet);background:var(--scarlet-soft);text-align:center}.entity-event-card__date small{font-size:9px;font-weight:700}.entity-event-card__date strong{font-size:21px}.entity-card-badges{display:flex;min-height:22px;flex-wrap:wrap;gap:5px;margin-bottom:7px}.entity-event-card [data-slot=card-title]{display:-webkit-box;overflow:hidden;font-size:15px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entity-event-card [data-slot=card-description]{display:-webkit-box;margin-top:6px;overflow:hidden;font-size:10px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.entity-event-card>[data-slot=card-content]{display:flex;align-items:flex-end;gap:8px;margin-top:auto;padding:8px 16px 14px}.entity-card-meta{display:grid;min-width:0;flex:1;gap:5px}.entity-card-meta span{display:flex;min-width:0;align-items:center;gap:5px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.entity-card-meta svg{width:13px;flex:0 0 auto}.entity-organization-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.entity-organization-card{display:grid;min-height:132px;grid-template-columns:48px minmax(0,1fr) 18px;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.entity-organization-card:hover{border-color:#c5b8ee;background:#fbfaff}.entity-organization-card__mark{display:grid;width:48px;height:48px;place-items:center;border-radius:8px;color:#6544b8;background:#efeafe;font-size:13px;font-weight:800}.entity-organization-card__body{display:grid;min-width:0;gap:6px}.entity-organization-card__body>span{display:flex;min-width:0;overflow:hidden;gap:4px}.entity-organization-card__body>span [data-slot=badge]{max-width:calc(50% - 2px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-organization-card__body>strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.entity-organization-card__body>small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.entity-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.entity-news-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.entity-news-card.is-featured{display:grid;min-height:280px;grid-column:span 2;grid-template-columns:36% minmax(0,1fr)}.entity-news-card__visual{display:grid;min-height:112px;place-content:center;justify-items:center;gap:9px;color:#fff;background:#202a35}.entity-news-card__visual svg{width:32px;height:32px}.entity-news-card__visual span{max-width:80%;font-size:9px;font-weight:700;text-align:center}.entity-news-card__body{display:flex;min-height:190px;flex-direction:column;align-items:flex-start;padding:16px}.entity-news-card__body>div{display:flex;align-items:center;gap:8px}.entity-news-card time{color:var(--muted);font-size:9px}.entity-news-card h2{margin:12px 0 7px;font-size:16px;line-height:1.35}.entity-news-card p{display:-webkit-box;margin:0 0 14px;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:3}.entity-news-card [data-slot=button]{margin-top:auto}.news-alert-panel-v3,.news-clear-status-v3{border-radius:8px;margin-bottom:14px}.news-alert-panel-v3>header{min-height:74px;padding:12px 16px}.news-alert-panel-v3>header>div{display:grid;flex:1;gap:2px}.news-alert-panel-v3>header>div [data-slot=badge]{width:fit-content}.news-alert-panel-v3>div>button{min-height:72px}.shadcn-resource-sheet{width:min(620px,100vw)!important;max-width:none!important;border-radius:0;background:#fff}.entity-detail-drawer{--drawer-content-width:min(640px,100vw);--drawer-content-height:100dvh;--drawer-content-max-height:100dvh}.entity-detail-drawer .resource-sheet__body{min-height:0;flex:1}.entity-detail-drawer [data-slot=scroll-area-viewport]{overscroll-behavior-y:contain;touch-action:auto}.entity-detail-drawer h3{margin:0 0 11px;font-size:11px}.resource-sheet__chrome{min-height:62px;justify-content:center;border-bottom:1px solid var(--line);padding-right:54px}.resource-sheet__body{height:calc(100dvh - 62px);padding:24px 22px 42px}.resource-sheet__heading h2{font-size:26px;letter-spacing:0}.resource-sheet__heading>div span{font-size:10px}.resource-sheet__categories [data-slot=badge]{font-size:9px}.resource-sheet__summary,.safe-rich-text{font-size:12px;line-height:1.8}.safe-rich-text{color:var(--ink-soft);overflow-wrap:anywhere}.safe-rich-text blockquote,.safe-rich-text ol,.safe-rich-text p,.safe-rich-text table,.safe-rich-text ul{margin:0 0 14px}.safe-rich-text ol,.safe-rich-text ul{padding-left:22px}.safe-rich-text li+li{margin-top:5px}.safe-rich-text a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}.safe-rich-text blockquote{border-left:3px solid var(--scarlet);padding:10px 13px;background:var(--scarlet-soft)}.safe-rich-text table{width:100%;overflow:hidden;border:1px solid var(--line);border-collapse:separate;border-radius:8px;border-spacing:0;font-size:10px}.safe-rich-text td,.safe-rich-text th{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}.safe-rich-text th{background:var(--surface-soft);font-weight:800}.safe-rich-text tr:last-child>*{border-bottom:0}.safe-rich-text tr>:last-child{border-right:0}.resource-sheet__tables{display:grid;gap:18px}.resource-sheet__tables>h3{margin-bottom:-5px}.resource-sheet__table-group{display:grid;gap:8px}.resource-sheet__table-group h4{margin:0;color:var(--scarlet);font-size:12px}.resource-sheet__table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:8px}.resource-sheet__table-scroll table{width:100%;border-collapse:collapse;font-size:10px}.resource-sheet__table-scroll td,.resource-sheet__table-scroll th{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}.resource-sheet__table-scroll th{color:var(--ink-soft);background:var(--surface-soft);font-size:9px}.resource-sheet__table-scroll tr:last-child td{border-bottom:0}.resource-sheet__table-scroll td:first-child,.resource-sheet__table-scroll th:first-child{width:118px;color:var(--ink);font-weight:700;white-space:nowrap}.calendar-commandbar,.calendar-heading-actions,.calendar-view-switcher{display:flex;align-items:center;gap:8px}.calendar-view-switcher{border:1px solid var(--line);border-radius:8px;padding:3px;background:#fff}.calendar-commandbar{min-height:56px;border:1px solid var(--line);border-radius:8px 8px 0 0;padding:8px 10px;background:#fff}.calendar-commandbar>[data-slot=button]:last-child{margin-left:auto}.calendar-month-control strong{min-width:142px;font-size:16px}.calendar-result-count{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:10px}.calendar-result-count svg{width:14px}.calendar-workbench{min-height:760px;overflow:hidden;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;background:#fff}.calendar-resizable-panel>div{height:100%}.calendar-resize-handle{z-index:3;width:7px;border-inline:1px solid var(--line);background:#f6f7f9;transition:background .14s ease,border-color .14s ease}.calendar-resize-handle:after{width:12px}.calendar-resize-handle>div{width:3px;height:34px;background:#9aa4b2}.calendar-resize-handle:focus-visible,.calendar-resize-handle:hover,.calendar-resize-handle[data-resize-handle-active]{border-color:#99b8e0;background:#eaf1fa}.calendar-sources-panel{height:100%;min-width:0;overflow-y:auto;padding:14px 12px;background:#fafbfc}.calendar-source-heading{display:flex;align-items:center;gap:9px;padding:4px 4px 13px}.calendar-source-heading>svg{width:20px;color:var(--scarlet)}.calendar-source-heading span{display:grid;gap:2px}.calendar-source-heading strong{font-size:12px}.calendar-source-heading small{color:var(--muted);font-size:8px}.calendar-source-list{display:grid;gap:3px}.calendar-source-list label{display:grid;min-width:0;min-height:42px;grid-template-columns:18px 7px minmax(0,1fr);align-items:center;gap:7px;border-radius:7px;padding:6px 7px;cursor:pointer}.calendar-source-list label:hover{background:var(--event-soft)}.calendar-source-list label>i{width:7px;height:20px;border-radius:3px;background:var(--event-color)}.calendar-source-list label>span:last-child{display:grid;min-width:0;gap:1px}.calendar-source-list small,.calendar-source-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-source-list strong{font-size:10px}.calendar-source-list small{color:var(--muted);font-size:9px}.calendar-academic-note{display:flex;align-items:flex-start;gap:8px;border:1px solid #f2c8d0;border-radius:8px;margin-top:16px;padding:10px;color:var(--scarlet);background:var(--scarlet-soft)}.calendar-academic-note svg{width:17px;flex:0 0 auto}.calendar-academic-note span{display:grid;gap:3px}.calendar-academic-note strong{font-size:10px}.calendar-academic-note small{color:#7f2436;font-size:8px;line-height:1.45}.calendar-primary-panel{height:100%;min-width:0;overflow:auto;background:#fff}.calendar-grid{min-height:720px;grid-auto-rows:minmax(118px,1fr)}.calendar-day{min-height:118px;overflow:visible;padding:6px}.calendar-day.is-outside{background:#fafbfc}.calendar-day.is-outside .calendar-day__number{color:var(--muted-2)}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px rgb(186 12 47/55%)}.calendar-day__number{width:26px;height:26px;border:0;border-radius:50%;background:transparent;cursor:pointer;font-size:10px}.calendar-day.is-today .calendar-day__number{color:#fff;background:var(--scarlet)}.calendar-day__events{display:grid;gap:3px;margin-top:4px}.calendar-event-chip{display:flex;width:100%;min-width:0;height:24px;align-items:center;gap:4px;overflow:hidden;border:0;border-radius:5px;padding:0 6px;border:1px solid color-mix(in srgb,var(--event-color) 32%,transparent);color:color-mix(in srgb,var(--event-color) 88%,#101828);background:var(--event-soft);cursor:pointer;text-align:left}.calendar-event-chip.is-timed{border-left:3px solid var(--event-color);background:#fff;box-shadow:none}.calendar-event-chip small,.calendar-event-chip strong{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.calendar-event-chip strong{min-width:0;flex:1;font-size:8.5px}.calendar-day__events>button:last-child:not(.calendar-event-chip){border:0;padding:2px 4px;color:var(--muted);background:transparent;cursor:pointer;font-size:7px;text-align:left}.calendar-event-preview{border-radius:8px}.calendar-event-preview__heading{display:grid;grid-template-columns:5px minmax(0,1fr);gap:10px}.calendar-event-preview__heading>span{border-radius:3px;background:var(--event-color)}.calendar-event-preview__heading>div{display:grid;gap:7px}.calendar-event-preview__heading strong{font-size:13px;line-height:1.4}.calendar-event-preview dl{display:grid;gap:6px;margin:12px 0}.calendar-event-preview dl div{display:grid;grid-template-columns:18px minmax(0,1fr);gap:5px;color:var(--muted);font-size:10px}.calendar-event-preview dt svg{width:14px}.calendar-event-preview p{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:10px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.calendar-agenda{height:100%;overflow-y:auto;background:#fafbfc}.calendar-export-note{margin:14px 4px 0;color:var(--muted);font-size:9px;line-height:1.55}.calendar-subscribe-actions{display:grid;gap:6px;border-top:1px solid var(--line);margin-top:14px;padding:14px 4px 0}.calendar-subscribe-actions>strong{margin-bottom:2px;font-size:10px}.calendar-subscribe-actions [data-slot=button]{width:100%;justify-content:flex-start}.calendar-course-toast{position:fixed;z-index:30;right:22px;bottom:22px;display:flex;width:min(360px,calc(100vw - 32px));align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff;box-shadow:var(--shadow-md)}.calendar-course-toast>span{display:grid;min-width:0;flex:1;gap:2px}.calendar-course-toast small,.calendar-course-toast strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-course-toast strong{font-size:12px}.calendar-course-toast small{color:var(--muted);font-size:9px}.schedule-import-dialog{width:min(760px,calc(100vw - 28px));max-width:760px;max-height:min(90dvh,860px);grid-template-rows:auto minmax(0,1fr) auto;padding:18px}.schedule-import-body{min-height:0;overflow-y:auto;padding:1px 2px 8px}.schedule-import-privacy{display:flex;align-items:center;gap:9px;border:1px solid #b9dfcb;border-radius:8px;margin-bottom:14px;padding:10px;color:#17603f;background:var(--green-soft)}.schedule-import-privacy>svg{width:18px;flex:0 0 auto}.schedule-import-privacy>span{display:grid;gap:2px}.schedule-import-privacy strong{font-size:10px}.schedule-import-privacy small{font-size:8px}.schedule-import-dialog [data-slot=textarea]{min-height:170px;max-height:280px;resize:vertical;background:#fbfcfd;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.55}.schedule-import-dialog [data-slot=field-description]{font-size:9px}.schedule-import-input-actions,.schedule-import-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.schedule-import-result{display:grid;gap:14px;border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.schedule-import-result>header{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:9px}.schedule-import-result>header>svg{width:20px;color:var(--green)}.schedule-import-result>header>div{display:grid;gap:2px}.schedule-import-result>header strong{font-size:12px}.schedule-import-result>header small{color:var(--muted);font-size:9px}.schedule-import-result [data-slot=select-trigger]{width:min(320px,100%)}.schedule-import-courses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--line)}.schedule-import-courses>div{display:flex;min-width:0;align-items:center;gap:8px;padding:10px;background:#fff}.schedule-import-courses>div>span{display:grid;min-width:0;flex:1;gap:2px}.schedule-import-courses small,.schedule-import-courses strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-import-courses strong{font-size:10px}.schedule-import-courses small{color:var(--muted);font-size:8px}.schedule-import-options label{display:flex;align-items:center;gap:6px;font-size:10px}.schedule-import-result>p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.calendar-academic-legend{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(0,1.5fr);gap:12px;border-bottom:1px solid #e4c5cc;padding:12px 14px;background:#fff9fa}.calendar-academic-legend>div{display:flex;align-items:center;gap:9px}.calendar-academic-legend>div>svg{width:20px;color:var(--scarlet)}.calendar-academic-legend>div>span{display:grid;gap:2px}.calendar-academic-legend strong{font-size:11px}.calendar-academic-legend small{color:var(--muted);font-size:9px}.calendar-academic-legend ul{display:flex;flex-wrap:wrap;align-content:center;gap:6px 12px;margin:0;padding:0;list-style:none}.calendar-academic-legend li{display:flex;align-items:center;gap:5px;color:var(--ink-soft);font-size:9px;white-space:nowrap}.calendar-academic-legend li i{width:14px;height:8px;border:1px solid color-mix(in srgb,var(--academic-color) 40%,transparent);border-radius:3px;background:var(--academic-color)}.calendar-agenda>header{height:74px}.calendar-agenda__items>button{border-radius:8px;box-shadow:none}.calendar-agenda__items>button>span:first-child i{background:var(--event-color)}.calendar-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}.calendar-year-month{min-height:238px;border:0;padding:12px;background:#fff;cursor:pointer;text-align:left}.calendar-year-month:hover{background:#faf4f5}.calendar-year-month>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.calendar-year-month>header strong{color:var(--scarlet);font-size:12px}.calendar-year-month>header small{color:var(--muted);font-size:8px}.calendar-mini-days,.calendar-mini-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-mini-days>span,.calendar-mini-weekdays span{display:grid;height:24px;place-items:center;color:var(--muted);font-size:7px}.calendar-mini-days>span{position:relative;color:var(--ink-soft)}.calendar-mini-days>span.is-outside{color:var(--muted-2);opacity:.45}.calendar-mini-days>span.has-events{font-weight:800}.calendar-mini-days>span i{position:absolute;bottom:2px;width:3px;height:3px;border-radius:50%;background:#667085}.calendar-mini-days>span.has-academic-marker{border-radius:4px;color:color-mix(in srgb,var(--academic-color) 82%,#101828);background:var(--academic-soft);box-shadow:inset 0 -2px var(--academic-color)}.calendar-mini-days>span.has-academic-marker i{display:none}.calendar-loading-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;padding:1px}.calendar-loading-grid>*{min-height:110px}.academics-tabs-v3>[data-slot=tabs-list]{width:100%;height:46px;justify-content:flex-start;gap:8px;border-bottom:0;border-radius:8px;margin-bottom:16px;padding:4px;background:#f5f6f8}.academics-tabs-v3{display:flex;min-width:0;flex-direction:column;gap:8px}.academics-tabs-v3>[data-slot=tabs-content]{width:100%;min-width:0}.academics-tabs-v3 [data-slot=tabs-trigger]{height:38px;border:1px solid transparent;border-radius:6px;padding-inline:16px;font-size:11px}.academics-tabs-v3 .academics-tab--classes{color:#8f1631}.academics-tabs-v3 .academics-tab--classes[data-active]{border-color:#e9b6c1;color:#8f1631;background:#fbeaec}.academics-tabs-v3 .academics-tab--programs{color:#185b90}.academics-tabs-v3 .academics-tab--programs[data-active]{border-color:#b6d2e8;color:#185b90;background:#e8f3fb}.academics-tabs-v3 .academics-tab--schedule{color:#1c6842}.academics-tabs-v3 .academics-tab--schedule[data-active]{border-color:#afd9c2;color:#1c6842;background:#e7f6ee}.class-search-form-v3{display:grid;grid-template-columns:minmax(320px,1fr) 210px 180px auto;align-items:end;gap:12px;border:1px solid var(--line);border-radius:8px;padding:15px;background:#fff}.class-search-form-v3>label{display:grid;min-width:0;align-content:end;gap:6px}.class-search-form-v3>label>span:first-child{color:var(--ink-soft);font-size:9px;font-weight:740}.class-search-form-v3 [data-slot=select-trigger]{width:100%;height:44px;border-color:var(--line-strong);border-radius:7px;background:#fff}.class-search-form-v3 .class-search-input{display:grid;height:auto;gap:6px;border:0;padding:0;background:transparent}.class-search-input__control{display:flex;min-width:0;height:44px;align-items:center;gap:9px;border:1px solid var(--line-strong);border-radius:7px;padding:0 11px;background:#fff;transition:border-color .14s,box-shadow .14s}.class-search-input__control:focus-within{border-color:rgb(186 12 47/46%);box-shadow:0 0 0 3px rgb(186 12 47/8%)}.class-search-input__control>svg{width:18px;height:18px;flex:0 0 auto;color:var(--scarlet)}.class-search-input__control input{min-width:0;flex:1;height:42px;border:0;padding:0;background:transparent;box-shadow:none;font-size:11px}.class-search-form-v3>[data-slot=button]{height:44px;border-radius:7px;padding-inline:18px}.popular-course-searches{margin-top:14px}.popular-course-searches>header h2{margin:0;font-size:14px}.popular-course-searches>header p{margin:3px 0 10px;color:var(--muted);font-size:9px}.popular-course-searches>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.popular-course-searches>div>button{display:grid;min-height:104px;grid-template-columns:38px minmax(0,1fr) 16px;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff;cursor:pointer;text-align:left}.popular-course-searches>div>button:hover{border-color:#e0a9b5;background:#fffafb}.popular-course-searches>div>button>span{display:grid;width:38px;height:38px;grid-row:1/3;place-items:center;border-radius:8px;color:var(--scarlet);background:var(--scarlet-soft)}.popular-course-searches>div>button>strong{align-self:end;font-size:11px}.popular-course-searches>div>button>small{align-self:start;color:var(--muted);font-size:8px}.popular-course-searches>div>button>svg{grid-column:3;grid-row:1/3;width:15px;color:var(--muted)}.course-collection-switcher{display:flex;flex-wrap:wrap;gap:5px;margin:14px 0 6px}.course-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px 0}.course-collection-grid>button{display:grid;min-height:82px;grid-template-columns:70px minmax(0,1fr) 18px;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;text-align:left}.course-collection-grid>button>span{display:grid;min-width:0;gap:3px}.course-collection-grid>button>span:first-child{place-content:center;text-align:center}.course-collection-grid small,.course-collection-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-collection-grid small{color:var(--muted);font-size:8px}.course-collection-empty{display:grid;min-height:200px;place-content:center;justify-items:center;gap:8px;color:var(--muted)}.class-results{display:grid;gap:8px;overflow:visible;border:0;border-radius:0;background:transparent}.class-result,.class-results>header{border:1px solid var(--line);border-radius:8px;background:#fff}.class-result{overflow:hidden}.class-result__summary{display:grid;min-height:112px;grid-template-columns:minmax(0,1fr) auto;border-bottom:0;background:#fff}.class-result__expand{display:grid;min-width:0;grid-template-columns:74px minmax(0,1fr) 84px 18px;align-items:center;gap:15px;border:0;padding:14px 16px;background:transparent;cursor:pointer;text-align:left}.class-result.is-expanded .class-result__expand,.class-result__expand:hover{background:#fbfbfc}.class-result__expand .class-result__code{width:74px;height:66px;border-radius:7px}.class-result__expand .class-result__title>strong{font-size:13px}.class-result__expand .class-result__title p{max-width:900px}.class-result__expand .class-result__stats{padding-right:4px}.class-result__preference{display:flex;align-items:center;gap:4px;border-left:1px solid var(--line);padding:10px 12px;background:#fff}.class-result.is-expanded .class-result__expand>svg{transform:rotate(180deg)}.class-result__sections{border-top:1px solid var(--line)}.class-section-row-v3{display:grid;grid-template-columns:150px minmax(190px,1fr) minmax(130px,.7fr) 120px 110px;gap:12px;padding:13px 16px}.class-section-row__identity>[data-slot=badge]{width:fit-content}.class-section-row__instructor{display:grid;min-width:0;align-content:center;gap:4px}.class-section-row__instructor small{color:var(--muted);font-size:10px}.class-section-row__instructor strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.course-week-strip{display:flex;gap:3px;margin-top:6px}.course-week-strip span{display:grid;width:18px;height:18px;place-items:center;border-radius:4px;color:var(--muted-2);background:var(--surface-muted);font-size:9px}.course-week-strip span.is-active{color:#fff;background:var(--blue)}.program-directory-v3>header{margin-bottom:12px}.program-directory-v3>header label{width:min(430px,100%)}.program-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;border:0;background:transparent}.program-list>button{min-height:158px;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.program-list em,.program-list small{font-size:10px;line-height:1.35}.program-list strong{font-size:14px;line-height:1.35}.program-list p{font-size:11px;line-height:1.5}.program-list>button.program-tone-1>span:first-child{color:#2865b6;background:#e9f1fc}.program-list>button.program-tone-2>span:first-child{color:#19754b;background:#e7f6ee}.program-list>button.program-tone-3>span:first-child{color:#7c3aed;background:#f1ebff}.program-list>button.program-tone-4>span:first-child{color:#a55d08;background:#fff4df}.schedule-manual,.schedule-workspace{border-radius:8px}.schedule-workspace>header{margin-bottom:12px}.schedule-workspace h2{font-size:18px}.schedule-travel-note,.schedule-workspace header p{font-size:10px;line-height:1.5}.weekly-schedule__corner,.weekly-schedule__day{font-size:11px}.weekly-schedule__times span{font-size:9px}.weekly-schedule__event strong{font-size:11px}.weekly-schedule__event small,.weekly-schedule__event span{font-size:9px}.schedule-conflict strong,.schedule-mobile-list strong{font-size:11px}.schedule-conflict small,.schedule-mobile-list small{font-size:9px}.schedule-manual>[data-slot=card-header]{display:flex;align-items:center;flex-direction:row;justify-content:space-between}.schedule-manual-form{display:grid;grid-template-columns:minmax(180px,1fr) 130px 120px 120px 160px minmax(160px,1fr) auto;align-items:end;gap:9px}.schedule-manual-form label{display:grid;gap:5px}.schedule-manual-form label>span{color:var(--muted);font-size:10px}.schedule-manual-form [data-slot=select-trigger],.schedule-manual-form input{width:100%;height:36px}.schedule-skeleton{display:grid;gap:9px}.schedule-skeleton>*{min-height:80px}.housing-callout-v3{grid-template-columns:70px minmax(0,1fr) auto;border:1px solid #c7ddd0;border-radius:8px;padding:18px;background:#eef8f2}.housing-callout-v3>span{width:58px;height:58px;border-radius:8px;color:#fff;background:#19754b}.housing-callout-v3 h2{font-size:18px}.housing-callout-v3 p{max-width:820px;font-size:10px}.housing-controls-v3{display:grid;grid-template-columns:minmax(260px,1fr) 210px 160px auto;gap:9px}.housing-history-toggle{height:42px;margin:0;padding:0 10px}.housing-history-toggle>span{display:grid;gap:1px}.housing-history-toggle strong{font-size:10px}.housing-history-toggle small{color:var(--muted);font-size:8px}.housing-document-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:12px}.housing-document-card{min-height:340px;gap:0;padding:0;border-radius:8px;border-top:3px solid #19754b;background:#fff}.housing-document-card.is-animal_in_residence_guidelines,.housing-document-card.is-handbook,.housing-document-card.is-policy,.housing-document-card.is-residential_living_handbook,.housing-document-card.is-university_housing_regulation{border-top-color:#2865b6}.housing-document-card>[data-slot=card-header]{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;border-bottom:1px solid var(--line);padding:15px 15px 13px;background:#fcfcfd}.housing-document-card__icon{display:grid;width:44px;height:44px;place-items:center;border-radius:8px;color:#19754b;background:#e7f6ee}.housing-document-card [data-slot=card-title]{margin-top:8px;font-size:14px;line-height:1.4}.housing-document-card [data-slot=card-description]{display:-webkit-box;margin-top:6px;overflow:hidden;font-size:10px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:4}.housing-document-card>[data-slot=card-content]{display:grid;align-content:start;gap:10px;padding:12px 15px 14px}.housing-document-card__details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.housing-document-card__details>div{display:grid;min-width:0;gap:3px;border:1px solid #e6e9ed;border-radius:7px;padding:7px 8px;background:var(--surface-soft)}.housing-document-card__details dt{display:flex;align-items:center;gap:5px;margin:0;color:var(--muted);font-size:8px;font-weight:650}.housing-document-card__details dt svg{width:12px;height:12px;flex:0 0 auto}.housing-document-card__details dd{min-width:0;margin:0;overflow:hidden;font-size:9px;font-weight:720;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.housing-document-card__topics{display:flex;min-height:22px;flex-wrap:wrap;gap:5px}.housing-document-card__topics [data-slot=badge]{height:20px;padding-inline:6px;color:var(--muted);font-size:7px}.housing-document-card>[data-slot=card-footer]{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;border-top:1px solid var(--line);padding:10px 15px;background:#f8f9fa}.housing-document-card>[data-slot=card-footer] [data-slot=button]{min-height:34px;border-radius:7px}.campus-switcher-v3{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin-bottom:12px}.campus-switcher-v3>button{position:relative;min-height:76px;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;place-items:start;align-content:center;border-radius:8px;padding:9px 10px;text-align:left}.campus-switcher-v3>button>span{width:28px;height:28px;grid-row:1/3;border-radius:6px}.campus-switcher-v3>button>small,.campus-switcher-v3>button>strong{grid-column:2;width:100%}.campus-switcher-v3>button>strong{font-size:10px}.campus-switcher-v3>button>small{font-size:8px}.campus-switcher-v3>button [data-slot=badge]{position:absolute;top:5px;right:5px;max-width:52px;height:18px;padding-inline:5px;overflow:hidden;font-size:7px;text-overflow:ellipsis}.campus-detail-band-v3{border-radius:8px;min-height:96px;padding:13px 16px;background:#243341}.campus-detail-band-v3 h2,.campus-detail-band-v3 p,.campus-detail-band-v3 small{color:#ffffff}.campus-detail-band-v3 small{color:#9fc6f6}.campus-detail-band-v3 p{color:#c5d0dc;font-size:10px;line-height:1.5}.campus-detail-band-v3 h2{margin-block:2px;font-size:21px}.campus-detail-band-v3 .campus-health-summary span{min-width:70px;padding:4px 10px;border-left-color:rgb(255 255 255/24%)}.campus-detail-band-v3 .campus-health-summary strong{color:#8bbcff;font-size:17px}.campus-detail-band-v3 .campus-health-summary small{color:#c5d0dc;font-size:8px}.campus-content-grid-v3{grid-template-columns:minmax(0,1.5fr) minmax(280px,.75fr);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:10px}.campus-resource-pages,.campus-source-list-v3{border-radius:8px}.campus-source-list-v3{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr)}.campus-resource-pages>header{display:flex;align-items:flex-start;justify-content:space-between}.campus-resource-pages>header p{margin:4px 0 0;color:var(--muted);font-size:10px}.campus-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}.campus-resource-card{min-height:148px;border-radius:8px}.campus-resource-card>[data-slot=card-header]{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;padding:11px}.campus-resource-card>[data-slot=card-header]>span{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;color:var(--blue);background:var(--blue-soft)}.campus-resource-card [data-slot=card-title]{margin-top:7px;font-size:12px}.campus-resource-card [data-slot=card-description]{display:-webkit-box;margin-top:5px;overflow:hidden;font-size:10px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:3}.campus-resource-card>[data-slot=card-content]{display:flex;gap:6px;margin-top:auto;padding:0 11px 10px}.campus-source-list-v3>div{display:grid;min-height:0;max-height:none;align-content:start;gap:5px;overflow-y:auto;overscroll-behavior:contain;padding:8px;scrollbar-gutter:stable}.campus-resource-pages>.resource-pagination{margin:0;border-top:1px solid var(--line);padding:10px}.campus-source-list-v3 a{display:grid;min-width:0;min-height:54px;grid-template-columns:8px minmax(0,1fr) auto 16px;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:7px 8px}.campus-source-list-v3 a>span{display:grid;min-width:0;gap:3px}.campus-source-list-v3 a small,.campus-source-list-v3 a strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campus-source-list-v3 a strong{font-size:10px}.campus-source-list-v3 a small{color:var(--muted);font-size:8px}.campus-source-list-v3 a>svg{width:15px}.campus-source-list-v3 a>em{display:none}.source-metrics{gap:8px}.source-inspector,.source-inspector-placeholder,.source-metrics>button,.source-table-wrap{border-radius:8px}.source-toolbar-v3{display:flex}.source-toolbar-v3>label{flex:1}.source-layout{grid-template-columns:minmax(0,1fr) 400px}.source-table>button{min-height:70px}.source-inspector__body{padding:14px}.source-inspector__endpoint code{font-size:9px;line-height:1.6}.portal-overview-v3 .overview-intro{border-radius:8px}.overview-intro-v3>div:first-child>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.overview-alert,.overview-clear-status,.overview-news,.overview-quick-links-v3>a,.overview-upcoming{border-radius:8px}@media (min-width:1041px){.campus-source-list-v3{contain:size}}@media (max-width:1280px){.calendar-workbench{grid-template-columns:190px minmax(0,1fr) 270px}.entity-event-grid,.entity-organization-grid,.housing-document-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-section-row-v3{grid-template-columns:140px minmax(180px,1fr) minmax(120px,.6fr) 110px}.class-section-row-v3 .class-plan-button{grid-column:1/-1}.schedule-manual-form{grid-template-columns:repeat(4,minmax(130px,1fr))}}@media (max-width:1040px){.portal-shell{--portal-sidebar-width:76px}.portal-sidebar--desktop .portal-brand{display:none}.portal-sidebar--desktop .portal-brand-row{justify-content:center;padding:0}.portal-sidebar--desktop .portal-nav-group>small,.portal-sidebar--desktop .portal-nav-link>span,.portal-sidebar--desktop .portal-sidebar__status>span{display:none}.portal-sidebar--desktop .portal-nav-link,.portal-sidebar--desktop .portal-sidebar__status{justify-content:center}.portal-sidebar--desktop .portal-nav-link{padding-inline:0}.resource-toolbar-v3{grid-template-columns:minmax(220px,1fr) 190px 140px}.calendar-workbench{grid-template-columns:180px minmax(0,1fr)}.calendar-agenda{grid-column:1/-1;min-height:280px;border-top:1px solid var(--line);border-left:0}.calendar-agenda__items{grid-template-columns:repeat(2,minmax(0,1fr))}.class-search-form-v3{grid-template-columns:minmax(280px,1fr) 170px 150px}.class-search-form-v3>[data-slot=button]{grid-column:1/-1}.popular-course-searches>div{grid-template-columns:repeat(2,minmax(0,1fr))}.housing-controls-v3{grid-template-columns:minmax(220px,1fr) 190px auto}.housing-controls-v3 .housing-history-toggle{grid-column:1/2}.campus-switcher-v3{grid-template-columns:repeat(3,minmax(0,1fr))}.campus-content-grid-v3,.source-layout{grid-template-columns:1fr}.campus-source-list-v3>div{max-height:640px}.calendar-workbench--mobile{display:block;min-height:0;overflow:visible}.calendar-workbench--mobile .calendar-sources-panel{height:auto;border-bottom:1px solid var(--line)}.calendar-workbench--mobile .calendar-agenda,.calendar-workbench--mobile .calendar-primary-panel{height:auto}}@media (max-width:720px){body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}.portal-sidebar--desktop{display:none}.portal-workspace{width:100%;margin-left:0}.portal-topbar{height:60px;padding:0 10px}.portal-menu-button{display:inline-flex}.portal-page-identity small,.portal-page-identity__icon,.portal-topbar__actions>.time-display{display:none}.portal-campus-trigger{width:min(148px,42vw);min-width:0;height:36px;gap:6px;padding-inline:8px}.portal-campus-trigger__chevrons,.portal-campus-trigger__copy small{display:none}.portal-campus-trigger__copy strong{font-size:10px}.portal-campus-trigger [data-slot=badge]{height:20px;padding-inline:6px}.portal-main{width:100%;min-height:calc(100vh - 128px);padding:18px 10px 28px}.portal-mobile-nav{z-index:40;left:max(0px,env(safe-area-inset-left));right:max(0px,env(safe-area-inset-right));width:auto;height:calc(66px + env(safe-area-inset-bottom));padding-bottom:max(5px,env(safe-area-inset-bottom))}.portal-mobile-nav a,.portal-mobile-nav button{min-width:0;border-radius:8px;font-size:9px}.portal-mobile-nav svg{width:20px;height:20px}.calendar-page-heading,.resource-page-heading-v3{min-height:0;align-items:flex-start;flex-wrap:wrap}.resource-page-heading-v3 .resource-page-heading__icon{display:none}.calendar-page-heading h1,.resource-page-heading-v3 h1{font-size:26px}.calendar-page-heading p,.resource-page-heading-v3 p{font-size:10px}.resource-page-heading-v3>[data-slot=button]{min-width:0;flex:0 0 auto}.housing-controls-v3,.resource-toolbar-v3{grid-template-columns:1fr}.resource-toolbar-v3 [data-slot=select-trigger]{width:100%}.campus-resource-grid,.course-collection-grid,.entity-event-grid,.entity-news-grid,.entity-organization-grid,.housing-document-grid,.program-list{grid-template-columns:1fr}.entity-news-card.is-featured{display:block;grid-column:auto}.entity-news-card__visual{min-height:92px}.entity-detail-drawer{--drawer-content-width:100vw;--drawer-content-height:min(92dvh,840px);--drawer-content-max-height:min(92dvh,840px)}.entity-detail-drawer .resource-sheet__body{padding-inline:16px}.safe-rich-text table{display:block;max-width:100%;overflow-x:auto;white-space:nowrap}.calendar-page-heading{display:grid}.calendar-heading-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.calendar-heading-actions>[data-slot=button]:last-child{margin-left:auto}.calendar-commandbar{display:grid;grid-template-columns:1fr 1fr;gap:7px}.calendar-month-control{grid-column:1/-1;justify-content:space-between}.calendar-month-control strong{min-width:0;text-align:center}.calendar-result-count{display:none}.calendar-commandbar>[data-slot=button]:last-child{width:100%;margin-left:0}.calendar-commandbar>[data-slot=button]{width:100%}.calendar-workbench{display:block;min-height:0;overflow:visible}.calendar-export-note{display:none}.calendar-subscribe-actions{display:grid;min-width:min(100%,300px);grid-template-columns:repeat(3,auto);align-items:center;border:0;margin:9px 0 0;padding:0}.calendar-subscribe-actions>strong{grid-column:1/-1}.calendar-subscribe-actions [data-slot=button]{width:auto;justify-content:center}.calendar-academic-legend{grid-template-columns:1fr}.calendar-academic-legend ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-sources-panel{overflow-x:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px}.calendar-academic-note,.calendar-source-heading{display:none}.calendar-source-list{display:flex;width:max-content;gap:5px}.calendar-source-list label{width:172px;border:1px solid var(--line);background:#fff}.calendar-primary-panel{overflow:visible}.calendar-grid,.calendar-weekdays{width:100%}.calendar-grid{min-height:0;grid-auto-rows:minmax(66px,auto)}.calendar-weekdays span{padding:8px 2px;font-size:8px}.calendar-day{min-height:66px;overflow:hidden;padding:4px 2px}.calendar-day__number{width:24px;height:24px;font-size:9px}.calendar-day__events{gap:2px;margin-top:2px}.calendar-event-chip{height:24px;border-left-width:2px!important;padding:0 3px}.calendar-event-chip small{display:none}.calendar-event-chip strong{font-size:7px}.calendar-day__events>button:last-child:not(.calendar-event-chip){font-size:6px}.calendar-year-grid{width:100%;grid-template-columns:1fr}.calendar-year-month{min-height:230px}.calendar-agenda{min-height:360px}.calendar-agenda__items{grid-template-columns:1fr}.schedule-import-dialog{width:calc(100vw - 16px);max-width:none;max-height:94dvh;padding:14px}.schedule-import-dialog [data-slot=textarea]{min-height:145px}.schedule-import-courses{grid-template-columns:1fr}.schedule-import-result>header{grid-template-columns:22px minmax(0,1fr)}.schedule-import-result>header [data-slot=badge]{grid-column:2}.schedule-import-input-actions>[data-slot=button]{flex:1}.calendar-course-toast{right:10px;bottom:calc(76px + env(safe-area-inset-bottom))}.academics-tabs-v3>[data-slot=tabs-list]{overflow-x:auto}.academics-tabs-v3 [data-slot=tabs-trigger]{flex:0 0 auto}.class-search-form-v3{grid-template-columns:1fr 1fr}.class-search-form-v3 .class-search-input,.class-search-form-v3>[data-slot=button]{grid-column:1/-1}.popular-course-searches>div{grid-auto-columns:82%;grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory}.popular-course-searches>div>button{scroll-snap-align:start}.class-result__summary{grid-template-columns:minmax(0,1fr) 48px}.class-result__expand{min-height:130px;grid-template-columns:66px minmax(0,1fr) 18px;padding:10px}.class-result__stats{display:none}.class-result__preference{align-content:center;flex-direction:column;padding:6px}.class-section-row-v3{grid-template-columns:1fr 1fr}.class-section-row__instructor{grid-column:1/-1}.class-section-row-v3 .class-plan-button{grid-column:2}.schedule-manual-form{grid-template-columns:1fr 1fr}.schedule-manual-form>[data-slot=button],.schedule-manual-form>label:first-child,.schedule-manual-form>label:last-of-type{grid-column:1/-1}.housing-callout-v3{grid-template-columns:50px minmax(0,1fr)}.housing-callout-v3>span{width:48px;height:48px}.housing-callout-v3>[data-slot=button]{grid-column:1/-1}.housing-controls-v3 .housing-history-toggle{grid-column:auto}.campus-switcher-v3{grid-auto-columns:minmax(142px,58%);grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory}.campus-switcher-v3>button{scroll-snap-align:start}.campus-detail-band-v3{min-height:0;padding:12px}.campus-detail-band-v3 h2{font-size:18px}.campus-health-summary{overflow-x:auto}.campus-resource-pages>header,.campus-source-list-v3>header{padding:12px}.campus-source-list-v3>div{max-height:520px}.campus-content-grid-v3{grid-template-columns:1fr}.source-toolbar-v3{display:grid}.source-table>button{grid-template-columns:minmax(0,1fr) 108px 20px}.dashboard-shell--embedded{width:100%}.dashboard-shell--embedded .campus-parking-map,.dashboard-shell--embedded .map-canvas,.dashboard-shell--embedded .map-workspace,.dashboard-shell--embedded .workspace-grid{min-width:0;max-width:100%}.dashboard-shell--embedded .map-workspace{height:calc(100dvh - 178px);min-height:520px}.dashboard-shell--embedded .campus-parking-map,.dashboard-shell--embedded .map-canvas{height:100%;min-height:0}}@media (max-width:430px){.portal-page-identity strong{max-width:92px;font-size:11px}.portal-campus-trigger{width:132px}.portal-campus-trigger [data-slot=badge]{display:none}.portal-campus-menu{width:calc(100vw - 16px);max-height:calc(100dvh - 72px);padding:6px}.portal-campus-menu [role=menuitemcheckbox],.portal-campus-menu [role=menuitemradio]{min-height:44px}.resource-page-heading-v3>[data-slot=button]{width:100%}.entity-event-card>[data-slot=card-content]{align-items:stretch;flex-direction:column}.entity-organization-card{grid-template-columns:42px minmax(0,1fr) 16px;padding:11px}.entity-organization-card__mark{width:42px;height:42px}.class-search-form-v3{grid-template-columns:1fr}.class-search-form-v3 .class-search-input,.class-search-form-v3>[data-slot=button],.class-search-form-v3>label{grid-column:1}.class-section-row-v3{grid-template-columns:1fr}.class-section-row-v3 .class-plan-button,.class-section-row__instructor{grid-column:1}.schedule-manual-form{grid-template-columns:1fr}.schedule-manual-form>*{grid-column:1!important}.housing-callout-v3{padding:13px}.housing-callout-v3 h2{font-size:15px}.campus-resource-card>[data-slot=card-content],.housing-document-card>[data-slot=card-footer]{align-items:stretch;flex-direction:column}.housing-document-card__details{grid-template-columns:1fr}.campus-switcher-v3{grid-auto-columns:70%}}.portal-shell{--portal-header-height:64px;display:block;min-height:100dvh;background:var(--background)}.portal-workspace{min-width:0;width:100%;margin-left:0}.portal-topbar{position:sticky;z-index:40;top:0;display:grid;width:100%;height:var(--portal-header-height);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;border-bottom:1px solid var(--line);padding:0 20px;background:rgb(255 255 255/94%);box-shadow:0 1px 2px rgb(15 23 42/4%);backdrop-filter:blur(18px) saturate(140%)}.portal-topbar__actions,.portal-topbar__leading{display:flex;min-width:0;align-items:center}.portal-topbar__leading{gap:10px}.portal-topbar__actions{justify-content:flex-end;gap:10px;margin-left:0}.portal-topbar__leading>.portal-brand{max-width:188px;flex:0 1 auto}.portal-topbar__leading .portal-brand__mark{width:34px;height:34px;border-radius:7px;box-shadow:none}.portal-topbar__leading .portal-brand__mark svg{width:19px;height:19px}.portal-topbar__leading .portal-brand__copy strong{font-size:13px}.portal-topbar__leading .portal-brand__copy small{font-size:8px}.portal-menu-button{display:inline-flex;width:36px;height:36px;flex:0 0 auto;border-color:transparent;border-radius:7px;background:transparent}.portal-page-identity{position:relative;gap:8px;margin-left:3px;padding-left:13px}.portal-page-identity:before{position:absolute;top:4px;bottom:4px;left:0;width:1px;background:var(--line);content:""}.portal-page-identity__icon{width:30px;height:30px;border-radius:7px}.portal-page-identity__icon svg{width:16px;height:16px}.portal-page-identity strong{font-size:12px}.portal-page-identity small{max-width:260px;font-size:9px}.portal-primary-nav{display:flex;min-width:0;align-items:center;gap:3px;border:1px solid var(--line);border-radius:9px;padding:3px;background:var(--surface-muted)}.portal-primary-nav a{display:inline-flex;height:34px;align-items:center;gap:6px;border:1px solid transparent;border-radius:7px;padding:0 12px;color:var(--muted);font-size:11px;font-weight:680;white-space:nowrap;transition:color .14s ease,background .14s ease,box-shadow .14s ease}.portal-primary-nav a:hover{color:var(--ink)}.portal-primary-nav a.is-active{border-color:var(--line);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm)}.portal-primary-nav svg{width:15px;height:15px}.portal-campus-trigger{min-width:184px;height:38px;border-radius:7px}.portal-main{width:min(calc(100% - 40px),var(--page-width));min-height:calc(100dvh - var(--portal-header-height));margin:0 auto;padding:26px 0 48px}.portal-main--academics,.portal-main--calendar,.portal-main--sources{width:min(calc(100% - 40px),var(--page-width-wide))}.portal-main--parking{width:calc(100% - 28px);max-width:none;padding:14px 0 28px}.calendar-page-heading,.resource-page-heading-v3{min-height:64px;margin-bottom:16px}.calendar-page-heading h1,.resource-page-heading-v3 h1{font-size:clamp(25px,2.3vw,32px)}.calendar-page-heading p,.resource-page-heading-v3 p{max-width:720px;font-size:12px}.resource-page-heading__icon{width:44px;height:44px;border-radius:8px}.resource-page-heading__icon svg{width:22px;height:22px}.portal-overview-v3 .overview-intro{align-items:center;border:0;border-radius:0;padding:4px 0 8px;background:transparent}.overview-intro h1{max-width:680px;font-size:clamp(32px,4vw,48px)}.overview-intro>div:first-child>p{max-width:620px;font-size:14px;line-height:1.6}.overview-data-status{min-width:300px;border-radius:8px;box-shadow:none}.overview-data-status em,.overview-data-status small{font-size:10px}.overview-data-status strong{font-size:13px}.overview-quick-links-v3{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.overview-quick-links>a{min-height:88px;border-radius:8px;padding:11px;box-shadow:none}.overview-quick-links>a>span{width:36px;height:36px;border-radius:7px}.overview-quick-links strong{font-size:12px}.overview-quick-links small{font-size:10px}.overview-columns{gap:10px}.overview-alert,.overview-clear-status,.overview-news,.overview-upcoming{border-radius:8px;box-shadow:none}.overview-event-list>button,.overview-news-list button{min-height:60px}.overview-event-list strong,.overview-event-list>button>span:nth-child(2)>strong,.overview-news-list strong{font-size:12px}.overview-event-list small,.overview-news-list small,.overview-news-list span{font-size:10px}.dashboard-shell--embedded{width:100%;max-width:none;padding:0}.dashboard-shell--embedded .dashboard-heading{min-height:72px;align-items:center}.dashboard-shell--embedded .dashboard-heading h1{margin:3px 0 4px;font-size:clamp(26px,2.4vw,36px);letter-spacing:0}.dashboard-shell--embedded .dashboard-heading>div:first-child>p{font-size:12px}.dashboard-shell--embedded .metric-strip{gap:8px;margin:10px 0}.dashboard-shell--embedded .metric-card{min-height:66px;border-radius:8px;padding:10px 12px;box-shadow:none}.dashboard-shell--embedded .metric-card__icon{width:38px;height:38px;border-radius:7px}.dashboard-shell--embedded .metric-card strong{font-size:20px;letter-spacing:0}.dashboard-shell--embedded .workspace-grid{grid-template-columns:minmax(320px,360px) minmax(0,1fr);gap:10px}.dashboard-shell--embedded .map-workspace,.dashboard-shell--embedded .parking-panel{height:max(560px,calc(100dvh - 246px));min-height:0;border-radius:10px;box-shadow:none}.dashboard-shell--embedded .sidebar-tabs{gap:4px;padding:6px}.dashboard-shell--embedded .sidebar-tabs button{min-height:48px;border-radius:7px}.dashboard-shell--embedded .parking-card{border-radius:7px;box-shadow:none}.mobile-bottom-nav,.portal-mobile-nav{display:none}@media (max-width:1160px){.portal-page-identity small,.portal-primary-nav a span{display:none}.portal-primary-nav a{width:38px;justify-content:center;padding:0}.portal-primary-nav svg{width:17px;height:17px}.portal-topbar__actions>.time-display{display:none}.overview-quick-links-v3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:820px){body{padding-bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}.portal-shell{--portal-header-height:56px}.portal-topbar{display:flex;gap:7px;padding:0 max(8px,env(safe-area-inset-right)) 0 max(8px,env(safe-area-inset-left))}.portal-topbar__leading{min-width:0;flex:1;gap:5px}.portal-menu-button{width:36px;height:36px}.portal-topbar__leading>.portal-brand{max-width:none;flex:0 0 auto}.portal-topbar__leading .portal-brand__mark{width:32px;height:32px}.portal-page-identity small,.portal-page-identity__icon,.portal-primary-nav,.portal-topbar__actions>.time-display,.portal-topbar__actions>.time-display--loading,.portal-topbar__leading .portal-brand__copy{display:none}.portal-page-identity{min-width:0;margin-left:2px;padding-left:9px}.portal-page-identity strong{max-width:88px;font-size:11px}.portal-topbar__actions{flex:0 0 auto}.portal-campus-trigger{width:min(136px,35vw);min-width:0;height:36px;padding-inline:8px}.portal-campus-trigger [data-slot=badge],.portal-campus-trigger__chevrons,.portal-campus-trigger__copy small{display:none}.portal-main,.portal-main--academics,.portal-main--calendar,.portal-main--sources{width:100%;padding:16px 12px 28px}.portal-main--parking{width:100%;padding:0}.mobile-bottom-nav,.portal-mobile-nav{position:fixed;z-index:40;right:0;bottom:0;left:0;display:grid;height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;border-top:1px solid var(--line);padding:6px max(7px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(7px,env(safe-area-inset-left));background:rgb(255 255 255/96%);box-shadow:0 -16px 32px -28px rgb(15 23 42/48%);backdrop-filter:blur(18px) saturate(150%)}.mobile-bottom-nav button,.portal-mobile-nav a,.portal-mobile-nav button{display:flex;min-width:0;min-height:56px;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:1px solid transparent;border-radius:12px;padding:3px 2px;color:var(--muted);background:transparent;font-size:10px;font-weight:680;line-height:1}.mobile-bottom-nav button.is-active,.portal-mobile-nav a.is-active,.portal-mobile-nav button.is-active{border-color:var(--scarlet);color:var(--scarlet);background:var(--scarlet-soft)}.mobile-bottom-nav svg,.portal-mobile-nav svg{width:22px;height:22px}.mobile-bottom-nav__back{color:var(--ink)!important;background:var(--surface-muted)!important}.calendar-page-heading,.resource-page-heading-v3{min-height:0;align-items:flex-start;flex-wrap:nowrap;margin-bottom:13px}.calendar-page-heading h1,.resource-page-heading-v3 h1{font-size:24px}.calendar-page-heading p,.resource-page-heading-v3 p{font-size:12px;line-height:1.5}.resource-page-heading-v3>[data-slot=button]{width:38px;min-width:38px;min-height:38px;align-self:flex-start;padding:0;font-size:0}.resource-page-heading-v3>[data-slot=button] svg{width:17px;height:17px}.portal-overview-v3 .overview-intro{display:block;padding-top:0}.overview-intro h1{margin-top:4px;overflow-wrap:anywhere;font-size:30px;line-height:1.13}.overview-intro h1 span{display:block;margin-top:2px}.overview-intro>div:first-child>p{font-size:13px}.overview-data-status{width:100%;min-width:0;margin-top:14px}.overview-quick-links-v3{grid-auto-columns:minmax(228px,78%);grid-auto-flow:column;grid-template-columns:none;overflow-x:auto;padding-bottom:3px;scroll-snap-type:x mandatory}.overview-quick-links-v3>a{scroll-snap-align:start}.overview-columns{grid-template-columns:1fr}.entity-event-card{min-height:0}.entity-event-card>[data-slot=card-header]{grid-template-columns:50px minmax(0,1fr);gap:11px;padding:12px 12px 7px}.entity-event-card__date{width:50px;height:58px}.entity-event-card [data-slot=card-description]{margin-top:5px;line-height:1.45;-webkit-line-clamp:2}.entity-event-card>[data-slot=card-content]{align-items:center;padding:7px 12px 11px}.entity-card-meta{gap:4px}.dashboard-shell--embedded .dashboard-heading{display:none}.dashboard-shell--embedded .metric-strip{height:64px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:8px}.dashboard-shell--embedded .metric-card{min-height:64px;border-radius:7px;padding:6px 3px}.dashboard-shell--embedded .metric-card--permit>svg,.dashboard-shell--embedded .metric-card>i,.dashboard-shell--embedded .metric-card__icon,.dashboard-shell--embedded .metric-progress{display:none}.dashboard-shell--embedded .metric-card strong{margin-top:3px;font-size:16px}.dashboard-shell--embedded .metric-card small{font-size:9px}.dashboard-shell--embedded .workspace-grid{display:block}.dashboard-shell--embedded .map-workspace,.dashboard-shell--embedded .parking-panel{width:100%;height:max(240px,calc(100dvh - var(--portal-header-height) - var(--mobile-nav-height) - 80px - env(safe-area-inset-bottom)));min-height:0;border-right:0;border-left:0;border-radius:0}.dashboard-shell--embedded.is-mobile-map-view .metric-strip{display:none}.dashboard-shell--embedded.is-mobile-map-view .map-workspace{height:max(240px,calc(100dvh - var(--portal-header-height) - var(--mobile-nav-height) - env(safe-area-inset-bottom)));min-height:0}.dashboard-shell--embedded .parking-list{padding-bottom:16px}.dashboard-shell--embedded .sidebar-tabs,.portal-shell.is-map-page .portal-topbar__actions{display:none}.portal-shell.is-map-page .portal-page-identity strong{max-width:none}.portal-shell.is-map-page .portal-topbar__leading{justify-content:flex-start}.portal-shell.is-map-page .portal-main{min-height:calc(100dvh - var(--portal-header-height) - var(--mobile-nav-height))}.dashboard-shell--embedded .insight-grid,.site-footer{display:none}}@media (max-width:420px){.portal-topbar__leading .portal-brand{display:none}.portal-page-identity{margin-left:0;padding-left:7px}.portal-page-identity:before{display:none}.portal-page-identity strong{max-width:94px}.portal-campus-trigger{width:min(140px,40vw)}.mobile-bottom-nav button,.portal-mobile-nav a,.portal-mobile-nav button{font-size:9px}.calendar-subscribe-actions{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-subscribe-actions [data-slot=button]:last-child{grid-column:1/-1}}