:root{--blue:#005a9c;--ink:#202124;--muted:#586470;--line:#d1d5db;--bg:#f4f6f8;--green:#176b43;--amber:#8a4b00}*{box-sizing:border-box}body{margin:0;font:14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);letter-spacing:0}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}:focus-visible{outline:3px solid var(--blue)}button{cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:28px;font-weight:650;line-height:1.25}h2{font-size:18px;font-weight:650}h3{font-size:14px;font-weight:650;margin:20px 0 5px}small{font-size:12px}svg{width:19px;height:19px;flex-shrink:0;stroke-width:1.8}.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:#fff;border-right:1px solid #e1e5e9;display:flex;flex-direction:column;padding:30px 20px;z-index:5}.brand{display:flex;align-items:center;gap:11px;font-size:23px;font-weight:750;color:var(--blue)}.brand small{display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:1px}.brand-mark{width:42px;height:42px;border-radius:8px;background:var(--blue);display:inline-flex;align-items:center;justify-content:center;color:white}.brand-mark svg{width:27px;height:27px}.school-label{font-size:12px;color:var(--muted);margin:30px 4px 18px;line-height:1.6}.sidebar nav a{display:flex;align-items:center;gap:12px;padding:12px 10px;margin:4px 0;border-radius:5px;color:#43515f;font-size:13px;font-weight:550}.sidebar nav a.selected{background:#eaf2f8;color:var(--blue);box-shadow:inset 3px 0 var(--blue)}.nav-label{font-size:10px;color:var(--muted);margin:30px 10px 8px}.sidebar-bottom{margin-top:auto;font-size:11px;color:#43515f;border-top:1px solid #e5e7eb;padding-top:20px}.sidebar-bottom small{font-size:10px;color:var(--muted)}.demo-dot{display:inline-block;width:6px;height:6px;background:var(--amber);border-radius:50%;margin-right:5px}.workspace{margin-left:246px}.topbar{height:83px;padding:0 36px;background:#fff;border-bottom:1px solid #e4e7eb;display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar>span{font-size:12px;color:var(--muted)}.user-menu{display:flex;gap:12px;align-items:center}.user-menu strong{font-size:12px;font-weight:600}.user-menu small{display:block;color:var(--muted);font-size:10px}.user-menu form{margin:0}.avatar{width:34px;height:34px;border-radius:50%;background:#eaf2f8;color:var(--blue);display:flex;align-items:center;justify-content:center;font-weight:650}main{padding:32px 36px;max-width:1600px;margin:auto;min-height:calc(100vh - 130px)}footer{padding:16px 36px;font-size:11px;color:var(--muted)}.page-heading{margin-bottom:30px}.page-heading h1{margin:6px 0 8px}.eyebrow{font-size:10px;font-weight:650;color:var(--blue)}.muted{color:var(--muted);font-size:13px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line);padding:5px 0 25px;gap:20px}.metrics>div{position:relative;border-right:1px solid var(--line);padding-right:15px}.metrics>div:last-child{border:none}.metrics span{display:block;font-size:12px;color:var(--muted);padding-right:20px}.metrics strong{display:block;font-size:34px;font-weight:650;margin-top:12px;line-height:1.2}.metrics strong small{font-size:23px}.metrics svg{position:absolute;right:15px;top:0;color:var(--blue);width:17px;height:17px}.metric-green strong,.metric-green svg{color:var(--green)}.metric-amber strong,.metric-amber svg{color:var(--amber)}.completion{display:flex;align-items:center;gap:25px;padding:24px 0 30px}.completion div{min-width:190px}.completion div strong{font-size:12px}.completion span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.completion>strong{font-size:16px;color:var(--green)}progress{width:100%;height:7px;border:none;border-radius:0;appearance:none;background:#e2e8ee}progress::-webkit-progress-bar{background:#e2e8ee}progress::-webkit-progress-value{background:var(--green)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:17px 0}.text-link{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600}.text-link svg{width:15px;height:15px}.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:16px 0}.search-field{position:relative;flex:1;min-width:170px}.search-field svg{position:absolute;top:11px;left:11px;width:16px;height:16px;color:var(--muted)}.search-field input{padding-left:35px;width:100%}input,select,textarea{background:white;border:1px solid var(--line);border-radius:5px;padding:9px 11px;color:var(--ink);max-width:100%;min-height:40px}select{font-size:12px;max-width:180px}textarea{width:100%;resize:vertical}label{display:block;font-size:13px;font-weight:600;margin:14px 0 7px}label span{color:var(--blue)}.filters input{font-size:12px}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;color:var(--muted);border:none;width:36px;height:36px;flex-shrink:0;border-radius:4px}.icon-button:hover{background:#eaf2f8;color:var(--blue)}.filter-button{border:1px solid var(--line);background:white;height:40px}.table-wrap{overflow-x:auto;border:1px solid #e1e5e9;border-radius:5px;background:#fff}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;background:#fafbfc;color:var(--muted);font-weight:550;padding:13px 16px;border-bottom:1px solid #e1e5e9;white-space:nowrap}td{padding:15px 16px;border-bottom:1px solid #edf0f2;vertical-align:middle}tr:last-child td{border:none}td small{display:block;color:var(--muted);margin-top:3px;font-size:10px}.student-name{font-weight:600;color:#26384a}.class-code{font-weight:600}.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:4px;white-space:nowrap;font-size:10px;font-weight:600}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.pending{color:var(--amber);background:#fff4e6}.badge.draft{color:var(--blue);background:#eaf2f8}.badge.final{color:var(--green);background:#eaf5ee}.badge.waived{color:#586470;background:#edf0f2}.class-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.class-summary>div{border-top:2px solid #c9d9e6;padding:15px 0;display:flex;flex-direction:column;gap:5px;font-size:12px}.class-summary strong{font-size:14px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:5px;padding:10px 16px;min-height:42px;font-size:13px;font-weight:600;border:1px solid transparent;white-space:normal;text-align:center}.primary{background:var(--blue);color:#fff}.primary:hover{background:#004779}.secondary{background:#fff;color:var(--blue);border-color:var(--line)}.heading-actions{display:flex;justify-content:space-between;align-items:center;gap:20px}.report-entry{background:transparent;border-top:1px solid var(--line);padding:25px 0 30px}.entry-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}.entry-heading p{margin-top:7px}.report-text{font-size:14px;line-height:1.7;max-width:900px;overflow-wrap:anywhere}.entry-actions{margin:20px 0}.inline-form{display:flex;gap:10px;max-width:650px}.inline-form input{flex:1;min-width:0}.history{font-size:12px;padding-left:20px}.history li{padding:10px 0}.history details p{overflow-wrap:anywhere}details{font-size:12px;color:var(--muted)}summary{cursor:pointer}.report-author{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:25px}.report-author .badge{margin-left:auto}.report-form{max-width:900px}.form-field{margin-bottom:18px}.form-field input,.form-field select{width:100%;max-width:none}.form-field small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.form-actions{display:flex;justify-content:flex-end;gap:12px;border-top:1px solid var(--line);padding:22px 0}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:30px;overflow-x:auto}.tabs a{padding:12px 0;color:var(--muted);white-space:nowrap;font-size:13px}.tabs .selected{border-bottom:2px solid var(--blue);color:var(--blue)}.management-grid{display:grid;grid-template-columns:minmax(250px,370px) minmax(0,1fr);gap:40px}.management-grid h2{margin-bottom:20px}.narrow{max-width:800px}.narrow>input{width:100%}.narrow>button{margin-top:20px}.checkbox{display:flex;align-items:flex-start;gap:12px;font-weight:400;line-height:1.6}.checkbox input{min-height:0;margin-top:5px;flex-shrink:0}.notice{background:#eaf5ee;color:var(--green);border-left:3px solid var(--green);padding:12px 15px;margin-bottom:18px;font-size:13px}.errorlist{color:#b42318;padding-left:20px;font-size:13px;margin:8px 0}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.empty h1{margin-bottom:15px}.empty .secondary{margin-top:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:white;padding:15px}.skip:focus{top:10px}.public{padding:0;max-width:none;background:white;min-height:100vh}.login-top{padding:25px 6%;display:flex;align-items:center;gap:12px;border-bottom:1px solid #e7ebef;color:var(--blue);font-size:23px}.region{margin-left:auto;font-size:11px;color:var(--muted)}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;min-height:calc(100vh - 94px)}.login-identity{background:#edf4f9;padding:80px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.login-identity h1{font-size:56px;color:var(--blue);margin:18px 0 30px}.institutional{font-size:26px;color:#26384a;line-height:1.45}.identity-rule{width:46px;height:3px;background:var(--blue);margin:35px 0 22px}.identity-small{font-size:13px;color:var(--muted)}.school-visual{display:flex;align-items:center;gap:15px;color:#587b99;margin-top:65px}.school-visual svg{width:50px;height:50px}.school-visual span{font-size:9px;max-width:170px;line-height:1.8}.login-form{width:100%;max-width:430px;padding:70px 35px;margin:auto}.login-form h2{font-size:25px;margin-bottom:8px}.login-form form{margin-top:30px}.login-form input:not([type=hidden]){width:100%}.full{width:100%;margin-top:25px}.login-footer{display:flex;gap:10px;border-top:1px solid var(--line);margin-top:40px;padding-top:20px;font-size:11px;color:var(--muted)}
.table-wrap{position:relative}.sr-only{left:0;top:0}
#unsaved-dialog{max-width:560px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:6px;padding:24px;color:var(--ink)}#unsaved-dialog::backdrop{background:#20212466}#unsaved-dialog h2{margin-bottom:12px}#unsaved-dialog .form-actions{display:flex;flex-wrap:wrap;gap:10px}#unsaved-error{color:#b42318;margin-top:10px}.text-button{border:0;background:transparent;color:#b42318;padding:9px 12px}
.delivery-window{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 0;color:var(--muted);font-size:12px}.delivery-window>span{display:flex;align-items:center;gap:8px}.delivery-window svg{width:16px;height:16px}.report-editor-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:24px}.domain-index{position:sticky;top:12px;align-self:start;display:flex;flex-direction:column;gap:8px}.domain-index a{font-size:12px;padding:8px 10px;border-left:2px solid var(--line);color:var(--muted)}.domain-index a:hover,.domain-index a:focus-visible{border-color:var(--blue);color:var(--blue)}.report-domain{border-top:1px solid var(--line);scroll-margin-top:20px;padding:16px 0}.report-domain>summary{font-size:16px;font-weight:600;color:var(--blue);cursor:pointer;padding-bottom:12px}.domain-content{padding-top:8px}.field-essential{display:block;font-weight:400;color:var(--muted);font-size:11px}.editor-actions{position:sticky;bottom:0;z-index:3;background:#fff;border-top:1px solid var(--line);padding:12px 16px;box-shadow:0 -3px 12px #2021240a}.editor-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;font-size:12px;color:var(--muted)}.editor-feedback progress{width:140px;height:6px}.editor-actions .form-actions{margin-top:10px;gap:8px}.saved-export{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;font-size:11px;color:var(--muted);padding-top:10px}.saved-export[hidden]{display:none}.save-error{color:#b42318}.error-summary{border-left:3px solid #b42318;background:#fff1f0;color:#b42318;padding:16px;margin:18px 0}.error-summary h2{font-size:16px}.error-summary a{color:#b42318}.annual-reference{border-top:1px solid var(--line);padding:18px 0}.annual-reference h2{margin-bottom:12px}.annual-reference details{border-bottom:1px solid var(--line);padding:10px 0}.annual-reference summary{cursor:pointer;font-weight:600}.reference-content{max-height:380px;overflow:auto;padding:10px 0}.view-switch{display:flex;gap:0;margin:12px 0}.view-switch a{display:flex;align-items:center;gap:7px;padding:8px 12px;color:var(--muted);border-bottom:2px solid var(--line)}.view-switch a[aria-current]{border-color:var(--blue);color:var(--blue)}.delivery-matrix th:first-child{position:sticky;left:0;z-index:1;background:#fff;min-width:220px}.delivery-matrix thead th:first-child{background:#f8fafb}.delivery-matrix th{min-width:160px}.matrix-cell{display:flex;flex-direction:column;gap:6px}.window-form{max-width:560px}.window-form input[type=checkbox]{width:auto;min-height:0}.report-domains{min-width:0}.report-domains textarea{width:100%}@media(max-width:900px){.report-editor-layout{grid-template-columns:minmax(0,1fr)}.domain-index{position:static;display:flex;flex-direction:row;overflow:auto;gap:5px}.domain-index a{flex:0 0 160px;border-left:0;border-bottom:2px solid var(--line)}}@media(max-width:700px){.editor-actions{padding:10px}.editor-actions .form-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.editor-actions button{font-size:11px;min-height:42px;white-space:normal;padding:8px;justify-content:center}.editor-actions svg{width:16px;height:16px}.editor-feedback{font-size:11px;gap:6px 12px}.editor-feedback progress{width:100px}.saved-export{font-size:10px}.delivery-window{align-items:flex-start}.report-domain>summary{font-size:14px}}
.delivery-workspace{--scope-color:var(--blue);margin-bottom:24px}.delivery-workspace.annual{--scope-color:var(--green)}.delivery-workspace.custom{--scope-color:var(--amber)}.workspace-navigation{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.delivery-tabs{display:flex;gap:24px}.delivery-tabs a{display:flex;align-items:center;gap:8px;padding:13px 0;border-bottom:3px solid transparent;margin-bottom:-1px;color:var(--muted);font-weight:600}.delivery-tabs a[aria-current]{border-color:var(--scope-color);color:var(--scope-color)}.workspace-year.filters{margin:0;gap:9px}.workspace-year label{color:var(--muted);font-size:12px}.workspace-year select{min-width:85px}.term-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:18px;border-bottom:1px solid var(--line)}.term-navigation a{padding:12px 16px;border-left:1px solid var(--line);border-bottom:3px solid transparent;display:flex;flex-direction:column;gap:3px;color:var(--muted)}.term-navigation a:first-child{border-left:0}.term-navigation a[aria-current]{border-bottom-color:var(--scope-color);background:#eaf2f8;color:var(--scope-color)}.term-navigation strong{font-size:14px}.term-navigation span,.term-navigation small{font-size:12px}.period-context{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0}.period-context strong{font-size:14px;color:var(--scope-color)}.period-context div{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px}.period-context span{font-size:12px;color:var(--muted)}.period-status{white-space:nowrap}.delivery-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;color:var(--muted);font-size:12px}.delivery-pagination nav{display:flex;align-items:center;gap:12px}.report-breadcrumbs{display:flex;flex-wrap:wrap;gap:18px;margin-bottom:12px}.delivery-filters .search-field{min-width:220px}.delivery-tabs a:hover,.term-navigation a:hover{color:var(--scope-color)}@media(max-width:700px){.workspace-navigation{align-items:flex-start;flex-direction:column;gap:0}.delivery-tabs{width:100%;justify-content:space-between;gap:10px}.delivery-tabs a{font-size:12px;gap:5px}.delivery-tabs svg{width:16px;height:16px}.workspace-year.filters{padding:12px 0}.term-navigation a{padding:10px 8px}.term-navigation strong{font-size:12px}.term-navigation span,.term-navigation small{font-size:11px}.period-context{align-items:flex-start}.period-context div{flex-direction:column;align-items:flex-start;gap:4px}}
.report-section{border-top:1px solid var(--line);padding:22px 0}.report-section h2{color:var(--blue);margin-bottom:18px}.report-identification{margin:20px 0}.report-identification dl{display:grid;grid-template-columns:minmax(100px,160px) minmax(0,1fr);gap:8px 16px}.report-identification dt{color:var(--muted)}.report-identification dd{margin:0;overflow-wrap:anywhere}.report-form .form-actions{flex-wrap:wrap}.report-section textarea{width:100%}
.class-summary>a{border-top:2px solid #c9d9e6;padding:15px 0;display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--ink)}
.class-summary>a strong{display:flex;align-items:center;justify-content:space-between;gap:12px}
.class-summary>a strong svg{width:16px;height:16px;color:var(--blue)}
.class-summary>a:hover{border-color:var(--blue)}
.class-summary>a:hover strong{color:var(--blue)}
@media(min-width:1600px){main{padding-top:45px}}@media(max-width:1100px){.sidebar{width:210px;padding:25px 14px}.workspace{margin-left:210px}main{padding:28px 24px}.topbar{padding:0 24px}.topbar>span{display:none}.topbar{justify-content:flex-end}.metrics{gap:12px}.metrics span{font-size:11px}.metrics strong{font-size:30px}.management-grid{grid-template-columns:1fr;gap:30px}.filters select{max-width:160px}.login-identity{padding:50px 10%}.institutional{font-size:23px}}@media(max-width:700px){.sidebar{position:static;width:100%;padding:15px 18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:22px}.brand small,.school-label,.nav-label,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:6px;margin-top:12px}.sidebar nav a{font-size:11px;padding:9px 10px;white-space:nowrap;gap:7px}.sidebar nav a svg{width:16px;height:16px}.workspace{margin-left:0}.topbar{height:64px;padding:10px 18px}.user-menu{gap:10px}.user-menu strong{font-size:11px}main{padding:25px 18px}h1{font-size:24px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.metrics>div:nth-child(2){border:none}.completion{gap:12px;flex-wrap:wrap}.completion div{min-width:0;width:100%}.completion progress{flex:1}.class-summary{grid-template-columns:1fr}.filters select{flex:1;max-width:none;min-width:130px}.filters .search-field{flex-basis:100%}.heading-actions{align-items:flex-start;flex-direction:column}.inline-form{flex-direction:column}.entry-heading{flex-wrap:wrap}.form-actions{flex-direction:column}.report-author{flex-wrap:wrap}.login-layout{grid-template-columns:1fr}.login-identity{padding:35px 25px}.login-identity h1{font-size:38px;margin:12px 0 15px}.institutional{font-size:22px}.identity-rule,.identity-small,.school-visual{display:none}.login-form{padding:35px 25px}.region{font-size:9px}.login-top{padding:18px 25px}.login-top .brand-mark{width:32px;height:32px}.login-footer{margin-top:25px}footer{padding:16px 18px}}
.delivery-matrix tbody th>a{display:block;overflow-wrap:anywhere}.delivery-matrix tbody th>small{display:block;margin-top:6px;color:var(--muted);font-weight:400}.delivery-matrix tbody th{font-weight:600;vertical-align:middle}
