.teacher-overview{margin:32px 0 40px}.maps-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:22px}.maps-heading .eyebrow{font-size:10px;margin:0;color:#587348}.maps-heading h2{margin:6px 0 0;font-size:30px}.maps-heading>p{font-size:12px;color:var(--muted);max-width:28ch;margin:0}.maps-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);gap:18px;margin:25px 0 0}.maps-filters label{font-size:12px;font-weight:700}.maps-filters input,.maps-filters select{display:block;width:100%;min-height:46px;margin:6px 0 0;border:1px solid #b8c8a5;border-radius:12px;padding:10px 13px;background:#f6f2e5;font:inherit;font-size:14px;color:var(--ink)}#map-count{margin:12px 0 18px;font-size:12px}.teacher-maps-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.teacher-map{min-width:0;padding:22px 18px 16px;border:1px solid #bacbac;border-radius:22px;background:#f3eedb;box-shadow:0 5px 0 #a6ba921f}.progress-map{background:#e3ebd6}.map-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.map-heading h3{font-size:21px;margin:0}.map-heading p{font-size:11px;color:var(--muted);margin:5px 0 0}.map-symbol{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:14px;background:#d6e0bc;color:#42643a;font-size:27px}.progress-map .map-symbol{background:#eddb9f;color:#6e551e}.score-distribution{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;min-height:128px;align-content:start}.score-band>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px}.score-band strong{font-size:16px;white-space:nowrap}.score-band small{font-size:9px;font-weight:400;color:var(--muted)}.band-track{height:8px;border-radius:10px;background:#dcdcc7;margin-top:7px;overflow:hidden}.band-track>span{display:block;height:100%;background:#b8813c;border-radius:inherit}.score-band-1 .band-track>span{background:#ae983e}.score-band-2 .band-track>span{background:#7b9653}.score-band-3 .band-track>span{background:#35664b}.score-axis{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding-bottom:12px}.progress-distribution{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;min-height:128px;align-content:start;position:relative}.progress-stop{text-align:center;min-width:0}.progress-stop>strong{display:grid;place-items:center;width:32px;height:32px;margin:0 auto 8px;border-radius:50%;background:#d5dec8;color:#4b6045;font-size:16px;border:1px solid #b5c6a4}.progress-stop.has-participants>strong{background:#edce7f;border-color:#c5a14c;color:#594515}.progress-stop.stop-finished.has-participants>strong{background:#386449;color:#fff;border-color:#386449}.progress-stop>span{display:block;font-size:9px;line-height:1.4;overflow-wrap:normal}.progress-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:10px;padding-bottom:9px;color:var(--muted)}.progress-legend>span{display:flex;gap:4px;align-items:center}.progress-legend b{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;font-size:11px}.step-done{background:#386449;color:white}.step-current{background:#edce7f;color:#604a17}.step-next{background:#f4f4e8;color:#687760;border:1px solid #b8c7a5}.map-scroll{max-height:530px;overflow:auto;scrollbar-width:thin;scrollbar-color:#a5b591 transparent;border-top:1px solid #becaaf;border-bottom:1px solid #becaaf;overscroll-behavior:contain}.map-list{list-style:none;padding:6px 3px;margin:0}.map-list li+li{border-top:1px solid #ced3ba}.map-list button{display:grid;align-items:center;gap:10px;width:100%;min-height:70px;padding:12px 6px;background:transparent;color:var(--ink);border:0;border-radius:10px;text-align:left;font:inherit;box-shadow:none;cursor:pointer}.map-list button:hover{background:#d7e1c299}.map-list button:focus-visible{outline:3px solid #98652c;outline-offset:-3px;background:#f6edce}.result-map-row{grid-template-columns:minmax(0,1.15fr) minmax(50px,1fr) 49px}.map-person{min-width:0}.map-person>strong{display:block;font-size:12px;line-height:1.35;font-weight:700;overflow-wrap:anywhere}.map-person>small{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:4px}.result-map-track{height:14px;border-radius:5px;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(33.333% - 1px),#9faf9470 calc(33.333% - 1px),#9faf9470 33.333%),#dce0ca;overflow:hidden}.result-map-track>span{display:block;height:100%;border-radius:5px;background:#507847}.map-score{text-align:right;font-size:18px;white-space:nowrap}.map-score>small{font-size:10px;color:var(--muted);font-weight:400}.progress-map-row{grid-template-columns:minmax(0,1fr) minmax(145px,1.3fr) 42px;row-gap:3px!important}.participant-trail{display:flex;justify-content:space-between;gap:3px;position:relative;isolation:isolate}.participant-trail::before{content:'';position:absolute;height:2px;background:#b5c5a2;left:8px;right:8px;top:50%;z-index:-1}.participant-stop{display:grid;place-items:center;width:24px;height:26px;border-radius:8px;font-size:12px;font-weight:700;flex-shrink:0}.map-progress-value{text-align:right}.map-progress-value strong{font-size:13px;display:block}.map-progress-value small{font-size:9px;color:var(--muted);display:block;font-weight:400}.participant-stage{grid-column:2/4;font-size:9px;color:var(--muted);font-weight:400}.map-note{font-size:10px;line-height:1.6;color:var(--muted);margin:12px 0 0}.map-empty{font-size:13px;padding:28px 12px;color:var(--muted);text-align:center}.teacher-details{margin:24px 0;border:1px solid #c4d0b4;border-radius:14px;padding:16px;background:#edf1e4}.teacher-details>summary{font-size:14px;min-height:26px;color:#34583e}.teacher-details[open]>summary{margin-bottom:20px}.ranking-panel .teacher-details{border:0;background:transparent;padding:0;margin-bottom:0}#student-detail{scroll-margin-top:20px}
@media(max-width:1100px){.teacher-maps-grid{grid-template-columns:1fr}.teacher-map{padding:24px}.result-map-row{grid-template-columns:minmax(130px,.75fr) minmax(100px,1.5fr) 58px}.progress-map-row{grid-template-columns:minmax(130px,.75fr) minmax(190px,1.5fr) 58px}.score-distribution{grid-template-columns:repeat(4,minmax(0,1fr));min-height:100px}.progress-distribution{min-height:100px}.progress-stop>span{font-size:11px}.map-person>strong{font-size:14px}.map-person>small{font-size:10px}.participant-stop{width:30px;height:30px;font-size:14px}.map-progress-value strong{font-size:15px}}
@media(max-width:600px){.maps-heading{align-items:flex-start;flex-direction:column;gap:10px}.maps-heading h2{font-size:25px}.maps-heading>p{max-width:none}.maps-filters{grid-template-columns:1fr;gap:12px}.teacher-map{padding:18px 12px;border-radius:18px}.map-heading h3{font-size:19px}.map-heading{gap:9px}.map-symbol{flex-basis:34px;height:36px;font-size:23px;border-radius:10px}.score-distribution{grid-template-columns:repeat(2,minmax(0,1fr));min-height:128px}.score-band>div:first-child{font-size:9px;gap:4px}.score-band small{display:none}.progress-stop>span{font-size:10px;line-height:1.4}.progress-stop>strong{width:24px;height:26px;font-size:13px}.progress-distribution{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 7px;min-height:165px}.progress-legend{font-size:9px;gap:8px}.result-map-row{grid-template-columns:minmax(0,1fr) 50px;row-gap:8px!important}.result-map-track{grid-row:2;grid-column:1/-1;height:12px}.map-score{grid-column:2;grid-row:1}.map-list button{padding:12px 5px}.map-person>strong{font-size:12px}.map-person>small{font-size:9px}.progress-map-row{grid-template-columns:minmax(0,1fr) 42px;row-gap:8px!important}.progress-map-row .map-person{grid-row:1;grid-column:1}.participant-trail{grid-row:2;grid-column:1/-1}.map-progress-value{grid-column:2;grid-row:1}.participant-stage{grid-row:3;grid-column:1/-1}.participant-stop{width:29px;height:29px}.map-note{font-size:9px}.map-scroll{max-height:490px}.teacher-details{padding:13px}.teacher-details>summary{font-size:13px}}
@media print{.maps-filters,.map-note{display:none}.teacher-maps-grid{grid-template-columns:1fr}.map-scroll{max-height:none;overflow:visible}.teacher-map{break-inside:avoid;box-shadow:none}.map-list button{color:black}}
