/* M-52 C-137「课后 · 校内成绩」：左边考试列表（同资料页的列表样式），右边一人一行录分。只用 tokens.css 的档位。 */
.gr{display:grid;grid-template-columns:var(--split-left,260px) minmax(0,1fr);gap:16px;align-items:start}
.gr-list{padding:8px;display:flex;flex-direction:column;gap:2px}
.gr-list small em{font-style:normal;color:var(--amber-t)}
.gr-main{padding:20px 24px 0}
.gr-rows{list-style:none;margin:14px 0 0;padding:0;max-width:640px}
.gr-rows li{display:grid;grid-template-columns:minmax(80px,1fr) 120px 120px;align-items:center;gap:6px 12px;padding:6px 0;border-top:1px solid var(--tonal)}
.gr-rows li:first-child{border-top:0}
.gr-rows b{font-size:15px;font-weight:600}.gr-rows small{grid-column:1;font-size:12px;color:var(--faint);margin-top:-4px}
.gr-rows input,.gr-rows select{min-height:44px;border:1px solid transparent;border-radius:var(--r-sm);background:var(--tonal);padding:0 10px;font:inherit;color:var(--ink);font-variant-numeric:tabular-nums}
.gr-rows input:focus,.gr-rows select:focus{background:#fff;border-color:var(--line2)}
.gr-rows input:disabled{opacity:.5}
.gr-foot{position:sticky;bottom:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin:14px -24px 0;padding:12px 24px;border-top:1px solid var(--tonal);background:var(--glass-hi);border-radius:0 0 var(--r-lg) var(--r-lg)}
.gr-foot #gr-n{margin-right:auto;font-size:13px;color:var(--muted)}
.gr-association{margin:16px 0 20px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gr-association h4{margin:0 0 6px;font-size:var(--fs-h3)}
.gr-association p{margin:8px 0;overflow-wrap:anywhere;max-width:75ch}
.gr-slot-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;max-width:640px;margin-top:12px}
.gr-slot-fields .field{margin:0;min-width:0}
.gr-slot-fields input,.gr-slot-fields select{min-width:0;width:100%;min-height:44px;color:var(--ink);background:var(--tonal);border:1px solid var(--line2);border-radius:var(--r-sm);padding:8px 10px;font:inherit}
.gr-slot-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.gr-association :is(input,select,button):focus-visible{outline:2px solid var(--pri);outline-offset:2px}
.gr-association :disabled{cursor:not-allowed;opacity:.6}
@media (max-width:520px){.gr-slot-fields{grid-template-columns:1fr}.gr-association .gr-slot-actions .btn{flex:1 1 140px}}
@media (max-width:860px){.gr{grid-template-columns:1fr}.gr>.split-h{display:none}.gr-rows li{grid-template-columns:1fr 1fr}.gr-rows li b{grid-column:1/3}}
