.hero-progress{margin-top:1.1rem;max-width:34rem}.hero-progress p{margin:.45rem 0 0;font-size:.82rem;color:rgba(255,255,255,.82)}.hero-progress strong{color:#fff}.progress-bar{height:.55rem;border-radius:999px;background:rgba(15,35,60,.12);overflow:hidden}.progress-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#c8a13a,#1d3557);transition:width .4s ease}.module-progress-label{display:inline-block;margin-top:.2rem;color:var(--gold);font-weight:800}.lesson-done{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;margin-left:.3rem;border-radius:50%;background:#1f6b45;color:#fff;font-size:.68rem;vertical-align:middle}.student-lessons a[data-completed]{border-color:#cfe3d7}.assessment-block{margin-top:2rem}.assessment-card{margin-top:1rem;padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:.85rem;box-shadow:0 6px 18px rgba(15,35,60,.04)}.assessment-head{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;align-items:flex-start}.assessment-head h3{margin:.2rem 0 0;font-size:1.05rem}.assessment-kind{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:#eef2f7;color:#33465c;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.quiz-card .assessment-kind{background:#f6efdd;color:#7a5c14}.assessment-meta{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}.rich-copy.compact{font-size:.9rem;line-height:1.6}.submission-form{margin-top:1rem;max-width:44rem}.submission-state{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;margin-top:1rem;padding:.9rem 1.1rem;border-radius:.7rem;background:#f4f7fb;border:1px solid var(--line)}.submission-state small{display:block;margin-top:.15rem;color:var(--muted);font-size:.78rem}.submission-state.state-graded{background:#edf8f1;border-color:#b7e0c7}.submission-score{text-align:right}.submission-score strong{display:block;font-size:1.5rem;color:var(--navy)}.feedback-box{margin-top:.85rem;padding:.9rem 1.1rem;border-left:3px solid var(--gold);background:#fff9e9;border-radius:.5rem;font-size:.9rem}.feedback-box p{margin:.35rem 0 0;line-height:1.6}.assessment-staff-tools{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.lesson-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line)}.lesson-nav>div:last-child{text-align:right}.progress-panel{margin-top:2rem;padding:1.35rem;background:#fff;border:1px solid var(--line);border-radius:.85rem}.progress-head{display:flex;gap:1rem;align-items:center;justify-content:space-between}.progress-head h2{margin:.2rem 0 0;font-size:1.05rem}.progress-head>strong{font-size:1.6rem;color:var(--navy)}.progress-panel .progress-bar{margin:.85rem 0;background:#eef2f7}.grading-list{display:grid;gap:.85rem;margin-top:1.25rem}.grading-card{padding:1.15rem;background:#fff;border:1px solid var(--line);border-radius:.8rem}.grading-head{display:flex;gap:1rem;align-items:center;justify-content:space-between}.grading-head small{display:block;color:var(--muted);font-size:.78rem;margin-top:.15rem}.grade-form{margin-top:.85rem}.grade-fields{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:.85rem;align-items:end}.quiz-form{display:grid;gap:1rem;margin-top:1.25rem}.quiz-question{margin:0;padding:1.15rem;background:#fff;border:1px solid var(--line);border-radius:.8rem}.quiz-question legend{display:flex;gap:.6rem;align-items:baseline;font-weight:700;padding:0 .25rem}.quiz-question legend small{color:var(--muted);font-weight:600}.question-index{display:inline-grid;place-items:center;flex:0 0 auto;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--navy);color:#fff;font-size:.8rem;font-weight:800}.quiz-option{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem .75rem;border:1px solid var(--line);border-radius:.6rem;margin-top:.5rem;cursor:pointer;font-size:.92rem}.quiz-option:hover{background:#f7fafd}.quiz-option input{margin-top:.25rem}.quiz-text{flex-direction:column;gap:.4rem}.quiz-text textarea{width:100%}.quiz-actions{display:flex;gap:.6rem}.score-badge{padding:.9rem 1.2rem;border-radius:.8rem;background:#eef2f7;text-align:center}.score-badge strong{display:block;font-size:1.9rem;color:var(--navy)}.score-badge small{color:var(--muted);font-size:.78rem}.score-badge.is-pass{background:#edf8f1}.score-badge.is-fail{background:#fdf0f1}.quiz-review{display:grid;gap:.85rem;margin-top:1.25rem}.quiz-review-item{padding:1.15rem;background:#fff;border:1px solid var(--line);border-radius:.8rem;border-left:3px solid var(--line)}.quiz-review-item.is-correct{border-left-color:#1f6b45}.quiz-review-item.is-wrong{border-left-color:#a63d48}.quiz-review-head{display:flex;gap:.6rem;align-items:baseline}.quiz-review-head h2{margin:0;font-size:1rem;font-weight:700}.review-options{list-style:none;margin:.75rem 0 0;padding:0;display:grid;gap:.4rem}.review-options li{display:flex;gap:.5rem;align-items:center;padding:.55rem .75rem;border:1px solid var(--line);border-radius:.55rem;font-size:.9rem;flex-wrap:wrap}.review-options li.is-chosen{background:#f0f4f9}.review-options li.is-correct-option{background:#edf8f1;border-color:#b7e0c7}.review-mark{padding:.1rem .45rem;border-radius:999px;background:#dbe6f2;color:#2a4a6f;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.review-mark.is-right{background:#cfe9d9;color:#1f5c3f}.review-note{margin:.6rem 0 0;font-size:.82rem;color:var(--muted)}.certificate-list{display:grid;gap:.75rem;margin-top:1.25rem}.certificate-card{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.15rem;background:#fff;border:1px solid var(--line);border-radius:.85rem}.certificate-card h2{margin:0;font-size:1.05rem}.certificate-card-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.7rem;background:#fff9e9;color:var(--gold);font-size:1.3rem}.certificate-actions{display:flex;gap:.5rem;flex-wrap:wrap}.verify-card{margin-top:1.5rem}.verify-form{display:flex;gap:.75rem;align-items:end;flex-wrap:wrap;margin-top:.75rem}.verify-form.standalone{max-width:34rem}.verify-form label{flex:1 1 14rem}.verify-result{margin-top:1.5rem;padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:.85rem;max-width:34rem}.verify-result.is-valid{border-left:3px solid #1f6b45}.verify-result.is-revoked{border-left:3px solid #a63d48}.verify-seal{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:#edf8f1;color:#1f6b45;font-size:1.4rem;font-weight:800}.verify-details{margin:1rem 0 0;display:grid;gap:.6rem}.verify-details>div{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1rem;padding-bottom:.55rem;border-bottom:1px solid var(--line)}.verify-details dt{color:var(--muted);font-size:.82rem}.verify-details dd{margin:0;font-weight:700}.print-body{margin:0;padding:1.5rem;background:#eef1f5}.print-toolbar{display:flex;gap:.75rem;justify-content:space-between;max-width:60rem;margin:0 auto 1.25rem}.certificate-sheet{max-width:60rem;margin:0 auto;padding:3rem;background:#fff;border:1px solid #d8dde5;border-radius:.5rem;box-shadow:0 10px 30px rgba(15,35,60,.08)}.certificate-sheet-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--navy);padding-bottom:1rem}.certificate-brand{font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}.certificate-kicker{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.certificate-sheet-body{text-align:center;padding:3.5rem 1rem}.certificate-lead{margin:.4rem 0;color:var(--muted);font-size:.95rem}.certificate-sheet-body h1{margin:.5rem 0 1.5rem;font-size:2.4rem;letter-spacing:.01em}.certificate-sheet-body h2{margin:.4rem 0;font-size:1.35rem;font-weight:600;color:var(--navy)}.certificate-score{margin-top:1rem;color:var(--muted);font-size:.9rem}.certificate-sheet-foot{border-top:1px solid var(--line);padding-top:1rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:flex-end;font-size:.8rem;color:var(--muted)}.certificate-sheet-foot span{display:block}.certificate-sheet-foot strong{font-size:1rem;letter-spacing:.12em;color:var(--navy)}.certificate-sheet-foot code{letter-spacing:.1em}.alert-error{background:#fdf0f1;border-color:#efc5ca;color:#70232d}@media(max-width:760px){.lesson-nav{grid-template-columns:1fr;text-align:left}.lesson-nav>div:last-child{text-align:left}.grade-fields{grid-template-columns:1fr}.certificate-card{grid-template-columns:2.75rem minmax(0,1fr)}.certificate-actions{grid-column:1/-1}.verify-details>div{grid-template-columns:1fr}.certificate-sheet{padding:1.5rem}.certificate-sheet-body h1{font-size:1.7rem}}@media print{.no-print{display:none}.print-body{padding:0;background:#fff}.certificate-sheet{box-shadow:none;border:none;max-width:none}}
/* Panel administrativo de actividades y cuestionarios */
.quick-action{position:relative;display:inline-block}
.quick-action>summary{list-style:none;cursor:pointer;white-space:nowrap}
.quick-action>summary::-webkit-details-marker{display:none}
.quick-action[open]>summary{outline:2px solid var(--gold);outline-offset:2px}
.quick-action>form{position:absolute;z-index:20;top:calc(100% + .5rem);right:0;width:min(24rem,92vw);padding:1rem;background:#fff;border:1px solid var(--line);border-radius:.7rem;box-shadow:0 18px 40px rgba(15,35,60,.16)}
.quick-action>form label{display:block;margin-bottom:.7rem}
.quick-action>form input[type=text],.quick-action>form input[type=number],.quick-action>form input[type=url],.quick-action>form input[type=date],.quick-action>form input[type=email],.quick-action>form textarea,.quick-action>form select{width:100%;margin-top:.25rem}
.compact-form{display:grid;gap:.75rem;margin-top:1rem}
.compact-form label{display:block;font-size:.82rem;font-weight:700}
.compact-form .date-fields{display:flex;gap:.85rem;flex-wrap:wrap}
.compact-form .date-fields>label{flex:1 1 10rem}
.compact-form small.muted{display:block;margin-top:.2rem;font-weight:400}
.admin-forum-list{display:grid;gap:.75rem;margin-top:1rem}
.admin-forum-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:.7rem}
.admin-forum-main h3{margin:0 0 .3rem;font-size:1rem}
.lesson-meta{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;font-size:.78rem;color:var(--muted)}
.admin-forum-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.admin-forum-actions>details{position:relative}
.question-list{margin-top:1.5rem}
.question-list+.question-list{margin-top:0}
.question-card{margin-top:1rem;padding:1.1rem;border:1px solid var(--line);border-radius:.7rem;background:#fbfcfe}
.question-card-head{display:flex;gap:.85rem;align-items:flex-start;justify-content:space-between}
.question-card-head strong{display:block}
.question-card-head small{display:block;margin-top:.2rem;color:var(--muted);font-size:.78rem}
.question-card-head form{flex:0 0 auto}
.question-index{display:inline-grid;place-items:center;flex:0 0 auto;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--navy);color:#fff;font-size:.78rem;font-weight:800}
.option-row{display:flex;gap:.6rem;align-items:center;margin-bottom:.45rem}
.grading-page-head{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem;padding:clamp(1.5rem,3vw,2.25rem);border-radius:1rem;background:linear-gradient(120deg,#0d1b35,#1d3760);color:#fff;box-shadow:0 14px 34px rgba(13,27,53,.16)}
.grading-page-head .eyebrow{margin-bottom:.45rem;color:#e2c774}
.grading-page-head h1{margin:0;color:#fff;font:clamp(1.8rem,3.5vw,2.5rem)/1.12 Georgia,serif}
.grading-page-head p{max-width:58ch;margin:.55rem 0 0;color:rgba(255,255,255,.78);font-size:.9rem}
.grading-page-head__icon{display:grid;place-items:center;flex:0 0 3.5rem;width:3.5rem;height:3.5rem;border:1px solid rgba(226,199,116,.55);border-radius:50%;background:rgba(255,255,255,.08);color:#f3d77e;font-size:1.65rem;font-weight:800}
.grading-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}
.grading-summary-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 .8rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:.8rem;background:#fff;box-shadow:0 5px 16px rgba(13,27,53,.035)}
.grading-summary-card>span{color:var(--muted);font-size:.78rem;font-weight:700}
.grading-summary-card>strong{grid-row:span 2;color:var(--navy);font:2rem/1 Georgia,serif}
.grading-summary-card>small{color:var(--muted);font-size:.72rem}
.grading-summary-card--pending{border-left:3px solid var(--gold);background:linear-gradient(110deg,#fffaf0,#fff)}
.grading-summary-card--pending>strong{color:#9a6500}
.grading-filters{display:grid;grid-template-columns:minmax(13rem,.75fr) minmax(0,1.25fr);gap:1rem;align-items:center;margin:0 0 1.5rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:.8rem;background:rgba(255,255,255,.92)}
.grading-filter-form{display:flex;align-items:end;gap:.65rem}
.grading-filter-form label{display:grid;flex:1 1 auto;gap:.3rem;color:var(--ink);font-size:.76rem;font-weight:800}
.grading-filter-form select{width:100%;min-height:2.7rem;padding:.55rem .75rem;border:1px solid #cbd5e1;border-radius:.55rem;background:#fff;color:var(--ink);font:inherit}
.grading-filter-form .button{min-height:2.7rem;padding:.6rem .95rem;white-space:nowrap}
.grading-state-tabs{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}
.grading-state-tabs a{display:inline-flex;align-items:center;gap:.4rem;min-height:2.45rem;padding:.45rem .8rem;border:1px solid transparent;border-radius:999px;color:var(--muted);font-size:.78rem;font-weight:750;text-decoration:none;transition:background .18s,color .18s,border-color .18s}
.grading-state-tabs a:hover{border-color:var(--line);background:#f7f9fc;color:var(--navy)}
.grading-state-tabs a.is-active{background:var(--navy);color:#fff}
.grading-state-tabs a>span{display:grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .25rem;border-radius:999px;background:#f0d57c;color:var(--navy-deep);font-size:.68rem;font-weight:900}
.grading-activities-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.8rem;margin:1.6rem 0 .75rem}
.grading-activities-heading .eyebrow{margin:0;font-size:.63rem}
.grading-activities-heading h2{margin:.15rem 0 0;color:var(--navy);font:1.45rem Georgia,serif}
.grading-activities-heading__count{padding:.4rem .7rem;border-radius:999px;background:#eef3f8;color:var(--navy);font-size:.75rem;font-weight:750}
.grading-activity-list{display:grid;gap:.75rem}
.grading-activity-card{display:grid;grid-template-columns:minmax(0,1fr) 13rem;gap:1rem;align-items:stretch;padding:.85rem;border:1px solid var(--line);border-radius:.9rem;background:#fff;box-shadow:0 5px 18px rgba(13,27,53,.045);transition:border-color .18s,box-shadow .18s}
.grading-activity-card:hover{border-color:#c6d3e3;box-shadow:0 10px 25px rgba(13,27,53,.075)}
.grading-activity-card--pending{border-left:3px solid var(--gold)}
.grading-activity-card__main{min-width:0;padding:.45rem .55rem}
.grading-activity-card__eyebrow{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;color:var(--muted);font-size:.72rem;font-weight:700}
.grading-activity-card h3{margin:.45rem 0 .25rem;color:var(--navy);font-size:1.05rem;line-height:1.35;overflow-wrap:anywhere}
.grading-activity-card__lesson{margin:0;color:var(--muted);font-size:.8rem}
.grading-activity-card__lesson span{color:var(--ink);font-weight:750}
.grading-activity-status{margin-right:.2rem;padding:.18rem .55rem;border-radius:999px;background:#eef3f8;color:var(--navy);font-size:.66rem}
.grading-activity-status--published{background:#e5f6ec;color:#17663b}
.grading-activity-status--draft{background:#fff5d8;color:#896300}
.grading-activity-status--closed{background:#edf0f4;color:#5e6877}
.grading-activity-counts{display:flex;flex-wrap:wrap;gap:.4rem .75rem;align-items:center;margin-top:.7rem;color:var(--muted);font-size:.73rem}
.grading-activity-counts strong{color:var(--navy)}
.grading-activity-card__actions{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:.55rem;padding:.8rem;border-radius:.7rem;background:#f5f7fb;text-align:center}
.grading-activity-pending{display:grid;justify-items:center;gap:.1rem;color:var(--muted)}
.grading-activity-pending strong{color:#68768a;font:2rem/1 Georgia,serif}
.grading-activity-pending span{font-size:.7rem;font-weight:750}
.grading-activity-pending small{color:#17663b;font-size:.68rem}
.grading-activity-pending.has-pending strong{color:#9a6500}
.grading-activity-pending.has-pending span{color:#795100}
.grading-activity-card__actions .button{min-height:2.65rem;padding:.55rem .7rem;font-size:.76rem}
.grading-activity-card__lesson-link{color:var(--muted);font-size:.72rem;font-weight:700;text-decoration:none}
.grading-activity-card__lesson-link:hover{color:var(--navy);text-decoration:underline;text-underline-offset:.16em}
@media(max-width:900px){.grading-filters{grid-template-columns:1fr}.grading-state-tabs{justify-content:flex-start}}
@media(max-width:700px){.grading-activity-card{grid-template-columns:minmax(0,1fr)}.grading-activity-card__actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;text-align:left}.grading-activity-pending{grid-template-columns:auto 1fr;justify-items:start;align-items:center;column-gap:.55rem}.grading-activity-pending strong{grid-row:span 2;font-size:1.7rem}.grading-activity-pending small{grid-column:2}.grading-activity-card__lesson-link{text-align:right}}
@media(max-width:520px){.grading-page-head__icon{display:none}.grading-summary{grid-template-columns:1fr}.grading-summary-card{grid-template-columns:1fr auto}.grading-filter-form{align-items:stretch;flex-direction:column}.grading-filter-form .button{width:100%}.grading-state-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.grading-state-tabs a{justify-content:center;padding:.4rem .45rem;text-align:center;font-size:.7rem}}
.option-row input[type=text]{flex:1 1 auto}
.correct-check{display:inline-flex;gap:.3rem;align-items:center;white-space:nowrap;font-size:.76rem;color:#33465c}
.correct-check input{width:auto}
.grade-form{margin-top:.75rem;padding-top:.85rem;border-top:1px dashed var(--line)}
.grade-form .date-fields{display:flex;gap:.85rem;flex-wrap:wrap}
.grade-form .date-fields>label{flex:1 1 11rem}
