:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#fcef00;--color-surface:#fff;--color-canvas:#fff;--color-text:#171717;--color-muted:#69707c;--color-border:#e5e7eb;--radius-card:14px;color:var(--color-text);background:var(--color-canvas);font-synthesis:none;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}:focus-visible{outline-offset:3px;outline:3px solid #171717}input,textarea,select{color:#171717;background:#fff;border:1px solid #d9dde3;border-radius:8px;width:100%;padding:13px 15px;font-size:15px}input::placeholder{color:#858b96}input[aria-invalid=true]{border-color:#b42318}textarea{resize:vertical}input[type=checkbox]{accent-color:#171717;flex-shrink:0;width:20px;height:20px}svg{flex-shrink:0;width:22px;height:22px}h1,h2,p{margin-top:0}h1{letter-spacing:-.04em;font-size:clamp(27px,3vw,38px);font-weight:750;line-height:1.15}h2{letter-spacing:-.025em;font-size:23px;line-height:1.2}.button{text-align:center;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:13px 19px;font-size:14px;font-weight:650;line-height:1.25;text-decoration:none;display:inline-flex}.button-primary{color:#111;background:#fcef00}.button-primary:hover{background:#eee200}.button-secondary{color:#343b47;background:#fff;border-color:#d9dde3}.button-secondary:hover{background:#f6f6f6}.button-small{min-height:37px;padding:9px 13px;font-size:13px}.button-full{width:100%;min-height:51px;font-size:16px}.icon-button{color:#525b68;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;min-width:38px;min-height:38px;padding:8px;display:inline-flex}.icon-button:hover{background:#f0f1f3}.text-button{color:#171717;text-underline-offset:3px;text-align:left;background:0 0;border:0;padding:7px 2px;font-size:12px;text-decoration:underline}.field{margin-bottom:23px}.field label,.role-options legend{margin-bottom:9px;font-size:15px;font-weight:600;display:block}.field-help{color:#69707c;margin:9px 0 0;font-size:12px;line-height:1.6}.field-error{color:#b42318;margin:8px 0;font-size:13px;line-height:1.5}.status-message{color:#343b47;background:#f4f5f6;border:1px solid #e1e4e8;border-radius:9px;margin:0 0 22px;padding:14px 17px;font-size:14px;line-height:1.5}.password-control{position:relative}.password-control input{padding-right:49px}.password-toggle{position:absolute;top:4px;right:5px}.password-toggle svg{width:21px}.auth-shell{width:min(100% - 32px,600px);margin:64px auto 30px}.auth-brand{flex-direction:column;align-items:center;width:215px;margin:0 auto 36px;text-decoration:none;display:flex}.auth-brand img{width:100%;height:auto;display:block}.auth-brand span,.sidebar-brand span{letter-spacing:.22em;color:#7a808b;margin-top:4px;font-size:11px}.auth-card{border:1px solid #e5e7eb;border-radius:14px;padding:42px 38px 30px}.auth-card h1{text-align:center;margin-bottom:12px;font-size:clamp(27px,3vw,32px)}.auth-subtitle{text-align:center;color:#69707c;margin-bottom:35px;font-size:16px;line-height:1.5}.auth-note,.auth-footer{color:#747c88;text-align:center;font-size:13px;line-height:1.5}.auth-note{margin:22px 0 0}.auth-footer{margin-top:24px}.auth-back{text-align:center;text-underline-offset:3px;margin-top:22px;font-size:14px;display:block}.recovery-link{text-align:right;margin:-3px 0 26px;font-size:14px}.recovery-link a{text-underline-offset:3px}.invitation-identity{overflow-wrap:anywhere;background:#f4f5f6;border-radius:9px;flex-direction:column;gap:7px;margin-bottom:25px;padding:17px 20px;display:flex}.invitation-identity span{color:#69707c;font-size:14px}.campus-shell{min-height:100vh;display:flex}.sidebar{background:#fff;border-right:1px solid #e9eaed;flex-direction:column;flex-shrink:0;width:232px;height:100vh;padding:29px 16px 24px;display:flex;position:sticky;top:0}.sidebar-brand{flex-direction:column;align-items:center;width:170px;margin:0 auto 40px;text-decoration:none;display:flex}.sidebar-brand img{width:100%;height:auto}.sidebar nav{flex-direction:column;gap:12px;display:flex}.nav-item{border-radius:9px;align-items:center;gap:13px;min-height:49px;padding:13px 15px;font-size:15px;text-decoration:none;display:flex;position:relative}.nav-item.selected{background:#f1f2f3;font-weight:650}.nav-item.selected:before{content:"";background:#171717;width:3px;position:absolute;top:7px;bottom:7px;left:0}.future-nav{color:#858b96;flex-wrap:wrap}.soon{margin-left:35px;font-size:10px;line-height:1;display:block}.sidebar-identity{align-items:center;gap:11px;margin-top:auto;padding-top:30px;display:flex}.sidebar-identity div{min-width:0}.sidebar-identity strong{overflow-wrap:anywhere;font-size:13px;display:block}.sidebar-identity div>span{color:#69707c;margin-top:5px;font-size:10px;line-height:1.5;display:block}.avatar{color:#343b47;background:#eceef0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;display:inline-flex}.campus-body{background:#fff;flex:1;min-width:0}.campus-topbar{border-bottom:1px solid #eceef1;justify-content:space-between;align-items:center;gap:15px;min-height:79px;padding:20px 32px;display:flex}.breadcrumb{color:#747c88;font-size:14px}.breadcrumb span{color:#a1a6af;margin:0 14px}.breadcrumb strong{color:#171717;font-weight:500}.page-content{max-width:1560px;margin:0 auto;padding:40px 32px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;display:flex}.page-heading h1{margin-bottom:12px}.page-heading p{color:#69707c;margin-bottom:0;font-size:17px}.users-card{background:#fff}.filter-bar{align-items:center;gap:12px;margin-bottom:22px;display:flex}.filter-bar select{flex:0 180px;font-size:13px}.search-control{flex:1;min-width:170px;position:relative}.search-control svg{color:#747c88;width:19px;height:19px;position:absolute;top:13px;left:14px}.search-control input{padding-left:42px;font-size:13px}.table-scroll{border:1px solid #eaecf0;border-radius:12px;overflow:auto}.users-table{border-collapse:collapse;width:100%;min-width:700px;font-size:13px}.users-table th{text-align:left;color:#646d7a;white-space:nowrap;background:#f6f7f8;padding:18px 20px;font-weight:600}.users-table td{vertical-align:middle;border-top:1px solid #eaecf0;padding:21px 20px}.table-identity{align-items:center;gap:12px;display:flex}.table-identity strong{font-size:14px;font-weight:600;display:block}.table-identity div>span{color:#747c88;overflow-wrap:anywhere;margin-top:7px;font-size:12px;display:block}.role-badges{flex-wrap:wrap;gap:7px;display:flex}.role-badge{background:#f1f2f3;border-radius:6px;padding:7px 9px;font-size:11px;line-height:1.4;display:inline-block}.account-state{white-space:nowrap;align-items:center;gap:9px;display:inline-flex}.account-state i{background:#667085;border-radius:50%;width:9px;height:9px}.state-active i{background:#208b49}.state-pending i{background:#dc9100}.state-blocked i{background:#bd3434}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.users-table .actions-heading{text-align:right}.row-feedback{text-align:right;max-width:240px;margin-top:8px;font-size:11px;line-height:1.4;display:block}.table-footer{color:#69707c;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;font-size:12px;display:flex}.table-footer nav{align-items:center;gap:14px;display:flex}.table-note{color:#747c88;background:#f6f7f8;border-radius:8px;margin:0;padding:17px;font-size:12px;line-height:1.5}.empty-cell{text-align:center;color:#69707c;padding:50px!important}.dialog-backdrop{z-index:50;background:#14181e38;justify-content:flex-end;display:flex;position:fixed;inset:0}.dialog-panel{background:#fff;border-left:1px solid #e5e7eb;outline:none;width:480px;max-width:100%;height:100%;padding:30px 28px;overflow-y:auto;box-shadow:-10px 0 30px #0000000a}.dialog-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.dialog-header h2{margin-bottom:0;font-size:25px}.dialog-intro{color:#69707c;margin-bottom:32px;font-size:14px;line-height:1.6}.dialog-fields{min-width:0}.role-options{border:0;margin:0 0 27px;padding:0}.role-options legend{margin-bottom:14px;padding:0}.role-options label{cursor:pointer;align-items:center;gap:12px;margin:14px 0;font-size:14px;display:flex}.info-note{background:#f5f6f7;border-radius:9px;align-items:center;gap:15px;margin-top:22px;padding:18px;display:flex}.info-note p{margin:0;font-size:13px;line-height:1.6}.info-note svg{width:27px;height:27px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:28px 0 0;display:flex}.dialog-actions .button{font-size:13px}.compact-dialog{justify-content:center;align-items:center;padding:20px}.compact-dialog .dialog-panel{border:1px solid #e5e7eb;border-radius:14px;height:auto;max-height:90vh}.home-card{border:1px solid #e5e7eb;border-radius:14px;max-width:650px;padding:32px}.home-card>svg{width:34px;height:34px;margin-bottom:20px}.home-card p{color:#69707c;margin-bottom:23px;font-size:15px;line-height:1.6}@media (width<=1050px){.sidebar{width:205px;padding-left:12px;padding-right:12px}.page-content{padding:30px 22px}.campus-topbar{padding:20px 22px}.filter-bar{flex-wrap:wrap}.search-control{flex-basis:100%}.filter-bar select{flex:1}}@media (width<=700px){.auth-shell{margin-top:34px}.auth-brand{width:175px;margin-bottom:26px}.auth-card{padding:30px 23px}.auth-subtitle{margin-bottom:28px;font-size:15px}.campus-shell{display:block}.sidebar{border-bottom:1px solid #e5e7eb;border-right:0;width:100%;height:auto;padding:16px;position:static}.sidebar-brand{width:130px;margin:0 0 18px}.sidebar-brand span{font-size:8px}.sidebar nav{flex-flow:wrap;gap:8px}.nav-item{min-height:42px;padding:10px 13px;font-size:13px}.future-nav,.sidebar-identity{display:none}.campus-topbar{min-height:64px;padding:12px 16px}.breadcrumb{font-size:12px}.breadcrumb span{margin:0 8px}.page-content{padding:26px 16px}.page-heading{align-items:flex-start;gap:12px;margin-bottom:25px}.page-heading h1{font-size:30px}.page-heading p{font-size:14px}.page-heading>.button{white-space:nowrap;padding:11px 12px;font-size:12px}.filter-bar{gap:10px}.filter-bar select{padding:12px 10px;font-size:12px}.table-footer{flex-direction:column;align-items:flex-start;gap:15px}.table-footer nav{flex-wrap:wrap;gap:10px}.dialog-panel{padding:26px 22px}.dialog-intro{margin-bottom:26px}.dialog-actions .button-primary{flex:1}.compact-dialog{padding:15px}.home-card{padding:25px}}.academic-home-card{margin-top:24px}.back-link{color:var(--color-muted);text-underline-offset:3px;margin-bottom:22px;font-size:13px;display:inline-block}.course-icon{background:#f1f2f3;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.courses-table{min-width:560px}.program-heading{align-items:flex-start}.program-heading h1{overflow-wrap:anywhere}.program-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.version-bar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:20px;display:flex}.version-bar select{width:auto;max-width:100%;font-size:13px}.version-bar .field-help{margin:0}.program-notice{color:var(--color-muted);background:#f6f7f8;border:1px solid #e5e7eb;border-radius:8px;padding:16px 18px;font-size:13px;line-height:1.6}.program-workspace{border:0;grid-template-columns:minmax(270px,.85fr) minmax(0,1.3fr);align-items:start;gap:20px;min-width:0;margin:24px 0 0;padding:0;display:grid}.program-structure,.program-editor{border:1px solid var(--color-border);border-radius:10px;min-width:0;overflow:hidden}.program-structure header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.program-structure h2{margin:0;font-size:17px}.structure-empty{color:var(--color-muted);padding:22px 17px;font-size:13px;line-height:1.6}.structure-unit+.structure-unit{border-top:1px solid var(--color-border)}.structure-row{align-items:center;gap:2px;min-width:0;padding:8px;display:flex}.structure-row.chosen{background:#f4f5f6;box-shadow:inset 3px 0 #171717}.tree-toggle,.tree-label,.tree-move,.tree-add{color:#171717;background:0 0;border:0}.tree-label{text-align:left;overflow-wrap:anywhere;flex:1;min-width:0;padding:10px 6px;font-size:13px;line-height:1.5}.tree-toggle{min-width:27px;min-height:38px;font-size:21px}.tree-move{border-radius:5px;min-width:30px;min-height:38px;font-size:17px}.tree-move:hover,.tree-toggle:hover{background:#eceef0}.tree-move:disabled{cursor:default;opacity:.3}.structure-topics{border-left:2px solid #e5e7eb;margin:0 12px 12px 24px}.tree-add{padding:13px 15px;font-size:13px}.editor-tabs{border-bottom:1px solid var(--color-border);padding:0 10px;display:flex}.editor-tabs button{color:var(--color-muted);background:#fff;border:0;border-bottom:3px solid #0000;flex:1;padding:17px 10px;font-size:13px}.editor-tabs button.active{color:#171717;border-bottom-color:#171717;font-weight:600}.editor-tabs button:disabled{cursor:default}.editor-fields{padding:23px}.editor-fields h2{overflow-wrap:anywhere;font-size:22px}.editor-fields .field{margin-bottom:21px}.editor-fields .field label{font-size:13px}.editor-fields textarea,.editor-fields input{padding:11px 12px;font-size:14px}.program-errors{color:#9a241a;border:1px solid #dbaaa5;border-radius:8px;padding:17px 20px;font-size:13px}.program-errors ul{padding-left:20px;line-height:1.7}.revision-card{border:1px solid var(--color-border);overflow-wrap:anywhere;border-radius:10px;margin:22px 0;padding:25px}.revision-card h2{margin:15px 0}.revision-card h3{margin:22px 0 9px;font-size:15px}.revision-card p{color:#535c68;font-size:14px;line-height:1.7}.revision-topic{border-top:1px solid var(--color-border);padding-top:3px}.preserve-lines{white-space:pre-wrap}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1100px){.program-workspace{grid-template-columns:1fr}.program-heading{flex-wrap:wrap}.program-actions{justify-content:flex-start}}@media (width<=700px){.program-heading{display:block}.program-actions{margin-top:20px}.program-actions .button{flex:1;padding:11px;font-size:12px}.program-workspace{gap:16px}.editor-fields{padding:20px 16px}.version-bar{gap:10px}.revision-card{padding:20px}}fieldset.dialog-fields{border:0;margin:0;padding:0}.group-information{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.group-metadata{flex-wrap:wrap;align-items:center;gap:18px 28px;min-width:0;margin:0;display:flex}.group-metadata>div{gap:7px;display:grid}.group-metadata dt{color:var(--color-muted);font-size:12px}.group-metadata dd{margin:0;font-size:14px;font-weight:600}.group-metadata .group-source dd{color:var(--color-muted);font-weight:400}.group-status-badge{color:var(--color-text);background:#f1f2f3;border-radius:5px;padding:5px 9px;display:inline-block}.group-preview{justify-content:center;align-items:center;gap:9px;display:inline-flex}.group-preview svg{flex:none;width:20px;height:20px}.group-navigation{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(125px,1fr));margin-bottom:32px;padding:10px 0;display:grid}.group-navigation-link{min-height:82px;color:var(--color-text);border-bottom:3px solid #0000;border-radius:5px;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:12px 8px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.group-navigation-link svg{flex:none;width:25px;height:25px}.group-navigation-link:hover{border-bottom-color:var(--color-primary,#ffeb00);background:#fffbe0}.group-navigation-link:focus-visible{outline:2px solid var(--color-text);outline-offset:-3px;background:#fffbe0}.instructor-card{border:1px solid var(--color-border);border-radius:12px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;padding:24px;display:flex}.instructor-card h2{margin:8px 0;font-size:22px}.instructor-card p{overflow-wrap:anywhere;margin-bottom:0;font-size:14px}.group-links{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.group-section-heading h2{margin-bottom:8px}.group-section-heading p{font-size:13px}.group-program{border:1px solid var(--color-border);overflow-wrap:anywhere;border-radius:12px;margin:24px 0;padding:25px}.group-program h2{font-size:22px}.group-program p{font-size:14px;line-height:1.7}.group-topic{border-top:1px solid var(--color-border);margin-top:20px;padding-top:8px}.group-topic h3{font-size:17px}.program-copy,.history-reason{white-space:pre-wrap;overflow-wrap:anywhere}.history-reason{max-width:400px;line-height:1.6}.assignment-history{border-top:1px solid var(--color-border);padding:18px 0}.academic-picker{margin:0 0 24px}.academic-picker>label{margin-bottom:9px;font-size:15px;font-weight:600;display:block}.picker-search{align-items:center;gap:8px;display:flex}.picker-search input{min-width:0}.picker-options{border:1px solid var(--color-border);border-radius:8px;max-height:220px;margin-top:8px;overflow:auto}.picker-options>p{padding:10px}.picker-option{border:0;border-bottom:1px solid var(--color-border);text-align:left;width:100%;color:var(--color-text);background:#fff;padding:13px;display:block}.picker-option:last-child{border-bottom:0}.picker-option:hover,.picker-option[aria-pressed=true]{background:#f4f5f6}.picker-option strong{font-size:13px;display:block}.picker-option small,.picker-selected small{color:var(--color-muted);overflow-wrap:anywhere;margin-top:5px;font-size:12px;display:block}.picker-selected{border:1px solid var(--color-border);border-left:3px solid #171717;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;padding:12px;display:flex}.picker-selected strong{font-size:13px}.picker-pages{justify-content:space-between;align-items:center;gap:15px;padding:8px 12px;display:flex}.state-suspended i,.state-cancelled i{background:#bd3434}@media (width<=700px){.instructor-card{flex-direction:column;align-items:flex-start;padding:20px}.group-information{align-items:stretch;gap:18px}.group-metadata{gap:16px 24px;width:100%}.group-preview{width:100%}.group-navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-bottom:24px}.group-navigation-link{min-height:76px;padding:10px 3px;font-size:12px}.group-navigation-link svg{width:23px;height:23px}.group-program{padding:20px}.group-section-heading{flex-wrap:wrap}.page-heading h1{overflow-wrap:anywhere}}.content-workspace{grid-template-columns:minmax(250px,.7fr) minmax(0,1.4fr);align-items:start;gap:22px;margin-top:24px;display:grid}.content-tree-link{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:10px;padding:14px 12px;font-size:13px;line-height:1.5;text-decoration:none;display:flex}.content-tree-link>:first-child{min-width:0}.content-tree-link .role-badge{flex-shrink:0}.content-tree-link.chosen{background:#f4f5f6;box-shadow:inset 3px 0 #171717}.content-actions{flex-wrap:wrap;gap:10px;padding:0 23px 23px;display:flex}.content-materials{border-top:1px solid var(--color-border);padding:23px}.content-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.content-section-heading h2{margin-bottom:0;font-size:20px}.material-row{border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:15px;padding:17px 0;font-size:13px;display:flex}.material-row>div:first-child{flex:1;min-width:0}.material-row .button{flex-shrink:0}.unit-objectives{color:var(--color-muted);overflow-wrap:anywhere;margin:0 14px 14px;font-size:12px;line-height:1.6}.content-workspace .program-copy{font-size:14px;line-height:1.8}@media (width<=1050px){.content-workspace{grid-template-columns:1fr}}@media (width<=700px){.content-materials{padding:20px 16px}.content-actions{padding:0 16px 20px}.material-row{flex-wrap:wrap}.material-row>div:first-child{flex-basis:100%}}.master-materials{border-top:1px solid var(--color-border);margin:24px 0;padding-top:20px}.material-details>strong,.material-details>.field-help{display:block}.material-details>.role-badge{margin-top:7px}.material-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.master-materials .table-footer{padding-left:0;padding-right:0}.master-materials h3{margin:0;font-size:18px}.dialog-form .dialog-fields>label:not(.checkbox-label){margin:20px 0 9px;font-size:14px;font-weight:600;display:block}.session-navigation{margin-bottom:24px}.recording-list{border:1px solid var(--color-border);border-radius:12px;padding:0 22px}.recording-list .material-row:last-child{border-bottom:0}.session-navigation .field-help{margin:0}.session-time-fields,.session-history-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.session-time-fields{margin-bottom:24px}.session-time-fields label{margin:0 0 9px;display:block}.checkbox-label{align-items:center;gap:12px;margin:20px 0;font-size:14px;line-height:1.5;display:flex}.checkbox-label input{width:20px}.schedule-review{width:100%;margin-bottom:20px}.schedule-preview{border:1px solid var(--color-border);border-radius:10px;margin-bottom:24px;padding:18px}.schedule-preview h3{margin-top:0;font-size:17px}.schedule-preview ol{max-height:240px;padding-left:22px;overflow:auto}.schedule-preview li{border-bottom:1px solid var(--color-border);padding:8px 0;font-size:13px}.schedule-preview li span{color:var(--color-muted);margin-top:5px;display:block}.excluded-dates{padding-left:20px;font-size:13px}.excluded-dates li{padding:7px 0}.excluded-dates button{margin-left:14px}.session-notices{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:10px;margin-bottom:24px;padding:24px}.session-notices h2{font-size:20px}.session-notices article{border-top:1px solid var(--color-border);padding:18px 0}.session-notices article p{margin:10px 0;font-size:14px}.session-history-values{margin-top:20px;font-size:14px}.session-history-values p{overflow-wrap:anywhere}.calendar-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.calendar-controls .picker-search input{max-width:175px}.calendar-filter{max-width:450px}.calendar-grid{background:var(--color-border);border:1px solid var(--color-border);border-radius:10px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:1px;display:grid;overflow:hidden}.calendar-weekday{text-align:center;background:#f4f5f6;padding:13px 5px;font-size:12px}.calendar-day{background:#fff;min-width:0;min-height:140px;padding:10px}.calendar-day h2{margin-bottom:10px;font-size:12px;line-height:1.5}.calendar-day>.field-help{font-size:11px}.calendar-session{border:1px solid var(--color-border);overflow-wrap:anywhere;border-left:3px solid #171717;border-radius:6px;margin-bottom:9px;padding:10px;font-size:11px;line-height:1.5}.calendar-session p{margin:8px 0}.calendar-session span,.calendar-session a{margin-top:7px;display:block}.calendar-cancelled{background:#f6f6f6;border-left-style:dashed}@media (width<=1000px){.calendar-grid{grid-template-columns:1fr}.calendar-day{min-height:0;padding:18px}.calendar-weekday,.calendar-empty{display:none}.calendar-session{font-size:13px}}@media (width<=700px){.calendar-controls{align-items:flex-start}.calendar-controls .picker-search{width:100%}.calendar-controls .picker-search input{min-width:0;max-width:none}.calendar-controls .button{padding:11px;font-size:13px}.session-history-values{grid-template-columns:1fr}.session-time-fields{gap:12px}}.learning-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0;display:grid}.learning-progress{border:1px solid var(--color-border);border-radius:12px;min-width:0;margin-bottom:20px;padding:24px}.learning-overview .learning-progress{margin-bottom:0}.learning-progress h2{margin:0 0 18px;font-size:20px}.learning-progress>.text-button{margin-top:16px;display:inline-block}.learning-progress-value{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:16px;display:flex}.learning-progress-value strong{font-size:36px;line-height:1.15}.learning-progress-value span{font-size:14px}.learning-progress-track{background:#eee;border-radius:8px;height:12px;overflow:hidden}.learning-progress-track>span{background:var(--color-primary);border-radius:8px;height:100%;display:block}.study-confirmation{border:1px solid var(--color-border);overflow-wrap:anywhere;border-radius:10px;margin:20px 0;padding:20px}.study-confirmation h3{margin-top:0}.study-confirmation>.text-button{margin-top:14px;display:inline-block}.study-confirmation summary{cursor:pointer;font-weight:600}.content-tree-link .field-help{margin-top:5px;display:block}@media (width<=700px){.learning-overview{grid-template-columns:1fr;gap:16px}.learning-progress,.study-confirmation{padding:18px}.learning-progress-value strong{font-size:30px}}.grading-fields{grid-template-columns:minmax(0,2fr) minmax(100px,1fr) auto;align-items:end;gap:16px;margin-bottom:20px;display:grid}.grading-fields .field{margin-bottom:0}.grading-fields .text-button{align-self:center}.group-program>.group-program{margin:18px 0}@media (width<=700px){.grading-fields{grid-template-columns:1fr;gap:12px}.rubric-table,.rubric-table tbody,.rubric-table tr,.rubric-table td{width:100%;min-width:0;display:block}.rubric-table thead{display:none}.rubric-table tr{border-bottom:1px solid var(--color-border);padding:10px 0}.rubric-table tr:last-child{border-bottom:0}.rubric-table td{white-space:normal;overflow-wrap:anywhere;border:0;height:auto;padding:8px 16px}.rubric-table td:not(:first-child){align-items:flex-start;gap:12px;display:flex}.rubric-table td:not(:first-child):before{content:attr(data-label);flex:0 0 85px;font-weight:600}}.simple-grading{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:20px;display:grid}.simple-grading>*,.grading-submission>*,.grading-main{min-width:0}.grading-submission .group-program:first-child,.simple-grading>.group-program{margin-top:0}.grading-submission label{margin-bottom:8px;font-weight:600;display:block}.grading-submission select{width:100%}.grading-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.grading-title h2{margin:0}.grading-details{overflow-wrap:anywhere;margin-top:20px}.grading-details summary{cursor:pointer;font-weight:600}.grading-details[open]>summary{margin-bottom:16px}.grade-value-input{align-items:stretch;display:flex}.grade-value-input input{border-radius:8px 0 0 8px;min-width:0;font-size:24px}.grade-value-input span{border:1px solid var(--color-border);white-space:nowrap;background:#f4f4f4;border-left:0;border-radius:0 8px 8px 0;align-items:center;padding:0 18px;display:flex}.saved-grade{border-top:1px solid var(--color-border);background:#f7f7f7;border-radius:8px;margin-top:24px;padding:20px}.saved-grade h3{margin-top:0}.simple-grading .material-row{overflow-wrap:anywhere;flex-wrap:wrap;gap:12px}@media (width<=800px){.simple-grading{grid-template-columns:1fr}.grading-main,.grading-submission .group-program{padding:18px}}.announcement-tags,.announcement-summary{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.announcement-card h2{overflow-wrap:anywhere}.announcement-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0}.announcement-history>summary{cursor:pointer;font-weight:600}.announcement-history[open]>summary{margin-bottom:20px}.announcement-history .material-row{flex-wrap:wrap;gap:10px}.announcement-revision{border-top:1px solid var(--color-border);overflow-wrap:anywhere;padding:16px 0}.announcement-revision summary{cursor:pointer;margin:12px 0}.record-list .users-table{min-width:720px}.record-list .users-table td{padding-top:15px;padding-bottom:15px}.record-list-group{color:var(--color-muted);margin-top:5px;font-size:12px;display:block}.record-list-grade{white-space:nowrap}.record-list:focus-visible{outline:2px solid var(--color-text);outline-offset:3px}.record-card{overflow-wrap:anywhere}.record-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.record-workspace>*{min-width:0}.record-workspace-single{grid-template-columns:minmax(0,1fr)}.record-grade{font-size:36px;line-height:1.3}.record-reference{flex-wrap:wrap;gap:32px;display:flex}.record-reference strong{font-size:24px}.record-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.record-actions .field-help{flex-basis:100%}.record-form label{margin-top:16px;font-weight:600;display:block}.record-form input,.record-form select,.record-form textarea{width:100%}.record-check{align-items:center;gap:10px;display:flex!important}.record-check input{flex:none;width:18px;height:18px}@media (width<=800px){.record-workspace{grid-template-columns:1fr}.record-workspace .group-program{padding:18px}.record-grade{font-size:30px}}.auth-split{grid-template-columns:minmax(420px,2fr) minmax(0,3fr);min-height:100svh;display:grid}.auth-split .auth-shell{align-self:center;width:100%;margin:0;padding:clamp(32px,5vw,72px) clamp(24px,3vw,56px)}.auth-split .auth-brand{margin-bottom:48px}.auth-split .auth-card{border:0;border-radius:0;width:100%;max-width:440px;margin:auto;padding:0}.auth-split .auth-card h1{font-size:clamp(26px,2.2vw,36px)}.auth-split .auth-footer{display:none}.auth-visual{border-left:1px solid #e5e7eb;min-width:0;overflow:hidden}.auth-visual img{object-fit:cover;object-position:center;width:100%;height:100%;min-height:100%;max-height:100svh;display:block}@media (width<=900px){.auth-split{flex-direction:column;display:flex}.auth-split .auth-shell{padding:36px 24px}.auth-split .auth-brand{margin-bottom:30px}.auth-visual{border-left:0;order:-1;height:150px}.auth-visual img{object-position:center 35%;height:150px;min-height:0}}.academic-cover{aspect-ratio:16/9;object-fit:cover;background:#fafafa;border-radius:10px;width:100%;display:block}.academic-cover.unit-banner{aspect-ratio:4}.academic-image-editor{border:1px solid #e5e7eb;border-radius:12px;margin:20px 0;padding:20px}.academic-image-editor>img{max-width:480px;margin:16px 0}.academic-image-editor .field{margin:16px 0;display:block}.course-list-image{object-fit:cover;border-radius:8px;flex-shrink:0;width:112px;height:63px}.course-summary.with-image{grid-template-columns:150px minmax(0,1fr);gap:20px;display:grid}.course-summary.with-image>img{aspect-ratio:16/9;object-fit:cover;border-radius:8px;width:150px}@media (width<=700px){.course-summary.with-image{grid-template-columns:1fr}.course-summary.with-image>img{width:100%;max-height:180px}}.image-upload-error{color:#8b1d16;background:#fff1f0;border:1px solid #e9aaa4;border-left:4px solid #b42318;border-radius:8px;margin:14px 0;padding:14px 16px}.image-upload-error p{overflow-wrap:anywhere;margin:6px 0 0;line-height:1.5}.image-upload-error:focus{outline-offset:3px;outline:2px solid #b42318}
