.master-layout{max-width:1280px;margin:0 auto;padding:28px;display:grid;grid-template-columns:minmax(360px,460px) minmax(0,1fr);gap:20px;align-items:start}
.master-card{background:#fff;border:1px solid #dce4e8;border-radius:12px;padding:24px;min-width:0}
.master-card h1{font-size:23px;margin:4px 0 8px}.master-card h2{font-size:19px;margin:4px 0}.master-card p{font-size:13px;line-height:1.6}
.master-card label{display:grid;gap:7px;font-size:12px;color:#50636d;font-weight:700;margin:15px 0}
.master-card input,.master-card select{width:100%;border:1px solid #cad8de;border-radius:8px;padding:10px;background:#fff;color:#1e2932}
.master-card input:disabled{background:#f0f3f4;color:#667782}.readonly-value{display:block;padding:10px 0;color:#1e2932;font-size:14px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.subject-picker{border:1px solid #dce4e8;border-radius:8px;padding:10px 14px;margin:18px 0}.subject-picker legend{font-size:12px;font-weight:700;color:#50636d;padding:0 5px}
.subject-choices{display:flex;flex-wrap:wrap;gap:3px 13px}.subject-choices label{display:flex;align-items:center;gap:5px;margin:5px 0;font-size:12px;color:#2d4652}.subject-choices input{width:auto}
.form-actions,.list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.form-actions{justify-content:flex-start;margin-top:20px}.form-message{min-height:20px;color:#146181}.form-message.error{color:#af3939}
.student-list{display:grid;gap:8px;max-height:70vh;overflow:auto}.student-item{width:100%;text-align:left;background:#fff;border:1px solid #dce4e8;border-radius:8px;padding:12px 14px;color:#233944;display:grid;gap:4px;cursor:pointer}.student-item:hover,.student-item.active{background:#eef6f8;border-color:#7eb5c6}.student-item strong{font-size:14px}.student-item small{color:#667984;font-size:11px}.empty-list{padding:30px;color:#73838a;text-align:center;border:1px dashed #dce4e8;border-radius:8px}
@media(max-width:860px){.master-layout{grid-template-columns:1fr;padding:16px}.student-list{max-height:none}}
@media(max-width:520px){.field-row{grid-template-columns:1fr;gap:0}.topbar{height:auto;min-height:66px;flex-wrap:wrap;padding:12px}.top-actions{flex-wrap:wrap}}
