.attendanceModuleTitle{align-items:flex-start}.attendanceOfflineEntry{display:flex;flex-direction:column;align-items:center;gap:.32rem;min-width:230px}.attendanceOfflineEntry small{font-size:.72rem;opacity:.72}.attendanceWorkflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin:1rem 0}.attendanceWorkflow article{display:grid;grid-template-columns:auto 1fr;gap:.15rem .65rem;align-items:center;padding:1rem;border:1px solid color-mix(in srgb,var(--accent,#d9a13a) 35%,transparent);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel,#10263b) 92%,#d9a13a 8%),var(--panel,#10263b))}.attendanceWorkflow b{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d9a13a;color:#061426}.attendanceWorkflow strong{font-size:.92rem}.attendanceWorkflow span{font-size:.76rem;line-height:1.35;opacity:.78}.moduleRule{padding:.8rem 1rem;border-left:4px solid #d9a13a;border-radius:8px;background:#d9a13a17}.attendanceAdminGrid,.attendanceDetailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.attendanceCreateCard,.rosterCard{margin:0}.compactDrop{min-height:120px}.attendanceDashboardCard{margin:1rem 0;padding:1rem;border:1px solid var(--line,#ffffff21);border-radius:18px;background:var(--panel,#10263b)}.attendanceEventsList{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem}.attendanceEventCard{display:flex;flex-direction:column;gap:.55rem;min-height:190px;padding:1rem;border:1px solid #d9a13a45;border-radius:15px;background:linear-gradient(145deg,#071d35,#0b2a45);color:#fff}.attendanceEventCard h5{margin:0;font-size:1.02rem}.attendanceEventCard p{margin:0;color:#d1dfeb;font-size:.78rem}.attendanceEventCardTop,.attendanceEventCardStats{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.attendanceSessionCode{padding:.28rem .48rem;border:1px solid #d9a13a66;border-radius:.5rem;color:#f0c25c;font-weight:800;letter-spacing:.06em}.attendanceState{padding:.25rem .48rem;border-radius:999px;background:#f0c25c;color:#071d35;font-size:.67rem;font-weight:900;text-transform:uppercase}.attendanceState.finished,.attendanceState.cancelled{background:#758497;color:#fff}.attendanceState.upcoming{background:#fff;color:#071d35}.attendanceEventCardStats span{font-size:.72rem;color:#d5e0eb}.attendanceEventCardStats strong{font-size:1.35rem;color:#fff}.attendanceEventCard button{margin-top:auto}.attendanceEventDetail{margin-top:1rem}.attendanceDetailHeading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:1rem;border-radius:18px;background:linear-gradient(135deg,#071d35,#0c3153);color:#fff}.attendanceDetailHeading h4{margin:.3rem 0;font-size:clamp(1.3rem,3vw,2rem)}.attendanceDetailHeading p{margin:0;color:#d4e0eb}.attendanceBigCount{display:flex;flex-direction:column;align-items:flex-end}.attendanceBigCount strong{font-size:2.8rem;color:#f0c25c}.attendanceBigCount span{font-size:.72rem;text-transform:uppercase}.attendanceActionGrid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:.6rem;margin:.85rem 0}.shareResult{padding:1rem;border:1px solid #d9a13a55;border-radius:14px;background:#d9a13a12}.shareResult>p{margin:.3rem 0 .7rem}.shareResult>div{display:grid;grid-template-columns:1fr auto auto;gap:.5rem}.inlineSearch{display:grid;grid-template-columns:1fr auto;gap:.5rem}.studentPicker{display:grid;gap:.45rem;margin-top:.65rem;max-height:270px;overflow:auto}.studentPicker button{display:grid;grid-template-columns:1fr auto;gap:.2rem .6rem;text-align:left;padding:.7rem;border:1px solid var(--line,#ffffff21);border-radius:10px;background:transparent;color:inherit;cursor:pointer}.studentPicker button span{grid-column:1/-1;font-size:.72rem;opacity:.75}.validationBar{display:flex;align-items:center;gap:.7rem;margin:1rem 0;padding:1rem;border:1px solid var(--line,#ffffff21);border-radius:15px;background:var(--panel,#10263b)}.validationBar>div{margin-right:auto}.validationBar p{margin:.2rem 0 0;font-size:.78rem;opacity:.8}.attendanceReviewValid{color:#35c994;font-weight:800}.attendanceReviewIncident{color:#ffb458;font-weight:800}.attendanceReviewPending{color:#9db2c6;font-weight:800}
@media(max-width:980px){.attendanceWorkflow{grid-template-columns:repeat(2,minmax(0,1fr))}.attendanceActionGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendanceActionGrid .primaryButton{grid-column:1/-1}.validationBar{align-items:stretch;flex-direction:column}.validationBar>div{margin:0}.validationBar button{width:100%}}
@media(max-width:680px){.attendanceWorkflow,.attendanceAdminGrid,.attendanceDetailGrid{grid-template-columns:1fr}.attendanceWorkflow article{padding:.8rem}.attendanceEventsList{grid-template-columns:1fr}.attendanceDetailHeading{align-items:flex-start;flex-direction:column}.attendanceBigCount{align-items:flex-start}.attendanceActionGrid{grid-template-columns:1fr}.attendanceActionGrid .primaryButton{grid-column:auto}.shareResult>div{grid-template-columns:1fr}.shareResult a,.shareResult button{width:100%;text-align:center}.inlineSearch{grid-template-columns:1fr}.attendanceOfflineEntry{width:100%;align-items:stretch}.attendanceOfflineEntry a{width:100%;text-align:center}.attendanceOfflineEntry small{text-align:center}}

/* v1.1.3 · cierre del lote, recepción y sincronización automática */
.validationBar{gap:1rem}.validationBar>div:first-child{margin-right:auto}.validationBar>.validationActions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;margin-right:0}.validationActions button{min-height:46px}.classificationTransfers{border-color:#d9a13a55}.classificationTransfers .emptyState{margin-top:.5rem}
@media(max-width:980px){.validationBar>div:first-child{margin:0}.validationBar>.validationActions{display:grid;grid-template-columns:1fr;margin:0}.validationActions button{width:100%}}

/* v1.2.5 · segunda vía Agenda → QR */
.attendanceAgendaCard{position:relative;margin:0;border-color:#63a5dd55;background:linear-gradient(145deg,#0a2540,#102a42)}
.attendanceAgendaCard .sectionKicker{display:block;margin-bottom:.25rem}
.attendanceAgendaCard>label{display:grid;gap:.45rem;margin:1rem 0 .75rem;font-weight:800}
.attendanceAgendaSummary{display:grid;gap:.3rem;min-height:92px;padding:.85rem 1rem;border:1px solid #63a5dd4a;border-radius:12px;background:#061a2d99}
.attendanceAgendaSummary strong{color:#fff;font-size:1rem}.attendanceAgendaSummary span{color:#d6e3ee}.attendanceAgendaSummary small{color:#91a8bc;line-height:1.4}
.attendanceAgendaWindow{margin:.85rem 0}.attendanceAgendaCard .primaryButton:disabled{cursor:not-allowed;filter:grayscale(.75);opacity:.48}

/* v1.2.6 · respuestas de acción y publicación por vías */
.shareResult #attendanceCopyLink{transition:transform .16s ease,background-color .16s ease,color .16s ease}
.shareResult #attendanceCopyLink.copied{transform:translateY(-2px);background:#1f9d63;color:#fff}
.validationActions .isValidated{background:#168f58!important;border-color:#38c987!important;color:#fff!important}
.publicationActions{display:flex;flex-wrap:wrap;gap:.75rem}
.publicationActions .primaryButton{min-width:190px}
