:root{color:#211b4e;background:#f6f4ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f6f4ff;margin:0}button,input,select,textarea{font:inherit}button{color:#fff;cursor:pointer;background:#4a3ae3;border:0;border-radius:12px;padding:.75rem 1rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s}button:hover{transform:translateY(-1px);box-shadow:0 10px 18px #4a3ae32e}button:disabled{cursor:not-allowed;opacity:.7;box-shadow:none;transform:none}input,select,textarea{color:#211b4e;background:#fff;border:1px solid #e3defb;border-radius:12px;outline:none;width:100%;padding:.72rem .82rem}textarea{resize:vertical;min-height:90px}input:focus,select:focus,textarea:focus{border-color:#6f5ff0;box-shadow:0 0 0 4px #6f5ff01f}input:disabled{color:#211b4e;opacity:1;cursor:default;background:#f8f6ff}.appShell{grid-template-columns:290px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f9f8fd;background:#211b4e;height:100vh;padding:1.2rem;position:sticky;top:0;overflow-y:auto}.brandBlock{border-bottom:1px solid #ffffff14;align-items:center;gap:.85rem;margin-bottom:1rem;padding:.4rem .3rem 1.2rem;display:flex}.authBrandBlock{border-bottom:none;margin-bottom:1.5rem;padding:0}.brandIcon{background:linear-gradient(135deg,#5b7cfa,#8b5cf6);border-radius:16px;place-items:center;width:46px;height:46px;font-weight:900;display:grid}.brandBlock h1{margin:0;font-size:1.25rem}.brandBlock p{color:#b0a6d0;margin:.1rem 0 0;font-size:.85rem}.sidebarUserCard{background:#ffffff14;border:1px solid #ffffff14;border-radius:16px;gap:.2rem;margin-bottom:.9rem;padding:.85rem .9rem;display:grid}.sidebarUserLabel,.sidebarUserRole{color:#b0a6d0;font-size:.8rem}.sideButton{color:#e3defb;width:100%;box-shadow:none;background:0 0;justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.sideButton:hover,.activeStatic{box-shadow:none;background:#ffffff14}.logoutButton{border:1px solid #ffffff14;margin-top:1rem}.navSectionTitle{color:#938aab;text-transform:uppercase;letter-spacing:.08em;margin:.9rem 0 .35rem;padding:0 .35rem;font-size:.74rem;font-weight:900}.mainNavList{gap:.25rem;margin-bottom:.6rem;display:grid}.settingsButton{margin-top:.35rem}.settingsList{gap:.25rem;margin-top:.4rem;display:grid}.entityNav{color:#d6cff2;text-align:left;width:100%;box-shadow:none;background:0 0;border-radius:10px;padding:.62rem .8rem;font-weight:600}.entityNav:hover{box-shadow:none;background:#ffffff12}.entityNav.selected{color:#fff;background:#4a3ae3}.mainPanel{flex-direction:column;min-width:0;min-height:100vh;padding:1.4rem;display:flex}.topBar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.eyebrow{color:#675f97;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .25rem;font-size:.78rem;font-weight:900}.topBar h2{margin:0;font-size:1.9rem}.ghostButton{color:#4a3ae3;background:#fff;border:1px solid #e3defb}.topUserChip{background:#fff;border:1px solid #e3defb;border-radius:14px;gap:.1rem;min-width:150px;padding:.55rem .75rem;display:grid}.topUserChip span{color:#6e6a93;font-size:.8rem}.notice{color:#7a4d00;background:#fff7e6;border:1px solid #ffd88a;border-radius:14px;margin-bottom:1rem;padding:.9rem 1rem;font-weight:650}.pdfPreviewFrame{background:#f3f1fb;border:1px solid #e3defb;border-radius:14px;width:100%;height:70vh}.toastStack{z-index:1000;gap:.6rem;max-width:min(360px,100vw - 2.5rem);display:grid;position:fixed;top:1.25rem;right:1.25rem}.toastItem{border-radius:12px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.8rem .9rem;font-size:.86rem;font-weight:650;animation:.2s toastIn;display:flex;box-shadow:0 16px 32px #211b4e2e}@keyframes toastIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.toastItem--success{color:#0f6e3f;background:#eafaf1;border:1px solid #a7e8c4}.toastItem--error{color:#9c2626;background:#fdecec;border:1px solid #f3aeae}.toastDismiss{box-shadow:none;color:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;padding:0;font-size:1rem;line-height:1}.toastDismiss:hover{opacity:1;box-shadow:none;background:0 0;transform:none}.statsGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.statCard,.contentCard,.authCard{background:#ffffffeb;border:1px solid #e8e2fa;border-radius:22px;box-shadow:0 16px 35px #211b4e14}.statCard{padding:1rem}.statCard span{color:#6e6a93;font-weight:700}.statCard strong{margin-top:.25rem;font-size:2rem;display:block}.statCard .statCardIcon{color:#4a3ae3;background:#eeedfe;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;margin-bottom:.6rem;font-weight:400;display:flex}.contentCard{padding:1rem}.sectionHeader{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.sectionHeader h3{margin:0;font-size:1.4rem}.sectionHeader p{color:#6e6a93;max-width:760px;margin:.25rem 0 0}.actionsRow{align-items:center;gap:.65rem;display:flex}.searchInput{min-width:240px}.tableWrap{border:1px solid #eae5fa;border-radius:16px;width:100%;max-height:70vh;overflow:auto}.courseOfferingGroups{flex-direction:column;gap:1.5rem;display:flex}.courseOfferingGroup{background:#fdfcff;border:1px solid #eae5fa;border-radius:16px;padding:.9rem 1rem}.courseOfferingGroup summary{cursor:pointer;gap:.5rem;list-style:none}.courseOfferingGroup summary::-webkit-details-marker{display:none}.courseOfferingGroup summary:before{content:"▶";color:#6f5ff0;margin-right:.6rem;font-size:.65rem;transition:transform .15s;display:inline-block}.courseOfferingGroup[open] summary:before{transform:rotate(90deg)}.courseOfferingGroup[open] summary{margin-bottom:.5rem}.courseOfferingGroup .tableWrap{max-height:none}.courseOfferingGroup .tableWrap table{min-width:0}table{border-collapse:collapse;background:#fff;width:100%;min-width:980px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #f0ecfc;padding:.82rem .9rem}th{color:#5b527e;text-transform:capitalize;letter-spacing:.02em;z-index:1;background:#f8f6ff;font-size:.82rem;font-weight:800;position:sticky;top:0}tbody tr:nth-child(2n){background:#faf9ff}tbody tr:hover{background:#f0edfe}tr:last-child td{border-bottom:0}.right{text-align:right}.rowActions{white-space:nowrap;justify-content:flex-end;gap:.4rem;display:flex}.miniButton{color:#4a3ae3;background:#f0edfe;border-radius:10px;padding:.45rem .65rem}.miniButton.danger{color:#b91c1c;background:#fee2e2}.emptyRow,.emptyState{text-align:center;color:#6e6a93;padding:2rem}.modalBackdrop{z-index:50;background:#0f172a8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:24px;width:min(920px,96vw);max-height:90vh;overflow-y:auto;box-shadow:0 30px 90px #00000047}.modalHeader{border-bottom:1px solid #ece7fb;justify-content:space-between;align-items:center;padding:1rem 1.2rem;display:flex}.modalHeader h3{margin:0}.iconButton{color:#211b4e;background:#f3eefe;border-radius:50%;width:38px;height:38px;padding:0;font-size:1.5rem;line-height:1}.formGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.2rem;display:grid}.formGrid label,.authForm label{color:#443669;gap:.35rem;font-weight:750;display:grid}.fullSpan,.checkboxLine,.modalFooter{grid-column:1/-1}.checkboxLine{align-items:center;gap:.6rem!important;display:flex!important}.checkboxLine input{width:auto}.modalFooter{border-top:1px solid #ece7fb;justify-content:flex-end;gap:.7rem;padding-top:1rem;display:flex}.confirmModal{width:min(480px,96vw)}.confirmText{color:#443669;padding:0 1.2rem 1.2rem;line-height:1.5}.confirmModal .modalFooter,.modal>.modalFooter{padding:1rem 1.2rem}table.compactTable{min-width:0}.dangerButton{background:#dc2626}.dangerButton:hover{background:#b91c1c}.detailsGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1.2rem;display:grid}.fieldHint{color:#8f7fc7;font-size:.78rem;font-style:normal;font-weight:500}.courseChecklistHeader{color:#443669;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;font-weight:750;display:flex}.courseChecklistHeader .ghostButton{padding:.4rem .75rem;font-size:.82rem}.clickableHeader{cursor:pointer}.courseChecklist{border:1px solid #ece7fb;border-radius:14px;gap:.5rem;max-height:260px;padding:.75rem 1rem;display:grid;overflow-y:auto}.courseAddAction{align-items:flex-end;display:flex}.courseAddAction button{width:100%}.courseAddedRow{border-bottom:1px solid #f0ecfc;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.courseAddedRow:last-child{border-bottom:0}.courseAddedName{color:#211b4e;flex:1;font-weight:700}.courseAddedMeta{color:#6e6a93;min-width:70px;font-size:.85rem}.statusPillRow{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.statusPill{white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .7rem;font-size:.72rem;font-weight:700;line-height:1.4;display:inline-flex}.statusPillLabel{opacity:.75;font-weight:600}.statusPillLabel:after{content:":"}.statusPill--open{color:#16794a;background:#e4f9ee;border:1px solid #a7ecc7}.statusPill--closed,.statusPill--unregistered,.statusPill--draft{color:#6e6a93;background:#f3f1fb;border:1px solid #e3defb}.statusPill--submitted{color:#7a4d00;background:#fff7e6;border:1px solid #ffd88a}.statusPill--approved{color:#4a3ae3;background:#eef0ff;border:1px solid #cfd0fb}.statusPill--rejected{color:#b3261e;background:#fdeaea;border:1px solid #f5c2c0}.detailItem{background:#f9f7ff;border:1px solid #ece7fb;border-radius:16px;padding:.75rem}.detailItem span{color:#6e6a93;margin-bottom:.2rem;font-size:.8rem;display:block}.detailItem strong{word-break:break-word;font-weight:750}.authShell{background:linear-gradient(160deg,#1a1440 0%,#3b2f8f 60%,#6c4fe0 100%);place-items:center;min-height:100vh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.authShell:before,.authShell:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.authShell:before{background:radial-gradient(circle,#ffffff24 0%,#0000 70%);width:520px;height:520px;top:-160px;left:-140px}.authShell:after{background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);width:560px;height:560px;bottom:-200px;right:-160px}.authCard{z-index:1;background:#fffffffa;width:min(440px,100%);padding:1.75rem;position:relative;box-shadow:0 30px 60px #0a062859}.inputWithIcon{align-items:center;display:flex;position:relative}.inputWithIcon svg{color:#a79cd6;position:absolute;left:12px}.inputWithIcon input{padding-left:38px}.authForm button[type=submit]{background:linear-gradient(135deg,#4a3ae3,#8b5cf6);padding:.85rem 1rem;font-size:.95rem}.authFooter{text-align:center;color:#6e6a93;margin-top:1.25rem;font-size:.85rem}.authFooter a{color:#4a3ae3;font-weight:700}.authCopyright{text-align:center;color:#a79cd6;border-top:1px solid #ece7fb;margin-top:1rem;padding-top:.9rem;font-size:.72rem}.authCopyright a{color:#a79cd6}.authCardCompact{text-align:center;width:min(420px,100%)}.authHeader{margin-bottom:1rem}.authHeader h2{margin:0 0 .35rem}.authHeader p:last-child{color:#6e6a93;margin:0}.authForm{gap:1rem;display:grid}.selectedLink{box-shadow:none;background:#ffffff14}.topActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.footerBar{color:#6e6a93;justify-content:space-between;gap:1rem;margin-top:auto;padding:1rem .25rem 0;font-size:.85rem;display:flex}.dashboardCard{justify-content:space-between;align-items:center;gap:1rem;padding:1.4rem;display:flex}.dashboardCard h3{margin:0 0 .4rem;font-size:1.45rem}.dashboardCard p{color:#6e6a93;max-width:780px;margin:0}.buttonLink{color:#fff;white-space:nowrap;background:#4a3ae3;border-radius:12px;justify-content:center;align-items:center;padding:.75rem 1rem;font-weight:800;display:inline-flex}.dashboardGreetingBar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.dashboardGreetingName{color:#211b4e;margin:0;font-size:1.6rem}.dashboardGreetingRight{align-items:center;gap:.7rem;display:flex}.dashboardDateChip{color:#6e6a93;background:#fff;border:1px solid #e3defb;border-radius:10px;align-items:center;gap:.4rem;padding:.5rem .75rem;font-size:.82rem;display:inline-flex}.dashboardAvatar{color:#fff;background:linear-gradient(135deg,#4a3ae3,#8b5cf6);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.8rem;font-weight:700;display:flex}.dashboardWelcome{color:#fff;background:linear-gradient(120deg,#211b4e 0%,#4a3ae3 60%,#8b5cf6 100%);border-radius:22px;margin-bottom:1rem;padding:1.1rem 1.4rem;box-shadow:0 16px 35px #211b4e2e}.dashboardWelcome p{max-width:780px;margin:0;line-height:1.6}.dashboardWelcome strong{color:#fff}.quickAccessCard{margin-bottom:1rem}.quickAccessGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;display:grid}.quickAccessTile{background:#f9f8ff;border:1px solid #eae5fa;border-radius:16px;flex-direction:column;gap:.35rem;padding:1rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.quickAccessTile:hover{border-color:#d7cef8;transform:translateY(-2px);box-shadow:0 12px 24px #211b4e1a}.quickAccessTile strong{font-size:1rem}.quickAccessTile span{color:#6e6a93;font-size:.85rem}.quickAccessIcon{color:#4a3ae3;background:#f0edfe;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:.15rem;display:flex}.quickAccessIcon--purple{color:#4a3ae3;background:#eeedfe}.quickAccessIcon--teal{color:#0f6e56;background:#e1f5ee}@media (width<=980px){.appShell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.statsGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.sectionHeader,.actionsRow,.topBar{flex-direction:column;align-items:stretch}.searchInput{min-width:0}.dashboardCard{flex-direction:column;align-items:stretch}}@media (width<=640px){.mainPanel{padding:.8rem}.statsGrid,.formGrid,.detailsGrid{grid-template-columns:1fr}}a{color:inherit;text-decoration:none}.sidebar{color:#fff;background:linear-gradient(#120b38 0%,#170f42 100%);border-right:1px solid #ffffff14;flex-direction:column;width:280px;min-width:280px;height:100vh;display:flex}.brandBlock{border-bottom:1px solid #ffffff14;align-items:center;gap:14px;padding:20px 18px;display:flex}.brandIcon{background:linear-gradient(135deg,#7d6ff5 0%,#5847e8 100%);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:16px;font-weight:700;display:flex}.brandText h1{margin:0;font-size:24px;line-height:1.1}.brandText p{color:#b0a4d8;margin:4px 0 0;font-size:13px}.sidebarUserCard{background:#ffffff0f;border:1px solid #ffffff14;border-radius:16px;margin:16px 14px 10px;padding:14px}.sidebarUserLabel{color:#b0a4d8;margin-bottom:8px;font-size:12px;display:block}.sidebarUserName{overflow-wrap:anywhere;word-break:break-word;margin-bottom:4px;font-size:18px;display:block}.sidebarUserRole{color:#8f7fc7;text-transform:uppercase;overflow-wrap:anywhere;font-size:12px}.sidebarScroll{scrollbar-width:none;flex:1;padding:8px 10px 16px;overflow-y:auto}.sidebarScroll::-webkit-scrollbar{display:none}.navSectionTitle{text-transform:uppercase;letter-spacing:.08em;color:#8073b5;margin:14px 10px 8px;font-size:12px;font-weight:700}.mainNavList,.settingsList{flex-direction:column;gap:4px;display:flex}.sideButton,.entityNav{color:#f1edfe;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:14px;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:12px 14px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.sideButton svg,.entityNav svg{opacity:.85;flex:none}.entityNav:hover,.sideButton:hover{background:#ffffff0f}.entityNav.selected,.selectedLink{color:#fff;background:linear-gradient(135deg,#5a4bea 0%,#4d3ce0 100%);box-shadow:0 10px 20px #4a3ae347}.entityNav.selected svg,.selectedLink svg{opacity:1}.subNav{color:#d8cffa;padding-left:22px;font-size:14px}.settingsButton{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.settingsButtonLabel{align-items:center;gap:10px;display:flex}.settingsArrow{color:#a99bdc}.sidebarBottom{border-top:1px solid #ffffff14;padding:14px}.logoutButton{background:#291f5c}.logoutButton:hover{background:#332868}.topBar{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:#7269a0;margin:0 0 6px;font-size:12px;font-weight:700}.topBar h2{color:#1c1650;margin:0;font-size:34px}.topActions{align-items:center;gap:12px;display:flex}.topUserChip{background:#fff;border:1px solid #ebe6fb;border-radius:16px;flex-direction:column;min-width:140px;padding:10px 14px;display:flex}.topUserChip strong{font-size:15px}.topUserChip span{color:#7d71a8;text-transform:uppercase;font-size:12px}.ghostButton,.primarySmallButton{cursor:pointer;background:#fff;border:1px solid #e7e1fa;border-radius:14px;padding:10px 16px;font-weight:700}.primarySmallButton{color:#fff;background:#5a4bea;border-color:#5a4bea}@media (width<=900px){.appShell{grid-template-columns:1fr}.sidebar{width:100%;min-width:0;height:auto;position:relative}.sidebarScroll{max-height:55vh}.mainPanel{min-height:auto;padding:1rem}.topBar{flex-direction:column;align-items:stretch;gap:.75rem}.topActions{justify-content:flex-start}.formGrid,.detailsGrid,.statsGrid{grid-template-columns:1fr}}@media (width<=560px){.brandBlock{padding:16px 14px}.sidebarUserCard{margin:12px 10px 8px}.sidebarUserName{font-size:15px}.footerBar{flex-direction:column;gap:.35rem}}.bulkImportPanel{flex-direction:column;gap:.9rem;display:flex}.bulkImportActions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.bulkImportActions input[type=file]{background:#f9f8ff;border:1px dashed #d7cef8;width:auto;padding:.5rem .75rem}.importSummary{flex-direction:column;gap:.75rem;display:flex}.importSummaryHeadline{color:#211b4e;background:#eeedfe;border:1px solid #d7cef8;border-radius:14px;flex-wrap:wrap;gap:1.5rem;padding:1rem 1.1rem;font-size:1.05rem;display:flex}.importSummaryStats{color:#443669;background:#f9f8ff;border:1px solid #eae5fa;border-radius:14px;flex-wrap:wrap;gap:1.25rem;padding:.85rem 1rem;font-size:.88rem;display:flex}.importStatOk strong{color:#16a34a}.importStatError strong{color:#dc2626}.loginShell{background:#fff url(/login-bg.jpg) 50%/cover no-repeat;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.loginCard{background:#fff;border-radius:10px;width:min(450px,100%);overflow:hidden;box-shadow:0 12px 40px #00000047}.loginBody{text-align:center;padding:2rem 2.2rem 1.4rem}.loginTitle{color:#4fb3e8;margin:0 0 1.4rem;font-size:1.6rem;font-weight:700}.loginForm{gap:1rem;display:grid}.loginForm input{text-align:center;background:#e8f0fe;border:0;border-radius:5px;padding:1rem;font-size:.95rem}.loginForm button[type=submit]{color:#fff;letter-spacing:.04em;background:#54b6ea;border:0;border-radius:5px;justify-self:center;min-width:200px;padding:.9rem 1.5rem;font-size:.8rem;box-shadow:0 10px 20px #54b6ea59}.loginForm button[type=submit]:hover{background:#3fa6df}.loginForgot{margin:1.4rem 0 0}.loginForgot a{color:#1a8ad1;text-decoration:none}.loginForgot a:hover{text-decoration:underline}.loginError{color:#b3261e;background:#fdecea;border-radius:5px;margin-bottom:1rem;padding:.6rem .8rem;font-size:.85rem}.loginFooter{text-align:center;color:#333;background:#f4f4f4;border-top:1px solid #e5e5e5;padding:1.4rem 1rem 1.6rem;font-size:.95rem}.loginFooter p{margin:.2rem 0}.loginFooter a{color:#1a73d1;text-decoration:none}.regEdit{flex-direction:column;width:min(860px,96vw);display:flex;overflow:hidden}.regEditHead{color:#fff;background:linear-gradient(135deg,#4a3ae3,#7c5cff);align-items:center;gap:.9rem;padding:1.1rem 1.4rem;display:flex}.regEditHead .iconButton{color:#fff;background:#ffffff2e;margin-left:.4rem}.regEditAvatar{letter-spacing:.03em;background:#fff3;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-weight:700;display:grid}.regEditTitle{flex:1;min-width:0}.regEditTitle h3{color:#fff;margin:0;font-size:1.15rem}.regEditTitle p{opacity:.85;margin:.15rem 0 0;font-size:.85rem}.regEditChip{text-align:center;background:#ffffff2e;border-radius:999px;max-width:40%;padding:.3rem .8rem;font-size:.8rem;font-weight:600}.regEditBody{background:#faf9ff;gap:.9rem;max-height:62vh;padding:1.1rem 1.4rem;display:grid;overflow-y:auto}.regEditCard{background:#fff;border:1px solid #ece7fb;border-radius:16px;padding:.9rem 1rem;box-shadow:0 1px 2px #4a3ae30d}.regEditLabel{color:#3b2fb8;margin-bottom:.3rem;font-weight:700;display:block}.regEditCard select,.regEditSearch{width:100%}.regEditSearch{margin:.6rem 0}.regEditMeterRow{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.regEditCredits{white-space:nowrap;font-size:1.05rem}.regEditCredits strong{color:#4a3ae3;font-size:1.5rem}.regEditCredits.regEditOver strong{color:#c62828}.regEditMeter{background:#ece7fb;border-radius:999px;height:8px;margin:.5rem 0;overflow:hidden}.regEditMeter span{background:linear-gradient(90deg,#4a3ae3,#7c5cff);border-radius:999px;height:100%;transition:width .2s;display:block}.regEditMeter span.regEditOver{background:linear-gradient(90deg,#e57373,#c62828)}.regEditWarn{color:#c62828;margin:.2rem 0;font-weight:600}.regEditCourses{gap:.4rem;max-height:34vh;padding-right:.2rem;display:grid;overflow-y:auto}.regCourse{cursor:pointer;background:#fff;border:1px solid #ece7fb;border-radius:12px;grid-template-columns:auto 90px 1fr auto auto;align-items:center;gap:.7rem;padding:.5rem .75rem;transition:border-color .15s,background .15s;display:grid}.regCourse:hover{border-color:#b9aef7}.regCourseOn{background:#f1eeff;border-color:#4a3ae3}.regCourse input{width:1.1rem;height:1.1rem;margin:0}.regCourseCode{color:#3b2fb8;font-weight:700}.regCourseTitle{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.regType{color:#3b2fb8;background:#ece7fb;border-radius:999px;padding:.1rem .55rem;font-size:.75rem;font-weight:700}.regTypeTech{color:#075985;background:#e0f2fe}.regTypeGeneral{color:#92400e;background:#fef3c7}.regTypeTraining{color:#166534;background:#dcfce7}.regCredits{color:#6b6590;white-space:nowrap;font-size:.85rem}.regEditFoot{background:#fff;border-top:1px solid #ece7fb;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.4rem;display:flex}.regCreditOver{color:#c62828;font-weight:700}.regToolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.regActionsCol{flex-direction:column;align-items:stretch;gap:.35rem;min-width:96px;display:flex!important}.regActionsCol .miniButton{text-align:center;width:100%;margin:0}.regMore{position:relative}.regMore>.miniButton{width:100%}.regMoreMenu{z-index:20;background:#fff;border:1px solid #ece7fb;border-radius:12px;gap:.3rem;min-width:120px;margin-top:.2rem;padding:.4rem;display:grid;position:absolute;top:100%;right:0;box-shadow:0 10px 30px #211b4e2e}.regMoreMenu .miniButton{text-align:left;width:100%;margin:0}.regRecords{background:#faf9ff;border:1px solid #ece7fb;border-radius:14px;max-height:460px;margin:.6rem 0;padding:.7rem .9rem;overflow-y:auto}.histCard{background:#fff;border:1px solid #e6e1f7;border-left:4px solid #8b7ee8;border-radius:12px;margin-bottom:.65rem;padding:.65rem .85rem;box-shadow:0 1px 3px #3c288c0f}.histHead{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.histBadge{letter-spacing:.03em;text-transform:uppercase;color:#4b3fb0;background:#ece8fb;border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:700}.histBadge--created{color:#17703d;background:#dff6e8}.histBadge--updated{color:#8a5a00;background:#fff1d6}.histBadge--deleted{color:#a42222;background:#fde0e0}.histBadge--save{color:#2a4fb3;background:#e3ecff}.histWho{color:#2a2350;font-weight:700}.histCount{color:#6b658f;font-size:.85rem}.histWhen{color:#8a84a8;font-variant-numeric:tabular-nums;margin-left:auto;font-size:.82rem}.histTable{border-collapse:separate;border-spacing:0;width:100%;margin-top:.55rem;font-size:.88rem}.histTable th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:#8a84a8;background:#faf9ff;padding:.25rem .6rem;font-size:.72rem}.histTable td{vertical-align:top;border-top:1px solid #f0edfb;padding:.4rem .6rem}.histField{color:#3a3366;width:30%;font-weight:600}.histOld{color:#a42222;background:#fff6f6;-webkit-text-decoration:line-through #a4222259;text-decoration:line-through #a4222259}.histNew{color:#17703d;background:#f3fcf6;font-weight:600}.histList{margin:.5rem 0 0;padding:0;list-style:none}.histItem{background:#faf9ff;border-left:3px solid #8b7ee8;border-radius:8px;margin-bottom:.3rem;padding:.35rem .6rem;font-size:.9rem}.histItem--created{background:#f3fcf6;border-left-color:#2fa866}.histItem--deleted{background:#fff6f6;border-left-color:#d24b4b}.histItem--updated{background:#fffaf0;border-left-color:#e0a31a}.countdownGrid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;display:grid}.countdownTile{background:#fdfcff;border:1px solid #eae5fa;border-radius:16px;flex-direction:column;gap:.25rem;min-width:0;padding:.9rem 1rem;display:flex}.countdownTile--closes{background:#fff8f1;border-color:#fcd9b6}.countdownTile--opens{background:#f4f9ff;border-color:#cfe6ff}.countdownLabel{color:#443669;font-size:.85rem;font-weight:700}.countdownClock{font-variant-numeric:tabular-nums;color:#211b4e;letter-spacing:.02em;font-size:1.6rem}.countdownProgrammes{color:#6b5fa3;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}table.windowsTable{min-width:720px}.windowTimes{color:#6b5fa3;white-space:nowrap;font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:.8rem}.notifyWrap{position:relative}.notifyButton{justify-content:center;align-items:center;display:inline-flex;position:relative}.notifyBadge{color:#fff;text-align:center;background:#dc2626;border-radius:9px;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:800;line-height:18px;position:absolute;top:-6px;right:-6px}.notifyPanel{z-index:60;background:#fff;border:1px solid #ece7fb;border-radius:16px;width:min(380px,92vw);max-height:70vh;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 20px 60px #211b4e2e}.notifyHeader{border-bottom:1px solid #ece7fb;justify-content:space-between;align-items:center;padding:.8rem 1rem;display:flex}.notifyEmpty{margin:0;padding:.8rem 1rem}.notifyList{margin:0;padding:0;list-style:none}.notifyItem{color:#443669;border-bottom:1px solid #f3effc;border-left:4px solid #0000;flex-direction:column;gap:.15rem;padding:.7rem 1rem;font-size:.86rem;display:flex}.notifyItem--open{border-left-color:#16a34a}.notifyItem--upcoming{border-left-color:#2563eb}.notifyItem--closed{border-left-color:#a8a2c4}.notifyProgramme{color:#211b4e;font-weight:650}.notifySection{color:#8f7fc7;letter-spacing:.06em;text-transform:uppercase;background:#faf8ff;border-bottom:1px solid #f3effc;padding:.55rem 1rem .3rem;font-size:.72rem;font-weight:800}.notifyItem--feed{border-left-color:#7c3aed}.notifyItem--warn{border-left-color:#dc2626}.notifyFeedTitle{all:unset;cursor:pointer;color:#211b4e}.notifyFeedTitle:hover{text-decoration:underline}.notifyBody{white-space:pre-wrap;color:#443669;background:#faf8ff;border-radius:10px;max-height:260px;margin:.4rem 0 0;padding:.6rem .7rem;font-family:inherit;font-size:.78rem;overflow:auto}.helpPage{scroll-behavior:smooth;flex-direction:column;gap:1.1rem;display:flex}.helpHero{background:linear-gradient(135deg,#f7f4ff 0%,#fff 60%)}.helpHero h3{margin:.2rem 0 .4rem;font-size:1.5rem}.helpHero p{color:#443669;max-width:70ch;line-height:1.6}.helpToc{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem;margin-top:1rem;display:grid}.helpTocItem{color:#211b4e;background:#fff;border:1px solid #eae5fa;border-radius:14px;flex-direction:column;gap:.15rem;padding:.7rem .85rem;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.helpTocItem:hover{border-color:#b9a8f3;transform:translateY(-1px);box-shadow:0 8px 22px #5b3dd61f}.helpTocItem span{color:#8f7fc7;font-size:.8rem}.helpSection{color:#2e2659;scroll-margin-top:1rem;line-height:1.6}.helpSection h3{color:#211b4e;border-bottom:2px solid #f0ebff;margin-top:0;padding-bottom:.55rem}.helpSection h4{color:#4b3aa8;margin:1.3rem 0 .4rem}.helpSection ul,.helpSection ol{padding-left:1.3rem}.helpSection li{margin:.3rem 0}.helpSection code{color:#4b3aa8;background:#f3effe;border-radius:6px;padding:.05rem .35rem;font-size:.86em}.helpSection .tableWrap{margin:.6rem 0 .8rem}.helpSection dl dt{margin-top:.9rem}.helpSection dl dd{margin:.25rem 0 0 1rem}.helpCallout{border-left:4px solid;border-radius:12px;flex-direction:column;gap:.25rem;margin:.8rem 0;padding:.75rem .95rem;font-size:.92rem;display:flex}.helpCalloutTitle{letter-spacing:.03em;text-transform:uppercase;font-size:.82rem}.helpCallout--tip{color:#14532d;background:#f2fbf5;border-color:#16a34a}.helpCallout--warn{color:#7c2d12;background:#fff7ed;border-color:#ea580c}.helpCallout--note{color:#1e3a8a;background:#f4f7ff;border-color:#2563eb}.helpWarnText{background:#fff7ed;border-radius:10px;padding:.6rem .8rem;color:#7c2d12!important}.helpBackToTop{color:#8f7fc7;margin-top:.8rem;font-size:.8rem;text-decoration:none;display:inline-block}.helpBackToTop:hover{color:#4b3aa8;text-decoration:underline}
