:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1b2b43;background:#f3f6fc;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #d7dfeb;border-radius:11px;background:#fff;padding:10px 14px;color:#243956;font-weight:650}button:hover{background:#eef4ff}button.primary{background:#2459cf;border-color:#2459cf;color:white}button.primary:hover{background:#1846aa}.top{background:#142a4d;color:#fff;padding:27px clamp(16px,4vw,50px);display:flex;justify-content:space-between;align-items:center;gap:20px}.top h1{font-size:29px;margin:3px 0 5px}.top p{color:#c9d7ef;margin:0}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:750;color:#93b7f8}.quiet{background:transparent;color:white;border-color:#59708c}.shell{max-width:1510px;padding:25px;margin:auto;display:grid;grid-template-columns:minmax(330px,.9fr) minmax(450px,1.1fr);gap:20px;align-items:start}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:22px;box-shadow:0 5px 28px #203a6810}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.panel h2{font-size:18px;margin:0 0 14px}.panelhead h2{margin:0 0 14px}.status,.muted{color:#64748b;font-size:12px}.fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:8px 0 15px}.fields.narrow{grid-template-columns:1fr 1fr}.fields label,.logincard label{font-size:12px;font-weight:750;color:#54647c;display:grid;gap:6px}.fields input,.fields select,.logincard input{width:100%;border:1px solid #d6deea;border-radius:10px;padding:10px;color:#1d304b;background:white;min-width:0}.lesson{padding:12px;background:#edf4ff;color:#21519d;border-radius:10px;font-size:13px;margin-bottom:22px}.studentgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:440px;overflow:auto}.student{display:flex;align-items:center;gap:8px;padding:9px;border:1px solid #e2e7ef;border-radius:9px;font-size:13px;cursor:pointer;min-width:0}.student span{overflow-wrap:anywhere}.student.absent{opacity:.46;text-decoration:line-through}.student input{accent-color:#2459cf}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}button.small{padding:6px 10px;font-size:12px}.hint{color:#77849a;font-size:12px;line-height:1.6}.groupgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin:22px 0}.group{border:1px solid #d5e0f5;background:#f8faff;border-radius:13px;padding:12px;min-height:110px}.group:nth-child(4n+2){background:#fff9f0;border-color:#f3dfbf}.group:nth-child(4n+3){background:#f1faf5;border-color:#cee9d8}.group:nth-child(4n+4){background:#faf5ff;border-color:#e7d8f7}.group.dragover{outline:3px dashed #3477ea}.grouphead{display:flex;gap:6px;align-items:center;margin-bottom:11px}.groupname{border:0;background:transparent;font-weight:800;width:100%;min-width:0;color:#203754;padding:4px}.pill{font-size:11px;background:white;border:1px solid #d4deeb;border-radius:20px;padding:3px 7px}.iconbutton{padding:2px 8px;font-size:19px;background:transparent;border:0}.person{border:1px solid #e2e8f1;background:white;border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:space-between;gap:6px;margin:6px 0;cursor:grab;font-size:13px}.person span{min-width:0;overflow-wrap:anywhere}.move{width:88px;max-width:45%;font-size:11px;border:1px solid #e0e4ec;background:#fafcff;padding:5px;border-radius:7px}.empty,.unassigned{grid-column:1/-1;background:#f6f8fc;border:1px dashed #d2dce9;border-radius:12px;padding:20px;color:#536680}.space{margin-top:20px}.loginbody{min-height:100vh;display:grid;place-items:center}.logincard{background:white;border-radius:20px;padding:35px;width:min(430px,92vw);box-shadow:0 14px 50px #24385826}.logincard h1{margin:10px 0}.logincard form{display:grid;gap:14px;margin-top:22px}.error{color:#c3283d}@media(max-width:900px){.shell{grid-template-columns:1fr}}@media(max-width:530px){.fields{grid-template-columns:1fr 1fr}.studentgrid,.groupgrid{grid-template-columns:1fr}.top h1{font-size:23px}}@media print{.top form,.controls,.actions,.hint,.move,.iconbutton{display:none!important}.shell{display:block}.result{box-shadow:none;border:0}.groupgrid{grid-template-columns:repeat(3,1fr)}.groupname{border:0}.top{background:white;color:black;padding:0}.top p{display:none}}
