.academic-record-tabs{margin-bottom:14px}
.academic-student-matrix-card{padding:0;overflow:hidden}
.academic-student-matrix-scroll{max-width:100%;max-height:min(806px,calc(100dvh - 260px));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.academic-student-matrix{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;background:var(--surface)}
.academic-student-matrix th,.academic-student-matrix td{min-width:146px;height:72px;padding:8px;border-right:1px solid var(--border-light);border-bottom:1px solid var(--border-light);vertical-align:middle}
.academic-student-matrix thead th{position:sticky;z-index:4;top:0;height:86px;background:var(--bg-secondary);text-align:left}
.academic-student-matrix tr:last-child>*{border-bottom:0}.academic-student-matrix tr>*:last-child{border-right:0}
.academic-student-matrix thead th:first-child,.academic-student-matrix tbody th{position:sticky;z-index:5;left:0;min-width:190px;background:var(--surface);box-shadow:5px 0 12px -12px var(--text-primary)}
.academic-student-matrix thead th:first-child{z-index:7;background:var(--bg-secondary)}
.academic-sortable-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}.academic-record-open{display:grid;min-width:0;flex:1;gap:3px;padding:0;border:0;background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.academic-record-open span{color:var(--primary);font-size:10px}.academic-record-open strong{max-width:138px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.academic-record-open small{color:var(--text-tertiary);font-size:10px}.academic-student-sort-head{display:flex;align-items:center;justify-content:space-between;gap:7px}.student-sort-button{display:grid;width:22px;min-width:22px;padding:1px 3px;border:0;border-radius:6px;background:transparent;color:var(--text-tertiary);font:inherit;line-height:1;cursor:pointer}.student-sort-button:hover,.student-sort-button:focus-visible{outline:none;background:var(--primary-bg);color:var(--primary)}.student-sort-button i{height:8px;font-size:8px;font-style:normal;opacity:.32}.student-sort-button i.active{color:var(--primary);opacity:1}.student-sort-button.is-active{background:color-mix(in srgb,var(--primary) 9%,transparent)}
.academic-student-name{display:flex;align-items:center;gap:9px}.academic-student-name .avatar{width:32px;height:32px;flex:none}.academic-student-name>span{display:grid;gap:2px;min-width:0}.academic-student-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-student-name small{color:var(--text-tertiary);font-size:10px}
.academic-task-cell{background:var(--surface);transition:background .15s,box-shadow .15s}.academic-task-cell input,.academic-task-cell select{width:100%;height:34px;padding:5px 7px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary);font:inherit;font-size:12px}.academic-task-cell small{display:block;max-width:132px;margin-top:4px;overflow:hidden;color:var(--text-tertiary);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.academic-task-cell.is-empty{color:var(--text-tertiary);text-align:center}.academic-task-cell.result-success{background:color-mix(in srgb,var(--success) 9%,var(--surface))}.academic-task-cell.result-teal{background:color-mix(in srgb,#14b8a6 9%,var(--surface))}.academic-task-cell.result-blue{background:color-mix(in srgb,#3b82f6 9%,var(--surface))}.academic-task-cell.result-warning{background:color-mix(in srgb,var(--warning) 10%,var(--surface))}.academic-task-cell.result-orange{background:color-mix(in srgb,#f97316 9%,var(--surface))}.academic-task-cell.result-danger{background:color-mix(in srgb,var(--danger) 8%,var(--surface))}
.academic-cell-toggle{display:flex;width:100%;align-items:center;justify-content:center;gap:6px;padding:7px;border:0;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}.academic-cell-toggle svg{width:15px;height:15px}.result-success .academic-cell-toggle{color:var(--success);font-weight:700}
.academic-student-focus>*{animation:academic-student-focus 2.2s ease}.academic-student-focus>th{z-index:6}
@keyframes academic-student-focus{15%,70%{background:color-mix(in srgb,var(--primary) 18%,var(--surface));box-shadow:inset 0 0 0 2px var(--primary)}}
.academic-grade-students{padding:0;overflow:hidden}.academic-grade-students .table-wrap{margin:0}.academic-grade-students td{vertical-align:middle}.academic-grade-students thead .academic-student-sort-head{min-width:126px}.academic-grade-students thead th:first-child .academic-student-sort-head{min-width:170px}.academic-grade-students td:last-child{text-align:right}.academic-trend-cell{width:300px;min-width:220px}.academic-grade-sparkline{display:block;width:260px;max-width:100%;height:62px}.academic-grade-sparkline path{fill:none;stroke:var(--border-light);stroke-width:1}.academic-grade-sparkline polyline{fill:none;stroke:var(--primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.academic-grade-sparkline circle{fill:var(--surface);stroke:var(--primary);stroke-width:2}.academic-trend-empty{color:var(--text-tertiary);font-size:12px}.exam-entry-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:11px 13px;border-radius:10px;background:var(--primary-bg);color:var(--primary-dark);font-size:12px}.exam-entry-table{max-height:58vh}.academic-grade-input{width:96px}
.academic-student-list-scroll{max-height:min(806px,calc(100dvh - 260px));overflow:auto!important;overscroll-behavior:contain}
@media(max-width:768px){.academic-student-matrix-scroll{max-height:none;overflow:visible}.academic-student-matrix th,.academic-student-matrix td{min-width:128px}.academic-student-matrix thead th:first-child,.academic-student-matrix tbody th{min-width:154px}.academic-trend-cell{min-width:180px}.academic-grade-sparkline{width:200px}.academic-grade-students th:nth-child(3),.academic-grade-students td:nth-child(3){display:none}}
@media(prefers-reduced-motion:reduce){.academic-student-focus>*{animation:none;background:var(--primary-bg);box-shadow:inset 0 0 0 2px var(--primary)}}
.academic-mobile-student{display:grid;gap:12px}.academic-mobile-student-nav{position:sticky;z-index:20;top:0;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:end;gap:8px;padding:10px;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:var(--shadow-sm);backdrop-filter:blur(14px)}.academic-mobile-student-nav label{display:grid;gap:4px;min-width:0}.academic-mobile-student-nav label>span{color:var(--text-tertiary);font-size:10px;font-weight:700}.academic-mobile-student-nav .icon-button{width:38px;height:38px;font-size:24px}.academic-mobile-student-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.academic-mobile-student-summary>div,.academic-mobile-student-summary>span{display:grid;gap:2px}.academic-mobile-student-summary>span{text-align:right}.academic-mobile-student-summary small{color:var(--text-tertiary);font-size:10px}.academic-mobile-records{display:grid;gap:9px}.academic-mobile-record{display:grid;grid-template-columns:minmax(0,1fr) minmax(116px,.65fr);align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.academic-mobile-record.is-empty{display:block;color:var(--text-tertiary)}.academic-mobile-record.is-empty header{display:grid;gap:3px}.academic-mobile-record.is-empty p{margin:7px 0 0;font-size:12px}.academic-mobile-record-title{display:grid;gap:3px;min-width:0;padding:0;border:0;background:transparent;color:var(--text-primary);font:inherit;text-align:left}.academic-mobile-record-title span{color:var(--primary);font-size:10px}.academic-mobile-record-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.academic-mobile-record-title small{color:var(--text-tertiary);font-size:10px}.academic-mobile-record-value{display:grid;gap:4px}.academic-mobile-record-value input,.academic-mobile-record-value select{width:100%;height:36px;padding:5px 8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-primary)}.academic-mobile-record-value>small{color:var(--text-tertiary);font-size:10px;text-align:right}@media(max-width:380px){.academic-mobile-record{grid-template-columns:1fr}.academic-mobile-record-value>small{text-align:left}}
.academic-mobile-exam-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.academic-mobile-exam-overview>span{display:grid;gap:4px;padding:11px;border-radius:11px;background:var(--bg-secondary)}.academic-mobile-exam-overview small{color:var(--text-tertiary);font-size:10px}.academic-mobile-exam-score{display:grid;justify-items:end;gap:3px}.academic-mobile-exam-score strong{color:var(--primary);font-size:22px}.academic-mobile-exam-score small{color:var(--text-tertiary);font-size:10px}.academic-mobile-chart{padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
