.student-entry input{min-width:190px;margin:0!important}.student-entry td{padding:9px}.student-entry td:first-child input{min-width:220px}.choice-list{border:1px solid var(--border);border-radius:10px;padding:16px;margin:18px 0;min-width:0}.choice-list legend{font-weight:700}.choice-options{max-height:300px;overflow-y:auto}.choice-options label{padding:8px;border-bottom:1px solid var(--border);font-weight:400;overflow-wrap:anywhere}.choice-options input{flex-shrink:0}.student-entry button{white-space:nowrap}.table-wrap{overflow-x:auto}#bulk-feedback{font-size:13px}#batch-form .notice{font-size:14px}
.question-map .study-correct{background:#dff0d7;color:#155c39;border-color:#84ad7b}
.question-map .study-incorrect{background:#f8deda;color:#8d2920;border-color:#c9766c}
.question-map .pending{background:#fff}
.study-feedback{padding:16px;border-radius:10px;margin-top:18px;border:1px solid}
.study-feedback.study-correct{background:#e6f2db;color:#155c39;border-color:#84ad7b}
.study-feedback.study-incorrect{background:#f9e6e3;color:#82342c;border-color:#c9766c}
.question-map .answered{background:#e7ecf0;color:#34454e}
.review-answer{cursor:default;margin:14px 0}
.review-answer strong{font-size:13px}
.review-answer.review-right{background:#e6f2db;color:#155c39;border-color:#84ad7b}
.review-answer.review-wrong{background:#f9e6e3;color:#82342c;border-color:#c9766c}
.review-explanation{border-top:1px solid #d9e1d8;padding-top:16px;margin-top:24px}
.review-nav{display:inline-block;border:1px solid #bdc9c1;border-radius:9px;padding:12px 18px;text-decoration:none;min-height:44px;background:white}
.review-navigation{flex-wrap:wrap}
.review-map a{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #bdc9c1;border-radius:9px;text-decoration:none;font-weight:600}

.assigned-tests-wrap{padding:8px 12px;margin-bottom:10px;min-width:0}
.assigned-tests{width:100%;min-width:0;table-layout:fixed}
.assigned-test-col{width:50%}.assigned-mode-col{width:25%}.assigned-action-col{width:25%}
.assigned-tests th,.assigned-tests td{padding:12px 8px;overflow-wrap:anywhere}
.assigned-tests th[scope=row]{font-size:14px;color:var(--ink);font-weight:400;min-width:0}
.assigned-tests td{vertical-align:middle}
.assigned-tests form{margin:0;min-width:0}
.assigned-tests button{max-width:100%;white-space:normal;padding:10px 12px}
.assigned-tests select{width:100%;min-width:0;max-width:180px;min-height:44px;margin:0;padding:8px 4px}
.assigned-tests td small{display:block;margin-top:4px}
.assigned-mode-label{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:800px){.assigned-tests-wrap{padding:4px}.assigned-test-col{width:36%}.assigned-mode-col{width:34%}.assigned-action-col{width:30%}.assigned-tests th,.assigned-tests td{padding:10px 4px}.assigned-tests button{width:100%;font-size:13px;padding:8px 4px}.assigned-tests th[scope=row]{font-size:13px}}

.student-home{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px;align-items:stretch}
.student-home a{display:flex;flex-direction:column;gap:14px;background:white;border:1px solid var(--border);border-radius:14px;padding:24px;text-decoration:none;font-size:16px;overflow-wrap:anywhere}
.student-home strong{font-size:22px}.student-home a>span{color:var(--muted)}.student-home a>span:last-child{color:var(--green);font-size:24px;margin-top:auto}.student-home a:hover{background:#edf5e6}
.student-sections{gap:12px;margin:22px 0 28px}.student-sections a{border:1px solid var(--border);border-radius:9px;padding:10px 14px;min-height:44px;background:white}.student-sections a[aria-current=page]{background:var(--green);color:white}
.history-entry{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:20px;align-items:center}.history-entry h2{font-size:18px;margin:0 0 6px;overflow-wrap:anywhere}.history-entry p{margin:4px 0}.history-entry a{text-align:center}
.statistics-filter{display:flex;align-items:end;gap:18px}.statistics-filter label{flex:1;min-width:0}.statistics-filter button{flex-shrink:0}
.statistics-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.statistics-metrics .card{padding:20px;margin:0;min-width:0;overflow-wrap:anywhere}.statistics-metrics strong{font-size:30px;display:block}.statistics-metrics span,.statistics-metrics small{display:block;color:var(--muted);font-size:13px}
.evolution-chart{display:block;width:100%;height:auto}.chart-grid{stroke:#dce3dd;stroke-width:1}.chart-line{fill:none;stroke:#17644e;stroke-width:3;stroke-linejoin:round}.chart-point{fill:#17644e}.chart-label{font-size:15px;fill:#60716b}
.evolution-details{margin-top:12px}.evolution-details summary{cursor:pointer;min-height:44px;padding:10px 0}.evolution-details a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--border);text-decoration:none}.evolution-details span{min-width:0;overflow-wrap:anywhere}.evolution-details strong{flex-shrink:0}
.topic-performance article{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:22px;padding:20px 0;border-top:1px solid var(--border);overflow-wrap:anywhere}.topic-performance p{margin:5px 0}.topic-performance progress{display:block;margin:8px 0}
.simulation-summary{display:flex;flex-wrap:wrap;gap:18px;padding:12px 0 20px}.simulation-list article{display:grid;grid-template-columns:minmax(0,1fr) 90px 100px;gap:14px;align-items:center;padding:16px 0;border-top:1px solid var(--border);overflow-wrap:anywhere}.simulation-pass{color:#155c39}.simulation-fail{color:#8d2920}
@media(max-width:800px){.student-home{grid-template-columns:1fr}.student-home a{padding:20px;gap:8px}.student-home a>span:last-child{align-self:end;font-size:20px}.history-entry{grid-template-columns:minmax(0,1fr);gap:12px}.history-entry a{justify-self:start}.statistics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.statistics-metrics .card{padding:14px}.statistics-metrics strong{font-size:26px}.statistics-filter{flex-direction:column;align-items:stretch}.topic-performance article{grid-template-columns:1fr;gap:10px}.simulation-list article{grid-template-columns:minmax(0,1fr) 80px}.simulation-list article>span{grid-column:1/-1}.student-sections{gap:8px}.student-sections a{padding:9px 10px}}

@media(max-width:800px){.evolution-chart .chart-label{font-size:32px}}

.assigned-status-uncompleted{--result-band:#8b949e}.assigned-status-low{--result-band:#c43c36}.assigned-status-medium{--result-band:#de820d}.assigned-status-high{--result-band:#21824f}
.assigned-tests tbody th[scope=row]{border-left:12px solid var(--result-band,#8b949e)}
.assigned-status-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:12px;margin:12px 0}
.assigned-status-legend span{display:inline-flex;align-items:center;gap:6px}
.assigned-status-legend span::before{content:"";display:inline-block;width:5px;height:18px;border-radius:2px;background:var(--result-band)}

.live-code{font-size:28px;letter-spacing:3px;overflow-wrap:anywhere}.live-connection{font-size:13px;padding:10px 14px;border:1px solid var(--border);border-radius:8px;background:white}.live-students{min-width:760px}.live-students td{overflow-wrap:anywhere}.live-own-score{font-size:36px;color:var(--green)}.live-panel details{border-bottom:1px solid var(--border);padding:12px 0}.live-panel summary{cursor:pointer;min-height:44px;padding:10px 0}.live-panel p{overflow-wrap:anywhere}.live-attempt{margin-bottom:18px}

.live-race-lane{margin:18px 0 26px}.live-race-label{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:14px;overflow-wrap:anywhere}.live-race-label span{font-size:13px;color:var(--muted)}.live-race-track{position:relative;height:36px;border-bottom:4px solid #cdd8d0;margin:0 20px 10px}.live-race-track::after{content:"🏁";position:absolute;right:-18px;bottom:-14px;font-size:22px}.live-race-marker{position:absolute;bottom:-12px;font-size:28px;transform:translateX(-50%);transition:left 1.2s ease;z-index:1}.live-race-offline .live-race-marker{opacity:.55}@media(prefers-reduced-motion:reduce){.live-race-marker{transition:none}}

[data-live-race]{max-height:520px;overflow-y:auto;padding:0 4px}

.assigned-tests form button+button{margin-top:8px}

/* Navigation tiles: one action per screen, with a visible raised edge. */
.action-tiles,.student-home.action-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:24px 0 32px}
.action-tiles .action-tile,.student-home.action-tiles .action-tile{aspect-ratio:1;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center;text-decoration:none;color:var(--green);background:linear-gradient(145deg,#fff 5%,#f0f5ed 100%);border:1px solid #b9cbbf;border-bottom:5px solid #a3b7a7;border-radius:20px;box-shadow:0 7px 0 #d4ded1,0 12px 18px #183a2512,inset 0 2px 0 #fff;transition:transform .15s,box-shadow .15s}
.action-tiles .action-tile:hover{transform:translateY(-3px);background:linear-gradient(145deg,#fff,#e3efd9);box-shadow:0 10px 0 #c4d1c1,0 16px 20px #183a2519,inset 0 2px 0 #fff}
.action-tiles .action-tile:active{transform:translateY(5px);box-shadow:0 2px 0 #c4d1c1,0 3px 6px #183a2512}
.action-tiles .action-tile strong{font-size:17px;line-height:1.3;overflow-wrap:anywhere;max-width:100%}
.action-tiles .tile-icon{display:block!important;width:42px;height:42px;color:var(--green)}
.tile-icon svg{display:block;width:100%;height:100%}
.student-home.action-tiles .action-tile>span:not(.tile-icon){display:none}
.admin-back{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin:12px 0 20px;font-size:14px}
.admin-back a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--border);border-radius:9px;background:#fff;text-decoration:none}
.admin-back [aria-current]{color:var(--muted)}
@media(max-width:800px){.action-tiles,.student-home.action-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.action-tiles .action-tile,.student-home.action-tiles .action-tile{padding:14px;gap:13px;border-radius:16px}.action-tiles .action-tile strong{font-size:14px}.action-tiles .tile-icon{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){.action-tiles .action-tile{transition:none}.action-tiles .action-tile:hover,.action-tiles .action-tile:active{transform:none}}
