/* Teacher-only surfaces; leave the approved child-facing UI untouched. */
.teacher-panel { width:min(1160px,100%); max-width:1160px; background:#fffbf5; padding:28px; border-radius:30px; }
.teacher-head { position:relative; padding-right:35px; }
.teacher-head h2 { font-size:1.7rem; color:#554b42; }
.teacher-head .result-close { top:0; right:0; }
.teacher-subtitle { margin:8px 0 0; color:#94897d; font-size:.82rem; }
.teacher-stats { grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:22px 0; }
.teacher-stats div { border:1px solid #e7e3d8; border-radius:17px; background:#f3f4ea; padding:14px 16px; }
.teacher-stats div:nth-child(2) { background:#edf2f5; }
.teacher-stats div:nth-child(3) { background:#f7f0df; }
.teacher-stats div:nth-child(4) { background:#f2edf5; }
.teacher-stats b { font-size:1.9rem; color:#655846; }
.teacher-stats span { font-size:.7rem; color:#8e857a; }
.teacher-tools { display:grid; grid-template-columns:.75fr 1fr .8fr 1.4fr auto; align-items:end; gap:10px; }
.teacher-tools label { min-width:0; font-size:.73rem; color:#8e857a; }
.teacher-tools input,.teacher-tools select { display:block; width:100%; min-width:0; height:40px; margin-top:5px; padding:8px 10px; background:#fffefa; border:1px solid #dfded1; border-radius:10px; color:#655846; font:inherit; }
.teacher-tools input:focus,.teacher-tools select:focus { outline:2px solid #afc3a3; outline-offset:2px; }
.teacher-detail-button { border:1px solid #cbd5bf; border-radius:11px; color:#6e8562; background:#edf2e7; padding:10px 12px; font-size:.76rem; font-weight:700; white-space:nowrap; }
.teacher-detail-button[aria-pressed=true] { background:#8fa67d; color:#fffefa; }
.teacher-filter-note,.teacher-status { margin:10px 0 14px; color:#96897a; font-size:.7rem; line-height:1.7; }
.teacher-panel table { color:#675d51; font-size:.8rem; }
.teacher-panel th { color:#8c8173; background:#f3f0e8; font-size:.71rem; }
.teacher-panel th,.teacher-panel td { padding:12px 10px; border-color:#e7e4dc; }
.teacher-panel td small { display:block; margin-top:5px; color:#9a8e7f; font-size:.67rem; line-height:1.5; }
.teacher-panel td strong { color:#977b45; }
.teacher-panel tr.is-selected { background:#f3f5ed; }
.teacher-detail { margin-top:26px; padding-top:18px; border-top:1px dashed #dbd4c5; }
.teacher-detail-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }
.teacher-detail-head h3 { margin:4px 0; font-size:1.15rem; }
.teacher-detail-head h3 small { color:#9a8e7f; font-size:.76rem; margin-left:8px; }
.teacher-detail-head .eyebrow { margin:0; font-size:.64rem; color:#9aa987; }
.teacher-detail-head > span { font-size:.66rem; color:#9a8e7f; }
.attempt-table caption { text-align:left; margin:0 0 12px; font-weight:700; font-size:.85rem; }
.teacher-score { display:inline-block; padding:5px 9px; border-radius:9px; font-size:.76rem; }
.teacher-score.is-pass { background:#e7efdf; color:#6f865e; }
.teacher-score.is-fail { background:#f6e5df; color:#af8170; }
.teacher-permanent { margin-top:20px; }
.teacher-permanent h4 { margin:0; font-size:.9rem; }
.teacher-permanent > p { margin:6px 0 12px; color:#9a8e7f; font-size:.73rem; }
.teacher-card-list { display:flex; flex-wrap:wrap; gap:8px; }
.teacher-card-list > span { display:block; padding:10px 12px; border:1px solid #e6dcc7; border-radius:12px; background:#fbf5e9; font-size:.76rem; }
.teacher-card-list small { display:block; margin-top:5px; color:#9a8e7f; font-size:.62rem; }
.teacher-settlement { display:flex; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #e7e4dc; padding-top:17px; margin-top:23px; }
.teacher-settlement h3 { font-size:.88rem; margin:0 0 5px; }
.teacher-settlement p,.teacher-note { margin:0; color:#9a8e7f; font-size:.7rem; line-height:1.7; }
.teacher-settlement .danger-button { background:#f7e9e3; color:#ac7767; padding:11px 15px; font-size:.76rem; white-space:nowrap; }
.teacher-note { margin-top:13px; }
.attempt-save-status { margin:12px 0 5px; font-size:.73rem; color:#94a186; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:760px) {
 .teacher-panel { padding:22px 16px; border-radius:24px; }
 .teacher-head h2 { font-size:1.35rem; }
 .teacher-stats { gap:7px; }
 .teacher-stats div { padding:11px 8px; }
 .teacher-stats span { font-size:.6rem; }
 .teacher-stats b { font-size:1.5rem; }
 .teacher-tools { grid-template-columns:1fr 1fr; }
 .teacher-tools > button { grid-column:1 / -1; justify-self:start; }
 .teacher-panel .table-wrap { max-width:100%; }
 .teacher-detail-head { align-items:start; flex-direction:column; }
 .teacher-settlement { align-items:start; flex-direction:column; gap:10px; }
}
