*{box-sizing:border-box}body{margin:0;background:#f2f6f4;color:#24372e;font:15px Arial,sans-serif}.topbar{height:62px;background:#173c30;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.brand{font-size:21px;font-weight:bold;color:white;text-decoration:none}.brand span{color:#7fe0ad}.topbar nav{display:flex;gap:16px;align-items:center}.navlink{color:white}.container{max-width:1180px;margin:28px auto;padding:0 16px}.card{background:#fff;border:1px solid #dce7e1;border-radius:12px;padding:22px;margin-bottom:18px;box-shadow:0 3px 12px #163b2c0a}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}.btn{display:inline-block;border:0;border-radius:7px;padding:11px 16px;background:#168653;color:white;text-decoration:none;cursor:pointer;font-weight:bold}.btn.secondary{background:#eaf4ee;color:#20583d}.btn.danger{background:#b83d3d}.field{margin:12px 0}.field label{display:block;margin-bottom:6px;font-weight:bold;font-size:13px}.field input,.field textarea,.field select{width:100%;padding:11px;border:1px solid #cddbd3;border-radius:7px;background:#fff}.muted{color:#708078;font-size:13px}.alert{padding:12px;border-radius:8px;background:#fff4df;color:#78531c;margin:12px 0}.success{background:#e8f7ed;color:#17653c}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:11px;border-bottom:1px solid #e4ebe7;text-align:left}.footer{text-align:center;color:#7a8981;padding:30px;font-size:12px}.code{font-size:23px;font-weight:bold;letter-spacing:3px;color:#168653}.room{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:14px}.boardpanel{background:white;border-radius:10px;padding:10px;border:1px solid #dce7e1}.sidepanel{background:white;border:1px solid #dce7e1;border-radius:10px;padding:14px}.toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.toolbar button{border:1px solid #dce7e1;background:white;padding:8px;border-radius:6px;cursor:pointer}.toolbar button.active{background:#e5f5eb;border-color:#168653}.boardwrap{background:#e8efeb;padding:8px;overflow:auto}#sharedBoard{width:100%;height:auto;background:white;display:block;touch-action:none}.chatlog{height:220px;overflow:auto;border:1px solid #e1e9e4;border-radius:7px;padding:8px;margin:10px 0;font-size:13px}.chatline{margin:0 0 9px}.studentrow{padding:8px;border-bottom:1px solid #edf1ee;font-size:13px}.pill{display:inline-block;background:#e9f5ed;color:#17653c;border-radius:20px;padding:4px 8px;font-size:12px}@media(max-width:800px){.room{grid-template-columns:1fr}.container{margin:14px auto}.topbar{padding:0 12px}.table{font-size:13px}}