:root{color:#202c38;background:#f2f4f7;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer;color:#263c52;background:#fff;border:1px solid #6d7d8b;border-radius:4px;min-height:40px;padding:.5rem .8rem}button:hover{background:#edf2f7}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus{outline-offset:3px;outline:3px solid #a94a00}a{color:#174f87;text-underline-offset:3px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:.5rem;font-size:1.8rem;line-height:1.25}h2{margin-bottom:.8rem;font-size:1.2rem;line-height:1.35}h3{margin-bottom:.4rem;font-size:1rem}p{overflow-wrap:anywhere}label{margin-bottom:.35rem;font-size:.9rem;font-weight:700;display:block}input:not([type=checkbox]),select,textarea{color:#202c38;background:#fff;border:1px solid #6d7d8b;border-radius:3px;width:100%;min-width:0;min-height:42px;padding:.55rem .65rem}input::placeholder{color:#63717f}input[type=checkbox]{accent-color:#245b8f;flex-shrink:0;width:19px;height:19px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #a12622}textarea{resize:vertical;min-height:90px}fieldset{border:0;margin:1.5rem 0;padding:0}legend{border-bottom:1px solid #cbd3dc;width:100%;margin-bottom:1rem;padding-bottom:.5rem;font-weight:700}fieldset:disabled input,fieldset:disabled textarea,fieldset:disabled select{color:#34424e;opacity:1;-webkit-text-fill-color:#34424e;background:#f0f2f5}.primary{color:#fff;background:#245b8f;border-color:#245b8f}.primary:hover{background:#19466f}.danger{color:#a12622;border-color:#a12622}.destructive{color:#fff;background:#a12622;border-color:#a12622}.small{font-size:.8rem}.muted{color:#52616f}.block{display:block}.hint{color:#52616f;margin:.4rem 0 1rem;font-size:.8rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:#fff;border:2px solid #245b8f;padding:.8rem 1rem;position:fixed;top:-100px;left:1rem}.skip:focus{top:1rem}.topbar{color:#fff;background:#254865;justify-content:space-between;align-items:center;gap:1rem;padding:1rem max(1rem,50% - 590px);display:flex}.topbar strong{font-size:1.3rem}.topbar .small{color:#e4edf5;display:block}.topbar button:focus-visible{outline-color:#fff}.staff-info{flex-wrap:wrap;align-items:center;gap:.8rem;font-size:.85rem;display:flex}.main-nav{background:#fff;border-bottom:1px solid #bbc6d1;flex-wrap:wrap;gap:.3rem;padding:.5rem max(1rem,50% - 590px);display:flex}.main-nav button{border:0;border-radius:2px}.main-nav button[aria-current=page]{color:#193f62;background:#dce8f2;font-weight:700}.content{max-width:1220px;margin:0 auto;padding:1.8rem 1.25rem}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-heading p{margin-bottom:0}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat{background:#fff;border:1px solid #bbc6d1;border-top:3px solid #416b91;padding:1rem}.stat span{color:#52616f;font-size:.9rem;display:block}.stat strong{margin-top:.4rem;font-size:1.9rem;display:block}.panel{background:#fff;border:1px solid #bbc6d1;border-radius:4px;margin-bottom:1.5rem;overflow:hidden;container-type:inline-size}.panel-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.panel-heading h2{margin-bottom:0}.compact{padding:1.25rem}.compact .panel-heading{padding:0 0 1rem}.recent-activity{padding-left:1.25rem}.recent-activity li{margin-bottom:.8rem;font-size:.9rem}.site-footer{color:#52616f;border-top:1px solid #cbd3dc;max-width:1180px;margin:0 auto;padding:1rem 0;font-size:.8rem}.login-card{background:#fff;border:1px solid #bbc6d1;border-radius:4px;max-width:460px;margin:3rem auto;padding:1.5rem}.login-card form>label{margin-top:1rem}.login-card .primary{width:100%;margin-top:.5rem}.demo-note{background:#edf2f7;border-left:3px solid #416b91;padding:.8rem;font-size:.85rem}.password-control{gap:.5rem;display:flex}.password-control input{flex:1;min-width:0}.password-control button{white-space:nowrap;font-size:.8rem}.forget-details{margin-bottom:.5rem;font-size:.85rem}.status-note{color:#264f31;background:#edf6ef;border:1px solid #799c83;border-radius:3px;padding:.75rem 1rem}.processing{color:#174f87}.error-summary{color:#80221e;background:#fff1ef;border:2px solid #a12622;margin:1rem 0;padding:1rem}.error-summary h2,.error-summary h3{font-size:1rem}.error-summary a{color:#80221e}.error-summary ul{margin:.5rem 0 0;padding-left:1.2rem}.field-error{color:#a12622;margin:.3rem 0 .8rem;font-size:.85rem}.filters{background:#f8f9fb;border-bottom:1px solid #cbd3dc;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:1rem;padding:1rem;display:grid}.filters label{font-size:.8rem}.filters input,.filters select{font-size:.85rem}.results-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.results-toolbar p{margin:0;font-size:.85rem}.results-toolbar>div{gap:.5rem;display:flex}table{border-collapse:collapse;text-align:left;width:100%;font-size:.85rem}thead{background:#eaf0f6}th,td{vertical-align:top;border-top:1px solid #cbd3dc;padding:.85rem 1rem}thead th{color:#2e455a;font-weight:700}tbody th{font-weight:400}.student-link{color:#174f87;text-align:left;text-underline-offset:3px;background:0 0;border:0;min-height:28px;padding:0;font-weight:700;text-decoration:underline;display:inline}.student-link:hover{background:0 0}.row-actions{white-space:nowrap}.row-actions button{min-height:34px;padding:.35rem .6rem;font-size:.8rem}.row-actions button+button{margin-left:.4rem}.badge{white-space:nowrap;border:1px solid;border-radius:3px;padding:.15rem .45rem;font-size:.75rem;display:inline-block}.draft{color:#4c5261;background:#f0f1f5;border-color:#a0a6b2}.submitted{color:#75531a;background:#fff5dc;border-color:#c4a86d}.approved{color:#275b35;background:#edf6eb;border-color:#8aaf8b}.empty{text-align:center;border-top:1px solid #cbd3dc;padding:2rem 1rem}.empty p{font-size:.9rem}.pagination{border-top:1px solid #cbd3dc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.pagination>div{align-items:center;gap:.75rem;font-size:.85rem;display:flex}.example-footer{border-top:1px solid #cbd3dc;padding:1rem}.example-footer button{font-size:.8rem}.audit-list{padding-left:1.5rem}.audit-list li{border-bottom:1px solid #cbd3dc;padding:1rem .25rem}.audit-list li:last-child{border:0}.audit-list p{margin-bottom:.4rem}.help-content{max-width:800px}.help-content h2:not(:first-child){margin-top:1.5rem}dialog{color:#202c38;background:#fff;border:1px solid #6d7d8b;border-radius:4px;width:min(660px,100% - 2rem);max-height:92dvh;padding:0;overflow-y:auto}dialog::backdrop{background:#172a3b88}.dialog-heading{border-bottom:1px solid #cbd3dc;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem;display:flex}.dialog-heading h2{margin-bottom:0;font-size:1.3rem}.eyebrow{color:#52616f;margin-bottom:.25rem;font-size:.7rem}.record-dialog form{padding:1.2rem}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.span-two{grid-column:span 2}.checkbox{align-items:center;gap:.6rem;margin:1rem 0;font-size:.9rem;font-weight:400;display:flex}.dialog-footer{border-top:1px solid #cbd3dc;justify-content:flex-end;gap:.7rem;margin-top:1rem;padding-top:1rem;display:flex}.delete-dialog{max-width:460px;padding:1.5rem}@container (width<=700px){table,tbody,tr,tbody th,tbody td{width:100%;display:block}thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}tbody tr{border-top:1px solid #cbd3dc;padding:1rem}tbody th,tbody td{border:0;padding:.3rem 0}tbody [data-label]{grid-template-columns:82px minmax(0,1fr);gap:0 .5rem;display:grid}tbody [data-label]:before{content:attr(data-label);color:#52616f;grid-area:1/1/4;font-size:.8rem}tbody [data-label]>*{grid-column:2}tbody td[data-label=Mark]{gap:.25rem;display:flex}tbody td[data-label=Mark]:before{flex-shrink:0;width:82px;margin-right:.25rem}.badge{width:max-content}.row-actions{text-align:right;margin-top:.4rem}}@media (width<=650px){.topbar{flex-wrap:wrap}.topbar strong{font-size:1.15rem}.staff-info{justify-content:space-between;width:100%}.main-nav button{padding:.45rem .6rem;font-size:.85rem}.content{padding:1.5rem 1rem}h1{font-size:1.55rem}.page-heading{align-items:flex-start}.stats{grid-template-columns:1fr 1fr;gap:.7rem}.stat{padding:.8rem}.stat span{font-size:.8rem}.stat strong{font-size:1.6rem}.login-card{margin:1.5rem 1rem;padding:1.2rem}.site-footer{margin:0 1rem}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.pagination>div{flex-wrap:wrap;gap:.5rem}.pagination button{padding:.4rem .6rem}}@media (forced-colors:active){button,input,select,textarea,.badge{border:1px solid buttontext}.main-nav button[aria-current=page]{outline:2px solid highlight}}
