.topbar-heading{min-width:0}.hamburger{flex-shrink:0}.account-menu{flex-shrink:0;margin-left:auto;position:relative}.account-trigger{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:6px 8px;display:flex}.account-trigger:hover,.account-trigger.is-open{background:var(--secondary-soft);border-color:var(--border)}.account-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:12px;font-weight:700;overflow:hidden}.account-chevron{color:var(--text-light);display:flex;transform:rotate(90deg)}.account-trigger.is-open .account-chevron{transform:rotate(-90deg)}.account-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:min(260px,100vw - 32px);padding:6px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 12px 32px #1d375824}.account-summary{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;margin-bottom:6px;padding:10px 12px 14px;display:flex}.account-summary strong{overflow-wrap:anywhere;font-size:12px}.account-summary span{color:var(--text-light);overflow-wrap:anywhere;font-size:12px}.account-menu-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:10px 12px;font-size:12px;font-weight:400;display:flex}.account-menu-item>span{display:flex}.account-menu-item svg{flex-shrink:0;width:18px;height:18px}.account-menu-item:hover,.account-menu-item:focus-visible{background:var(--secondary-soft)}.account-menu-divider{border-top:1px solid var(--border);margin:6px 0}.account-menu-logout{color:var(--danger)}.account-menu-logout:hover,.account-menu-logout:focus-visible{background:var(--danger-soft)}.account-profile{gap:16px;margin:0;display:grid}.account-profile dt{color:var(--text-light);margin-bottom:3px;font-size:12px}.account-profile dd{overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600}.account-settings{flex-direction:column;gap:16px;display:flex}.account-settings p{margin:5px 0 0}.account-settings .field{flex-direction:column;gap:6px;display:flex}.account-settings .field span{font-size:12px;font-weight:600}@media (width<=600px){.topbar{gap:10px}.topbar h1{font-size:15px}.account-name{display:none}.account-trigger{gap:5px;padding:4px}.account-trigger .avatar{width:32px;height:32px;font-size:12px}}.page-breadcrumbs{min-width:0;color:var(--text-light);margin-left:auto;font-size:12px}.page-breadcrumbs ol{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 8px;margin:0;padding:0;list-style:none;display:flex}.page-breadcrumbs li{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;display:inline-flex}.page-breadcrumbs .link-btn{font-size:inherit;text-align:right}.page-breadcrumbs [aria-current=page]{color:var(--text)}.page-heading-actions{min-width:0;max-width:100%}.page-heading-actions:has(>.page-breadcrumbs:not(.page-default-breadcrumbs))>.page-default-breadcrumbs{display:none}.events-page-title{overflow-wrap:anywhere;min-width:0}.refined-select .searchable-select-trigger{border-color:#d8e2e7;border-radius:8px;min-height:40px;padding:9px 12px}.refined-select .searchable-select-trigger:focus-visible,.refined-select .searchable-select-trigger[aria-expanded=true]{border-color:#3b8e84;outline:none;box-shadow:0 0 0 3px #165b5010}.refined-select .searchable-select-chevron{color:var(--text-light);flex-shrink:0;transition:transform .15s}.refined-select [aria-expanded=true] .searchable-select-chevron{transform:rotate(180deg)}.refined-select .searchable-select-panel{border:1px solid #d8e2e7;border-radius:12px;top:calc(100% + 7px);box-shadow:0 10px 28px #1d375814}.refined-select .searchable-select-search-wrap{border-bottom:1px solid var(--border);padding:12px;position:relative}.refined-select .searchable-select-search-wrap>svg{color:var(--text-light);pointer-events:none;position:absolute;top:50%;left:24px;transform:translateY(-50%)}.refined-select .input.searchable-select-search{width:100%;min-height:40px;box-shadow:none;border-radius:8px;margin:0;padding:9px 12px 9px 36px}.refined-select .searchable-select-options{max-height:250px;padding:6px}.refined-select .searchable-select-option{border-radius:7px;flex:none;min-height:40px;padding:10px 12px;line-height:1.5}.refined-select .searchable-select-option.selected{background:var(--primary-soft);color:var(--primary);font-weight:400}.refined-select .searchable-select-option:hover,.refined-select .searchable-select-option:focus-visible{background:var(--secondary-soft);outline:1px solid var(--border);outline-offset:-1px}.searchable-select-portal{z-index:10000}.searchable-select-portal .searchable-select-panel{max-height:inherit;flex-direction:column;display:flex;position:static}.searchable-select-portal .searchable-select-search-wrap{flex-shrink:0}.searchable-select-portal .searchable-select-options{max-height:var(--select-options-height,250px);min-height:0}.refined-select .searchable-select-option[data-active=true]{background:var(--secondary-soft);outline:1px solid var(--border);outline-offset:-1px}.refined-select .searchable-select-option:disabled{opacity:.5;cursor:not-allowed}.searchable-select-option-group{color:var(--text-light);font-size:12px;display:block}.searchable-select-option-detail{color:var(--text-light);margin-top:2px;font-size:12px;display:block}.refined-select .searchable-select-option:has(>.searchable-select-option-detail){padding:12px;line-height:1.4}.refined-select .searchable-select-option:has(>.searchable-select-option-detail)+.searchable-select-option{margin-top:4px}.refined-select .searchable-select-option>.searchable-select-option-detail{margin-top:4px;line-height:1.4}.project-select.project-select{min-width:0;box-shadow:none;font:inherit;background:0 0;border:0;flex-direction:column;height:auto;padding:0;display:inline-flex;position:relative}.project-select>.project-select-native{clip-path:inset(50%);opacity:0;pointer-events:none;width:1px;min-width:0;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-select>.searchable-select{width:100%;min-width:0}.project-select.input-error .searchable-select-trigger{border-color:var(--danger)}.project-select-validation{color:var(--danger);margin-top:4px;font-size:12px;display:block}.calendar-session-select-row{align-items:center;gap:8px;min-width:0;display:flex}.calendar-session-select-row>.searchable-select{flex:1;min-width:0}.calendar-session-select-row>.calendar-session-term{flex-shrink:0}.searchable-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.searchable-select-chevron{flex-shrink:0}.searchable-select-simple .searchable-select-panel{border-radius:10px}.searchable-select-simple .searchable-select-options{outline:none;padding:5px}.searchable-select-simple .searchable-select-option{justify-content:space-between;align-items:center;gap:12px;min-height:32px;padding:7px 9px;font-size:12px;display:flex}.searchable-select-simple .searchable-select-option.selected{color:#165b50;background:#edf6f3}.searchable-select-simple .searchable-select-option.selected:after{content:"✓";font-size:13px}@media (prefers-reduced-motion:reduce){.refined-select .searchable-select-chevron{transition:none}}.table-viewport.table-viewport{min-height:var(--table-fill-height,0px)}@media print{.table-viewport.table-viewport{min-height:0}}.table-sticky-flow.table-sticky-flow{overflow:visible}[data-table-control=true][data-table-control=true]{top:var(--table-sticky-top,var(--app-header-height));z-index:10;background:var(--surface);border-radius:16px 16px 0 0;position:sticky}.table-viewport.table-viewport[data-scroll-mode]:not([data-native-sticky]){min-width:0;overflow:visible}.table-viewport.table-viewport[data-scroll-mode]:not([data-native-sticky])>table>thead{top:calc(var(--table-sticky-top,var(--app-header-height)) + var(--table-toolbar-height,0px));z-index:5;background:var(--surface);position:sticky}.table-viewport.table-viewport[data-scroll-mode][data-scroll-mode=local]:not([data-native-sticky]){overflow:auto}.table-viewport.table-viewport[data-scroll-mode][data-scroll-mode=local]:not([data-native-sticky],[data-bounded]){max-height:max(180px, calc(100dvh - var(--table-sticky-top,var(--app-header-height)) - var(--table-toolbar-height,0px) - 32px))}.table-viewport.table-viewport[data-scroll-mode][data-scroll-mode=local]:not([data-native-sticky])>table>thead,.table-viewport.table-viewport[data-scroll-mode][data-scroll-mode=ancestor]:not([data-native-sticky])>table>thead{top:0}.table-viewport[data-header-stuck=true]>table>thead>tr:last-child>th{box-shadow:inset 0 -2px 0 var(--border), 0 2px 3px #1d375814}.table-directory-surface.table-directory-surface{border:1px solid var(--border);background:var(--surface);min-width:0;box-shadow:none;border-radius:16px}.table-directory-surface>.table-toolbar{border-bottom:0;padding:12px 16px 4px}.table-directory-surface>.table-viewport{padding-inline:16px}:where(.table-viewport[data-scroll-mode])>table{border-collapse:collapse;width:100%;font-size:13px}:where(.table-viewport)>table>thead>tr>th{background:var(--surface);color:var(--text-light);letter-spacing:.045em;font-size:12px;font-weight:600}:where(.table-viewport[data-scroll-mode])>table>thead>tr>th{text-align:left;text-transform:uppercase;padding:20px 12px}:where(.table-viewport[data-scroll-mode])>table>tbody>tr>td{border-bottom:1px solid var(--border);padding:9px 12px}.table-directory-surface>.table-viewport>.data-table>thead>tr>th{padding:20px 12px}.table-directory-surface>.table-viewport>.data-table>tbody>tr>td{height:64px;padding:9px 12px;font-size:13px}.table-directory-surface>.table-footer{border-top:1px solid var(--border);padding:18px 16px}.page:has(.table-directory-surface){max-width:none;padding:8px 16px var(--page-bottom-gap)}@media (width<=600px){.page:has(.table-directory-surface){padding-inline:8px}.table-directory-surface>.table-viewport{padding-inline:8px}}@media print{[data-table-control=true][data-table-control=true],.table-viewport.table-viewport[data-scroll-mode]:not([data-native-sticky])>table>thead{position:static}.table-viewport.table-viewport[data-scroll-mode]:not([data-native-sticky]){max-height:none;overflow:visible}.table-viewport[data-header-stuck=true]>table>thead>tr:last-child>th{box-shadow:none}}.date-input{width:100%;min-width:0;display:inline-flex;position:relative}.date-input>.input{font-variant-numeric:tabular-nums;width:100%;padding-right:36px}.date-input-native{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;bottom:0;right:0}.date-input-calendar{width:34px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:0;bottom:0;right:0}.date-input-calendar:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.date-input-calendar:disabled{opacity:.5;cursor:default}.table-viewport:has(>.table-empty-state){flex-direction:column;display:flex}.table-viewport:has(>.table-empty-state)>table{flex-shrink:0}.table-empty-state{min-height:220px;color:var(--text-light);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;width:100%;padding:32px 16px;display:flex;position:sticky;left:0}.table-empty-state-icon{justify-content:center;align-items:center;display:flex}.table-empty-state-icon svg{width:36px;height:36px}.table-empty-state-icon .books-icon{stroke-width:1.2px}.table-empty-state-message{font-size:13px;line-height:1.6}.table-empty-state-message>.btn{margin:12px auto 0;display:block}@media print{.table-empty-state{min-height:120px;position:static}}.sticky-directory.sticky-directory>:is(.users-list-table,.mentorship-list-table,.events-directory-card){overflow:visible}.sticky-directory.sticky-directory>:is(.users-list-table,.mentorship-list-table)>.card{border-radius:16px}.sticky-directory.sticky-directory .sticky-directory-toolbar{top:var(--directory-sticky-top,var(--app-header-height));z-index:10;background:var(--surface);border-radius:16px 16px 0 0;position:sticky}.sticky-directory.sticky-directory .table-wrap{overflow:visible}.sticky-directory.sticky-directory table thead{top:calc(var(--directory-sticky-top,var(--app-header-height)) + var(--directory-toolbar-height,54px));z-index:5;background:var(--surface);position:sticky}.sticky-directory.sticky-directory[data-header-stuck=true] table thead th{box-shadow:inset 0 -2px 0 var(--border), 0 2px 3px #1d375814}.sticky-directory.sticky-directory[data-horizontal-scroll=true] .table-wrap{max-height:calc(100dvh - var(--directory-sticky-top,var(--app-header-height)) - var(--directory-toolbar-height,54px) - 24px);flex:0 auto;overflow:auto}.sticky-directory.sticky-directory[data-horizontal-scroll=true] table thead{top:0}:is(.users-list-search,.directory-list-search)::-webkit-search-cancel-button{appearance:none}:is(.users-list-search,.directory-list-search)::-webkit-search-decoration{appearance:none}@keyframes users-search-expand{0%{opacity:0;transform-origin:100%;transform:scaleX(.8)}to{opacity:1;transform-origin:100%;transform:scaleX(1)}}@keyframes users-filter-enter{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion:reduce){:is(.users-filter-drawer,.directory-filter-drawer)[open],:is(.users-list-search-control,.directory-list-search-control) :is(.users-list-search,.directory-list-search){animation:none}}@media (width<=600px){.directory-status-pills button{gap:5px;padding-inline:10px}}@media (prefers-reduced-motion:reduce){.directory-status-pills button{transition:none}}.users-page-shell{flex-direction:column;flex:1;display:flex}.page.users-page-shell{padding-top:8px;max-width:none;padding-inline:16px}@media (width<=600px){.page.users-page-shell{padding-inline:8px}}.users-create-page{flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.users-create-page>.users-create-card{flex-direction:column;flex:1;display:flex}.users-edit-skeleton-label{width:100px;max-width:100%;height:12px}.users-edit-skeleton-input{border-radius:7px;width:100%;height:38px}.users-edit-skeleton-radio{border-radius:50%;width:16px;height:16px}.users-create-mobile-field{grid-column:1}.users-permissions-page{width:100%;min-width:0}.users-permissions-fields{border:0;min-width:0;margin:0;padding:0}.users-permissions-page .perm-head>div{overflow-wrap:anywhere;min-width:0}.users-permissions-actions{margin-top:18px}.users-permissions-page .switch{width:38px;height:20px}.users-permissions-page .switch-knob{width:14px;height:14px}.users-permissions-skeleton .perm-head{flex-wrap:nowrap}.users-permissions-skeleton .perm-head .users-skeleton-text{width:min(260px,100%)}.users-permissions-skeleton .users-permissions-skeleton-heading{width:130px;height:13px}.users-permissions-skeleton-switch{border-radius:999px;flex-shrink:0;width:38px;height:20px}.users-permissions-skeleton-label{width:160px;max-width:100%;height:14px}.users-permissions-skeleton .perm-admin-desc{gap:6px;padding-top:4px}.users-permissions-skeleton .perm-admin-desc .users-skeleton-line{height:11px}.users-permissions-skeleton-control{border-radius:8px;width:180px;height:30px}.users-permissions-skeleton-button{border-radius:8px;width:110px;height:34px}@media (width<=600px){.users-permissions-page .perm-mod-row{flex-wrap:wrap;gap:10px 13px}.users-permissions-page .perm-module{flex:1;min-width:0}.users-permissions-page .perm-mod-control{flex-basis:100%;margin-left:0;padding-left:55px}}.users-create-fields{border:0;min-width:0;margin:0;padding:0}.card.users-create-card{text-align:left;border-radius:24px;width:70%;padding:30px;font-size:13px;box-shadow:0 12px 36px #1d375808}.users-create-card .users-create-fields{flex-direction:column;flex:1;gap:0;display:flex}.users-create-section-head{color:var(--primary);align-items:center;gap:10px;margin:0 0 4px;font-size:14px;font-weight:600;display:flex}.users-create-section-icon{background:var(--primary-soft);width:32px;height:32px;color:var(--primary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.users-create-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.users-create-full-width{grid-column:1/-1}.users-create-grid .field{gap:8px;min-width:0}.users-create-card .field label{color:#406879;font-size:12px;font-weight:400}.users-create-role-picker{border:0;min-width:0;margin:0;padding:0}.users-create-role-picker legend{color:#406879;margin-bottom:8px;padding:0;font-size:12px}.users-create-role-options{flex-wrap:wrap;align-items:center;gap:10px 16px;min-height:32px;display:flex}.users-create-role-option{color:var(--text);white-space:nowrap;cursor:pointer;align-items:center;gap:7px;font-size:13px;display:inline-flex}.users-create-role-option input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin:0}.users-create-role-option input:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.users-create-card .input,.users-create-card .select{background:var(--surface);border-color:#d8e2e7;border-radius:7px;width:100%;min-height:38px;padding:8px 12px;font-size:13px}.users-create-card .input:focus,.users-create-card .select:focus{border-color:#3b8e84;box-shadow:0 0 0 3px #165b5010}.users-create-phone{background:var(--surface);border:1px solid #d8e2e7;border-radius:7px;min-width:0;min-height:38px;display:flex;overflow:hidden}.users-create-phone:focus-within{border-color:#3b8e84;box-shadow:0 0 0 3px #165b5010}.users-create-phone .project-select{flex-shrink:0;width:106px}.users-create-phone .project-select .searchable-select-trigger{border:0;border-right:1px solid #d8e2e7;border-radius:0;padding:6px 10px}.users-create-phone input{background:0 0;border:0;outline:none;flex:1;width:100%;min-width:0;padding:8px 12px;font-size:13px}.users-create-note{color:var(--text-light);margin:14px 0 0;font-size:12px;line-height:1.6}.users-create-permissions{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.users-create-permissions .users-create-section-head{margin-bottom:16px}.users-create-permissions .perm-admin{border:1px solid var(--border);background:var(--secondary-soft);border-radius:10px;grid-template-columns:38px minmax(0,1fr);gap:6px 12px;margin:0 0 8px;padding:16px}.users-create-permissions .perm-admin-name{font-size:13px;line-height:20px}.users-create-permissions .perm-admin-desc{line-height:1.6}.users-create-permission-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));column-gap:24px;display:grid}.users-create-permission{border-bottom:1px solid var(--border);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;min-height:64px;padding:16px;display:grid}.users-create-module-name{min-width:0;color:var(--text);overflow-wrap:anywhere;font-size:13px;line-height:1.5}.users-create-switch{cursor:pointer;background:#b3c5c2;border:1px solid #a0b6b2;border-radius:20px;flex-shrink:0;width:38px;height:20px;padding:0;transition:background-color .15s,border-color .15s;position:relative}.users-create-switch>span{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #183d3726}.users-create-switch.is-on{background:#165b50;border-color:#165b50}.users-create-switch.is-on>span{transform:translate(18px)}.users-create-switch:focus-visible{outline-offset:3px;outline:2px solid #165b50}.users-create-switch:disabled{cursor:not-allowed}.users-create-fields:disabled .users-create-switch{opacity:.55}.users-create-permission-level{flex-shrink:0;width:104px}.users-create-permission-level .searchable-select-trigger{border-radius:8px;min-height:32px;padding:6px 10px;font-size:12px;font-weight:400;transition:border-color .16s,box-shadow .16s}.users-create-permission-level .searchable-select-trigger:hover:not(:disabled){border-color:#3b8e84}.users-create-full-access{color:#165b50;flex-shrink:0;font-size:12px}.users-create-card .users-create-actions{border-top:0;margin-top:auto;padding-top:42px}.users-create-card .btn{border-radius:5px;justify-content:center;min-height:32px;padding:6px 14px;font-size:12px;line-height:18px}.users-create-card .btn-outline{color:#576c73;border-color:#97a8b1}.users-create-card .auth-error{margin-top:18px}@media (width<=1100px){.card.users-create-card{width:100%}}@media (width<=600px){.card.users-create-card{border-radius:18px;padding:20px}.users-create-grid{grid-template-columns:minmax(0,1fr)}.users-create-permissions{margin-top:20px;padding-top:20px}.users-create-permissions .perm-admin{padding:12px}.users-create-permission{grid-template-columns:38px minmax(0,1fr);padding:14px 12px}.users-create-permission-level,.users-create-full-access{grid-column:2;justify-self:start}.users-create-phone .project-select{width:90px}.users-create-card .users-create-actions{padding-top:30px}}@media (prefers-reduced-motion:reduce){.users-create-switch,.users-create-switch>span,.users-create-permission-level .searchable-select-trigger{transition:none}}.users-create-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-start;gap:10px;padding-top:18px;display:flex}.users-list-page{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.users-list-filters{min-width:0}.users-list-table{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.users-list-table>.card{box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:1;display:flex}.users-list-table .table-toolbar{border-bottom:0;padding:0}.users-list-toolbar{flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:12px 16px 4px;display:flex}.users-list-toolbar-start,.users-list-toolbar-end{align-items:center;gap:14px;display:flex}.users-list-toolbar-start{flex:1;justify-content:flex-end;min-width:0;margin-left:auto}.users-list-toolbar-end{flex-shrink:0;gap:12px;min-width:0;margin-left:auto}.users-list-toolbar-end:empty{display:none}.users-list-toolbar-end .btn{border-radius:5px;gap:5px;min-height:32px;padding:6px 10px;font-size:12px}.users-list-toolbar-end .users-list-new-user{min-height:28px;padding-block:4px}.users-list-bulk-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.users-list-selection{color:var(--text-light);flex-basis:100%;align-items:center;gap:8px;font-size:12px;display:flex}.users-list-selection .link-btn{font-size:12px}.users-list-error{border:1px solid var(--danger-soft);background:var(--danger-soft);color:var(--danger);border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;font-size:13px;display:flex}.users-list-table .table-wrap{flex:1;padding:0 16px}.users-list-table .data-table{table-layout:fixed;min-width:800px}.users-list-table .data-table th{border-bottom:2px solid var(--border);background:var(--surface);color:var(--text-light);letter-spacing:.045em;padding:20px 12px;font-size:12px;font-weight:600}.users-list-table .data-table td{vertical-align:middle;height:64px;padding:9px 12px;font-size:13px}.users-list-table .data-table th:first-child{width:52px}.users-list-table .data-table th:nth-child(3){width:27%}.users-list-table .data-table th:nth-child(4){width:110px}.users-list-table .data-table th:nth-child(5){width:180px}.users-list-table .data-table th:last-child{width:84px}.users-list-table .data-table tbody tr:last-child td{border-bottom:0}.users-list-table .data-table tbody tr.users-list-selected{background:#effbf8}.users-list-sort{color:inherit;font:inherit;text-transform:uppercase;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.users-list-sort:hover{color:var(--primary)}.users-list-sort .table-sort-icon{width:14px;height:14px;margin-left:0}.users-list-identity{align-items:center;gap:13px;min-width:0;display:flex}.users-list-avatar{background:var(--primary-soft);width:44px;height:44px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid}.users-list-identity>div{min-width:0}.users-list-name{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.users-list-identity strong{text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.5;display:block;overflow:hidden}.users-list-name strong{min-width:0}.users-list-identity>div>span{text-overflow:ellipsis;color:var(--text-light);margin-top:2px;font-size:12px;line-height:1.5;display:block;overflow:hidden}.users-list-contact{flex-direction:column;gap:3px;min-width:0;display:flex}.users-list-contact a{min-width:0;color:var(--text);align-items:center;gap:7px;text-decoration:none;display:flex}.users-list-contact a svg{color:var(--text-light);flex-shrink:0}.users-list-contact a span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.users-list-contact a:last-child{color:var(--text-light);font-size:12px}.users-list-contact a:hover{color:var(--info);text-decoration:none}.users-list-table .badge{padding:4px 11px;font-size:12px;font-weight:600}.users-list-table .users-list-role{flex-shrink:0;padding:2px 8px;font-size:12px}.users-list-table .badge-success{color:#297844;background:#edf8ed}.users-list-table time{font-variant-numeric:tabular-nums;font-size:12px}.users-list-table .row-menu-btn{border-radius:50%}.users-list-table .table-footer{border-top:1px solid var(--border);padding:18px 16px}@media (width<=600px){.users-list-filters{gap:8px}.users-list-pills{max-width:100%}.users-list-pills button{gap:5px;padding-inline:10px}.users-list-pills button>span{min-width:20px;padding:2px 5px;font-size:12px}.users-list-toolbar{gap:10px;padding:10px 16px 4px}.users-list-toolbar-end{gap:3px}.users-list-toolbar-start{gap:8px;min-width:76px}.users-list-tool{width:30px;height:32px;padding:6px}.users-list-toolbar-end{max-width:100%}.users-list-toolbar-end .btn{gap:5px;padding:6px 9px;font-size:12px}.users-list-toolbar-end .users-list-new-user{padding-block:4px}.users-list-table .table-wrap{padding:0 8px}.users-list-table .table-footer{padding:16px}}.users-devices-page{flex-direction:column;flex:1;width:100%;min-width:0;display:flex}.users-devices-page>.users-list-error{margin-bottom:16px}.users-devices-card{box-shadow:none;flex-direction:column;flex:1;display:flex;overflow:hidden}.users-devices-card>.table-wrap{flex:1}.users-devices-skeleton .users-devices-card-head>.users-skeleton-text{width:200px;max-width:55%}.users-devices-skeleton-button{border-radius:6px;flex-shrink:0;width:100px;height:32px}.users-devices-skeleton .users-devices-action>.users-skeleton{margin-left:auto}.users-devices-skeleton-icon{flex-shrink:0;width:22px;height:22px}.users-devices-card-head{justify-content:space-between;align-items:center;gap:16px;padding:22px 26px 20px;display:flex}.users-devices-card-head h3{font-size:16px;font-weight:600}.users-devices-card-head p{color:var(--text-light);margin:5px 0 0;font-size:12px}.users-devices-card-head>.btn{flex-shrink:0}.users-devices-table{min-width:780px}.users-devices-table.is-empty{height:100%}.users-devices-table.is-empty thead{height:44px}.users-devices-table.is-empty tbody tr,.users-devices-table.is-empty tbody tr:hover{background:var(--surface)}.users-devices-table th{padding:13px 24px;font-size:12px;font-weight:600}.users-devices-table td{padding:18px 24px}.users-devices-table .users-devices-select{width:50px}.users-devices-table th:first-child,.users-devices-table td:first-child{padding-left:26px;padding-right:0}.users-devices-table th:last-child,.users-devices-table td:last-child{padding-right:26px}.users-devices-table input:disabled{cursor:not-allowed}.users-devices-table input:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.users-devices-identity{align-items:center;gap:12px;display:flex}.users-devices-identity>svg{color:var(--text-light);flex-shrink:0}.users-devices-identity strong{font-weight:600;display:inline-block}.users-devices-identity small{color:var(--text-light);margin-top:5px;font-size:12px;display:block}.users-devices-current{color:var(--primary);margin-left:8px;font-size:12px}.users-device-status{color:var(--text-light);align-items:center;gap:7px;font-size:12px;display:inline-flex}.users-device-status>span{background:#adb5bd;border-radius:50%;width:8px;height:8px}.users-device-status.online>span{background:#198754}.users-device-status.idle>span{background:#e4a23b}.users-devices-table .users-devices-action{text-align:right}.users-devices-table .users-devices-signout{border:1px solid var(--danger);color:var(--danger);background:0 0}.users-devices-table .users-devices-signout:hover:not(:disabled){background:var(--danger-soft)}.users-devices-empty{color:var(--text);justify-items:center;gap:12px;padding:40px 16px;display:grid}.users-devices-empty>svg{width:30px;height:30px}.users-devices-empty p{margin:0}.users-devices-confirm{border-block:1px solid var(--border);background:var(--danger-soft);justify-content:space-between;align-items:center;gap:20px;padding:20px 26px;display:flex}.users-devices-confirm:focus{outline:2px solid var(--danger);outline-offset:-2px}.users-devices-confirm h4{margin-bottom:6px;font-size:14px}.users-devices-confirm p{max-width:680px;margin:0;font-size:12px;line-height:1.6}.users-devices-confirm-actions{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}@media (width<=700px){.users-devices-confirm{flex-direction:column;align-items:flex-start}.users-devices-card-head,.users-devices-confirm{padding:18px}.users-devices-table th:first-child,.users-devices-table td:first-child{padding-left:18px}.users-devices-table th:last-child,.users-devices-table td:last-child{padding-right:18px}}.users-skeleton{background:linear-gradient(100deg, var(--secondary-soft) 20%, var(--border) 45%, var(--secondary-soft) 70%);background-size:220% 100%;border-radius:5px;animation:1.5s ease-in-out infinite users-skeleton-shimmer;display:block}.users-skeleton-checkbox{border-radius:3px;width:18px;height:18px}.users-skeleton-avatar{border-radius:50%;flex-shrink:0;width:44px;height:44px}.users-skeleton-text{flex-direction:column;gap:9px;width:100%;display:flex}.users-skeleton-line{width:85%;height:12px}.users-skeleton-line.short{width:60%;height:10px}.users-skeleton-badge{border-radius:20px;width:64px;height:23px}.users-skeleton-action{border-radius:50%;width:28px;height:28px;margin-left:auto}.users-list-pills button>.users-count-skeleton{color:#0000;background:linear-gradient(100deg, var(--secondary-soft) 20%, var(--border) 45%, var(--secondary-soft) 70%);background-size:220% 100%}@keyframes users-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.users-skeleton{animation:none}}.mentor-allocation-page{min-width:0}.mentor-allocation-table{min-width:0;margin:0;padding:0}.mentor-allocation-table .data-table{min-width:950px}.mentor-allocation-table .data-table th:nth-child(2){width:140px}.mentor-allocation-table .data-table th:nth-child(3){width:auto}.mentor-allocation-table .data-table th:nth-child(4){width:180px}.mentor-allocation-table .data-table th:nth-child(5){width:100px}.mentor-allocation-table .data-table th:last-child{width:340px}.mentor-allocation-actions{flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.mentor-allocation-assign-controls{align-items:center;gap:10px;min-width:0;max-width:100%;display:flex}.mentor-allocation-assign-controls>.project-select{flex:1;width:240px;min-width:0}.mentor-allocation-assign-controls>.btn{white-space:nowrap;flex-shrink:0}.mentor-allocation-choice{gap:4px;display:grid}.mentor-allocation-input.is-changed .searchable-select-trigger{border-color:var(--warning);background:var(--warning-soft)}.mentor-allocation-draft{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.mentor-allocation-draft .link-btn{font-size:12px}.mentor-allocation-selected{background:#effbf8}.mentor-allocation-error{color:var(--danger);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}@media (width<=600px){.mentor-allocation-actions{width:100%;margin-left:0}.mentor-allocation-assign-controls{width:100%}}:is(.users-list-search,.directory-list-search)::-webkit-search-cancel-button{appearance:none}:is(.users-list-search,.directory-list-search)::-webkit-search-decoration{appearance:none}@media (prefers-reduced-motion:reduce){:is(.users-filter-drawer,.directory-filter-drawer)[open],:is(.users-list-search-control,.directory-list-search-control) :is(.users-list-search,.directory-list-search){animation:none}}@media (width<=600px){.directory-status-pills button{gap:5px;padding-inline:10px}}@media (prefers-reduced-motion:reduce){.directory-status-pills button{transition:none}}.students-directory{gap:12px;container-type:inline-size}.students-directory .users-list-table{overflow:visible}.students-directory .users-list-table>.card{border-radius:16px}.students-directory .users-list-table .data-table{table-layout:fixed;width:100%;min-width:0}.students-directory .users-list-table .data-table th{white-space:normal;width:auto}.students-directory .users-list-table .data-table th:first-child{width:52px}.students-directory .users-list-table .data-table th.student-col-name{width:21%}.students-directory .users-list-table .data-table th.student-col-identifiers{width:23%}.students-directory .users-list-table .data-table th.student-col-college-id{width:12%}.students-directory .users-list-table .data-table th.student-col-semester,.students-directory .users-list-table .data-table th.student-col-section{width:54px}.students-directory .users-list-table .data-table th:last-child{text-align:right;width:68px}.students-directory .users-list-table .data-table td{height:72px;padding-block:12px}.students-directory .users-list-identity strong{font-size:14px;font-weight:400}.students-directory .users-list-identity>div{flex:1}.students-directory .users-list-identity strong{white-space:normal;overflow-wrap:anywhere}.student-cell-stack{flex-direction:column;gap:3px;min-width:0;display:flex}.student-programme{overflow-wrap:anywhere;font-size:13px;font-weight:600}.student-identifiers>span{flex-wrap:wrap;align-items:baseline;column-gap:8px;display:flex}.student-identifiers small{color:var(--text-light);flex:0 0 104px;font-size:12px}.student-identifiers .stu-identifier{white-space:normal;overflow-wrap:anywhere;min-width:0}.students-directory .row-actions{justify-content:flex-end}.students-directory .table-footer{border-radius:0 0 16px 16px;flex-wrap:wrap;gap:12px}.students-directory .student-filter-summary{flex-basis:100%;margin:0;padding-block:8px}.students-directory .users-list-toolbar-start{gap:8px}.students-directory .students-directory-actions{flex-wrap:wrap;gap:6px}.student-add-split{align-items:stretch;display:inline-flex;position:relative}.student-add-split .student-add-main{border-radius:5px 0 0 5px}.student-add-split .student-add-toggle{border-left:1px solid #ffffff50;border-radius:0 5px 5px 0;justify-content:center;min-width:32px;padding-inline:9px}.student-add-menu{z-index:120;border:1px solid var(--border);background:var(--surface);border-radius:6px;min-width:230px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.page.students-list-shell:has(.student-profile-title,.student-form-page)>.events-page-heading{display:none}@media (width<=1100px){.students-directory .students-directory-actions{flex-basis:100%;justify-content:flex-end}}@media (width<=600px){.students-directory .users-list-toolbar-start{min-width:0}.students-directory .users-list-toolbar>.users-list-pills{flex-basis:100%}.students-directory .users-list-pills{flex-wrap:wrap}}@container (width<=740px){.students-directory .users-list-table .data-table thead,.students-directory .users-list-table .data-table tbody{display:block}.students-directory .users-list-table .data-table tr{grid-template-columns:32px minmax(0,1fr) 36px;align-items:center;display:grid}.students-directory .users-list-table .data-table th,.students-directory .users-list-table .data-table td{border:0;min-width:0;height:auto;padding:8px 4px;width:auto!important}.students-directory .users-list-table .data-table thead tr{border-bottom:2px solid var(--border)}.students-directory .users-list-table .data-table th{display:none}.students-directory .users-list-table .data-table th:first-child,.students-directory .users-list-table .data-table th.student-col-name{display:block}.students-directory .users-list-table .data-table tbody tr{border-bottom:1px solid var(--border);padding-block:10px}.students-directory .users-list-table .data-table tbody tr:last-child{border-bottom:0}.students-directory .data-table td:first-child{grid-area:1/1;align-self:start}.students-directory .data-table td.student-col-name{grid-area:1/2}.students-directory .data-table td.student-col-actions{grid-area:1/3;align-self:start}.students-directory .data-table td.student-col-college-id,.students-directory .data-table td.student-col-semester,.students-directory .data-table td.student-col-section,.students-directory .data-table td.student-col-identifiers,.students-directory .data-table td.student-col-minor,.students-directory .data-table td.student-col-major{grid-column:2/-1}.students-directory .data-table td.student-col-college-id:before,.students-directory .data-table td.student-col-identifiers:before,.students-directory .data-table td.student-col-semester:before,.students-directory .data-table td.student-col-section:before,.students-directory .data-table td.student-col-minor:before,.students-directory .data-table td.student-col-major:before{content:attr(data-label);color:var(--text-light);text-transform:uppercase;letter-spacing:.045em;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.students-directory .data-table td[colspan]{grid-column:1/-1}}.student-profile-page{flex-direction:column;gap:20px;min-width:0;padding-bottom:16px;display:flex}.student-profile-page .student-profile-hero{border-color:#ccd6e2;border-radius:14px;overflow:hidden}.student-profile-hero-main{align-items:center;gap:24px;padding:28px;display:flex}.student-profile-portrait{border:1px solid var(--border);width:100px;height:112px;color:var(--primary);background:var(--secondary-soft);border-radius:12px;flex:0 0 100px;place-items:center;display:grid;overflow:hidden}.student-profile-portrait>span{letter-spacing:-.04em;font-size:32px;font-weight:600}.student-profile-portrait img{object-fit:cover;width:100%;height:100%}.student-profile-identity{flex:1;min-width:0}.student-profile-identity h2{color:var(--primary);letter-spacing:-.035em;overflow-wrap:anywhere;margin:5px 0 6px;font-size:clamp(19px,2.4vw - 4px,26px);font-weight:700;line-height:1.25}.student-profile-identity>p{color:var(--text-light);margin:0;font-size:13px}.student-profile-identity-meta{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:14px;font-size:12px;display:flex}.student-profile-identity-meta strong{color:var(--text);font-variant-numeric:tabular-nums;margin-left:5px;font-weight:600}.student-profile-edit{flex-shrink:0;align-self:flex-start;margin-top:6px}.student-profile-hero-facts{background:var(--surface);border-top:1px solid #ccd6e2;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0;padding:20px 28px;display:grid}.student-profile-hero-facts>div{min-width:0}.student-profile-hero-facts>div+div{border-left:1px solid #ccd6e2;padding-left:20px}.student-profile-page dt{color:var(--text-light);margin-bottom:7px;font-size:12px;font-weight:400}.student-profile-page dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:500}.student-profile-hero-facts dd{font-weight:600}.student-profile-layout{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:20px;display:grid}.student-profile-sidebar{flex-direction:column;gap:16px;min-width:0;display:flex}.student-profile-side-card{border-radius:12px;padding:22px}.student-profile-side-card h3{color:var(--primary);margin:0 0 22px;font-size:13px;font-weight:650}.student-profile-contact{gap:20px;margin:0;display:grid}.student-profile-contact dd{font-variant-numeric:tabular-nums}.student-profile-contact a{color:var(--primary);text-decoration:none}.student-profile-contact a:hover{text-decoration:underline}.student-profile-page .student-profile-missing{color:var(--text-light);font-size:12px;font-weight:400}.student-profile-page .student-profile-workspace{border-radius:12px;min-width:0;overflow:hidden}.student-profile-navigation{border-bottom:1px solid var(--border);scrollbar-width:thin;padding:0 20px;display:flex;overflow-x:auto}.student-profile-navigation button{color:var(--text-light);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:18px 12px;font-family:inherit;font-size:12px;font-weight:500;position:relative}.student-profile-navigation button:hover{background:var(--secondary-soft);color:var(--primary)}.student-profile-navigation button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:700}.student-profile-page :is(button,a):focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.student-profile-content{min-width:0;min-height:360px;padding:26px 28px}.student-profile-content:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.student-profile-detail-section+.student-profile-detail-section{border-top:1px solid var(--border);margin-top:28px;padding-top:26px}.student-profile-detail-heading{margin-bottom:24px}.student-profile-detail-heading h3{color:var(--primary);margin:0 0 5px;font-size:15px;font-weight:650}.student-profile-detail-heading p{color:var(--text-light);margin:0;font-size:12px;line-height:1.6}.student-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 36px;margin:0;display:grid}.student-profile-fields>div{min-width:0}.student-profile-page .student-profile-notice{margin:0}.student-profile-page .student-profile-section-head .field{width:min(100%,300px)}@media (width<=1100px){.student-profile-layout{grid-template-columns:220px minmax(0,1fr);gap:16px}.student-profile-side-card{padding:20px}.student-profile-content{padding:24px}.student-profile-navigation{padding-inline:12px}}@media (width<=860px){.student-profile-layout{grid-template-columns:minmax(0,1fr)}.student-profile-sidebar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}@media (width<=600px){.student-profile-page{gap:14px}.student-profile-hero-main{flex-wrap:wrap;gap:16px;padding:20px}.student-profile-portrait{flex-basis:72px;width:72px;height:86px}.student-profile-portrait>span{font-size:26px}.student-profile-identity-meta{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px}.student-profile-edit{justify-content:center;width:100%;margin-top:2px}.student-profile-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px}.student-profile-hero-facts>div+div{border:0;padding:0}.student-profile-sidebar{grid-template-columns:minmax(0,1fr);gap:14px}.student-profile-side-card h3{margin-bottom:18px}.student-profile-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.student-profile-content{padding:22px 20px}.student-profile-fields{gap:22px}.student-profile-content .student-profile-section-head{gap:12px}}@media (width<=380px){.student-profile-fields,.student-profile-contact{grid-template-columns:minmax(0,1fr)}}.student-profile-skeleton-line{width:75%;max-width:240px;height:14px;display:block}.student-profile-skeleton-line.is-label{width:45%;height:12px;margin-bottom:9px}.student-profile-skeleton-line.is-name{width:70%;max-width:330px;height:32px;margin-bottom:10px}.student-profile-skeleton-line.is-meta{width:60%;height:20px;margin-top:14px}.student-profile-skeleton-line.is-heading{width:65%;height:16px;margin-bottom:20px}.student-profile-skeleton .student-profile-detail-heading .is-heading{margin-bottom:10px}.student-profile-skeleton .student-profile-portrait{border:0}.student-profile-skeleton-tabs>span{flex:0 0 86px;padding:20px 12px}.student-profile-skeleton-tabs .student-profile-skeleton-line{width:100%}.student-bulk-admission{border-radius:12px;width:100%;min-width:0;padding:22px 24px 0;overflow:visible}.student-bulk-toolbar,.student-bulk-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.student-bulk-toolbar{padding-bottom:18px}.student-bulk-toolbar p{color:var(--text-light);margin:0;font-size:14px}.student-bulk-keyboard-help{margin-top:4px;font-size:12px;display:block}.student-bulk-toolbar .action-group,.student-bulk-footer .action-group{flex-wrap:wrap;gap:8px;display:flex}.student-bulk-toolbar .btn{min-height:32px;padding:6px 10px}.student-bulk-notice{background:var(--danger-soft);color:var(--danger);border-radius:4px;margin:0 0 12px;padding:10px 12px}.student-bulk-errors{max-height:100px;overflow-y:auto}.student-bulk-errors p{margin:0}.student-bulk-grid{width:100%;height:var(--table-fill-height,0px);border:1px solid var(--border);overflow:auto}.student-bulk-grid thead{z-index:5;position:sticky;top:0}.student-bulk-grid .data-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:max-content}.student-bulk-grid .data-table th,.student-bulk-grid .data-table td{vertical-align:middle;border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);width:180px;min-width:180px;height:46px;padding:0}.student-bulk-grid .data-table thead th{white-space:nowrap;text-transform:none;letter-spacing:0;height:40px;color:var(--text-light);background:#eeeeef;padding:8px 10px;font-size:12px;font-weight:400}.student-bulk-column-trigger{width:100%;color:inherit;font:inherit;text-align:left;cursor:grab;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.student-bulk-column-trigger:active{cursor:grabbing}.student-bulk-grid .data-table thead .student-bulk-drop-target{box-shadow:inset 3px 0 var(--accent);background:var(--secondary)}.student-bulk-photo-preview{vertical-align:middle;object-fit:cover;border-radius:4px;width:32px;height:32px;margin-left:5px;display:inline-block}.student-bulk-grid .student-bulk-photo-preview+input[type=file]{width:200px}.student-bulk-grid .data-table .student-bulk-row-number{z-index:2;text-align:center;width:48px;min-width:48px;color:var(--text-light);background:#eeeeef;font-weight:400;position:sticky;left:0}.student-bulk-grid .data-table thead .student-bulk-row-number{z-index:4;background:#eeeeef}.student-bulk-grid .data-table th.student-bulk-col-name,.student-bulk-grid .data-table th.student-bulk-col-programmeId,.student-bulk-grid .data-table th.student-bulk-col-admittedMinorId{width:240px;min-width:240px}.student-bulk-grid .data-table th.student-bulk-col-profileImageFile{width:260px;min-width:260px}.student-bulk-grid .input,.student-bulk-grid .searchable-select-trigger{width:100%;min-width:0;height:45px;min-height:45px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:8px 10px;font-size:13px;font-weight:400}.student-bulk-grid .project-select,.student-bulk-grid .searchable-select{width:100%;min-width:0}.student-bulk-grid .input:focus,.student-bulk-grid .searchable-select-trigger:focus-visible,.student-bulk-grid .searchable-select-trigger.open{box-shadow:inset 0 0 0 2px var(--accent);outline:0}.student-bulk-grid .input:disabled,.student-bulk-grid .searchable-select-trigger:disabled{color:var(--text-light);background:#f3f4f5}.student-bulk-grid input[type=file]{width:250px;margin-inline:5px;font-size:12px}.student-bulk-grid [aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--danger);background:var(--danger-soft)}.student-bulk-grid .student-bulk-added td{background:var(--success-soft)}.student-bulk-row-trigger{width:100%;height:45px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:block}.student-bulk-row-trigger:hover:not(:disabled),.student-bulk-row-trigger[aria-expanded=true]{background:var(--secondary);color:var(--primary)}.student-bulk-row-menu{max-height:calc(100dvh - 16px);overflow-y:auto}.student-bulk-row-menu .row-menu-item:disabled{opacity:.45;cursor:not-allowed}.student-bulk-menu-columns{max-height:240px;padding-left:12px;overflow-y:auto}.student-bulk-footer{min-height:76px;padding-block:16px}.student-bulk-footer p{margin:0}.student-bulk-count{color:var(--text-light);font-size:14px}.student-bulk-footer .student-bulk-summary{color:var(--text-light);margin-top:4px;font-size:12px}.student-bulk-columns{position:relative}.student-bulk-columns summary{list-style:none}.student-bulk-columns summary::-webkit-details-marker{display:none}.student-bulk-column-options{z-index:30;border:1px solid var(--border);background:var(--surface);border-radius:6px;min-width:230px;max-height:340px;padding:8px;position:absolute;top:calc(100% + 6px);right:0;overflow:auto;box-shadow:0 8px 20px #1d375812}.student-bulk-column-options label{cursor:pointer;align-items:center;gap:10px;padding:7px 8px;font-size:12px;display:flex}.student-bulk-column-options label:hover{background:var(--secondary-soft)}@media (width<=600px){.student-bulk-admission{padding:14px 12px 0}.student-bulk-toolbar{align-items:flex-start}.student-bulk-toolbar .action-group{width:100%}.student-bulk-column-options{left:0;right:auto}}.student-form-page.student-create-page{max-width:none;margin:0}.student-create-card{min-width:0}.student-create-page .card.student-create-card{width:100%}.student-form-section{flex-direction:column;gap:18px;min-width:0;display:flex}.student-create-content{flex-direction:column;flex:1;min-width:0;display:flex}.student-create-page .student-stepper{border-bottom:1px solid var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:0 0 24px;padding:0 0 24px}.student-create-page .student-step-line{display:none}.student-create-page .stu-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:24px 32px;display:grid}.student-create-page .student-form-section+.student-form-section{border-left:1px solid var(--border);padding-left:32px}.student-create-page .stu-form>:not(.student-form-section){grid-column:1/-1}.student-create-page .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.student-create-page .student-field-full-width{grid-column:1/-1}.student-create-page .form-row .field{min-width:0}.student-create-page .field{gap:8px}.student-create-page .form-row{align-items:start}.student-field-optional,.student-field-hint{color:var(--text-light);font-size:12px;font-weight:400}.student-field-hint{line-height:1.5}.student-radio-field{border:0;min-width:0;margin:0;padding:0}.student-radio-field legend{color:#406879;margin-bottom:8px;padding:0;font-size:12px;font-weight:400}.student-radio-options{flex-wrap:wrap;align-items:center;gap:8px 18px;min-height:38px;display:flex}.student-radio-options label{min-height:32px;color:var(--text);cursor:pointer;align-items:center;gap:7px;font-size:13px;display:inline-flex}.student-radio-options input{accent-color:var(--primary);margin:0}.student-radio-options input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.student-create-page .field>label,.student-create-page label.field>span{color:#406879;font-size:12px;font-weight:400}.student-create-page .input,.student-create-page .select{border-color:#d8e2e7;border-radius:7px;width:100%;min-width:0;min-height:38px;padding:8px 12px;font-size:13px}.student-create-page .project-select.select{box-shadow:none;background:0 0;border:0;padding:0}.student-create-page .project-select .searchable-select-trigger{border-radius:7px;min-height:38px;padding:8px 12px;font-size:13px}.student-create-page .input:focus,.student-create-page .select:focus{border-color:#3b8e84;box-shadow:0 0 0 3px #165b5010}.student-create-page .input-error{border-color:var(--danger)}.student-create-page .form-section-label{border:0;border-top:1px solid var(--border);color:var(--primary);letter-spacing:normal;text-transform:none;background:0 0;margin:6px 0 0;padding:24px 0 0;font-size:14px;font-weight:600}.student-create-page .form-section-label:first-child{border:0;margin:0;padding:0}.student-create-page .btn{border-radius:5px;justify-content:center;min-height:32px;padding:6px 14px;font-size:12px;line-height:18px}.student-create-page .btn-outline{color:#576c73;border-color:#97a8b1}.student-create-page .student-form-actions{border:0;flex-flow:wrap;justify-content:flex-start;margin-top:auto;padding-top:42px}.student-create-page .student-form-actions .btn{flex:none}@media (width<=1100px){.student-create-card{width:100%}.student-create-page .stu-form{grid-template-columns:minmax(0,1fr);gap:24px}.student-create-page .student-form-section+.student-form-section{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}}@media (width<=600px){.student-create-card{border-radius:18px;padding:20px}.student-create-page .form-row{grid-template-columns:minmax(0,1fr)}.student-create-page .student-stepper{grid-template-columns:minmax(0,1fr);gap:14px}.student-create-page .student-step-copy{flex-direction:column;gap:2px}.student-create-page .student-form-actions{padding-top:30px}}.student-form-skeleton{flex:1;min-width:0;display:flex}.student-form-skeleton-label{width:105px;max-width:60%;height:12px}.student-form-skeleton-input{border-radius:7px;width:100%;height:38px}.student-form-skeleton-heading{width:160px;max-width:80%;height:16px}.student-form-skeleton-photo{border-radius:8px;flex-shrink:0;width:76px;height:88px}.student-form-skeleton-button{width:112px;height:32px}.paper-section-directory .identifier-major-control.paper-section-paper-control .project-select{width:285px}.paper-section-current{color:var(--text-light);font-size:12px}.paper-section-directory .section-allocation-assign-controls{flex-wrap:wrap}.paper-section-directory .section-allocation-assign-controls>.project-select{width:180px}.nu-registration-page .paper-section-directory.college-id-directory .users-list-table .data-table{min-width:900px}.nu-registration-page .paper-section-directory.college-id-directory .users-list-table .data-table th:first-child{width:44px}.nu-registration-page .paper-section-directory.college-id-directory .users-list-table .data-table th:nth-child(2){width:110px}.nu-registration-page .paper-section-directory.college-id-directory .users-list-table .data-table th:nth-child(3){width:auto}.nu-registration-page .paper-section-directory.college-id-directory .users-list-table .data-table th:nth-child(4){width:130px}.nu-registration-page .paper-section-directory.college-id-directory .users-list-table .data-table th:nth-child(5){width:110px}.nu-registration-page .paper-section-directory.college-id-directory .users-list-table .data-table th:nth-child(6){width:70px}.nu-registration-page .paper-section-directory.college-id-directory .users-list-table .data-table th:nth-child(7){width:180px}@media (width<=600px){.paper-section-paper-control{width:100%}.paper-section-directory .identifier-major-control.paper-section-paper-control .project-select{flex:1;width:auto}}.page.nu-registration-shell{flex-direction:column;flex:1;padding-top:8px;display:flex}.nu-registration-page{flex-direction:column;flex:1;min-width:0;display:flex}.nu-registration-page .nu-registration-view{flex-direction:column;flex:1;display:flex}.nu-registration-page .nu-registration-table-card{box-shadow:none;border-radius:16px;flex-direction:column;flex:1;display:flex}.nu-registration-page .sticky-directory>.nu-registration-table-card{overflow:visible}.nu-registration-page .table-toolbar{border-bottom:0;padding:0}.nu-registration-toolbar{width:100%;padding:16px 16px 4px}.college-id-directory{min-width:0}.identifier-table-fields{border:0;min-width:0;margin:0;padding:0}.college-id-directory .data-table tr.section-allocation-selected{background:#effbf8}.section-allocation-actions{flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.section-allocation-assign-controls{align-items:center;gap:10px;min-width:0;max-width:100%;display:flex}.section-allocation-assign-controls>.project-select{flex:1;width:240px;min-width:0}.section-allocation-assign-controls>.btn{white-space:nowrap;flex-shrink:0}.section-allocation-directory.college-id-directory .users-list-table .data-table{min-width:1040px}.section-allocation-directory.college-id-directory .users-list-table .data-table th:nth-child(2){width:140px}.section-allocation-directory.college-id-directory .users-list-table .data-table th:nth-child(3){width:auto}.section-allocation-directory.college-id-directory .users-list-table .data-table th:nth-child(4){width:140px}.section-allocation-directory.college-id-directory .users-list-table .data-table th:nth-child(5){width:160px}.section-allocation-directory.college-id-directory .users-list-table .data-table th:nth-child(6){width:90px}.section-allocation-directory.college-id-directory .users-list-table .data-table th:last-child{width:260px}.section-allocation-choice{gap:4px;display:grid}.section-allocation-draft{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.section-allocation-draft .link-btn{font-size:12px}.section-allocation-pending{color:var(--text-light);font-size:12px}.section-allocation-directory .college-id-input.is-changed .searchable-select-trigger{border-color:var(--warning);background:var(--warning-soft)}.section-allocation-error{color:var(--danger);background:var(--danger-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;padding:12px;display:flex}.college-id-directory .users-list-table .data-table{min-width:800px}.college-id-directory .users-list-table .data-table th:first-child{width:52px}.college-id-directory .users-list-table .data-table th:nth-child(2){width:25%}.college-id-directory .users-list-table .data-table th:nth-child(3){width:17%}.college-id-directory .users-list-table .data-table th:nth-child(4){width:auto}.college-id-directory .users-list-table .data-table th:nth-child(5){width:90px}.college-id-directory .users-list-table .data-table th:last-child{width:25%}.college-id-skeleton-tool{flex-shrink:0;width:32px;height:32px}.college-id-skeleton-pager{gap:5px;margin-left:auto;display:flex}.college-id-field{flex-direction:column;gap:5px;display:flex}.college-id-input{width:100%;min-width:0}.college-id-input.is-changed{border-color:var(--warning);background:var(--warning-soft)}.college-id-input[aria-invalid=true]{border-color:var(--danger)}.college-id-error{color:var(--danger);overflow-wrap:anywhere;font-size:12px}.identifier-major-control{min-width:0;max-width:100%;color:var(--text-light);align-items:center;gap:10px;font-size:12px;display:flex}.identifier-major-control .project-select{width:220px;min-width:0;max-width:100%}.identifier-major-control .identifier-major-skeleton{flex:0 0 220px;width:220px}.identifier-toolbar-filters{flex-wrap:wrap;align-items:center;gap:10px 16px;min-width:0;display:flex}.identifier-semester-control .project-select,.identifier-semester-control .identifier-major-skeleton{width:120px}.identifier-semester-control .identifier-major-skeleton{flex-basis:120px}.nu-registration-filters{flex-wrap:wrap;gap:12px;display:flex}.nu-registration-filters .field{gap:6px;width:220px;min-width:0;max-width:100%}.nu-registration-filters .field>span{color:var(--text-light);font-size:12px}.nu-registration-hint{color:var(--text-light);margin:12px 0 0;font-size:12px;line-height:1.6}.nu-registration-page .nu-registration-table-wrap{flex:1;padding:0 16px}.nu-registration-page .nu-registration-table{table-layout:fixed;min-width:850px}.nu-registration-page .nu-registration-table th{border-bottom:2px solid var(--border);background:var(--surface);color:var(--text-light);letter-spacing:.045em;padding:20px 12px;font-size:12px;font-weight:600}.nu-registration-page .nu-registration-table td{height:64px;padding:9px 12px;font-size:13px}.nu-registration-page .nu-registration-table th:first-child{width:16%}.nu-registration-page .nu-registration-table th:nth-child(2){width:12%}.nu-registration-page .nu-registration-table th:nth-child(3){width:28%}.nu-registration-page .nu-registration-table th:nth-child(4){width:18%}.nu-registration-page .nu-registration-table th:nth-child(5){width:26%}.nu-registration-page .nu-registration-table.without-mobile{min-width:680px}.nu-registration-page .without-mobile th:first-child{width:20%}.nu-registration-page .without-mobile th:nth-child(2){width:16%}.nu-registration-page .without-mobile th:nth-child(3),.nu-registration-page .without-mobile th:nth-child(4){width:32%}.nu-registration-page .nu-registration-table strong{font-size:14px;font-weight:600}.nu-registration-page .nu-registration-table tbody tr:last-child td{border-bottom:0}.nu-registration-page .nu-registration-number-input{width:100%;min-width:0}.nu-registration-page .nu-registration-footer{border:0;border-top:1px solid var(--border);box-shadow:none;border-radius:0;flex-wrap:wrap;flex-shrink:0;margin:auto 0 0;padding:18px 28px;position:static}.nu-registration-page .nu-registration-footer .actions-row{margin-left:auto}.nu-registration-page .nu-registration-footer .btn{min-height:32px;padding:6px 10px;font-size:12px}.nu-registration-state{box-shadow:none;color:var(--text-light);border-radius:16px;flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.nu-registration-skeleton{background:linear-gradient(100deg, var(--secondary-soft) 20%, var(--border) 45%, var(--secondary-soft) 70%);background-size:220% 100%;border-radius:5px;animation:1.5s ease-in-out infinite nu-registration-shimmer;display:block}.nu-registration-skeleton-control{border-radius:7px;width:100%;height:38px}.nu-registration-skeleton-line{width:70%;height:12px}.nu-registration-skeleton-count{width:140px;height:12px}@keyframes nu-registration-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.nu-registration-skeleton{animation:none}}@media (width<=600px){.section-allocation-actions{width:100%;margin-left:0}.section-allocation-assign-controls{width:100%}.page.nu-registration-shell{padding-inline:8px}.nu-registration-filters .field{width:100%}.nu-registration-page .nu-registration-footer{padding:16px}}.student-bulk-updates{min-width:0}.page-heading-shell:has(>.student-bulk-updates)>.events-page-heading{margin-bottom:4px}.student-bulk-description{color:var(--text-light);margin:0 0 20px;font-size:13px}.student-bulk-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.student-bulk-option{min-width:0;box-shadow:none;color:var(--text);border-radius:16px;flex-direction:column;align-items:flex-start;padding:24px;text-decoration:none;transition:border-color .16s,box-shadow .16s;display:flex}.student-bulk-option:hover,.student-bulk-option:focus-visible{border-color:var(--accent);color:var(--text);box-shadow:0 4px 16px #1d375808}.student-bulk-option-copy{flex:1;width:100%;min-width:0}.student-bulk-option h3{overflow-wrap:anywhere;margin-top:18px;font-size:15px;font-weight:600;line-height:1.5}.student-bulk-option p{color:var(--text-light);margin:8px 0 22px;font-size:12px;line-height:1.8}.student-bulk-icon{border:1px solid var(--border);background:var(--primary-soft);width:48px;height:48px;color:var(--info);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.student-bulk-icon-blue{background:var(--primary-soft);color:#245faa}.student-bulk-icon-teal{background:var(--accent-soft);color:#27778b}.student-bulk-icon-gold{background:var(--warning-soft);color:#95670e}.student-bulk-icon-green{background:var(--success-soft);color:#247344}.student-bulk-icon-purple{color:#7045a0;background:#f1ebfb}.student-bulk-icon-rose{color:#aa3d64;background:#fcebf1}.student-bulk-open{border-top:1px solid var(--border);width:100%;min-height:43px;color:var(--primary);justify-content:space-between;align-items:center;gap:12px;padding-top:16px;font-size:12px;font-weight:600;display:flex}.student-bulk-arrow{background:var(--secondary-soft);border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;transition:background .16s,color .16s;display:grid}.student-bulk-option:hover .student-bulk-arrow,.student-bulk-option:focus-visible .student-bulk-arrow{background:var(--primary);color:var(--surface)}@media (width>=601px) and (width<=1150px){.student-bulk-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.student-bulk-options{grid-template-columns:minmax(0,1fr);gap:12px}.student-bulk-option{padding:20px}}@media (prefers-reduced-motion:reduce){.student-bulk-option,.student-bulk-arrow{transition:none}}.academic-session-year-navigation{align-items:center;gap:4px;display:inline-flex}.academic-session-year-arrow{width:32px;height:32px;box-shadow:none;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:inline-grid}.academic-session-year-arrow:hover:not(:disabled){color:var(--primary)}.academic-session-year-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.academic-session-year-arrow:disabled{opacity:.3;cursor:default}.academic-session-year-arrow svg{stroke-width:2px}.academic-session-previous-year svg{transform:rotate(180deg)}.academic-session-selected-year{text-align:center;font-variant-numeric:tabular-nums;min-width:100px;color:var(--text);font-size:15px;font-weight:600}.fee-collection,.fee-detail-page{min-width:0}.fee-detail-card{width:min(100%,960px);overflow:hidden}.fee-detail-body{padding:24px}.fee-detail-actions{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-start;gap:10px;padding:16px 24px;display:flex}.fee-detail-subtitle{margin-bottom:16px;font-size:16px}@media (width<=600px){.fee-detail-body,.fee-detail-actions{padding:16px}}.fee-collection .users-list-table .data-table{width:100%;min-width:0}.fee-collection .users-list-table .data-table th:first-child{width:4%}.fee-collection .users-list-table .data-table th:nth-child(2){width:18%}.fee-collection .users-list-table .data-table th:nth-child(3){width:5%}.fee-collection .users-list-table .data-table th:nth-child(4){width:8%}.fee-collection .users-list-table .data-table th:nth-child(5){width:35%}.fee-collection .users-list-table .data-table th:nth-child(6){width:13%}.fee-collection .users-list-table .data-table th:nth-child(7){width:10%}.fee-collection .users-list-table .data-table th:last-child{width:7%}.fee-collection .users-list-table .data-table :is(th,td){overflow-wrap:anywhere;padding-inline:6px}.fee-collection.sticky-directory.sticky-directory .users-list-table .table-wrap{max-height:none;overflow:visible}.fee-collection .users-list-table .data-table td:nth-child(6){font-variant-numeric:tabular-nums}.fee-collection .users-list-identity strong{white-space:nowrap}.fee-coverage{cursor:default;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0;padding-block:3px;display:flex}.fee-semester-group{gap:3px;min-width:0;display:grid}.fee-semester-group+.fee-semester-group{border-left:1px solid var(--border);padding-left:4px}.fee-semester-label{color:var(--text-light);font-size:12px;line-height:1.3}.fee-semester-group.is-current .fee-semester-label{color:var(--primary);font-weight:600}.fee-paid-count{color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.fee-month-picker-label,.fee-coverage-year-label{color:var(--text-light);font-size:12px}.fee-month-list{flex-wrap:wrap;gap:2px;min-width:0;display:flex}.fee-collection .fee-month-chip{border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:23px;min-height:24px;padding:3px 2px;font-size:12px;font-weight:600;line-height:1.3;display:inline-flex}.fee-month-chip.is-paid{background:var(--success-soft);border-color:var(--success-soft);color:#297844}.fee-month-chip.is-pending{background:var(--danger-soft);border-color:var(--danger-soft);color:var(--danger)}.fee-month-chip.is-upcoming{background:var(--secondary-soft);color:var(--text-light);border-style:dashed}.fee-help{color:var(--text-light);font-size:12px}.fee-notice{border:1px solid var(--border);background:var(--warning-soft);border-radius:8px;margin-bottom:12px;padding:12px;font-size:13px}.fee-history{margin:16px 0;padding:0;list-style:none}.fee-history li{border-bottom:1px solid var(--border);justify-content:space-between;gap:16px;padding:10px 0;font-size:13px;display:flex}.fee-transactions-overview{grid-template-columns:minmax(0,1fr) auto;gap:24px;display:grid}.fee-transactions-session-total{border-left:1px solid var(--border);text-align:right;align-content:center;gap:4px;padding-left:24px;display:grid}.fee-transactions-session-total>span{color:var(--text-light);font-size:12px}.fee-transactions-session-total>strong{color:var(--primary);font-variant-numeric:tabular-nums;font-size:24px;font-weight:600;line-height:1.3}.fee-transactions-heading{color:var(--primary);flex-wrap:wrap;justify-content:space-between;gap:8px;margin:24px 0 12px;font-size:14px;font-weight:600;display:flex}.fee-transactions-heading>span{color:var(--text-light);font-size:12px;font-weight:400}.fee-transaction-date{min-width:0}.fee-transaction-date>strong{color:var(--text);font-size:14px;font-weight:600;display:block}.fee-transaction-date>span{color:var(--text-light);flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:12px;display:flex}.fee-transaction-reference{font-size:12px}.fee-transaction-month-group{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:8px;display:grid}.fee-transaction-month-group>.fee-coverage-year-label{padding-top:5px}.fee-transaction-month-group>div{flex-wrap:wrap;gap:4px;display:flex}.fee-transaction-month-group time{background:var(--surface);min-width:40px;color:var(--primary);text-align:center;border-radius:4px;padding:4px 7px;font-size:12px;font-weight:500}.fee-transactions-empty{text-align:center;padding:32px 16px}.fee-transactions-empty strong{color:var(--primary);font-size:14px;font-weight:600}.fee-transactions-empty p{color:var(--text-light);font-size:12px}.fee-payment-student{border:1px solid var(--border);background:var(--secondary-soft);border-radius:8px;padding:16px}.fee-payment-student.fee-transactions-overview{border:0}.fee-skeleton-name{width:min(220px,70%);height:24px}.fee-skeleton-detail,.fee-skeleton-section{gap:10px;display:grid}.fee-skeleton-section{margin-top:24px}.fee-skeleton-label{width:min(100px,80%);height:12px}.fee-skeleton-value{width:min(130px,90%);height:16px}.fee-skeleton-help{width:min(420px,90%);height:12px}.fee-skeleton-tools{gap:16px;margin-top:16px;display:flex}.fee-skeleton-month{min-height:36px}.fee-skeleton-input{width:100%;height:38px}.fee-skeleton-remarks{width:100%;height:80px}.fee-skeleton-button{width:120px;height:32px}.fee-payment-remarks{margin-top:16px}.fee-payment-student-name{color:var(--primary);overflow-wrap:anywhere;font-size:16px;font-weight:600;display:block}.fee-payment-student-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 0;display:grid}.fee-payment-student-details dt{color:var(--text-light);font-size:12px}.fee-payment-student-details dd{color:var(--text);overflow-wrap:anywhere;margin:3px 0 0;font-size:13px;font-weight:600}.fee-month-picker{border:0;min-width:0;margin:22px 0;padding:0}.fee-month-picker legend{color:var(--primary);padding:0;font-size:14px;font-weight:600}.fee-month-picker-tools{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:12px 0;font-size:12px;display:flex}.fee-month-picker-tools .link-btn{font-size:12px}.fee-month-clear{min-height:32px;color:var(--text-light);padding:6px 10px}.fee-month-clear:disabled{opacity:.45;cursor:default}.fee-month-clear:disabled:hover{color:var(--text-light)}.fee-month-selection-count{background:var(--primary-soft);color:var(--primary);border-radius:5px;margin-right:auto;padding:3px 8px}.fee-month-picker-semester{gap:8px;margin-top:14px;display:grid}.fee-month-picker-grid{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px;display:grid}.fee-month-option{border:1px solid var(--border);min-height:38px;color:var(--text);background:var(--surface);font:inherit;cursor:pointer;border-radius:6px;align-content:center;justify-items:center;padding:8px 6px;display:grid}.fee-month-option:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.fee-month-option.is-selected{border-color:var(--primary);background:var(--primary);color:#fff}.fee-month-option.is-selected:hover:not(:disabled){background:var(--primary-dark);color:#fff}.fee-month-option-name{font-size:13px;font-weight:600}.fee-month-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fee-month-picker:disabled .fee-month-option{cursor:wait;opacity:.7}.fee-payment-amount{border-top:1px solid var(--border);padding-top:18px}.fee-payment-amount>label{color:var(--primary);font-size:13px;font-weight:600}.fee-payment-amount .fee-help{margin:0}.fee-amount-input-group{align-items:stretch;min-width:0;display:flex}.fee-amount-prefix{border:1px solid var(--border);background:var(--secondary-soft);color:var(--text-light);border-right:0;border-radius:6px 0 0 6px;justify-content:center;align-items:center;padding:0 14px;font-size:16px;display:flex}.fee-amount-input-group .input{border-top-left-radius:0;border-bottom-left-radius:0;flex:1;min-width:0}.fee-payment-history{border-top:1px solid var(--border);margin-top:20px;padding-top:14px}.fee-payment-history summary{color:var(--text-light);cursor:pointer;font-size:12px}.fee-payment-history summary>span{background:var(--secondary-soft);font-variant-numeric:tabular-nums;border-radius:5px;margin-left:4px;padding:1px 6px;display:inline-block}.fee-payment-history .fee-history{margin-bottom:0}@media (width<=600px){.fee-transactions-overview{grid-template-columns:minmax(0,1fr);gap:16px}.fee-transactions-session-total{border-left:0;border-top:1px solid var(--border);text-align:left;padding:14px 0 0}.fee-collection .users-list-toolbar-start{flex-basis:100%}.fee-collection .users-list-table .data-table{display:block}.fee-collection.sticky-directory .data-table thead{clip-path:inset(50%);width:1px;height:1px;display:block;position:absolute;overflow:hidden}.fee-collection .data-table tbody{display:block}.fee-collection .fee-student-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:12px 0;display:flex}.fee-collection .users-list-table .fee-student-row td{border:0;width:auto;min-width:0;height:auto;padding:2px 4px;display:block}.fee-collection .fee-student-row td:first-child{display:none}.fee-collection .fee-student-row td:nth-child(2){flex:1;order:0}.fee-collection .fee-student-row td:last-child{order:1}.fee-collection .fee-student-row td:nth-child(3){color:var(--text-light);flex-basis:100%;order:2;text-align:left!important}.fee-collection .fee-student-row td:nth-child(3):before{content:"Semester "}.fee-collection .fee-student-row td:nth-child(4){flex-basis:100%;order:3;text-align:left!important}.fee-collection .fee-student-row td:nth-child(4):before{content:"Months paid ";color:var(--text-light)}.fee-collection .fee-student-row td:nth-child(5){flex-basis:100%;order:4}.fee-collection .fee-student-row td:nth-child(6){flex:1;order:5;text-align:left!important}.fee-collection .fee-student-row td:nth-child(6):before{content:"Paid ";color:var(--text-light)}.fee-collection .fee-student-row td:nth-child(7){order:6}}.fee-transactions-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.fee-transactions-table{table-layout:fixed;width:100%;min-width:760px}.fee-transactions-table :is(th,td){vertical-align:top;padding:14px 12px}.fee-transactions-table th:first-child{width:21%}.fee-transactions-table th:nth-child(2){width:32%}.fee-transactions-table th:nth-child(3){width:17%}.fee-transactions-table th:nth-child(4){width:23%}.fee-transactions-table .fee-transaction-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.fee-transactions-table .fee-transaction-amount strong{color:var(--primary);font-size:13px;font-weight:600}.fee-transactions-table .fee-transaction-actions{text-align:right;width:76px}.fee-transactions-table tbody tr{background:var(--surface)}.fee-transaction-months{gap:8px;display:grid}.fee-transaction-month-group time{background:var(--secondary-soft)}.fee-transaction-remarks p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px}.academic-skeleton{background:linear-gradient(100deg, var(--secondary-soft) 20%, var(--border) 45%, var(--secondary-soft) 70%);background-size:220% 100%;border-radius:5px;width:80%;max-width:100%;height:12px;animation:1.5s ease-in-out infinite academic-skeleton-shimmer;display:block}.academic-skeleton-short{width:50%;margin-top:9px}.academic-skeleton-number{width:26px}.academic-skeleton-checkbox{border-radius:3px;width:18px;height:18px}.academic-skeleton-badge{border-radius:20px;width:64px;height:23px}.academic-skeleton-action{border-radius:50%;width:28px;height:28px;margin-left:auto}.academic-skeleton-row{pointer-events:none;height:64px}.academic-skeleton-row:hover{background:0 0}@keyframes academic-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.academic-skeleton{animation:none}}.academic-catalog .users-list-table .data-table th:nth-child(2){width:190px}.academic-catalog .users-list-table .data-table th:nth-child(3){width:auto}.academic-catalog .users-list-table .data-table th:nth-child(4){width:120px}.academic-catalog .users-list-avatar{font-size:12px}.academic-catalog .programme-manage-list{padding:0}.catalog-nested-table{border-collapse:collapse;width:100%}.academic-catalog .catalog-nested-table th{background:var(--secondary-soft);padding:10px 16px;width:auto!important}.academic-catalog .catalog-nested-table td{height:auto;padding:10px 16px}.catalog-nested-table td>strong,.catalog-nested-table td>span{display:block}.catalog-nested-table td>span{color:var(--text-light);margin-top:3px;font-size:12px}.academic-catalog .users-list-table .data-table th:last-child{width:150px}.academic-catalog .data-table .catalog-course-row>td{background:var(--surface);height:58px}.catalog-course-identity{align-items:center;gap:10px;min-width:0;display:flex}.catalog-course-caret{width:28px;height:28px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.catalog-course-caret.is-expanded svg{transform:rotate(90deg)}.catalog-course-caret-placeholder{flex-shrink:0;width:28px}.catalog-course-caret:hover{background:var(--secondary);color:var(--primary)}.academic-catalog .data-table .catalog-inline-edit-row>td{white-space:normal;background:var(--surface);height:auto;padding-block:16px}.catalog-edit-input{width:100%;min-width:0}.catalog-course-identity>.catalog-edit-input,.catalog-major-identity>.catalog-edit-input{flex:1}.catalog-row-edit-actions{flex-wrap:nowrap;justify-content:flex-end;gap:6px;display:flex}.catalog-row-edit-actions .btn{white-space:nowrap;flex-shrink:0}.catalog-discipline-form{gap:14px;display:grid}.catalog-discipline-form .field,.catalog-discipline-form p{margin:0}.catalog-course-identity>div{min-width:0}.catalog-course-identity strong,.catalog-major-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;display:block;overflow:hidden}.catalog-course-identity>div>span,.catalog-major-identity>div>span{color:var(--text-light);margin-top:3px;font-size:12px;display:block}.catalog-course-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.academic-catalog .data-table .catalog-major-row>td{background:var(--surface);height:60px}.academic-catalog .data-table .catalog-major-row:hover>td{background:var(--secondary-soft)}.catalog-major-code{position:relative}.catalog-major-code:before{content:"";border-left:1px solid var(--text-light);opacity:.45;position:absolute;top:0;bottom:0;left:20px}.catalog-major-row-last .catalog-major-code:before{bottom:50%}.academic-catalog .data-table [data-label="Course / Discipline"]>strong{font-size:13px;font-weight:500}.catalog-major-identity{align-items:center;min-width:0;padding-left:26px;display:flex}.catalog-major-branch{border-left:1px solid var(--text-light);border-bottom:1px solid var(--text-light);opacity:.45;border-bottom-left-radius:3px;width:17px;height:50%;position:absolute;top:0;left:20px}.catalog-major-identity>div{min-width:0}.catalog-new-course-form .inline-form-fields{grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.course-framework-page .course-framework-identity{border-radius:12px;margin-bottom:16px;padding:18px 22px}.course-framework-identity h2{font-size:18px;font-weight:600}.course-framework-identity .card-sub{margin:5px 0 0;font-size:12px}.course-framework-page .cur-detail-tabs{margin-bottom:18px}.framework-editor-workspace{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:174px minmax(0,1fr);display:grid;overflow:hidden}.framework-semester-nav{background:var(--secondary-soft);border-right:1px solid var(--border);padding:22px 12px}.framework-semester-nav-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.065em;margin:0 10px 14px;font-size:12px;font-weight:600}.framework-semester-nav [role=tablist]{flex-direction:column;gap:5px;display:flex}.framework-semester-nav button{width:100%;min-height:59px;color:var(--text-light);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.framework-semester-nav button:hover:not(:disabled):not([aria-selected=true]){color:var(--primary);background:var(--secondary)}.framework-semester-nav button[aria-selected=true]{border-color:var(--border);background:var(--surface);color:var(--primary);box-shadow:0 2px 5px #1d375805}.framework-semester-nav button:disabled{cursor:not-allowed;opacity:.45}.framework-semester-number{border:1px solid var(--border);background:var(--surface);border-radius:7px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:grid}.framework-semester-nav [aria-selected=true] .framework-semester-number{color:#fff;border-color:var(--primary);background:var(--primary)}.framework-semester-nav button>span:nth-child(2){min-width:0}.framework-semester-nav strong{font-size:12px;font-weight:600;display:block}.framework-semester-nav small{color:var(--text-light);white-space:nowrap;margin-top:3px;font-size:12px;display:block}.framework-semester-saved{background:var(--success);border-radius:50%;flex-shrink:0;width:5px;height:5px;margin-left:auto}.framework-semester-content{min-width:0;padding:24px}.framework-section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.framework-section-heading h3{margin:0;font-size:14px;font-weight:600}.framework-section-heading p{color:var(--text-light);margin:6px 0 0;font-size:12px;line-height:1.7}.framework-section-heading .framework-section-eyebrow{margin:0 0 5px;font-size:12px}.framework-section-heading .btn{flex-shrink:0}.framework-readonly-note{color:var(--text-light);flex-shrink:0;font-size:12px}.framework-component-fields{border:0;min-width:0;margin:0;padding:0}.framework-component-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(125px,1.15fr) minmax(70px,.65fr) minmax(90px,.8fr) minmax(150px,1.6fr) 64px;align-items:center;gap:14px;padding:18px 0;display:grid;position:relative}.framework-component-row.is-editing{grid-template-columns:minmax(125px,1.15fr) minmax(70px,.65fr) minmax(90px,.8fr) minmax(150px,1.6fr) 64px 28px;gap:12px}.framework-component-row:first-child{padding-top:8px}.framework-component-identity{align-items:center;gap:10px;min-width:0;display:flex}.framework-component-order{color:#8a9bb0;font-variant-numeric:tabular-nums;font-size:12px}.framework-component-identity h4{overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:600}.framework-component-field{flex-direction:column;gap:7px;min-width:0;display:flex}.framework-component-field>label,.framework-component-total>span{color:#406879;font-size:12px;font-weight:400}.framework-component-field .input,.framework-component-field .project-select{width:100%;min-width:0}.framework-component-field input{border-color:#d8e2e7;border-radius:7px;height:38px;padding:8px 10px;font-size:13px}.framework-component-field .searchable-select-trigger{border-color:#d8e2e7;border-radius:7px;min-height:38px;padding:8px 10px;font-size:12px}.framework-component-field>span:not(.project-select){font-size:13px}.framework-component-total{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;justify-content:center;align-self:stretch;gap:8px;display:flex}.framework-component-total strong{color:var(--primary);font-size:16px;font-weight:600}.framework-component-total>span{white-space:nowrap;font-size:12px}.framework-remove-component{width:28px;height:38px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:6px;align-self:end;place-items:center;padding:0;display:grid}.framework-remove-component:hover{color:var(--danger);background:var(--danger-soft)}.framework-editor-empty .table-empty-state{min-height:218px;padding:28px 20px}.framework-editor-empty.is-editing .table-empty-state{min-height:170px;padding:24px 20px}.framework-editor-empty strong{color:var(--text);font-size:13px;font-weight:600}.framework-editor-empty p{max-width:400px;color:var(--text-light);margin:7px auto 0;font-size:12px;line-height:1.7}.framework-editor-empty .btn{margin-top:16px}.framework-editor-footer{flex-direction:column;gap:18px;padding-top:18px;display:flex}.framework-semester-totals{color:var(--text-light);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:20px;font-size:12px;display:flex}.framework-semester-totals>span:first-child{border:1px solid var(--border);background:var(--primary-soft);color:var(--primary);border-radius:6px;padding:6px 10px;font-size:12px;font-weight:700}.framework-semester-totals strong{color:var(--primary);font-size:14px;font-weight:600}.framework-semester-totals small{color:var(--text-light);font-size:12px;font-weight:400}.framework-editor-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-top:16px;display:flex}.framework-publish-hint{display:inline-flex}.framework-publish-hint>button:disabled{pointer-events:none}.framework-common-selection{border-top:1px solid var(--border);margin-top:26px;padding-top:24px}.framework-common-selection .framework-section-heading{margin-bottom:0}.framework-common-selection .framework-paper-component{padding:16px 0}.framework-common-selection .framework-paper-component-heading h4{font-size:13px}.framework-common-selection .framework-paper-component-heading>span{font-size:12px}.framework-common-selection .framework-paper-component:last-of-type{border-bottom:0}.framework-editor-loading{color:var(--text-light);padding:25px 0;font-size:12px}@media (width<=1250px){.framework-editor-workspace{grid-template-columns:160px minmax(0,1fr)}.framework-semester-content{padding:20px}.framework-component-row,.framework-component-row.is-editing{grid-template-columns:repeat(2,minmax(0,1fr)) 70px;gap:14px;padding:18px 0}.framework-component-identity{grid-column:1/-1;padding-right:32px}.framework-component-requirement{grid-area:3/1/auto/3}.framework-component-total{grid-area:2/3}.framework-remove-component{height:28px;position:absolute;top:10px;right:0}}@media (width<=700px){.framework-editor-workspace{display:block}.framework-semester-nav{border-right:0;border-bottom:1px solid var(--border);padding:14px 16px}.framework-semester-nav-label{margin:0 0 10px}.framework-semester-nav [role=tablist]{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;display:grid}.framework-semester-nav button{justify-content:center;min-height:34px;padding:0}.framework-semester-nav button>span:nth-child(2),.framework-semester-saved{display:none}.framework-semester-number{background:0 0;border:0;width:100%;height:32px}.framework-semester-content{padding:18px 16px}.framework-section-heading{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:18px}.framework-component-row,.framework-component-row.is-editing{grid-template-columns:repeat(2,minmax(0,1fr))}.framework-component-requirement{grid-area:3/1}.framework-component-total{grid-area:3/2;justify-content:flex-end}.framework-semester-totals{gap:10px 16px}.framework-semester-totals>span:first-child{flex-basis:100%}.framework-semester-totals>span:last-child{display:none}.framework-editor-empty .table-empty-state,.framework-editor-empty.is-editing .table-empty-state{min-height:180px;padding-inline:0}}.framework-requirements-viewport.table-viewport{border:1px solid var(--border);border-radius:8px;min-height:0;max-height:420px;overflow:auto}.framework-requirements-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;min-width:720px}.framework-requirements-table .framework-component-col{width:26%}.framework-requirements-table .framework-slots-col{width:12%}.framework-requirements-table .framework-credits-col{width:15%}.framework-requirements-table .framework-rule-col{width:27%}.framework-requirements-table .framework-total-col{width:13%}.framework-requirements-table .framework-actions-col{width:44px}.framework-requirements-table>thead{z-index:2;position:sticky;top:0}.framework-requirements-table>thead>tr>th{border-bottom:1px solid var(--border);background:var(--secondary-soft);color:var(--text-light);text-align:left;letter-spacing:0;white-space:nowrap;padding:12px 10px;font-size:12px;font-weight:600}.framework-requirements-table>tbody>.framework-component-row{padding:0;display:table-row}.framework-requirements-table>tbody>tr>td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}.framework-requirements-table>tbody>tr:last-child>td{border-bottom:0}.framework-requirements-table .framework-component-identity{padding:0}.framework-requirements-table .framework-component-total{text-align:right;display:block}.framework-requirements-table .framework-remove-component{height:38px;position:static}.framework-requirements-table>thead>tr>th:nth-child(5){text-align:right}.framework-add-row{flex-wrap:wrap;align-items:center;gap:12px;padding:14px 0 4px;display:flex}.framework-add-row>span{color:var(--text-light);font-size:12px}.framework-editor-workspace.framework-reference{border:0;border-radius:0;display:block}.framework-reference-summary{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;padding:0 0 20px;display:flex}.framework-reference-summary h2{color:var(--primary);margin:0;font-size:14px;font-weight:600}.framework-overall-totals{max-width:100%;margin-left:auto}.framework-overall-totals summary{color:var(--text-light);cursor:pointer;text-align:right;font-size:12px}.framework-overall-totals summary:hover{color:var(--primary)}.framework-overall-totals summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.framework-reference-summary dl{border:1px solid var(--border);background:var(--secondary-soft);border-radius:8px;flex-wrap:wrap;gap:16px 28px;margin:16px 0 0;padding:16px;display:flex}.framework-reference-summary dt{color:var(--text-light);font-size:12px}.framework-reference-summary dd{color:var(--primary);font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:18px;font-weight:600;line-height:1.2}.framework-reference-summary dd span{color:var(--text-light);font-size:13px;font-weight:400}.framework-reference .framework-semester-nav{border:0;border-bottom:1px solid var(--border);background:0 0;padding:0}.framework-reference .framework-semester-nav-label{display:none}.framework-reference .framework-semester-nav [role=tablist]{flex-direction:row;gap:0;display:flex;overflow-x:auto}.framework-reference .framework-semester-nav button{border:0;border-bottom:2px solid #0000;border-radius:0;flex:1 0 100px;justify-content:center;width:auto;min-height:44px;padding:12px}.framework-reference .framework-semester-nav button[aria-selected=true]{border-bottom-color:var(--primary);background:var(--secondary-soft);box-shadow:none}.framework-reference .framework-semester-number{display:none}.framework-reference .framework-semester-nav button>span:nth-child(2){display:block}.framework-reference .framework-semester-nav small{font-size:12px;display:block}.framework-reference .framework-semester-content{padding:16px 0 0}.framework-reference .framework-requirements-viewport.table-viewport{border-inline:0;border-radius:0;max-height:none}.framework-reference .framework-requirements-table>thead>tr>th{background:var(--surface);border-bottom:2px solid var(--border);padding-block:12px}.framework-reference .framework-requirements-table>tbody>tr>td{padding-block:14px}.framework-reference .framework-requirements-table{min-width:660px}.framework-reference .framework-requirements-table>tbody>tr:hover{background:var(--secondary-soft)}.framework-reference .framework-editor-footer{padding-top:16px}.framework-reference .framework-semester-totals{background:var(--secondary-soft);border-radius:8px;gap:12px 24px;padding:12px 14px}.framework-reference .framework-semester-totals>span:first-child{color:var(--text-light);background:0 0;border:0;border-radius:0;margin-right:auto;padding:0;font-weight:500}@media (width<=600px){.framework-reference-summary{gap:12px}.framework-reference .framework-semester-nav button{flex-basis:100px}.framework-reference .framework-semester-totals>span:first-child{display:block}}.curriculum-framework-context{flex-wrap:wrap;align-items:center;gap:12px 20px;margin:0 0 16px;padding:4px 0;display:flex}.curriculum-framework-context>div{flex-wrap:wrap;align-items:baseline;gap:6px 16px;min-width:0;display:flex}.curriculum-framework-context strong{overflow-wrap:anywhere;font-size:13px;font-weight:600}.curriculum-framework-context span,.curriculum-framework-context summary,.curriculum-framework-context p{font-size:12px}.curriculum-framework-context>div>span{color:var(--text-light)}.curriculum-framework-context details{color:var(--text-light);flex-basis:100%}.curriculum-framework-context summary{cursor:pointer;width:fit-content}.curriculum-framework-context p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;line-height:1.7}.curriculum-discipline-mapping{min-width:0}.framework-discipline-tabs{flex-wrap:wrap;gap:8px;margin:16px 0 20px;display:flex}.framework-discipline-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:9px 16px;font-size:13px}.framework-discipline-tabs button[aria-selected=true]{color:#fff;background:var(--primary);border-color:var(--primary)}.framework-discipline-tabs button:disabled{opacity:.5;cursor:not-allowed}.framework-paper-form fieldset{border:0;min-width:0;margin:0;padding:0}.framework-paper-component{border-bottom:1px solid var(--border);padding:18px 0}.framework-paper-component-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.framework-paper-component-heading h4{margin:0;font-size:14px;font-weight:600}.framework-paper-component-heading>span{color:var(--text-light);font-size:12px}.framework-paper-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.framework-paper-fields .field{flex-direction:column;gap:8px;min-width:0;display:flex}.framework-paper-fields label{color:#406879;font-size:12px;font-weight:400}.framework-paper-choice{align-items:center;gap:8px;min-width:0;display:flex}.framework-paper-choice .project-select{flex:1;min-width:0}.framework-paper-component>.btn{margin-top:12px}.framework-shared-papers{margin:0;padding-left:18px;font-size:13px;line-height:1.8}.framework-paper-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.framework-paper-error{color:var(--danger);margin-top:14px}@media (width<=600px){.framework-paper-fields{grid-template-columns:minmax(0,1fr)}.framework-paper-component-heading{flex-direction:column;align-items:flex-start}}.syllabus-framework-table{min-width:760px}.syllabus-framework-table>tbody>tr>th{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:14px 10px;font-size:12px;font-weight:500}.syllabus-framework-table>tbody>tr:last-child>th{border-bottom:0}.syllabus-framework-table>tbody>tr>td{vertical-align:top;padding-top:14px;font-size:12px}.syllabus-framework-table>tbody>tr>th small{color:var(--text-light);margin-top:6px;font-size:12px;font-weight:400;display:block}.syllabus-framework-table>thead>tr>th{white-space:normal;text-transform:none}.syllabus-framework-table>thead>tr>th:nth-child(5),.syllabus-framework-total{text-align:right}.syllabus-framework-total{color:var(--primary);font-variant-numeric:tabular-nums;font-weight:600}.syllabus-paper-selectors{flex-direction:column;gap:10px;display:flex}.syllabus-paper-selectors .searchable-select-trigger{min-height:38px;font-size:12px}.syllabus-paper-hint{color:var(--text-light);margin:0 0 10px;font-size:12px;line-height:1.6}.syllabus-add-option{margin-top:10px}.syllabus-framework-totals{margin-top:18px}.curriculum-skeleton{min-width:0}.curriculum-skeleton-heading{justify-content:space-between;gap:24px;margin-bottom:24px;display:flex}.curriculum-skeleton-heading>span{width:230px;height:22px}.curriculum-skeleton-heading>span+span{width:160px;height:12px}.curriculum-skeleton-banner{background:var(--primary);border-radius:10px;grid-template-columns:minmax(0,1fr);gap:14px;margin-bottom:20px;padding:24px;display:grid}.curriculum-skeleton-banner>span{width:220px}.curriculum-skeleton-banner>span+span{width:420px}.curriculum-skeleton-banner>div{border-top:1px solid #ffffff26;gap:24px;padding-top:16px;display:flex}.curriculum-skeleton-banner>div>span{width:140px}.curriculum-skeleton-banner .academic-skeleton{opacity:.25}.curriculum-skeleton-toolbar,.curriculum-skeleton-tabs{flex-wrap:wrap;gap:14px;margin-bottom:20px;display:flex}.curriculum-skeleton-toolbar>span{border-radius:20px;width:74px;height:32px}.curriculum-skeleton-tabs{border-bottom:1px solid var(--border);padding-bottom:16px}.curriculum-skeleton-tabs>span{width:130px;height:16px}.curriculum-skeleton-workspace{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:164px minmax(0,1fr);display:grid;overflow:hidden}.curriculum-skeleton-semesters{background:var(--secondary-soft);border-right:1px solid var(--border);flex-direction:column;gap:16px;padding:20px 16px;display:flex}.curriculum-skeleton-semesters>span{width:100%;height:32px}.curriculum-skeleton-papers{grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;padding:20px;display:grid}.curriculum-skeleton-paper{border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr);gap:12px;padding:18px;display:grid}.curriculum-skeleton-paper>span:first-child{width:120px}.curriculum-skeleton-paper>span:last-child{width:50%}.curriculum-skeleton.is-papers .curriculum-skeleton-workspace{border:0;display:block}.curriculum-skeleton.is-papers .curriculum-skeleton-papers{padding:0}@media (width<=600px){.curriculum-skeleton-heading{flex-wrap:wrap;gap:12px}.curriculum-skeleton-banner{padding:16px}.curriculum-skeleton-banner>div{flex-wrap:wrap;gap:14px}.curriculum-skeleton-workspace{grid-template-columns:90px minmax(0,1fr)}.curriculum-skeleton-semesters{padding:16px 8px}.curriculum-skeleton-papers,.curriculum-skeleton-paper{padding:12px}}.cur-detail{min-width:0}.cur-detail .cur-detail-head{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin:0 0 22px;padding:24px;display:flex}.cur-detail-identity{min-width:0}.cur-detail-meta{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.cur-detail-meta>span:first-child{color:var(--primary);font-weight:700}.cur-detail-meta>span+span{border-left:1px solid var(--border);padding-left:10px}.cur-detail-identity h2{color:var(--text);letter-spacing:-.5px;overflow-wrap:anywhere;margin:10px 0 6px;font-size:23px;font-weight:600;line-height:1.35}.cur-detail-identity p{color:var(--text-light);margin:0;font-size:12px}.cur-detail-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.cur-detail-actions .btn{min-height:32px;padding:6px 12px;font-size:12px}.cur-detail .cur-detail-tabs{gap:26px;margin:0 0 24px}.cur-detail .cur-detail-tabs button{padding:0 2px 13px;font-family:inherit;font-size:12px}.cur-overview-stats{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 24px;padding:20px 0;display:grid}.cur-overview-stats>div{flex-direction:column;gap:8px;padding:0 24px;display:flex}.cur-overview-stats>div+div{border-left:1px solid var(--border)}.cur-overview-stats dt{color:var(--text-light);font-size:12px}.cur-overview-stats dd{color:var(--primary);font-variant-numeric:tabular-nums;margin:0;font-size:27px;font-weight:600;line-height:1.2}.cur-overview-stats dd>span{font-size:16px}.cur-overview-grid{grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);align-items:start;gap:20px;display:grid}.cur-overview-grid>.card{min-width:0;box-shadow:none;border-radius:12px;padding:24px}.cur-detail .cur-overview-heading{border-bottom:1px solid var(--border);align-items:center;margin-bottom:0;padding-bottom:20px}.cur-detail .cur-overview h3{font-size:14px;font-weight:600}.cur-detail .cur-overview p{line-height:1.7}.cur-detail .cur-overview-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:24px}.cur-detail .cur-overview-details dt{margin-bottom:8px;font-size:12px;font-weight:400}.cur-detail .cur-overview-details dd{font-size:13px;font-weight:500;line-height:1.7}.cur-overview-remarks{grid-column:1/-1}.cur-detail .cur-overview-details .cur-value-empty{color:var(--text-light);font-weight:400}.cur-section-kicker{color:var(--text-light);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:600;display:block}.cur-readiness-list{flex-direction:column;gap:14px;margin:22px 0;padding:0;list-style:none;display:flex}.cur-readiness-list li{color:var(--text);align-items:center;gap:10px;font-size:12px;display:flex}.cur-readiness-mark{border:1px solid var(--border);width:19px;height:19px;color:var(--text-light);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.cur-readiness-mark>span{background:var(--text-light);border-radius:50%;width:4px;height:4px}.cur-readiness-mark.is-complete{border-color:var(--success-soft);background:var(--success-soft);color:var(--success)}.cur-readiness-action{border-top:1px solid var(--border);margin-top:22px;padding-top:18px;font-size:12px;line-height:1.7}@media (width<=1100px){.cur-overview-grid{grid-template-columns:minmax(0,1fr)}.cur-overview-stats>div{padding-inline:16px}}@media (width<=600px){.cur-detail .cur-detail-head{flex-direction:column;align-items:flex-start;gap:18px;padding:18px}.cur-detail-identity h2{font-size:20px}.cur-detail .cur-detail-tabs{gap:22px}.cur-overview-stats{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.cur-overview-stats>div{padding:16px}.cur-overview-stats>div:nth-child(3){border-left:0}.cur-overview-stats>div:nth-child(n+3){border-top:1px solid var(--border)}.cur-overview-stats dd{font-size:24px}.cur-overview-grid>.card{padding:18px}.cur-detail .cur-overview-details{grid-template-columns:minmax(0,1fr)}.cur-detail .cur-overview-heading{flex-wrap:wrap;align-items:flex-start}}.discipline-syllabi-panels{grid-template-columns:minmax(200px,260px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.discipline-syllabi-list{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:10px;display:flex}.discipline-syllabus-option{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:1px solid #0000;border-radius:7px;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;display:flex}.discipline-syllabus-option:hover{background:var(--secondary-soft)}.discipline-syllabus-option.active{background:var(--primary-soft);border-color:var(--border)}.discipline-syllabus-option strong{font-size:13px;font-weight:600}.discipline-syllabus-option>span:not(.badge){color:var(--text-light);font-size:12px}.discipline-syllabus-option:disabled{cursor:default;opacity:.6}.discipline-syllabus-content{min-width:0}.discipline-syllabus-content .cur-detail-head{flex-wrap:wrap;gap:12px;padding:16px}.discipline-syllabus-content .cur-detail-head h2{overflow-wrap:anywhere;margin:6px 0;font-size:16px}@media (width<=860px){.discipline-syllabi-panels{grid-template-columns:minmax(0,1fr)}.discipline-syllabi-list{max-height:240px;overflow-y:auto}}.discipline-syllabi-panels.is-course-syllabus{grid-template-columns:minmax(0,1fr)}.curriculum-course-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.curriculum-course-toolbar .curriculum-course-pills{margin-bottom:0}.curriculum-course-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.curriculum-course-actions>.btn{min-height:32px;padding:6px 12px;font-size:12px}.curriculum-view-framework{flex-shrink:0;min-height:32px;padding:6px 12px;font-size:12px}.curriculum-course-pills{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.curriculum-course-pills button{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text-light);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:600;display:inline-flex}.curriculum-course-pills button:hover{background:var(--primary-soft);color:var(--primary)}.curriculum-course-pills button[aria-checked=true]{border-color:var(--primary);background:var(--primary);color:#fff}.curriculum-course-pills button>span{flex-shrink:0;display:inline-flex}.curriculum-course-pills button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.curriculum-course-pills button:disabled{opacity:.6;cursor:default}.curriculum-discipline-tabs{border-bottom:1px solid var(--border);gap:24px;margin-bottom:20px;display:flex;overflow-x:auto}.curriculum-discipline-tabs>button{min-height:44px;color:var(--text-light);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:8px;padding:10px 2px 12px;font-size:13px;font-weight:600;display:flex}.curriculum-discipline-tabs>button[aria-selected=true]{border-bottom-color:var(--primary);color:var(--primary)}.curriculum-semester-workspace{background:var(--surface);border:1px solid var(--border);border-radius:10px;grid-template-columns:164px minmax(0,1fr);display:grid}.curriculum-semester-list{background:var(--secondary-soft);border-right:1px solid var(--border);border-radius:10px 0 0 10px;flex-direction:column;gap:4px;padding:12px 0 12px 12px;display:flex}.curriculum-semester-list>button{min-height:44px;color:var(--text);line-height:1.5;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px 0 0 7px;padding:10px 12px;font-size:13px;font-weight:400}.curriculum-semester-list>button:hover{background:var(--secondary-soft)}.curriculum-semester-list>button[aria-selected=true]{background:var(--surface);border-color:var(--border);border-right-color:var(--surface);color:var(--primary);margin-right:-1px;position:relative}.curriculum-semester-workspace>.discipline-syllabus-content{padding:20px}.curriculum-semester-workspace .framework-common-selection{border:0;margin:0;padding:0}.course-framework-embedded .syllabus-framework-totals{gap:12px 20px;margin-top:16px;line-height:1.6}.course-framework-embedded .framework-paper-actions{gap:10px;margin-top:20px}.curriculum-reference-header{background:var(--primary);color:#fff;border:0;border-radius:10px;margin-bottom:20px;padding:20px 24px}.curriculum-reference-intro{align-items:center;gap:12px;display:flex}.curriculum-reference-icon{color:#cde4f5;background:#ffffff14;border-radius:10px;flex:0 0 42px;place-items:center;height:42px;display:grid}.curriculum-reference-intro>div{flex:1;min-width:0}.curriculum-reference-kicker{color:#fff;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.curriculum-reference-intro p{color:#d1dfed;margin:4px 0 0;font-size:12px;line-height:1.6}.curriculum-reference-facts{border-top:1px solid #ffffff26;flex-wrap:wrap;gap:16px 32px;margin:18px 0 0;padding-top:16px;display:flex}.curriculum-reference-facts>div{align-items:baseline;gap:12px;display:flex}.curriculum-reference-facts dt{color:#d1dfed;font-size:12px}.curriculum-reference-facts dd{color:#fff;font-variant-numeric:tabular-nums;margin:0;font-size:13px;font-weight:600}.curriculum-reference-remarks{color:#d1dfed;white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0 0;font-size:12px;line-height:1.7}.curriculum-reference-page .curriculum-framework-panel{padding:20px}@media (width<=600px){.curriculum-reference-header{padding:16px}.curriculum-reference-intro{flex-wrap:wrap}.curriculum-reference-icon{display:none}.curriculum-reference-facts{gap:12px 24px}.curriculum-reference-facts>div{flex-direction:column;gap:4px}.curriculum-reference-page .curriculum-framework-panel{padding:12px}}.course-framework-embedded .framework-paper-actions .btn{min-height:34px;padding:7px 14px}.curriculum-discipline-tabs>button:disabled,.curriculum-semester-list>button:disabled{opacity:.6;cursor:default}.curriculum-discipline-tabs>button:focus-visible,.curriculum-semester-list>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (width<=860px){.curriculum-semester-workspace{grid-template-columns:130px minmax(0,1fr)}.curriculum-semester-list{padding:10px 0 10px 8px}.curriculum-semester-workspace>.discipline-syllabus-content{padding:14px}.curriculum-semester-list>button{padding:10px 6px;font-size:12px}}@media (width<=600px){.curriculum-semester-workspace{grid-template-columns:100px minmax(0,1fr)}.curriculum-course-toolbar{margin-bottom:16px}.curriculum-discipline-tabs{gap:20px;margin-bottom:16px}.curriculum-semester-workspace>.discipline-syllabus-content{padding:12px}.course-framework-embedded .syllabus-framework-totals{gap:6px 12px}.course-framework-embedded .framework-paper-actions{gap:8px;margin-top:16px}.course-framework-embedded .framework-paper-actions .btn{padding-inline:10px}}.framework-skeleton{min-width:0}.framework-skeleton-page-heading,.framework-skeleton-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.framework-skeleton-page-heading{flex-wrap:wrap;margin:4px 0 20px}.framework-skeleton-page-heading>span:first-child{width:150px;height:22px}.framework-skeleton-page-heading>span:last-child{width:250px}.framework-skeleton-context{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;display:flex}.framework-skeleton-context>span{width:140px}.framework-skeleton-context>span:last-child{border-radius:20px;width:76px;height:24px}.framework-skeleton-content{min-width:0}.framework-skeleton-content.is-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:20px}.framework-skeleton-heading{margin-bottom:20px}.framework-skeleton-heading>span:first-child{width:150px}.framework-skeleton-heading>span:last-child{width:100px}.framework-skeleton-tabs{border-bottom:1px solid var(--border);gap:24px;padding:16px 12px;display:flex;overflow:hidden}.framework-skeleton-tabs>span{flex:1 0 76px}.framework-skeleton-table{margin-top:16px;overflow:hidden}.framework-skeleton-row{border-bottom:1px solid var(--border);grid-template-columns:26fr 12fr 15fr 27fr 13fr;align-items:center;gap:20px;min-width:620px;min-height:53px;padding:14px 10px;display:grid}.framework-skeleton-row>span{width:65%}.framework-skeleton-row>span:first-child{width:55%}.framework-skeleton-row>span:last-child{justify-self:end;width:32%}.framework-skeleton-row.is-header{border-bottom-width:2px;min-height:44px}.framework-skeleton-row.is-header>span{width:80%}.framework-skeleton-totals{background:var(--secondary-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:20px;margin-top:16px;padding:16px 14px;display:flex}.framework-skeleton-totals>span{width:80px}.framework-skeleton-totals>span:first-child{width:120px;margin-right:auto}@media (width<=600px){.framework-skeleton-content.is-card{padding:12px}.framework-skeleton-heading{gap:12px}.framework-skeleton-totals{gap:12px 24px}.framework-skeleton-totals>span:first-child{flex-basis:100%;max-width:120px;margin-right:calc(100% - 120px)}}:is(.users-list-search,.directory-list-search)::-webkit-search-cancel-button{appearance:none}:is(.users-list-search,.directory-list-search)::-webkit-search-decoration{appearance:none}@media (prefers-reduced-motion:reduce){:is(.users-filter-drawer,.directory-filter-drawer)[open],:is(.users-list-search-control,.directory-list-search-control) :is(.users-list-search,.directory-list-search){animation:none}}@media (width<=600px){.directory-status-pills button{gap:5px;padding-inline:10px}}@media (prefers-reduced-motion:reduce){.directory-status-pills button{transition:none}}.page-heading-shell:has(>.curriculum-directory){flex-direction:column;flex:1;display:flex}.curriculum-directory{flex-direction:column;flex:1;min-width:0;display:flex}.curriculum-list-table{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.curriculum-list-table>.card{box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:1;display:flex}.curriculum-list-table .table-toolbar{border-bottom:0;padding:0}.curriculum-list-toolbar{flex-wrap:wrap;align-items:center;gap:10px;width:100%;padding:12px 16px 4px;display:flex}.curriculum-list-pills{border:1px solid var(--border);background:var(--secondary-soft);border-radius:9px;gap:3px;max-width:100%;padding:3px;display:inline-flex}.curriculum-list-pills button{min-height:32px;color:var(--text-light);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.curriculum-list-pills button:hover{color:var(--primary)}.curriculum-list-pills button>span{background:var(--secondary-soft);min-width:24px;color:var(--text-light);font-variant-numeric:tabular-nums;border-radius:12px;padding:2px 7px;font-size:12px;font-weight:700;line-height:1.3}.curriculum-list-pills button.active{background:var(--surface);color:var(--primary);border-color:var(--border);box-shadow:0 1px 3px #1d37580a}.curriculum-list-pills button.active>span{background:var(--primary);color:#fff}.curriculum-list-tools{flex:1;justify-content:flex-end;align-items:center;gap:14px;min-width:0;margin-left:auto;display:flex}.curriculum-list-tools:has(.is-open){min-width:min(260px,100%)}.curriculum-list-table .table-wrap{flex:1;padding:0 16px}.curriculum-list-table .data-table{table-layout:fixed;min-width:1060px}.curriculum-list-table .data-table th{border-bottom:2px solid var(--border);background:var(--surface);color:var(--text-light);letter-spacing:.045em;padding:20px 12px;font-size:12px;font-weight:600}.curriculum-list-table .data-table td{vertical-align:middle;height:64px;padding:9px 12px;font-size:13px}.curriculum-list-table .data-table th:first-child{width:52px}.curriculum-list-table .data-table th:nth-child(2){width:auto}.curriculum-list-table .data-table th:nth-child(3){width:100px}.curriculum-list-table .data-table th:nth-child(4){width:80px}.curriculum-list-table .data-table th:nth-child(5){width:140px}.curriculum-list-table .data-table th:nth-child(6){width:160px}.curriculum-list-table .data-table th:nth-child(7){width:110px}.curriculum-list-table .data-table th:last-child{width:84px}.curriculum-list-table .data-table tbody tr:last-child td{border-bottom:0}.curriculum-list-identity{align-items:center;gap:13px;min-width:0;display:flex}.curriculum-list-avatar{background:var(--primary-soft);width:44px;height:44px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid}.curriculum-list-identity>div{min-width:0}.curriculum-list-name{max-width:100%;color:var(--text);text-align:left;font:inherit;text-overflow:ellipsis;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;line-height:1.5;display:block;overflow:hidden}.curriculum-list-name:hover{color:var(--primary)}.curriculum-list-identity>div>span,.curriculum-list-usage>span{color:var(--text-light);margin-top:2px;font-size:12px;display:block}.curriculum-list-usage>strong{font-weight:500}.curriculum-list-table .badge{padding:4px 11px;font-size:12px;font-weight:600}.curriculum-list-table .badge-success{color:#297844;background:#edf8ed}.curriculum-list-table .row-menu-btn{border-radius:50%}.curriculum-list-table .table-footer{border-top:1px solid var(--border);padding:18px 16px}.row-menu.curriculum-row-menu{min-width:220px;box-shadow:none;border:1px solid #d0d0d0;border-radius:6px;padding:8px 0}.curriculum-row-menu .row-menu-item{border-radius:0;gap:9px;padding:8px 18px;font-size:14px;font-weight:400}.curriculum-row-menu .row-menu-item.danger{color:#ff344b}.curriculum-row-menu .row-menu-sep{background:#d0d0d0;margin:10px 0 6px}.curriculum-list-error{background:var(--danger-soft);color:var(--danger);border-radius:9px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:14px 18px;font-size:13px;display:flex}@media (width<=600px){.curriculum-list-toolbar{padding:10px 16px 4px}.curriculum-list-pills{flex-wrap:wrap}.curriculum-list-pills button{gap:5px;padding-inline:7px}.curriculum-list-pills button>span{min-width:20px;padding:2px 5px;font-size:12px}.curriculum-list-tools{gap:8px}.curriculum-list-table .table-wrap{padding:0 8px}.curriculum-list-table .table-footer{padding:16px}}.curriculum-name-with-remarks{align-items:center;gap:6px;min-width:0;display:flex}.curriculum-remarks-trigger{width:28px;height:28px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:inline-flex}.curriculum-remarks-trigger:hover,.curriculum-remarks-trigger:focus-visible{background:var(--primary-soft);color:var(--primary)}.curriculum-remarks-popover{border:1px solid var(--border);background:var(--surface);width:min(320px,100vw - 24px);max-height:min(240px,100dvh - 24px);color:var(--text);overflow-wrap:anywhere;border-radius:10px;margin:0;padding:14px 16px;font-size:13px;position:fixed;inset:auto;overflow:auto;box-shadow:0 8px 24px #1d37581a}.curriculum-remarks-popover strong{font-weight:600}.curriculum-remarks-popover p{white-space:pre-wrap;margin:6px 0 0}.curriculum-register{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;flex:1;min-width:0;display:flex}.curriculum-library-intro{background:var(--primary);color:#fff;border-radius:15px 15px 0 0;justify-content:space-between;align-items:center;gap:24px;padding:22px 26px;display:flex}.curriculum-library-heading{align-items:center;gap:14px;min-width:0;display:flex}.curriculum-library-icon{color:#cde4f5;background:#ffffff0a;border:1px solid #ffffff30;border-radius:12px;flex:0 0 48px;place-items:center;height:48px;display:grid}.curriculum-library-heading h2{color:#fff;letter-spacing:-.3px;margin:0;font-size:20px;font-weight:600;line-height:1.3}.curriculum-library-heading p{color:#d1dfed;max-width:460px;margin:6px 0 0;font-size:12px;line-height:1.6}.curriculum-library-map{flex-shrink:0;align-items:center;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.curriculum-library-map>li{align-items:center;min-width:0;display:flex}.curriculum-library-map>li+li:before{content:"";border-top:1px solid #ffffff80;border-right:1px solid #ffffff80;flex:0 0 5px;height:5px;margin:0 10px;transform:rotate(45deg)}.curriculum-library-map>li>span{color:#e0ebf5;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff26;border-radius:7px;align-items:center;gap:8px;padding:8px 12px;display:flex}.curriculum-library-map>li>.curriculum-map-parent{color:#fff;background:#ffffff0a;border-color:#ffffff45;font-weight:600}.curriculum-register>.card{min-width:0;box-shadow:none;border:0;border-radius:0 0 16px 16px;flex-direction:column;flex:1;display:flex}.curriculum-register .table-toolbar{border:0;padding:0}.curriculum-register-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;width:100%;padding:22px 24px 14px;display:flex}.curriculum-register-toolbar>div{align-items:center;gap:9px;display:flex}.curriculum-register-toolbar h3{color:var(--text);margin:0;font-size:13px;font-weight:600}.curriculum-register-toolbar>div>span{border:1px solid var(--border);color:var(--primary);background:var(--secondary-soft);font-variant-numeric:tabular-nums;border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600}.curriculum-register-toolbar p{color:var(--text-light);margin:0;font-size:12px}.curriculum-register .table-wrap{padding:0 12px}.curriculum-register .data-table{table-layout:fixed;width:100%;min-width:680px}.curriculum-register .data-table>thead>tr>th{border-bottom:2px solid var(--border);background:var(--surface);color:var(--text-light);letter-spacing:.045em;padding:20px 12px;font-size:12px;font-weight:600}.curriculum-register .data-table>thead>tr>th.curriculum-date-column{width:170px}.curriculum-register .data-table>thead>tr>th.curriculum-status-column{width:130px}.curriculum-register .data-table>thead>tr>th.curriculum-students-column{width:120px}.curriculum-register .table-viewport .data-table>tbody>tr>td{vertical-align:middle;height:64px;padding:9px 12px}.curriculum-register .data-table>tbody>tr:hover{background:var(--secondary-soft)}.curriculum-parent-identity{align-items:center;gap:14px;min-width:0;display:flex}.curriculum-parent-icon{border:1px solid var(--border);height:44px;color:var(--primary);background:var(--primary-soft);border-radius:9px;flex:0 0 44px;place-items:center;display:grid}.curriculum-parent-text{flex:1;min-width:0}.curriculum-parent-name{align-items:center;gap:8px;max-width:100%;font-size:14px;display:inline-flex;overflow:visible}.curriculum-parent-name>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.curriculum-parent-name>svg{color:var(--text-light);flex-shrink:0;transition:transform .15s}.curriculum-parent-name:hover>svg{color:var(--primary);transform:translate(3px)}.curriculum-parent-name:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}.curriculum-effective-date{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px}.curriculum-effective-date.is-unset{color:var(--text-light)}.curriculum-student-total{border:1px solid var(--border);min-width:44px;color:var(--primary);background:var(--secondary-soft);text-align:center;font-variant-numeric:tabular-nums;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-block}.curriculum-register .table-footer{border-top:1px solid var(--border);margin-top:auto;padding:18px 24px}@media (width<=1100px){.curriculum-library-intro{gap:18px;padding:20px 22px}.curriculum-library-icon{display:none}}@media (width<=700px){.curriculum-library-intro{flex-direction:column;align-items:flex-start;gap:16px;padding:18px}.curriculum-library-map{width:100%;font-size:12px}.curriculum-library-map>li>span{padding:6px 8px}.curriculum-library-map>li+li:before{margin-inline:7px}.curriculum-map-parent>svg{display:none}.curriculum-register-toolbar{padding:18px 16px 10px}.curriculum-register .table-wrap{padding-inline:4px}.curriculum-register .table-footer{flex-wrap:wrap;gap:12px;padding:16px}}@media (prefers-reduced-motion:reduce){.curriculum-parent-name>svg{transition:none}}.curriculum-create-shell,.curriculum-create-page{flex-direction:column;flex:1;min-width:0;display:flex}.curriculum-create-card{border:1px solid var(--border);background:var(--surface);border-radius:24px;flex-direction:column;flex:1;width:100%;min-width:0;padding:30px;display:flex;box-shadow:0 12px 36px #1d375808}.curriculum-create-card>form,.curriculum-details-layout>form,.curriculum-create-setup{flex-direction:column;flex:1;min-width:0;display:flex}.curriculum-metadata-fields{border:0;min-width:0;margin:0;padding:0}.curriculum-root-heading,.curriculum-syllabus-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.curriculum-root-heading{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:24px}.curriculum-root-heading h2{margin:6px 0;font-size:20px}.curriculum-syllabus-heading h3{margin:0 0 6px;font-size:14px}.course-framework-embedded .curriculum-syllabus-heading{margin-bottom:12px}.course-framework-embedded .curriculum-syllabus-heading .card-sub{margin:0;line-height:1.6}.curriculum-syllabuses{min-width:0}.page-heading-shell:has(.curriculum-syllabuses)>.events-page-heading{margin-bottom:6px}.curriculum-workspace-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;margin:0 0 12px;display:flex}.curriculum-workspace-metadata{min-width:0;color:var(--text-light);flex-wrap:wrap;flex:1;align-items:baseline;gap:6px 16px;font-size:12px;display:flex}.curriculum-workspace-metadata strong{color:var(--text);font-variant-numeric:tabular-nums;margin-left:8px;font-weight:500}.curriculum-workspace-remarks{overflow-wrap:anywhere}.curriculum-workspace-actions{flex-wrap:wrap;gap:8px;display:flex}.curriculum-framework-tabs{gap:4px;max-width:100%;padding-top:4px;display:flex;overflow-x:auto}.curriculum-framework-tabs>button{border:1px solid var(--border);background:var(--secondary-soft);max-width:min(320px,80vw);color:var(--text-light);font:inherit;overflow-wrap:anywhere;cursor:pointer;border-bottom:0;border-radius:8px 8px 0 0;flex-shrink:0;padding:9px 16px;font-size:13px;font-weight:600}.curriculum-framework-tabs>button:hover{color:var(--primary)}.curriculum-framework-tabs>button.active{background:var(--surface);color:var(--primary)}.curriculum-framework-tabs>button:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.curriculum-framework-panel:has(>.course-framework-embedded){padding:20px}.curriculum-framework-panel{border:1px solid var(--border);background:var(--surface);border-radius:0 10px 10px;min-width:0;padding:0 16px 16px}.course-framework-embedded .course-framework-section-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 16px;margin-bottom:14px;display:flex}.course-framework-embedded .course-framework-section-bar .cur-detail-tabs{border:0;gap:22px;margin:0}.course-framework-embedded .course-framework-section-bar .cur-detail-tabs button{padding:13px 0 11px}.course-framework-context{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:8px;padding-block:8px;font-size:12px;display:flex}.course-framework-embedded .framework-editor-workspace{border-radius:10px}.course-framework-embedded .framework-semester-content{padding:18px}.course-framework-embedded .framework-section-heading{margin-bottom:16px}.course-framework-embedded .framework-semester-nav{padding-top:18px}@media (width<=600px){:is(.curriculum-framework-panel,.curriculum-framework-panel:has(>.course-framework-embedded)){padding:12px}.curriculum-root-heading,.curriculum-syllabus-heading{flex-direction:column;align-items:flex-start}}.curriculum-create-page .cur-detail{margin-top:20px}.curriculum-create-page .cur-detail,.curriculum-create-page .cur-workspace-main{min-width:0}.curriculum-create-page form[hidden]{display:none}.curriculum-create-page [hidden]{display:none!important}.curriculum-syllabus-course{flex-direction:column;gap:8px;max-width:380px;margin-top:18px;margin-bottom:20px;display:flex}.curriculum-syllabus-course>label{color:#406879;font-size:12px}.curriculum-create-card>form>fieldset,.curriculum-details-layout>form>fieldset{border:0;flex-direction:column;flex:1;min-width:0;margin:0;padding:0;display:flex}.curriculum-create-steps{border-bottom:1px solid var(--border);gap:20px;margin:0 0 16px;padding:0 0 16px;list-style:none;display:flex}.curriculum-create-steps li{min-width:0;color:var(--text-light);flex:1;align-items:center;gap:10px;font-size:12px;display:flex}.curriculum-create-steps li:first-child:after{content:"";background:var(--border);flex:1;min-width:12px;height:1px;margin-left:6px}.curriculum-create-step-number{border:1px solid var(--border);background:var(--secondary-soft);border-radius:10px;flex:0 0 34px;justify-content:center;align-items:center;height:34px;font-weight:600;display:flex}.curriculum-create-step-label{min-width:0}.curriculum-create-step-label small{color:var(--text-light);margin-bottom:2px;font-size:12px;font-weight:400;display:block}.curriculum-create-step-label strong{font-size:12px;font-weight:500}.curriculum-create-steps .is-current strong{font-weight:600}.curriculum-create-steps .is-current{color:var(--primary);font-weight:600}.curriculum-create-steps .is-current .curriculum-create-step-number{background:var(--primary);border-color:var(--primary);color:#fff}.curriculum-create-steps .is-complete .curriculum-create-step-number{background:var(--success-soft);border-color:var(--success-soft);color:var(--success)}.curriculum-create-intro{margin-bottom:16px}.curriculum-create-intro h2{margin:4px 0 8px;font-size:14px;font-weight:600}.curriculum-create-intro h2:focus{outline:none}.curriculum-create-intro p,.curriculum-create-note,.curriculum-create-fields small{color:var(--text-light);margin:0;font-size:12px;line-height:1.6}.curriculum-create-fields,.curriculum-create-review{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.curriculum-create-wide{grid-column:1/-1}.curriculum-duration-field{border:0;min-width:0;margin:0;padding:0}.curriculum-duration-field legend{color:#406879;margin-bottom:8px;padding:0;font-size:12px}.curriculum-duration-options{flex-wrap:wrap;gap:12px;display:flex}.curriculum-duration-options label{border:1px solid var(--border);cursor:pointer;border-radius:8px;flex:1;align-items:center;gap:12px;min-width:130px;padding:12px 16px;display:flex}.curriculum-duration-options label:has(:checked){border-color:var(--primary);background:var(--primary-soft)}.curriculum-duration-options input{width:16px;height:16px;accent-color:var(--primary);margin:0}.curriculum-duration-options strong{color:var(--text);font-size:13px;font-weight:600;display:block}.curriculum-duration-options small{margin-top:4px;display:block}.curriculum-duration-field:disabled{opacity:.65}.curriculum-create-fields .field{flex-direction:column;gap:8px;display:flex}.curriculum-create-fields label{color:#406879;font-size:12px}.curriculum-create-fields .input{border-color:#d8e2e7;border-radius:7px;width:100%;min-height:38px;font-size:13px}.curriculum-create-card .input:focus{border-color:#3b8e84;box-shadow:0 0 0 3px #165b5010}.curriculum-create-fields textarea{resize:vertical}.curriculum-create-review{background:var(--secondary-soft);border:1px solid var(--border);border-radius:10px;margin:0;padding:20px}.curriculum-create-review dt{color:var(--text-light);margin-bottom:6px;font-size:12px}.curriculum-create-review dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:13px}.curriculum-create-note{margin-top:16px}.curriculum-create-error{color:var(--danger);margin-top:20px;font-size:13px}.curriculum-create-actions{flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:42px;display:flex}.curriculum-create-card .btn{border-radius:5px;min-height:32px;padding:6px 14px;font-size:12px}.curriculum-create-card .btn-outline{color:#576c73;border-color:#97a8b1}.curriculum-create-card.is-framework-step{padding:20px}.curriculum-create-card.is-framework-step .curriculum-create-steps{margin-bottom:12px;padding-bottom:12px}.curriculum-create-card.is-framework-step .curriculum-create-intro h2{margin:0 0 4px}.curriculum-create-setup .framework-editor-workspace{border-radius:10px;flex:1;grid-template-columns:164px minmax(0,1fr);display:grid;overflow:visible}.curriculum-create-setup .framework-semester-nav{border-right:1px solid var(--border);border-bottom:0;border-radius:10px 0 0 10px;padding:12px 0 12px 12px}.curriculum-create-setup .framework-semester-nav-label{display:none}.curriculum-create-setup .framework-semester-nav [role=tablist]{flex-direction:column;gap:4px;display:flex}.curriculum-create-setup .framework-semester-nav button{border-radius:7px 0 0 7px;justify-content:flex-start;min-height:44px;padding:10px 12px;line-height:1.5}.curriculum-create-setup .framework-semester-nav button[aria-selected=true]{border-right-color:var(--surface);width:calc(100% + 1px);box-shadow:none;margin-right:-1px;position:relative}.curriculum-create-setup .framework-semester-nav button>span:nth-child(2){display:block}.curriculum-create-setup .framework-semester-nav strong{font-size:13px}.curriculum-create-setup .framework-semester-number,.curriculum-create-setup .framework-semester-nav small{display:none}.curriculum-create-setup .framework-semester-content{flex-direction:column;padding:20px;display:flex}.curriculum-create-setup .framework-requirements-viewport{max-height:none}.curriculum-create-setup .framework-editor-footer{gap:16px;margin-top:auto;padding-top:16px}@media (width<=860px){.curriculum-create-setup .framework-editor-workspace{grid-template-columns:130px minmax(0,1fr)}.curriculum-create-setup .framework-semester-nav{padding:10px 0 10px 8px}.curriculum-create-setup .framework-semester-nav button{padding:10px 6px}.curriculum-create-setup .framework-semester-nav strong{font-size:12px}}@media (width<=600px){.curriculum-create-card{border-radius:18px;padding:20px}.curriculum-create-steps{gap:8px}.curriculum-create-steps li{align-items:flex-start;gap:8px}.curriculum-create-steps li:first-child:after{display:none}.curriculum-create-step-number{border-radius:8px;flex-basis:28px;height:28px}.curriculum-create-step-label strong{font-size:12px}.curriculum-create-fields,.curriculum-create-review{grid-template-columns:minmax(0,1fr)}.curriculum-create-actions{padding-top:30px}.curriculum-create-card.is-framework-step{padding:12px}.curriculum-create-setup .framework-editor-workspace{grid-template-columns:100px minmax(0,1fr)}.curriculum-create-setup .framework-semester-content{padding:12px}}.curriculum-framework-panel.is-single-framework{border-radius:10px}.curriculum-framework-panel.is-framework-page{padding-top:16px}.curriculum-create-card:not(.is-framework-step){width:100%}.curriculum-details-layout{flex:1;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:32px;min-width:0;display:grid}.curriculum-details-layout>form{min-width:0}.curriculum-details-help{border-left:1px solid var(--border);color:var(--text-light);padding-left:28px}.curriculum-details-help h3{color:var(--primary);margin:0 0 8px;font-size:14px;font-weight:600}.curriculum-details-help p{margin:0;font-size:12px;line-height:1.7}.curriculum-details-help>p{margin-bottom:24px}.curriculum-details-help ol{flex-direction:column;gap:24px;margin:0;padding-left:20px;display:flex}.curriculum-details-help li{padding-left:6px;font-size:12px}.curriculum-details-help li::marker{color:var(--primary);font-weight:600}.curriculum-details-help strong{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:600;display:block}@media (width<=860px){.curriculum-details-layout{grid-template-columns:minmax(0,1fr);gap:28px}.curriculum-details-help{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}.curriculum-details-layout .curriculum-create-actions{padding-top:24px}}.curriculum-create-steps li>button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:0;display:flex}.curriculum-create-steps li>button:disabled{cursor:default}.curriculum-create-steps li>button:not(:disabled):hover .curriculum-create-step-label strong{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.curriculum-create-steps li>button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (width<=600px){.curriculum-create-steps li>button{align-items:flex-start;gap:8px}}.curriculum-create-actions .curriculum-discard-draft,.framework-editor-actions .curriculum-discard-draft{margin-inline-start:auto}:is(.users-list-search,.directory-list-search)::-webkit-search-cancel-button{appearance:none}:is(.users-list-search,.directory-list-search)::-webkit-search-decoration{appearance:none}@media (prefers-reduced-motion:reduce){:is(.users-filter-drawer,.directory-filter-drawer)[open],:is(.users-list-search-control,.directory-list-search-control) :is(.users-list-search,.directory-list-search){animation:none}}@media (width<=600px){.directory-status-pills button{gap:5px;padding-inline:10px}}@media (prefers-reduced-motion:reduce){.directory-status-pills button{transition:none}}.papers-directory{min-width:0}.papers-card{box-shadow:none;border-radius:16px;overflow:hidden}.papers-card>.papers-toolbar{flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px 4px;display:flex}.papers-toolbar-tools{flex:1;justify-content:flex-end;align-items:center;gap:14px;min-width:0;display:flex}.papers-new-paper{border-radius:5px;gap:5px;min-height:28px;padding:4px 10px;font-size:12px}.papers-bulk-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;display:flex}.papers-selection{color:var(--text-light);flex-basis:100%;align-items:center;gap:8px;font-size:12px;display:flex}.papers-selection .link-btn{font-size:12px}.papers-card .row-menu-btn{border-radius:50%}.papers-card .papers-selection-column{width:36px}.papers-card .data-table tbody tr.papers-selected{background:#effbf8}.papers-card .data-table th{background:var(--surface)}.papers-card .data-table td{height:64px;font-size:13px}.papers-empty{text-align:center;color:var(--text-light);padding:42px 16px!important}.papers-error{color:var(--danger);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px;font-size:13px;display:flex}.papers-form fieldset{border:0;gap:18px;min-width:0;margin:0;padding:0;display:grid}.papers-form .field{min-width:0}.papers-form .input{width:100%}@media (width<=600px){.papers-card>.papers-toolbar{padding:10px 16px 4px}.papers-toolbar-tools{flex-basis:100%;gap:8px;min-width:76px}.papers-toolbar .directory-list-tool{width:30px}.papers-card .table-footer{flex-wrap:wrap;gap:12px}}:is(.page:has(.academic-session-page),.cal-root:has(.academic-session-page)),.academic-session-page{flex-direction:column;flex:1;min-width:0;display:flex}.academic-session-year-navigation .academic-skeleton-year{width:150px;height:20px;margin-block:6px}.academic-session-calendar-skeleton .session-calendar-heading .academic-skeleton{width:180px;height:16px}.academic-session-skeleton-months{border-bottom:1px solid var(--border);gap:16px;margin:12px 20px;padding-bottom:20px;display:flex}.academic-session-skeleton-track{padding:14px 20px}.academic-session-skeleton-track .academic-skeleton{width:65%;height:36px}.academic-session-skeleton-track:last-child .academic-skeleton{width:48%;margin-left:auto}.academic-session-overview{padding:12px 16px 4px}.academic-session-layout{flex:1;grid-template-columns:minmax(300px,.9fr) minmax(0,1.4fr);align-items:stretch;min-width:0;display:grid}.academic-session-card{box-shadow:none;border-radius:16px;flex-direction:column;flex:1;display:flex;overflow:hidden}.academic-session-list{border-right:1px solid var(--border);flex-direction:column;flex:1;min-width:0;display:flex}.academic-session-card .session-calendar{box-shadow:none;border:0;border-radius:0;flex:1}.academic-session-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.academic-session-toolbar .calendar-session-control{width:280px;max-width:100%}.academic-session-toolbar h2{font-size:14px;font-weight:600}.academic-session-actions{align-items:center;gap:8px;display:flex}.academic-session-actions .row-menu-btn{border-radius:50%}.academic-session-current{border:1px solid var(--border);background:var(--secondary-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:14px 16px;font-size:12px;display:flex}.academic-session-current strong{font-size:13px;font-weight:600}.academic-session-current .link-btn{margin-left:auto;font-size:12px}.academic-session-table-viewport{flex:1}.academic-session-table{table-layout:fixed;border-collapse:collapse;width:100%}.academic-session-table thead th{border-bottom:1px solid #d0d0d0;padding:12px 16px}.academic-session-table-viewport[data-header-stuck=true]>.academic-session-table>thead>tr:last-child>th{box-shadow:none}.academic-session-table thead th:first-child{width:46%}.academic-session-table thead th:nth-child(3){width:48px}.academic-session-table tbody th,.academic-session-table tbody td{text-align:left;border-bottom:1px solid var(--border);height:86px;padding:16px;font-size:13px}.academic-session-table tbody tr:last-child th,.academic-session-table tbody tr:last-child td{border-bottom:0}.academic-session-table tbody td:last-child:has(.icon-btn){padding-inline:8px}.academic-session-term-name{flex-direction:column;align-items:flex-start;gap:8px;font-weight:600;display:flex}.academic-session-term-dates{color:var(--text-light);white-space:nowrap;font-size:12px}.academic-session-term-dates time{line-height:1.8;display:inline}.academic-session-term-dates time+time:before{content:" - "}.academic-session-form{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;min-width:0;margin:0;padding:0;display:grid}.academic-session-form .field{gap:8px;min-width:0}.academic-session-form small{color:var(--text-light);font-size:12px}.academic-session-year-label{color:var(--text-light);margin:14px 0 0;font-size:12px}.academic-session-year-label strong{color:var(--text);font-weight:600}.academic-session-year-preview{border:1px solid var(--border);background:var(--secondary-soft);color:var(--text-light);border-radius:8px;margin:18px 0 0;padding:12px 14px;font-size:12px}.academic-session-year-preview strong{color:var(--text);margin-left:8px;font-size:14px;font-weight:600}.academic-session-year-preview>span{margin-top:4px;display:block}.academic-session-semester-context{color:var(--text-light);align-items:center;gap:6px;margin:0 0 18px;font-size:12px;display:flex}.academic-session-semester-context strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.session-calendar{min-width:0;box-shadow:none;border-radius:16px;flex-direction:column;display:flex}.session-calendar-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px;display:flex}.session-calendar-heading h2{font-size:14px;font-weight:600}.session-calendar-heading p{color:var(--text-light);margin:4px 0 0;font-size:12px}.session-calendar-today-key{color:var(--text-light);align-items:center;gap:6px;font-size:12px;display:inline-flex}.session-calendar-today-key i{background:var(--danger);border-radius:50%;width:5px;height:5px}.session-calendar-scroll{min-width:0;margin-inline:20px;padding-bottom:12px;overflow-x:auto}.session-calendar-chart{min-width:480px}.session-calendar-years{height:22px;color:var(--text-light);font-size:12px;font-weight:600;position:relative}.session-calendar-years>span{padding-left:6px;position:absolute}.session-calendar-months{border-bottom:1px solid var(--border);height:32px;position:relative}.session-calendar-months>span{text-align:center;color:var(--text-light);font-size:12px;position:absolute}.session-calendar-tracks{border-bottom:1px solid var(--border);padding-block:18px;position:relative}.session-calendar-gridline{background:var(--border);opacity:.65;width:1px;position:absolute;top:0;bottom:0}.session-calendar-lane{height:64px;position:relative}.session-calendar-bar{border:1px solid;border-radius:6px;min-width:3px;height:36px;position:absolute;top:10px;overflow:hidden}.session-calendar-lane-1 .session-calendar-bar{color:var(--primary);background:var(--primary-soft);border-color:#b8cde3}.session-calendar-lane-2 .session-calendar-bar{color:#216b62;background:#e7f5f1;border-color:#aed7cc}.session-calendar-bar>span{white-space:nowrap;padding:9px 10px;font-size:12px;font-weight:600;display:block}.session-calendar-empty{color:var(--text-light);font-size:12px;display:inline-block;position:relative;top:20px;left:10px}.session-calendar-today{border-left:1px dashed var(--danger);z-index:1;pointer-events:none;position:absolute;top:0;bottom:0}.session-calendar-today>span{background:var(--surface);color:var(--danger);border-radius:3px;padding:2px 4px;font-size:12px;position:absolute;top:-12px;left:0;transform:translate(-50%)}.session-calendar-legend{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:auto;padding:16px 20px;font-size:12px;display:flex}.session-calendar-legend>span{align-items:center;gap:6px;display:inline-flex}.session-calendar-legend i{border:1px solid;border-radius:2px;width:9px;height:9px}.session-calendar-legend .session-calendar-odd-key{background:var(--primary-soft);border-color:#b8cde3}.session-calendar-legend .session-calendar-even-key{background:#e7f5f1;border-color:#aed7cc}.session-calendar-legend .session-calendar-range{flex-basis:100%}@media (width<=1100px){.academic-session-layout{grid-template-columns:minmax(0,1fr)}.academic-session-list{border-right:0;border-bottom:1px solid var(--border)}}@media (width<=600px){.academic-session-toolbar{align-items:stretch}.academic-session-toolbar .calendar-session-control{width:100%}.academic-session-actions{justify-content:space-between;width:100%}.academic-session-current{padding:14px 16px}.academic-session-current .link-btn{margin-left:0}.academic-session-form{grid-template-columns:minmax(0,1fr)}.session-calendar-heading{padding:16px}.session-calendar-scroll{margin-inline:16px}.session-calendar-legend{padding-inline:16px}}.page.events-page-shell{max-width:none;padding:8px 16px var(--page-bottom-gap);flex-direction:column;flex:1;display:flex}.events-directory{margin-top:0}.cal-root:has(.events-directory){flex:1;min-width:0;display:flex}.events-directory{flex-direction:column;flex:1;min-width:0;display:flex}#events-filters-drawer input[type=checkbox]{accent-color:var(--primary)}#events-filters-drawer input[type=checkbox]:checked,#events-filters-drawer input[type=checkbox]:indeterminate{background-color:var(--primary);border-color:var(--primary)}.events-view-toggle{border:1px solid var(--border);background:var(--secondary-soft);border-radius:9px;gap:3px;padding:3px;display:inline-flex}.events-view-toggle button{min-height:32px;color:var(--text-light);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.events-view-toggle button:hover{color:var(--primary)}.events-view-toggle button.active{background:var(--surface);color:var(--primary);border-color:var(--border);box-shadow:0 1px 3px #1d37580a}.events-view-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.events-category-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin:8px 16px 16px;padding:12px 0 16px;display:flex}.events-directory[data-header-stuck=true] .events-category-row{display:none}.events-category-legend{flex-wrap:wrap;align-items:center;gap:10px 16px;display:flex}.events-category-label{color:var(--text-light);font-size:12px;font-weight:600}.events-directory .events-category-legend .cal-cap-legend{gap:8px}.events-directory .events-category-legend .cal-cap-key{background:var(--secondary-soft);border-radius:5px;padding:4px 8px;font-size:12px;font-weight:500}.events-directory .events-category-legend .events-category-toggle{cursor:pointer;border:1px solid var(--border);color:var(--text-light);transition:color .15s,background .15s,border-color .15s}.events-directory .events-category-legend .events-category-toggle.is-selected{color:var(--category-color);border-color:color-mix(in srgb, var(--category-color) 35%, var(--border));background:color-mix(in srgb, var(--category-color) 10%, var(--surface))}.events-category-toggle{position:relative}.events-category-toggle input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.events-category-check{justify-content:center;align-items:center;width:12px;height:12px;display:inline-flex}.events-category-toggle:focus-within{outline:2px solid var(--accent);outline-offset:2px}.events-directory-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.events-directory-toolbar{align-items:center;gap:14px;padding:12px 16px 4px;display:flex}.events-directory-toolbar .btn{min-height:32px;padding:6px 10px;font-size:12px}.events-directory .hist-content,.events-directory-body{flex-direction:column;flex:1;min-width:0;display:flex}.events-directory .cal-cap-summary{color:var(--text-light);font-size:12px}.events-directory .cal-cap-legend{flex-wrap:wrap}.events-directory .table-wrap{flex:1;padding:0 16px}.events-directory .cal-table{table-layout:fixed;border-collapse:collapse;min-width:800px}.events-directory .cal-table th:first-child{width:88px}.events-directory .cal-table th:nth-child(3){width:132px}.events-directory .cal-table th:nth-child(4){width:230px}.events-directory .cal-table th:last-child{width:80px}.events-directory .cal-table tbody tr:hover{background:#f8fbfe}.events-directory .cal-table tbody tr:last-child td{border-bottom:0}.events-directory .cal-table .badge{text-transform:none;letter-spacing:normal;border-radius:6px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;font-weight:600;display:inline-flex}.events-category-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.events-directory .cal-evt-titleline{gap:4px 8px}.events-directory .cal-evt-title{overflow-wrap:anywhere;min-width:0;line-height:1.5}.events-directory .cal-evt-desc{white-space:nowrap;max-width:100%;margin-top:5px;font-size:12px;line-height:1.6}.events-directory .cal-when-range{font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.events-sort:hover{color:var(--primary)}.events-sort .table-sort-icon{width:14px;height:14px;margin-left:0}.events-directory .cal-table thead th{border-bottom:2px solid var(--border);background:var(--surface);color:var(--text-light);letter-spacing:.045em;padding:20px 12px;font-size:12px;font-weight:600}.events-sort{color:inherit;font:inherit;text-transform:uppercase;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.events-directory .cal-table tbody td{vertical-align:middle;height:90px;padding:16px 12px;font-size:13px}.events-directory .cal-table tbody td:first-child{box-shadow:none}.events-directory .cal-date-chip{background:var(--surface);color:var(--primary);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:8px;justify-content:flex-start;width:50px;height:56px;min-height:56px;padding:0;overflow:hidden}.events-directory .cal-date-chip .mo{width:100%;color:inherit;letter-spacing:.08em;text-align:center;background:0 0;margin:0;padding:5px 0;font-size:12px;font-weight:700;display:block}.events-directory .cal-date-chip .d{font-family:var(--font-ui);flex:1;place-items:center;font-size:20px;font-weight:700;display:grid}.events-directory .cal-date-chip.is-unscheduled{color:var(--text-light);background:var(--secondary-soft);letter-spacing:.04em;justify-content:center;font-size:12px;font-weight:600}.events-directory .cal-evt-title{font-size:14px;font-weight:600}.events-directory .evt-glyph{display:none}.events-directory .events-empty-state{flex-direction:column;align-items:center;gap:10px;padding:64px 20px;display:flex}.events-empty-state svg{box-sizing:content-box;border:1px solid var(--border);background:var(--secondary-soft);color:var(--primary);border-radius:14px;padding:14px}.events-empty-state strong{color:var(--text);font-size:14px;font-weight:600}.events-empty-state>span{font-size:12px}.events-skeleton{background:linear-gradient(90deg, var(--secondary-soft) 25%, var(--border) 50%, var(--secondary-soft) 75%);background-size:200% 100%;border-radius:4px;height:12px;animation:1.5s ease-in-out infinite events-skeleton-shimmer;display:block}@keyframes events-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.events-skeleton{animation:none}}.events-loading-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.events-form-skeleton .events-skeleton-input{width:100%;height:40px}.events-form-skeleton .events-skeleton-textarea{width:100%;height:90px}.events-form-skeleton .events-skeleton-option{border-radius:16px;width:90px;height:32px}.events-form-skeleton .events-skeleton-button{width:110px;height:36px}.events-form-skeleton .form-row{margin-bottom:18px}.events-skeleton-date{border-radius:8px;width:50px;height:56px}.events-skeleton-title{width:75%;margin-bottom:10px}.events-skeleton-description{width:50%;height:9px}.events-skeleton-tag{width:66px;height:16px}.events-directory .events-skeleton-row:hover{background:0 0}.events-directory .table-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:18px 16px}.events-month{min-width:0;padding:0 16px 16px}.events-month-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 0 18px;display:flex}.events-month-toolbar h2{color:var(--primary);margin:0;font-size:16px;font-weight:700}.events-month-toolbar>div{gap:6px;display:flex}.events-month-scroll{border:1px solid var(--border);border-radius:10px;overflow-x:auto}.events-month-grid{background:var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;min-width:700px;display:grid}.events-month-weekday{background:var(--secondary-soft);color:var(--text-light);text-align:center;text-transform:uppercase;padding:10px;font-size:12px;font-weight:600}.events-month-day{background:var(--surface);min-width:0;min-height:116px;padding:8px}.events-month-day.outside{background:var(--secondary-soft)}.events-month-day time{font-variant-numeric:tabular-nums;place-items:center;width:26px;height:26px;margin-bottom:6px;font-size:12px;display:grid}.events-month-day.outside time{color:var(--text-light)}.events-month-day time[aria-current=date]{background:var(--primary);color:#fff;border-radius:50%;font-weight:700}.events-month-event{width:100%;font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer;border:0;border-radius:5px;margin:4px 0 0;padding:5px 7px;font-size:12px;display:block}.events-month-event:disabled{opacity:1;cursor:default}.events-month-note{color:var(--text-light);font-size:12px}.events-month-unscheduled{border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.events-month-unscheduled h3{margin:0 0 10px;font-size:13px;font-weight:600}.events-month-unscheduled .events-month-event{width:auto;margin-right:8px;display:inline-block}@media (width<=600px){.page.events-page-shell{padding-inline:8px}.events-directory-toolbar{gap:10px}.events-directory .table-wrap{padding:0 8px}.events-directory .table-footer{padding:16px}.events-directory .cal-cap-legend{gap:8px}}.events-directory-toolbar-start{flex:1;justify-content:flex-end;align-items:center;gap:14px;min-width:0;margin-left:auto;display:flex}.events-directory-toolbar .events-view-toggle{flex-shrink:0}.events-create-page .form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;display:grid}.events-create-page .field{gap:8px}.events-create-page .type-picker{flex-wrap:wrap}.events-create-page .users-create-fields>.field{margin-bottom:18px!important}@media (width<=600px){.events-create-page .form-row{grid-template-columns:minmax(0,1fr)}}.events-category-row .cal-cap-summary{text-align:right;margin-left:auto}.main-area:has(>.timetable-page-shell){height:100dvh;min-height:0}.main-area:has(>.timetable-page-shell)>.topbar{flex-shrink:0}.page.timetable-page-shell{max-width:none;min-height:0;padding:8px 16px var(--page-bottom-gap);flex-direction:column;flex:1;display:flex}.timetable-page-shell>.events-page-heading{flex-shrink:0;min-height:28px;margin:0 0 8px}.timetable-directory{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.timetable-directory-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.timetable-directory-content:not([hidden]){flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.timetable-skeleton-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:20px;margin:0 12px 8px;padding:10px 0;display:flex}.timetable-skeleton-courses,.timetable-skeleton-semesters{gap:6px;display:flex}.timetable-skeleton-courses .timetable-skeleton-line{border-radius:999px;width:52px;height:38px}.timetable-skeleton-select{border-radius:8px;width:min(220px,100%);height:38px}.timetable-skeleton-semesters .timetable-skeleton-line{border-radius:7px;width:38px;height:38px}.timetable-skeleton-label{flex-shrink:0;width:42px}.timetable-skeleton-heading{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;min-height:32px;margin:0 12px 12px;display:flex}.timetable-skeleton-title{width:100px;height:14px}.timetable-skeleton-manage{border-radius:5px;width:78px;height:32px}.timetable-directory .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.timetable-navigation{border-bottom:1px solid var(--border);flex-shrink:0;justify-items:start;min-width:0;margin:0 12px 8px;padding:10px 0;display:grid}.timetable-selection-controls{flex-wrap:wrap;align-items:center;gap:10px 20px;width:100%;min-width:0;display:flex}.timetable-course-filter{flex-shrink:0}.timetable-selection-field{align-items:center;gap:8px;min-width:0;display:flex}.timetable-selection-label{flex-shrink:0}.timetable-department-field .searchable-select{flex:1;min-width:0}.timetable-selection-label{color:var(--text-light);font-size:12px;font-weight:600}.timetable-department-field{flex:0 320px}.timetable-semester-field,.timetable-section-field{flex:0 auto}.timetable-selection-controls .searchable-select-trigger>span{overflow-wrap:anywhere;min-width:0}.timetable-selection-controls .searchable-select-chevron{flex-shrink:0}.timetable-semester-options{flex-wrap:wrap;gap:6px;display:flex}.timetable-semester-options button{border:1px solid var(--border);background:var(--surface);min-width:38px;min-height:38px;color:var(--text-light);font:inherit;cursor:pointer;border-radius:7px;padding:8px 12px;font-size:13px}.timetable-semester-options button:hover{color:var(--primary);background:var(--secondary-soft)}.timetable-semester-options button[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:#fff;font-weight:600}.timetable-semester-options button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.timetable-semester-options button:disabled{cursor:default;opacity:.5}.timetable-section-value{min-height:38px;color:var(--text);align-items:center;font-size:13px;display:flex}.timetable-routine-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.timetable-routine-panel>.timetable-detail{border:0;border-radius:0;flex-direction:column;flex:1;gap:8px;min-height:0;padding:0 12px 12px;display:flex}.timetable-routine-panel .timetable-grid-wrap{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;overflow:auto}.timetable-directory .timetable-grid{table-layout:auto;min-width:0}.timetable-directory .timetable-grid td{min-width:96px;height:auto;padding:5px}.timetable-directory .timetable-grid tbody th{padding-block:6px}.timetable-directory .timetable-grid thead th{white-space:nowrap;padding:12px 6px}.timetable-directory .timetable-cell-cards{min-width:0}.timetable-directory .timetable-card{overflow-wrap:anywhere}.timetable-routine-panel .timetable-grid thead th{z-index:2;position:sticky;top:0}.timetable-detail>.timetable-heading,.timetable-directory .timetable-error,.timetable-directory .timetable-history-note{flex-shrink:0}.timetable-directory .timetable-overview{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.timetable-directory .timetable-placeholder{border:0;border-radius:0;flex:1;place-items:center;min-height:0;margin:0;padding:24px;font-size:13px;display:grid;overflow:auto}.timetable-directory .timetable-error{border-radius:8px;margin:0 16px 16px;padding:16px;font-size:13px}.timetable-directory .timetable-history-note{margin:0 16px 16px;font-size:12px}.timetable-directory .timetable-overview-table-wrap{min-width:0;box-shadow:none;border:0;border-radius:0;flex:1;padding:0 16px;overflow-x:auto}.timetable-directory .timetable-overview-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:900px;display:table}.timetable-directory .timetable-overview-table thead{clip:auto;width:auto;height:auto;display:table-header-group;position:static;overflow:visible}.timetable-directory .timetable-overview-table tbody{width:auto;display:table-row-group}.timetable-directory .timetable-overview-table tr{border:0;border-radius:0;margin:0;padding:0;display:table-row}.timetable-directory .timetable-overview-table th{background:var(--secondary-soft);color:var(--text-light);border-bottom:1px solid var(--border);letter-spacing:.065em;padding:10px 12px;font-size:12px;font-weight:600}.timetable-directory .timetable-overview-table td{border-bottom:1px solid var(--border);vertical-align:middle;height:90px;padding:16px 12px;font-size:13px;display:table-cell}.timetable-directory .timetable-overview-table td:before{display:none}.timetable-directory .timetable-overview-table th:first-child,.timetable-directory .timetable-overview-table td:first-child{text-align:left;width:25%}.timetable-directory .timetable-overview-table th:nth-child(2),.timetable-directory .timetable-overview-table td:nth-child(2){width:15%}.timetable-directory .timetable-overview-table th:nth-child(3),.timetable-directory .timetable-overview-table td:nth-child(3){width:23%}.timetable-directory .timetable-overview-table th:nth-child(4),.timetable-directory .timetable-overview-table td:nth-child(4){text-align:left;width:20%}.timetable-directory .timetable-overview-table th:last-child,.timetable-directory .timetable-overview-table td:last-child{text-align:right;width:17%}.timetable-directory .timetable-overview-table td:first-child strong{color:var(--primary);font-size:14px;font-weight:600}.timetable-directory .timetable-overview-table td:first-child{display:table-cell}.timetable-directory .timetable-overview-table td:first-child>:is(strong,span,small){display:block}.timetable-directory .timetable-overview-table td:first-child span{font-size:13px}.timetable-directory .timetable-status{align-self:flex-start}.timetable-directory .timetable-overview-table small{font-size:12px}.timetable-directory .timetable-overview-table .btn{border-radius:5px;width:auto;min-height:28px;padding:4px 10px;font-size:12px}.timetable-directory .timetable-overview-table .timetable-programme-scopes-row>td{height:auto;padding:0 12px 16px;display:table-cell!important}.timetable-directory .timetable-programme-scopes{background:var(--secondary-soft);border-radius:8px;padding:16px}.timetable-directory .timetable-programme-scope{grid-template-columns:minmax(0,1fr) auto auto}.timetable-directory .timetable-programme-scope .btn{grid-column:auto}.timetable-directory-footer{border-top:1px solid var(--border);color:var(--text-light);font-variant-numeric:tabular-nums;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:6px 16px;margin-top:auto;padding:8px 12px;font-size:12px;display:flex}.timetable-notes{max-width:100%}.timetable-notes summary{cursor:pointer}.timetable-notes p{max-width:60ch;margin:6px 0 0}.timetable-combined{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.timetable-combined>.timetable-heading{flex-flow:wrap;flex-shrink:0;align-items:center;gap:8px 12px;margin:0 12px 12px;padding:0;display:flex}.timetable-combined>.timetable-heading h2{margin:0;font-size:14px;font-weight:600;line-height:1.5}.timetable-combined>.timetable-heading .btn{border-radius:5px;min-height:32px;padding:6px 12px;font-size:12px}.timetable-combined>section{flex-direction:column;flex:1;min-width:0;min-height:220px;display:flex}.timetable-course-tabs{flex-shrink:0;margin:0 12px 8px;padding:8px 12px 0}.timetable-course-tabs button{min-height:44px;padding:10px 4px;font-family:inherit}.timetable-course-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.timetable-combined>:is(.timetable-combined-title,.timetable-help){flex-shrink:0}.timetable-combined .timetable-help{margin:0;padding:0 16px 16px;font-size:12px}.timetable-combined .timetable-grid-wrap{border-radius:8px;margin:0 12px 8px}.timetable-combined .timetable-grid thead th{background:var(--secondary-soft);color:var(--text-light);text-transform:uppercase;letter-spacing:.045em;font-size:12px;font-weight:600}.timetable-combined .combined-timetable-grid thead th,.timetable-combined .combined-timetable-day-group>tr>*{border-bottom:1px solid var(--border)}.timetable-combined .combined-timetable-day-group+.combined-timetable-day-group>tr:first-child>*{border-top:1px solid var(--border)}.timetable-combined .combined-timetable-day-group:last-child>tr:last-child>*,.timetable-combined .combined-timetable-day-group:last-child .combined-timetable-day{border-bottom:0}.timetable-combined .combined-timetable-grid .combined-timetable-day{vertical-align:top;font-weight:600}.timetable-combined .combined-timetable-grid{table-layout:auto}.timetable-directory .timetable-grid thead th:first-child,.timetable-directory .timetable-grid tbody th:first-child{white-space:nowrap;width:1%}.timetable-combined .combined-timetable-grid .combined-timetable-track{white-space:nowrap;background:var(--surface);width:1%;padding:6px 12px;font-size:12px;font-weight:600}.timetable-combined .combined-timetable-grid thead .combined-timetable-major-heading{white-space:nowrap;width:1%}.combined-timetable-track-label{overflow-wrap:anywhere}.timetable-combined .combined-timetable-section{margin-top:4px}.timetable-detail{border:1px solid var(--border);background:var(--surface);border-radius:16px;min-width:0;padding:16px}.timetable-detail>*{min-width:0}.timetable-detail .timetable-heading{flex-wrap:wrap;align-items:center;gap:16px}.timetable-detail .timetable-heading h2{margin:0;font-size:14px;font-weight:600}.timetable-detail .timetable-heading>div:first-child{flex-wrap:wrap;align-items:baseline;gap:2px 12px;display:flex}.timetable-detail .timetable-heading p{font-size:12px}.timetable-detail .timetable-heading .btn{border-radius:5px;min-height:32px;padding:6px 12px;font-size:12px}.timetable-card-form .timetable-paper-field-heading{flex-wrap:wrap;gap:6px 12px}.timetable-card-form .timetable-paper-field-actions{margin-left:auto}.timetable-card-form .radio-row{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.timetable-teaching-toggle{border-block:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding-block:14px;display:flex}.timetable-teaching-toggle>div{flex:1;min-width:0}.timetable-teaching-toggle>.switch{flex-shrink:0}.timetable-teaching-toggle label{color:var(--text);cursor:pointer;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.timetable-card-form .timetable-faculty-name{overflow-wrap:anywhere;padding:8px;font-size:13px;line-height:1.6}.timetable-card-form .radio-pill{justify-content:center;min-height:40px;padding:8px;font-size:13px}.timetable-card-form .timetable-help{color:var(--text-light);text-wrap:balance;margin:0;padding:0;font-size:12px;line-height:1.6}.timetable-card-form .timetable-faculty-picker{gap:4px;min-width:0;margin:0;padding:12px}.timetable-card-form .timetable-faculty-picker>.timetable-help{padding:4px 8px}.timetable-card-form .timetable-faculty-option{cursor:pointer;min-height:40px;margin:0}.timetable-card-form .timetable-faculty-option:has(input:checked){background:var(--primary-soft)}.timetable-card-form .timetable-faculty-option input{width:16px;height:16px;accent-color:var(--primary);flex-shrink:0;margin:0}.timetable-card-form .timetable-faculty-option span{overflow-wrap:anywhere;min-width:0}.timetable-skeleton{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.timetable-skeleton-card{border:1px solid var(--border);background:var(--secondary-soft);border-radius:10px;flex-direction:column;gap:8px;min-height:64px;padding:7px;display:flex}.timetable-skeleton-line{background:linear-gradient(100deg, var(--border) 20%, var(--secondary-soft) 45%, var(--border) 70%);background-size:220% 100%;border-radius:4px;height:12px;animation:1.5s linear infinite timetable-skeleton-shimmer;display:block}.timetable-skeleton-code{width:65%;max-width:72px}.timetable-skeleton-major{width:32px}.timetable-skeleton-faculty{gap:4px;display:flex}.timetable-skeleton-avatar{border-radius:50%;width:28px;height:28px}.timetable-skeleton-action{width:65%;height:24px;margin-top:8px}@keyframes timetable-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.timetable-skeleton-line{animation:none}}@media (width<=600px){.page.timetable-page-shell{padding-inline:8px}.timetable-directory-tools:has(.is-open){flex-basis:100%}.timetable-detail{padding:16px 12px}.timetable-selection-controls,.timetable-skeleton-toolbar{gap:8px}.timetable-skeleton-semesters .timetable-skeleton-line{height:44px}.timetable-selection-field{flex:initial;width:100%}.timetable-selection-label{width:76px}.timetable-semester-options{flex:1;gap:4px}.timetable-semester-options button{min-height:44px;padding-inline:10px}}.timetable-editor-major{border-bottom:1px solid var(--border);color:var(--primary);gap:4px;padding-bottom:16px;display:grid}.timetable-editor-major>span{color:var(--text-light);font-size:12px}.timetable-editor-major>strong{font-size:14px}.date-range-trigger{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.date-range-trigger>svg{color:var(--text-light);flex-shrink:0}.date-range-trigger:focus-visible,.date-range-trigger[aria-expanded=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--primary-soft);outline:none}.date-range-trigger:disabled{opacity:.5;cursor:default}.date-range-panel{z-index:1000;border:1px solid var(--border);background:var(--surface);width:580px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);color:var(--text);border-radius:12px;outline:none;padding:16px;position:fixed;overflow:auto;box-shadow:0 12px 40px #1d375824}.date-range-panel-heading,.date-range-navigation,.date-range-panel footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.date-range-panel-heading{font-size:14px}.date-range-navigation{color:var(--text-light);margin:8px 0 12px;font-size:12px}.date-range-navigation button{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--primary);cursor:pointer;border-radius:7px;font-size:20px}.date-range-calendars{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.date-range-calendars h3{text-align:center;margin:0 0 12px;font-size:13px;font-weight:600}.date-range-weekdays,.date-range-days{text-align:center;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.date-range-weekdays{color:var(--text-light);margin-bottom:6px;font-size:12px}.date-range-days button,.date-range-days>span{min-width:0;height:32px}.date-range-days button{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;font-size:12px}.date-range-days button:hover,.date-range-days button.is-in-range{background:var(--primary-soft)}.date-range-days button.is-endpoint{background:var(--primary);color:#fff}.date-range-days button:disabled,.date-range-navigation button:disabled{opacity:.3;cursor:default}.date-range-panel button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.date-range-selection{text-align:center;color:var(--text-light);margin:12px 0;font-size:12px}.date-range-panel footer{border-top:1px solid var(--border);padding-top:12px}@media (width<=520px){.date-range-calendars{grid-template-columns:1fr}}.daily-attendance-skeleton{min-width:0;box-shadow:none;border-radius:16px;overflow:hidden}.attendance-records>.daily-attendance-skeleton{border:0}.daily-attendance-skeleton-toolbar span,.daily-attendance-skeleton-footer>span,.daily-attendance-skeleton-row span{background:var(--border);border-radius:4px;height:11px;display:block}.daily-attendance-skeleton-toolbar,.daily-attendance-skeleton-footer>span,.daily-attendance-skeleton-row{animation:1.8s ease-in-out infinite daily-attendance-loading}.daily-attendance-skeleton-heading-date{background:var(--border);border-radius:8px;width:156px;max-width:100%;height:38px;animation:1.8s ease-in-out infinite daily-attendance-loading;display:block}.daily-attendance-skeleton-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 18px;display:flex}.daily-attendance-skeleton-tools{align-items:center;gap:8px;min-width:0;padding:2px;display:flex}.daily-attendance-skeleton-tools span{border-radius:999px;width:64px;height:32px}.daily-attendance-skeleton-toolbar .daily-attendance-skeleton-date{border-radius:8px;width:156px;height:38px}.daily-attendance-skeleton-actions{align-items:center;gap:8px;min-height:39px;margin-left:auto;display:flex}.daily-attendance-skeleton-actions span{border-radius:8px;width:36px;height:36px}.daily-attendance-skeleton-row td{vertical-align:middle;height:68px}.daily-attendance-skeleton-short{width:18px}.daily-attendance-skeleton-id{width:75%;max-width:100px}.daily-attendance-skeleton-name{width:78%;max-width:210px;margin-top:8px}.daily-attendance-skeleton-name-1{width:64%}.daily-attendance-skeleton-name-2{width:86%}.daily-attendance-skeleton-row .daily-attendance-skeleton-roll{width:45%;max-width:92px;height:9px;margin-top:8px}.daily-attendance-skeleton-code{width:44px;margin-inline:auto}.daily-attendance-skeleton-row td:nth-child(5) span{margin-inline:auto}.daily-attendance-skeleton-periods{justify-content:center;align-items:center;gap:4px;display:flex}.daily-attendance-skeleton-periods span{border-radius:3px;width:7px;height:18px}.daily-attendance-skeleton-periods .daily-attendance-skeleton-count{width:24px;height:11px;margin-left:6px}.daily-attendance-skeleton-footer>span{width:150px;height:12px}@keyframes daily-attendance-loading{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.daily-attendance-skeleton-toolbar,.daily-attendance-skeleton-footer>span,.daily-attendance-skeleton-row,.daily-attendance-skeleton-heading-date{animation:none}}.page:has(>.attendance-wizard){flex-direction:column;flex:1;display:flex}.page:has(>.attendance-wizard)>.events-page-heading{flex-shrink:0}.page>.attendance-wizard{flex:1}.attendance-wizard{--register-ink:#1d3758;--register-mint:#d9efe5;border:1px solid var(--border);background:var(--surface);border-radius:18px;grid-template-columns:264px minmax(0,1fr);width:100%;max-width:none;min-height:660px;display:grid;overflow:hidden;box-shadow:0 8px 30px #1d375805}.attendance-wizard button{font-family:inherit}.attendance-skeleton-label{width:100px}.attendance-skeleton-date{width:24px;height:8px}.attendance-skeleton-number{width:22px;height:20px}.attendance-skeleton-avatar{border-radius:8px;flex:0 0 32px;width:32px;height:32px}.attendance-skeleton-button{border-radius:8px;width:180px;height:42px;margin-left:auto}.attendance-skeleton-steps{gap:12px;margin-top:24px;display:grid}@media (width<=700px){.attendance-skeleton-steps{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.attendance-wizard-rail>.attendance-skeleton-label{display:none}}.attendance-wizard button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.attendance-wizard button:disabled{cursor:not-allowed}.attendance-wizard-rail{border-right:1px solid var(--border);color:var(--text);background:#fff;flex-direction:column;padding:30px 24px 24px;display:flex}.attendance-wizard-brand{letter-spacing:.13em;color:var(--text-light);align-items:center;gap:10px;font-size:12px;font-weight:600;display:flex}.attendance-wizard-brand>span:first-child{border:1px solid var(--border);width:34px;height:34px;color:var(--register-ink);border-radius:10px;place-items:center;display:grid}.attendance-wizard-brand svg{width:20px;height:20px}.attendance-wizard-rail>h2{color:var(--register-ink);letter-spacing:-.7px;margin:28px 0 12px;font-size:25px;font-weight:600;line-height:1.35}.attendance-wizard-rail>p{color:var(--text-light);margin:0;font-size:12px;line-height:1.8}.attendance-wizard-rail nav{margin:30px -8px}.attendance-wizard-rail ol{margin:0;padding:0;list-style:none}.attendance-wizard-rail li{position:relative}.attendance-wizard-rail li:not(:last-child):after{content:"";background:var(--border);width:1px;position:absolute;top:48px;bottom:-4px;left:25px}.attendance-wizard-rail li button{width:100%;min-height:74px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:10px;display:flex}.attendance-wizard-rail li button:disabled{opacity:.65}.attendance-wizard-rail li button:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--border)}.attendance-wizard-rail li.is-current button{color:var(--register-ink)}.attendance-step-number{z-index:1;border:1px solid var(--border);width:32px;height:32px;color:var(--text-light);background:#fff;border-radius:50%;flex:0 0 32px;place-items:center;font-size:12px;font-weight:600;display:grid;position:relative}.is-current .attendance-step-number{background:var(--register-ink);border-color:var(--register-ink);color:#fff;box-shadow:0 0 0 4px #1d375808}.is-complete .attendance-step-number{color:#39744e;border-color:#cde2d6}.attendance-wizard-rail li strong{font-size:13px;font-weight:600;display:block}.attendance-wizard-rail li small{color:var(--text-light);overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.6;display:block}.attendance-wizard-session{border-top:1px solid var(--border);color:var(--text-light);align-items:center;gap:10px;margin-top:auto;padding-top:22px;font-size:12px;display:flex}.attendance-wizard-session strong{color:var(--register-ink);margin-top:3px;font-size:13px;font-weight:500;display:block}.attendance-session-semester{color:var(--text-light);margin-top:4px;font-size:12px;font-weight:400;display:block}.attendance-session-dot{background:#39744e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #39744e0a}.attendance-wizard-main{flex-direction:column;min-width:0;padding:30px 36px 0;display:flex}.attendance-wizard-topline{color:var(--text-light);justify-content:space-between;gap:12px;font-size:12px;display:flex}.attendance-wizard-topline>span:first-child{letter-spacing:.13em;font-weight:600}.attendance-wizard-progress{background:var(--bg);border-radius:2px;height:3px;margin:16px 0 32px;overflow:hidden}.attendance-wizard-progress>span{border-radius:inherit;background:var(--register-ink);height:100%;transition:width .2s;display:block}.attendance-wizard-stage{flex:1;min-width:0;padding-bottom:28px;animation:.18s ease-out attendance-step-in}.attendance-wizard-heading{margin-bottom:30px}.attendance-wizard-heading h2{color:var(--register-ink);letter-spacing:-.9px;margin:0;font-size:clamp(22px,2.1vw,29px);font-weight:600;line-height:1.3}.attendance-wizard-heading h2:focus{outline:none}.attendance-wizard-heading p{color:var(--text-light);margin:9px 0 0;font-size:13px;line-height:1.7}.attendance-step-label{color:var(--text);justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.attendance-step-label>span+span{color:var(--text-light);font-weight:400}.attendance-step-label>svg{width:18px;height:18px;color:var(--text-light)}.attendance-semester-choices{flex-wrap:wrap;gap:10px;margin-bottom:30px;display:flex}.attendance-semester{border:1px solid var(--border);min-width:100px;color:var(--text-light);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;align-items:flex-start;gap:5px;padding:13px 20px;transition:border-color .15s,background .15s;display:flex}.attendance-semester>span,.attendance-semester small{font-size:12px}.attendance-semester strong{color:var(--text);letter-spacing:-.7px;font-size:23px;font-weight:600;line-height:1.3}.attendance-semester.is-selected{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.attendance-semester.is-selected strong{color:var(--primary)}.attendance-date-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.attendance-day{border:1px solid var(--border);min-width:0;min-height:104px;color:var(--text-light);cursor:pointer;background:#fff;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 2px;transition:background .15s,border-color .15s,transform .15s;display:flex}.attendance-day>span,.attendance-day small{font-size:12px}.attendance-day strong{color:var(--text);letter-spacing:-.5px;font-size:23px;font-weight:600;line-height:1}.attendance-day:hover:not(:disabled),.attendance-semester:hover:not(:disabled){border-color:var(--primary)}.attendance-day.is-selected{background:var(--register-ink);border-color:var(--register-ink);color:#d5e4f2;transform:translateY(-3px);box-shadow:0 5px 10px #1d375812}.attendance-day.is-selected strong{color:#fff}.attendance-day:disabled{opacity:.4}.attendance-calendar-toggle{color:var(--primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-top:16px;padding:5px 0;font-size:12px;display:flex}.attendance-calendar-toggle svg{width:16px;height:16px}.attendance-calendar-toggle>span{margin-left:8px}.attendance-date-calendar{border:1px solid var(--border);border-radius:12px;max-width:340px;margin-top:12px;padding:12px}.attendance-calendar-heading{color:var(--text);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px;display:flex}.attendance-calendar-heading button{background:var(--bg);width:32px;height:32px;color:var(--primary);cursor:pointer;border:0;border-radius:6px;font-size:20px}.attendance-calendar-heading button:disabled{opacity:.35}.attendance-calendar-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.attendance-calendar-days>span{min-height:24px;color:var(--text-light);place-items:center;font-size:12px;display:grid}.attendance-calendar-days>button{min-height:34px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0;font-size:12px}.attendance-calendar-days>button:hover:not(:disabled){background:var(--primary-soft)}.attendance-calendar-days>button.is-selected{background:var(--primary);color:#fff}.attendance-calendar-days>button:disabled{opacity:.3}.attendance-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.attendance-course-choices{flex-wrap:wrap;gap:10px;display:flex}.attendance-course-choices .attendance-choice{flex:0 auto;min-width:180px;max-width:100%}.attendance-choice{border:1px solid var(--border);min-width:0;min-height:88px;color:var(--text);text-align:left;cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:12px;padding:16px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.attendance-choice:hover:not(:disabled){background:#fafcfd;border-color:#a4b6c6;box-shadow:0 3px 8px #1d375806}.attendance-choice.is-selected{border-color:var(--primary);background:#f2f7fa}.attendance-choice-icon{background:var(--bg);height:42px;color:var(--primary);overflow-wrap:anywhere;border-radius:10px;flex:0 0 42px;place-items:center;padding:4px;font-size:14px;font-weight:700;display:grid}.attendance-choice-icon svg{width:23px;height:23px}.is-selected .attendance-choice-icon{background:var(--primary);color:#fff}.attendance-choice-copy{flex:1;min-width:0}.attendance-choice-copy strong{overflow-wrap:anywhere;font-size:13px;font-weight:600;line-height:1.6;display:block}.attendance-choice-copy small{color:var(--text-light);overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.6;display:block}.attendance-choice-check{border:1px solid var(--border);background:var(--surface);width:20px;height:20px;color:var(--primary);border-radius:50%;flex:0 0 20px;justify-content:center;align-items:center;margin-left:auto;line-height:1;display:inline-flex}.attendance-choice-check>svg{stroke-width:2.5px;flex:none;width:12px;height:12px;display:block}.attendance-choice.is-selected .attendance-choice-check{background:var(--primary);border-color:var(--primary);color:#fff}.attendance-choice-reveal{margin-top:26px;animation:.18s ease-out attendance-step-in}.attendance-faculty-choices{scrollbar-width:thin;max-height:352px;margin:-4px;padding:4px;overflow-y:auto}.attendance-faculty-choices .attendance-choice-icon{color:#466956;background:#edf3ee;border-radius:50%}.attendance-faculty-choices .is-selected .attendance-choice-icon{background:var(--primary);color:#fff}.attendance-section-choices{flex-wrap:wrap;gap:8px;display:flex}.attendance-section-choices button{border:1px solid var(--border);min-height:38px;color:var(--text);cursor:pointer;background:#fff;border-radius:8px;padding:8px 16px;font-size:13px}.attendance-section-choices button.is-selected{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.attendance-discipline-choices{scrollbar-width:thin;flex-wrap:nowrap;gap:8px;margin:-6px;padding:6px;display:flex;overflow-x:auto}.attendance-discipline-choices button{border:1px solid var(--border);background:var(--surface);min-width:96px;min-height:52px;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:8px;flex:none;padding:14px 24px;font-size:14px;font-weight:600}.attendance-discipline-choices button:hover:not(:disabled){border-color:var(--primary)}.attendance-discipline-choices button.is-selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.attendance-discipline-loading>div{border:1px solid var(--border);border-radius:8px;flex:0 0 96px;place-items:center;min-height:52px;padding:14px 24px;display:grid}.attendance-period-choices{scrollbar-width:thin;grid-template-columns:repeat(7,minmax(104px,1fr));gap:8px;margin:-6px;padding:6px;display:grid;overflow-x:auto}.attendance-period{border:1px solid var(--border);background:var(--surface);min-height:84px;color:var(--text);cursor:pointer;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px 6px;display:flex}.attendance-period strong{font-size:22px;font-weight:600;line-height:1}.attendance-period span{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-light);font-size:12px}.attendance-period:hover:not(:disabled){border-color:var(--primary)}.attendance-period.is-selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.attendance-period.is-selected span{color:var(--primary)}.attendance-register-preview{background:#f3f9f5;border:1px solid #cde2d6;border-radius:12px;margin-top:28px;padding:20px}.attendance-faculty-papers{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:26px;padding:16px}.attendance-faculty-papers-heading{align-items:center;gap:10px;display:flex}.attendance-faculty-papers-heading>span{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:9px;place-items:center;display:grid}.attendance-faculty-papers-heading svg{width:20px;height:20px}.attendance-faculty-papers-heading strong{font-size:13px;font-weight:600}.attendance-faculty-papers-heading p,.attendance-faculty-papers-empty{color:var(--text-light);margin:4px 0 0;font-size:12px;line-height:1.7}.attendance-faculty-papers ul{border-top:1px solid var(--border);gap:10px;margin:14px 0 0;padding:14px 0 0;list-style:none;display:grid}.attendance-faculty-papers li{flex-wrap:wrap;align-items:baseline;gap:6px 10px;font-size:12px;display:flex}.attendance-faculty-papers li>span{background:var(--primary-soft);color:var(--primary);border-radius:5px;padding:3px 8px}.attendance-faculty-papers li>strong{color:var(--text);overflow-wrap:anywhere;font-weight:500}.attendance-setup-paper{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:7px;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:10px 12px;font-size:12px;display:flex}.attendance-setup-paper strong{font-weight:500}.attendance-setup-paper.is-selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.attendance-register-preview>p.attendance-preview-paper{color:var(--primary);font-weight:500}.attendance-preview-label{color:#39744e;letter-spacing:.09em;align-items:center;gap:7px;margin-bottom:14px;font-size:12px;font-weight:600;display:flex}.attendance-preview-label>span{place-items:center;display:grid}.attendance-register-preview>strong{color:var(--primary);letter-spacing:-.4px;overflow-wrap:anywhere;font-size:19px;font-weight:600;display:block}.attendance-register-preview>p{color:var(--text-light);margin:7px 0 18px;font-size:12px;line-height:1.7}.attendance-register-preview>div:last-child{color:var(--text);border-top:1px solid #dce9df;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:14px;font-size:12px;display:flex}.attendance-wizard-notice,.attendance-wizard-error{background:var(--bg);color:var(--text-light);border-radius:8px;margin:20px 0 0;padding:12px 14px;font-size:12px;line-height:1.8}.attendance-wizard-error{background:var(--danger-soft);color:var(--danger)}.attendance-wizard-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:88px;padding:18px 0;display:flex}.attendance-wizard-footnote{color:var(--text-light);align-items:center;gap:8px;font-size:12px;display:flex}.attendance-wizard-footnote svg{width:17px;height:17px}.attendance-wizard-back{color:var(--text-light);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:10px 0;font-size:13px;display:flex}.attendance-wizard-back:hover{color:var(--primary)}.attendance-wizard .attendance-wizard-next{border-radius:8px;justify-content:center;align-items:center;gap:18px;min-height:42px;margin-left:auto;padding:10px 18px;font-size:12px;display:flex}.attendance-wizard-next>span{font-size:16px}@keyframes attendance-step-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=1100px){.attendance-wizard{grid-template-columns:218px minmax(0,1fr)}.attendance-wizard-rail{padding:24px 18px}.attendance-wizard-main{padding:26px 24px 0}.attendance-choice-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.attendance-wizard{border-radius:14px;grid-template-columns:minmax(0,1fr);min-height:0}.attendance-wizard-rail{border-right:0;border-bottom:1px solid var(--border);padding:16px 20px}.attendance-wizard-brand,.attendance-wizard-rail>h2,.attendance-wizard-rail>p,.attendance-wizard-session,.attendance-wizard-rail li:after{display:none}.attendance-wizard-rail nav{margin:0}.attendance-wizard-rail ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.attendance-wizard-rail li button{flex-direction:column;justify-content:center;gap:6px;min-height:70px;padding:6px 0}.attendance-wizard-rail li small{display:none}.attendance-wizard-rail li strong{font-size:12px;font-weight:500}.attendance-wizard-main{padding:22px 20px 0}.attendance-wizard-progress{margin:12px 0 24px}.attendance-wizard-heading{margin-bottom:24px}.attendance-wizard-heading h2{font-size:24px}.attendance-wizard-heading p{font-size:12px}.attendance-wizard-stage{min-height:330px}.attendance-semester{min-width:80px;padding:10px 16px}.attendance-semester-choices{margin-bottom:24px}.attendance-date-strip{gap:5px}.attendance-day{border-radius:8px;gap:9px;min-height:92px}.attendance-day strong{font-size:20px}.attendance-wizard-footnote{max-width:130px;line-height:1.7}.attendance-wizard-footer{gap:10px}}@media (prefers-reduced-motion:reduce){.attendance-wizard-stage,.attendance-choice-reveal{animation:none}.attendance-wizard-progress>span,.attendance-wizard button{transition:none}}.attendance-wizard-compact{grid-template-columns:264px minmax(0,1fr);min-height:0}.attendance-wizard-compact .attendance-wizard-rail{padding:24px 20px}.attendance-wizard-compact .attendance-wizard-rail>h2{letter-spacing:0;margin:18px 0 0;font-size:16px;line-height:1.5}.attendance-wizard-compact .attendance-wizard-rail nav{margin:18px -8px 24px}.attendance-wizard-compact .attendance-wizard-main{padding:24px 24px 0}.attendance-wizard-compact .attendance-wizard-heading h2{letter-spacing:0;font-size:18px;line-height:1.4}.attendance-wizard-compact .attendance-wizard-stage{min-height:0;padding-bottom:20px}.attendance-wizard-compact .attendance-wizard-footer{min-height:66px;padding:12px 0}.attendance-wizard-compact .attendance-step-label{margin-bottom:8px}.attendance-wizard-compact .attendance-wizard-progress{margin-bottom:20px}.attendance-wizard-compact .attendance-wizard-heading,.attendance-wizard-compact .attendance-semester-choices{margin-bottom:16px}.attendance-wizard-compact .attendance-semester{border-radius:7px;gap:3px;min-width:64px;padding:6px 12px}.attendance-wizard-compact .attendance-semester strong{font-size:18px}.attendance-wizard-compact .attendance-date-strip{gap:6px}.attendance-wizard-compact .attendance-day{border-radius:7px;gap:3px;min-height:60px;padding:6px 2px}.attendance-wizard-compact .attendance-day strong{font-size:18px}.attendance-wizard-compact .attendance-choice{gap:10px;min-height:58px;padding:10px 12px}.attendance-wizard-compact .attendance-choice-icon{border-radius:8px;flex-basis:32px;height:32px;font-size:12px}.attendance-wizard-compact .attendance-choice-icon svg{width:20px;height:20px}.attendance-wizard-compact .attendance-period{gap:6px;min-height:64px;padding:10px 6px}.attendance-wizard-compact .attendance-period strong{font-size:18px}.attendance-wizard-compact .attendance-choice-reveal,.attendance-setup-section{margin-top:18px}.attendance-wizard-compact .attendance-faculty-papers{border:0;border-radius:0;margin-bottom:18px;padding:0}.attendance-wizard-compact .attendance-faculty-papers ul{border:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0}.attendance-wizard-compact .attendance-faculty-papers li{min-width:0}.attendance-setup-paper{overflow-wrap:anywhere;height:100%}@media (width<=600px){.attendance-wizard-compact .attendance-faculty-papers ul{grid-template-columns:minmax(0,1fr)}}.attendance-wizard-compact .attendance-register-preview{background:var(--bg);border-color:var(--border);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-top:18px;padding:12px;display:flex}.attendance-wizard-compact .attendance-preview-label{margin-bottom:8px}.attendance-wizard-compact .attendance-register-preview>strong{letter-spacing:0;font-size:13px}.attendance-wizard-compact .attendance-register-preview>p{margin:0}.attendance-wizard-compact .attendance-register-preview>div:last-child{margin-top:8px;padding-top:8px}@media (width<=700px){.attendance-wizard-compact{grid-template-columns:minmax(0,1fr)}.attendance-wizard-compact .attendance-wizard-rail{padding:10px 16px}.attendance-wizard-compact .attendance-wizard-rail nav{margin:0}.attendance-wizard-compact .attendance-wizard-rail li button{gap:4px;min-height:54px}.attendance-wizard-compact .attendance-wizard-main{padding:18px 16px 0}.attendance-wizard-compact .attendance-wizard-rail ol{grid-template-columns:repeat(2,minmax(0,1fr))}}.leave-management-layout{min-width:0}.leave-session-skeleton{width:172px;height:32px}.leave-management-layout .leave-toolbar-context{flex-shrink:0}.leave-toolbar-context{flex-wrap:wrap;align-items:center;gap:12px 20px;min-width:0;display:flex}.leave-toolbar-context .calendar-session-control>.calendar-control-label{display:none}.leave-term-navigation{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.leave-term-label{color:var(--text-light);font-size:12px}.leave-term-stepper{border:1px solid var(--border);border-radius:7px;align-items:center;min-width:0;max-width:100%;min-height:32px;display:flex}.leave-term-stepper button{color:var(--primary);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:0 0 30px;align-self:stretch;place-items:center;padding:6px;display:grid}.leave-term-stepper button:hover:not(:disabled){background:var(--primary-soft)}.leave-term-stepper button:disabled{color:var(--text-light);opacity:.4;cursor:default}.leave-term-stepper button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.leave-term-value{min-width:100px;color:var(--text);text-align:center;overflow-wrap:anywhere;padding:0 8px;font-size:12px;font-weight:600}.leave-management-layout>.users-list-error{margin-bottom:12px}.leave-management-layout .data-table{min-width:950px}.leave-management-layout .data-table th:nth-child(2){width:30%}.leave-management-layout .data-table th:nth-child(3),.leave-management-layout .data-table th:nth-child(4){width:120px}.leave-management-layout .data-table th:nth-child(5){width:64px}.leave-management-layout .leave-reason-text{white-space:normal;overflow-wrap:anywhere}.leave-management-layout .users-list-identity>div>span{white-space:normal}.leave-semester-navigation{align-items:center;gap:8px;min-width:0;display:flex}.leave-semester-navigation .directory-list-tool{flex-shrink:0}.leave-semester-navigation .directory-list-tool:disabled{opacity:.35;cursor:default}.leave-semester-label{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.leave-semester-label strong{font-size:13px;font-weight:600}.leave-semester-label span{color:var(--text-light);font-size:12px}.attendance-records-skeleton{overflow:hidden}.attendance-records-skeleton-heading{max-width:320px;padding:20px 16px}.attendance-records-skeleton .data-table{table-layout:fixed;width:100%;min-width:600px}.attendance-records-skeleton-row td{height:64px;padding:12px}.attendance-summary-skeleton{flex-direction:column;gap:16px;min-width:0;display:flex}.attendance-summary-skeleton .users-skeleton-text{min-width:0}.attendance-summary-control-skeleton{flex-shrink:0;width:240px;max-width:100%;height:36px}.attendance-summary-value-skeleton{width:90px;max-width:100%;height:32px}.attendance-summary-chart-skeleton{width:100%;height:250px;margin-top:12px}.attendance-summary-chart-skeleton.is-standing{border-radius:50%;align-self:center;width:min(250px,100%)}.paper-report-filters .attendance-paper-major-filter{margin-right:0}.attendance-paper-semester-filter{align-items:center;gap:10px;min-width:0;display:flex}.attendance-paper-semester-filter>span{color:var(--text-light);flex-shrink:0;font-size:12px;font-weight:600}.attendance-paper-semester-filter .attendance-semester-pills{flex-wrap:wrap;gap:6px;padding:0;overflow:visible}.attendance-paper-semester-filter .attendance-semester-pills button{border-radius:7px;min-width:38px;min-height:38px;padding:8px 12px;font-size:13px;font-weight:400}.attendance-marking-card{box-shadow:none;border-radius:16px;overflow:visible}.attendance-marking-card .attendance-class-context{background:var(--secondary-soft);border-bottom:1px solid var(--border);border-radius:16px 16px 0 0;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:24px;display:grid}.attendance-context-label{color:var(--text-light);font-size:12px;font-weight:600;line-height:1.5}.attendance-class-heading{min-width:0}.attendance-class-heading h2{color:var(--primary);overflow-wrap:anywhere;margin:5px 0 0;font-size:16px;font-weight:600;line-height:1.4}.attendance-class-context>.btn{background:var(--surface);align-self:start;min-height:36px}.attendance-heading-separator{color:var(--text-light);padding-inline:8px;font-weight:400}.attendance-heading-paper{font-weight:500}.attendance-class-details{border-top:1px solid var(--border);grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:16px 24px;margin:0;padding-top:18px;display:grid}.attendance-class-details>div{min-width:0}.attendance-class-details dt{color:var(--text-light);font-size:12px;line-height:1.5}.attendance-class-details dd{color:var(--text);overflow-wrap:anywhere;margin:5px 0 0;font-size:13px;font-weight:600}.attendance-marking-card .attendance-marking-roster-tools{justify-content:space-between;gap:12px 24px;padding:16px 24px}.attendance-marking-card .attendance-marking-roster-tools .mark-legend{color:var(--text-light);flex:360px;line-height:1.7}.attendance-register-key{color:var(--text-light);flex-wrap:wrap;gap:16px;font-size:12px;display:flex}.attendance-register-key>span{align-items:center;gap:6px;display:inline-flex}.attendance-key-dot{border-radius:50%;width:8px;height:8px}.attendance-key-dot.is-present{background:var(--success)}.attendance-key-dot.is-absent{background:var(--danger)}.attendance-key-dot.is-leave{background:var(--primary)}.attendance-marking-card>.table-viewport{padding:0 12px 12px;scroll-padding-bottom:100px}.attendance-marking-card .att-grid{table-layout:fixed}.attendance-marking-card .att-grid th:first-child{width:72px!important}.attendance-marking-card .att-grid th.attendance-college-id-column{width:160px}.attendance-marking-card .att-grid th.attendance-discipline-column{width:100px}.attendance-marking-card .att-grid .attendance-discipline-column{text-align:center}.attendance-marking-card .att-grid th.period-td{width:112px}.attendance-marking-card .att-grid tbody td{overflow-wrap:anywhere;height:56px}.attendance-marking-card .att-grid tbody td.attendance-college-id-column{color:var(--text-light);font-variant-numeric:tabular-nums}.attendance-marking-card .att-grid tbody tr:has(.period-cell:focus)>td{background:var(--primary-soft)}.attendance-marking-card .att-grid .period-cell:focus{outline:2px solid var(--primary);outline-offset:3px}.attendance-marking-card .att-grid .period-cell{width:44px;height:34px;color:var(--success);background:var(--success-soft);border-color:#0000}.attendance-marking-card .att-grid .period-cell.absent{color:#fff;background:var(--danger)}.attendance-marking-card .att-grid .period-cell.leave{color:var(--primary);background:var(--primary-soft)}.attendance-marking-card .att-grid .period-cell.holiday{color:var(--evt-holiday);background:var(--evt-holiday-soft)}.attendance-marking-card .att-grid .period-cell:disabled:not(.absent,.leave,.holiday){color:var(--text-light);background:var(--secondary-soft)}.attendance-marking-card .attendance-marking-footer{bottom:max(12px, env(safe-area-inset-bottom));z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:16px 24px;margin:0 12px 12px;padding:16px 20px;display:flex;position:sticky;box-shadow:0 4px 24px #1d375814}.attendance-footer-summary{gap:4px;min-width:0;font-size:13px;line-height:1.5;display:grid}.attendance-footer-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px 20px;display:flex}.attendance-footer-actions .save-indicator{white-space:nowrap;margin:0;font-size:12px}.attendance-footer-actions .btn{white-space:nowrap;min-height:40px;padding-inline:20px}@media (width<=860px){.attendance-class-details{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-marking-card .attendance-marking-footer{gap:14px}.attendance-footer-actions{gap:10px 14px}}@media (width<=600px){.attendance-marking-card .attendance-class-context{gap:16px 12px;padding:18px 16px}.attendance-class-heading h2{font-size:15px}.attendance-class-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:16px}.attendance-class-details>div:last-child{grid-column:1/-1}.attendance-marking-card .attendance-marking-roster-tools{padding:14px 16px}.attendance-marking-card>.table-viewport{padding-inline:4px}.attendance-marking-card .att-grid th:first-child{width:48px!important}.attendance-marking-card .att-grid th.attendance-college-id-column{width:120px}.attendance-marking-card .att-grid th.period-td{width:64px}.attendance-marking-card .att-grid th,.attendance-marking-card .att-grid td{padding-inline:8px}.attendance-marking-card .attendance-marking-footer{bottom:max(8px, env(safe-area-inset-bottom));margin:0 8px 8px;padding:14px}.attendance-footer-summary{width:100%;font-size:12px}.attendance-footer-actions{justify-content:space-between;width:100%}.attendance-footer-actions .btn{flex:1 0 auto}}@media print{.attendance-marking-card .attendance-marking-footer{box-shadow:none;position:static}}.period-cell.unmarked{background:var(--bg);border-color:var(--border);color:var(--text-light)}.attendance-key-dot.is-unmarked{background:var(--text-light)}.leave-selected-student{background:var(--secondary-soft);border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:8px 0 0;padding:20px;display:grid}.leave-selected-student>div{min-width:0}.leave-selected-student dt{color:var(--text-light);font-size:12px}.leave-selected-student dd{color:var(--text);overflow-wrap:anywhere;margin:4px 0 0;font-size:13px}.leave-student-card-name{border-bottom:1px solid var(--border);grid-column:1/-1;padding-bottom:14px}.leave-student-card-name dd{font-size:14px;font-weight:600}.leave-edit-student{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.leave-edit-student-name{grid-column:1/-1}.leave-edit-student-name dd{font-size:14px;font-weight:600}.leave-student-search{position:relative}.leave-student-search>.input{width:100%;padding-left:38px}.leave-student-search>svg{color:var(--text-light);pointer-events:none;position:absolute;top:12px;left:12px}.leave-student-results{z-index:20;background:var(--surface);position:absolute;left:0;right:0}.leave-student-results .searchable-select-options{overflow-y:auto}.leave-edit-form .leave-student-results{margin-top:8px;position:static}.leave-student-field{position:relative}.leave-student-entry{z-index:1;position:absolute;inset:0 0 auto}.leave-student-entry>label{margin-bottom:6px;font-size:12px;display:block}.leave-details-fields{display:contents}.leave-student-search .leave-student-result{text-align:left;justify-content:flex-start;align-items:center;gap:8px;width:100%;font-size:13px;display:flex}.leave-student-id{font-variant-numeric:tabular-nums;flex-shrink:0}.leave-student-divider{color:var(--text-light)}.leave-student-name{text-align:left;overflow-wrap:anywhere;min-width:0}.leave-change-student{grid-column:1/-1;justify-self:end}@media (width<=480px){.leave-selected-student{gap:16px;padding:16px}}.marks-entry-page{gap:18px;display:grid}.marks-entry-head{justify-content:space-between;align-items:start;gap:24px;margin-bottom:0;display:flex}.marks-draft-label{border:1px solid var(--secondary);color:var(--primary);background:var(--primary-soft);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:800}.marks-scope{border-top:3px solid var(--primary)}.marks-scope-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.marks-scope-grid .field{flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:700;display:flex}.marks-scope-grid .select{width:100%}.marks-term-note{border-left:3px solid var(--primary);background:var(--primary-soft);color:var(--text);margin:15px 0 0;padding:10px 12px;font-size:12px;line-height:1.5}.marks-placeholder{text-align:center;background:linear-gradient(150deg, #fff 60%, var(--secondary-soft));flex-direction:column;justify-content:center;align-items:center;min-height:195px;display:flex}.marks-placeholder-number{color:var(--primary);letter-spacing:.15em;margin-bottom:12px;font-size:12px;font-weight:800}.marks-placeholder strong{font-size:15px}.marks-placeholder p{color:var(--text-light);margin:6px 0 0;font-size:12px}.marks-roster{overflow:hidden}.marks-roster-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:end;gap:24px;padding:22px 24px 18px;display:flex}.marks-eyebrow{color:var(--primary);letter-spacing:.1em;font-size:12px;font-weight:800}.marks-roster-head h3{margin:5px 0 4px;font-size:20px}.marks-roster-head p{color:var(--text-light);margin:0;font-size:12px}.marks-status-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:10px 22px;display:flex}.marks-status-pills{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.marks-section-pill{white-space:nowrap;color:#677383;background:#eef2f6;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.marks-section-pill-returned{color:#8a5a00;background:#fff4dc}.marks-section-pill-submitted{color:#734394;background:#f4eaf8}.marks-section-pill-approved{color:#245a3b;background:#e7f5ec}.marks-status-hint{color:var(--text-light);font-size:12px}.marks-status-actions{flex-wrap:wrap;gap:8px;display:flex}.marks-rules{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.marks-rules li{border:1px solid var(--border);color:var(--text-light);border-radius:999px;padding:3px 9px;font-size:12px}.marks-rules strong{color:var(--text)}.marks-progress{text-align:right;min-width:130px}.marks-progress strong{font-size:22px;line-height:1;display:block}.marks-progress strong span{color:var(--text-light);font-size:14px;font-weight:500}.marks-progress small{color:var(--text-light);margin-top:5px;font-size:12px;display:block}.marks-roster-tools{justify-content:space-between;align-items:end;gap:20px;padding:14px 24px;display:flex}.marks-roster-tools .field{width:min(var(--search-input-width), 100%);min-width:0;font-size:12px;font-weight:700}.marks-roster-tools .input{width:100%;margin-top:6px}.marks-roster-tools>span{color:var(--text-light);white-space:nowrap;font-size:12px}.marks-table-wrap{border-top:1px solid var(--border);max-height:570px;overflow:auto}.marks-table{min-width:940px}.marks-table th{z-index:1;background:var(--secondary-soft);position:sticky;top:0}.marks-table td{vertical-align:middle}.marks-table td strong,.marks-table td small{display:block}.marks-table td small{color:var(--text-light);margin-top:3px;font-size:12px}.marks-identity{font-variant-numeric:tabular-nums;font-weight:700}.marks-input{text-align:right;font-variant-numeric:tabular-nums;width:112px}.marks-input-group{align-items:center;gap:7px;display:inline-flex}.marks-input-group>span{color:var(--text-light);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.marks-input[type=number]{appearance:textfield}.marks-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.marks-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.marks-input-error{border-color:#cf4242!important}.marks-input:disabled{color:var(--text-light);background:var(--secondary-soft);cursor:not-allowed}.marks-field-error{max-width:125px;color:#b73535!important}.marks-locked-value{font-variant-numeric:tabular-nums;flex-direction:column;min-width:60px;font-weight:700;display:inline-flex}.marks-locked-value .marks-locked-empty{color:#a3abb7;font-weight:500}.marks-table td .marks-locked-value small{white-space:nowrap;margin-top:2px;font-weight:500}.marks-total{font-variant-numeric:tabular-nums;font-weight:800}.marks-grade{color:#245a3b;background:#e7f5ec;border-radius:6px;justify-content:center;min-width:30px;padding:5px 7px;font-size:12px;font-weight:800;display:inline-flex}.marks-grade-fail{color:#a72e34;background:#fdecee}.marks-result{color:#245a3b;font-size:12px;font-weight:800}.marks-result-fail{color:#a72e34}.marks-result small{max-width:150px;font-weight:500;line-height:1.3;display:block;color:inherit!important}.marks-save-bar{border-top:1px solid var(--border);background:#fff;justify-content:flex-end;align-items:center;gap:16px;padding:14px 24px;display:flex;position:sticky;bottom:0}.marks-save-bar span{color:var(--text-light);margin-right:auto;font-size:12px;font-weight:700}.marks-message{color:#a22;padding:12px}.marks-regular-entry .marks-scope{border-top:0;padding:20px 22px}.marks-regular-entry .marks-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:14px}.marks-paper-picker{border-top:1px solid var(--border);flex-wrap:wrap;align-items:end;gap:14px;margin-top:14px;padding-top:14px;display:flex}.marks-paper-select{flex:2 400px;gap:5px;min-width:240px;font-size:12px;font-weight:700;display:grid}.marks-paper-select .select{width:100%}.marks-paper-context{flex:220px;gap:14px;min-width:180px;max-width:320px;display:flex}.marks-section-choice{flex:180px;gap:5px;min-width:0;font-size:12px;font-weight:700;display:grid}.marks-section-choice .select{width:100%}.marks-regular-entry .marks-scope-grid .field{font-size:12px}.marks-regular-entry .marks-scope-grid .select{min-width:0}.marks-regular-entry .marks-roster-head{padding:18px 22px 15px}.marks-regular-entry .marks-roster-head h3{font-size:19px}.marks-regular-entry .marks-roster-tools{padding:12px 22px}.marks-roster-actions{align-items:center;gap:16px;display:flex}.marks-roster-actions>span{color:var(--text-light);white-space:nowrap;font-size:12px}.marks-filter-row{gap:12px;padding:0 22px 12px;display:flex}.marks-filter-row .field{flex-direction:column;gap:4px;min-width:160px;font-size:12px;font-weight:700;display:flex}.marks-filter-row .select{width:100%}.marks-regular-entry .marks-table{min-width:940px}.marks-regular-entry .marks-table th{padding:10px 12px;font-size:12px}.marks-regular-entry .marks-table td{padding:8px 12px;font-size:12px}.marks-student-cell{min-width:190px}.marks-college-cell{font-variant-numeric:tabular-nums;min-width:120px}.marks-row-status-cell{width:220px;min-width:190px}.marks-row-status{flex-direction:column;align-items:flex-start;gap:6px;max-width:260px;display:flex}.marks-row-status>small{white-space:normal;overflow-wrap:anywhere;line-height:1.5;margin:0!important}.marks-row-status>small.marks-row-outcome{color:#245a3b}.marks-row-status>small.marks-row-status-alert{color:#a72e34}.marks-row-status-cell .link-btn{white-space:nowrap;margin:0;font-size:12px;display:block}.marks-status{white-space:nowrap;border-radius:5px;align-items:center;gap:6px;padding:3px 8px;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.marks-status:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.marks-status-pass{color:#245a3b;background:#e7f5ec}.marks-status-unsaved{color:var(--primary);background:var(--primary-soft)}.marks-status-not-saved{color:#677383;background:#eef2f6}.marks-status-fail{color:#a72e34;background:#fdecee}@media (width<=1250px){.marks-regular-entry .marks-scope-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.marks-scope-grid,.marks-regular-entry .marks-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marks-roster-tools{flex-wrap:wrap}}@media (width<=520px){.marks-scope-grid,.marks-regular-entry .marks-scope-grid{grid-template-columns:1fr}.marks-entry-head,.marks-roster-head{flex-direction:column;align-items:start}.marks-paper-context{flex-wrap:wrap}.marks-progress{text-align:left}.marks-save-bar{flex-wrap:wrap;padding:12px 16px}.marks-filter-row{flex-wrap:wrap}}.marks-regular-entry .marks-scope-grid-fixed-exam{grid-template-columns:minmax(0,1fr)}.marks-exception-form{gap:5px;min-width:170px;margin-top:6px;display:grid}.marks-exception-form .input{width:100%}.marks-bulk-entry{flex-direction:column;gap:0;min-width:0;display:flex}.marks-bulk-entry .marks-roster{box-shadow:none;border-radius:16px;min-width:0}.marks-bulk-toolbar{background:var(--primary);color:#fff;border-bottom:1px solid var(--primary);border-radius:15px 15px 0 0;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px;display:flex}.marks-bulk-paper{flex-direction:column;flex:240px;gap:4px;min-width:0;display:flex}.marks-bulk-paper strong{color:#fff;overflow-wrap:anywhere;font-size:14px;font-weight:600}.marks-bulk-paper>span{color:#fff;font-size:12px}.marks-bulk-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;max-width:100%;margin-left:auto;display:flex}.marks-bulk-tools .btn{border-radius:5px;min-height:32px;padding:6px 10px;font-size:12px}.marks-bulk-tools .btn-primary{color:var(--primary);background:#fff;border-color:#fff}.marks-bulk-tools .btn-primary:hover:not(:disabled){background:var(--primary-soft)}.marks-bulk-entry .marks-table-wrap{border-top:0;height:auto;max-height:none}.marks-bulk-entry .marks-table{width:100%;min-width:900px}.marks-bulk-entry .marks-table th{background:var(--surface);border-bottom:2px solid var(--border);padding:12px;font-size:12px}.marks-bulk-entry .marks-table td{height:64px;padding:9px 12px;font-size:13px}.marks-bulk-entry .marks-table tbody tr:last-child td{border-bottom:0}.marks-bulk-entry .marks-student-cell strong{font-size:13px;font-weight:600}.marks-bulk-entry .marks-input{text-align:left;width:100%;min-width:110px;max-width:180px;min-height:38px}.marks-bulk-entry .marks-input-group{border:1px solid var(--border);background:var(--surface);border-radius:6px;width:100%;max-width:210px;padding:0 9px}.marks-bulk-entry .marks-input-group:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #4ca8ce20}.marks-bulk-entry .marks-input-group .marks-input{min-width:0;box-shadow:none;background:0 0;border:0}.marks-bulk-entry .marks-input-group .marks-input:focus{outline:none}.marks-bulk-entry .marks-input-group:has(.marks-input.is-changed){border-color:var(--warning);background:var(--warning-soft)}.marks-bulk-entry .marks-filter-row{padding:0 16px 12px}.marks-bulk-footer{border-top:1px solid var(--border);color:var(--text-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:18px 16px;font-size:12px;display:flex}.marks-skeleton-field{gap:8px;display:grid}.marks-skeleton-label{width:90px}.marks-skeleton-control{width:100%;height:38px}.marks-roster-skeleton .marks-bulk-toolbar{min-height:82px}.marks-roster-skeleton .marks-bulk-toolbar .academic-skeleton{background-image:linear-gradient(100deg,#dce8f533 20%,#dce8f566 45%,#dce8f533 70%)}.marks-skeleton-title{width:300px;height:15px}.marks-skeleton-description{width:210px;margin-top:6px}.marks-skeleton-button{width:104px;height:32px}.marks-skeleton-summary{width:150px}.paper-marks-startup-skeleton{padding:24px 16px}@media (width<=600px){.marks-bulk-tools{flex:100%}}.data-table .pinned-col{z-index:2;box-shadow:inset 0 -1px 0 var(--border);background:#fff;position:sticky}.data-table th.pinned-col{z-index:4;background:var(--secondary-soft)}.data-table .pinned-col-edge{box-shadow:inset 0 -1px 0 var(--border), inset -1px 0 0 #c3ccd8, 8px 0 10px -6px #14181f4d}.data-table tbody tr:hover td.pinned-col{background:#f8f9fb}.pin-head-label{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.pin-head-label.centered-pin-heading{justify-content:center;width:100%;min-width:80px;display:flex;position:relative}.centered-pin-heading .pin-toggle{position:absolute;right:calc(50% + 20px)}.pin-toggle{color:#a3abb7;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;place-items:center;width:20px;height:20px;padding:0;transition:color .15s,background .15s,transform .15s;display:inline-grid;transform:rotate(45deg)}.pin-toggle:hover{color:var(--text);background:#ffffffb3}.pin-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.pin-toggle[aria-pressed=true]{color:var(--primary);background:#fff;border-color:#ddd0e8;transform:none}.marks-grid-page .marks-scope-grid-fixed-exam{grid-template-columns:repeat(2,minmax(0,1fr))}.marks-grid-status{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 22px;display:flex}.marks-grid-status-counts{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.marks-grid-status-label{color:var(--text-light);margin-right:4px;font-size:12px;font-weight:700}.marks-grid-pill{border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.marks-grid-pill-draft{color:#677383;background:#eef2f6}.marks-grid-pill-returned{color:#8a5a00;background:#fff4dc}.marks-grid-pill-submitted{color:#734394;background:#f4eaf8}.marks-grid-pill-approved{color:#245a3b;background:#e7f5ec}.marks-grid-pill-ready{color:#fff;background:var(--primary)}.marks-grid-collection-list{border-bottom:1px solid var(--border);color:var(--text-light);flex-wrap:wrap;gap:6px 14px;padding:10px 22px;font-size:12px;display:flex}.marks-grid-collection-list strong{color:var(--text)}.marks-grid-collection-list em{font-style:normal;font-weight:700}.marks-grid-status-text-approved{color:#245a3b}.marks-grid-status-text-submitted{color:#734394}.marks-grid-status-text-returned{color:#8a5a00}.marks-grid-status-actions{flex-shrink:0;align-items:center;gap:14px;display:flex}.marks-grid-tools{flex-wrap:wrap}.marks-grid-legend{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:14px;font-size:12px;display:flex}.marks-grid-legend>span{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.marks-grid-legend-count{border-left:1px solid var(--border);padding-left:14px}.marks-grid-swatch{border:1px solid var(--border);border-radius:3px;width:12px;height:12px;display:inline-block}.marks-grid-swatch-input{background:#eef4fb;border-color:#c9d8ea}.marks-grid-swatch-fail{background:#fdecee;border-color:#f2c1c6}.marks-grid-swatch-grey{background:#e8eaee}.marks-grid-wrap{max-height:min(70vh,640px)}.marks-grid-table{border-collapse:separate;border-spacing:0;min-width:1100px}.marks-grid-table thead th{white-space:nowrap;letter-spacing:.04em;font-size:12px}.marks-grid-table thead tr:nth-child(2) th{top:37px}.marks-grid-table .marks-grid-paper-head{text-align:center;color:var(--text);font-size:12px}.marks-grid-table .marks-grid-sub-head{text-align:center;color:var(--text-light);font-weight:600}.marks-regular-entry .marks-grid-table td{height:44px;padding:6px 10px}.marks-grid-table .marks-grid-group-start{border-left:1px solid #d9dfe7}.marks-grid-table .marks-grid-identity-head,.marks-grid-table td[class*=marks-grid-col-]{white-space:nowrap}.marks-grid-table .marks-grid-identity-head{vertical-align:middle}.marks-grid-table .marks-grid-col-roll{min-width:124px}.marks-grid-table .marks-grid-col-section{text-align:center;min-width:64px}.marks-grid-table .marks-grid-col-name{text-overflow:ellipsis;min-width:190px;max-width:190px;overflow:hidden}.marks-grid-table .marks-grid-col-registration{min-width:150px}.marks-grid-reg{color:var(--text-light);font-variant-numeric:tabular-nums}.marks-grid-cell{text-align:center;font-variant-numeric:tabular-nums;min-width:84px}.marks-grid-input.marks-input{text-align:center;background:#eef4fb;border-color:#c9d8ea;width:68px;height:30px;padding:4px 8px}.marks-grid-input.marks-input:focus{background:#fff}.marks-grid-error{color:#b73535;white-space:nowrap;text-overflow:ellipsis;max-width:84px;margin:3px auto 0;font-size:12px;display:block;overflow:hidden}.marks-grid-locked{flex-direction:column;align-items:center;line-height:1.2;display:inline-flex}.marks-grid-locked small{color:var(--text-light);white-space:nowrap;margin-top:2px;font-size:12px}.marks-grid-value{color:var(--text);font-weight:700}.marks-grid-muted{color:#a3abb7}.marks-grid-total{white-space:nowrap;font-weight:700}.marks-grid-total .marks-grade{margin-left:6px;padding:3px 6px;font-size:12px}.marks-grid-table td.marks-grid-unallocated{background:#e8eaee}.marks-grid-table td.marks-grid-fail{background:#fdecee}.marks-grid-table td.marks-grid-fail .marks-grid-value,.marks-grid-table td.marks-grid-fail.marks-grid-value,.marks-grid-table td.marks-grid-fail .marks-input{color:#a72e34}.academic-term-picker{min-width:0}.academic-term-picker-label{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.academic-term-picker-current{color:var(--success);font-size:12px;font-weight:600}.academic-term-picker.invalid .searchable-select-trigger{border-color:var(--danger);box-shadow:0 0 0 2px #d645451f}.results-preview-page{flex-direction:column;flex:1;gap:14px;min-width:0;display:flex}.results-preview-scope{padding:0}.results-preview-selects{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.results-preview-selects .field{flex-direction:column;gap:6px;min-width:0;font-size:12px;font-weight:600;display:flex}.results-preview-selects .select{width:100%}.results-preview-table{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.results-preview-table>.card{box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:1;display:flex}.results-preview-table .table-toolbar{border:0;padding:0;display:block}.results-preview-toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 16px 4px;display:flex}.results-preview-tabs{flex-wrap:wrap;gap:4px;display:flex}.results-preview-tabs button{background:var(--secondary-soft);min-height:32px;color:var(--text-light);cursor:pointer;border:0;border-radius:8px 8px 0 0;align-items:center;gap:7px;padding:6px 10px;font-size:12px;display:flex}.results-preview-tabs button.active{background:var(--surface);color:var(--primary);font-weight:700}.results-preview-tabs button span{background:var(--secondary);border-radius:10px;padding:2px 6px;font-size:12px}.results-preview-tabs button.active span{background:var(--primary);color:#fff}.results-preview-tools{flex:1;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.results-preview-tools .btn{white-space:nowrap;min-height:32px}.results-preview-summary{color:var(--text-light);margin:0;padding:8px 16px 12px;font-size:12px}.results-preview-summary strong{color:var(--text)}.results-preview-table .table-wrap{flex:1;padding:0 16px}.results-preview-table .data-table{min-width:1100px}.results-preview-table .data-table th{border-bottom:2px solid var(--border);background:var(--surface);color:var(--text-light);letter-spacing:.045em;padding:20px 12px;font-size:12px;font-weight:600}.results-preview-table .data-table td{vertical-align:middle;height:64px;padding:9px 12px;font-size:13px}.results-preview-table .data-table tbody tr:last-child td{border-bottom:0}.results-preview-table .table-footer{border-top:1px solid var(--border);padding:18px 16px}.results-preview-table .row-menu-btn{border-radius:50%}.results-preview-identity{align-items:center;gap:13px;display:flex}.results-preview-avatar{background:var(--primary-soft);height:44px;color:var(--primary);border-radius:50%;flex:0 0 44px;place-items:center;font-weight:700;display:grid}.results-preview-identity strong,.results-preview-identity small,.results-preview-table .res-score strong,.results-preview-table .res-score .res-total{display:block}.results-preview-identity small,.results-preview-table .res-total{color:var(--text-light);font-size:12px}@media (width<=600px){.results-preview-tools{flex-basis:100%}.results-preview-table .table-wrap{padding-inline:8px}}.results-preview-result{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.results-preview-result small{color:var(--text-light);font-size:12px}.results-preview-note{color:var(--primary);background:var(--primary-soft);border-left:3px solid var(--primary);margin:0 0 16px;padding:10px 12px;font-size:12px;font-weight:700}.results-preview-details{margin-bottom:18px}.results-preview-papers{min-width:650px}.results-preview-papers td{vertical-align:top}.results-preview-papers td:first-child strong,.results-preview-papers td:first-child small{display:block}.results-preview-papers td:first-child small{color:var(--text-light);margin-top:3px}@media (width<=760px){.results-preview-selects{grid-template-columns:1fr}.results-preview-scope-title span{display:none}}@media print{body:has(.results-preview-page .modal-overlay) *{visibility:hidden!important}.results-preview-page .modal-overlay,.results-preview-page .modal-overlay *{visibility:visible!important}.results-preview-page .modal-overlay{background:#fff;padding:0;display:block;position:absolute;inset:0;overflow:visible}.results-preview-page .modal{width:100%;max-width:none;max-height:none;box-shadow:none;border:0;margin:0}.results-preview-page .modal-body,.results-preview-page .table-wrap{max-height:none;overflow:visible}.results-preview-page .modal-close,.results-preview-page .modal-foot{display:none}}.exam-eligibility-page{gap:18px;display:grid}.exam-eligibility-head{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.exam-eligibility-actions{flex-wrap:wrap;gap:8px;display:flex}.exam-eligibility-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.exam-eligibility-summary>div{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:2px;padding:16px 18px;display:grid}.exam-eligibility-summary strong{color:var(--primary);font-size:27px;line-height:1.2}.exam-eligibility-summary span,.exam-eligibility-note{color:#667085;font-size:13px}.exam-eligibility-note{margin:0}.exam-eligibility-register{overflow:hidden}.exam-eligibility-filters{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:end;gap:12px;padding:18px;display:flex}.exam-eligibility-filters .field{flex:1;min-width:180px}.exam-eligibility-filters .field:first-child{flex:1.6}.exam-eligibility-count{color:#667085;white-space:nowrap;padding:0 4px 10px;font-size:13px}.exam-eligibility-table th,.exam-eligibility-table td{vertical-align:top}.exam-eligibility-table td{min-width:130px}.exam-eligibility-table td:first-child{min-width:170px}.exam-eligibility-table td>strong,.exam-eligibility-table td>small{display:block}.exam-eligibility-table td>small{color:#667085;margin-top:4px;line-height:1.35}.exam-eligibility-table td .link-btn{white-space:nowrap;margin-top:6px;display:block}.exam-eligibility-table details{color:#475467;margin-top:7px;font-size:12px}.exam-eligibility-table details>div{padding:3px 0}.exam-eligibility-exception{gap:6px;min-width:185px;margin-top:8px;display:grid}.exam-eligibility-exception>div{gap:6px;display:flex}@media (width<=900px){.exam-eligibility-head{flex-direction:column}.exam-eligibility-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.exam-eligibility-actions,.exam-eligibility-filters,.exam-eligibility-table .link-btn,.exam-eligibility-exception,.exam-eligibility-table details{display:none!important}.exam-eligibility-page{gap:10px}}.performance-analytics-page{font-variant-numeric:tabular-nums;flex-direction:column;gap:18px;min-width:0;display:flex}.performance-analytics-page .card-pad{padding:20px}.performance-analytics-page .pa-scope{grid-template-columns:1.3fr 1fr .65fr 1.4fr;align-items:end;gap:16px;display:grid}.performance-analytics-page .field{min-width:0;margin:0}.performance-analytics-page .field label{color:var(--text-light);font-size:12px}.performance-analytics-page .select{width:100%;min-width:0}.pa-report-toolbar,.pa-section-head,.pa-paper-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.pa-report-toolbar>div{gap:8px;display:flex}.pa-readiness{border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--primary-soft);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.pa-readiness-pending{background:var(--warning-soft);border-left-color:var(--warning)}.pa-readiness strong{color:var(--primary);font-size:14px}.pa-readiness p{margin:4px 0;font-size:12px}.pa-readiness small{color:var(--text-light);font-size:12px}.pa-readiness .btn{flex-shrink:0}.pa-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.pa-metric{flex-direction:column;gap:4px;display:flex}.pa-metric>span{color:var(--text-light);font-size:12px;font-weight:600}.pa-metric>strong{color:var(--primary);font-size:30px;font-weight:800;line-height:1.35}.pa-metric>small{color:var(--text-light);font-size:12px}.performance-analytics-page h2.card-title{font-size:14px;font-weight:700}.performance-analytics-page p.card-sub{margin:4px 0 0}.pa-section-head{margin-bottom:12px}.pa-priority-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center;gap:18px;padding:12px 0;display:grid}.pa-priority-row strong{overflow-wrap:anywhere;font-size:12px;display:block}.pa-priority-row small{color:var(--text-light);margin-top:3px;font-size:12px;display:block}.pa-priority-row>span{color:var(--text-light);font-size:12px}.pa-chart-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;display:grid}.pa-chart-grid>section{min-width:0}.pa-legend{color:var(--text-light);flex-wrap:wrap;gap:14px;margin:16px 0 10px;font-size:12px;display:flex}.pa-legend>span{align-items:center;gap:5px;display:inline-flex}.pa-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.pa-passed{background:var(--primary)}.pa-failed{background:var(--danger)}.pa-ineligible{background:var(--warning)}.pa-pending{background:var(--secondary)}.pa-paper-list{max-height:340px;padding-right:6px;overflow-y:auto}.pa-paper-row{border-bottom:1px solid var(--border);padding:12px 0}.pa-paper-row:last-child{border-bottom:0}.pa-paper-heading{align-items:flex-start;font-size:12px}.pa-paper-heading strong{min-width:0;color:var(--primary)}.pa-paper-heading strong span{color:var(--text);margin-top:2px;font-weight:400;display:block}.pa-paper-heading button{white-space:nowrap;font-size:12px}.pa-stack{background:var(--secondary-soft);border-radius:3px;width:100%;height:10px;margin:8px 0 5px;display:flex;overflow:hidden}.pa-stack>span{height:100%}.pa-paper-row p{margin:0;font-size:12px}.pa-paper-row>small{color:var(--text-light);font-size:12px}.pa-grade-chart{height:245px;margin-top:16px}.pa-grade-counts{border-top:1px solid var(--border);grid-template-columns:repeat(7,1fr);gap:4px;margin:0;padding:12px 0;display:grid}.pa-grade-counts>div{text-align:center}.pa-grade-counts dt{color:var(--text-light);font-size:12px}.pa-grade-counts dd{color:var(--primary);margin:4px 0 0;font-size:14px;font-weight:700}.pa-programme-table{min-width:740px;margin-top:12px}.pa-cell-note{color:var(--text-light);margin-top:3px;font-size:12px;display:block}.pa-followup{min-width:0;scroll-margin-top:calc(var(--app-header-height) + 16px)}.pa-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.pa-tabs button{align-items:center;gap:8px;display:inline-flex}.pa-tabs button>span{opacity:.8;font-size:12px}.pa-search{width:min(var(--search-input-width), 100%);min-width:0;margin-bottom:12px;display:block}.pa-search input{width:100%}.pa-local-filter{background:var(--primary-soft);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:10px 14px;font-size:12px;display:flex}.pa-followup .data-table{min-width:720px}.pa-identity{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.pa-identity>button{text-align:left;font-weight:600}.pa-identity small{color:var(--text-light);font-size:12px}.pa-note,.pa-empty-note{color:var(--text-light);margin:10px 0 0;font-size:12px;line-height:1.7}.pa-message{justify-content:space-between;align-items:center;gap:12px;display:flex}.pa-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pa-detail{color:var(--text)}.pa-detail>p{font-size:12px}.pa-detail table{min-width:650px}@media (width<=1100px){.performance-analytics-page .pa-scope,.pa-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-chart-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.performance-analytics-page{gap:14px}.performance-analytics-page .card-pad{padding:16px}.performance-analytics-page .pa-scope{grid-template-columns:minmax(0,1fr);gap:12px}.pa-readiness{flex-direction:column;align-items:flex-start;padding:14px 16px}.pa-summary{gap:10px}.pa-metric>strong{font-size:26px}.pa-priority-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.pa-priority-row>div{grid-column:1/-1}.pa-report-toolbar{flex-wrap:wrap}.pa-section-head,.pa-local-filter{align-items:flex-start}.pa-grade-chart{height:200px}.pa-message{flex-direction:column;align-items:flex-start}}.student-promotion{min-width:0}.page-heading-shell:has(>.student-promotion){flex-direction:column;flex:1;display:flex}.page-heading-shell:has(>.student-promotion)>.events-page-heading{margin-bottom:4px}.student-promotion-description{color:var(--text-light);margin:0 0 20px;font-size:13px}.student-promotion .users-list-error{margin-bottom:12px}.student-promotion-filters .identifier-major-control .project-select{width:180px}.student-promotion-filters .identifier-semester-control .project-select{width:120px}.student-promotion-directory.users-list-table .data-table{min-width:680px}.student-promotion-directory.users-list-table .data-table th:nth-child(2){width:22%}.student-promotion-directory.users-list-table .data-table th:nth-child(3){width:auto}.student-promotion-directory.users-list-table .data-table th:nth-child(4),.student-promotion-directory.users-list-table .data-table th:last-child{width:130px}@media (width<=600px){.student-promotion-filters{width:100%}.student-promotion-filters .identifier-major-control{justify-content:space-between;width:100%}.student-promotion-filters .identifier-major-control .project-select{width:180px;max-width:65%}}.student-promotion-page{gap:18px;display:grid}.student-promotion-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.student-promotion-summary>div{background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:2px;padding:16px 18px;display:grid}.student-promotion-summary strong{color:var(--primary);font-size:27px;line-height:1.2}.student-promotion-summary span{color:#667085;font-size:13px}.student-promotion-register{overflow:hidden}.student-promotion-register td{vertical-align:top}.student-promotion-register td small{color:#667085;margin-top:4px;display:block}.student-promotion-register td details{min-width:145px;font-size:12px}.student-promotion-register td details div{padding:3px 0}@media (width<=850px){.student-promotion-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-promotion-page{min-width:0}.promotion-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.promotion-header>div:first-child{min-width:0}.promotion-header h2{font-size:22px;line-height:1.25}.promotion-header p{color:var(--text-light);margin:7px 0 0;font-size:13px;line-height:1.5}.promotion-term{color:var(--text);margin-top:3px;display:block}.promotion-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding-top:21px;display:flex}.promotion-badge{white-space:nowrap;border-radius:999px;align-items:center;width:fit-content;max-width:100%;padding:4px 9px;font-size:12px;font-weight:700;line-height:1.35;display:inline-flex}.promotion-badge.regular{background:var(--success-soft);color:#207045}.promotion-badge.conditional{background:var(--warning-soft);color:#855b0b}.promotion-badge.ineligible{background:var(--danger-soft);color:#a72f2f}.promotion-badge.pending{background:var(--accent-soft);color:#276184}.promotion-badge.neutral{background:var(--secondary-soft);color:var(--text-light)}.student-promotion-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.student-promotion-summary>div{border-color:var(--border)}.student-promotion-summary strong{font-variant-numeric:tabular-nums}.promotion-rule-note{background:var(--primary-soft);border:1px solid var(--secondary);border-radius:9px;align-items:flex-start;gap:11px;padding:12px 15px;font-size:12px;display:flex}.promotion-rule-note>span{color:var(--primary);font-size:15px;line-height:1.2}.promotion-rule-note p{flex:1;margin:0}.promotion-rule-note .link-btn{flex:none;font-size:12px}.promotion-workspace{min-width:0;display:grid}.promotion-workspace.has-detail{grid-template-columns:minmax(0,1fr) minmax(320px,360px);align-items:start;gap:16px}.promotion-main{align-content:start;gap:14px;min-width:0;display:grid}.promotion-filters{grid-template-columns:repeat(5,minmax(115px,1fr)) minmax(190px,1.5fr);align-items:end;gap:12px;padding:16px 18px;display:grid}.promotion-filters label{min-width:0;color:var(--text-light);gap:5px;font-size:12px;font-weight:700;display:grid}.promotion-filters .select,.promotion-filters .input{width:100%;min-width:0}.student-promotion-register{min-width:0}.promotion-table-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:18px;display:flex}.promotion-table-head h3{font-size:16px}.promotion-table-head h3 small{color:var(--text-light);margin-left:6px;font-size:12px;font-weight:500}.promotion-table-head p{color:var(--text-light);margin:4px 0 0;font-size:12px}.promotion-table-head>div:last-child{flex-wrap:wrap;gap:8px;display:flex}.promotion-table{table-layout:fixed;min-width:900px}.promotion-table th,.promotion-table td{padding:11px 12px}.promotion-table th:first-child,.promotion-table td:first-child{width:44px;padding-left:18px;padding-right:4px}.promotion-table th:nth-child(2){width:150px}.promotion-table th:nth-child(3){width:185px}.promotion-table th:nth-child(4){width:100px}.promotion-table th:nth-child(5){width:120px}.promotion-table th:nth-child(6){width:130px}.promotion-table th:nth-child(7){width:110px}.promotion-table th:nth-child(8){width:80px}.promotion-table.data-table th,.promotion-table.data-table td{white-space:normal;overflow-wrap:anywhere}.promotion-table td{vertical-align:top;line-height:1.4}.promotion-table td small{font-size:12px;line-height:1.35}.promotion-table .promotion-number{font-variant-numeric:tabular-nums}.promotion-active-row{background:var(--primary-soft)}.promotion-student-name{color:var(--primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700}.promotion-student-name:hover{color:var(--info);text-decoration:none}.promotion-table-footer{border-top:1px solid var(--border);color:var(--text-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:12px;display:flex}.promotion-table-footer>div{align-items:center;gap:10px;display:flex}.promotion-detail{min-width:0;overflow:hidden}.promotion-detail-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.promotion-detail-head h3{font-size:15px}.promotion-close{width:28px;height:28px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;font-size:22px;line-height:1;display:grid}.promotion-close:hover{background:var(--secondary-soft);color:var(--primary)}.promotion-detail-message{margin:18px}.promotion-person{align-items:center;gap:10px;padding:18px;display:flex}.promotion-avatar{background:var(--primary-soft);width:38px;height:38px;color:var(--primary);border-radius:50%;flex:0 0 38px;place-items:center;font-size:12px;font-weight:800;display:grid}.promotion-person strong,.promotion-person small{display:block}.promotion-person small{color:var(--text-light);overflow-wrap:anywhere;font-size:12px}.promotion-detail-tabs{border-bottom:1px solid var(--border);gap:2px;padding:0 14px;display:flex}.promotion-detail-tabs button{color:var(--text-light);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 7px;font-size:12px;font-weight:700}.promotion-detail-tabs button.active{border-bottom-color:var(--primary);color:var(--primary)}.promotion-detail-content{gap:14px;padding:18px;font-size:12px;display:grid}.promotion-decision-callout{background:var(--secondary-soft);border-radius:8px;align-items:flex-start;gap:9px;padding:11px;display:flex}.promotion-decision-callout.regular{background:var(--success-soft)}.promotion-decision-callout.conditional{background:var(--warning-soft)}.promotion-decision-callout.ineligible{background:var(--danger-soft)}.promotion-decision-icon{background:#fff;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-weight:800;display:grid}.promotion-decision-callout strong,.promotion-decision-callout small{display:block}.promotion-decision-callout small{margin-top:3px;line-height:1.4}.promotion-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin:0;display:grid}.promotion-detail-facts dt{color:var(--text-light);font-size:12px}.promotion-detail-facts dd{overflow-wrap:anywhere;margin:2px 0 0;font-weight:700}.promotion-detail-section-head{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:8px;padding-top:5px;display:flex}.promotion-detail-section-head h4{font-size:12px}.promotion-detail-section-head small{color:var(--text-light)}.promotion-mini-table{overflow-x:auto}.promotion-mini-table table{border-collapse:collapse;width:100%}.promotion-mini-table th,.promotion-mini-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:7px 5px}.promotion-mini-table th{color:var(--text-light);font-size:12px}.promotion-mini-table td span{color:var(--text-light);font-size:12px;display:block}.promotion-detail-empty,.promotion-backlog-note{color:var(--text-light);margin:0;line-height:1.5}.promotion-detail-more{width:fit-content;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.promotion-detail-more:hover{color:var(--info);text-decoration:none}.promotion-history{border-top:1px solid var(--border);gap:4px;padding-top:10px;display:grid}.promotion-history small{color:var(--text-light)}.promotion-paper-list{gap:9px;display:grid}.promotion-paper-list>div{border:1px solid var(--border);border-radius:8px;padding:11px}.promotion-paper-title{justify-content:space-between;gap:8px;display:flex}.promotion-paper-list p{color:var(--text-light);margin:3px 0 10px}.promotion-paper-list dl{grid-template-columns:repeat(4,1fr);gap:5px;margin:0;display:grid}.promotion-paper-list dt{color:var(--text-light);font-size:12px}.promotion-paper-list dd{margin:0;font-weight:700}.promotion-modal-backdrop{z-index:1000;background:#142b477a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.promotion-modal{background:var(--surface);border-radius:12px;width:min(100%,560px);max-height:min(90vh,800px);padding:24px;overflow-y:auto;box-shadow:0 20px 70px #142b4738}.promotion-modal h3{font-size:18px}.promotion-modal>p{color:var(--text-light);margin:8px 0 16px}.promotion-modal ul{padding-left:20px;line-height:1.8}.promotion-review-page{gap:20px}.promotion-review-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.promotion-review-header h2{margin-top:8px;font-size:28px;line-height:1.2}.promotion-review-header p{color:var(--text-light);margin:8px 0 0;font-size:13px}.promotion-review-header p strong{color:var(--text)}.promotion-review-readiness{border-radius:10px;padding:12px 16px;font-size:13px;font-weight:700}.promotion-review-readiness.ready{background:var(--success-soft);color:#207045}.promotion-review-readiness.partial{background:var(--warning-soft);color:#855b0b}.promotion-review-layout{grid-template-columns:minmax(0,1fr) minmax(300px,340px);align-items:start;gap:16px;min-width:0;display:grid}.promotion-review-roster{min-width:0;overflow:hidden}.promotion-review-roster-head{justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;display:flex}.promotion-review-roster-head h3{font-size:17px}.promotion-review-roster-head p{color:var(--text-light);margin:5px 0 0;font-size:12px;line-height:1.4}.promotion-review-metrics{flex:none;gap:20px;margin:0;display:flex}.promotion-review-metrics div{flex-direction:column;min-width:62px;display:flex}.promotion-review-metrics dt{color:var(--text-light);font-size:12px;line-height:1.3}.promotion-review-metrics dd{color:var(--primary);font-variant-numeric:tabular-nums;order:-1;margin:0 0 2px;font-size:22px;font-weight:800}.promotion-review-roster-scroll{overflow-x:auto}.promotion-review-student-table{border-collapse:collapse;text-align:left;width:100%;min-width:700px}.promotion-review-student-table th,.promotion-review-student-table td{border-top:1px solid var(--border);vertical-align:middle;padding:13px 16px}.promotion-review-student-table thead{background:var(--secondary-soft)}.promotion-review-student-table thead th{color:var(--text-light);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:800}.promotion-review-student-table td{color:var(--text-light);font-size:12px;line-height:1.35}.promotion-review-student-table td strong{color:var(--text);font-size:12px;display:block}.promotion-review-student-table td small{color:var(--text-light);margin-top:3px;font-size:12px;display:block}.promotion-review-student-table thead th:first-child,.promotion-review-student-table tbody td:first-child{width:25%;padding-left:24px}.promotion-review-student-table th:nth-child(2){width:19%}.promotion-review-student-table th:nth-child(3){width:12%}.promotion-review-student-table th:nth-child(4){width:22%}.promotion-review-section-row th{color:var(--primary);background:#f8fafc;padding:10px 24px;font-size:12px}.promotion-review-section-row span{color:var(--text-light);margin-left:9px;font-weight:500}.promotion-review-section-badge{background:var(--success-soft);color:#207045;border-radius:50%;place-items:center;min-width:28px;height:28px;font-weight:800;display:inline-grid}.promotion-review-papers{flex-wrap:wrap;gap:4px;display:flex}.promotion-review-papers span{background:var(--secondary-soft);color:var(--primary);white-space:nowrap;border-radius:5px;padding:3px 6px;font-size:12px}.promotion-review-choice-pending,.promotion-review-choice-complete{border-radius:6px;max-width:145px;padding:5px 8px;font-size:12px;font-weight:700;line-height:1.3;display:inline-block}.promotion-review-choice-pending{background:var(--warning-soft);color:#855b0b}.promotion-review-choice-complete{background:var(--success-soft);color:#207045}.promotion-review-confirm{gap:12px;padding:22px;display:grid}.promotion-review-confirm h3{font-size:17px}.promotion-review-confirm ol{border-bottom:1px solid var(--border);gap:16px;margin:4px 0 0;padding:0 0 18px;list-style:none;display:grid}.promotion-review-confirm li{align-items:flex-start;gap:12px;display:flex}.promotion-review-confirm li span{background:var(--secondary-soft);width:24px;height:24px;color:var(--primary);border-radius:50%;flex:0 0 24px;place-items:center;font-size:12px;font-weight:800;display:grid}.promotion-review-confirm li p,.promotion-review-confirm>p{color:var(--text-light);margin:0;font-size:12px;line-height:1.5}.promotion-review-confirm .promotion-review-choice-note{margin:2px 0 8px}.promotion-review-choice-note strong{color:#855b0b}.promotion-review-confirm .btn{text-align:center;justify-content:center;width:100%}.promotion-review-confirm .promotion-review-server-note{margin-top:5px;font-size:12px}.promotion-review-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow-x:auto}.promotion-review-table{min-width:950px}.promotion-review-table th,.promotion-review-table td{text-align:left;vertical-align:top}.promotion-review-table td{line-height:1.5}.promotion-review-table td strong{color:var(--text)}.promotion-confirm-section{gap:12px;padding:20px;display:grid}.promotion-confirm-section h3{font-size:16px}.promotion-confirm-section p{color:var(--text-light);margin:0;font-size:13px;line-height:1.55}.promotion-confirm-exceptions{gap:8px;margin:0;padding:0;list-style:none;display:grid}.promotion-confirm-exceptions li{background:var(--danger-soft);border-radius:8px;flex-wrap:wrap;gap:5px 12px;padding:10px 12px;font-size:12px;display:flex}.promotion-confirm-exceptions span{color:var(--text-light)}@media (width<=1550px){.promotion-workspace.has-detail{grid-template-columns:minmax(0,1fr)}}@media (width<=1300px){.promotion-review-layout{grid-template-columns:minmax(0,1fr)}.student-promotion-summary,.promotion-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.promotion-search{grid-column:span 2}}@media (width<=800px){.promotion-review-roster-head{flex-wrap:wrap}.promotion-header{flex-direction:column}.promotion-header-actions{justify-content:flex-start;padding-top:0}.student-promotion-summary,.promotion-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.promotion-search{grid-column:span 2}}@media (width<=540px){.promotion-filters{grid-template-columns:minmax(0,1fr)}.promotion-search{grid-column:auto}.promotion-rule-note{flex-wrap:wrap}.promotion-rule-note .link-btn{margin-left:25px}}.curriculum-exams{flex-direction:column;gap:16px;min-width:0;display:flex}.curriculum-exam-selector{align-items:center;gap:8px;width:min(300px,60vw);min-width:0;max-width:100%;display:flex}.curriculum-exam-selector .field{flex:1;min-width:0;max-width:560px;font-size:12px}.curriculum-exam-selector .row-menu-btn{flex-shrink:0}.curriculum-exam-selector .curriculum-exam-skeleton-select{flex:1;height:38px}.curriculum-exam-semester-tabs .curriculum-exam-skeleton-tab{border-radius:999px;flex-shrink:0;width:94px;height:32px}.curriculum-exam-table .curriculum-exam-skeleton-group{width:220px}.curriculum-exams .page-head{gap:16px;margin:0}.curriculum-exams .page-head h2{display:none}.curriculum-exams .page-head p,.curriculum-exam-note{color:var(--text-light);font-size:12px}.curriculum-exam-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.curriculum-exam-table{box-shadow:none;border-radius:16px;overflow:hidden}.curriculum-exam-semester-tabs{flex:0 auto;align-items:center;gap:8px;min-width:0;padding:2px;display:flex;overflow-x:auto}.curriculum-exam-semester-tabs button{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text-light);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:600}.curriculum-exam-semester-tabs button:hover{background:var(--primary-soft);color:var(--primary)}.curriculum-exam-semester-tabs button[aria-selected=true]{border-color:var(--primary);background:var(--primary);color:#fff}.curriculum-exam-semester-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.curriculum-exam-table .data-table{width:100%;min-width:800px}.curriculum-exam-table .data-table th,.curriculum-exam-table .data-table td{padding:12px 16px;font-size:12px}.curriculum-exam-table .data-table thead th{background:var(--surface);border-bottom:2px solid var(--border);white-space:nowrap}.curriculum-exam-table .data-table .curriculum-exam-group th{background:var(--secondary-soft);color:var(--primary);text-align:left;font-size:13px}.curriculum-exam-table .btn{white-space:nowrap;font-size:12px}.curriculum-exam-table .data-table td .btn{font-weight:400}.curriculum-exam-name{text-align:left;font-weight:600}.curriculum-exam-delete{color:var(--danger)}.curriculum-exam-toolbar{align-items:center;gap:12px;min-width:0;padding:12px 16px;display:flex}.curriculum-exam-toolbar .field{flex:1;min-width:160px;font-size:12px}.curriculum-exam-toolbar .curriculum-exam-search{margin-left:auto}.curriculum-exam-table .curriculum-exam-empty-group{color:var(--text-light);padding:16px}.curriculum-exam-note{margin:0;padding:0 16px 12px;line-height:1.6}.curriculum-exam-footer{border-top:1px solid var(--border);color:var(--text-light);padding:12px 16px;font-size:12px}.curriculum-exams .marks-scope[hidden]{display:none}.curriculum-exam-error{color:var(--danger);margin:0;font-size:12px}@media (width<=600px){.curriculum-exams .page-head{flex-direction:column;align-items:flex-start}.curriculum-exam-toolbar .field{min-width:100%}.curriculum-exam-toolbar{gap:8px;padding-inline:12px}}.teacher-list-page{flex-direction:column;flex:1;min-width:0;display:flex}.teacher-directory .data-table{min-width:950px}.teacher-directory .data-table th:first-child{width:52px}.teacher-directory .data-table th:nth-child(2){width:25%}.teacher-directory .data-table th:nth-child(3){width:160px}.teacher-directory .data-table th:nth-child(4){width:115px}.teacher-directory .users-list-table .data-table th:nth-child(5){width:280px}.teacher-directory .users-list-table .data-table th:nth-child(6){white-space:normal;width:95px}.teacher-directory .data-table th:last-child{width:60px}.teacher-directory .faculty-department-cell{white-space:normal;overflow-wrap:anywhere;min-width:0}.teacher-directory .faculty-name-link{text-align:left;font-family:inherit;font-size:14px;font-weight:600}.teacher-directory .faculty-contact{min-width:0}.teacher-directory .faculty-contact a{white-space:normal;overflow-wrap:anywhere}.faculty-profile-form{min-width:0}.teacher-directory .users-list-sort .table-sort-icon{width:14px;height:14px}.faculty-edit-skeleton-label{width:100px;max-width:65%;height:12px}.faculty-edit-skeleton-input{border-radius:7px;width:100%;height:38px}.faculty-edit-skeleton-options{padding-top:8px}.faculty-edit-skeleton-option{width:100px;height:32px}.faculty-edit-skeleton-button{width:112px;height:32px}.faculty-allocation-page{min-width:0;font-family:var(--font-ui);flex-direction:column;gap:20px;display:flex}.faculty-allocation-page .card{box-shadow:none;border-radius:16px;margin-bottom:0}.faculty-allocation-page .field{gap:8px;min-width:0}.faculty-allocation-page .field label,.faculty-allocation-page .calendar-control-label{color:#406879;margin-bottom:0;font-size:12px;font-weight:400}.faculty-allocation-page .input,.faculty-allocation-page .select{border-color:#d8e2e7;border-radius:7px;width:100%;min-width:0;min-height:38px;padding:8px 12px;font-size:13px}.faculty-allocation-page .input:focus,.faculty-allocation-page .select:focus{border-color:#3b8e84;box-shadow:0 0 0 3px #165b5010}.faculty-allocation-page .data-table th{border-bottom:2px solid var(--border);background:var(--surface);color:var(--text-light);letter-spacing:.045em;padding:16px 12px;font-size:12px;font-weight:600}.faculty-allocation-page .data-table td{height:64px;padding:9px 12px;font-size:13px}@media (width<=600px){.faculty-allocation-page{gap:16px}}.faculty-allocation-directory{min-width:0}.faculty-allocation-placeholder{background:linear-gradient(100deg, var(--secondary-soft) 20%, var(--border) 45%, var(--secondary-soft) 70%);background-size:220% 100%;border-radius:5px;width:85%;height:12px;animation:1.5s ease-in-out infinite faculty-allocation-shimmer;display:block}.faculty-allocation-skeleton-text{flex-direction:column;gap:9px;width:100%;min-width:0;display:flex}.faculty-allocation-placeholder.is-short{width:60%;height:10px}.faculty-allocation-placeholder.is-square{flex-shrink:0;width:24px;height:24px}.faculty-allocation-placeholder.is-checkbox{width:18px;height:18px}.faculty-allocation-placeholder.is-button{flex-shrink:0;width:132px;height:32px}.faculty-allocation-placeholder.is-tab{width:60px;height:28px}.faculty-allocation-placeholder.is-tool{border-radius:7px;flex-shrink:0;width:32px;height:32px}.faculty-allocation-placeholder.is-count{vertical-align:middle;width:42px;height:18px;padding:0;display:inline-block}.faculty-allocation-placeholder.is-number{width:16px;height:12px;margin-inline:auto}.faculty-allocation-placeholder.is-action{border-radius:50%;width:32px;height:32px;margin-left:auto}.faculty-allocation-skeleton .faculty-allocation-card-title{flex:1;justify-content:center;align-items:center;max-width:140px;min-height:42px}.faculty-allocation-skeleton .faculty-allocation-detail-heading>.faculty-allocation-skeleton-text{justify-content:center;width:min(240px,50%);min-height:44.5px}.faculty-allocation-skeleton .faculty-allocation-list-heading{min-height:48px}.faculty-allocation-skeleton .faculty-allocation-person{cursor:default;min-height:64px}.faculty-allocation-skeleton .faculty-allocation-person-details strong{align-items:center;height:16px;display:flex}.faculty-allocation-skeleton .faculty-allocation-person-meta{align-items:center}.faculty-allocation-skeleton .faculty-allocation-person-meta>small{align-items:center;height:18px;display:flex}.faculty-allocation-skeleton .faculty-allocation-person-meta>small:first-child{flex:1}.faculty-allocation-skeleton-tab{border-bottom:2px solid #0000;align-items:center;padding:12px 0;display:flex}.faculty-allocation-skeleton-tab .is-tab{width:36px;height:18px}.faculty-allocation-skeleton .faculty-allocation-person:hover{background:0 0}@keyframes faculty-allocation-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.faculty-allocation-placeholder{animation:none}}.faculty-allocation-directory .table-toolbar{padding:12px 16px 4px}.faculty-allocation-toolbar{justify-content:flex-end;align-items:center;gap:8px;width:100%;min-width:0;display:flex}.faculty-allocation-toolbar .input.directory-list-search{border:0;border-bottom:1px solid var(--primary);min-height:32px;box-shadow:none;background:0 0;border-radius:0;padding:6px 34px 6px 8px}.faculty-allocation-directory .data-table{table-layout:fixed;min-width:660px}.faculty-allocation-directory .data-table th:first-child{width:56px}.faculty-allocation-directory .data-table th:nth-child(2){width:90px}.faculty-allocation-directory .data-table th:nth-child(3){width:32%}.faculty-allocation-directory .data-table th:nth-last-child(-n+2){width:92px}.faculty-allocation-identity,.faculty-editor-identity{align-items:center;gap:12px;min-width:0;display:flex}.faculty-allocation-avatar{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);border-radius:50%;flex:0 0 42px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.faculty-allocation-identity>span:last-child{min-width:0}.faculty-allocation-identity strong,.faculty-editor-identity strong{overflow-wrap:anywhere;font-size:13px;font-weight:600;display:block}.faculty-allocation-identity small,.faculty-editor-identity small,.faculty-subject-chip small,.faculty-current-subject small,.faculty-subject-option small{color:var(--text-light);overflow-wrap:anywhere;margin-top:3px;font-size:12px;line-height:1.6;display:block}.faculty-subject-list{flex-wrap:wrap;gap:8px;padding:3px 0;display:flex}.faculty-allocation-semester-nav{align-items:center;gap:8px;min-width:0;margin-right:auto;display:flex}.faculty-allocation-semester-nav .directory-list-tool{flex-shrink:0}.faculty-allocation-semester-nav .directory-list-tool:disabled{opacity:.35;cursor:default}.faculty-allocation-card-title{text-align:center;min-width:0}.faculty-allocation-card-title h2{color:var(--primary);margin:0;font-size:14px;font-weight:600}.faculty-allocation-card-title>span{color:var(--text-light);font-size:12px}.faculty-subject-chip{border:1px solid var(--border);background:var(--secondary-soft);border-radius:7px;max-width:100%;padding:7px 10px}.faculty-subject-chip strong{overflow-wrap:anywhere;font-size:12px;font-weight:500}.faculty-no-subjects{color:var(--text-light);font-size:12px}.faculty-editor-identity strong{font-size:15px}.faculty-assignment-fields{border:0;min-width:0;margin:0;padding:0}.faculty-assignment-fields legend{color:var(--primary);margin:0;padding:0;font-size:13px;font-weight:600}.faculty-subject-option{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:12px 0;display:flex}.faculty-subject-option input{flex:none}.faculty-subject-option>span:nth-child(2){flex:1;min-width:0}.faculty-subject-option strong{overflow-wrap:anywhere;font-size:13px;font-weight:500}.faculty-subject-option.is-assigned{cursor:default}.faculty-allocation-error{color:var(--danger);background:var(--danger-soft);border-radius:7px;margin:0;padding:12px;font-size:12px}.faculty-allocation-page .project-select.select{background:0 0;border:0;padding:0}.faculty-allocation-page .project-select .searchable-select-trigger{min-height:38px;padding:8px 12px;font-size:13px}.faculty-allocation-workspace{flex-direction:column;height:max(520px,100dvh - 165px);display:flex;overflow:hidden}.faculty-allocation-workspace-heading{border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:minmax(240px,28%) minmax(0,1fr);display:grid}.faculty-allocation-workspace-heading>.faculty-allocation-semester-nav{border-right:1px solid var(--border);justify-content:space-between;align-self:stretch;margin:0;padding:12px 16px}.faculty-allocation-panels{flex:1;grid-template-columns:minmax(240px,28%) minmax(0,1fr);min-height:0;display:grid}.faculty-allocation-sidebar{border-right:1px solid var(--border);flex-direction:column;min-width:0;min-height:0;display:flex}.faculty-allocation-list-heading{justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.faculty-allocation-list-heading h2{margin:0;font-size:13px;font-weight:600}.faculty-allocation-list-heading h2 span,.faculty-allocation-subject-count span{color:var(--primary);background:var(--primary-soft);border-radius:12px;margin-left:6px;padding:2px 7px;font-size:12px}.faculty-allocation-list-tools{align-items:center;gap:6px;margin-left:auto;display:flex}.faculty-allocation-sidebar>.faculty-allocation-list-search.is-open{width:var(--search-input-width);flex:none;max-width:calc(100% - 32px);margin:4px 16px 12px}.faculty-allocation-roster{overscroll-behavior:contain;flex:1;min-height:0;padding:0 8px 8px;overflow-y:auto}.faculty-allocation-roster ul{margin:0;padding:0;list-style:none}.faculty-allocation-person{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:12px 8px;font-family:inherit;display:flex}.faculty-allocation-person:hover{background:var(--secondary-soft)}.faculty-allocation-person[aria-pressed=true]{border-color:var(--secondary);background:var(--primary-soft)}.faculty-allocation-person-details{flex:1;min-width:0}.faculty-allocation-person-details strong{overflow-wrap:anywhere;font-size:13px;font-weight:600;display:block}.faculty-allocation-person-details small{color:var(--text-light);overflow-wrap:anywhere;margin-top:3px;font-size:12px;display:block}.faculty-allocation-person-meta{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.faculty-allocation-person-meta>small:first-child{min-width:0}.faculty-allocation-person-count{white-space:nowrap;flex-shrink:0}.faculty-allocation-subjects{flex-direction:column;min-width:0;min-height:0;display:flex}.faculty-allocation-detail-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 20px;display:flex}.faculty-allocation-detail-heading>div{min-width:0}.faculty-allocation-detail-heading h2{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:600}.faculty-allocation-detail-heading p{color:var(--text-light);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px}.faculty-allocation-subjects>.card{border:0;border-radius:0;flex-direction:column;flex:1;min-height:0;display:flex}.faculty-allocation-subjects .table-toolbar{flex-shrink:0;align-items:center;min-height:48px;padding:8px 20px;display:flex}.faculty-allocation-subject-count{margin:0;font-size:12px;font-weight:600}.faculty-allocation-subjects .table-toolbar:has(.faculty-allocation-semester-tabs){padding-block:0}.faculty-allocation-table-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;width:100%;display:flex}.faculty-allocation-table-tools .faculty-allocation-semester-tabs{min-height:48px}.faculty-allocation-bulk-actions{flex-wrap:wrap;align-items:center;gap:10px;min-height:48px;padding-block:6px;display:flex}.faculty-allocation-bulk-actions>span{color:var(--text-light);font-size:12px}.faculty-allocation-bulk-actions .link-btn{font-size:12px}.faculty-allocation-subjects .data-table tr.faculty-allocation-selected{background:#effbf8}.faculty-allocation-semester-tabs{align-self:stretch;gap:20px;display:flex}.faculty-allocation-semester-tabs button{color:var(--text-light);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:6px;padding:12px 0;font-size:12px;font-weight:600;display:inline-flex}.faculty-allocation-semester-tabs button:hover{color:var(--primary)}.faculty-allocation-semester-tabs button[aria-pressed=true]{color:var(--primary);border-bottom-color:var(--primary)}.faculty-allocation-subject-name{white-space:normal;overflow-wrap:anywhere;font-weight:500;line-height:1.6;display:block}.faculty-allocation-subjects .data-table{min-width:760px}.faculty-allocation-subjects .data-table th.allocation-col-code{width:80px}.faculty-allocation-subjects .data-table th.allocation-col-subject{width:32%}.faculty-allocation-subjects .data-table th.allocation-col-major{width:auto}.faculty-allocation-subjects .data-table th.allocation-col-semester,.faculty-allocation-subjects .data-table th.allocation-col-section{width:64px}.faculty-allocation-subjects .data-table th.allocation-col-actions{width:80px}.faculty-allocation-subjects .table-viewport.table-viewport{overscroll-behavior:contain;flex:1;min-height:0;max-height:100%;overflow:auto}.faculty-allocation-subjects .data-table thead{z-index:2;background:var(--surface);position:sticky;top:0}.faculty-allocation-subjects .data-table td{overflow-wrap:anywhere}.faculty-allocation-subjects .table-footer{flex-wrap:wrap;flex-shrink:0;gap:8px;padding:12px 16px}.faculty-allocation-subjects>.faculty-allocation-back{display:none}@media (width<=600px){.faculty-allocation-workspace-heading{grid-template-columns:minmax(0,1fr)}.faculty-allocation-workspace-heading>.faculty-allocation-semester-nav{border-right:0;justify-content:center;gap:16px}.faculty-allocation-workspace:not(.is-showing-subjects) .faculty-allocation-detail-heading{display:none}.faculty-allocation-workspace.is-showing-subjects .faculty-allocation-detail-heading{border-top:1px solid var(--border)}.faculty-allocation-panels{grid-template-columns:minmax(0,1fr)}.faculty-allocation-sidebar{border-right:0}.faculty-allocation-workspace:not(.is-showing-subjects) .faculty-allocation-subjects,.faculty-allocation-workspace.is-showing-subjects .faculty-allocation-sidebar{display:none}.faculty-allocation-subjects>.faculty-allocation-back{align-self:flex-start;gap:4px;margin:12px 12px 0;display:inline-flex}.faculty-allocation-detail-heading{padding:16px 12px 12px}.faculty-allocation-subjects .table-toolbar{padding-inline:12px}}@media print{.faculty-allocation-workspace{height:auto;overflow:visible}.faculty-allocation-panels{display:block}.faculty-allocation-sidebar,.faculty-allocation-back{display:none}.faculty-allocation-subjects .table-viewport.table-viewport{min-height:0;max-height:none;overflow:visible}}:is(html:has(.faculty-assignment-card),body:has(.faculty-assignment-card)){scrollbar-width:none}html:has(.faculty-assignment-card)::-webkit-scrollbar{display:none}body:has(.faculty-assignment-card)::-webkit-scrollbar{display:none}.faculty-allocation-page>.faculty-assignment-card{width:100%;min-width:0;min-height:0;height:var(--assignment-height,calc(100dvh - 136px));border-radius:12px;flex-direction:column;flex:none;gap:0;padding:0;display:flex;overflow:hidden}.faculty-assignment-context{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:12px 16px;display:flex}.faculty-assignment-context .faculty-editor-identity{flex:1}.faculty-assignment-context .faculty-allocation-avatar{border:1px solid var(--border);border-radius:13px;flex-basis:48px;width:48px;height:48px}.faculty-assignment-context .faculty-allocation-avatar svg{flex-shrink:0;width:24px;height:24px}.faculty-assignment-context .faculty-editor-identity strong{font-size:13px}.faculty-assignment-term{flex-shrink:0;width:260px}.faculty-assignment-note{color:var(--text-light);margin:0;padding:16px;font-size:12px}.faculty-subject-transfer-workspace{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr));min-height:0;display:grid;overflow:hidden}.faculty-subject-panel{flex-direction:column;min-width:0;min-height:0;display:flex}.faculty-subject-panel+.faculty-subject-panel{border-left:1px solid var(--border)}.faculty-subject-panel-heading{background:var(--secondary);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;min-height:52px;padding:10px 16px;display:flex}.faculty-subject-panel-heading h3{color:var(--primary);margin:0;font-size:13px;font-weight:600}.faculty-subject-panel-heading>span{color:var(--text-light);margin-left:auto;font-size:12px}.faculty-subject-panel-heading .link-btn{font-size:12px}.faculty-assignment-search-row{border-bottom:1px solid var(--border);flex-shrink:0;align-items:flex-end;gap:12px;padding:12px 16px;display:flex}.faculty-assignment-search-row>.field{flex-direction:row;flex-shrink:0;align-items:center;gap:8px;margin-left:auto}.faculty-assignment-search-row>.field>.project-select{width:130px}.faculty-subject-panel>.faculty-subject-panel-table.table-viewport{overscroll-behavior:contain;flex:1;min-height:0;max-height:100%;overflow:auto}.faculty-subject-panel .data-table{table-layout:fixed;width:100%;min-width:440px}.faculty-subject-panel .data-table th{z-index:1;background:var(--surface);padding:10px 12px;font-size:12px;position:sticky;top:0}.faculty-subject-panel .data-table td{white-space:normal;overflow-wrap:anywhere;height:58px;padding:8px 12px;font-size:12px}.faculty-subject-panel .data-table :is(th,td):nth-last-child(2){width:52px}.faculty-subject-panel .data-table th{width:auto}.faculty-subject-panel .data-table :is(th,td).faculty-subject-transfer-control{text-align:center;width:88px}.faculty-subject-panel .data-table td strong{font-size:13px;font-weight:600;display:block}.faculty-subject-panel .data-table td small{color:var(--text-light);margin-top:3px;font-size:12px;display:block}.faculty-subject-transfer-button{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--primary);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.faculty-subject-transfer-button:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary)}.faculty-subject-transfer-button:disabled{opacity:.5;cursor:not-allowed}.faculty-subject-panel .faculty-selected-paper-table{min-width:600px}.faculty-subject-panel .faculty-selected-paper-table :is(th,td):nth-last-child(2){width:52px}.faculty-subject-panel .faculty-selected-paper-table :is(th,td).faculty-paper-section-col{width:145px}.faculty-paper-section-col .project-select{width:100%;min-width:0}.faculty-assignment-actions{border-top:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.faculty-assignment-actions>span{color:var(--text-light);font-size:12px}.faculty-assignment-actions>div{gap:10px;margin-left:auto;display:flex}.faculty-assignment-actions .btn{border-radius:5px;min-height:32px;padding:6px 14px;font-size:12px}.faculty-assignment-card>.faculty-allocation-error{border-radius:0}@media (width<=860px){.faculty-subject-transfer-workspace{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1fr)}.faculty-subject-panel+.faculty-subject-panel{border-left:0;border-top:1px solid var(--border)}}@media (width<=600px){.faculty-assignment-context{flex-direction:column;align-items:stretch;gap:12px;padding:12px}.faculty-assignment-term{width:100%}.faculty-assignment-search-row{flex-wrap:wrap;padding:12px}.faculty-subject-panel-heading{padding-inline:12px}}@media print{.faculty-allocation-page>.faculty-assignment-card{height:auto;overflow:visible}.faculty-subject-transfer-workspace{display:block;overflow:visible}.faculty-subject-panel>.faculty-subject-panel-table.table-viewport{height:auto;max-height:none;overflow:visible}}.page-heading-shell:has(>.faculty-details-page){flex-direction:column;flex:1;display:flex}.faculty-details-page{flex-direction:column;flex:1;min-width:0;display:flex}.faculty-details-page .faculty-details-card{box-shadow:none;border-radius:16px;flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.faculty-details-page .faculty-details-head{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:24px;margin:0;padding:30px 32px}.faculty-details-page .faculty-details-identity{flex-wrap:nowrap;gap:20px;min-width:0}.faculty-details-page .faculty-details-avatar{background:var(--primary-soft);border:4px solid var(--surface);outline:1px solid var(--border);border-radius:50%;width:76px;height:76px;font-size:24px;font-weight:600}.faculty-details-page .faculty-details-copy{min-width:0}.faculty-details-page .faculty-profile-eyebrow{color:var(--text-light);letter-spacing:.09em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:600}.faculty-details-page .faculty-details-copy h2{color:var(--primary);font-family:var(--font-ui);letter-spacing:-.5px;overflow-wrap:anywhere;margin:0;font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1.35}.faculty-details-page .faculty-details-copy p:last-child{overflow-wrap:anywhere;margin-top:7px;font-size:13px}.faculty-profile-status{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.faculty-profile-status>span:last-child{color:var(--text-light);font-size:12px}.faculty-details-page .faculty-details-tabs{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:nowrap;gap:26px;margin:0;padding:0 32px;display:flex}.faculty-details-page .faculty-details-tabs .tab{color:var(--text-light);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;margin:0;padding:17px 0;font-size:13px;font-weight:500;position:relative}.faculty-details-page .faculty-details-tabs .tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:700}.faculty-details-page .faculty-details-tabs .tab:hover{color:var(--primary)}.faculty-profile-panel{min-width:0;padding:28px 32px 32px}.faculty-profile-panel:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.faculty-profile-section-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.faculty-profile-section-head h3{margin:0;font-size:16px;font-weight:600}.faculty-profile-section-head p{color:var(--text-light);margin:5px 0 0;font-size:12px}.faculty-profile-section-head .btn{flex-shrink:0}.faculty-profile-sections{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;display:grid}.faculty-profile-section{min-width:0}.faculty-profile-section+.faculty-profile-section{border-left:1px solid var(--border);padding-left:32px}.faculty-profile-section h4{color:var(--primary);align-items:center;gap:9px;margin:0 0 22px;font-size:13px;font-weight:600;display:flex}.faculty-profile-section h4 svg{color:var(--text-light)}.faculty-profile-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0;display:grid}.faculty-profile-fields dt{color:var(--text-light);margin-bottom:7px;font-size:12px;font-weight:400}.faculty-profile-fields dd{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:500}.faculty-profile-contact{grid-template-columns:minmax(0,1fr)}.faculty-profile-contact a{max-width:100%;color:var(--primary);align-items:center;gap:9px;text-decoration:none;display:inline-flex}.faculty-profile-contact a svg{color:var(--text-light);flex-shrink:0}.faculty-profile-contact a:hover span{text-decoration:underline}@media (width<=1100px){.faculty-profile-sections{gap:24px}.faculty-profile-section+.faculty-profile-section{padding-left:24px}}@media (width<=600px){.faculty-details-page .faculty-details-head{align-items:flex-start;gap:18px;padding:24px 20px}.faculty-details-page .faculty-details-identity{gap:14px}.faculty-details-page .faculty-details-avatar{width:56px;height:56px;font-size:18px}.faculty-profile-status{flex-direction:row;align-items:center;gap:12px}.faculty-details-page .faculty-details-tabs{gap:24px;padding:0 20px}.faculty-profile-panel{padding:24px 20px}.faculty-profile-section-head{flex-wrap:wrap;align-items:flex-start;gap:14px}.faculty-profile-sections{grid-template-columns:minmax(0,1fr);gap:26px}.faculty-profile-section+.faculty-profile-section{border-left:0;border-top:1px solid var(--border);padding:24px 0 0}}.faculty-account-form{flex-direction:column;gap:24px;display:flex}.faculty-account-form .users-create-card{width:100%;box-shadow:none;border:0;border-radius:0;padding:0}.faculty-account-form .users-create-role-picker{margin:0}.faculty-account-form .users-create-fields{padding:0}.faculty-account-permissions{margin-top:28px}.faculty-account-permissions>fieldset>.users-create-permissions{border-top:0;margin-top:0;padding-top:0}.faculty-profile-skeleton .faculty-profile-placeholder{border-radius:4px;max-width:100%;height:13px;display:block}.faculty-profile-skeleton .faculty-details-copy{width:min(330px,48vw)}.faculty-profile-skeleton .is-eyebrow{width:118px;height:12px;margin-bottom:9px}.faculty-profile-skeleton .is-name{width:260px;height:28px;margin-bottom:9px}.faculty-profile-skeleton .is-subtitle{width:230px;height:12px;margin-top:7px}.faculty-profile-skeleton .is-badge{border-radius:20px;width:60px;height:24px}.faculty-profile-skeleton .is-short{width:64px;height:12px}.faculty-profile-skeleton-tab{padding:21px 0}.faculty-profile-skeleton .is-tab{width:66px}.faculty-profile-skeleton .is-heading{width:138px;height:16px}.faculty-profile-skeleton .is-button{width:108px;height:32px}.faculty-profile-skeleton-heading{margin-bottom:22px}.faculty-profile-skeleton .is-label{width:88px;height:12px;margin-bottom:9px}.faculty-profile-skeleton .is-value{width:145px;height:15px}.page-heading-shell:has(>.faculty-account-page){flex-direction:column;flex:1;display:flex}.faculty-account-page .faculty-account-card{flex-direction:column;display:flex}.faculty-account-card .faculty-account-form{flex:1}.faculty-account-card .users-create-page{flex:0}.faculty-account-page .users-create-mobile-field{grid-column:auto}:is(.users-list-search,.directory-list-search)::-webkit-search-cancel-button{appearance:none}:is(.users-list-search,.directory-list-search)::-webkit-search-decoration{appearance:none}@media (prefers-reduced-motion:reduce){:is(.users-filter-drawer,.directory-filter-drawer)[open],:is(.users-list-search-control,.directory-list-search-control) :is(.users-list-search,.directory-list-search){animation:none}}@media (width<=600px){.directory-status-pills button{gap:5px;padding-inline:10px}}@media (prefers-reduced-motion:reduce){.directory-status-pills button{transition:none}}.page.mentorship-page-shell{max-width:none;padding:8px 16px var(--page-bottom-gap);flex-direction:column;flex:1;display:flex}.mentorship-directory{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.mentorship-list-table{border:1px solid var(--border);background:var(--surface);border-radius:16px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.mentorship-list-table>.card{box-shadow:none;border:0;border-radius:0;flex-direction:column;flex:1;display:flex}.mentorship-list-table .table-toolbar{border-bottom:0;padding:0}.mentorship-list-toolbar{flex-wrap:wrap;align-items:center;gap:12px;width:100%;padding:12px 16px 4px;display:flex}.mentorship-list-pills{border:1px solid var(--border);background:var(--secondary-soft);border-radius:9px;gap:3px;max-width:100%;padding:3px;display:inline-flex}.mentorship-list-pills button{min-height:32px;color:var(--text-light);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.mentorship-list-pills button:hover{color:var(--primary)}.mentorship-list-pills button.active{border-color:var(--border);background:var(--surface);color:var(--primary);box-shadow:0 1px 3px #1d37580a}.mentorship-list-pills button>span,.mentorship-list-summary>span{background:var(--primary);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:12px;min-width:24px;padding:2px 7px;font-size:12px;line-height:1.3}.mentorship-list-summary{color:var(--primary);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.mentorship-list-tools{flex:1;justify-content:flex-end;min-width:32px;margin-left:auto;display:flex}.mentorship-list-sort{color:inherit;font:inherit;text-transform:uppercase;letter-spacing:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.mentorship-list-sort:hover{color:var(--primary)}.mentorship-list-sort .table-sort-icon{width:14px;height:14px;margin-left:0}.mentorship-list-bulk-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-left:auto;display:flex}.mentorship-list-bulk-actions .btn{border-radius:5px;gap:5px;min-height:32px;padding:6px 10px;font-size:12px}.mentorship-list-selection{color:var(--text-light);flex-basis:100%;align-items:center;gap:8px;font-size:12px;display:flex}.mentorship-list-selection .link-btn{font-size:12px}.mentorship-list-table .data-table tbody tr.mentorship-list-selected{background:#effbf8}.mentorship-list-table .table-wrap{flex:1;padding:0 16px}.mentorship-list-table .data-table{table-layout:fixed;min-width:800px}.mentorship-list-table .data-table th{border-bottom:2px solid var(--border);background:var(--surface);color:var(--text-light);letter-spacing:.045em;padding:20px 12px;font-size:12px;font-weight:600}.mentorship-list-table .data-table td{vertical-align:middle;height:64px;padding:9px 12px;font-size:13px}.mentorship-list-table .data-table th:nth-child(2){width:32%}.mentorship-list-table .data-table th:nth-child(4){width:100px}.mentorship-list-table .data-table th:nth-child(5){width:160px}.mentorship-list-table .data-table th:last-child,.mentorship-mentor-mentees .data-table th:last-child{width:84px}.mentorship-mentor-mentees .data-table{min-width:950px}.mentorship-mentor-mentees .data-table th:nth-child(2){width:24%}.mentorship-mentor-mentees .data-table th:nth-child(3){width:18%}.mentorship-mentor-mentees .data-table th:nth-child(4){width:auto}.mentorship-mentor-mentees .data-table th:nth-child(5),.mentorship-mentor-mentees .data-table th:nth-child(6){width:100px}.mentorship-mentor-mentees .data-table th:nth-child(7){width:160px}.mentorship-directory-mentees .data-table{min-width:950px}.mentorship-directory-unassigned .data-table th:last-child{width:150px}.mentorship-directory-mentees .data-table th:nth-child(2){width:28%}.mentorship-directory-mentees .data-table th:nth-child(5){width:90px}.mentorship-directory-mentees .data-table th:nth-child(6){width:160px}.mentorship-directory-unassigned .data-table,.mentorship-directory-mentees .data-table{min-width:950px}.mentorship-directory-unassigned .data-table th:nth-child(3),.mentorship-directory-mentees .data-table th:nth-child(3){width:160px}.mentorship-directory-unassigned .data-table th:nth-child(4),.mentorship-directory-mentees .data-table th:nth-child(4){width:auto}.mentorship-directory-unassigned .data-table th:nth-child(5),.mentorship-directory-mentees .data-table th:nth-child(5){width:110px}.mentorship-directory-unassigned .data-table th:nth-child(6),.mentorship-directory-mentees .data-table th:nth-child(6){width:90px}.mentorship-list-table .data-table tbody tr:last-child td{border-bottom:0}.mentorship-list-table .data-table td>span{text-overflow:ellipsis;max-width:100%;display:inline-block;overflow:hidden}.mentorship-list-identity{align-items:center;gap:13px;min-width:0;display:flex}.mentorship-list-avatar{background:var(--primary-soft);width:44px;height:44px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid}.mentorship-list-identity>div{min-width:0}.mentorship-list-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:14px;font-weight:600;display:block;overflow:hidden}.mentorship-list-name:hover{color:var(--info);text-decoration:none}.mentorship-list-identity>div>span{text-overflow:ellipsis;white-space:nowrap;color:var(--text-light);margin-top:2px;font-size:12px;display:block;overflow:hidden}.mentorship-list-count{background:var(--secondary-soft);min-width:30px;color:var(--text-light);border-radius:12px;padding:4px 10px;font-size:12px;font-weight:600}.mentorship-list-count.has-mentees{background:var(--success-soft);color:#297844}.mentorship-list-table time{font-variant-numeric:tabular-nums;font-size:12px}.mentorship-list-table .row-menu-btn{border-radius:50%}.mentorship-list-table .table-footer{border-top:1px solid var(--border);flex-wrap:wrap;gap:12px;padding:18px 16px}.mentorship-list-error{background:var(--danger-soft);color:var(--danger);border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;font-size:13px;display:flex}.mentorship-list-skeleton{background:var(--secondary-soft);border-radius:4px;width:75%;height:14px;display:block}.mentorship-mentor-mentees .mentorship-list-skeleton{animation:1.5s ease-in-out infinite mentee-skeleton-pulse}@keyframes mentee-skeleton-pulse{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.mentorship-mentor-mentees .mentorship-list-skeleton{animation:none}}@media (width<=600px){.page.mentorship-page-shell{padding-inline:8px}.mentorship-list-toolbar{padding:10px 16px 4px}.mentorship-list-pills button{gap:5px;padding-inline:8px;font-size:12px}.mentorship-list-tools:has(.is-open){flex-basis:100%}.mentorship-list-table .table-wrap{padding-inline:8px}.mentorship-list-table .table-footer{padding:16px}}.mentorship-mentor-mentees .mentorship-list-tools{gap:14px}.mentorship-mentor-mentees .table-toolbar .input.directory-list-search{min-width:0}.mentorship-mentor-mentees .mentorship-mentee-profile-link{text-align:left;width:100%;min-height:44px;display:block}.mentorship-directory-mentors .data-table th:nth-child(5){width:160px}.mentorship-directory-mentors .data-table{min-width:950px}.mentorship-directory-mentors .data-table th:nth-child(6){width:128px}.mentorship-directory-mentors .data-table th:last-child{width:84px}.mentorship-directory-mentors .mentorship-view-mentees{white-space:nowrap;gap:6px;min-height:32px;padding:6px 10px;font-size:12px}.mentorship-directory-mentors .mentorship-assign-mentees{border:1px solid var(--border);color:var(--primary);display:inline-grid}:is(.users-list-tool,.directory-list-tool){width:32px;height:32px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:7px;flex-shrink:0;place-items:center;padding:6px;display:grid}:is(.users-list-tool,.directory-list-tool):hover,:is(.users-list-tool,.directory-list-tool).active{background:var(--primary-soft);color:var(--primary)}:is(.users-list-search-control,.directory-list-search-control){align-items:center;gap:6px;min-width:0;display:flex}:is(.users-list-search-control,.directory-list-search-control).is-open{flex:0 1 calc(var(--search-input-width) + 38px);width:calc(var(--search-input-width) + 38px);max-width:100%}:is(.users-list-search-control,.directory-list-search-control) :is(.users-list-tool,.directory-list-tool){flex-shrink:0}:is(.users-list-search-field,.directory-list-search-field){flex:1;min-width:0;position:relative}:is(.users-list-search-control,.directory-list-search-control) :is(.users-list-search,.directory-list-search){border:0;border-bottom:1px solid var(--primary);width:100%;min-width:0;min-height:32px;box-shadow:none;background:0 0;border-radius:0;padding:6px 34px 6px 8px;font-size:13px;animation:.18s ease-out users-search-expand}:is(.users-list-search-control,.directory-list-search-control) :is(.users-list-search,.directory-list-search):focus{border-bottom-color:var(--accent);box-shadow:none}:is(.users-list-search-control,.directory-list-search-control) :is(.users-list-search,.directory-list-search)::placeholder{color:var(--text-light);opacity:1}:is(.users-list-search,.directory-list-search)::-webkit-search-cancel-button{appearance:none}:is(.users-list-search,.directory-list-search)::-webkit-search-decoration{appearance:none}:is(.users-list-search-clear,.directory-list-search-clear){width:32px;height:32px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:8px;display:grid;position:absolute;top:50%;right:0;transform:translateY(-50%)}:is(.users-list-search-clear,.directory-list-search-clear):hover{background:var(--secondary-soft);color:var(--primary)}:is(.users-filter-drawer,.directory-filter-drawer){border:0;border-left:1px solid var(--border);background:var(--surface);width:min(440px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;color:var(--text);margin:0;padding:0;position:fixed;inset:0 0 0 auto;overflow:hidden;box-shadow:-12px 0 40px #1d375826}:is(.users-filter-drawer,.directory-filter-drawer)[open]{animation:.2s ease-out users-filter-enter}:is(.users-filter-drawer,.directory-filter-drawer)::backdrop{background:#1927386b}:is(.users-filter-form,.directory-filter-form){flex-direction:column;height:100%;display:flex}:is(.users-filter-head,.directory-filter-head){border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}:is(.users-filter-head,.directory-filter-head) h2{font-size:16px;font-weight:600}:is(.users-filter-close,.directory-filter-close){width:32px;height:32px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;padding:4px;display:grid}:is(.users-filter-close,.directory-filter-close):hover{color:var(--text);background:var(--secondary)}:is(.users-filter-body,.directory-filter-body){overscroll-behavior:contain;flex:1;min-height:0;padding:18px 0;overflow-y:auto}:is(.users-filter-section,.directory-filter-section){border:0;min-width:0;margin:0 0 12px;padding:0}:is(.users-filter-section,.directory-filter-section) legend,:is(.users-filter-section,.directory-filter-section) h3{background:var(--secondary-soft);border-block:1px solid var(--border);width:100%;color:var(--text);padding:12px 24px;font-size:13px;font-weight:800;display:block}:is(.users-filter-options,.directory-filter-options){flex-direction:column;gap:8px;padding:14px 24px;display:flex}:is(.users-filter-hint,.directory-filter-hint){color:var(--text-light);margin:16px 24px 0;font-size:12px;line-height:1.6}:is(.users-filter-choice,.directory-filter-choice){cursor:pointer;align-items:center;gap:12px;font-size:13px;display:flex}:is(.users-filter-choice,.directory-filter-choice) input:focus-visible,:is(.users-filter-options,.directory-filter-options) .select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}:is(.users-filter-options,.directory-filter-options).field{gap:8px}:is(.users-filter-options,.directory-filter-options).field>label{font-size:12px;font-weight:600}:is(.users-filter-options,.directory-filter-options) .select{width:100%}:is(.users-filter-foot,.directory-filter-foot){padding:18px 24px max(18px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;gap:10px;display:flex}:is(.users-filter-foot,.directory-filter-foot) .btn{flex:1;justify-content:center;min-height:40px}@media (prefers-reduced-motion:reduce){:is(.users-filter-drawer,.directory-filter-drawer)[open],:is(.users-list-search-control,.directory-list-search-control) :is(.users-list-search,.directory-list-search){animation:none}}:is(.users-list-pills,.directory-status-pills){border:1px solid var(--border);background:var(--secondary-soft);border-radius:9px;gap:3px;max-width:100%;padding:3px;display:inline-flex}:is(.users-list-pills,.directory-status-pills) button{min-height:32px;color:var(--text-light);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s;display:inline-flex;position:relative}:is(.users-list-pills,.directory-status-pills) button:hover{color:var(--primary)}:is(.users-list-pills,.directory-status-pills) button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:is(.users-list-pills,.directory-status-pills) button>span{background:var(--secondary-soft);min-width:24px;color:var(--text-light);font-variant-numeric:tabular-nums;border-radius:12px;padding:2px 7px;font-size:12px;font-weight:700;line-height:1.3}:is(.users-list-pills,.directory-status-pills) button:nth-child(2)>span{background:var(--success-soft);color:#297844}:is(.users-list-pills,.directory-status-pills) button:nth-child(3)>span{background:var(--danger-soft);color:var(--danger)}:is(.users-list-pills,.directory-status-pills) button.active{z-index:1;background:var(--surface);color:var(--primary);border-color:var(--border);box-shadow:0 1px 3px #1d37580a}:is(.users-list-pills,.directory-status-pills) button.active>span{background:var(--primary);color:#fff}@media (width<=600px){.directory-status-pills button{gap:5px;padding-inline:10px}}@media (prefers-reduced-motion:reduce){.directory-status-pills button{transition:none}}.mentorship-assignment-page{width:100%;min-width:0;max-width:none;font-family:var(--font-ui)}.mentorship-assignment-page>.card{min-width:0;box-shadow:none;border-radius:12px}.mentorship-assignment-page .mentorship-build-card{height:var(--assignment-height,calc(100dvh - 132px - var(--page-bottom-gap)));flex-direction:column;min-height:440px;padding:0;display:flex;overflow:hidden}.mentorship-assignment-page .mentorship-assignment-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.mentorship-assignment-page .mentorship-mentor-context{flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.mentorship-assignment-page .mentorship-mentor-context>span{color:var(--text-light);font-size:12px}.mentorship-assignment-page .mentorship-mentor-context>strong{color:var(--primary);overflow-wrap:anywhere;font-size:13px;font-weight:600}.mentorship-assignment-page .mentorship-transfer-workspace{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0;min-height:0;display:grid}.mentorship-assignment-page .mentorship-transfer-panel{border:0;border-radius:0;flex-direction:column;min-height:0;display:flex}.mentorship-assignment-page .mentorship-selected-panel{border-left:1px solid var(--border)}.mentorship-assignment-page .mentorship-transfer-heading{background:var(--secondary);flex-wrap:wrap;min-height:52px;padding:10px 16px}.mentorship-assignment-page .mentorship-transfer-heading h4{color:var(--primary);white-space:normal;margin:0;font-size:13px;font-weight:600}.mentorship-assignment-page .mentorship-transfer-heading span{color:var(--text-light);font-variant-numeric:tabular-nums;background:0 0;padding:0;font-size:12px;font-weight:500}.mentorship-assignment-page .mentorship-transfer-table-wrap{overscroll-behavior:contain;flex:1;min-height:0;max-height:100%;overflow:auto}.mentorship-assignment-page .mentorship-transfer-table{table-layout:fixed;width:100%;min-width:340px}.mentorship-assignment-page .mentorship-transfer-table th{z-index:1;border-bottom:2px solid var(--border);background:var(--surface);padding:10px 12px;font-size:12px;font-weight:600;position:sticky;top:0}.mentorship-assignment-page .mentorship-transfer-table td{white-space:normal;overflow-wrap:anywhere;height:58px;padding:8px 12px;font-size:12px}.mentorship-assignment-page .mentorship-transfer-table :is(th,td):first-child{width:auto;padding-left:16px;padding-right:12px}.mentorship-assignment-page .mentorship-transfer-table td:nth-child(2){min-width:0}.mentorship-assignment-page .mentorship-student-identity strong{font-size:13px;font-weight:600;display:block}.mentorship-assignment-page .mentorship-student-identity span{color:var(--text-light);font-variant-numeric:tabular-nums;margin-top:3px;font-size:12px;display:block}.mentorship-assignment-page .mentorship-transfer-table tbody tr:hover{background:var(--secondary-soft)}.mentorship-assignment-page .mentorship-transfer-table :is(th,td).mentorship-transfer-control{text-align:center;width:48px;padding:8px}.mentorship-assignment-page .mentorship-transfer-item-action{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--primary);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.mentorship-assignment-page .mentorship-transfer-item-action:hover:not(:disabled){background:var(--primary-soft);border-color:var(--primary)}.mentorship-assignment-page .mentorship-transfer-item-action:disabled{opacity:.5;cursor:not-allowed}.mentorship-assignment-page .btn{border-radius:5px;min-height:32px;padding:6px 14px;font-size:12px}.mentorship-assignment-page .mentorship-clear-inline{font-size:12px}.mentorship-assignment-page .mentorship-simple-actions{border-top:1px solid var(--border);color:var(--text-light);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:10px 16px;font-size:12px;display:flex}.mentorship-assignment-page .mentorship-conflict{border-radius:0;flex-shrink:0;margin:0}@media (width<=860px){.mentorship-assignment-page .mentorship-build-card{height:auto;min-height:0}.mentorship-assignment-page .mentorship-transfer-workspace{grid-template-columns:minmax(0,1fr)}.mentorship-assignment-page .mentorship-selected-panel{border-left:0;border-top:1px solid var(--border)}.mentorship-assignment-page .mentorship-transfer-table-wrap{flex:auto;height:clamp(240px,40dvh,380px);max-height:380px}}@media (width<=600px){.mentorship-assignment-page .mentorship-assignment-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.mentorship-assignment-page .mentorship-transfer-heading{padding:10px 12px}.mentorship-assignment-page .mentorship-transfer-table{min-width:0}.mentorship-assignment-page .mentorship-transfer-table :is(th,td){padding-inline:8px}.mentorship-assignment-page .mentorship-transfer-table :is(th,td):first-child{padding-left:12px}.mentorship-assignment-page .mentorship-transfer-table :is(th,td).mentorship-transfer-control{width:44px;padding:6px}}@media print{.mentorship-assignment-page .mentorship-build-card{height:auto}.mentorship-assignment-page .mentorship-transfer-table-wrap{height:auto;min-height:0;max-height:none;overflow:visible}}.mentorship-assignment-page .mentorship-available-heading{gap:6px 10px}.mentorship-assignment-page .mentorship-available-count{margin-left:auto}.mentorship-assignment-page .mentorship-student-search.is-open{flex-basis:calc(var(--search-input-width) + 38px);max-width:100%}.mentorship-assignment-page .mentorship-transfer-heading .directory-list-search-field{display:block}.mentorship-assignment-page .mentorship-simple-actions{flex-wrap:wrap;gap:8px 16px}.mentorship-assignment-page .mentorship-submit-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.mentorship-assignment-skeleton{background:var(--secondary);border-radius:4px;width:75%;height:12px;animation:1.5s ease-in-out infinite assignment-skeleton-pulse;display:block}.mentorship-assignment-skeleton.mentorship-skeleton-title{width:180px;max-width:60%;height:14px}.mentorship-assignment-skeleton.mentorship-skeleton-count{width:48px}.mentorship-assignment-skeleton.mentorship-skeleton-secondary{width:50%;height:10px;margin-top:8px}.mentorship-assignment-skeleton.mentorship-skeleton-button{width:110px;height:32px}@keyframes assignment-skeleton-pulse{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.mentorship-assignment-skeleton{animation:none}}.reports-page{min-width:0}.page-heading-shell:has(>.reports-page)>.events-page-heading{margin-bottom:4px}.reports-intro{color:var(--text-light);margin:0 0 20px;font-size:13px}.reports-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.report-card{min-width:0;box-shadow:none;color:var(--text);border-radius:16px;flex-direction:column;align-items:flex-start;padding:24px;text-decoration:none;transition:border-color .16s,box-shadow .16s;display:flex}.report-card:not([aria-disabled]):hover,.report-card:focus-visible{border-color:var(--accent);color:var(--text);box-shadow:0 4px 16px #1d375808}.report-card-icon{border:1px solid var(--border);background:var(--primary-soft);width:48px;height:48px;color:var(--info);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.report-card-icon>svg{width:24px;height:24px}.report-card-icon-blue{background:var(--primary-soft);color:#245faa}.report-card-icon-green{background:var(--success-soft);color:#247344}.report-card-icon-teal{background:var(--accent-soft);color:#27778b}.report-card-icon-gold{background:var(--warning-soft);color:#95670e}.report-card-icon-purple{color:#7045a0;background:#f1ebfb}.report-card-icon-rose{color:#aa3d64;background:#fcebf1}.report-card-copy{flex:1;width:100%;min-width:0}.report-card h2{overflow-wrap:anywhere;margin-top:18px;font-size:15px;font-weight:600;line-height:1.5}.report-card-description{color:var(--text-light);margin:8px 0 22px;font-size:12px;line-height:1.8}.report-card-footer{border-top:1px solid var(--border);width:100%;min-height:43px;color:var(--primary);justify-content:space-between;align-items:center;gap:12px;padding-top:16px;font-size:12px;font-weight:600;display:flex}.report-card-arrow{background:var(--secondary-soft);border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;transition:background .16s,color .16s;display:grid}.report-card:not([aria-disabled]):hover .report-card-arrow,.report-card:focus-visible .report-card-arrow{background:var(--primary);color:var(--surface)}.report-card[aria-disabled]{cursor:not-allowed}.report-access-note{color:var(--text-light);font-weight:400}@media (width>=601px) and (width<=1150px){.reports-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.reports-grid{grid-template-columns:minmax(0,1fr);gap:12px}.report-card{padding:20px}}@media (prefers-reduced-motion:reduce){.report-card,.report-card-arrow{transition:none}}.monthly-report-intro,.monthly-report-footer{justify-content:space-between;align-items:center;gap:16px;display:flex}.monthly-report-intro{margin-bottom:20px}.monthly-report-intro h2{margin:0 0 6px}.monthly-report-intro p,.monthly-report-caption p{color:var(--text-light);margin:0}.monthly-report-filters{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.monthly-report-filters label{flex-direction:column;gap:7px;font-size:12px;font-weight:600;display:flex}.monthly-report-term-picker .calendar-session-combobox{width:100%;min-width:0}.monthly-report-filters .monthly-report-search{width:min(var(--search-input-width), 100%);grid-column:1/-1;min-width:0}.monthly-report-filters .input{width:100%;min-width:0}.monthly-report-preview{overflow:hidden}.monthly-report-caption{border-bottom:1px solid var(--border);padding:20px 24px}.monthly-report-caption h3{margin:0 0 8px}.monthly-report-caption span{color:var(--text-light);margin-top:10px;font-size:12px;display:block}.monthly-report-scroll{max-height:65vh;overflow:auto}.monthly-report-scroll:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.monthly-report-table{border-collapse:separate;border-spacing:0;width:100%;font-size:12px}.monthly-report-table th,.monthly-report-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;min-width:112px;padding:12px 14px}.monthly-report-table thead th{background:var(--surface-2,#eef2f6);font-weight:650}.monthly-report-table thead tr:first-child th{color:#fff;background:#243a50}.monthly-report-table thead .monthly-programme-heading{text-align:left}.monthly-report-table small{margin-top:5px;font-size:12px;font-weight:400;display:block}.monthly-report-table .monthly-student,.monthly-report-table .monthly-student-heading{text-align:left;z-index:1;min-width:250px;max-width:280px;position:sticky;left:0}.monthly-report-table .monthly-student{background:var(--surface,#fff)}.monthly-report-table .monthly-student small{color:var(--text-light)}.monthly-report-table .monthly-cumulative{background:var(--surface-2,#eef2f6);border-right:2px solid #bdc9d4}.monthly-report-table .monthly-shortage{color:#9c2531;background:#fff0f1}.monthly-report-footer{color:var(--text-light);padding:16px 24px;font-size:12px}.monthly-report-footer>div{gap:8px;display:flex}@media (width<=900px){.monthly-report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.monthly-report-filters{grid-template-columns:1fr}.monthly-report-intro,.monthly-report-footer{flex-direction:column;align-items:flex-start}.monthly-report-table .monthly-student,.monthly-report-table .monthly-student-heading{min-width:190px}}.student-report-page{min-width:0}.student-report-viewer{height:var(--table-fill-height,calc(100dvh - 140px));border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;min-width:0;min-height:400px;display:flex;position:relative;overflow:hidden}.student-report-toolbar,.student-report-toolbar-group{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.student-report-toolbar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;padding:10px 16px}.student-report-preview-title{color:var(--text);font-size:13px;font-weight:600}.student-report-semester-tabs{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.student-report-semester-tabs button{min-height:32px;color:var(--text-light);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600}.student-report-semester-tabs button:hover{background:var(--secondary-soft);color:var(--primary)}.student-report-semester-tabs button[aria-selected=true]{border-color:var(--border);background:var(--primary-soft);color:var(--primary)}.student-report-semester-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.student-report-mode-tabs{background:var(--surface);border:1px solid #bac9da;border-radius:10px;gap:4px;width:max-content;margin-left:auto;padding:4px;display:flex;box-shadow:0 2px 6px #1d375814}.student-report-mode-tabs button{min-width:72px;min-height:34px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 16px;font-size:13px;font-weight:600}.student-report-mode-tabs button:hover{background:var(--secondary-soft)}.student-report-mode-tabs button[aria-selected=true]{border-color:var(--primary-dark);background:var(--primary);color:#fff;box-shadow:0 2px 4px #1d37582b}.student-report-mode-tabs button[aria-selected=true]:hover{background:var(--primary-dark)}.student-report-mode-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.student-report-pdf-toolbar{border-color:#cfd8df;flex-wrap:nowrap;gap:10px;padding:8px 12px;overflow-x:auto;box-shadow:0 2px 4px #1d375808}.student-report-pdf-toolbar .student-report-toolbar-group{flex-wrap:nowrap;flex-shrink:0;gap:8px}.student-report-pdf-toolbar .btn{white-space:nowrap;border-radius:8px}.student-report-pdf-toolbar .project-select{flex-shrink:0}.student-report-pdf-font{width:118px}.student-report-paper-select{width:90px}.student-report-layout-select{width:130px}.student-report-pdf-toolbar .searchable-select-trigger{border-color:#cbd5e1;border-radius:8px;height:32px;min-height:32px;font-size:12px;box-shadow:0 1px 2px #0f172a0f}.student-report-pdf-stepper{background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;height:32px;display:flex;box-shadow:0 1px 2px #0f172a0f}.student-report-pdf-stepper button{width:28px;height:28px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;place-items:center;padding:0;font-size:18px;display:grid}.student-report-pdf-stepper button:hover{background:var(--primary-soft)}.student-report-pdf-stepper button:disabled{opacity:.35;cursor:default}.student-report-pdf-stepper span,.student-report-pdf-stepper .student-report-pdf-fit{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;font-size:12px;font-weight:600}.student-report-pdf-options{border-bottom:1px solid var(--border);flex-shrink:0}.student-report-pdf-options summary{color:var(--text-light);cursor:pointer;padding:8px 16px;font-size:12px}.student-report-pdf-options summary span{margin-left:8px;font-size:12px}.student-report-pdf-options .student-report-pdf-controls{border-bottom:0;padding-top:4px}.student-report-pdf-fullscreen{background:var(--primary);color:#fff;cursor:pointer;z-index:4;border:0;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;bottom:48px;right:24px;box-shadow:0 6px 18px #1d375840}.student-report-pdf-fullscreen:hover{background:var(--primary-dark)}.student-report-pdf-controls{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;flex-shrink:0;align-items:end;gap:12px 16px;padding:12px 16px;display:flex}.student-report-pdf-control{width:130px;min-width:0;color:var(--text-light);flex-direction:column;gap:5px;font-size:12px;display:flex}.student-report-pdf-control .project-select{width:100%}.student-report-pdf-columns{border:0;flex-wrap:wrap;gap:8px 16px;width:100%;margin:0;padding:0;display:flex}.student-report-pdf-columns legend{color:var(--text-light);margin-bottom:6px;font-size:12px}.student-report-pdf-columns label{color:var(--text);align-items:center;gap:6px;font-size:12px;display:flex}.student-report-pdf-columns input{accent-color:var(--primary);margin:0}.student-report-pdf-viewport{background:#f5f6f7}.student-report-pdf-zoom{box-sizing:border-box;width:max-content;min-width:100%;padding:24px}.student-report-pdf-zoom>.student-report-pdf-pages{width:max-content;margin-inline:auto}.student-report-pdf-zoom .student-report-pdf-sheet{border-radius:10px;margin-bottom:24px;box-shadow:0 16px 35px -20px #0f172a66,0 0 0 1px #0f172a0f}.student-report-pdf-zoom .student-report-pdf-sheet:last-child{margin-bottom:0}.student-report-pdf-measure{visibility:hidden;pointer-events:none;position:fixed;top:0;left:-10000px}.student-report-pdf-measure .student-report-pdf-sheet{height:auto}.student-report-result-count{color:var(--text-light);font-size:12px}.student-report-toolbar .btn{min-height:32px;padding:5px 10px;font-size:12px}.student-report-filter-toggle{gap:6px}.student-report-filter-drawer{box-sizing:border-box}.student-report-filter-count{background:var(--primary);color:#fff;font-variant-numeric:tabular-nums;border-radius:10px;padding:0 6px}.student-report-viewport{background:var(--surface);flex:1;min-width:0;min-height:160px;position:relative;overflow:auto}.student-report-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.student-report-table{border-collapse:separate;border-spacing:0;table-layout:fixed;color:var(--text);font-size:12px;line-height:1.5}.student-report-table th,.student-report-table td{text-align:left;overflow-wrap:anywhere;vertical-align:top;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:9px 12px}.student-report-table th{z-index:2;background:var(--secondary-soft);letter-spacing:.025em;text-transform:uppercase;box-shadow:0 1px 0 var(--border);font-size:12px;font-weight:600;position:sticky;top:0}.student-report-table :is(th,td):first-child{z-index:1;background:var(--secondary-soft);text-align:center;position:sticky;left:0}.student-report-table :is(th,td):nth-child(2){z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--border);position:sticky;left:48px}.student-report-table th:is(:first-child,:nth-child(2)){z-index:3;background:var(--secondary-soft)}.student-report-table tr:hover td{background:var(--secondary-soft)}.student-report-table .student-report-center{text-align:center}.student-report-message{text-align:center;color:var(--text-light);padding:50px 16px}.student-report-message .btn{margin-left:10px}.student-report-viewer-footer{border-top:1px solid var(--border);background:var(--secondary-soft);color:var(--text-light);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;font-size:12px;display:flex}.student-report-viewer:fullscreen{border-radius:0;height:100dvh;min-height:0}@media (width<=600px){.student-report-toolbar{padding:8px 12px}.student-report-toolbar-group{gap:8px}}.college-login{--login-ink:var(--primary);--login-muted:var(--text-light);--login-border:var(--secondary);min-height:100dvh;color:var(--login-ink);background:#edfcff;padding:0;font-family:Manrope,Trebuchet MS,sans-serif;font-size:14px}.college-login-shell{background:#fff;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);width:100%;min-height:100dvh;display:grid}.college-login-welcome{color:#fff;background-color:#1b3655;background-image:linear-gradient(#1b324d85 0%,#1b324d7a 54%,#1b324db3 100%),url(/assets/login-campus-CmlHSr8d.png);background-position:50% 15%;background-size:cover;flex-direction:column;min-width:0;padding:calc(clamp(28px,5svh,56px) + 32px) clamp(32px,5vw,80px) clamp(28px,5svh,56px);display:flex}.college-login-brand{align-items:center;gap:14px;display:flex}.college-login-logomark{object-fit:contain;flex-shrink:0;width:60px;height:60px}.college-login-brand-name{letter-spacing:.06em;font-size:clamp(17px,1.5vw,22px);font-weight:800;line-height:1.3}.college-login-brand-description{color:#c5d9f6;letter-spacing:.035em;margin-top:4px;font-size:12px}.college-login-intro{margin-top:clamp(64px,14svh,144px)}.college-login-intro h1{color:#fff;letter-spacing:-.025em;font-size:clamp(28px,2.6vw,36px);font-weight:700;line-height:1.18}.college-login-intro p{color:#bfd5f2;margin:18px 0 24px;font-size:clamp(14px,1.15vw,16px);line-height:1.6}.college-login-motto{letter-spacing:.6em;background:#4ca8ce55;border-radius:30px;justify-content:center;align-items:center;width:160px;min-height:34px;padding:8px 16px 8px 24px;font-size:12px;font-weight:700;display:inline-flex}.college-login-campus-info{color:#c2d7f5;margin-top:auto;padding-top:32px;font-size:12px;line-height:1.6}.college-login-accent{background:#80e0db;width:36px;height:3px;margin-bottom:16px;display:block}.college-login-affiliation{flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0 0 10px;display:flex}.college-login-location{align-items:center;gap:8px;margin:0;display:flex}.college-login-location svg{flex-shrink:0;width:16px;height:18px}.college-login-panel{grid-template-rows:1fr auto;justify-items:center;min-width:0;padding:clamp(20px,3svh,32px) clamp(24px,3vw,56px);display:grid}.college-login-content{align-self:center;width:100%;max-width:480px;padding:16px 0}.college-login-heading h2{color:var(--login-ink);letter-spacing:-.035em;font-size:clamp(24px,2vw,28px);font-weight:800;line-height:1.25}.college-login-heading p{color:var(--login-muted);margin:10px 0 0;font-size:14px;line-height:1.6}.college-login-form{flex-direction:column;gap:20px;margin-top:30px;display:flex}.college-login-field{flex-direction:column;gap:8px;display:flex}.college-login-field label{font-size:13px;font-weight:600}.college-login-input-wrap{border:1px solid var(--login-border);border-radius:9px;align-items:center;gap:12px;min-height:50px;padding:0 14px;transition:border-color .15s,box-shadow .15s;display:flex}.college-login-input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.college-login-input-wrap>svg{width:18px;height:20px;color:var(--primary);flex-shrink:0}.college-login-input-wrap input{width:100%;min-width:0;min-height:48px;color:var(--login-ink);background:0 0;border:0;outline:0;padding:0;font-size:14px}.college-login-input-wrap input::placeholder{color:#8798ad;opacity:1}.college-login-password-toggle{width:32px;height:36px;color:var(--primary);cursor:pointer;background:0 0;border:0;border-radius:5px;flex-shrink:0;place-items:center;margin-right:-6px;padding:4px;display:grid}.college-login-password-toggle svg{width:20px;height:20px}.college-login-options{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.college-login-remember{color:#4b5575;cursor:pointer;align-items:center;gap:9px;min-height:32px;font-weight:500;line-height:1.4;display:inline-flex}.college-login-link{color:var(--info);font-size:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.college-login-link:hover{color:var(--primary-dark)}.college-login-submit{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 20px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.college-login-submit:hover:not(:disabled){background:var(--primary-dark)}.college-login-submit:disabled{opacity:.7;cursor:wait}.college-login-submit svg{width:19px;height:19px}.college-login-divider{color:var(--login-muted);align-items:center;gap:16px;margin-top:26px;font-size:12px;display:flex}.college-login-divider:before,.college-login-divider:after{content:"";background:var(--border);flex:1;height:1px}.college-login-help{justify-content:center;align-items:flex-start;gap:14px;margin-top:26px;font-size:12px;display:flex}.college-login-help-icon{background:#d3f5ff;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.college-login-help-icon svg{width:22px;height:22px}.college-login-help p{margin:2px 0 3px}.college-login-support{position:relative}.college-login-support summary{color:var(--info);cursor:pointer;list-style:none}.college-login-support summary::-webkit-details-marker{display:none}.college-login-support summary:hover{color:var(--primary-dark);text-decoration:none}.college-login-support p{z-index:1;border:1px solid var(--login-border);width:min(280px,100vw - 72px);color:var(--login-muted);overflow-wrap:anywhere;background:#fff;border-radius:9px;margin:0;padding:14px;font-size:12px;line-height:1.6;position:absolute;bottom:calc(100% + 12px);right:0;box-shadow:0 6px 24px #1d37581a}.college-login-footer{border-top:1px solid var(--login-border);width:100%;max-width:480px;color:var(--text-light);justify-content:center;align-items:center;gap:12px;padding-top:16px;font-size:12px;display:flex}.college-login .auth-error{overflow-wrap:anywhere}.college-login button:focus-visible,.college-login summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.college-login-sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1100px){.college-login-shell{grid-template-columns:repeat(2,minmax(0,1fr))}.college-login-welcome,.college-login-panel{padding-left:32px;padding-right:32px}.college-login-brand{gap:12px}.college-login-logomark{width:52px;height:52px}}@media (width<=760px){.college-login-shell{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.college-login-welcome{background-position:50% 38%;padding:20px 24px}.college-login-brand{justify-content:center}.college-login-brand-name{font-size:18px}.college-login-brand-description{font-size:12px}.college-login-logomark{width:48px;height:48px}.college-login-intro,.college-login-campus-info{display:none}.college-login-panel{padding:24px 28px}.college-login-content{padding:16px 0 24px}.college-login-heading h2{font-size:24px}.college-login-input-wrap input{font-size:16px}}@media (height<=740px){.college-login-welcome{padding-top:48px;padding-bottom:24px}.college-login-intro{margin-top:clamp(48px,10svh,72px)}.college-login-panel{padding-top:16px;padding-bottom:16px}.college-login-content{padding:8px 0 16px}.college-login-heading p{margin-top:8px;font-size:12px}.college-login-form{gap:14px;margin-top:20px}.college-login-divider,.college-login-help{margin-top:18px}.college-login-help-icon{width:36px;height:36px}.college-login-footer{padding-top:12px}}@media (width<=760px) and (height<=740px){.college-login-welcome{padding-top:14px;padding-bottom:14px}.college-login-content:has(.auth-error) .college-login-divider{display:none}}@media (width<=760px) and (height<=620px){.college-login-welcome{padding-top:10px;padding-bottom:10px}.college-login-logomark{width:40px;height:40px}.college-login-content{padding:4px 0 12px}.college-login-heading h2{font-size:22px}.college-login-form{gap:12px;margin-top:16px}.college-login-divider,.college-login-help{margin-top:14px}.college-login-footer{display:none}}@media (height<=540px) and (width>=601px){.college-login-shell{grid-template-rows:1fr;grid-template-columns:repeat(2,minmax(0,1fr))}.college-login-welcome,.college-login-panel{padding:20px 32px}.college-login-logomark{width:44px;height:44px}.college-login-intro{margin-top:24px}.college-login-intro h1{font-size:26px}.college-login-intro p{margin:12px 0 16px;font-size:14px}.college-login-campus-info{padding-top:20px;font-size:12px}.college-login-heading h2{font-size:22px}.college-login-content:has(.auth-error) .college-login-heading p{display:none}.college-login-content{padding:0}.college-login-form{gap:12px;margin-top:16px}.college-login-field{gap:5px}.college-login-input-wrap{min-height:44px}.college-login-input-wrap input{min-height:42px}.college-login-submit{min-height:44px;padding-top:10px;padding-bottom:10px}.college-login-divider,.college-login-help,.college-login-footer{display:none}}@media (height<=540px) and (width<=600px){.college-login-divider,.college-login-help{display:none}}.college-recovery .recovery-back{margin-top:28px}.college-recovery .recovery-secondary{margin-top:24px;display:block}.college-recovery .recovery-password-help{color:var(--login-muted);margin:-6px 0 0;font-size:12px;line-height:1.7}.recovery-show-password{color:var(--login-muted);cursor:pointer;align-items:center;gap:9px;font-size:12px;display:flex}.college-recovery-confirmation{background:var(--bg,#f4f7fb);place-items:center;padding:40px 24px;display:grid}.recovery-confirmation{text-align:center;width:100%;max-width:560px}.recovery-confirmation .college-login-heading h2{font-size:clamp(28px,3vw,36px)}.recovery-confirmation .college-login-heading p{margin-top:16px;font-size:14px;line-height:1.8}.recovery-symbol{width:88px;height:88px;color:var(--primary);margin:0 auto 28px;display:block}.recovery-confirmation .recovery-secondary{margin-left:auto;margin-right:auto}.recovery-confirmation .college-login-submit{min-width:200px;margin-left:auto;margin-right:auto}.college-recovery #recovery-title:focus{outline:none}.system-unavailable{background:radial-gradient(ellipse at 50% 42%, var(--accent-soft), transparent 65%), var(--bg);min-height:100svh;color:var(--primary);flex-direction:column;padding:32px clamp(24px,5vw,80px) 24px;display:flex}.system-unavailable-brand{align-items:center;gap:12px;display:flex}.system-unavailable-brand img{object-fit:contain;width:44px;height:44px}.system-unavailable-brand>span{letter-spacing:.08em;font-size:13px;font-weight:800}.system-unavailable-brand small{color:var(--text-light);letter-spacing:.01em;margin-top:3px;font-size:12px;font-weight:400;display:block}.system-unavailable-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 0;display:flex}.system-unavailable-art{margin-bottom:32px;position:relative}.system-unavailable-code{color:var(--secondary);letter-spacing:-.065em;-webkit-user-select:none;user-select:none;font-size:clamp(128px,20vw,224px);font-weight:800;line-height:.95;display:block}.system-unavailable-connection{border:5px solid var(--bg);background:var(--primary);width:68px;height:68px;color:var(--surface);border-radius:20px;place-items:center;display:grid;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)rotate(-8deg)}.system-unavailable-connection svg{width:32px;height:32px}.system-unavailable-eyebrow{color:var(--info);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:12px;font-weight:700;line-height:1.5}.system-unavailable-content h1{color:var(--primary);letter-spacing:-.045em;margin:0;font-size:clamp(28px,3.5vw,40px);font-weight:800;line-height:1.15}.system-unavailable-description{max-width:760px;color:var(--text-light);margin:16px 0 24px;font-size:15px;line-height:1.7}.system-unavailable-retry{gap:9px;min-height:46px;padding:12px 25px;font-size:13px}.system-unavailable-retry svg{width:17px;height:17px}.system-unavailable-help{max-width:320px;color:var(--text-light);margin:16px 0 0;font-size:12px;line-height:1.7}.system-unavailable-footer{border-top:1px solid var(--border);color:var(--text-light);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:18px 0 0 56px;font-size:12px;display:flex}@media (width<=600px){.system-unavailable{padding:24px 24px 20px}.system-unavailable-content{padding:48px 0}.system-unavailable-description{font-size:14px}.system-unavailable-footer{justify-content:flex-start}}.academic-onboarding{background:var(--bg);min-height:100dvh;padding:28px 32px 64px}.academic-onboarding-header{justify-content:space-between;align-items:center;gap:20px;max-width:1120px;margin:0 auto;display:flex}.academic-onboarding-brand{align-items:center;gap:12px;display:flex}.academic-onboarding-brand img{object-fit:contain;width:44px;height:44px}.academic-onboarding-brand strong{color:var(--primary);font-size:14px;display:block}.academic-onboarding-brand span{color:var(--text-light);font-size:12px;display:block}.academic-onboarding-header>button{flex-shrink:0}.academic-onboarding-card{background:var(--surface);border:1px solid var(--border);border-radius:24px;width:min(100%,540px);margin:72px auto 0;padding:32px;box-shadow:0 12px 36px #1d375808}.academic-onboarding-card h1{color:var(--primary);margin:0;font-size:22px;font-weight:600;line-height:1.35}.academic-onboarding-card form{flex-direction:column;gap:24px;margin-top:24px;display:flex}.academic-onboarding-progress{gap:8px;margin-bottom:20px;display:flex}.academic-onboarding-progress span{background:var(--border);border-radius:3px;width:28px;height:3px}.academic-onboarding-progress .active,.academic-onboarding-progress .complete{background:var(--primary)}.academic-onboarding-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;min-width:0;margin:0;padding:0;display:grid}.academic-onboarding-fields .field{gap:8px;min-width:0;margin:0}.academic-onboarding-fields .field>label{color:#406879;font-size:12px}.academic-onboarding-fields .input,.academic-onboarding-fields .select{width:100%;min-width:0;min-height:40px}.academic-onboarding-fields .input{height:40px;padding:9px 12px;line-height:20px}.academic-onboarding-fields .searchable-select-trigger{min-height:40px}.academic-onboarding-semester>.field:first-child{grid-column:1/-1}.academic-onboarding-preview{color:var(--text-light);margin:12px 0 0;font-size:13px;line-height:20px}.academic-onboarding-preview strong{color:var(--text)}.academic-onboarding-note{color:var(--text-light);margin:0;font-size:12px;line-height:1.6}.academic-onboarding-card .form-error{margin:0}.academic-onboarding-submit{align-self:flex-start;max-width:100%;margin-top:4px}@media (width<=600px){.academic-onboarding{padding:20px 16px 40px}.academic-onboarding-header{gap:12px}.academic-onboarding-brand{gap:8px}.academic-onboarding-brand strong,.academic-onboarding-brand span{font-size:12px}.academic-onboarding-brand img{width:36px;height:36px}.academic-onboarding-card{margin-top:40px;padding:24px}.academic-onboarding-card h1{font-size:20px}.academic-onboarding-fields{grid-template-columns:minmax(0,1fr);gap:18px}}:root{--primary:#1d3758;--primary-dark:#142b47;--primary-soft:#eaf2fb;--secondary:#dce8f5;--secondary-soft:#f2f6fb;--accent:#4ca8ce;--accent-soft:#edf8fc;--chart-secondary:#87a6c7;--text:#23354d;--text-light:#687b91;--border:#e3eaf2;--surface:#fff;--bg:#f5f7fa;--success:#2e9e5b;--success-soft:#e2f5ea;--danger:#d64545;--danger-soft:#fbe9e9;--warning:#c98a12;--warning-soft:#fdf3df;--info:#386b9a;--radius:10px;--shadow:0 2px 8px #1d375806;--font-ui:"Manrope", "Inter", -apple-system, "Segoe UI", sans-serif;--sidebar-w:264px;--app-header-height:71px;--page-bottom-gap:8px;--search-input-width:350px;--scrollbar-track:var(--secondary-soft);--scrollbar-thumb:var(--chart-secondary);--scrollbar-thumb-hover:var(--info);--scrollbar-thumb-active:var(--primary)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}::-webkit-scrollbar-thumb{border:2px solid var(--scrollbar-track);background:var(--scrollbar-thumb);border-radius:999px;min-height:32px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active)}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}::-webkit-scrollbar-button{display:none}@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto;scrollbar-color:auto}}@media (forced-colors:active){*{scrollbar-color:auto}::-webkit-scrollbar-track{background:canvas}::-webkit-scrollbar-corner{background:canvas}::-webkit-scrollbar-thumb{background:buttontext;border-color:canvas}::-webkit-scrollbar-thumb:hover{background:highlight}::-webkit-scrollbar-thumb:active{background:highlight}}html,body,#root{height:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}h1,h2,h3,h4{color:var(--text);letter-spacing:-.025em;margin:0}button{font-family:inherit}button,[role=button],.btn{cursor:pointer;-webkit-user-select:none;user-select:none}a{text-decoration:none}a:hover{color:var(--info)}input,select,textarea{color:var(--text);font-family:inherit}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}select,option,optgroup{font-weight:400}textarea{resize:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[data-tooltip]{-webkit-user-select:none;user-select:none;position:relative}[data-tooltip]:after{content:attr(data-tooltip);z-index:1000;border:1px solid var(--border);background:var(--surface);width:max-content;max-width:min(280px,80vw);color:var(--text);font:500 12px/1.4 var(--font-ui);text-align:center;white-space:normal;pointer-events:none;opacity:0;visibility:hidden;border-radius:8px;padding:7px 10px;transition:opacity .12s,transform .12s,visibility .12s;display:none;position:absolute;bottom:calc(100% + 9px);left:50%;transform:translate(-50%,4px);box-shadow:0 8px 24px #1d375829}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1;visibility:visible;display:block;transform:translate(-50%)}.timetable-grid tr>td:last-child [data-tooltip]:after{left:auto;right:0;transform:translateY(4px)}.timetable-grid tr>td:last-child [data-tooltip]:hover:after,.timetable-grid tr>td:last-child [data-tooltip]:focus-visible:after{transform:translateY(0)}.required-mark,.field .required-mark,.auth-card .field .required-mark{color:var(--danger);margin-left:3px}.input-error{box-shadow:0 0 0 2px #d645451f;border-color:var(--danger)!important}.app-shell{min-height:100vh;display:flex}.sidebar{--sidebar-bg:#1d3758;width:var(--sidebar-w);background:var(--sidebar-bg);z-index:50;border-right:1px solid #ffffff20;flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{min-height:var(--app-header-height);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:8px 22px;display:flex}.brand-logo{background:var(--primary);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:17px;font-weight:800;display:grid}.brand-logo img{object-fit:contain;width:32px;height:32px;display:block}.brand-name{color:var(--primary);letter-spacing:-.025em;font-size:15px;font-weight:800}.brand-sub{color:var(--text-light);margin-top:3px;font-size:12px}.sidebar-nav{flex:1;min-height:0;padding:22px 14px 8px;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:6px;height:6px}.sidebar-nav::-webkit-scrollbar-thumb{border-width:1px}.nav-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-light);padding:8px 12px 14px;font-size:12px;font-weight:400}.nav-item{cursor:pointer;width:100%;color:var(--primary-dark);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:11px;margin-bottom:4px;padding:12px;font-size:12.5px;font-weight:400;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--secondary-soft)}.nav-item.active{background:var(--primary);color:#fff;font-weight:400}.nav-item .nav-icon{flex-shrink:0;width:19px;height:19px}.nav-chevron{color:var(--text-light);margin-left:auto;font-size:16px;line-height:1;transition:transform .18s}.nav-item.active .nav-chevron{color:inherit}.nav-chevron.open{transform:rotate(90deg)}.nav-sub{margin:2px 0 6px;padding-left:22px;position:relative}.nav-subitem{cursor:pointer;width:100%;color:var(--text-light);text-align:left;background:0 0;border:none;border-radius:8px;margin-bottom:1px;padding:8px 12px 8px 14px;font-size:12px;font-weight:400;transition:background .15s,color .15s;display:block}.nav-subitem:hover{background:var(--secondary-soft);color:var(--text)}.nav-subitem.active{background:var(--secondary);color:var(--primary);font-weight:400}.sidebar-dropdown{z-index:60;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:248px;max-width:calc(100vw - 96px);max-height:calc(100dvh - 16px);padding:8px;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #1d37581f}.sidebar-dropdown-title{color:var(--primary);padding:8px 14px;font-size:12.5px;font-weight:600}.sidebar .sidebar-brand{border-bottom-color:#ffffff20}.sidebar .brand-name{color:#fff}.sidebar .brand-sub,.sidebar .nav-label,.sidebar .nav-chevron{color:#c2d4e8}.sidebar .brand-logo{border:1px solid #ffffff25}.sidebar .nav-item{color:#e0eaf5}.sidebar .nav-item:hover{background:#ffffff0d}.sidebar .nav-item.active{color:#fff;background:#ffffff16}.sidebar .nav-subitem{color:#c2d4e8}.sidebar .nav-subitem:hover{color:#fff;background:#ffffff0d}.sidebar .nav-subitem.active{color:#edf4fc;background:#355578}.sidebar .sidebar-width-toggle{background:var(--sidebar-bg);color:#fff;border-color:#ffffff40}.sidebar .sidebar-width-toggle:hover{background:#294768}.sidebar-dropdown{background:#1d3758;border-color:#ffffff30}.sidebar-dropdown .sidebar-dropdown-title,.sidebar-dropdown .nav-subitem{color:#e0eaf5}.sidebar-dropdown .nav-subitem:hover{color:#fff;background:#ffffff0d}.sidebar-dropdown .nav-subitem.active{color:#edf4fc;background:#355578}.avatar{background:var(--secondary);width:36px;height:36px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;display:grid}.main-area{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-width:0;display:flex}.topbar{min-height:var(--app-header-height);background:var(--surface);border-bottom:1px solid var(--border);z-index:40;align-items:center;gap:16px;padding:10px 32px;display:flex;position:sticky;top:0}.topbar.topbar-page-heading{padding-inline:16px}.topbar-page-heading .topbar-heading-year-only{order:-1}.topbar-heading-year-only .topbar-sub{font-size:14px;font-weight:400}.topbar-sub{color:var(--text-light);margin-top:2px;font-size:12px}.topbar-academic-session{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.topbar-academic-session>span{white-space:nowrap}.hamburger{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:8px;padding:7px 9px;display:none}.sidebar-footer{height:0;position:absolute;bottom:0;left:0;right:0}.sidebar-width-toggle{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--primary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:7px;display:inline-flex;position:absolute;bottom:16px;right:-18px}.sidebar-width-toggle:hover{background:var(--secondary-soft)}@media (width>=861px){.sidebar{transition:width .18s,transform .25s}.main-area{transition:margin-left .18s}.app-shell.sidebar-collapsed{--sidebar-w:72px}.sidebar-collapsed .sidebar-brand{justify-content:center;padding-inline:8px}.sidebar-collapsed .sidebar-brand-copy,.sidebar-collapsed .nav-label,.sidebar-collapsed .nav-item-label,.sidebar-collapsed .nav-chevron,.sidebar-collapsed .nav-sub{display:none}.sidebar-collapsed .sidebar-nav{padding:22px 10px 8px}.sidebar-collapsed .nav-item{justify-content:center;min-height:44px;padding:12px}}@media (width<=860px){.sidebar-footer{display:none}}@media (prefers-reduced-motion:reduce){.sidebar,.main-area{transition:none}}.page{padding:28px 32px var(--page-bottom-gap);width:100%;max-width:1480px;margin:0 auto}.page.page-heading-shell{max-width:none;padding:8px 16px var(--page-bottom-gap)}.events-page-heading{flex-wrap:wrap;align-items:center;gap:8px 20px;min-height:32px;margin:8px 0 16px;display:flex}.events-page-title{color:var(--primary);margin:0;font-size:18px;font-weight:600}.page-heading-title-group{align-items:center;gap:8px;min-width:0;max-width:100%;display:flex}.page-heading-title-actions{flex-shrink:0;align-items:center;display:flex}.page-heading-title-actions:empty{display:none}.page-heading-actions{margin-left:auto}.page-heading-actions .btn{min-height:32px;padding:6px 10px;font-size:12px}@media (width<=600px){.topbar.topbar-page-heading,.page.page-heading-shell{padding-inline:8px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:22px}.card-title{color:var(--primary);margin-bottom:5px;font-size:14px;font-weight:800}.card-sub{color:var(--text-light);font-size:12px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{align-items:center;gap:14px;padding:22px 20px;display:flex}.stat-icon{border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.stat-icon svg{width:21px;height:21px}.stat-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.3}.stat-label{color:var(--text-light);font-size:12.5px;font-weight:500}.stat-delta{margin-top:3px;font-size:12px;font-weight:600}.delta-up{color:var(--success)}.delta-down{color:var(--danger)}.stat-card-featured{background:var(--primary);border-color:var(--primary);color:#fff}.stat-card-featured .stat-label{color:#c5d9f6}.stat-card-featured .stat-icon{background:var(--surface);color:var(--primary)}.stat-card-featured .stat-delta{color:#a4e3d9}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.recharts-cartesian-grid line,.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--border)}.recharts-cartesian-axis-tick-value{fill:var(--text-light);font-size:12px}.recharts-legend-wrapper{font-size:12px}.recharts-default-tooltip{border-radius:8px;font-size:12px;box-shadow:0 6px 24px #1d375814;border:1px solid var(--border)!important;background:var(--surface)!important}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:6px 14px;font-size:12px;font-weight:600;line-height:18px;transition:background .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-secondary{background:var(--secondary-soft);border-color:var(--border);color:var(--primary)}.btn-secondary:hover:not(:disabled){background:var(--secondary)}.btn-outline{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-success{background:var(--success-soft);color:var(--success)}.btn-sm{padding:6px 10px}:where(form,.faculty-form-actions,.student-form-actions) .btn:not(.btn-sm){justify-content:center;min-height:32px;padding:6px 14px;line-height:18px}.input,.select{border:1px solid var(--border);background:var(--surface);border-radius:9px;outline:none;padding:9px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.field{flex-direction:column;gap:5px;display:flex}.field label{color:var(--text-light);font-size:12px;font-weight:600}.field-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.field-label-action{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700;line-height:1}.field-label-action:hover{color:var(--info);text-decoration:none}.form-row{flex-wrap:wrap;gap:14px;display:flex}.form-row .field{flex:1;min-width:140px}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-info{background:var(--secondary-soft);color:var(--info)}.badge-primary{background:var(--primary-soft);color:var(--primary)}.badge-neutral{color:var(--text-light);background:#eef0f2}.table-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 18px;display:flex}.table-toolbar .input{flex:0 260px;min-width:200px}.input.project-search-input{width:min(var(--search-input-width), 100%);flex:0 1 var(--search-input-width);min-width:0}.table-wrap{overflow-x:auto}.table-wrap-loading{position:relative}.table-loading-overlay{z-index:2;background:color-mix(in srgb, var(--surface) 72%, transparent);pointer-events:all;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.table-loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}table.data-table{border-collapse:collapse;width:100%}.data-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;background:#f8fafd;padding:11px 16px;font-size:12px;font-weight:700}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--primary)}.table-sort-icon{vertical-align:middle;flex-shrink:0;width:14px;height:14px;margin-left:0;display:inline-block}.table-sort-button{color:inherit;font:inherit;text-transform:uppercase;letter-spacing:inherit;cursor:pointer;text-align:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.table-sort-button:hover{color:var(--primary)}.data-table .centered-table-column{text-align:center}:is(.semester-heading,.centered-table-column,.centered-pin-heading) :is(.table-sort-button,.mentorship-list-sort,.users-list-sort){position:relative}:is(.semester-heading,.centered-table-column,.centered-pin-heading) :is(.table-sort-button,.mentorship-list-sort,.users-list-sort) .table-sort-icon{margin:0;position:absolute;top:50%;left:calc(100% + 4px);transform:translateY(-50%)}.table-sort-button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.data-table td{border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 16px;font-size:13px}.data-table tbody tr:hover{background:#f8fbfe}.data-table tbody tr.clickable{cursor:pointer}.table-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}.table-footer-summary{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.table-page-size{align-items:center;gap:8px;display:inline-flex}.table-page-size select{border:1px solid var(--border);background:var(--surface);height:32px;color:var(--text);font:inherit;border-radius:7px;padding:0 8px}.pager{align-items:center;gap:5px;display:flex}.pager button{border:1px solid var(--border);background:var(--surface);cursor:pointer;min-width:32px;height:32px;color:var(--text);border-radius:7px;font-size:12.5px}.pager button.current{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:700}.pager button:disabled{opacity:.4;cursor:not-allowed}.students-table .data-table th,.students-table .data-table td{white-space:normal;word-break:break-word;padding-left:12px;padding-right:12px}.students-table .data-table td:last-child,.students-table .data-table th:last-child{white-space:nowrap}.row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.students-table .data-table td{vertical-align:middle}.students-table .data-table th,.students-table .data-table td{padding-top:11px;padding-bottom:11px}.stu-student-name{color:var(--text);font-size:13.5px;font-weight:400}.stu-identifier{white-space:nowrap;color:var(--primary);font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:12px;font-weight:700;display:inline-block}.stu-course{white-space:nowrap;letter-spacing:.03em;color:var(--info);background:var(--secondary-soft);border-radius:999px;padding:4px 11px;font-size:12px;font-weight:700;display:inline-block}.stu-sem{border:1px solid var(--border);background:var(--bg);letter-spacing:.04em;min-width:34px;height:26px;color:var(--text);border-radius:8px;place-items:center;padding:0 8px;font-size:12px;font-weight:800;display:inline-grid}.sec-token{border:1px solid var(--border);background:var(--bg);letter-spacing:.03em;min-width:21px;height:20px;color:var(--text);border-radius:6px;place-items:center;padding:0 6px;font-size:12px;font-weight:800;line-height:1;display:inline-grid}.att-ring{place-items:center;width:44px;height:44px;display:inline-grid;position:relative}.att-ring svg{width:44px;height:44px;display:block;transform:rotate(-90deg)}.att-ring circle{fill:none;stroke-width:4px}.att-ring-track{stroke:var(--secondary-soft)}.att-ring-meter{stroke-linecap:round;transition:stroke-dasharray .7s cubic-bezier(.2,.7,.3,1)}.att-ring-num{letter-spacing:-.03em;font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:12px;font-weight:800;line-height:1;display:flex;position:absolute;inset:0}.att-ring-num i{opacity:.7;margin-left:.5px;font-size:12px;font-style:normal;font-weight:700}.att-ring-high .att-ring-meter{stroke:var(--success)}.att-ring-high .att-ring-num{color:var(--success)}.att-ring-mid .att-ring-meter{stroke:var(--warning)}.att-ring-mid .att-ring-num{color:var(--warning)}.att-ring-low .att-ring-meter{stroke:var(--danger)}.att-ring-low .att-ring-num{color:var(--danger)}.row-menu-btn{width:32px;height:32px;color:var(--text-light);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-grid}.row-menu-btn:hover,.row-menu-btn.open{background:var(--secondary-soft);color:var(--primary);border-color:var(--border)}.row-menu{z-index:120;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:max-content;min-width:188px;max-width:calc(100vw - 16px);padding:6px;animation:.15s cubic-bezier(.2,.7,.3,1) row-menu-in;position:fixed;box-shadow:0 14px 38px #1418282e}@keyframes row-menu-in{0%{opacity:0;transform:translateY(-5px)scale(.98)}to{opacity:1;transform:none}}.row-menu-item{cursor:pointer;width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:400;transition:background .13s;display:flex}.row-menu-item svg{color:var(--text-light);flex-shrink:0}.row-menu-item:hover{background:var(--secondary-soft)}.row-menu-item.danger,.row-menu-item.danger svg{color:var(--danger)}.row-menu-item.danger:hover{background:var(--danger-soft)}.row-menu-sep{background:var(--border);height:1px;margin:5px 6px}.row-menu.directory-row-menu{min-width:242px;box-shadow:none;border:1px solid #d0d0d0;border-radius:6px;padding:8px 0}.directory-row-menu .row-menu-item{border-radius:0;gap:9px;padding:8px 18px;font-size:14px;font-weight:400}.directory-row-menu .row-menu-item svg{color:inherit}.directory-row-menu .row-menu-item.danger{color:#ff344b}.directory-row-menu .row-menu-item.danger svg{color:inherit}.directory-row-menu .row-menu-item:disabled{opacity:.45;cursor:not-allowed}.directory-row-menu .row-menu-item:disabled:hover{background:0 0}.directory-row-menu .row-menu-sep{background:#d0d0d0;margin:10px 0 6px}.row-menu-confirm{padding:8px 10px 6px}.row-menu-confirm p{color:var(--text);overflow-wrap:anywhere;margin:0 0 10px;font-size:12.5px;font-weight:600;line-height:1.35}.row-menu-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.modal-overlay{z-index:100;background:#44464880;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:14px;flex-direction:column;width:100%;max-height:90vh;display:flex;box-shadow:0 20px 60px #00000040}.modal-sm{max-width:460px}.modal-md{max-width:640px}.modal-lg{max-width:920px}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.modal-head h3{font-size:16px}.modal-close{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:20px;line-height:1}.modal-close:hover{background:var(--secondary-soft)}.modal-body{padding:18px;overflow-y:auto}.modal-body>p{margin:0}.modal-body>p+p{margin-top:8px}.modal-form-fields{gap:18px;display:grid}.modal-form-fields>.field{gap:8px;min-width:0}.modal-form-fields>.field>.input{width:100%;min-width:0;min-height:38px}.modal-confirm-content{gap:14px;display:grid}.modal-confirm-content p{margin:0}.modal-confirm-warning{gap:8px;display:grid}.modal-confirm-warning ul{margin:0;padding-left:20px}.modal-confirm-warning li+li{margin-top:4px}.modal-confirm-details{gap:14px;margin:0;display:grid}.modal-confirm-details>div{grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.modal-confirm-details dt{color:var(--text-light);font-size:12px}.modal-confirm-details dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:13px}.modal-confirm-details dd strong{font-weight:600}.modal-confirm-details dd small{color:var(--text-light);margin-top:3px;font-size:12px;display:block}.modal-confirm-items{overscroll-behavior:contain;border:1px solid var(--border);border-radius:8px;gap:12px;max-height:220px;margin:0;padding:12px;list-style:none;display:grid;overflow-y:auto}.modal-confirm-items strong{overflow-wrap:anywhere;font-size:13px;font-weight:600;display:block}.modal-confirm-items small{color:var(--text-light);overflow-wrap:anywhere;margin-top:3px;font-size:12px;display:block}.modal-confirm-checkbox{cursor:pointer;align-items:center;gap:8px;display:flex}.modal-confirm-content .field small{color:var(--text-light);line-height:1.5}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;padding:12px 18px;display:flex}.tabs{border-bottom:2px solid var(--border);gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--text-light);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 16px;font-size:13.5px;font-weight:600}.tab:hover{color:var(--primary)}.tab.active{color:var(--primary);border-bottom-color:var(--primary)}.combo{position:relative}.combo .input{width:100%}.toast-stack{z-index:200;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:22px;right:22px}.toast{background:var(--text);color:#fff;border-radius:10px;align-items:flex-start;gap:10px;max-width:380px;padding:13px 18px;font-size:13px;animation:.25s toast-in;display:flex;box-shadow:0 8px 24px #0003}.toast-error{border-left:4px solid var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.app-load-transition,.app-loading-content{display:contents}.app-loading-content .spinner{visibility:hidden}.app-load-transition:is([data-phase=loading],[data-phase=exiting])>.app-loading-content>*{opacity:0;pointer-events:none}.app-load-transition:has(.app-loading-content .spinner)>.app-loading-content>*{opacity:0;pointer-events:none}.app-loading-overlay{z-index:2000;background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.app-loading-logo{width:64px;height:64px}.app-loading-logo .spinner{position:relative;top:auto;left:auto;translate:none}.app-load-transition[data-phase=exiting] .app-loading-logo{animation:.16s ease-out both app-logo-exit}.app-load-transition[data-phase=revealing]>.app-loading-content>*{animation:.2s ease-out both app-page-reveal}@keyframes app-logo-exit{0%{opacity:1}to{opacity:0}}@keyframes app-page-reveal{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.app-load-transition[data-phase=exiting] .app-loading-logo,.app-load-transition[data-phase=revealing]>.app-loading-content>*{animation:none}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px;display:flex}.page-head h2{font-size:21px;font-weight:800}.page-head p{color:var(--text-light);margin:4px 0 0;font-size:13px}.actions-row{flex-wrap:wrap;gap:10px;display:flex}.action-group{flex-wrap:wrap;align-items:center;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:18px;display:grid}.empty-state{text-align:center;color:var(--text-light);padding:48px 20px}.spinner{z-index:10;pointer-events:none;width:64px;height:64px;margin:0;animation:2.4s ease-in-out infinite logo-loader-pulse;position:fixed;top:50%;left:50%;translate:-50% -50%}.spinner:before,.spinner:after{content:"";position:absolute;inset:0;-webkit-mask:url(/assets/college-logomark-DOM7P6VK.png) 50%/contain no-repeat;mask:url(/assets/college-logomark-DOM7P6VK.png) 50%/contain no-repeat}.spinner:before{background:var(--primary)}.spinner:after{background:linear-gradient(110deg, transparent 35%, var(--accent) 50%, transparent 65%);background-size:300% 100%;animation:2.4s ease-in-out infinite logo-loader-sweep}@keyframes logo-loader-pulse{0%,to{opacity:.75;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}@keyframes logo-loader-sweep{0%,15%{background-position:100% 0}85%,to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}.spinner:after{display:none}}@keyframes spin{to{transform:rotate(360deg)}}.progress-track{background:var(--secondary-soft);border-radius:999px;min-width:80px;height:7px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:999px;height:100%}.progress-fill.low{background:var(--danger)}.progress-fill.mid{background:var(--warning)}.progress-fill.high{background:var(--success)}.kv-list{grid-template-columns:140px 1fr;gap:8px 14px;font-size:13px;display:grid}.kv-list dt{color:var(--text-light);margin:0;font-weight:500}.kv-list dd{margin:0;font-weight:500}.dual-list{grid-template-columns:1fr 56px 1fr;align-items:stretch;gap:14px;display:grid}.dual-panel{border:1px solid var(--border);background:var(--surface);border-radius:10px;flex-direction:column;min-height:340px;max-height:420px;display:flex}.dual-panel-head{background:var(--secondary-soft);border-bottom:1px solid var(--border);border-radius:10px 10px 0 0;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12.5px;font-weight:700;display:flex}.dual-panel-tools{border-bottom:1px solid var(--border);background:var(--surface);padding:10px}.dual-panel-tools .input,.dual-panel-tools .select{width:100%}.student-pool-tools{gap:8px;display:grid}.student-pool-tools .field label{font-size:12px}.alloc-target{grid-template-columns:1fr 1fr;gap:8px 10px;display:grid}.alloc-target .field label{font-size:12px}.dual-panel-list{flex:1;padding:6px;overflow-y:auto}.dual-item{cursor:pointer;border-radius:7px;align-items:center;gap:9px;padding:8px 10px;font-size:13px;display:flex}.dual-item:hover{background:var(--secondary-soft)}.dual-item.selected{background:var(--primary-soft);color:var(--primary);font-weight:600}.dual-arrows{flex-direction:column;justify-content:center;gap:8px;display:flex}.checkbox{width:16px;height:16px;accent-color:var(--primary);cursor:pointer}:root input:is([type=checkbox],[type=radio]){accent-color:var(--primary)}:root input[type=radio]:focus-visible{outline:2px solid var(--primary);outline-offset:3px}:root input[type=checkbox]{appearance:none;box-sizing:border-box;background:var(--surface);vertical-align:middle;cursor:pointer;border:1px solid #7f908b;border-radius:3px;flex-shrink:0;place-content:center;width:18px;min-width:18px;height:18px;min-height:18px;margin:0;padding:0;transition:background-color .15s,border-color .15s,box-shadow .15s;display:inline-grid}:root input[type=checkbox]:after{content:"";opacity:0;background-position:50%;background-repeat:no-repeat;background-size:contain;width:12px;height:12px;transition:opacity .12s,transform .12s;transform:scale(.8)}:root input[type=checkbox]:checked,:root input[type=checkbox]:indeterminate{background-color:var(--primary);border-color:var(--primary)}:root input[type=checkbox]:checked:after{opacity:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.5 8 3 3 6-6' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");transform:scale(1)}:root input[type=checkbox]:indeterminate:after{opacity:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");transform:scale(1)}:root input[type=checkbox]:hover:not(:disabled){border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}:root input[type=checkbox]:focus-visible{outline:2px solid var(--primary);outline-offset:3px}:root input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}@media (prefers-reduced-motion:reduce){:root input[type=checkbox],:root input[type=checkbox]:after{transition:none}}.duration-toggle{color:var(--text);cursor:pointer;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:inline-flex}.duration-toggle .checkbox{margin:0}.link-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.link-btn:hover{color:var(--info);text-decoration:none}@media (width<=1024px){.grid-2{grid-template-columns:1fr}.chart-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=860px){:root{--app-header-height:67px}.sidebar{box-shadow:none;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:0 0 40px #00000040}.main-area{margin-left:0}.hamburger{display:inline-flex}.page{padding:18px 16px var(--page-bottom-gap)}.topbar{padding:8px 16px}.dual-list{grid-template-columns:1fr}.dual-arrows{flex-direction:row;justify-content:center}.dual-arrows .rot{transform:rotate(90deg)}}@media (width<=600px){:root{--app-header-height:63px}}.sidebar-backdrop{display:none}@media (width<=860px){.sidebar-backdrop.show{z-index:45;background:#44464866;display:block;position:fixed;inset:0}}.cal-root{--odd-1:var(--primary);--odd-2:var(--accent);--odd-soft:var(--primary-soft);--even-1:#1f7a8c;--even-2:#38b2c4;--even-soft:#e2f4f6;--evt-holiday:#d64545;--evt-holiday-soft:#fbe9e9;--evt-festival:#c98a12;--evt-festival-soft:#fdf3df;--evt-exam:var(--primary);--evt-exam-soft:var(--primary-soft);--evt-event:#3a6ea5;--evt-event-soft:#e8f0f8;--evt-break:#2e9e5b;--evt-break-soft:#e2f5ea}.cal-display{font-family:var(--font-ui);font-optical-sizing:auto;letter-spacing:-.01em}.page-head h2.cal-display{font-size:30px;font-weight:600;line-height:1.08}.seg{background:var(--secondary-soft);border-radius:10px;gap:2px;padding:4px;display:inline-flex}.seg-btn{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:7px;padding:7px 16px;font-size:13px;font-weight:600;transition:all .15s}.seg-btn:hover{color:var(--text)}.seg-btn.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 4px #4446481f}.type-picker{flex-wrap:wrap;gap:8px;display:flex}.type-chip{cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--text-light);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:inline-flex}.type-chip em{opacity:.7;font-style:normal;font-weight:700}.type-chip .type-glyph{font-size:12px;line-height:1}.type-chip:hover{border-color:var(--text-light)}.evt-holiday.on,.type-picker .evt-holiday.on{background:var(--evt-holiday);border-color:var(--evt-holiday);color:#fff}.evt-festival.on,.type-picker .evt-festival.on{background:var(--evt-festival);border-color:var(--evt-festival);color:#fff}.evt-exam.on,.type-picker .evt-exam.on{background:var(--evt-exam);border-color:var(--evt-exam);color:#fff}.evt-event.on,.type-picker .evt-event.on{background:var(--evt-event);border-color:var(--evt-event);color:#fff}.evt-break.on,.type-picker .evt-break.on{background:var(--evt-break);border-color:var(--evt-break);color:#fff}.type-chip.on em{opacity:.85}.evt-timeline{flex-direction:column;gap:26px;display:flex}.evt-month{animation:.45s both evt-in}@keyframes evt-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.evt-month-label{color:var(--text);border-bottom:2px solid var(--primary-soft);margin-bottom:12px;padding-bottom:6px;font-size:17px;font-weight:600;display:inline-block}.evt-list{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px;display:grid}.evt-card{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:11px;align-items:stretch;gap:14px;padding:13px 14px;transition:box-shadow .18s,transform .18s;display:flex;position:relative}.evt-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.evt-card .evt-del{opacity:0}.evt-card:hover .evt-del{opacity:1}.evt-holiday.evt-card{border-left-color:var(--evt-holiday)}.evt-festival.evt-card{border-left-color:var(--evt-festival)}.evt-exam.evt-card{border-left-color:var(--evt-exam)}.evt-event.evt-card{border-left-color:var(--evt-event)}.evt-break.evt-card{border-left-color:var(--evt-break)}.evt-date{border-radius:9px;flex-direction:column;flex:0 0 50px;justify-content:center;align-items:center;padding:6px 0;display:flex}.evt-holiday .evt-date{background:var(--evt-holiday-soft);color:var(--evt-holiday)}.evt-festival .evt-date{background:var(--evt-festival-soft);color:var(--evt-festival)}.evt-exam .evt-date{background:var(--evt-exam-soft);color:var(--evt-exam)}.evt-event .evt-date{background:var(--evt-event-soft);color:var(--evt-event)}.evt-break .evt-date{background:var(--evt-break-soft);color:var(--evt-break)}.evt-day{font-size:22px;font-weight:800;line-height:1;font-family:var(--font-ui)}.evt-dow{text-transform:uppercase;letter-spacing:.06em;margin-top:2px;font-size:12px;font-weight:700}.evt-main{flex:1;min-width:0}.evt-title-row{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:3px;display:flex}.evt-glyph{font-size:12px}.evt-holiday .evt-glyph{color:var(--evt-holiday)}.evt-festival .evt-glyph{color:var(--evt-festival)}.evt-exam .evt-glyph{color:var(--evt-exam)}.evt-event .evt-glyph{color:var(--evt-event)}.evt-break .evt-glyph{color:var(--evt-break)}.evt-title{font-size:14px;font-weight:700}.badge-cal{text-transform:uppercase;letter-spacing:.04em;padding:2px 9px;font-size:12px}.evt-badge-holiday{background:var(--evt-holiday-soft);color:var(--evt-holiday)}.evt-badge-festival{background:var(--evt-festival-soft);color:var(--evt-festival)}.evt-badge-exam{background:var(--evt-exam-soft);color:var(--evt-exam)}.evt-badge-event{background:var(--evt-event-soft);color:var(--evt-event)}.evt-badge-break{background:var(--evt-break-soft);color:var(--evt-break)}.evt-span{color:var(--text-light);background:var(--secondary-soft);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.evt-range{color:var(--text-light);font-size:12px;font-weight:600}.evt-desc{color:var(--text-light);margin-top:5px;font-size:12.5px;line-height:1.45}.evt-del{background:var(--secondary-soft);width:22px;height:22px;color:var(--text-light);cursor:pointer;border:none;border-radius:6px;font-size:16px;line-height:1;transition:all .15s;position:absolute;top:8px;right:9px}.evt-del:hover{background:var(--danger-soft);color:var(--danger)}.evt-listing{flex-direction:column;gap:24px;display:flex}.evt-listing-head{color:var(--text-light);padding:0 2px;font-size:13px}.evt-listing-head strong{color:var(--text);font-size:15px}.evt-listing-head .evt-glyph{color:var(--primary)}.evt-group{animation:.45s both evt-in}.evt-group-head{align-items:center;gap:11px;margin-bottom:11px;display:flex}.evt-group-month{color:var(--text);font-size:18px;font-weight:600}.evt-group-yr{color:var(--text-light);font-size:12.5px;font-weight:600}.evt-group-line{background:var(--border);flex:1;height:1px}.evt-group-count{color:var(--text-light);background:var(--secondary-soft);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700}.evt-rows{flex-direction:column;gap:8px;display:flex}.evt-row{background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--border);border-radius:11px;align-items:stretch;gap:14px;padding:11px 14px;transition:box-shadow .18s,transform .18s,border-color .18s;display:flex;position:relative}.evt-row:hover{box-shadow:var(--shadow);transform:translate(3px)}.evt-holiday.evt-row{border-left-color:var(--evt-holiday)}.evt-festival.evt-row{border-left-color:var(--evt-festival)}.evt-exam.evt-row{border-left-color:var(--evt-exam)}.evt-event.evt-row{border-left-color:var(--evt-event)}.evt-break.evt-row{border-left-color:var(--evt-break)}.evt-row-date{border-radius:9px;flex-direction:column;flex:0 0 50px;justify-content:center;align-items:center;gap:2px;padding:5px 0;display:flex}.evt-holiday .evt-row-date{background:var(--evt-holiday-soft);color:var(--evt-holiday)}.evt-festival .evt-row-date{background:var(--evt-festival-soft);color:var(--evt-festival)}.evt-exam .evt-row-date{background:var(--evt-exam-soft);color:var(--evt-exam)}.evt-event .evt-row-date{background:var(--evt-event-soft);color:var(--evt-event)}.evt-break .evt-row-date{background:var(--evt-break-soft);color:var(--evt-break)}.evt-row-day{font-size:20px;font-weight:700;line-height:1}.evt-row-dow{text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.evt-row-body{flex-direction:column;flex:1;justify-content:center;gap:4px;min-width:0;display:flex}.evt-row-titleline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.evt-row-title{color:var(--text);font-size:14.5px;font-weight:700}.evt-row-span{color:var(--text-light);background:var(--secondary-soft);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}.evt-row-soon{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:3px 8px;font-size:12px;font-weight:800}.evt-row-meta{min-width:0;color:var(--text-light);align-items:baseline;gap:10px;font-size:12.5px;display:flex}.evt-row-range{white-space:nowrap;flex-shrink:0;font-weight:600}.evt-row-desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.evt-row-del{cursor:pointer;width:28px;height:28px;color:var(--text-light);opacity:0;background:0 0;border:none;border-radius:7px;flex-shrink:0;align-self:center;font-size:19px;line-height:1;transition:opacity .15s,background .15s,color .15s}.evt-row:hover .evt-row-del{opacity:1}.evt-row-del:hover{background:var(--danger-soft);color:var(--danger)}.cal-cap-summary{color:var(--text-light);font-size:13px}.cal-cap-summary strong{color:var(--text);font-size:15px;font-weight:700}.cal-cap-summary .evt-glyph{color:var(--primary)}.cal-cap-legend{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.cal-cap-key{color:var(--text-light);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.cal-cap-key i{border-radius:50%;width:9px;height:9px}table.cal-table{border-collapse:separate;border-spacing:0;width:100%}.cal-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);background:var(--secondary-soft);border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:11px 16px;font-size:12px;font-weight:700}.cal-table th.sortable{cursor:pointer;transition:color .15s}.cal-table th.sortable:hover{color:var(--primary)}.cal-table tbody td{border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 16px}.cal-table tbody tr{transition:background .14s}.cal-table tbody tr:hover{background:var(--secondary-soft)}.cal-table tbody tr:last-child td{border-bottom:none}.cal-table tbody tr td:first-child{box-shadow:inset 4px 0 0 0 var(--row-accent,var(--border))}.cal-tr.evt-holiday{--row-accent:var(--evt-holiday)}.cal-tr.evt-festival{--row-accent:var(--evt-festival)}.cal-tr.evt-exam{--row-accent:var(--evt-exam)}.cal-tr.evt-event{--row-accent:var(--evt-event)}.cal-tr.evt-break{--row-accent:var(--evt-break)}.cal-td-date{width:64px}.cal-date-chip{border-radius:11px;flex-direction:column;justify-content:center;align-items:center;width:52px;padding:7px 0;line-height:1;display:inline-flex}.cal-date-chip .d{font-family:var(--font-ui);font-size:21px;font-weight:700}.cal-date-chip .mo{text-transform:uppercase;letter-spacing:.06em;margin-top:4px;font-size:12px;font-weight:800}.evt-holiday .cal-date-chip{background:var(--evt-holiday-soft);color:var(--evt-holiday)}.evt-festival .cal-date-chip{background:var(--evt-festival-soft);color:var(--evt-festival)}.evt-exam .cal-date-chip{background:var(--evt-exam-soft);color:var(--evt-exam)}.evt-event .cal-date-chip{background:var(--evt-event-soft);color:var(--evt-event)}.evt-break .cal-date-chip{background:var(--evt-break-soft);color:var(--evt-break)}.cal-evt-titleline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cal-evt-title{color:var(--text);font-size:14.5px;font-weight:700}.cal-evt-desc{color:var(--text-light);text-overflow:ellipsis;white-space:nowrap;max-width:440px;margin-top:4px;font-size:12.5px;line-height:1.4;overflow:hidden}.cal-when-range{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.cal-td-actions{width:92px}.cal-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.cal-empty-cell{padding:0!important}@media (width<=900px){.page-head h2.cal-display{font-size:25px}.evt-list{grid-template-columns:1fr}}@media (width<=560px){.evt-row-meta{flex-direction:column;gap:2px}.evt-row-desc{white-space:normal}.cal-evt-desc{white-space:normal;max-width:220px}}.res-student{flex-direction:column;line-height:1.25;display:flex}.res-student strong{color:var(--text);font-size:13px}.res-reg{color:var(--text-light);font-size:12px}.res-score{flex-direction:column;line-height:1.2;display:flex}.res-score strong{color:var(--primary);font-size:13.5px}.res-total{color:var(--text-light);font-size:12px}.mark-entry{animation:.3s cubic-bezier(.2,.7,.3,1) me-in}@keyframes me-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.me-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.count-badge{background:var(--primary-soft);min-width:24px;min-height:24px;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.faculty-name{color:var(--text);font-size:13.5px}.faculty-name-link{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-size:13.5px;font-weight:700;display:inline}.faculty-name-link:hover,.faculty-name-link:focus-visible{color:var(--info);text-decoration:none}.faculty-details-page{width:100%}.faculty-details-head{justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:20px;display:flex}.faculty-details-identity{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.faculty-details-avatar{background:var(--primary-soft);width:68px;height:68px;color:var(--primary);border:1px solid var(--border);border-radius:16px;flex:none;place-items:center;font-size:21px;font-weight:800;display:grid}.faculty-details-copy{min-width:220px}.faculty-details-copy .reg-eyebrow{margin-bottom:3px}.faculty-details-copy p:last-child{color:var(--text-light);margin:4px 0 0;font-size:12px}.faculty-details-card{min-width:0}.faculty-details-tabs{overflow-x:auto}.faculty-details-grid{grid-template-columns:minmax(150px,.35fr) minmax(0,1fr)}.faculty-details-grid dd a{color:var(--primary);text-decoration:none}.faculty-details-grid dd a:hover{color:var(--info);text-decoration:none}.faculty-portal-actions{flex-wrap:wrap;gap:10px;margin:20px 0;display:flex}.faculty-portal-access .select{min-width:115px}.faculty-overview-stats,.faculty-overview-links{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;margin-bottom:22px;display:grid}.faculty-overview-links{margin-top:22px}.faculty-overview-teaching h3{margin-bottom:14px}.faculty-overview-link{text-align:left;color:var(--text);cursor:pointer}.faculty-overview-link h3{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.faculty-overview-link p{color:var(--text-light)}.faculty-overview-link:hover{border-color:var(--primary)}.faculty-details-toolbar{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.faculty-details-toolbar h3{align-items:center;gap:9px;font-size:16px;display:flex}.faculty-details-toolbar p{color:var(--text-light);margin:3px 0 0;font-size:12px}.faculty-details-state{min-height:150px;color:var(--text-light);text-align:center;border:1px dashed var(--border);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.faculty-details-state p{color:var(--danger);margin:0}.faculty-details-table{min-width:0;overflow-x:auto}.faculty-details-table .card{box-shadow:none}.faculty-details-table .data-table td{vertical-align:top}.faculty-details-table .data-table td strong,.faculty-details-table .data-table td small{display:block}.faculty-details-table .data-table td small{color:var(--text-light);margin-top:2px;font-size:12px}.faculty-contact{white-space:normal;flex-direction:column;gap:5px;display:flex}.faculty-contact a{color:var(--text);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.faculty-contact a:hover{color:var(--primary)}.faculty-contact svg{color:var(--primary);flex:none}.faculty-search{width:100%}.faculty-form-page,.faculty-form-card{max-width:860px}.faculty-allocation-page{width:100%;max-width:none;margin:0}.faculty-paper-toolbar label{color:var(--text-light);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.faculty-scope-note{color:var(--text-light);margin:14px 0 0;font-size:12px}.faculty-paper-toolbar .input{width:100%}.faculty-paper-toolbar{grid-template-columns:minmax(0,1fr) 140px;gap:10px;margin-top:16px;display:grid}.faculty-paper-toolbar .select{width:100%}.faculty-paper-loading{z-index:2;min-height:120px;color:var(--text-light);background:#ffffffd1;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex;position:absolute;inset:0}.faculty-form-actions{border-top:1px solid var(--border);justify-content:flex-start;gap:10px;margin-top:26px;padding-top:18px;display:flex}.mentorship-page-head{margin-bottom:18px}.mentorship-assignment-page{gap:16px;max-width:1480px;display:grid}.mentorship-assignment-page .mentorship-page-head{grid-template-columns:minmax(0,1fr) minmax(280px,.56fr);align-items:center;gap:24px;display:grid}.mentorship-assignment-page .mentorship-page-head>div:first-child>p:last-child{margin-bottom:0}.mentorship-selection-summary span:not(.mentorship-faculty-avatar){color:var(--text-light);font-size:12px}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.mentorship-roster-toolbar{grid-template-columns:minmax(200px,1.65fr) repeat(3,minmax(118px,1fr));gap:10px;margin-bottom:14px;display:grid}.mentorship-roster-empty{text-align:center;height:136px;color:var(--text-light)!important}.mentorship-clear-button:hover:not(:disabled){background:var(--primary-soft)}.mentorship-conflict{border:1px solid color-mix(in srgb, var(--danger) 30%, var(--border));color:var(--danger);background:#fff5f5;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;font-size:12px;display:flex}.mentorship-assignment-actions{justify-content:space-between;align-items:center;gap:18px;padding:15px 18px;display:flex}.mentorship-action-buttons{gap:9px;display:flex}.mentorship-build-card,.mentorship-existing-card{overflow:hidden}.mentorship-transfer-heading>span,.mentorship-transfer-heading>div>span{background:var(--primary-soft);color:var(--primary);white-space:nowrap;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.mentorship-transfer-workspace{grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:15px;display:grid}.mentorship-transfer-panel{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;overflow:hidden}.mentorship-selected-panel{align-self:stretch}.mentorship-transfer-heading{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--secondary-soft) 52%, white);justify-content:space-between;align-items:center;gap:10px;min-height:43px;padding:0 12px;display:flex}.mentorship-transfer-heading h4{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;overflow:hidden}.mentorship-transfer-heading>div{align-items:center;gap:8px;display:flex}.mentorship-clear-inline{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.mentorship-clear-inline:disabled{color:var(--text-light);cursor:not-allowed;opacity:.55}.mentorship-transfer-panel .mentorship-roster-toolbar{grid-template-columns:minmax(160px,1.7fr) repeat(3,minmax(90px,1fr));margin:12px}.mentorship-transfer-table-wrap{overflow-x:auto}.mentorship-transfer-table{border-collapse:collapse;width:100%;min-width:540px}.mentorship-transfer-table th{border-bottom:1px solid var(--border);background:var(--secondary-soft);color:var(--text-light);letter-spacing:.035em;text-align:left;text-transform:uppercase;white-space:nowrap;padding:9px 10px;font-size:12px;font-weight:750}.mentorship-transfer-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;white-space:nowrap;padding:9px 10px;font-size:12px}.mentorship-transfer-table tbody tr:last-child td{border-bottom:0}.mentorship-transfer-table tbody tr:hover,.mentorship-transfer-table tbody tr.is-selected{background:color-mix(in srgb, var(--primary-soft) 72%, white)}.mentorship-transfer-table td:first-child,.mentorship-transfer-table th:first-child{width:34px;padding-left:11px;padding-right:2px}.mentorship-transfer-table td:nth-child(2){min-width:116px}.mentorship-transfer-arrow{border:1px solid var(--border);background:var(--surface);width:38px;height:34px;color:var(--primary);cursor:pointer;border-radius:8px;place-items:center;font-size:18px;font-weight:700;transition:background .15s,color .15s,border-color .15s;display:grid}.mentorship-transfer-arrow:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.mentorship-transfer-arrow.is-forward:hover:not(:disabled){background:var(--primary-dark)}.mentorship-transfer-arrow:disabled{cursor:not-allowed;opacity:.4}.mentorship-existing-card{margin-top:0}.mentee-detail{max-width:920px}.mentorship-history-group{margin-bottom:14px}.mentorship-history-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.mentorship-history-period{color:var(--primary);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:800;display:block}.mentorship-history-head h3{margin:0;font-size:15px}.mentorship-history-head p{color:var(--text-light);margin:4px 0 0;font-size:12px}.mentorship-current-pill{color:#13795b;white-space:nowrap;background:#d9f6eb;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.student-mentorship-panel{flex-direction:column;gap:16px;display:flex}.student-mentor-card{border:1px solid color-mix(in srgb, var(--primary) 26%, var(--border));background:linear-gradient(135deg, var(--primary-soft), var(--surface) 64%);border-radius:11px;grid-template-columns:auto minmax(0,1fr) minmax(210px,.55fr);align-items:center;gap:16px;padding:18px;display:grid}.student-mentor-mark{background:var(--primary);color:#fff;letter-spacing:.03em;border-radius:16px;place-items:center;width:54px;height:54px;font-size:15px;font-weight:800;display:grid}.student-mentor-primary>span,.student-mentorship-heading span{color:var(--primary);letter-spacing:.07em;text-transform:uppercase;font-size:12px;font-weight:800}.student-mentor-primary h3{margin:3px 0 2px;font-size:16px}.student-mentor-primary p{color:var(--text-light);margin:0;font-size:12px}.student-mentor-primary small{color:var(--text);margin-top:7px;font-size:12px;display:block}.student-mentor-contact{border-left:1px solid var(--border);grid-template-columns:auto minmax(0,1fr);gap:5px 10px;margin:0;padding-left:16px;font-size:12px;display:grid}.student-mentor-contact dt{color:var(--text-light)}.student-mentor-contact dd{overflow-wrap:anywhere;color:var(--text);margin:0;font-weight:600}.student-mentor-empty{border:1px dashed var(--border);border-radius:10px;flex-direction:column;gap:5px;padding:26px;display:flex}.student-mentor-empty strong{color:var(--text);font-size:14px}.student-mentor-empty span{color:var(--text-light);font-size:12px}.student-mentorship-heading{justify-content:space-between;align-items:end;gap:14px;margin-top:2px;display:flex}.student-mentorship-heading h3{margin:3px 0 0;font-size:16px}.student-mentorship-heading small{color:var(--text-light);font-size:12px}.student-mentorship-history{border:1px solid var(--border);border-radius:10px;padding:16px}@media (width<=1100px){.mentorship-transfer-workspace{grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:10px}}@media (width<=860px){.faculty-details-head{flex-direction:column;align-items:stretch}.mentorship-assignment-page .mentorship-page-head,.mentorship-transfer-workspace{grid-template-columns:1fr}.mentorship-transfer-arrow{width:100%}}@media (width<=640px){.faculty-details-avatar{border-radius:13px;width:56px;height:56px;font-size:18px}.faculty-details-copy{min-width:0}.faculty-details-grid{grid-template-columns:1fr;gap:5px 0}.faculty-details-grid dt{margin-top:10px}.faculty-details-grid dd{margin-bottom:4px}.faculty-details-toolbar{flex-direction:column;align-items:stretch}.faculty-details-toolbar .btn{align-self:flex-start}.faculty-paper-toolbar{grid-template-columns:1fr}.faculty-form-actions .btn{flex:1}.mentorship-page-head{align-items:stretch}.mentorship-page-head .btn{width:100%}.student-mentor-card{grid-template-columns:1fr}.mentorship-conflict,.mentorship-history-head{flex-direction:column;align-items:stretch}.mentorship-transfer-panel .mentorship-roster-toolbar,.mentorship-roster-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.mentorship-assignment-actions{flex-direction:column;align-items:stretch}.mentorship-action-buttons{grid-template-columns:1fr 1fr;display:grid}.mentorship-action-buttons .btn{justify-content:center}.student-mentor-contact{border-top:1px solid var(--border);border-left:0;padding:12px 0 0}}@media (width<=480px){.mentorship-roster-toolbar{grid-template-columns:1fr}}.radio-row{flex-wrap:wrap;gap:8px;display:flex}.radio-pill{cursor:pointer;border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:9px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.radio-pill:hover{border-color:var(--primary)}.radio-pill.on{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.radio-pill input{accent-color:var(--primary);cursor:pointer;margin:0}.dash-filter{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.dash-filter-controls{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.chart-grid.is-loading,.stat-grid.is-loading{opacity:.55;pointer-events:none;transition:opacity .2s}.sess-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.sess-terms{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sess-term{border:1px solid var(--border);border-left:4px solid var(--border);background:var(--bg);border-radius:11px;padding:14px 16px;transition:box-shadow .18s,background .18s}.sess-term.selected{background:var(--surface);box-shadow:inset 0 0 0 2px var(--primary)}.sess-term-odd{border-left-color:var(--primary)}.sess-term-even{border-left-color:#1f7a8c}.sess-term-odd .sem-dot{background:var(--primary)}.sess-term-even .sem-dot{background:#1f7a8c}.sess-term-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.sess-term-name{align-items:center;gap:8px;font-size:13.5px;font-weight:700;display:inline-flex}.sess-term-tags{align-items:center;gap:6px;display:inline-flex}.sess-pick{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);background:var(--primary-soft);border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800}.sess-term-dates{color:var(--text);font-size:13px;font-weight:600}.sess-term-meta{color:var(--text-light);margin-top:2px;font-size:12px}@media (width<=720px){.sess-terms{grid-template-columns:1fr}}.reg{--crs-1:var(--primary);--crs-2:var(--accent);--dpt:#1f7a8c;--dpt-soft:#e2f4f6}.reg-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--crs-1);font-size:12px;font-weight:700;margin:0 0 4px!important}.reg-title{font-size:30px;font-weight:600;line-height:1.08}.btn-soft{background:var(--primary-soft);color:var(--primary)}.btn-soft:hover:not(:disabled){background:var(--secondary)}.btn-teal:hover:not(:disabled){background:#cfeaee}.icon-btn{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--text-light);cursor:pointer;border-radius:8px;flex-shrink:0;place-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-grid}.icon-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.icon-btn-danger:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-soft)}.confirm-inline{background:var(--danger-soft);border-radius:9px;align-items:center;gap:6px;padding:3px 5px 3px 11px;animation:.18s form-in;display:inline-flex}.confirm-msg{color:var(--danger);white-space:nowrap;font-size:12px;font-weight:700}.reg-summary{flex-wrap:wrap;gap:12px;margin-bottom:18px;display:flex}.dpt{margin-bottom:10px;position:relative}.dpt:last-child{margin-bottom:0}.dpt:before{content:"";background:var(--border);width:13px;height:2px;position:absolute;top:23px;left:-13px}.dpt>.sec-area{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--dpt);border-top:none;border-radius:0 0 10px 10px}.programme-manage-form .inline-form-fields{grid-template-columns:minmax(120px,1.15fr) minmax(180px,2.2fr) minmax(90px,.8fr) minmax(150px,1fr);gap:10px;min-width:0;display:grid}.programme-manage-form .field{min-width:0!important;max-width:none!important}.programme-add-ghost{background:var(--bg);border:1.5px dotted var(--dpt);width:100%;min-height:82px;color:var(--text-light);cursor:pointer;opacity:.78;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s,opacity .15s;display:flex;position:relative}.programme-add-ghost:hover:not(:disabled){border-color:var(--dpt);background:var(--dpt-soft);color:var(--dpt);opacity:1}.programme-add-ghost:disabled{cursor:not-allowed}.programme-manage-actions{justify-content:flex-start;gap:9px;margin-top:12px;display:flex}.programme-adoption-actions{align-items:center;margin-left:auto;display:flex}.sec-area{padding:12px 13px 13px 50px}.sec{background:var(--bg);border:1px solid var(--border);border-radius:10px;align-items:center;gap:11px;padding:9px 11px;transition:border-color .15s,box-shadow .15s;display:flex}.section-manage-form .inline-form-fields{grid-template-columns:minmax(0,.8fr) minmax(96px,1.2fr);gap:10px 12px;min-width:0;display:grid}.section-manage-form .field{min-width:0!important;max-width:none!important}.section-manage-form .field .input,.section-manage-form .field .select{width:100%;min-width:0}.sec:hover{border-color:var(--dpt);box-shadow:var(--shadow)}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.inline-form-fields{flex-wrap:wrap;flex:1;gap:14px;min-width:180px;display:flex}.inline-form-actions{gap:8px;display:flex}.inline-form-add{background:var(--surface);border:1.5px dashed var(--primary);box-shadow:var(--shadow);border-radius:12px;margin-bottom:14px;padding:15px 18px;animation:.22s cubic-bezier(.2,.8,.3,1) form-in}.sec-area>.inline-form-add{margin-bottom:12px}.inline-form-edit{width:100%}.subject-form{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;gap:16px;display:grid}.subject-form .inline-form-fields{grid-column:1/-1;grid-template-columns:subgrid;gap:16px;min-width:0;display:grid}.subject-form .field{width:100%;min-width:0!important;max-width:none!important}.subject-form .input,.subject-form .select{width:100%}.subject-form .inline-form-actions{border-top:1px solid var(--border);grid-column:1/-1;justify-content:flex-start;gap:12px;padding-top:16px}.paper-form{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:16px;display:grid}.paper-form .inline-form-fields{grid-column:1/-1;grid-template-columns:subgrid;gap:16px;min-width:0;display:grid}.paper-form .field{min-width:0!important}.searchable-select{width:100%;position:relative}.searchable-select-trigger{border:1px solid var(--border);background:var(--surface);width:100%;min-height:38px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:400;display:flex}.searchable-select-trigger:hover:not(:disabled),.searchable-select-trigger:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.searchable-select-trigger:disabled{cursor:not-allowed;opacity:.65}.searchable-select-placeholder{color:var(--text-light)}.searchable-select-panel{z-index:30;border:1px solid var(--primary);background:var(--surface);box-shadow:var(--shadow);border-radius:10px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden}.searchable-select-panel-portal{z-index:1000;position:fixed;right:auto}.searchable-select-search{width:calc(100% - 16px);margin:8px}.searchable-select-options{flex-direction:column;align-items:stretch;max-height:244px;padding:0 6px 6px;display:flex;overflow:hidden auto}.searchable-select-option{box-sizing:border-box;width:100%;color:var(--text);font:inherit;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 10px;font-size:13px;font-weight:400;display:block}.searchable-select-option:hover,.searchable-select-option:focus-visible{background:var(--primary-soft);outline:none}.searchable-select-option.selected{background:var(--primary);color:#fff;font-weight:400}.searchable-select-empty{color:var(--text-light);padding:11px 10px;font-size:13px}.searchable-select-actions{border-top:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;display:grid}.searchable-select-action{background:var(--primary-soft);min-width:0;color:var(--primary);font:inherit;white-space:normal;cursor:pointer;border:0;border-radius:6px;padding:7px 5px;font-size:12px;font-weight:400;line-height:1.25}.searchable-select-action:only-child{grid-column:1/-1}.searchable-select-action:hover,.searchable-select-action:focus-visible{background:var(--primary);color:#fff;outline:none}.paper-form .inline-form-actions{border-top:1px solid var(--border);grid-column:1/-1;justify-content:flex-start;gap:12px;padding-top:14px;padding-bottom:2px}.semester-paper-manage-list{gap:10px}.semester-paper-draft-row{background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;padding:13px;position:relative}.semester-paper-draft-row .paper-form,.semester-paper-draft-row .paper-form .inline-form-fields{width:100%}.minor-offer-choice{color:var(--text);cursor:pointer;align-items:center;gap:8px;margin-top:10px;font-size:13px;display:inline-flex}.minor-offer-choice input{accent-color:var(--primary)}.semester-paper-remove-action{z-index:1;position:absolute;top:13px;right:16px}.paper-add-ghost{background:var(--bg);border:1.5px dotted var(--primary);width:100%;min-height:64px;color:var(--text-light);cursor:pointer;opacity:.78;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s,color .15s,opacity .15s;display:flex}.paper-add-ghost:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft);color:var(--primary);opacity:1}.paper-add-ghost:disabled{cursor:not-allowed;opacity:.65}.semester-manage-actions{justify-content:flex-start;gap:9px;margin-top:14px;display:flex}.paper-remove-confirm{align-items:center;gap:7px;display:inline-flex}.paper-remove-confirm>span{color:var(--danger);font-size:12px;font-weight:700}.paper-remove-keep{color:var(--text-light)}.semester-head{margin-bottom:10px}@keyframes reg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes form-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}@media (width<=640px){.reg-title{font-size:24px}.inline-form-actions .btn{flex:1}.programme-manage-form .inline-form-fields,.section-manage-form .inline-form-fields{grid-template-columns:1fr}.sec-area{padding-left:13px}.paper-form,.paper-form .inline-form-fields{grid-template-columns:1fr}.paper-form .field{grid-column:1/-1!important}.subject-form,.subject-form .inline-form-fields{grid-template-columns:1fr}.subject-form .field{grid-column:1/-1!important}}.sub-code{letter-spacing:-.01em;color:var(--primary);background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:7px;flex-shrink:0;min-width:88px;padding:4px 10px;font-size:13px;font-weight:700}.paper-list{flex-direction:column;gap:8px;display:flex}.paper-code-cell{width:100%;min-width:0}.paper-code-cell .sub-code{box-sizing:border-box;white-space:nowrap;width:100%;min-width:0}.badge-muted{background:var(--secondary-soft);color:var(--text-light)}.paper-row{cursor:grab}.paper-row:active{cursor:grabbing}.paper-move-btn{border:1px solid var(--border);background:var(--surface);width:25px;height:25px;color:var(--text-light);cursor:pointer;border-radius:6px;font-weight:700;line-height:1}.paper-move-btn:hover:not(:disabled){color:var(--primary);border-color:var(--primary);background:var(--primary-soft)}.paper-move-btn:disabled{opacity:.35;cursor:not-allowed}.cur-detail-head{align-items:center;gap:24px;margin-bottom:28px}.cur-list-filters .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.cur-list-filters{grid-template-columns:minmax(240px,1fr) minmax(170px,240px) minmax(150px,210px);gap:12px;margin-bottom:18px;display:grid}.cur-list-filters .input{background:var(--surface);width:100%;min-width:0}.cur-row-actions{white-space:nowrap;align-items:center;gap:7px;display:flex}.cur-empty-cell{text-align:center;color:var(--text-light);padding:34px!important}.cur-list-count{color:var(--text-light);margin-top:12px;font-size:12px}.cur-detail-head h2{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cur-detail-tabs{border-bottom:1px solid var(--border);gap:24px;margin:4px 0 22px;display:flex;overflow-x:auto}.cur-detail-tabs button{color:var(--text-light);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 2px 12px;font-size:13px}.cur-detail-tabs button:hover,.cur-detail-tabs button.active{color:var(--primary)}.cur-detail-tabs button.active{border-bottom-color:var(--primary);font-weight:700}.cur-detail-tabs button{white-space:nowrap}.cur-papers{width:100%;max-width:none}.cur-papers .cur-framework-head{flex-wrap:wrap}.cur-common{width:100%;max-width:none}.cur-paper-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0 14px;display:flex}.cur-paper-search-wrap{flex:320px;min-width:min(240px,100%)}.cur-paper-search{width:100%;margin:0;display:block}.cur-paper-actions{flex-wrap:wrap}.cur-paper-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.cur-paper-pagination>div{gap:6px;display:flex}.cur-page-number{min-width:34px;color:var(--text);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.cur-paper-filter-group{border:0;margin:0;padding:0}.cur-paper-filter-group legend{color:var(--text);margin-bottom:10px;padding:0;font-size:13px;font-weight:800}.cur-paper-filter-options,.cur-paper-component-options{flex-direction:column;gap:3px;display:flex}.cur-paper-filter-group+.cur-paper-filter-group{margin-top:24px}.cur-paper-filter-choice{cursor:pointer;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:8px 10px;font-size:13px;display:flex}.cur-paper-filter-choice:hover{background:var(--secondary-soft)}.cur-paper-filter-choice:has(input:checked){background:var(--secondary-soft)}.cur-paper-filter-choice .checkbox{width:16px;height:16px;accent-color:var(--primary);margin:0}@media (width<=640px){.cur-paper-toolbar{align-items:stretch}.cur-paper-search-wrap{flex-basis:100%;min-width:0}.cur-paper-actions{flex:100%}.cur-paper-actions .btn{flex:auto}}.cur-copy-intro,.cur-copy-message,.cur-copy-summary{color:var(--text-light);margin:0 0 16px;font-size:12px;line-height:1.5}.cur-copy-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;display:flex}.cur-copy-toolbar .input{flex:1;min-width:220px}.cur-copy-list{border:1px solid var(--border);background:var(--surface);border-radius:9px;max-height:360px;margin-top:12px;overflow-y:auto}.cur-copy-paper{border-bottom:1px solid var(--border);cursor:pointer;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 14px;display:grid}.cur-copy-paper:last-child{border-bottom:0}.cur-copy-paper:hover{background:var(--bg)}.cur-copy-paper.is-unavailable{opacity:.64;cursor:not-allowed}.cur-copy-paper strong{font-size:12px;display:block}.cur-copy-paper small{color:var(--text-light);margin-top:3px;font-size:12px;display:block}.cur-copy-paper .checkbox{margin:0}.cur-copy-list .cur-copy-message{text-align:center;margin:0;padding:26px 14px}.cur-copy-summary{margin:10px 0 0}.cur-papers-table td{vertical-align:middle}.cur-papers-table td:nth-child(2){min-width:230px}.cur-papers-table td:nth-child(3){min-width:175px}.cur-papers-table th:last-child,.cur-papers-table td:last-child{white-space:nowrap}.cur-common-table small{color:var(--text-light);margin-top:4px;font-size:12px;display:block}.cur-common-subtle,.cur-common-footnote{color:var(--text-light);font-size:12px}.cur-common-table td{vertical-align:top}.cur-common-table td:nth-child(2){min-width:260px}.cur-common-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.cur-common-option{flex-direction:column;align-items:flex-start;display:flex}.cur-common-option .btn{margin-top:6px}.cur-pool-rule{background:var(--primary-soft);color:var(--primary);white-space:nowrap;border-radius:4px;padding:4px 7px;font-size:12px;display:inline-block}.cur-common-edit{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.cur-common-edit .input{flex:1;min-width:200px}.cur-common-footnote{margin-top:14px}.cur-overview{width:100%;max-width:none}.cur-overview-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.cur-overview h3{margin:0;font-size:17px}.cur-overview p{color:var(--text-light);margin:5px 0 0;font-size:12px}.cur-overview-details{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px 28px;margin:0;display:grid}.cur-overview-details dt{color:var(--text-light);margin-bottom:5px;font-size:12px;font-weight:700}.cur-overview-details dd{color:var(--text);margin:0;font-size:13px;font-weight:600}.cur-overview-details dd,.cur-publish-review dd{white-space:pre-wrap;overflow-wrap:anywhere}.cur-framework{width:100%;max-width:none}.cur-framework-head,.cur-framework-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.cur-framework-head{margin-bottom:22px}.cur-framework-head h3{margin:0;font-size:17px}.cur-framework-head p{color:var(--text-light);margin:5px 0 0;font-size:12px}.cur-framework-head>span{color:var(--text-light);white-space:nowrap;font-size:12px}.cur-framework-heading{margin-bottom:14px}.cur-framework-heading h4{margin:0;font-size:17px}.cur-framework-table-wrap,.cur-papers .table-wrap,.cur-common .table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:9px;overflow-x:auto}.cur-framework-table{background:var(--surface)}.cur-framework-table td{vertical-align:middle}.cur-framework-table .cur-empty-cell{height:240px}.cur-framework-table .input{width:100%;min-width:88px}.cur-framework-table td:nth-child(2),.cur-framework-table td:nth-child(3),.cur-framework-table td:nth-child(4){min-width:105px}.cur-framework-add-row td{background:var(--bg)}.cur-framework-add-hint{color:var(--text-light);font-size:12px}.cur-framework-add{margin:12px auto 0;display:block}.cur-framework-empty{color:var(--text-light);padding:26px}.cur-framework-summary{flex-wrap:wrap;gap:16px;margin-top:14px;font-size:12px;display:flex}.cur-framework-summary span{color:var(--text-light)}.cur-framework-edit-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:18px;display:flex}.cur-programme-papers-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.cur-programme-papers-head h3{margin:0;font-size:16px}.cur-programme-papers-head p{color:var(--text-light);flex-wrap:wrap;align-items:center;gap:8px;margin:5px 0 0;font-size:12px;display:flex}.cur-programme-papers .table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:9px;overflow-x:auto}.cur-programme-papers-table{background:var(--surface);min-width:680px}.cur-programme-papers-table td{vertical-align:middle}.cur-programme-papers-table td:nth-child(3){white-space:normal;min-width:190px}.cur-programme-papers-table td:first-child{min-width:105px}.cur-programme-papers-table td:nth-child(5){min-width:115px}.cur-programme-papers-table small{color:var(--text-light);margin-top:3px;font-size:12px;display:block}.cur-programme-papers-table .cur-minor-offering-tag{background:var(--primary-soft);color:var(--primary);border-radius:4px;margin-top:5px;padding:2px 6px;font-weight:700;display:inline-block}.cur-programme-missing{color:var(--text-light);font-style:italic}.cur-programme-framework-link{margin-top:12px}.cur-programme-issues{color:var(--danger);margin-top:12px;font-size:12px}.cur-programme-issues summary{cursor:pointer;font-weight:700}.cur-programme-issues ul{margin:8px 0 0;padding-left:18px}.cur-programme-issues li+li{margin-top:4px}.cur-programme-manage{margin-top:16px}.cur-programme-manage h4{margin:0;font-size:16px}.cur-programme-manage>p{color:var(--text-light);margin:4px 0 16px;font-size:12px}.cur-coverage-error{color:var(--danger);font-size:12px}.cur-coverage-complete{color:var(--success);font-size:12px}.cur-publish-coverage{border:1px solid var(--border);border-radius:8px;margin:16px 0;padding:12px}.cur-publish-coverage ul{max-height:180px;color:var(--danger);margin:8px 0 0;padding-left:18px;font-size:12px;overflow:auto}.cur-publish-coverage li+li{margin-top:5px}.cur-status-note{border-left:3px solid var(--primary);background:var(--surface);padding:12px 14px;color:var(--text)!important;margin:12px 0!important}.cur-publish-review{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.cur-publish-review dt{color:var(--text-light);font-size:12px}.cur-publish-review dd{margin:4px 0 0;font-weight:700}.cur-programme-empty{flex-direction:column;justify-content:center;gap:20px;min-height:290px;display:flex}.cur-programme-empty-copy{text-align:center;align-self:center;max-width:620px}.cur-programme-empty-kicker{color:var(--primary);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:700}.cur-programme-empty-copy h3{margin:9px 0 5px;font-size:20px}.cur-programme-empty-copy p{color:var(--text-light);margin:0 0 18px;font-size:13px}.cur-programme-empty .cur-programme-add-form{border:1px dashed var(--border);background:var(--bg);border-radius:10px;padding:14px}.cur-workspace{border-top:1px solid var(--border);grid-template-columns:250px minmax(0,1fr);gap:24px;padding-top:22px;display:grid}.cur-programme-nav{border-right:1px solid var(--border);padding-right:16px}.cur-programme-nav-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.cur-programme-nav-head .cur-nav-label{margin:0}.cur-programme-add-below{justify-content:center;width:100%;margin-top:10px}.cur-programme-nav .cur-programme-add-form{border:1px solid var(--border);background:var(--bg);border-radius:9px;margin:0 0 10px;padding:12px;display:block}.cur-programme-nav .cur-programme-add-form .inline-form-fields{min-width:0}.cur-programme-nav .cur-programme-add-form .field{width:100%;min-width:0!important}.cur-programme-nav .cur-programme-add-form .inline-form-actions{grid-template-columns:1fr;margin-top:10px;display:grid}.cur-programme-nav .cur-programme-add-form .inline-form-actions .btn{justify-content:center;width:100%}.cur-nav-label{color:var(--text-light);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:700}.cur-programme-choice{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;font-size:13px;display:block}.cur-programme-choice:hover,.cur-programme-choice.active{background:var(--primary-soft);color:var(--primary)}.cur-programme-choice.active{font-weight:700}.cur-workspace-main{min-width:0}.cur-semester-tabs{grid-template-columns:repeat(6,minmax(90px,1fr));gap:8px;margin-bottom:20px;display:grid;overflow-x:auto}.cur-semester-tab{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:7px;padding:11px 8px;font-size:12px}.cur-semester-tab:hover,.cur-semester-tab.active{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.cur-programme-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.cur-programme-heading h3{margin:0;font-size:20px}.cur-programme-heading p{color:var(--text-light);margin:3px 0 0;font-size:12px}.cur-workspace .paper-row{grid-template-columns:16px 90px 82px minmax(125px,1fr) 65px 66px 67px auto;gap:6px;padding:8px 9px}.cur-workspace .paper-row .sub-code{min-width:0;padding-inline:4px}@media (width<=800px){.cur-list-filters{grid-template-columns:1fr 1fr}.cur-list-filters>input{grid-column:1/-1}.cur-workspace{grid-template-columns:1fr;gap:16px}.cur-programme-nav{border-right:0;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding:0 0 12px;display:flex}.cur-programme-nav-head{width:100%}.cur-programme-nav .cur-programme-add-form{flex:100%}.cur-programme-choice{width:auto}}@media (width<=540px){.cur-list-filters{grid-template-columns:1fr}.cur-list-filters>input{grid-column:auto}.cur-overview-details{grid-template-columns:1fr}}.cur-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.alloc-curriculum{border:1px solid var(--border);background:var(--bg);border-radius:12px;margin-top:18px;overflow:hidden}.alloc-cur-head{background:var(--secondary-soft);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.alloc-cur-grid{grid-template-columns:1fr 1fr;gap:0;display:grid}.alloc-cur-col{padding:14px 16px}.alloc-cur-col+.alloc-cur-col{border-left:1px solid var(--border)}.alloc-cur-label{text-transform:uppercase;letter-spacing:.07em;color:var(--text-light);margin-bottom:10px;font-size:12px;font-weight:700}.alloc-chip-wrap{flex-wrap:wrap;gap:7px;display:flex}.alloc-paper-chip{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:7px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.mandatory-paper-row{border-radius:9px;width:100%;padding:9px 11px}.mandatory-paper-row .alloc-elective-cr{margin-left:auto}.alloc-paper-code{color:var(--primary);font-family:JetBrains Mono,ui-monospace,Menlo,monospace;font-size:12px;font-weight:700}.alloc-elective-list{flex-direction:column;gap:7px;display:flex}.alloc-elective{cursor:pointer;border:1px solid var(--border);background:var(--surface);border-radius:9px;align-items:center;gap:10px;padding:9px 11px;font-size:13px;transition:border-color .15s,background .15s;display:flex}.alloc-elective:hover{border-color:var(--primary)}.alloc-elective.on{border-color:var(--primary);background:var(--primary-soft)}.alloc-elective-name{min-width:0;color:var(--text);flex:1;font-weight:600}.alloc-elective-cr{color:var(--text-light);white-space:nowrap;font-size:12px;font-weight:700}.alloc-required-choice-grid{border-top:1px solid var(--border);gap:16px;padding:14px 16px 16px;display:grid}.alloc-required-choice .alloc-cur-label{margin-bottom:8px}.alloc-save-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.alloc-save-bar .card-sub strong{color:var(--text)}.board-registration-filters{margin-bottom:16px}.board-registration-input{width:100%;min-width:220px}.student-form-page{max-width:1120px;margin:0 auto}.student-form-head{margin-bottom:18px}.student-stepper{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 20px;padding:0 8px;display:grid}.student-step{min-width:0;position:relative}.student-step button{z-index:1;width:100%;color:var(--text-light);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex;position:relative}.student-step button:not(:disabled){cursor:pointer}.student-step button:disabled{opacity:1}.student-step-number{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--text);border-radius:50%;flex:0 0 34px;place-items:center;font-size:13px;font-weight:800;transition:background .16s,border-color .16s,color .16s;display:grid}.student-step-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.student-step-copy strong{color:var(--text);font-size:13px;line-height:1.25}.student-step-copy small{color:var(--text-light);font-size:12px;line-height:1.25}.student-step-line{z-index:0;background:var(--border);height:1px;position:absolute;top:16px;left:42px;right:8px}.student-step.active .student-step-number,.student-step.complete .student-step-number{border-color:var(--primary);background:var(--primary);color:#fff}.student-step.active .student-step-copy strong{color:var(--primary)}.student-step button:focus-visible{outline:2px solid var(--primary);outline-offset:5px;border-radius:4px}.student-form-card{padding:22px}.framework-picker{gap:12px;margin-top:14px;display:grid}.framework-picker-group{border:1px solid var(--border);background:var(--surface);border-radius:10px;min-width:0;padding:14px}.framework-picker-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.framework-picker-head>div{flex-direction:column;gap:3px;display:flex}.framework-picker-head strong{color:var(--text);font-size:13px}.framework-picker-head small,.framework-paper-provider{color:var(--text-light);font-size:12px;display:block}.framework-picker-head>span{color:var(--text-light);white-space:nowrap;font-size:12px}.framework-paper-list{gap:7px;display:grid}.framework-paper{border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:7px;grid-template-columns:18px minmax(88px,auto) 1fr auto;align-items:center;gap:9px;padding:9px 10px;font-size:12px;display:grid}.framework-paper.fixed{background:var(--surface-muted,#f7f9f8);cursor:default;grid-template-columns:minmax(88px,auto) 1fr auto}.framework-paper.selected{border-color:var(--primary);background:var(--primary-soft)}.framework-paper input{margin:0}.framework-paper-meta{color:var(--text-light);white-space:nowrap;font-size:12px}.framework-picker-error{color:var(--danger,#b42318);margin:8px 0;font-size:12px}.framework-credit-summary{border:1px solid var(--border);background:var(--surface-muted,#f7f9f8);border-radius:9px;grid-template-columns:1fr auto;align-items:center;gap:3px 12px;padding:12px 14px;font-size:12px;display:grid}.framework-credit-summary strong{color:var(--text);font-size:13px}.framework-credit-summary small{color:var(--text-light);grid-column:1/-1}.framework-credit-summary.complete{background:#fbfffd;border-color:#bfe3d3}.student-address-input{min-height:76px;line-height:1.45}.student-form-curriculum{margin-top:16px}.student-form-summary{margin-top:12px}.student-form-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding-top:18px;display:flex}@media (width<=700px){.alloc-cur-grid{grid-template-columns:1fr}.alloc-cur-col+.alloc-cur-col{border-left:none;border-top:1px solid var(--border)}.alloc-required-choice-grid{gap:14px;padding:14px}.student-stepper{grid-template-columns:1fr;gap:9px;padding:0}.student-step-line{width:1px;height:auto;inset:34px auto -9px 16px}.student-step-copy{flex-direction:row;align-items:baseline;gap:7px}.student-form-card{padding:16px}.student-form-actions{flex-direction:column-reverse;align-items:stretch}.student-form-actions .btn{flex:1}.framework-paper{grid-template-columns:18px minmax(64px,auto) 1fr}.framework-paper-meta{grid-column:2/-1}.framework-paper.fixed{grid-template-columns:minmax(64px,auto) 1fr}}.action-group--start{justify-content:flex-start}.action-group--end{justify-content:flex-end}.scope-bar{align-items:flex-end}.scope-bar .field{min-width:150px}.scope-bar .field .input,.scope-bar .field .select{flex:none;width:100%;min-width:0}.scope-bar .date-field{min-width:130px;max-width:170px}.leave-filters .hist-filters,.events-filters .hist-filters{box-shadow:none;border:0;padding:0}.leave-filters .hist-filters-top,.events-filters .hist-filters-top{display:none}.hist-layout{grid-template-columns:1fr 320px;align-items:start;gap:18px;display:grid}.hist-filters{padding:18px}.hist-filters-top{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.hist-filters-top strong{font-size:15px}.hist-search{width:100%;margin-bottom:16px}.facc-section-label{color:var(--text);margin:2px 0 10px;font-size:13px;font-weight:700}.facc{margin-bottom:8px}.facc-head{background:var(--secondary-soft);cursor:pointer;width:100%;color:var(--text);text-align:left;border:none;border-radius:8px;align-items:center;gap:11px;padding:11px 14px;font-size:13.5px;font-weight:700;transition:background .15s;display:flex}.facc-head:hover{background:#dce7f3}.facc-caret{color:var(--text-light);flex-shrink:0;width:11px;font-size:12px}.facc-body{flex-direction:column;gap:1px;padding:8px 2px 4px;display:flex}.facc-opt{cursor:pointer;color:var(--text);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:11px;width:100%;padding:7px 10px;font-size:13px;transition:background .12s;display:flex}.facc-opt:hover{background:var(--secondary-soft)}.facc-opt.active{font-weight:600}.facc-box{border:1.5px solid var(--border);background:#eceff3;border-radius:5px;flex-shrink:0;width:18px;height:18px;transition:background .15s,border-color .15s;position:relative}.facc-opt.active .facc-box{background:var(--primary);border-color:var(--primary)}.facc-opt.active .facc-box:after{content:"✓";color:#fff;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;inset:0}.facc-body .field{margin-bottom:10px}.facc-body .field:last-child{margin-bottom:2px}.facc-body .select{width:100%}.facc-empty{color:var(--text-light);padding:6px 10px;font-size:12px}.facc-range{flex-direction:column;gap:10px;padding:4px 2px 2px;display:flex}.facc-range .input{width:100%}.facc-range-clear{align-self:flex-start;font-size:12px}.hist-content{min-width:0}.attendance-history-card{min-width:0;box-shadow:none;border-radius:16px;overflow:hidden}.attendance-history-card .attendance-marking-controls{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;display:flex}.attendance-history-card .calendar-session-control{flex:0 0 172px}.attendance-history-card .timetable-term-control{flex:140px}.attendance-history-card .timetable-term-control:has([aria-label=Programme]){flex:1.4 180px}.attendance-history-actions{align-items:center;gap:8px;max-width:100%;min-height:39px;margin-left:auto;display:flex}.attendance-history-card .hist-content{flex-direction:column;display:flex}.hist-content .table-toolbar{border-bottom:1px solid var(--border)}@media (width<=860px){.hist-layout{grid-template-columns:1fr}}.paper-matrix{margin-top:14px}.paper-percentage-range-values,.paper-percentage-range-limits{color:var(--text-light);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;font-size:12px;display:flex}.paper-percentage-range-values label{cursor:pointer;align-items:center;gap:8px;display:flex}.paper-percentage-range-values strong{color:var(--text)}.paper-percentage-range-control{height:32px;margin-inline:10px;position:relative}.paper-percentage-range-track,.paper-percentage-range-fill{border-radius:4px;height:4px;position:absolute;top:14px}.paper-percentage-range-track{background:var(--border);inset-inline:0}.paper-percentage-range-fill{left:var(--range-start);right:var(--range-end);background:var(--primary)}.paper-percentage-range-control input[type=range]{appearance:none;pointer-events:none;background:0 0;width:calc(100% + 20px);height:32px;margin:0;position:absolute;inset:0 -10px}.paper-percentage-range-control input[type=range]::-webkit-slider-runnable-track{background:0 0;height:4px}.paper-percentage-range-control input[type=range]::-moz-range-track{background:0 0;height:4px}.paper-percentage-range-control input[type=range]::-moz-range-progress{background:0 0}.paper-percentage-range-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--primary);background:var(--surface);cursor:grab;pointer-events:auto;border-radius:50%;width:20px;height:20px;margin-top:-8px}.paper-percentage-range-control input[type=range]::-moz-range-thumb{border:2px solid var(--primary);background:var(--surface);cursor:grab;pointer-events:auto;border-radius:50%;width:16px;height:16px}.paper-percentage-range-control input[type=range]:focus-visible{z-index:1;outline:0}.paper-percentage-range-control input[type=range]:focus-visible::-webkit-slider-thumb{outline:2px solid var(--accent);outline-offset:2px}.paper-percentage-range-control input[type=range]:focus-visible::-moz-range-thumb{outline:2px solid var(--accent);outline-offset:2px}.paper-report{min-width:0}.paper-report-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;padding:16px;display:flex}.paper-report-field{min-width:150px;color:var(--text);flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.paper-report-field:first-child{min-width:205px}.paper-report-term-picker{flex:0 220px;min-width:205px}.paper-report-term-picker .calendar-session-combobox{width:100%;min-width:0}.paper-report-field .select,.paper-report-field .input{width:100%;min-height:36px;font-weight:400}.paper-report-search{flex:240px;min-width:200px}.paper-report-filters>.btn{white-space:nowrap;min-height:36px}.paper-report-filter-trigger{align-items:center;gap:7px;display:inline-flex}.paper-report-active-filters{flex-wrap:wrap;gap:7px;margin:-5px 0 12px;display:flex}.paper-report-active-filter{border:1px solid var(--secondary);background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.paper-report-filter-backdrop{z-index:1000;cursor:default;background:#121f3561;border:0;position:fixed;inset:0}.paper-report-filter-drawer{z-index:1001;background:var(--surface);flex-direction:column;width:min(410px,100vw - 24px);height:100dvh;display:flex;position:fixed;inset:0 0 0 auto;box-shadow:-14px 0 34px #121f3529}.paper-report-filter-body{flex:1;padding:18px 22px 28px;overflow-y:auto}.paper-report-filter-group{border:0;margin:0 0 22px;padding:0}.paper-report-filter-group legend{color:var(--text);margin-bottom:10px;padding:0;font-size:13px;font-weight:800}.paper-report-date-range{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0;display:grid}.paper-report-date-range label{flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.paper-report-date-range .input{width:100%;min-width:0}.paper-report-filter-choice{cursor:pointer;border-radius:8px;align-items:center;gap:11px;min-height:46px;padding:8px 10px;display:flex}.paper-report-filter-choice:hover{background:var(--secondary-soft)}.paper-report-filter-choice:has(input:checked){background:var(--secondary-soft)}.paper-report-filter-choice input{accent-color:var(--primary);flex-shrink:0;width:16px;height:16px;margin:0}.paper-report-filter-choice span{flex-direction:column;gap:2px;display:flex}.paper-report-filter-choice strong{font-size:13px;font-weight:650}.paper-report-filter-choice small{color:var(--text-light);font-size:12px}.paper-matrix .data-table tbody tr:hover{background:0 0}.paper-matrix .data-table tbody tr:hover td:first-child,.paper-matrix .data-table tbody tr:hover td:nth-child(2){background:var(--surface)}.paper-matrix-heading{justify-content:space-between;align-items:end;gap:14px;padding:14px 2px 12px;display:flex}.paper-matrix-selectors{flex-wrap:wrap;align-items:center;gap:16px;min-width:0;display:flex}.paper-matrix-selectors .attendance-paper-major-filter{margin-right:0}.paper-matrix-summary{text-align:right;margin-left:auto}.paper-matrix-heading+.paper-matrix{margin-top:0}.paper-matrix-heading h2{margin:0 0 3px;font-size:16px}.paper-matrix-heading span{color:var(--text-light);font-size:12px}.paper-matrix .table-wrap{max-width:100%}.paper-matrix-student-id{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.paper-matrix table.data-table{table-layout:fixed;width:100%;min-width:0}.paper-matrix .data-table th{background:var(--secondary-soft);vertical-align:middle}.paper-matrix .data-table th:nth-child(2),.paper-matrix .data-table td:nth-child(2){white-space:normal;overflow-wrap:anywhere;background:var(--surface);z-index:1;width:18%;min-width:0;padding-inline:8px;position:sticky;left:48px}.paper-matrix .data-table th:first-child,.paper-matrix .data-table td:first-child{white-space:nowrap;box-sizing:border-box;background:var(--surface);z-index:2;min-width:48px;max-width:48px;padding-inline:6px;position:sticky;left:0;width:48px!important}.paper-matrix .data-table th:nth-child(-n+2){background:var(--secondary-soft);z-index:3}.paper-matrix .data-table th:not(:nth-child(-n+2)),.paper-matrix .data-table td:not(:nth-child(-n+2)){overflow-wrap:anywhere;min-width:0;padding:4px}.paper-matrix-label{white-space:normal;text-align:left;flex-direction:column;align-items:stretch;gap:7px;font-weight:600;display:flex}.paper-matrix-label:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:3px}.paper-matrix-label small{color:var(--text-light);text-transform:none;letter-spacing:normal;font-size:12px;font-weight:500}.paper-matrix-cell{font-variant-numeric:tabular-nums;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:44px;padding:5px 8px;display:flex}.paper-matrix-cell strong{font-size:12px}.paper-matrix-cell small{color:var(--text-light);font-size:12px}.paper-matrix-good{color:#237b48}.paper-matrix-watch{color:#8a5b0b}.paper-matrix-low{color:var(--danger)}.paper-matrix-empty{color:var(--text-light)}.paper-matrix-hours-summary{cursor:help;white-space:nowrap;color:var(--text-light);text-transform:none;letter-spacing:normal;font-size:12px;font-weight:500}.paper-matrix-hours-summary strong{color:var(--text);font-weight:700}.paper-matrix .data-table th.paper-matrix-subject-column,.paper-matrix .data-table td.paper-matrix-subject-column{min-width:0;padding:6px;text-align:left!important}.paper-matrix-subject-column .table-sort-button{align-items:flex-start;width:100%}.paper-matrix-subject-column .paper-matrix-label{flex:1;min-width:0}.paper-matrix-subject-column .table-sort-icon{margin-top:2px}.paper-matrix-code{color:var(--primary)}.paper-matrix .data-table .paper-matrix-header-details>td{background:var(--secondary-soft);color:var(--text-light);vertical-align:top;padding:0 12px 12px;font-size:12px}.paper-matrix .data-table .paper-matrix-header-details>td:nth-child(2){padding-left:16px}.paper-matrix-unit{color:var(--text-light);font-size:12px;font-weight:400}.paper-matrix-subject-column .paper-matrix-cell strong{color:var(--text)}.paper-matrix-subject-column .paper-matrix-cell small{color:inherit;font-weight:650}.paper-matrix .data-table th.paper-matrix-metric-column,.paper-matrix .data-table td.paper-matrix-metric-column{text-align:center;white-space:normal;overflow-wrap:anywhere;min-width:0;padding:4px}.paper-matrix .data-table .paper-matrix-metric-column{border-left:1px solid var(--border)}.paper-matrix .data-table .paper-matrix-header-groups>th.paper-matrix-subject-column{white-space:normal;overflow-wrap:anywhere;border-left:1px solid var(--border);padding:6px;text-align:center!important}.paper-matrix .data-table .paper-matrix-header-details>td.paper-matrix-subject-column{padding:2px 6px 6px}.paper-matrix-metric-column .paper-matrix-cell{min-height:28px;padding:2px 0}.paper-matrix-metric-column .paper-matrix-detail-button{white-space:normal;overflow-wrap:anywhere;align-items:center;min-width:0}.paper-matrix .paper-matrix-hours-summary{white-space:normal;overflow-wrap:anywhere}@media (width<=680px){.paper-report-filters{gap:10px}.paper-report-field,.paper-report-field:first-child{flex:145px;min-width:0}.paper-report-search{flex-basis:100%}.paper-matrix-heading{flex-direction:column;align-items:start}.paper-matrix .data-table th:nth-child(2),.paper-matrix .data-table td:nth-child(2){width:24%;min-width:0;max-width:none}}@media (width<=480px){.paper-matrix .data-table th.paper-matrix-metric-column,.paper-matrix .data-table td.paper-matrix-metric-column{padding-inline:1px}.paper-matrix .data-table .paper-matrix-header-groups>th.paper-matrix-subject-column,.paper-matrix .data-table .paper-matrix-header-details>td.paper-matrix-subject-column{padding-inline:2px}}.student-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin:6px 0 12px;display:flex}.student-list-search{flex:1;min-width:min(420px,100%)}.student-list-search label{color:var(--text-light);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.student-list-search .input{width:100%}.student-filter-trigger{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.student-filter-count{background:var(--primary);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:700;display:inline-grid}.student-filter-summary{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;display:flex}.student-filter-chip{border:1px solid var(--secondary);background:var(--primary-soft);max-width:100%;color:var(--primary);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:6px 9px;font-size:12px;font-weight:600;display:inline-flex}.student-filter-chip:hover{border-color:var(--primary)}.student-filters-drawer{z-index:1001;background:var(--surface);opacity:0;pointer-events:none;visibility:hidden;border-radius:0;flex-direction:column;width:min(410px,100vw - 24px);max-width:100%;height:100dvh;margin:0;transition:transform .24s,opacity .24s,visibility .24s;display:flex;position:fixed;inset:0 0 0 auto;overflow:hidden;transform:translate(100%);box-shadow:-14px 0 34px #121f3529}.student-filters-drawer.is-open{opacity:1;pointer-events:auto;visibility:visible;transform:translate(0)}.student-filters-backdrop{z-index:1000;cursor:default;opacity:0;pointer-events:none;visibility:hidden;background:#121f3561;border:0;padding:0;transition:opacity .24s,visibility .24s;position:fixed;inset:0}.student-filters-backdrop.is-open{opacity:1;pointer-events:auto;visibility:visible}.student-filters-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding:22px;display:flex}.student-filters-head h3{margin:0 0 5px;font-size:18px}.student-filters-head p{color:var(--text-light);margin:0;font-size:12px;line-height:1.45}.student-filters-close{width:32px;height:32px;color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;font-size:24px;line-height:1;display:inline-grid}.student-filters-close:hover{background:var(--primary-soft);color:var(--primary)}.student-filters-body{flex:1;padding:18px 22px 28px;overflow-y:auto}.student-filter-group-title:not(:first-child){margin-top:24px}.student-filters-foot{border-top:1px solid var(--border);color:var(--text-light);justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;font-size:12px;display:flex}@media (width<=640px){.student-list-toolbar{flex-direction:column;align-items:stretch}.student-list-search{min-width:0}.student-filter-trigger{justify-content:center}}@media (prefers-reduced-motion:reduce){.student-filters-drawer,.student-filters-backdrop{transition:none}}.save-indicator{color:var(--text-light);align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:inline-flex}.save-indicator .save-dot{background:var(--text-light);border-radius:50%;width:8px;height:8px;transition:background .2s}.save-saving{color:var(--warning)}.save-saving .save-dot{background:var(--warning);animation:.8s ease-in-out infinite save-pulse}.save-saved{color:var(--success)}.save-saved .save-dot{background:var(--success)}@keyframes save-pulse{0%,to{opacity:.4}50%{opacity:1}}.mark-legend{color:var(--text-light);border-bottom:1px solid var(--border);background:var(--secondary-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:11px 18px;font-size:12.5px;display:flex}.mark-legend>span{min-width:0}.mark-legend strong{color:var(--text)}.mark-legend em{color:var(--primary);font-style:normal;font-weight:700}.browser-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;padding:16px 18px 0;display:flex}.browser-tab{background:var(--surface);color:var(--text-light);border:1px solid var(--border);cursor:pointer;border-bottom:none;border-radius:11px 11px 0 0;align-items:center;gap:7px;padding:9px 18px;font-size:13px;font-weight:600;transition:background .15s,color .15s;display:inline-flex;position:relative;bottom:-1px}.browser-tab:hover{background:var(--bg);color:var(--text)}.browser-tab.active{background:var(--secondary-soft);color:var(--primary);border-bottom:1px solid var(--secondary-soft)}.section-pill{color:var(--text-light);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 15px;font-size:12.5px;font-weight:600;transition:border-color .15s,color .15s,background .15s,box-shadow .15s}.section-pill:hover{color:var(--text);background:#ffffff8c}.section-pill.active{background:var(--surface);color:var(--primary);border-color:var(--border);font-weight:700;box-shadow:0 1px 3px #4446481f}.att-grid td.period-td,.att-grid th.period-td{text-align:center}.attendance-paper-row>td{background:var(--secondary-soft);border-bottom:1px solid var(--border)}.attendance-paper-row>td:first-child{text-align:right;color:var(--text-light);font-size:12px}.attendance-paper-cell{vertical-align:top;min-width:138px;padding:7px 8px}.attendance-paper-cell .searchable-select-trigger{text-align:left;min-height:32px;padding:6px 8px;font-size:12px}.attendance-paper-cell .searchable-select-panel{text-align:left;min-width:280px}.attendance-period-activity{color:var(--text-light);justify-items:start;gap:2px;margin-top:5px;font-size:12px;display:grid}.attendance-period-activity button{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.timetable-card-activity{color:var(--primary);margin-top:4px;font-size:12px;font-weight:700}.attendance-marking-error{color:var(--danger)!important}.mark-legend-holiday{background:var(--evt-holiday-soft);color:var(--evt-holiday)}.attendance-status{align-items:center;gap:5px;display:inline-flex}.attendance-status-icon{background:var(--evt-holiday);color:#fff;border-radius:5px;place-items:center;width:18px;height:18px;font-size:12px;font-weight:800;display:inline-grid}.attendance-status-holiday strong{color:inherit}.attendance-leave-cell{background:#1d37580a}.attendance-holiday-cell{background:var(--evt-holiday-soft)}.attendance-context-page{align-items:center;min-height:min(650px,100vh - 180px);padding:24px 0;display:grid}.attendance-context-form{width:min(100%,1120px);margin:0 auto;padding:30px 34px 26px}.attendance-context-heading{border-bottom:1px solid var(--border);align-items:center;gap:20px;padding-bottom:24px;display:flex}.attendance-context-icon{background:var(--primary-soft);width:54px;height:54px;color:var(--primary);border-radius:14px;place-items:center;font-size:28px;display:grid}.attendance-context-heading h2{color:#19263d;margin:0 0 4px;font-size:22px}.attendance-context-heading p{color:var(--text-light);margin:0;font-size:13px}.attendance-context-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:28px 0;display:grid}.attendance-context-fields .field{gap:8px;min-width:0;display:grid}.attendance-context-fields .field>span{color:#253047;font-size:13px;font-weight:700}.attendance-context-fields b{color:var(--danger)}.attendance-context-fields .select{width:100%;min-height:48px}.attendance-context-fields small{color:var(--text-light);font-size:12px;line-height:1.4}.attendance-context-note{background:var(--secondary-soft);color:#5e6878;border-radius:10px;gap:4px;padding:16px 20px;font-size:12px;display:grid}.attendance-context-note strong{color:var(--primary);font-size:13px}.attendance-context-error{color:var(--danger);margin-bottom:14px;font-size:12px}.attendance-context-actions{justify-content:flex-end;gap:12px;margin-top:26px;display:flex}.attendance-context-actions .btn{min-width:110px}.attendance-context-actions .btn-primary{min-width:150px}@media (width<=780px){.attendance-context-fields{grid-template-columns:1fr}.attendance-context-form{padding:22px}.attendance-context-page{min-height:auto}}.attendance-marking-controls{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:end;gap:16px;padding:16px 18px;display:grid}.attendance-marking-controls>.calendar-term-controls{display:contents}.attendance-marking-controls .calendar-session-combobox{width:100%;min-width:0}.attendance-marking-controls .calendar-term-control,.attendance-marking-controls .timetable-term-control{min-width:0}.attendance-marking-controls .timetable-term-control .input{width:100%;min-width:0}.leave-term-controls{border:0;margin-bottom:14px;padding:0}.attendance-marking-message{color:var(--danger);padding:16px 18px 0;font-size:12px}@media (width<=780px){.attendance-marking-controls{grid-template-columns:1fr}}.attendance-setup-intro{color:var(--text-light);margin:0 0 24px;font-size:13px;line-height:1.6}.attendance-setup-hint{color:var(--text-light);margin:18px 0 0;font-size:12px}.attendance-marking-card .attendance-marking-controls{grid-template-columns:minmax(120px,.65fr) minmax(180px,1fr) 150px 120px;gap:12px;padding:12px 16px}.attendance-marking-card .attendance-marking-controls .input,.attendance-marking-card .attendance-marking-controls .select{width:100%;min-width:0;min-height:36px}.attendance-marking-card .browser-tabs{padding:8px 16px 0}.attendance-marking-card .browser-tab{border-radius:7px 7px 0 0;padding:6px 14px;font-size:12px}.attendance-marking-roster-tools{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 16px;display:flex}.attendance-marking-roster-tools .table-toolbar{border:0;flex:0 auto;min-width:0;padding:0}.attendance-marking-roster-tools .field{min-width:0}.attendance-marking-roster-tools .mark-legend{background:0 0;border:0;flex:2 420px;gap:8px 12px;min-width:0;padding:0;font-size:12px}.attendance-marking-roster-tools .mark-legend>span{flex:220px}.attendance-marking-roster-tools .mark-legend-holiday{background:var(--evt-holiday-soft);border-radius:6px;padding:8px 10px}@media (width<=1200px){.attendance-marking-card .attendance-marking-controls{grid-template-columns:minmax(260px,1.4fr) minmax(150px,1fr)}}@media (width<=600px){.attendance-marking-card .attendance-marking-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.attendance-marking-card .calendar-session-combobox,.attendance-marking-card .attendance-marking-course{grid-column:1/-1}.attendance-marking-card .attendance-marking-date{grid-area:1/2}.attendance-marking-card .browser-tabs{padding-inline:12px}.attendance-marking-roster-tools{padding:10px 12px}}.period-cell.leave{color:var(--primary);border-color:var(--primary-soft);background:var(--primary-soft);cursor:not-allowed}.period-cell.holiday{color:var(--evt-holiday);cursor:not-allowed;background:#fff7f7;border-color:#efb0b0;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.period-cell:disabled{cursor:not-allowed;opacity:.72}.row-all{width:17px;height:17px}.period-cell{border:1px solid var(--border);background:var(--surface);color:#9aa0a6;cursor:pointer;border-radius:8px;width:40px;height:30px;font-size:13px;font-weight:700;transition:transform .1s,background .12s,color .12s,border-color .12s}.period-cell:hover{border-color:var(--success);color:var(--success);transform:translateY(-1px)}.period-cell.absent{background:var(--danger);border-color:var(--danger);color:#fff}.period-cell.absent:hover{color:#fff;transform:translateY(-1px)}.period-blocks{align-items:center;gap:4px;display:inline-flex}.period-block{background:#e4e8ee;border-radius:2px;width:7px;height:18px}.period-blocks-history .history-period-present{background:var(--success)}.period-blocks-history .history-period-absent{background:var(--danger)}.period-blocks-history .history-period-on_leave{background:var(--info)}.period-blocks-history .history-period-unmarked{background:var(--border)}.period-blocks-count{color:var(--text-light);font-variant-numeric:tabular-nums;margin-left:5px;font-size:12px;font-weight:700}.att-sumbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.att-sumbar-controls{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.att-sumbar-controls .date-field{min-width:130px;max-width:160px}.att-state-card{position:relative;overflow:hidden}.att-state-card:after{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.att-state-card.good:after{background:var(--success)}.att-state-card.bad:after{background:var(--danger)}.att-donut{grid-template-columns:200px 1fr;align-items:center;gap:22px;margin-top:14px;display:grid}.att-donut-chart{width:200px;height:200px;position:relative}.att-donut-center{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.att-donut-num{letter-spacing:-.02em;color:var(--text);font-size:26px;font-weight:800;line-height:1}.att-donut-lbl{color:var(--text-light);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;font-size:12px}.att-legend{flex-direction:column;gap:12px;display:flex}.att-legend-row{border:1px solid var(--border);border-radius:11px;align-items:center;gap:12px;padding:11px 13px;display:flex}.att-legend-dot{border-radius:4px;flex-shrink:0;width:12px;height:12px}.att-legend-text{flex:1;min-width:0}.att-legend-text strong{font-size:14px}.att-legend-num{text-align:right;color:var(--text);font-size:22px;font-weight:700;line-height:1;font-family:var(--font-ui)}.att-legend-num span{color:var(--text-light);margin-top:3px;font-family:Inter,sans-serif;font-size:12px;font-weight:600;display:block}.att-deficit-btn{justify-content:center;margin-top:4px}@media (width<=560px){.att-donut{grid-template-columns:1fr}}.cal-pick{border:1px solid var(--border);background:var(--surface);border-radius:12px;width:100%;padding:12px}.cal-pick-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.cal-pick-title{font-size:14.5px;font-weight:600}.cal-nav{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:28px;height:28px;color:var(--text);border-radius:7px;font-size:16px;line-height:1}.cal-nav:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.cal-nav:disabled{opacity:.35;cursor:not-allowed}.cal-pick-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-dow{text-align:center;color:var(--text-light);text-transform:uppercase;padding-bottom:4px;font-size:12px;font-weight:700}.cal-day{aspect-ratio:1;cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:8px;place-items:center;font-size:12.5px;font-weight:600;transition:background .12s,color .12s;display:grid}.cal-day:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.cal-day.selected{background:var(--primary);color:#fff;font-weight:700}.cal-day:disabled{cursor:not-allowed}.cal-day-out{color:var(--border)}.cal-day-sun{color:#c2767a}.cal-day-holiday{color:var(--danger);background:var(--danger-soft);text-decoration:line-through}.cal-pick-selectors{align-items:center;gap:4px;display:flex}.cal-month-sel,.cal-year-sel{color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;appearance:auto;border-radius:6px;outline:none;padding:3px 6px;font-size:13px;font-weight:400}.cal-month-sel:hover,.cal-year-sel:hover{border-color:var(--primary)}.cal-month-sel:focus,.cal-year-sel:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-soft)}.cal-month-sel{max-width:110px}.cal-year-sel{max-width:72px}.hist-pagination{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.hist-page-btns{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.hist-page-btns .btn{min-width:32px;padding:4px 8px}.hist-page-ellipsis{color:var(--text-light);-webkit-user-select:none;user-select:none;padding:0 4px;font-size:13px}@media (width<=820px){.cal-pick{max-width:340px}}.users-mod{--card-ring:#1d37580f}.user-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;line-height:1.2;overflow:hidden}.user-desig{color:var(--text-light);margin-top:3px;font-size:12.5px}.user-form{flex-direction:column;gap:16px;display:flex}.user-form .form-row{gap:14px}.stu-form{flex-direction:column;gap:14px;display:flex}.student-profile-title{align-items:center;gap:14px;display:flex}.student-profile-badges{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.student-profile-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:20px;display:grid}.student-profile-stats>div{flex-direction:column;gap:8px;min-width:0;display:flex}.student-profile-stats>div+div{border-left:1px solid var(--border);padding-left:24px}.student-profile-stats span:not(.badge){letter-spacing:.04em;text-transform:uppercase;color:var(--text-light);font-size:12px;font-weight:700}.student-profile-stats strong{overflow-wrap:anywhere;font-size:18px;line-height:1.4}.student-profile-stats small{color:var(--text-light);font-size:12px}.student-profile-tabs{flex-wrap:nowrap;gap:0;overflow:auto hidden}.student-profile-tab-group{flex:none;align-items:stretch;gap:4px;display:flex}.student-profile-tab-group--support{border-left:1px solid var(--border);margin-left:auto;padding-left:18px}.student-profile-tabs .tab{white-space:nowrap}.student-profile-term-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.student-profile-term-head h3{color:var(--text);margin:0 0 5px;font-size:17px}.student-profile-term-head .card-sub{margin:0;line-height:1.5}.student-profile-semester-navigator{flex:none;align-items:stretch;min-width:260px;height:36px;display:flex}.student-profile-semester-navigator .select{border-right:0;border-radius:7px 0 0 7px;flex:1;min-width:0;height:36px;font-size:12px}.student-profile-semester-navigator button{border:1px solid var(--border);background:var(--surface);width:32px;color:var(--text);cursor:pointer;font-size:19px}.student-profile-semester-navigator button+button{border-left:0;border-radius:0 7px 7px 0}.student-profile-semester-navigator button:hover:not(:disabled){color:var(--primary);background:var(--primary-soft)}.student-profile-semester-navigator button:disabled{color:var(--text-light);opacity:.45;cursor:default}.student-profile-academic-tabs{gap:6px;margin-bottom:16px;padding:1px;display:flex;overflow-x:auto}.student-profile-academic-tab{border:1px solid var(--border);background:var(--surface);min-width:112px;color:var(--text);text-align:left;cursor:pointer;border-radius:7px;flex:none;gap:3px;padding:9px 13px;display:grid}.student-profile-academic-tab strong{font-size:12px}.student-profile-academic-tab small{color:var(--text-light);font-size:12px}.student-profile-academic-tab:hover{border-color:var(--primary)}.student-profile-academic-tab.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:inset 0 0 0 1px var(--primary)}.student-profile-academic-summary{border:1px solid var(--border);border-radius:9px;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);display:grid;overflow:hidden}.student-profile-academic-info{min-width:0;padding:17px 19px}.student-profile-academic-info-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:13px;display:flex}.student-profile-academic-info-head>strong{color:var(--text);font-size:13px}.student-profile-academic-info dl{grid-template-columns:125px minmax(0,1fr);gap:10px 14px;margin:0;font-size:12px;display:grid}.student-profile-academic-info dt{color:var(--text-light)}.student-profile-academic-info dd{min-width:0;color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:600}.student-profile-paper-summary{border-left:1px solid var(--border);background:var(--secondary-soft);align-content:start;padding:11px;display:grid}.student-profile-paper-summary>div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:7px 8px;font-size:12px;display:flex}.student-profile-paper-summary>div:last-of-type{border-bottom:0}.student-profile-paper-summary span{color:var(--text-light)}.student-profile-paper-summary strong{color:var(--text);font-variant-numeric:tabular-nums}.student-profile-paper-error{color:var(--danger);margin:9px 7px;font-size:12px}.student-profile-paper-error button{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;font-weight:700}.student-profile-results{border-top:1px solid var(--border);margin-top:20px;padding-top:17px}.student-profile-results-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:13px;display:flex}.student-profile-results-head h3{color:var(--text);margin:0 0 4px;font-size:15px}.student-profile-results-head p,.student-profile-results-note{color:var(--text-light);margin:0;font-size:12px;line-height:1.5}.student-profile-results-overall{color:var(--text-light);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;font-size:12px;display:flex}.student-profile-results-overall strong{color:var(--text);font-size:12px}.student-profile-results-note{margin:9px 0}.student-profile-results-table{min-width:820px}.student-profile-results-table td{vertical-align:middle;font-variant-numeric:tabular-nums}.student-profile-results-table td:first-child{min-width:190px}.student-profile-results-table td:first-child strong,.student-profile-results-table td:first-child small{display:block}.student-profile-results-table td:first-child small{color:var(--text-light);margin-top:3px;font-size:12px;line-height:1.35}.student-profile-attendance-metrics,.student-profile-leave-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.student-profile-attendance-metric,.student-profile-leave-metrics>div{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-content:center;gap:6px;min-width:0;min-height:82px;padding:13px 15px;display:grid}.student-profile-attendance-metric>span,.student-profile-attendance-metric>div>span,.student-profile-leave-metrics span{color:var(--text-light);font-size:12px}.student-profile-attendance-metric>strong,.student-profile-attendance-metric>div>strong,.student-profile-leave-metrics strong{color:var(--text);font-size:19px;font-weight:750}.student-profile-attendance-metric small{color:var(--text-light);font-size:12px}.student-profile-attendance-metric.is-overall{align-items:center;gap:12px;display:flex}.student-profile-attendance-metric.is-overall>div{gap:5px;display:grid}.student-profile-panel+.student-profile-panel{margin-top:24px}.student-profile-section-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.student-profile-section-head h3{margin:0 0 6px;font-size:16px}.student-profile-section-head .card-sub{margin:0;line-height:1.6}.student-profile-notice{border:1px solid var(--border);color:var(--danger);border-radius:12px;margin-bottom:18px;padding:14px 18px}.student-profile-workspace .empty-state .btn{margin:12px auto 0;display:block}.student-profile-workspace .kv-list dd{overflow-wrap:anywhere;white-space:pre-line}.student-profile-panel>.card-sub{margin-bottom:14px}@media (width<=760px){.student-profile-stats{grid-template-columns:1fr;gap:16px}.student-profile-stats>div+div{border-left:0;border-top:1px solid var(--border);padding-top:16px;padding-left:0}.student-profile-term-head{flex-direction:column}.student-profile-semester-navigator{width:100%}.student-profile-academic-summary{grid-template-columns:1fr}.student-profile-paper-summary{border-left:0;border-top:1px solid var(--border)}.student-profile-results-head{flex-direction:column}.student-profile-results-overall{justify-content:flex-start}.student-profile-attendance-metrics,.student-profile-leave-metrics{grid-template-columns:1fr}.student-profile-section-head{flex-direction:column}.student-profile-title{align-items:flex-start}.student-profile-title h2{font-size:22px}}.student-profile-photo,.student-photo-preview{background:var(--primary-soft);width:78px;height:78px;color:var(--primary);border:1px solid var(--border);border-radius:16px;flex-shrink:0;place-items:center;font-size:24px;font-weight:700;display:grid;overflow:hidden}.student-profile-photo img,.student-photo-preview img{object-fit:cover;width:100%;height:100%}.student-photo-upload{border:1px solid var(--border);background:var(--bg);border-radius:12px;align-items:center;gap:16px;padding:13px;display:flex}.student-photo-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.student-photo-actions strong{font-size:13px}.student-photo-actions>span{color:var(--text-light);font-size:12px}.form-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--primary);border-bottom:1px solid var(--border);padding-bottom:7px;font-size:12px;font-weight:700}.form-note{background:var(--primary-soft);min-width:200px;color:var(--primary-dark);border-radius:10px;flex:2;align-items:flex-start;gap:9px;padding:11px 13px;font-size:12px;line-height:1.45;display:flex}.form-note svg{color:var(--primary);flex-shrink:0;margin-top:1px}.auth-page{background:var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;flex-direction:column;gap:14px;width:min(420px,100%);padding:30px;display:flex;box-shadow:0 16px 44px #1d37581a}.auth-card h1{color:var(--text);margin:0;font-size:25px}.auth-card .field span{color:var(--text-light);font-size:12px;font-weight:600}.auth-submit{justify-content:center;width:100%}.auth-link{color:var(--primary);cursor:pointer;background:0 0;border:0;align-self:center;padding:3px;font-size:12px}.auth-error,.auth-success{border-radius:9px;padding:10px 12px;font-size:12px;line-height:1.4}.auth-error{background:var(--danger-soft);color:var(--danger)}.auth-success{background:var(--primary-soft);color:var(--primary-dark)}.auth-divider{border-top:1px solid var(--border);text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);margin:6px 0 0;padding-top:15px;font-size:12px;font-weight:700}.perm-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:13px;margin-bottom:16px;padding-bottom:16px;display:flex}.switch{cursor:pointer;background:var(--secondary);border:none;border-radius:999px;flex-shrink:0;width:42px;height:24px;padding:0;transition:background .18s;position:relative}.switch.on{background:var(--primary)}.switch:disabled{cursor:not-allowed;opacity:.55}.switch-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch.on .switch-knob{transform:translate(18px)}.perm-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);margin:4px 0 11px;font-size:12px;font-weight:700}.perm-admin{border-bottom:1px solid var(--border);grid-template-columns:auto 1fr;align-items:center;gap:5px 13px;margin-bottom:18px;padding-bottom:18px;display:grid}.perm-admin-name{color:var(--text);font-size:14px;font-weight:600}.perm-admin-desc{color:var(--text-light);grid-column:2;margin:0;font-size:12px;line-height:1.45}.perm-modules{flex-direction:column;display:flex}.perm-mod-row{align-items:center;gap:13px;padding:11px 0;display:flex}.perm-mod-row+.perm-mod-row{border-top:1px solid var(--border)}.perm-module{color:var(--text);font-size:13.5px;font-weight:600}.perm-mod-control{flex-shrink:0;margin-left:auto}.perm-mod-row.is-admin .perm-module{color:var(--text-light)}.perm-full,.perm-noaccess{color:var(--text-light);font-size:13px;font-style:italic}.perm-radios{gap:8px;display:inline-flex}.perm-radio{cursor:pointer;border:1px solid var(--border);color:var(--text-light);border-radius:8px;align-items:center;gap:6px;padding:6px 13px;font-size:12.5px;font-weight:600;transition:border-color .14s,color .14s,background .14s;display:inline-flex}.perm-radio:hover{color:var(--text)}.perm-radio input{accent-color:var(--primary);margin:0}.perm-radio.on{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.btn-danger-solid{background:var(--danger);color:#fff}.btn-danger-solid:hover:not(:disabled){background:#be3838}@media (width<=620px){.perm-mod-row{flex-wrap:wrap}.perm-mod-control{margin-left:55px}}.timetable-page{gap:20px;display:grid}.timetable-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.timetable-heading h2{margin:2px 0 6px;font-size:24px}.timetable-heading p{color:var(--text-light);margin:0}.timetable-manage-actions{gap:10px;display:flex}.timetable-scope{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;padding:18px;display:grid}.timetable-scope label{color:var(--text-light);gap:7px;font-size:12px;font-weight:650;display:grid}.timetable-placeholder,.timetable-error{border:1px dashed var(--border);color:var(--text-light);text-align:center;border-radius:14px;padding:28px}.timetable-error{color:#a52d2d;text-align:left;background:#fff6f6;border-style:solid;border-color:#f1b6b6}.timetable-grid-wrap{border:1px solid var(--border);background:var(--surface);border-radius:14px;overflow-x:auto}.timetable-grid{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1120px}.timetable-grid th,.timetable-grid td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);vertical-align:top}.timetable-grid tr:last-child>*{border-bottom:0}.timetable-grid tr>:last-child{border-right:0}.timetable-grid thead th{background:var(--bg);color:var(--text-light);text-align:left;padding:13px 10px;font-size:12px}.timetable-grid thead th:first-child,.timetable-grid tbody th{width:112px}.timetable-grid tbody th{background:color-mix(in srgb, var(--bg) 70%, white);color:var(--text);text-align:left;padding:16px 12px;font-size:13px}.timetable-grid td{height:148px;padding:8px}.timetable-cell-cards{gap:8px;display:grid}.combined-timetable-filters{grid-template-columns:repeat(2,minmax(180px,220px));align-items:end;gap:12px;display:grid}.combined-timetable-filters .timetable-term-control .input{width:100%;min-width:0}@media (width<=1000px){.combined-timetable-filters{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}}@media (width<=620px){.combined-timetable-filters{grid-template-columns:1fr}}.combined-timetable-grid{min-width:1380px}.combined-timetable-grid thead .combined-timetable-major-heading{width:112px}.combined-timetable-grid td{height:auto}.combined-timetable-grid caption{color:var(--text-light);text-align:left;padding:12px;font-size:12px}.combined-timetable-grid .timetable-card{padding:7px}.combined-timetable-grid .timetable-card-name{font-size:12px;font-weight:400}.combined-timetable-grid .timetable-card-faculty{margin-top:4px}.combined-timetable-department{color:var(--text);margin-top:4px;font-size:12px;font-weight:700}.combined-timetable-section{color:var(--text-light);margin-top:6px;font-size:12px;font-weight:400;display:block}.combined-timetable-empty{color:var(--text-light);text-align:center;padding:10px;display:block}.combined-timetable-grid tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--bg) 35%, var(--surface))}.timetable-card{border:1px solid color-mix(in srgb, var(--primary) 24%, var(--border));background:color-mix(in srgb, var(--primary) 5%, white);border-radius:10px;padding:10px;box-shadow:0 1px 2px #121f350d}.timetable-card-code{color:var(--primary);letter-spacing:.04em;font-size:12px;font-weight:800}.timetable-card-name{color:var(--text);margin-top:3px;font-size:12px;font-weight:700;line-height:1.35}.timetable-card-faculty{color:var(--text-light);margin-top:6px;font-size:12px;line-height:1.4}.timetable-card-faculty.unassigned{color:#9a6815;font-weight:700}.faculty-initial{color:#1e40af;background:#dbeafe;border:1px solid #93c5fd;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex}.faculty-initial:hover{background:#bfdbfe;border-color:#60a5fa}.timetable-card-actions{border-top:1px solid var(--border);gap:4px;margin-top:9px;padding-top:8px;display:flex}.timetable-card-actions button,.timetable-add-card{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:0;font-size:12px;font-weight:700}.timetable-card-actions button{border-radius:7px;flex:1;justify-content:center;align-items:center;height:32px;padding:0 6px;display:inline-flex}.timetable-card-actions button:hover{background:var(--primary-soft)}.timetable-card-actions button:last-child{color:var(--danger)}.timetable-card-actions button:last-child:hover{background:var(--danger-soft)}.timetable-add-card{border:1px dashed color-mix(in srgb, var(--primary) 45%, var(--border));border-radius:8px;width:100%;margin-top:8px;padding:8px}.timetable-add-card:hover,.timetable-add-card:focus-visible{background:color-mix(in srgb, var(--primary) 7%, white)}.timetable-card-actions button:focus-visible,.timetable-add-card:focus-visible,.timetable-faculty-option:focus-within{outline:2px solid var(--primary);outline-offset:2px}.timetable-paper-field-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.timetable-paper-field-actions{flex-wrap:wrap;gap:10px;display:flex}.timetable-paper-field-actions button{color:var(--primary);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.timetable-paper-field-actions button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.timetable-faculty-picker{border:1px solid var(--border);border-radius:10px;gap:8px;margin:18px 0 0;padding:14px;display:grid}.timetable-faculty-picker legend{padding:0 6px;font-size:12px;font-weight:700}.timetable-faculty-option{border-radius:7px;align-items:center;gap:9px;padding:8px;font-size:13px;display:flex}.timetable-faculty-option:hover{background:var(--bg)}.timetable-help{color:var(--text-light);margin:0;font-size:12px}@media (width<=1050px){.timetable-scope{grid-template-columns:repeat(2,minmax(180px,1fr))}}.timetable-overview{gap:18px;display:grid}.timetable-overview-controls{border:1px solid var(--border);background:var(--surface);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:18px;padding:16px 18px;display:grid;box-shadow:0 6px 18px #121f3509}.timetable-overview-controls>.calendar-term-controls{display:contents}.timetable-overview-controls .calendar-session-combobox,.timetable-overview-controls .timetable-term-control .input{width:100%;min-width:0}.timetable-overview-controls .calendar-term-control{min-width:0}.timetable-overview-controls .calendar-term-segment button{flex:1}@media (width<=1050px){.timetable-overview-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.timetable-overview-controls .calendar-term-control{grid-column:1/-1}}@media (width<=720px){.timetable-overview-controls{grid-template-columns:1fr}.timetable-overview-controls .calendar-term-control{grid-column:auto}}.timetable-term-control{color:var(--text-light);gap:6px;font-size:12px;font-weight:650;display:grid}.timetable-term-control .input{min-width:230px}.calendar-term-controls{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.calendar-session-control,.calendar-term-control{gap:6px;display:grid}.calendar-session-arrow-row{flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:39px;display:flex}.calendar-control-label{color:var(--text-light);font-size:12px;font-weight:650}.calendar-session-combobox{flex:0 280px;min-width:220px;position:relative}.calendar-session-term{position:relative}.calendar-session-term>.badge{margin-left:6px}.calendar-session-term-badge{background:var(--primary-soft);color:var(--primary);font:inherit;white-space:nowrap;border:0;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:700;display:inline-flex}button.calendar-session-term-badge{cursor:pointer}button.calendar-session-term-badge:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.calendar-session-term .calendar-term-options{top:calc(100% + 8px)}.calendar-term-segment{border:1px solid var(--border);border-radius:9px;display:flex;overflow:hidden}.calendar-term-segment button{background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;border:0;padding:10px 13px}.calendar-term-segment button+button{border-left:1px solid var(--border)}.calendar-term-segment button.selected{background:var(--primary);color:#fff}.calendar-term-segment button:disabled{opacity:.6;cursor:default}.calendar-term-current{border:1px solid var(--border);background:var(--surface);border-radius:9px;justify-content:space-between;align-items:center;gap:8px;min-height:39px;padding:0 11px;display:flex;position:relative}.calendar-term-current strong{white-space:nowrap;font-size:12px;font-weight:600}.calendar-term-change{color:var(--primary);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:12px;font-weight:700}.calendar-term-change:disabled{opacity:.6;cursor:default}.calendar-term-change:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.calendar-term-options{z-index:35;border:1px solid var(--border);background:var(--surface);min-width:165px;box-shadow:var(--shadow);border-radius:9px;padding:5px;position:absolute;top:calc(100% + 5px);right:0}.calendar-term-options button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;font-size:12px;display:flex}.calendar-term-options button:hover,.calendar-term-options button.selected{background:var(--secondary-soft);color:var(--primary)}.events-list-toolbar{flex-wrap:wrap}.events-list-toolbar .student-list-search{flex:260px;min-width:0}@media (width<=760px){.events-list-toolbar .calendar-session-combobox{flex:100%}}.calendar-attendance-warning{border:1px solid var(--warning);background:var(--warning-soft);color:var(--text);border-radius:8px;margin:10px 0 16px;padding:10px 12px;font-size:13px}.timetable-overview-table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:14px;overflow:hidden;box-shadow:0 8px 24px #121f350a}.timetable-overview-table{border-collapse:collapse;table-layout:fixed;width:100%}.timetable-overview-table th:first-child,.timetable-overview-table td:first-child{width:27%}.timetable-overview-table th:nth-child(2),.timetable-overview-table td:nth-child(2),.timetable-overview-table th:nth-child(3),.timetable-overview-table td:nth-child(3){width:18%}.timetable-overview-table th:nth-child(4),.timetable-overview-table td:nth-child(4){width:19%}.timetable-overview-table th:nth-child(5),.timetable-overview-table td:nth-child(5){width:18%}.timetable-overview-table th{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 78%, white);color:var(--text-light);letter-spacing:.055em;text-align:left;text-transform:uppercase;padding:12px 16px;font-size:12px;font-weight:750}.timetable-overview-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:15px 16px;font-size:13px}.timetable-overview-table tbody tr:last-child td{border-bottom:0}.timetable-overview-table tbody tr:hover{background:color-mix(in srgb, var(--primary) 2.5%, white)}.timetable-overview-table td:first-child{gap:1px;min-width:230px;display:grid}.timetable-overview-table td:first-child strong{color:var(--primary);letter-spacing:.045em;font-size:12px}.timetable-overview-table td:first-child span{font-weight:750}.timetable-overview-table td:first-child small{color:var(--text-light)}.timetable-overview-table .timetable-metric{align-content:center;gap:6px;display:grid}.timetable-overview-table .timetable-metric>strong{font-size:13px;font-weight:650}.timetable-overview-table .timetable-metric>small{color:var(--text-light);font-size:12px}.timetable-overview-table td:nth-child(4){min-width:180px}.timetable-overview-table td:last-child{text-align:right;width:18%}.timetable-status{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:750;display:inline-flex}.timetable-status.scheduled{background:var(--success-soft);color:var(--success)}.timetable-unassigned-note{color:var(--text-light);margin-top:6px;font-size:12px;display:block}.timetable-programme-scopes-row td{background:color-mix(in srgb, var(--bg) 55%, white);text-align:left!important;width:auto!important;min-width:0!important;padding:0!important;display:table-cell!important}.timetable-programme-scopes{gap:14px;padding:12px 16px 14px 30px;display:grid}.timetable-semester-group,.timetable-semester-scopes{gap:8px;display:grid}.timetable-semester-heading{justify-content:space-between;align-items:baseline;gap:12px;padding:0 2px;display:flex}.timetable-semester-heading strong{color:var(--text);font-size:12px}.timetable-semester-heading span{color:var(--text-light);font-size:12px;font-weight:650}.timetable-programme-scope{border:1px solid var(--border);background:var(--surface);border-radius:9px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:10px 12px;display:grid}.timetable-programme-scope>div{gap:3px;display:grid}.timetable-programme-scope strong{font-size:12px}.timetable-programme-scope small{color:var(--text-light);font-size:12px}.timetable-history-note{background:var(--secondary-soft);width:fit-content;color:var(--info);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.timetable-error{justify-content:space-between;align-items:center;gap:16px;display:flex}@media (width<=720px){.timetable-term-control .input{width:100%;min-width:0}.timetable-overview-table-wrap{box-shadow:none;background:0 0;border:0;overflow:visible}.timetable-overview-table,.timetable-overview-table tbody,.timetable-overview-table tr,.timetable-overview-table td{width:100%;display:block}.timetable-overview-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.timetable-overview-table tr{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:1fr 1fr;gap:14px 18px;margin-bottom:12px;padding:16px;display:grid}.timetable-overview-table td,.timetable-overview-table td:first-child,.timetable-overview-table td:nth-child(4),.timetable-overview-table td:last-child{text-align:left;border:0;width:auto;min-width:0;padding:0}.timetable-overview-table td:first-child,.timetable-overview-table td:last-child{grid-column:1/-1}.timetable-overview-table td:before{content:attr(data-label);color:var(--text-light);letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px;font-size:12px;font-weight:750;display:block}.timetable-overview-table td:last-child .btn{justify-content:center;width:100%}.timetable-programme-scopes{padding:12px}.timetable-overview-table .timetable-programme-scopes-row{padding:0;display:block}.timetable-overview-table .timetable-programme-scopes-row>td{display:block!important}.timetable-programme-scope{grid-template-columns:1fr auto}.timetable-programme-scope .btn{grid-column:1/-1;width:100%}}@media (width<=620px){.timetable-heading{display:grid}.timetable-scope{grid-template-columns:1fr}}.field-validation-error{color:var(--danger);margin-top:5px;font-size:12px;line-height:1.5;display:block}[data-field-error-id][aria-invalid=true]{outline-color:var(--danger);box-shadow:0 0 0 1px var(--danger);scroll-margin-block:100px;border-color:var(--danger)!important}.college-id-directory [aria-invalid=true]{border-color:var(--danger)!important}small,sub,sup{font-size:max(12px,.833333em)}.attendance-records{min-width:0;box-shadow:none;border-radius:16px}.attendance-records-toolbar{border-bottom:1px solid var(--border);align-items:center;padding:12px 16px;display:flex}.attendance-record-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-left:auto;display:flex}.attendance-history-card .attendance-record-tools,.paper-report-filters .attendance-record-tools{justify-content:flex-start;width:100%}.attendance-paper-major-filter{min-width:0;max-width:100%;color:var(--text-light);align-items:center;gap:8px;margin-right:auto;font-size:12px;display:flex}.attendance-paper-major-filter .project-select{width:240px;min-width:0;max-width:100%}.attendance-record-date{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:0;width:236px;max-width:100%;padding:2px;display:flex}.attendance-record-date:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--primary-soft)}.attendance-record-date .date-input{flex:1;min-width:0}.attendance-record-date .date-input>.input{box-shadow:none;background:0 0;border:0}.attendance-record-date .directory-list-tool{flex-shrink:0}.attendance-record-date .directory-list-tool:disabled{opacity:.4;cursor:not-allowed}.attendance-daily-table{table-layout:fixed;width:100%;min-width:800px}.attendance-daily-table th:first-child{width:6%}.attendance-daily-table th:nth-child(2){width:40%}.attendance-daily-table th:nth-child(3),.attendance-daily-table th:nth-child(4){width:12%}.attendance-daily-table th:nth-child(5){width:7%}.attendance-daily-table th:nth-child(6){width:23%}.attendance-daily-table th:nth-child(n+3),.attendance-daily-table td:nth-child(n+3){text-align:center}.attendance-daily-table td{overflow-wrap:anywhere}.attendance-records-skeleton-row td{vertical-align:middle;height:68px}.attendance-loading-cell{flex-direction:column;gap:8px;width:100%;display:flex}.attendance-loading-line{width:65%;max-width:105px;height:11px}.attendance-loading-cell-0 .attendance-loading-line{width:18px}.attendance-loading-cell-2 .attendance-loading-line{max-width:210px}.attendance-loading-secondary{width:45%;max-width:92px;height:9px}.attendance-loading-cell-3 .attendance-loading-line,.attendance-loading-cell-4 .attendance-loading-line{width:44px;margin-inline:auto}.attendance-loading-cell-5 .attendance-loading-line{width:18px;margin-inline:auto}.attendance-loading-periods{justify-content:center;gap:4px;display:flex}.attendance-loading-periods>span{border-radius:3px;width:16px;height:22px}.paper-report-filters.card{align-items:center;gap:12px;display:flex}.attendance-semester-pills{align-items:center;gap:8px;min-width:0;padding:2px;display:flex;overflow-x:auto}.attendance-semester-pills button{border:1px solid var(--border);background:var(--surface);min-height:32px;color:var(--text-light);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:12px;font-weight:600}.attendance-semester-pills button:hover{background:var(--primary-soft);color:var(--primary)}.attendance-semester-pills button[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:#fff}.attendance-semester-pills button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.attendance-records .attendance-marking-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.attendance-records .attendance-record-views{margin-right:auto}.attendance-records .attendance-record-tools .timetable-term-control{margin:0}@media (width<=700px){.attendance-record-tools{width:100%}}.attendance-records>.attendance-history-card{border:0;border-radius:0 0 16px 16px}.attendance-records>.paper-report>.paper-report-filters{border:0;border-bottom:1px solid var(--border);box-shadow:none;border-radius:0;margin-bottom:0}.attendance-records>.paper-report>.hist-content{padding:0 16px 16px}.attendance-records>.attendance-records-skeleton{border:0;border-radius:0 0 16px 16px}.paper-matrix-detail-button{font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:4px 0}.paper-matrix-detail-button:hover{background:var(--secondary-soft)}.paper-matrix-detail-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.perm-options .perm-sidebar-group+.perm-sidebar-group{border-top:1px solid var(--border)}.perm-options .perm-group-heading{align-items:center;gap:12px;padding:16px 0;display:flex}.perm-options .perm-group-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.perm-options .perm-selection-count,.perm-options .perm-selection-status{color:var(--text-light);font-size:12px}.perm-options .perm-selection-status{text-align:right;margin-left:auto}.perm-options .perm-group-expand,.perm-options .perm-group-spacer{flex-shrink:0;width:32px;height:32px}.perm-options .perm-group-expand{color:var(--text-light);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.perm-options .perm-group-expand:hover{background:var(--secondary-soft);color:var(--text)}.perm-options .perm-group-expand[aria-expanded=false] svg{transform:rotate(-90deg)}.perm-options label{cursor:pointer}.perm-options .perm-subitems{border-top:1px solid var(--border);background:var(--secondary-soft);padding:12px 16px 12px 100px}.perm-options .perm-subitem-row{justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:6px 0;display:flex;position:relative}.perm-options .perm-subitem-row:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:-24px}.perm-options .perm-subitem-row:last-child:before{bottom:50%}.perm-options .perm-subitem-row:after{content:"";background:var(--border);width:16px;height:1px;position:absolute;top:50%;left:-24px}.perm-options .perm-subitem-choice{align-items:center;gap:12px;min-width:0;display:flex}.perm-options .perm-subitem-row .perm-module{font-size:13px;font-weight:400}.perm-options .perm-access-levels{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-shrink:0;padding:2px;display:inline-flex}.perm-options .perm-access-levels button{font:inherit;color:var(--text-light);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600}.perm-options .perm-access-levels button[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.perm-options .perm-access-levels button:disabled{cursor:default;opacity:.6}@media (width<=600px){.perm-options .perm-group-heading{gap:8px}.perm-options .perm-selection-status{max-width:64px}.perm-options .perm-subitems{padding-left:54px;padding-right:12px}.perm-options .perm-subitem-row{flex-wrap:wrap;gap:8px;padding:8px 0}.perm-options .perm-access-levels{margin-left:auto}.perm-options .perm-access-levels button{padding:6px 8px}}
