.notas-page .admin-page {
  max-width: 1600px;
  padding: 32px 3vw;
}
.nota-panel {
  background: #fff;
  border: 1px solid #cfdef3;
  border-radius: 10px;
  padding: 24px;
  margin: 20px 0;
  min-width: 0;
  scroll-margin-top: 96px;
}
.nota-panel h2 { color: #243c98; margin-top: 0; }
.nota-grid { display: flex; gap: 14px; flex-wrap: wrap; align-items: end; margin: 18px 0; }
.nota-grid > label { flex: 1 1 240px; min-width: 0; }
.nota-grid label { display: flex; flex-direction: column; gap: 7px; font-weight: 600; color: #4b6686; }
.nota-grid input, .nota-grid select {
  width: 100%; min-width: 0; min-height: 46px; padding: 10px 12px;
  border: 1px solid #cfdef3; border-radius: 6px; background: #fff; color: #112b48;
}
.nota-grid select { text-overflow: ellipsis; }
.nota-grid > div { flex: 1 1 240px; min-width: 0; }
#enrolledFilters { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto; }
#enrolledFilters .button { white-space: nowrap; min-height: 46px; }
#enrolledStatus, #reportSelection, #student { color: #4b6686; line-height: 1.65; }
.nota-check { display: flex !important; flex-direction: row !important; align-items: start; gap: 10px; margin: 14px 0; font-weight: 400 !important; }
.nota-check input { width: auto; min-height: 0; margin-top: 4px; flex-shrink: 0; }
.nota-info { background: #edf4fc; border-left: 4px solid #253e9b; padding: 16px 18px; border-radius: 6px; line-height: 1.65; }
.message[data-error="true"] { background: #ffeded; color: #a21c26; }
.nota-panel .table-wrap { width: 100%; border: 1px solid #d5e0f1; border-radius: 8px; overflow-x: auto; }
.nota-panel table { width: 100%; border-collapse: collapse; table-layout: fixed; min-width: 850px; }
.nota-panel .nota-students-table { min-width: 1120px; }
.nota-col-student { width: 22%; }
.nota-col-course { width: 21%; }
.nota-col-unit { width: 18%; }
.nota-col-status { width: 10%; }
.nota-col-moodle { width: 16%; }
.nota-col-action { width: 13%; }
.nota-panel th, .nota-panel td {
  padding: 16px; border-bottom: 1px solid #d5e0f1;
  text-align: left; vertical-align: top; word-break: normal; overflow-wrap: break-word;
}
/* The shared stylesheet reserves the first column for a 46px checkbox. */
.nota-panel th:first-child, .nota-panel td:first-child { width: auto; text-align: left; }
.nota-panel th { background: #f4f7fc; font-size: .75rem; font-weight: 700; line-height: 1.5; }
.nota-panel tbody tr { cursor: default; }
.nota-panel tbody tr:last-child td { border-bottom: 0; }
.nota-panel td .button { padding: 10px 12px; min-height: 42px; width: 100%; line-height: 1.4; }
.nota-students-table td:nth-child(4) { white-space: nowrap; }
.nota-panel small { display: block; color: #526b87; margin-top: 6px; font-size: .8rem; line-height: 1.55; }
.nota-pagination { align-items: center; justify-content: flex-end; margin-bottom: 0; }
#enrolledPagination { color: #526b87; text-align: center; }
#summary { background: #edf4fc; border-radius: 6px; padding: 18px; line-height: 1.8; overflow-wrap: break-word; }
#summary ul { margin: 12px 0; padding-left: 22px; }
#student { scroll-margin-top: 100px; }
[hidden] { display: none !important; }
@media (max-width: 1199px) {
  #enrolledFilters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #enrolledFilters .button { width: 100%; }
}
@media (max-width: 760px) {
  .notas-page .admin-page { padding: 24px 16px; }
  .nota-panel { padding: 16px; }
  #enrolledFilters { grid-template-columns: 1fr 1fr; }
  #enrolledFilters > label:nth-child(3) { grid-column: 1 / -1; }
  .nota-grid > .button { width: 100%; }
  .nota-pagination { display: grid; grid-template-columns: 1fr auto 1fr; gap: 8px; }
  .nota-info .button { width: 100%; }
}
@media (max-width: 440px) {
  #enrolledFilters { grid-template-columns: 1fr; }
  #enrolledFilters > label:nth-child(3) { grid-column: auto; }
  .nota-panel th, .nota-panel td { padding: 12px; }
}
.nota-batch-table { min-width: 1020px !important; }
.nota-batch td:nth-child(3), .nota-batch td:nth-child(4), .nota-batch td:nth-child(5) { font-variant-numeric: tabular-nums; }
.nota-batch-counters { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
.nota-batch-counters span { background:#edf4fc; border-radius:6px; padding:10px 14px; }
.nota-individual-details { margin:24px 0; }
.nota-individual-details > summary { cursor:pointer; color:#243c98; background:#e7eff9; padding:18px; border-radius:8px; font-weight:700; }
.nota-batch details { margin:10px 0; }
.nota-batch details summary { cursor:pointer; color:#243c98; }
.nota-batch details ul { padding-left:18px; }
