/* Student detail only; reuse the teacher workspace tokens. */
.sa{padding:20px;margin-bottom:16px;min-width:0}
.sa header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.sa h3{margin:0;font-size:var(--fs-h2)}
.sa header small,.sa small{color:var(--muted)}
.sa-stats{display:flex;flex-wrap:wrap;gap:12px 24px;padding:16px;background:var(--soft);border-radius:var(--r-md)}
.sa-stats b{color:var(--pri-t);font-variant-numeric:tabular-nums}
.sa-chart{margin-top:20px;overflow:hidden}
.sa-chart svg{display:block;width:100%;height:auto;min-height:170px}
.sa-chart text{fill:var(--muted);font:12px var(--font)}
.sa-grid{stroke:var(--line);stroke-width:1}
.sa-personal,.sa-average{fill:none;stroke-width:3;stroke-linejoin:round}
.sa-personal{stroke:var(--pri-t)}
.sa-average{stroke:var(--muted);stroke-width:2;stroke-dasharray:7 5}
.sa-point{fill:var(--panel);stroke:var(--pri-t);stroke-width:3}
.sa-hit{fill:transparent;cursor:pointer}
.sa-chart g[role=button]{cursor:pointer}
.sa-chart g:focus-visible .sa-hit{stroke:var(--pri-t);stroke-width:2;stroke-dasharray:3 2}
.sa-avg-point{fill:var(--muted)}
.sa-legend{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:var(--fs-sm);color:var(--muted)}
.sa-detail{background:var(--soft);border-left:3px solid var(--pri-t);padding:14px 16px;margin:16px 0;overflow-wrap:anywhere}
.sa-detail p{margin:6px 0 0}
.sa-table{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:var(--r-md)}
.sa table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}
.sa th,.sa td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.sa th{color:var(--muted);font-weight:500}
.sa td:nth-child(2){white-space:normal;min-width:150px;max-width:320px;overflow-wrap:anywhere}
.sa td small{display:block}
.sa-selected{background:var(--soft)}
.sa-exam{font:inherit;color:var(--pri-t);background:transparent;border:0;text-align:left;cursor:pointer;padding:6px 0;min-height:32px}
.sa-exam[aria-pressed=true]{font-weight:700;text-decoration:underline;text-underline-offset:4px}
.sa-filter{display:flex;align-items:center;flex-wrap:wrap;gap:12px;font-size:var(--fs-sm)}
.sa-filter select{font:inherit;padding:8px 12px;max-width:100%;min-height:40px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-sm)}
.sa-causes{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sa-causes li{border:1px solid var(--line);border-radius:var(--r-md);padding:16px;overflow-wrap:anywhere}
.sa-causes li div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.sa-causes li span{color:var(--muted);font-variant-numeric:tabular-nums}
.sa-causes meter{display:block;width:100%;height:12px;margin:10px 0;accent-color:var(--pri-t)}
.sa-causes p{font-size:var(--fs-sm);color:var(--muted);margin:8px 0 0}
.sa details{margin-top:16px;font-size:var(--fs-sm);color:var(--muted)}
.sa summary{cursor:pointer;color:var(--pri-t);min-height:32px}
.sa-evidence{padding-left:20px;overflow-wrap:anywhere}
.sa button:focus-visible,.sa select:focus-visible,.sa-table:focus-visible{outline:2px solid var(--pri-t);outline-offset:3px}
@media(max-width:600px){.sa{padding:16px}.sa-causes{grid-template-columns:1fr}.sa-stats{gap:10px 16px}.sa th,.sa td{padding:8px}.sa-chart{overflow-x:auto}.sa-chart text{font-size:15px}.sa-chart svg{min-width:520px;min-height:170px}}
