:root{color-scheme:light;--red:#9f2639;--ink:#272b31;--muted:#626975;--line:#e0e3e8;--paper:#f5f6f8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 Arial,Helvetica,sans-serif}main{max-width:1600px;margin:auto;padding:0 40px 40px}header{height:86px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px;letter-spacing:.08em}.brand{font:bold 31px Georgia,serif;color:var(--red);display:flex;align-items:center;gap:22px}.brand span{font:12px Arial,sans-serif;letter-spacing:.13em;border-left:1px solid var(--line);padding-left:22px;color:var(--muted)}.heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:32px 0 28px}h1{font:normal 38px Georgia,serif;margin:7px 0 12px}h2{font:normal 23px Georgia,serif;margin:0 0 8px}h3{font-size:18px}.eyebrow{color:var(--red);font-size:12px;letter-spacing:.16em;font-weight:bold;margin:0}p{color:var(--muted);margin:8px 0 16px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}button{font:inherit;font-size:14px;line-height:1.4;background:var(--red);color:white;border:1px solid var(--red);padding:11px 16px;border-radius:7px;cursor:pointer}button:hover{filter:brightness(.94)}button:disabled{opacity:.55;cursor:default}.secondary{background:white;color:var(--ink);border-color:var(--line)}.toolbar{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.classes{display:flex;gap:5px;padding:5px;border-radius:9px;background:#e9ecf0}.classes button{background:none;border:0;color:#535c69;min-width:150px}.classes button[aria-pressed=true]{background:white;box-shadow:0 2px 5px #19273712;color:var(--red);font-weight:bold}.classes span{font-weight:normal;margin-left:8px;font-size:12px}.badge{background:#e8edf2;color:#56616d;padding:7px 12px;border-radius:20px;font-size:13px}.badge.editing{background:#f7e6e9;color:var(--red)}#status{font-size:13px;min-height:22px;margin:16px 0 0}.error{color:#b01930!important}.success{color:#316447!important}section{background:white;border:1px solid var(--line);border-radius:10px;margin-top:22px;padding:24px}.sectionheading{display:flex;justify-content:space-between;align-items:center;gap:18px}.legend{font-size:13px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;background:#f5f6f8;color:#535d6b;font-size:12px;padding:14px 11px;white-space:nowrap;border-bottom:1px solid var(--line)}td{vertical-align:top;padding:15px 11px;border-bottom:1px solid var(--line);line-height:1.55}tr:last-child td{border-bottom:0}strong{color:var(--red);font-size:14px}.desc{min-width:230px;max-width:410px;margin-top:5px}small{display:block;color:var(--muted);font-size:12px;margin-top:5px;max-width:180px}.checkcell{text-align:center;min-width:52px}.check{width:21px;height:21px;accent-color:var(--red);margin:3px;cursor:pointer}.check:disabled{cursor:default;opacity:1}.readonly-check{font-size:19px;color:var(--red);line-height:1.25}.empty-check{display:inline-block;width:17px;height:17px;border:1px solid #aeb7c1;border-radius:3px;margin-top:4px}input:not([type=checkbox]),textarea{display:block;font:14px/1.5 Arial,sans-serif;width:100%;border:1px solid #cdd4de;border-radius:5px;background:white;color:var(--ink);padding:8px;margin-top:5px}textarea{min-width:170px;min-height:65px;resize:vertical}input[type=date]{min-width:145px}.value{white-space:pre-wrap;overflow-wrap:anywhere;min-width:130px;max-width:350px}.empty{color:#9299a2}.fieldlabel{display:block;color:var(--muted);font-size:12px;margin-top:4px}.row-note{min-width:200px}.details{margin-top:16px}summary{cursor:pointer;font-size:17px;font-weight:bold;padding:5px 0 15px}summary::marker{color:var(--red)}.counter{font-size:13px;color:var(--muted);font-family:Arial,sans-serif}.no-course{background:#fafbfc;color:#75808d}footer{font-size:12px;line-height:1.7;color:var(--muted);margin-top:28px}dialog{max-width:460px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:12px;padding:30px;box-shadow:0 20px 70px #15203033}dialog::backdrop{background:#202b3b66}dialog label{font-size:14px}dialog .actions{justify-content:flex-end;margin-top:24px}#printarea{display:none}:focus-visible{outline:3px solid #567da9;outline-offset:3px}[hidden]{display:none!important}@media(max-width:760px){main{padding:0 16px 30px}.brand span{display:none}header{height:70px}.heading{align-items:flex-start;flex-direction:column;margin-top:25px}h1{font-size:31px}.toolbar{align-items:flex-start}.classes button{min-width:130px}section{padding:16px}.sectionheading{align-items:flex-start;flex-direction:column}.actions button{font-size:13px}.desc{min-width:210px}}@media print{@page{size:A4 landscape;margin:12mm}body{background:white;font:10px/1.4 Arial,sans-serif}main,dialog{display:none!important}#printarea{display:block}#printarea section{padding:0;border:0;border-radius:0;margin:0 0 10mm;break-before:page}#printarea section:first-of-type{break-before:auto}#printarea h1{font-size:23px}#printarea h2{font-size:17px}#printarea table{font-size:9px;table-layout:fixed}#printarea th{font-size:8px;padding:7px 5px;white-space:normal}#printarea td{padding:7px 5px;overflow-wrap:anywhere}#printarea .desc{min-width:0;max-width:none}#printarea .value{min-width:0;max-width:none}#printarea small{font-size:8px}#printarea strong{font-size:9px}#printarea .checkcell{min-width:0}#printarea .readonly-check{font-size:13px}#printarea .empty-check{width:10px;height:10px}#printarea .row-note{min-width:0}#printarea .fieldlabel{font-size:8px}#printarea tr{break-inside:avoid}#printarea thead{display:table-header-group}#printarea .printnote{font-size:9px;color:#555}#printarea .legend{font-size:9px}#printarea .sectionheading{display:block}#printarea .tablewrap{overflow:visible}#printarea summary{display:none}}
.brand img{width:66px;height:66px;object-fit:contain}
.brand img{width:120px;height:70px;object-fit:contain} @media(max-width:760px){.brand img{width:104px;height:61px}}
.private-login{max-width:550px;margin:60px auto;padding:32px}.private-login form{margin-top:28px}.private-login input{margin:8px 0 16px}.private-login button{width:100%}.private-login h1{font-size:30px}
