.teacher-module-nav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 16px;
}
.teacher-module-nav a,.teacher-module-nav button {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 10px 13px;
  color: var(--navy);
  font-size: 12px;
  font-weight: 800;
}
.teacher-module-nav button { cursor:pointer;font:inherit; }
.teacher-module-nav button.is-active { color:var(--green);border-color:#9fcbb0;background:#f2fbf5; }
.teacher-toggle-panel:not(.is-open) { display:none !important; }
.class-group-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.class-student-group {
  border: 1px solid #dfe7f0;
  border-radius: 12px;
  background: #fbfdff;
  overflow: hidden;
}
.class-student-group > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  cursor: pointer;
  color: var(--navy);
  font-weight: 800;
  list-style: none;
}
.class-student-group > summary::-webkit-details-marker { display: none; }
.class-student-group[open] > summary { border-bottom: 1px solid #e4eaf1; }
.class-student-group table { background: #fff; }
.class-student-group td, .class-student-group th { padding: 9px; }
@media (max-width: 760px) {
  .class-group-grid { grid-template-columns: 1fr; }
  .teacher-module-nav { flex-wrap: nowrap; overflow-x: auto; }
  .teacher-module-nav a,.teacher-module-nav button { white-space: nowrap; }
}
.class-attendance-panel { grid-column: 1 / -1; }
.attendance-date-loader { display: flex; align-items: end; gap: 10px; margin-bottom: 14px; }
.attendance-date-loader label { color: var(--navy); font-size: 12px; font-weight: 800; }
.attendance-date-loader input { display: block; margin-top: 5px; padding: 9px; border: 1px solid #bdccde; border-radius: 8px; }
.attendance-class-list { display: grid; gap: 10px; }
.class-attendance-card { border: 1px solid #dfe7f0; border-radius: 11px; overflow: hidden; }
.class-attendance-card > summary { display: flex; justify-content: space-between; align-items: center; padding: 13px; cursor: pointer; list-style: none; background: #f7faff; }
.class-attendance-card > summary::-webkit-details-marker { display: none; }
.class-attendance-card > form { padding: 12px; }
.attendance-actions { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; color: var(--muted); font-size: 12px; }
.attendance-register small { display: block; margin-top: 3px; color: var(--muted); }
.attendance-status { min-width: 120px; padding: 8px; border: 1px solid #bdccde; border-radius: 8px; background: #fff; }
.attendance-status.status-absent { border-color: #d66; background: #fff2f2; }
.attendance-status.status-late { border-color: #d6a93c; background: #fff9e8; }
.attendance-save { margin-top: 12px; }
.class-homework-list,.class-result-list { display: grid; gap: 10px; margin-top: 16px; }
.class-homework-group,.class-result-card { border: 1px solid #dfe7f0; border-radius: 11px; overflow: hidden; }
.class-homework-group > summary,.class-result-card > summary { display: flex; justify-content: space-between; align-items: center; padding: 13px; cursor: pointer; list-style: none; background: #f7faff; }
.class-homework-group > div,.class-result-card > form { padding: 12px; }
.homework-history-item { padding: 10px 0; border-bottom: 1px solid #edf1f6; }
.homework-history-item:last-child { border-bottom: 0; }
.homework-history-item p { margin: 5px 0; color: var(--muted); }
.class-results-panel { grid-column: 1 / -1; }
.result-heading-fields { display: grid; grid-template-columns: 1fr 1fr 160px; gap: 10px; margin-bottom: 12px; }
.result-heading-fields label { color: var(--navy); font-size: 12px; font-weight: 800; }
.result-heading-fields input,.result-mark-input { display: block; width: 100%; margin-top: 5px; padding: 9px; border: 1px solid #bdccde; border-radius: 8px; }
.class-result-card td small { display: block; color: var(--muted); margin-top: 3px; }
.result-mark-input { max-width: 170px; margin: 0; }
.result-save { margin-top: 12px; }
@media (max-width: 650px) { .result-heading-fields { grid-template-columns: 1fr; } }
.student-progress-page{max-width:1280px;margin:auto;padding:32px 22px 70px;background:var(--bg);min-height:calc(100vh - 80px)}.progress-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.progress-topbar nav{display:flex;gap:8px}.progress-topbar nav a{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 12px;color:var(--navy);font-weight:800}.progress-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,#fff,#eaf3ff);border:1px solid #d8e4f2;border-radius:17px;padding:23px;margin-bottom:14px}.progress-hero h1{font:700 34px Georgia,serif;color:var(--navy);margin:6px 0}.progress-hero p{margin:0;color:var(--muted)}.progress-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:15px}.progress-metrics>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.progress-metrics span{display:block;color:var(--muted);font-size:12px}.progress-metrics strong{display:block;color:var(--navy);font-size:21px;margin-top:5px}.progress-edit-form input,.progress-edit-form select{width:90px;padding:7px;border:1px solid #bdccde;border-radius:7px;background:#fff}.progress-edit-form{flex-wrap:nowrap}@media(max-width:650px){.student-progress-page{padding:22px 12px 55px}.progress-metrics{grid-template-columns:1fr 1fr}.progress-topbar,.progress-hero{align-items:flex-start;flex-direction:column}}
