:root{font:16px system-ui,sans-serif;color:#213b50;background:#f3f6f9}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header{background:white;border-top:5px solid #873b50;border-bottom:1px solid #dce4eb;padding:22px 4vw;display:flex;gap:20px;align-items:center;flex-wrap:wrap}#brand{font-size:21px;font-weight:700;color:inherit;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}#brand:hover{text-decoration:underline}#identity{margin-left:auto;font-size:14px}.badge{background:#eef3fa;padding:6px 10px;border-radius:20px;font-size:13px}main{max-width:1200px;padding:36px 24px;margin:auto}h1{font-size:32px;margin:8px 0 20px}h2{margin:0}.eyebrow{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#58758e}.panel,.card{background:white;border:1px solid #dce4eb;border-radius:14px;padding:28px;margin-bottom:24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:18px}.card{margin:0}.card h2{font-size:21px;overflow-wrap:anywhere}.toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.toolbar>div:first-child{margin-right:auto}button,.button{display:inline-block;min-height:46px;border:1px solid #b9cada;border-radius:8px;background:white;color:#154c77;padding:11px 18px;font:inherit;cursor:pointer;text-decoration:none}button:disabled{opacity:.55;cursor:wait}.primary{background:#00549c;border-color:#00549c;color:white}button:hover,.button:hover{filter:brightness(.94)}:focus-visible{outline:3px solid #58a8df;outline-offset:3px}label{display:block;margin:14px 0;color:#354e61;font-size:14px}input,textarea,select{display:block;width:100%;padding:12px;border:1px solid #b8c8d6;border-radius:7px;font:inherit;margin-top:6px}input[type=checkbox]{width:22px;height:22px;display:inline-block;vertical-align:middle;margin:0 8px 0 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.muted{color:#637b8f;font-size:14px;line-height:1.6}.notice{padding:16px 20px;background:#edf3fa;border-left:3px solid #00549c;line-height:1.6;margin-bottom:24px}#message{background:#fff0d8;border-left:4px solid #b87912;padding:16px;margin-bottom:22px;white-space:pre-line}.version{border-top:1px solid #dce4eb;padding:15px 0}.version pre{font:14px system-ui;white-space:pre-wrap;overflow-wrap:anywhere}summary{cursor:pointer;padding:18px 0;font-weight:600}footer{padding:24px;text-align:center;color:#6a8193;font-size:13px}#login{max-width:750px;margin:50px auto}#login p{line-height:1.7}#assignment{border-top:1px solid #dce4eb;margin-top:24px;padding-top:15px}.deadline{font-size:13px}.overdue{color:#b23737}fieldset{border:0;padding:0}@media(max-width:650px){header{padding:16px}#identity{margin-left:0;width:100%}main{padding:20px 14px}.fields{grid-template-columns:1fr}.panel{padding:20px}.toolbar{gap:10px}h1{font-size:27px}}
