.student-progress-hero{align-items:stretch}
.student-progress-summary{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:9px;min-width:min(100%,420px)}
.student-progress-summary>div{display:grid;align-content:center;gap:4px;padding:18px;border:1px solid var(--line);border-radius:11px;background:rgba(4,18,29,.78)}
.student-progress-summary strong{color:var(--cyan);font:500 1.55rem Bahnschrift,sans-serif}
.student-progress-summary span{color:var(--muted);font-size:.56rem}
.student-progress-workspace{padding-block:24px 70px}
.student-progress-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:14px;padding:16px;border:1px solid var(--line);border-radius:13px;background:rgba(5,18,29,.78)}
.student-progress-filters label{display:grid;gap:6px}
.student-progress-filters label>span{color:#7894a6;font-size:.55rem;letter-spacing:.09em;text-transform:uppercase}
.student-progress-filters input,.student-progress-filters select{min-height:39px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#04121d;color:var(--text)}
.student-progress-filters__search{flex:1;min-width:190px}
.student-progress-legend{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:15px;color:var(--muted);font-size:.57rem}
.student-progress-legend i{display:inline-block;width:9px;height:9px;margin-right:4px;border-radius:50%}
.student-progress-legend__coverage{background:var(--cyan)}
.student-progress-legend__success{background:var(--green)}
.student-progress-table-wrap{max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:rgba(4,15,25,.76)}
.student-progress-table{width:100%;table-layout:fixed;border-collapse:collapse}
.student-progress-table th,.student-progress-table td{padding:10px 8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top}
.student-progress-table tr:last-child>*{border-bottom:0}
.student-progress-table tr>*:last-child{border-right:0}
.student-progress-table thead th{background:#071824;text-align:left}
.student-progress-table thead th:first-child{width:18%}
.student-progress-table thead th:not(:first-child){width:13.666%}
.student-progress-table thead th span{display:block;color:var(--cyan);font-size:.47rem}
.student-progress-table thead th strong{display:block;margin-top:3px;overflow-wrap:anywhere;font-size:.54rem}
.student-progress-table tbody>tr>th{background:#061621;text-align:left}
.student-progress-table tbody>tr>th a{display:block;overflow-wrap:anywhere;color:var(--text);font-size:.65rem;text-decoration:none}
.student-progress-table tbody>tr>th a:hover{color:var(--cyan)}
.student-progress-table tbody>tr>th small,.student-progress-table tbody>tr>th em{display:block;margin-top:5px;color:var(--muted);font-size:.48rem;font-style:normal}
.student-progress-table tbody>tr>th em{color:var(--amber)}
.student-progress-cell{display:grid;gap:6px;min-width:0}
.student-progress-cell>div:first-child,.student-progress-cell__success{display:flex;align-items:center;justify-content:space-between;gap:5px}
.student-progress-cell span,.student-progress-cell small{overflow-wrap:anywhere;color:var(--muted);font-size:.47rem}
.student-progress-cell strong{font-size:.6rem}
.student-progress-cell__success strong{color:var(--green)}
.student-progress-meter{height:4px;border-radius:4px;background:rgba(255,255,255,.07);overflow:hidden}
.student-progress-meter span{display:block;height:100%;background:var(--cyan)}
@media(max-width:900px){
  .student-progress-table-wrap{overflow:visible;border:0;background:transparent}
  .student-progress-table,.student-progress-table tbody{display:block}
  .student-progress-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .student-progress-table tbody{display:grid;gap:14px}
  .student-progress-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid var(--line);border-radius:12px;background:rgba(4,15,25,.76)}
  .student-progress-table tbody>tr>th{grid-column:1/-1;width:auto;padding:14px;border-right:0;background:#071824}
  .student-progress-table td{display:grid;gap:8px;width:auto;padding:12px;border-right:1px solid var(--line)}
  .student-progress-table td:nth-of-type(even){border-right:0}
  .student-progress-table td:before{content:attr(data-module);color:var(--cyan);font-size:.52rem;font-weight:700}
  .student-progress-table tr:last-child>*{border-bottom:1px solid var(--line)}
  .student-progress-table td:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:760px){
  .student-progress-summary{grid-template-columns:1fr;min-width:0;width:100%}
  .student-progress-filters{align-items:stretch;flex-direction:column}
  .student-progress-filters label,.student-progress-filters__search,.student-progress-filters .button{width:100%}
}
@media(max-width:520px){
  .student-progress-table tbody tr{grid-template-columns:1fr}
  .student-progress-table td{border-right:0}
  .student-progress-table td:nth-last-child(2){border-bottom:1px solid var(--line)}
}
