.gradebook{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.gradebook th{position:sticky;top:0;z-index:5;background:#123b5d;color:#fff;min-width:125px}.gradebook th small{display:block;color:#dbeafe;text-transform:none}.gradebook th:first-child,.gradebook td:first-child{position:sticky;left:0;z-index:6;min-width:230px}.gradebook td:first-child{background:#f8fafc;box-shadow:3px 0 5px #123b5d1f}.grade-input{min-width:76px;padding:.48rem;text-align:center;font-weight:800}.grade-input.nota-baja{background:#fee2e2;border:2px solid #dc2626;color:#991b1b}.grade-input.nota-aprobada{background:#dbeafe;border:2px solid #93c5fd;color:#123b5d}.gradebook td:last-child strong{color:#123b5d;font-size:1.05rem}.grade-toolbar{display:flex;gap:.7rem;align-items:end;flex-wrap:wrap;padding:1rem;margin-bottom:1rem;border:1px solid #b9d4f5;border-radius:.8rem;background:#f6faff}.grade-toolbar label{max-width:220px}.grade-toolbar button{margin-bottom:.5rem}.table-shell:has(.gradebook){max-height:68vh;overflow:auto;border:2px solid #123b5d}
.activity-list{display:grid;gap:.6rem}.activity-item{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:end;padding:.65rem;border:1px solid #dce5ee;border-radius:.7rem;background:#f8fafc}.activity-item form{margin:0}@media(max-width:650px){.activity-item{grid-template-columns:1fr}.gradebook th:first-child,.gradebook td:first-child{min-width:175px}}
.recovery-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem;border:1px solid #dce5ee;border-radius:.7rem;margin-top:.65rem}.recovery-option span,.recovery-option small{display:block}.recovery-option small{color:#607086}
.autosave-status{display:inline-flex;align-items:center;min-height:34px;padding:.45rem .75rem;border-radius:999px;background:#e7f6ee;color:#166534;font-size:.82rem;font-weight:800}.autosave-status.guardando{background:#fff5d6;color:#7a5100}.autosave-status.error{background:#fee2e2;color:#991b1b}.grade-input.guardando{box-shadow:0 0 0 3px #f59e0b47}.grade-input.guardada{box-shadow:0 0 0 3px #22c55e40}.grade-input.error-guardado{box-shadow:0 0 0 3px #dc262647}.grade-input.pendiente-guardado{box-shadow:0 0 0 3px #3b82f63d}.gradebook tr.fila-activa td{background:#eef6ff}.summary-final.nota-baja,.gradebook td strong.nota-baja{color:#b00020}.summary-final.nota-aprobada,.gradebook td strong.nota-aprobada{color:#0a2b5c}
