:root{font-family:Tahoma,Arial,sans-serif;color:#123b43;background:#f4faf8;--teal:#087f82;--gold:#e4ad43}*{box-sizing:border-box}body{margin:0}header{background:linear-gradient(120deg,#075c67,#0b8c87);color:#fff;padding:32px max(20px,calc((100% - 1180px)/2));display:flex;justify-content:space-between;gap:24px;align-items:center}h1{font-size:clamp(28px,4vw,48px);margin:8px 0}.eyebrow{color:#ffdc7c}.actions{display:flex;gap:8px;flex-wrap:wrap}button,select,input{font:inherit;border:1px solid #c9dedb;border-radius:10px;padding:10px;background:#fff;color:#123b43}button{background:var(--gold);border:0;font-weight:700;cursor:pointer}.quiet{background:#e7f3f0}.notice,main,footer{max-width:1180px;margin:auto}.notice{margin-top:20px;background:#fff8e7;border-right:4px solid var(--gold);padding:14px;border-radius:12px}.toolbar{max-width:1180px;margin:20px auto;display:flex;align-items:end;gap:14px;flex-wrap:wrap}.toolbar label{display:grid;gap:5px;font-weight:bold}.grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:18px}.grid article{background:#fff;border-radius:18px;padding:20px;box-shadow:0 8px 24px #0b5c6712}h2{margin-top:0}.muted,footer{color:#557477;font-size:14px}.student,.assignment{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e4efed;padding:12px 0;gap:8px}.status{display:flex;gap:4px}.status button{padding:7px 9px;background:#eaf4f2}.status button.active{background:var(--teal);color:#fff}.bar{height:8px;background:#e6f0ee;border-radius:99px;overflow:hidden}.bar i{display:block;height:100%;background:var(--teal)}form{display:flex;gap:6px;flex-wrap:wrap}form input{min-width:0;flex:1}footer{padding:30px 20px;text-align:center}@media(max-width:850px){.grid{grid-template-columns:1fr 1fr;padding:0 14px}.grid article:last-child{grid-column:1/-1}header{display:block}.actions{margin-top:18px}.toolbar{padding:0 14px}}@media(max-width:520px){.grid{grid-template-columns:1fr}.grid article:last-child{grid-column:auto}}
button,input,select{min-height:44px}.status{flex-wrap:wrap;justify-content:flex-end}.student{flex-wrap:wrap}.student strong,.student span,.assignment span{overflow-wrap:anywhere}.grid article{min-width:0}main{padding:0 14px}.notice[hidden]{display:none}body{background:#e1e6d6}.grid article{background:#f5ead5}.notice{background:#dfc68d;color:#17383f}@media print{header .actions,.toolbar button,form,.status button,#reset{display:none!important}.grid{display:block}.grid article{break-inside:avoid;box-shadow:none}body,header{background:white;color:black}.status button.active{display:block!important;color:black;background:transparent}}
