.system-message{padding:14px 18px;border-radius:15px;background:#eef6fc;color:#173953;margin:16px 0;overflow-wrap:anywhere}.system-message.error{background:#fff1f1;color:#9b1c1c}.system-message a{color:inherit;text-decoration:underline}.system-course{padding:24px;border:1px solid #d8e6ed;border-radius:24px;background:white;display:flex;flex-direction:column;gap:12px}.system-course h3{margin:0}.system-course progress{width:100%}.system-actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.system-actions button,.system-actions a,.system-button{display:inline-block;background:#2584c5;color:white;border:0;border-radius:30px;padding:10px 18px;text-decoration:none}.system-actions button:disabled{opacity:.5}.system-field{display:flex;flex-direction:column;gap:8px;margin:12px 0}.system-field input,.system-field textarea{width:100%;padding:10px;border:1px solid #ccd7dd;border-radius:10px}.system-invitation{overflow-wrap:anywhere}.system-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}.system-dialog{width:min(600px,calc(100% - 32px));max-height:85vh;overflow:auto;border:0;border-radius:24px;padding:24px}.system-dialog::backdrop{background:rgba(0,0,0,.4)}.system-loading-protected main{visibility:hidden}.system-loading-protected .system-message{visibility:visible}.system-lesson{display:block;width:100%;margin:8px 0;padding:12px;text-align:left;border:1px solid #d8e6ed;border-radius:15px;background:white;color:#173953}.system-lesson[aria-current=true]{border-color:#2584c5;background:#eef6fc}.system-course-link{color:inherit;text-decoration:none;display:block}.system-course-link:hover{text-decoration:none}.system-course .learning-button{align-self:flex-start}
.curso-hero-summary,.modulo-desc,.module-description,#lesson-description{white-space:pre-line}

/* Cursos publicados del inicio: conserva las carpetas y sus colores. */
.home-course-link { display: block; text-decoration: none; color: inherit; }
.home-course-link:focus-visible { outline: 3px solid #1769e0; outline-offset: 6px; }
.home-course-link .folder-details p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.section-cursos-wrap .cursos-sidebar-actions { align-self: end; justify-content: flex-end; }
.home-courses-status { padding: 24px; }

.section-cursos-wrap .cursos-grid-layout { max-width: 1120px; margin-inline: auto; }
.section-cursos-wrap .cursos-grid-layout[data-course-count="0"],
.section-cursos-wrap .cursos-grid-layout[data-course-count="1"] { grid-template-columns: minmax(0, 540px) minmax(200px, 260px); justify-content: center; }
.cursos-grid-layout[data-course-count="0"] #home-course-secondary,
.cursos-grid-layout[data-course-count="1"] #home-course-secondary { display: none; }
.cursos-grid-layout[data-course-count="2"] .folder-small { min-height: 400px; }
.presentation-curriculum { margin-top: 24px; }
.presentation-module { border: 2px solid #e1e7eb; border-radius: 15px; overflow: hidden; margin: 16px 0; background: white; }
.presentation-module .system-field { margin: 0; padding: 18px; }
.presentation-module .system-field + .system-field { border-top: 2px solid #e1e7eb; }
.course-categories { border: 1px solid #d8e6ed; border-radius: 15px; padding: 16px; margin: 16px 0; }
.category-options { display: grid; gap: 10px; }
.category-option { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.category-option label { display: flex; align-items: center; gap: 10px; margin: 0; }
.course-categories input[type=checkbox] { width: auto; }
@media(max-width:1024px) {
 .section-cursos-wrap .cursos-grid-layout[data-course-count] { grid-template-columns: minmax(0,1fr) !important; max-width: 540px; }
}
/* Botones de acción del portal: mismo acabado amarillo de sus accesos. */
body[data-session-ready] main .system-actions button,
body[data-session-ready] main .system-actions a,
body[data-session-ready] main .small-button,
body[data-session-ready] main .action-primary,
body[data-session-ready] dialog .small-button,
body[data-session-ready] dialog .action-primary,
body[data-session-ready] dialog .system-button,
body[data-session-ready] main button:not([class]):not([aria-label]),
body[data-session-ready] dialog .form-actions button {
 display: inline-flex; align-items: center; justify-content: center; gap: 8px;
 background: var(--yellow, #f4cd52); color: #173b52; border: 0; border-radius: 24px;
 padding: 11px 18px; min-height: 42px; font-weight: 700; cursor: pointer; text-decoration: none;
 box-shadow: 0 3px 8px rgba(23,59,82,.12);
}
body[data-session-ready] button:disabled { opacity: .55; cursor: wait; }
body[data-session-ready] button:focus-visible { outline: 3px solid #1769e0; outline-offset: 3px; }

body[data-session-ready] .system-field.course-toggle { flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; }
body[data-session-ready] .course-toggle input[type=checkbox] { width: 20px; height: 20px; flex: 0 0 20px; margin: 0; accent-color: #2584c5; }
body[data-session-ready] .create-course-button { margin-bottom: 24px; }
body[data-session-ready] main .manage-content-button { display: inline-flex; padding: 11px 18px; border-radius: 24px; background: #176c9a; color: white; text-decoration: none; font-weight: 700; }
body[data-session-ready] main .students-button { display: inline-flex; align-self: flex-start; padding: 11px 18px; border-radius: 24px; background: #507322; color: white; text-decoration: none; font-weight: 700; }
.course-status-badges { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.course-status-badges span { padding: 10px 16px; border-radius: 15px; font-weight: 700; font-size: 14px; }
.course-development { background: #fff1c1; color: #604700; }
.course-certified { background: #e7f3df; color: #365719; }
.btn-comprar[aria-disabled=true] { opacity: .65; cursor: default; }
.cursos-pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.cursos-pagination button { border: 0; cursor: pointer; }
.cursos-pagination button:disabled { opacity: .4; cursor: default; }
.catalog-counter { text-align: center; margin-top: 24px; color: #475569; }

body[data-session-ready] main .enter-classroom-button { background: #7250a0; color: white; font-weight: 700; padding: 11px 20px; border-radius: 24px; text-decoration: none; }
body[data-session-ready] main .enter-classroom-button:hover { background: #59397f; }
body[data-session-ready] main .student-explore-button,
body[data-session-ready] .student-sidebar .student-explore-button { display: inline-flex; align-items: center; gap: 10px; background: #f4cd52; color: #173b52; font-weight: 700; border-radius: 15px; padding: 11px 16px; text-decoration: none; }
.payment-qr-panel { text-align: center; background: white; border: 1px solid #dde5e9; border-radius: 20px; padding: 28px; margin: 24px 0; }
.payment-qr-panel h2 { font-size: 26px; margin: 0 0 20px; }
.payment-qr-panel img { max-width: 100%; height: auto; margin: 0 auto 20px; }
.payment-qr-panel a { font-weight: 700; text-decoration: underline; }

body[data-session-ready] .delete-icon-button { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; min-height: 34px; padding: 7px; border: 1px solid #e8b9b9; border-radius: 10px; background: #fff1f1; color: #a42b2b; cursor: pointer; vertical-align: middle; margin-left: 8px; flex: 0 0 34px; }
body[data-session-ready] .delete-icon-button:hover { background: #fbe0e0; }
body[data-session-ready] .student-row-actions { white-space: nowrap; }
body[data-session-ready] .trash-courses-button { margin-bottom: 24px; margin-right: 12px; }
.system-dialog > .system-course { margin: 16px 0; }

.course-cover { display: block; width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 15px; margin-bottom: 14px; }
.management-course-cover { max-width: 540px; margin: 18px 0; }
.course-visibility { font-size: 12px; color: #475569; font-weight: 700; }
.presentation-curriculum > .action-primary, #add-module { margin-bottom: 26px; }
.group-enrollment-action { margin: 0 0 14px; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.site-footer-cedicap .footer-main-grid { display: grid !important; grid-template-columns: minmax(0,1fr) auto; justify-content: space-between; gap: 40px; width: 70%; max-width: none; margin-inline: 15%; padding-inline: 0; }
.footer-links-contact { display: flex; justify-content: flex-end; gap: 30px; align-items: flex-start; }
.site-footer-cedicap .footer-links-list { display: flex; flex-direction: column; gap: 10px; }
.site-footer-cedicap .footer-links-list li { margin: 0; }
@media(max-width:1024px){.site-footer-cedicap .footer-main-grid { width: 90%; margin-inline: 5%; gap: 24px; }}
@media(max-width:767px){.site-footer-cedicap .footer-main-grid { grid-template-columns: minmax(0,1fr) !important; }.footer-links-contact { flex-direction: column; justify-content: flex-start; gap: 24px; }}

.category-colored { color: #fff !important; }
.category-badge { display: inline-block; border-radius: 18px; padding: 5px 11px; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.curso-hero-badge { display: flex; flex-wrap: wrap; gap: 8px; }
.portal-course-card { padding: 0; gap: 0; overflow: hidden; border: 1px solid #e1e7eb; border-radius: 16px; background: #f7fafc; }
.portal-course-cover { position: relative; height: 180px; overflow: hidden; background: #173b52; }
.portal-course-cover > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.portal-course-state { position: absolute; top: 12px; left: 12px; padding: 5px 10px; border-radius: 12px; color: white; background: #173b52e6; font-size: 10px; font-weight: 700; }
.portal-course-state.state-complete { background: #107c47; }
.portal-course-cover .delete-icon-button { position: absolute; top: 10px; right: 10px; margin: 0; }
.portal-course-body { padding: 20px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.portal-course-body h3 { font-size: 17px; line-height: 1.35; margin: 0; }
.portal-course-categories { display: flex; flex-wrap: wrap; gap: 6px; }
.portal-course-description { font-size: 13px; color: #64748b; line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0; }
.portal-course-progress { text-align: right; font-size: 12px; margin: 0; }
.portal-course-meta { display: flex; flex-wrap: wrap; gap: 10px; font-size: 11px; color: #64748b; padding-top: 4px; }
.portal-course-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: auto; padding-top: 10px; }
.portal-course-actions a { flex: 1 1 140px; text-align: center; font-size: 12px; }
.course-card-notice { padding: 6px 10px; margin: 0; border-radius: 10px; font-size: 12px; }
.course-hero { position: relative; isolation: isolate; overflow: hidden; }
.course-hero::before { content: ''; position: absolute; inset: -12px; background-image: var(--course-cover-image); background-size: cover; background-position: center; filter: blur(6px); z-index: -2; }
.course-hero::after { content: ''; position: absolute; inset: 0; background: rgba(8,26,42,.76); z-index: -1; }
.course-hero > * { position: relative; z-index: 1; }
.course-hero #course-description { color: #f1f5f9; max-width: 760px; }
.course-unique-students { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; padding: 20px 24px; margin: 20px 0; background: #f0f7fc; border: 1px solid #d8e6ed; border-radius: 16px; }
.course-unique-students strong { font-size: 32px; line-height: 1; color: #176c9a; }
.course-unique-students span { font-weight: 700; }
.course-unique-students small { color: #64748b; }
.module-heading { display: flex; align-items: center; gap: 16px; list-style: none; }
.module-heading::-webkit-details-marker { display: none; }
.module-heading-title { flex: 1; min-width: 0; }
.module-header-actions { display: inline-flex; gap: 3px; margin-left: auto; flex-shrink: 0; }
body[data-session-ready] main .module-reorder-button,
body[data-session-ready] main .module-collapse-button { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; background: #f0f5f8; color: #173b52; border: 1px solid #cbd5e1; border-radius: 9px; cursor: pointer; font-size: 18px; }
body[data-session-ready] main .system-actions .module-edit-button { background: #176c9a; color: white; }
body[data-session-ready] main .system-actions .lesson-edit-button { background: white; color: #176c9a; border: 1px solid #176c9a; }
body[data-session-ready] main .module-content .add-class-button { background: #107c47; color: white; }
.enrollment-course-line { min-height: 86px; height: 86px; box-sizing: border-box; display: flex; align-items: center; margin: 0 !important; padding: 14px 0; border-top: 1px solid #dce4ea; }
.enrollment-course-line:first-child { border-top: 0; }
.group-enrollment-action.enrollment-course-line { flex-direction: row; }
@media(max-width:650px){ .portal-course-cover { height: 170px; }.portal-course-body { padding: 16px; }.module-heading { gap: 8px; }.module-heading-title { font-size: 14px; }.course-unique-students { padding: 16px; } }

.enrollment-course-name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 20px; }

.category-colored { text-transform: uppercase; }
@media(min-width:1280px){.teacher-shell #course-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }}

/* Un único control de expandir/contraer en la cabecera del módulo. */
.module-card summary.module-heading::after { content: none; display: none; }

/* Separación compacta entre editar módulo y añadir su primera clase. */
.module-content > .system-actions:has(+ .add-class-button) { margin-bottom: 3px; }
.module-content > .system-actions + .add-class-button { margin-top: 3px; }

/* Acciones legibles y edición de presentación por secciones. */
body[data-session-ready] main .portal-course-actions a { display:flex; align-items:center; justify-content:center; white-space:nowrap; flex:1 1 auto; padding:11px 12px; min-height:44px; line-height:1.2; text-align:center; }
.course-hero .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
body[data-session-ready] main .course-delete-button { margin-left:auto; width:auto; min-width:90px; flex:0 0 auto; height:auto; min-height:42px; padding:10px 16px; border-radius:12px; }
body[data-session-ready] main .course-hero [data-pending] { background:#eef6fc; color:#176c9a; border:1px solid #8bb9d4; }
body[data-session-ready] main .lesson-move-button { background:#eef3f6; color:#173b52; border:1px solid #bdcbd3; }
body[data-session-ready] main .lesson-publish-button { background:#107c47; color:white; }
body[data-session-ready] main .lesson-unpublish-button { background:#fff1dc; color:#854d0e; border:1px solid #e8bb76; }
body[data-session-ready] main #students-link { background:#107c47; color:white; border-radius:12px; padding:10px 18px; }
body[data-session-ready] main #content-tab { background:#176c9a; color:white; }
#editor.presentation-editor { width:min(800px,calc(100% - 24px)); padding:24px; }
#editor .presentation-intro { color:#64748b; font-size:14px; margin:0 0 20px; }
#editor .presentation-section { background:#f7fafc; border:1px solid #d8e6ed; border-radius:14px; padding:18px; margin:0 0 18px; }
#editor .presentation-section h3 { color:#173b52; font-size:17px; margin:0 0 14px; }
#editor .presentation-section input:not([type=checkbox]),#editor .presentation-section textarea,#editor .presentation-section select { box-sizing:border-box; width:100%; background:white; border:1px solid #bdcbd3; border-radius:9px; padding:10px 12px; }
#editor .course-cover { width:100%; max-width:300px; height:150px; object-fit:cover; border-radius:12px; margin-top:10px; }
#editor .category-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#editor .category-option { background:white; border-radius:9px; padding:8px; }
#editor .course-toggle { padding:10px; background:white; border:1px solid #d8e6ed; border-radius:9px; }
#editor .form-actions { position:sticky; bottom:-24px; padding:16px 0; background:white; z-index:2; }
body[data-session-ready] #editor .form-actions .cancel-button { background:#eef3f6; color:#173b52; }
#editor .presentation-section[hidden],#editor .presentation-intro[hidden] { display:none; }
@media(max-width:650px){#editor.presentation-editor {padding:16px;}#editor .presentation-section {padding:14px;}#editor .category-options{grid-template-columns:1fr;} .portal-course-actions {flex-direction:column;} }

body[data-session-ready] #editor .category-option button { background:#fff1f1; color:#a42b2b; border:1px solid #edc6c6; border-radius:9px; padding:7px 10px; min-height:34px; font-size:12px; }

/* Navegación y cabecera del contenido del curso. */
body[data-session-ready] .teacher-shell:has(.course-hero) .back-link { display:inline-flex; align-items:center; gap:8px; margin:0 0 24px; padding:10px 16px; border:1px solid #bdcbd3; border-radius:12px; background:#fff; color:#173b52; font-weight:700; text-decoration:none; }
body[data-session-ready] .teacher-shell:has(.course-hero) .back-link:hover { background:#eef6fc; border-color:#2584c5; }
body[data-session-ready] main .course-hero .course-student-preview { background:#7254a3; color:#fff; border:1px solid #a891cc; }
.course-content-panel { background:white; border:1px solid #d8e6ed; border-radius:16px; padding:22px; margin:24px 0 18px; }
.course-content-panel .course-toolbar { margin:0; gap:20px; align-items:center; }
.course-content-panel .course-toolbar h2 { margin:0 0 8px; }
.course-content-panel #course-summary { margin:0 0 8px; font-weight:700; color:#176c9a; }
.course-content-help { margin:0; color:#64748b; font-size:13px; }
.course-public-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; border-top:1px solid #e2e8f0; padding-top:16px; margin-top:18px; }
.course-public-actions .section-help { margin:0; font-size:12px; }
body[data-session-ready] main .course-public-actions .small-button { background:#eef6fc; color:#176c9a; border:1px solid #8bb9d4; }
body[data-session-ready] main #add-module { background:#107c47; color:white; white-space:nowrap; }
@media(max-width:650px){.course-content-panel {padding:16px;}.course-content-panel .course-toolbar {align-items:stretch;} .course-content-panel #add-module {width:100%;}.course-public-actions {align-items:flex-start;flex-direction:column;} }

/* Opciones accesibles de inscripción y certificación. */
#editor .course-option-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; }
body[data-session-ready] #editor .course-option-card { display:flex; flex-direction:row; align-items:flex-start; gap:12px; margin:0; padding:16px; cursor:pointer; border:2px solid #d8e6ed; border-radius:12px; background:white; transition:background .18s,border-color .18s; }
body[data-session-ready] #editor .course-option-card:has(input:checked) { background:#edf8f2; border-color:#107c47; }
body[data-session-ready] #editor .course-option-card:hover { border-color:#2584c5; }
body[data-session-ready] #editor .course-option-card:focus-within { outline:3px solid #2584c5; outline-offset:3px; }
body[data-session-ready] #editor .course-option-card input[type=checkbox] { margin-top:3px; accent-color:#107c47; cursor:pointer; }
#editor .course-option-copy { display:flex; flex-direction:column; gap:7px; flex:1; min-width:0; }
#editor .course-option-copy strong { font-size:14px; color:#173b52; line-height:1.35; }
#editor .course-option-copy small { font-size:12px; line-height:1.5; color:#64748b; font-weight:400; }
#editor .course-option-state { position:absolute; right:12px; bottom:10px; font-size:10px; font-weight:700; color:#64748b; }
#editor .course-option-state::after { content:'Desactivado'; }
#editor .course-option-card { position:relative; padding-bottom:32px!important; }
#editor .course-option-card:has(input:checked) .course-option-state { color:#107c47; }
#editor .course-option-card:has(input:checked) .course-option-state::after { content:'Activado'; }
@media(max-width:650px){#editor .course-option-grid{grid-template-columns:1fr;}}

/* Estado de publicación y navegación del contenido. */
.portal-course-state.state-visible { background:#dff5e8; color:#126438; border:1px solid #79c799; }
.portal-course-state.state-hidden { background:#fff0de; color:#854d0e; border:1px solid #e6bc7d; }
.course-hero ~ .tab-buttons { align-items:center; justify-content:space-between; gap:16px; }
body[data-session-ready] main .tab-buttons #content-tab { background:transparent; color:#173b52; border:0; border-radius:0; padding:0; margin:0; font-size:22px; font-weight:700; box-shadow:none; }
body[data-session-ready] main .tab-buttons #students-link { display:inline-flex; align-items:center; justify-content:center; background:var(--blue,#2584c5); color:white; border:1px solid var(--blue,#2584c5); border-radius:20px; padding:8px 18px; font-size:13px; font-weight:700; min-height:38px; text-decoration:none; }
body[data-session-ready] main .tab-buttons #students-link:hover { filter:brightness(.92); }

body[data-session-ready] main .create-course-button { background:#107c47; color:white; padding:12px 22px; }
#editor .form-actions button[type=submit] { min-width:150px; }
#editor .form-actions .cancel-button { border:1px solid #bdcbd3; min-width:110px; }
.creating-course > :not(.back-link) { visibility:hidden; }

/* Hover de inscripción y alineación compartida del footer. */
.btn-cta-green { display:inline-flex; align-items:center; justify-content:center; transition:transform .2s ease,box-shadow .2s ease,filter .2s ease; }
@media(hover:hover){.btn-cta-green:hover { transform:translateY(-3px); box-shadow:0 8px 18px rgba(23,59,82,.22); filter:brightness(1.08); }}
.btn-cta-green:focus-visible { outline:3px solid #173b52; outline-offset:4px; }
.btn-cta-green:active { transform:translateY(0); }
.site-footer-cedicap .footer-col-nav { flex:0 0 210px; width:210px; min-width:210px; }
.site-footer-cedicap .footer-col-nav .footer-links-list a { white-space:normal; overflow-wrap:normal; line-height:1.45; }
.site-footer-cedicap .footer-orange-bar .container-cedicap { width:70%; max-width:none; margin-inline:15%; padding-inline:0; box-sizing:border-box; }
.site-footer-cedicap .footer-copy-text { text-align:right; width:100%; margin:0; }
@media(max-width:1024px){.site-footer-cedicap .footer-orange-bar .container-cedicap {width:90%;margin-inline:5%;}}
@media(max-width:767px){.site-footer-cedicap .footer-col-nav {flex:0 0 auto; width:100%; min-width:0;}}
@media(prefers-reduced-motion:reduce){.btn-cta-green {transition:none;}.btn-cta-green:hover {transform:none;}}

/* Controles compartidos: desplegables y casillas de portales. */
body select { appearance:none; background-color:white; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23173b52' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; border:1px solid #bdcbd3; border-radius:12px; padding:11px 42px 11px 14px; min-height:44px; color:#173b52; cursor:pointer; max-width:100%; }
body select:focus-visible { outline:3px solid #2584c5; outline-offset:2px; }
body[data-session-ready] .portal-choice-card { display:flex; align-items:center; gap:10px; padding:12px; border:2px solid #d8e6ed; border-radius:12px; background:white; cursor:pointer; }
body[data-session-ready] .portal-choice-card:has(input:checked) { background:#edf8f2; border-color:#107c47; }
body[data-session-ready] .portal-choice-card:focus-within { outline:3px solid #2584c5; outline-offset:2px; }
body[data-session-ready] .portal-choice-card input[type=checkbox] { width:20px; height:20px; flex:0 0 20px; margin:0; accent-color:#107c47; }
body[data-session-ready] main .system-actions .module-delete-button { background:#fff1f1; color:#a42b2b; border:1px solid #edc6c6; }
body:has(.cursos-main-container) { min-height:100vh; display:flex; flex-direction:column; }
body:has(.cursos-main-container) .cursos-main-container { flex:1; }
body:has(.cursos-main-container) .site-footer-cedicap { margin-top:auto; }
.cursos-main-container .cursos-filter-bar { display:flex!important; align-items:center!important; gap:16px!important; padding-left:230px; }
.cursos-main-container .cursos-search-wrapper { margin-left:0!important; flex:1; width:auto!important; min-width:0; }
.cursos-main-container .cursos-search-wrapper input { height:46px!important; box-sizing:border-box; }
.cursos-main-container .cursos-sort-wrapper select { height:46px!important; min-width:200px; padding-right:42px!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23173b52' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important; background-repeat:no-repeat!important; background-position:right 14px center!important; }
@media(max-width:991px){.cursos-main-container .cursos-filter-bar{padding-left:0;}}
@media(max-width:650px){.cursos-main-container .cursos-filter-bar{align-items:stretch!important;flex-direction:column!important;}.cursos-main-container .cursos-search-wrapper,.cursos-main-container .cursos-sort-wrapper,.cursos-main-container .cursos-sort-wrapper select{width:100%!important;}}

body select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23173b52' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important; background-position:right 14px center!important; background-repeat:no-repeat!important; padding-right:42px!important; }

#course-options .assignment-choice { position:relative; }
#course-options .assignment-choice input[type=checkbox] { position:absolute; width:1px!important; height:1px!important; opacity:0; overflow:hidden; }
#course-options .assignment-choice:has(input:checked)::after { content:'Seleccionado'; font-size:11px; color:#107c47; margin-left:auto; }
.student-identity strong,.student-identity .student-email { display:block; }
.student-identity strong { color:#173b52; font-size:14px; margin-bottom:5px; }
.student-identity .student-email { color:#64748b; font-size:12px; overflow-wrap:anywhere; }
.portal-course-card { transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
@media(hover:hover){.portal-course-card:hover {transform:translateY(-4px);box-shadow:0 12px 24px rgba(23,59,82,.14);border-color:#8bb9d4;}}
.portal-course-card:focus-within { border-color:#2584c5; }
.course-scope-tabs {display:flex;flex-wrap:wrap;gap:12px;margin:0 0 20px;}
.course-scope-tabs a {padding:10px 18px;border-radius:22px;background:#eef3f6;color:#173b52;text-decoration:none;}
.course-scope-tabs a[aria-current] {background:#176c9a;color:white;}
@media(prefers-reduced-motion:reduce){.portal-course-card{transition:none;}.portal-course-card:hover{transform:none;}}

/* Cierre centrado y eliminación del módulo en su extremo inferior. */
#editor .dialog-heading #close-editor { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; min-height:36px; padding:0; line-height:1; border:1px solid #bdcbd3; border-radius:50%; background:#eef3f6; color:#173b52; cursor:pointer; }
#editor .dialog-heading #close-editor:hover { background:#dce9f1; }
#editor .dialog-heading #close-editor svg { display:block; flex-shrink:0; }
.module-delete-row { display:flex; justify-content:flex-end; margin-top:12px; padding-top:12px; border-top:1px solid #e2e8f0; }
body[data-session-ready] main .module-delete-row .module-delete-button { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; padding:0; margin:0; flex:0 0 34px; background:#fff1f1; color:#a42b2b; border:1px solid #edc6c6; border-radius:10px; }

/* Acceso a estudiantes dentro de su resumen. */
body[data-session-ready] main .course-unique-students #students-link { margin-left:auto; display:inline-flex; align-items:center; justify-content:center; background:var(--blue,#2584c5); color:white; border:1px solid var(--blue,#2584c5); border-radius:20px; padding:10px 18px; font-size:13px; font-weight:700; min-height:40px; text-decoration:none; white-space:nowrap; }
body[data-session-ready] main .course-unique-students #students-link:hover { filter:brightness(.92); }
@media(max-width:650px){.course-unique-students small{flex-basis:100%;}body[data-session-ready] main .course-unique-students #students-link{margin-left:auto;}}

body[data-session-ready] main .assign-course-button {background:#eef6fc;color:#176c9a;border:1px solid #8bb9d4;}
.assignment-dialog .assignment-options {display:grid;gap:10px;margin:20px 0;}
.assignment-dialog .assignment-choice {position:relative;}
.assignment-dialog .assignment-choice input {position:absolute;opacity:0;width:1px!important;height:1px!important;}
.assignment-dialog .assignment-choice span {display:flex;flex-direction:column;gap:5px;}
.assignment-dialog .assignment-choice small {font-size:12px;color:#64748b;overflow-wrap:anywhere;}
.assignment-dialog .assignment-choice:has(input:checked)::after {content:'Seleccionado';margin-left:auto;font-size:11px;color:#107c47;}
.assignment-dialog .system-actions {justify-content:flex-end;}
.assignment-dialog .assignment-cancel {background:#eef3f6;color:#173b52;border:1px solid #bdcbd3;}

.initial-assignments{margin-top:22px;padding-top:18px;border-top:1px solid #d8e6ed;}
.initial-assignments .assignment-options{display:grid;gap:10px;}
.initial-assignments .assignment-choice span{display:flex;flex-direction:column;gap:5px;}
.initial-assignments .assignment-choice small{font-size:12px;color:#64748b;}

/* Búsqueda y alcance del listado docente en una misma fila. */
.teacher-course-filters { display:flex; align-items:center; gap:12px; width:min(100%,560px); }
.teacher-course-filters .course-search { position:relative; flex:1; min-width:0; max-width:none; margin:0; }
.teacher-course-filters .course-search svg { position:absolute; left:14px; top:50%; transform:translateY(-50%); color:#64748b; pointer-events:none; }
.teacher-course-filters .course-search input { width:100%; height:46px; padding:11px 14px 11px 42px; border-radius:12px; box-sizing:border-box; }
.teacher-course-filters #course-scope { height:46px; width:190px; flex:0 0 190px; box-sizing:border-box; border-radius:12px; }
@media(max-width:767px){.teacher-shell #mis-cursos .section-header {flex-direction:column;align-items:stretch;}.teacher-course-filters {width:100%;}}
@media(max-width:450px){.teacher-course-filters{flex-direction:column;align-items:stretch;}.teacher-course-filters #course-scope{width:100%;flex-basis:auto;}}

.coordination-links[hidden] { display:none!important; }

.trash-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;}
.trash-dialog-heading h2{margin:0;}
.trash-clear-button{background:transparent;color:#a42b2b;border:0;padding:8px 0;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;}
.trash-clear-button:hover{text-decoration:underline;}
@media(max-width:450px){.trash-dialog-heading{flex-wrap:wrap;}.trash-clear-button{margin-left:auto;}}

/* Desplegables coherentes con el portal. */
.cedicap-select { position:relative; min-width:0; display:block; }
.cedicap-select-native { position:absolute!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none; padding:0!important; min-height:0!important; }
body .cedicap-select-trigger { display:flex!important; align-items:center; justify-content:space-between; gap:14px; width:100%; min-height:46px; padding:11px 14px!important; border:1px solid #bdcbd3!important; border-radius:12px!important; background:white!important; color:#173b52!important; font-size:14px; text-align:left; cursor:pointer; box-shadow:none!important; }
.cedicap-select-trigger > span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cedicap-select-trigger:focus-visible,.cedicap-select.is-open .cedicap-select-trigger { outline:3px solid #2584c533; border-color:#2584c5!important; }
.cedicap-select-arrow { transition:transform .18s; font-size:20px; line-height:1; }
.cedicap-select.is-open .cedicap-select-arrow { transform:rotate(180deg); }
.cedicap-select-menu { position:absolute; z-index:50; top:calc(100% + 6px); left:0; right:0; min-width:100%; max-height:240px; overflow-y:auto; background:white; padding:6px; border:1px solid #d8e6ed; border-radius:12px; box-shadow:0 12px 28px #173b5226; animation:dropdown-enter .16s ease-out; }
.cedicap-select-menu[hidden] { display:none!important; }
body .cedicap-select-option { display:block!important; width:100%; min-height:38px; border:0!important; border-radius:8px!important; padding:9px 12px!important; background:white!important; color:#173b52!important; box-shadow:none!important; text-align:left; cursor:pointer; font-weight:400!important; font-size:14px; }
body .cedicap-select-option:hover,body .cedicap-select-option:focus-visible { background:#eef6fc!important; outline:none; }
body .cedicap-select-option[aria-selected=true] { background:#e5f3eb!important; color:#107c47!important; font-weight:700!important; }
.teacher-course-filters > .cedicap-select { width:190px; flex:0 0 190px; }
.cursos-sort-wrapper > .cedicap-select { min-width:200px; }
@keyframes dropdown-enter {from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
/* Papelera con tarjetas de recuperación. */
.course-trash-dialog { width:min(720px,calc(100% - 28px)); padding:26px; border:1px solid #d8e6ed; border-radius:20px; color:#173b52; animation:dialog-enter .2s ease-out; }
.course-trash-dialog::backdrop { background:#102c4166; }
.trash-eyebrow { font-size:10px; letter-spacing:1px; color:#176c9a; font-weight:700; }
.trash-dialog-heading h2 { font-size:24px; margin-top:6px; }
.trash-description { font-size:14px; color:#64748b; line-height:1.6; }
.trash-course-list {display:grid;gap:12px;margin:22px 0;}
.trash-course-card {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;background:#f7fafc;border:1px solid #d8e6ed;border-radius:14px;}
.trash-course-info {min-width:0;}
.trash-course-info h3 {font-size:17px;margin:0 0 8px;overflow-wrap:anywhere;}
.trash-course-date {font-size:12px;color:#64748b;margin:0 0 10px;}
.trash-course-deadline {display:inline-block;padding:5px 10px;border-radius:14px;background:#fff0de;color:#854d0e;font-size:11px;font-weight:700;}
body[data-session-ready] .trash-restore-button {background:#107c47;color:white;border-radius:22px;padding:10px 16px;white-space:nowrap;}
.trash-dialog-footer {display:flex;align-items:center;justify-content:space-between;border-top:1px solid #d8e6ed;padding-top:16px;gap:16px;color:#64748b;font-size:12px;}
.trash-close-button {border:1px solid #bdcbd3;background:#eef3f6;color:#173b52;padding:10px 20px;border-radius:20px;cursor:pointer;font-weight:700;}
.trash-empty {text-align:center;padding:32px 16px;border:1px dashed #bdcbd3;border-radius:14px;margin:20px 0;color:#64748b;}
.trash-empty-icon {display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background:#e5f3eb;color:#107c47;border-radius:50%;font-size:25px;}
@keyframes dialog-enter {from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:450px){.teacher-course-filters>.cedicap-select{width:100%;flex-basis:auto;}.trash-course-card{align-items:flex-start;flex-direction:column;}.trash-restore-button{align-self:flex-end;}.course-trash-dialog{padding:18px;}}
@media(prefers-reduced-motion:reduce){.cedicap-select-menu,.course-trash-dialog{animation:none;}.cedicap-select-arrow{transition:none;}}

/* Flecha geométrica centrada: gira sin alterar su posición. */
body .cedicap-select-trigger .cedicap-select-arrow { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; flex:0 0 20px; padding:0; margin:0; line-height:0; transform:rotate(0deg); transform-origin:50% 50%; }
body .cedicap-select-arrow svg { display:block; width:20px; height:20px; margin:0; padding:0; }
body .cedicap-select.is-open .cedicap-select-arrow { transform:rotate(180deg); }
body .cedicap-select-trigger { align-items:center; }

/* Asignación exclusiva y categorías sin cajas anidadas. */
.assignment-choice input[type=radio] { width:20px; height:20px; flex:0 0 20px; margin:0; accent-color:#107c47; }
body[data-session-ready] .assignment-choice:has(input[type=radio]:checked) {background:#edf8f2;border-color:#107c47;}
#editor .course-categories {border:0;background:transparent;padding:0;margin:18px 0;border-radius:0;}
#editor .course-categories legend {font-size:14px;font-weight:700; margin-bottom:10px;}
#editor .category-option {background:transparent;padding:0;border-radius:0;}
body[data-session-ready] #editor .category-option .portal-choice-card {background:transparent;border:0;border-radius:0;padding:7px 0;}
body[data-session-ready] #editor .category-option .portal-choice-card:has(input:checked) {background:transparent;color:#107c47;}
#editor .category-options {gap:6px 18px;}
body[data-session-ready] .cursos-main-container .filter-checkbox-list label.portal-choice-card {border:0;background:transparent;box-shadow:none;padding:7px 0;border-radius:0;}
body[data-session-ready] .cursos-main-container .filter-checkbox-list label.portal-choice-card:has(input:checked) {background:transparent;color:#107c47;}

/* Recursos oficiales suministrados para la actualización. */
.site-footer-cedicap .footer-logo-img {width:180px!important;max-width:100%!important;height:auto!important;filter:none!important;object-fit:contain;}
.logo-hero-white {height:72px!important;width:auto!important;filter:none!important;object-fit:contain;}
.cert-brand-img,.nosotros-logo,.auth-logo-img,.registro-logo-img {max-width:180px!important;object-fit:contain;}
.fan-card-icon img {width:48px!important;height:48px!important;object-fit:contain;filter:none!important;}
@media(max-width:767px){.logo-hero-white{height:60px!important;}.site-footer-cedicap .footer-logo-img{width:150px!important;}}

#slideBg1 {background-position:center center;}
#slideBg2 {background-position:center center;}
#slideBg3 {background-position:center center;}

.fan-card-icon img[src*="aprendizaje-practico.png"],.fan-card-icon img[src*="certificacion-index.png"] {width:60px!important;height:60px!important;}

.nosotros-banner-stage {background-image:url("../images/actualizacion/sobre-nosotros-banner.png")!important;background-position:center center!important;}

/* Dos beneficios equilibrados en Certificación. */
.cert-fan-cards-wrap { gap:22px!important; padding:20px 0!important; }
.cert-fan-cards-wrap .fan-card-orange { transform:rotate(-5deg) translateY(4px)!important; margin-right:0!important; }
.cert-fan-cards-wrap .fan-card-white { transform:rotate(5deg) translateY(4px)!important; margin-left:0!important; }
@media(hover:hover){.cert-fan-cards-wrap .cert-fan-card:hover{transform:translateY(-10px) rotate(0deg)!important;}}
@media(max-width:767px){.cert-fan-cards-wrap {gap:20px!important;}.cert-fan-cards-wrap .fan-card-orange,.cert-fan-cards-wrap .fan-card-white {transform:none!important;margin:0!important;}}

/* Búsqueda y desplegables con el mismo acabado. */
body .cedicap-select-trigger {border-radius:24px!important;border:1.5px solid #e5e7eb!important;background:#fff!important;color:#374151!important;}
body .cedicap-select-trigger:focus-visible,body .cedicap-select.is-open .cedicap-select-trigger {border-color:#2584c5!important;outline:3px solid #2584c522;}
.cursos-main-container .cursos-search-wrapper input {border-radius:24px!important;border:1.5px solid #e5e7eb!important;background:#fff!important;color:#374151!important;}
.cursos-main-container .cursos-search-wrapper input:focus {border-color:#2584c5!important;box-shadow:0 0 0 3px #2584c522;}
.cursos-main-container .cursos-sort-wrapper .cedicap-select-trigger {height:46px;box-sizing:border-box;font-size:13px;}
body .cedicap-select-menu {border-radius:16px;border-color:#e5e7eb;}
body .cedicap-select-option {border-radius:10px!important;}

/* Filtros de cursos compactos, seleccionables mediante su texto. */
.cursos-main-container .filter-checkbox-list {gap:3px!important;margin:0!important;}
.cursos-main-container .filter-checkbox-list li {margin:0!important;padding:0!important;}
body[data-session-ready] .cursos-main-container .filter-checkbox-list label.portal-choice-card,.cursos-main-container .filter-checkbox-list label {position:relative;font-size:12px!important;line-height:1.4!important;padding:5px 0!important;margin:0!important;gap:0!important;cursor:pointer;}
.cursos-main-container .filter-checkbox-list input[type=checkbox] {position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;margin:0!important;overflow:hidden;}
.cursos-main-container .filter-checkbox-list label:has(input:checked) {font-weight:700!important;color:#107c47!important;}
.cursos-main-container .filter-checkbox-list label:hover {color:#176c9a!important;}
.cursos-main-container .filter-checkbox-list label span {font-size:12px!important;}
.cursos-main-container .filter-group h4 {margin-bottom:8px!important;}

/* Casillas de categoría con estado rojo sin marca interior. */
.cursos-main-container .filter-checkbox-list input[type=checkbox] {appearance:none!important;-webkit-appearance:none!important;position:static!important;opacity:1!important;width:14px!important;height:14px!important;flex:0 0 14px!important;min-width:14px!important;margin:0!important;padding:0!important;border:1px solid #bdcbd3!important;border-radius:3px!important;background:#fff!important;background-image:none!important;box-shadow:none!important;cursor:pointer;}
.cursos-main-container .filter-checkbox-list input[type=checkbox]:checked {background:#ed1c24!important;border-color:#ed1c24!important;background-image:none!important;}
.cursos-main-container .filter-checkbox-list input[type=checkbox]::before,.cursos-main-container .filter-checkbox-list input[type=checkbox]::after {content:none!important;display:none!important;}
body[data-session-ready] .cursos-main-container .filter-checkbox-list label.portal-choice-card,.cursos-main-container .filter-checkbox-list label {gap:8px!important;color:#374151!important;font-weight:400!important;}
body[data-session-ready] .cursos-main-container .filter-checkbox-list label:has(input:checked),.cursos-main-container .filter-checkbox-list label:hover {color:#374151!important;font-weight:400!important;}
.cursos-main-container .filter-checkbox-list input[type=checkbox]:focus-visible {outline:2px solid #2584c5;outline-offset:3px;}

/* Activación suave y aparición consecutiva de resultados. */
.cursos-main-container .filter-checkbox-list input[type=checkbox] {transition:background-color .2s ease,border-color .2s ease;transform-origin:center;}
.cursos-main-container .filter-checkbox-list input[type=checkbox]:checked {animation:category-check-in .25s ease-out;}
@keyframes category-check-in {0%{transform:scale(.86)}55%{transform:scale(1.14)}100%{transform:scale(1)}}
.cursos-cards-grid .catalog-sequential-card {animation:catalog-course-in .45s ease-out var(--course-entry-delay,0ms) both;}
@keyframes catalog-course-in {from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.cursos-main-container .filter-checkbox-list input[type=checkbox]{transition:none;}.cursos-main-container .filter-checkbox-list input[type=checkbox]:checked,.cursos-cards-grid .catalog-sequential-card {animation:none!important;}}

/* Sin indicador interior al pulsar las casillas de categoría. */
.cursos-main-container .filter-checkbox-list input[type=checkbox]:focus,.cursos-main-container .filter-checkbox-list input[type=checkbox]:active {outline:none!important;box-shadow:none!important;background-image:none!important;}
.cursos-main-container .filter-checkbox-list input[type=checkbox]:checked {outline:none!important;box-shadow:none!important;background:#ed1c24!important;}
.cursos-main-container .filter-checkbox-list input[type=checkbox]:focus-visible {outline:2px solid #2584c5!important;outline-offset:3px!important;}

/* Búsqueda coherente entre catálogo y portales */
input[type="search"],.cursos-search-wrapper input,.teacher-course-filters .course-search input{height:46px!important;width:100%;min-width:0;border-radius:24px!important;border:1.5px solid #e5e7eb!important;background-color:#fff!important;color:#374151!important;font:inherit;padding:10px 18px 10px 44px!important;box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:15px center;transition:border-color .2s,box-shadow .2s}
input[type="search"]:focus,.cursos-search-wrapper input:focus,.teacher-course-filters .course-search input:focus{outline:none;border-color:#2584c5!important;box-shadow:0 0 0 3px #2584c522!important}
.teacher-course-filters .course-search svg,.cursos-search-wrapper>i,.cursos-search-wrapper>svg{display:none!important}
input[type="search"]::placeholder,.cursos-search-wrapper input::placeholder{color:#718096;opacity:1}

/* Acciones de la ficha pública */
.curso-detalle-main .back-to-courses{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #bdcbd3;border-radius:12px;background:#fff;color:#173b52;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.curso-detalle-main .back-link-wrap{margin-bottom:24px}
.curso-detalle-main .back-to-courses:hover{background:#eef6fc;border-color:#2584c5;transform:translateX(-2px)}
@media(prefers-reduced-motion:reduce){.curso-detalle-main .back-to-courses{transition:none;transform:none!important}}

/* Ambos botones conservan el diseño original de la ficha. */
.curso-detalle-main .curso-action-buttons{flex-wrap:wrap;align-items:stretch!important}
.curso-detalle-main .curso-action-buttons .btn-action-dark{display:inline-flex!important;align-items:center;justify-content:center;line-height:1.4;text-align:center;box-sizing:border-box}

.curso-detalle-main .curso-action-buttons .btn-action-dark{text-transform:none!important}

/* Aula: módulos plegables y clases seleccionables */
.classroom-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start}
.classroom-layout>.panel{min-width:0}.classroom-module{margin:16px 0;border:1px solid #d8e6ed;border-radius:15px;overflow:hidden;background:#fff}
.classroom-module-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:#173b52;color:#fff;cursor:pointer;list-style:none}
.classroom-module-heading::-webkit-details-marker{display:none}.classroom-module-copy{display:flex;flex-direction:column;gap:4px}.classroom-module-copy small{color:#ffd338;font-size:12px;font-weight:700}.classroom-module-copy strong{font-size:16px;line-height:1.4}.classroom-module-copy>span{font-size:12px;color:#d4e6f3}.classroom-module-arrow{transition:transform .2s}.classroom-module[open] .classroom-module-arrow{transform:rotate(180deg)}
.classroom-module-description{padding:14px 16px 0;margin:0;color:#64748b;font-size:13px;white-space:pre-line}.classroom-lessons{padding:10px}
.classroom-layout .classroom-lesson{display:flex;align-items:flex-start;gap:10px;margin:8px 0;padding:14px;text-align:left;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}
.classroom-lesson:hover{background:#f1f7fb;border-color:#2584c5}.classroom-lesson[aria-current=true]{border:2px solid #2584c5;background:#eef6fc;box-shadow:0 3px 10px #2584c51a}
.classroom-lesson-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}.classroom-lesson-copy small{font-size:11px;font-weight:700;color:#2584c5}.classroom-lesson-copy strong{font-size:14px;line-height:1.4;overflow-wrap:anywhere}.classroom-lesson-description{font-size:12px;line-height:1.5;color:#64748b;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.classroom-play-icon{color:#2584c5;font-size:20px}.classroom-lesson-progress{font-size:11px;white-space:nowrap;background:#e8f2f8;color:#176ba4;border-radius:20px;padding:4px 7px}.classroom-learning{margin-top:20px;padding:16px 20px;background:#f1f7fb;border-radius:15px}.classroom-learning h3{margin-top:0!important}.classroom-learning p{margin-bottom:0;line-height:1.7}
.classroom-module-heading:focus-visible,.classroom-lesson:focus-visible{outline:3px solid #ffd338;outline-offset:-3px}
@media(max-width:1050px){.classroom-layout{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.classroom-module-arrow,.classroom-lesson{transition:none}}

/* Jerarquía visual y despliegue de módulos del aula */
.classroom-module{border:1px solid #dce7ee;border-radius:15px;box-shadow:0 3px 14px #173b5208}
.classroom-module-heading{position:relative;background:#fff;color:#173b52;padding:20px 18px;transition:background .2s}
.classroom-module-heading:hover{background:#f5f9fc}
.classroom-module-heading::after{content:"";position:absolute;bottom:0;left:18px;right:18px;height:1px;background:#dce7ee}
.classroom-module-copy{gap:8px}.classroom-module-copy small{color:#d45625;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.classroom-module-copy strong{font-size:21px;line-height:1.3;font-weight:700}.classroom-module-copy>span{color:#718096;font-size:12px}
.classroom-module-arrow{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef6fc;color:#2584c5;flex-shrink:0;font-size:19px}
.classroom-lessons{overflow:hidden;padding:10px}.classroom-module-description{padding:4px 8px 8px;font-size:12px;line-height:1.6}
.classroom-layout .classroom-lesson{border:1px solid transparent;border-bottom-color:#e8eef3;border-radius:10px;background:#fff;padding:14px 10px;gap:9px;margin:4px 0}
.classroom-layout .classroom-lesson:hover{background:#f1f7fb;border-color:#d1e6f3}.classroom-layout .classroom-lesson[aria-current=true]{border:1px solid #2584c5;background:#eef6fc}
.classroom-lesson-copy strong{font-size:14px;color:#173b52}.classroom-play-icon{font-size:17px}.classroom-lesson-progress{background:#f1f5f8}
@media(max-width:480px){.classroom-module-copy strong{font-size:19px}}

/* Identificación del contenido, basada en los módulos del wireframe */
.classroom-module-number{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;background:#d3e8ff;color:#2584c5;border-radius:50%;font-weight:800;font-size:18px}.classroom-module-copy{flex:1;min-width:0}.classroom-module-copy strong{overflow-wrap:anywhere}
.classroom-play-icon{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;color:#2584c5}.classroom-play-icon svg{width:20px;height:20px}.classroom-lesson[data-content-type=resource] .classroom-play-icon{color:#c45625}.classroom-lesson[data-content-type=pending] .classroom-play-icon{color:#8492a6}
.classroom-lesson-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;max-width:110px;flex-shrink:0}.classroom-content-label{font-size:11px;line-height:1.5;text-align:right;color:#64748b}.classroom-lesson-meta [hidden]{display:none!important}
.classroom-resource{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px;margin:8px 0;border:1px solid #dce7ee;border-radius:12px;background:#fff}.classroom-resource a{flex:1;min-width:0;overflow-wrap:anywhere;color:#176ba4}.classroom-resource-meta{font-size:12px;color:#64748b}#lesson-resources{padding:0;list-style:none}
@media(max-width:600px){.classroom-layout .classroom-lesson{flex-wrap:wrap}.classroom-lesson-meta{flex-direction:row;align-items:center;max-width:none;width:100%;padding-left:33px;justify-content:space-between}.classroom-content-label{text-align:left}.classroom-module-heading{gap:10px;padding:16px 12px}.classroom-module-number{width:30px;height:30px}}

/* Controles compactos de cada clase */
body[data-session-ready] main .lesson-row .system-actions{gap:6px;align-items:center}
body[data-session-ready] main .lesson-row .lesson-edit-button,body[data-session-ready] main .lesson-row .lesson-publish-button,body[data-session-ready] main .lesson-row .lesson-unpublish-button{font-size:12px!important;padding:7px 12px!important;min-height:32px;border-radius:10px!important;line-height:1.3}
body[data-session-ready] main .lesson-row .lesson-move-button,body[data-session-ready] main .lesson-row .lesson-delete-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;padding:0!important;border-radius:8px!important;border:0;background:transparent;color:#64748b;font-size:18px;transition:background .2s,color .2s}
body[data-session-ready] main .lesson-row .lesson-move-button:hover{background:#eef6fc;color:#176ba4}
body[data-session-ready] main .lesson-row .lesson-delete-button{color:#c53c3c;margin-left:4px}
body[data-session-ready] main .lesson-row .lesson-delete-button:hover{background:#fff0f0;color:#a52020}
body[data-session-ready] main .lesson-row .lesson-move-button:disabled{opacity:.3;cursor:default}

/* Tres filas de controles por clase */
body[data-session-ready] main .lesson-row .lesson-controls{display:flex;flex-direction:column;align-items:stretch;gap:7px;min-width:148px;flex-shrink:0}
body[data-session-ready] main .lesson-row .lesson-controls>.lesson-edit-button{background:#2584c5;color:#fff;border:1px solid #2584c5}
body[data-session-ready] main .lesson-row .lesson-controls>.lesson-publish-button{background:#107c47;color:#fff;border:1px solid #107c47}
body[data-session-ready] main .lesson-row .lesson-controls>.lesson-unpublish-button{background:#fff3d6;color:#925600;border:1px solid #eacb85}
body[data-session-ready] main .lesson-row .lesson-controls>button{display:flex;align-items:center;justify-content:center;width:100%;white-space:nowrap}
.lesson-utility-row{display:flex;gap:7px;align-items:center;justify-content:center}
body[data-session-ready] main .lesson-row .lesson-utility-row .lesson-move-button:first-child{background:#f0f5f8;color:#173b52;border:1px solid #cbd5e1;border-radius:9px!important}
body[data-session-ready] main .lesson-row .lesson-utility-row .lesson-move-button:nth-child(2){background:#f0f5f8;color:#173b52;border:1px solid #cbd5e1;border-radius:9px!important}
body[data-session-ready] main .lesson-row .lesson-utility-row .lesson-delete-button{background:#fff0f0;color:#c53c3c;margin-left:0}
body[data-session-ready] main .lesson-row .lesson-utility-row .lesson-move-button:hover{filter:brightness(.94)}
body[data-session-ready] main .lesson-row .lesson-utility-row .lesson-delete-button:hover{background:#ffe0e0}

/* Distribución definitiva en tres filas, incluso con estilos del portal. */
body[data-session-ready] main .lesson-row .system-actions.lesson-controls{display:grid!important;grid-template-columns:minmax(148px,180px)!important;grid-auto-flow:row!important;gap:7px!important;align-items:stretch!important;justify-content:end!important;width:180px;max-width:100%;min-width:0;flex:none}
body[data-session-ready] main .lesson-row .lesson-controls>.lesson-edit-button{grid-row:1;grid-column:1}
body[data-session-ready] main .lesson-row .lesson-controls>.lesson-publish-button,body[data-session-ready] main .lesson-row .lesson-controls>.lesson-unpublish-button{grid-row:2;grid-column:1}
body[data-session-ready] main .lesson-row .lesson-controls>.lesson-utility-row{grid-row:3;grid-column:1;display:flex!important;justify-content:center;align-items:center;gap:7px}
body[data-session-ready] main .lesson-row .lesson-controls .lesson-delete-button{background:#d63d3d!important;color:#fff!important;border:1px solid #d63d3d!important;width:32px;height:32px;min-height:32px;flex:0 0 32px;padding:0!important}
body[data-session-ready] main .lesson-row .lesson-controls .lesson-delete-button:hover{background:#b82b2b!important}
body[data-session-ready] main .lesson-row .lesson-delete-button svg{display:block!important;width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;visibility:visible!important;opacity:1!important}
@media(max-width:650px){body[data-session-ready] main .lesson-row .system-actions.lesson-controls{justify-content:start!important}}

/* Más espacio para los módulos en la gestión del curso. */
@media(min-width:1001px){.teacher-shell:has(#modules){max-width:1540px;gap:20px;padding-left:16px;padding-right:16px}.teacher-shell:has(#modules) .module-list{width:100%;max-width:none}}

/* Flechas centradas; el giro conserva el mismo punto de apoyo. */
.classroom-module-arrow{display:inline-flex;align-items:center;justify-content:center;line-height:0;transform-origin:50% 50%;padding:0}
.classroom-module-arrow svg,.module-reorder-button svg,.lesson-move-button svg{display:block;width:18px;height:18px;margin:0;padding:0}
.module-reorder-button>span,.lesson-move-button>span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;line-height:0}

/* Aula sin panel lateral y con módulos independientes. */
.student-shell.classroom-shell{display:block;max-width:1540px;padding:32px 24px 56px;margin:auto}
.classroom-shell>main{width:100%;max-width:none;margin:0;padding:0;min-width:0}
.classroom-shell .classroom-layout{grid-template-columns:minmax(340px,420px) minmax(0,1fr);gap:28px}
.classroom-module-column{min-width:0;padding:0;background:transparent;border:0;box-shadow:none}
.classroom-module-column>h2{font-size:22px;margin:0 0 16px;color:#173b52}
.classroom-module-column .classroom-module:first-child{margin-top:0}
#classroom-course-title{font-size:clamp(26px,3vw,36px);line-height:1.3;margin:0 0 20px;overflow-wrap:anywhere}
.classroom-back-link{display:inline-flex;align-items:center;gap:8px;margin-bottom:8px;padding:10px 16px;border:1px solid #bdcbd3;border-radius:12px;background:#fff;color:#173b52;font-weight:700;text-decoration:none;transition:background .2s,border-color .2s}
.classroom-back-link:hover{background:#eef6fc;border-color:#2584c5;color:#173b52;text-decoration:none}
.classroom-back-link svg{flex-shrink:0;display:block}
.classroom-back-link:focus-visible{outline:3px solid #2584c5;outline-offset:3px}
@media(max-width:1000px){.classroom-shell .classroom-layout{grid-template-columns:1fr;gap:24px}.student-shell.classroom-shell{padding:24px 20px 40px}}
@media(max-width:600px){.student-shell.classroom-shell{padding:20px 16px 36px}.classroom-back-link{font-size:14px}}

/* Carrusel principal más alto y navegación con espacio inferior. */
.hero-container-exact .hero-main-banner{min-height:640px!important}
.hero-container-exact .hero-carousel-bars{bottom:50px!important;margin-bottom:0!important}
@media(max-width:767px){.hero-container-exact .hero-main-banner{min-height:560px!important}.hero-container-exact .hero-carousel-bars{bottom:40px!important}}
@media(max-width:480px){.hero-container-exact .hero-main-banner{min-height:510px!important}.hero-container-exact .hero-carousel-bars{bottom:36px!important}}

@media(min-width:768px){.hero-container-exact .hero-carousel-bars{bottom:95px!important;z-index:30!important;display:flex!important}}

/* Altura del carrusel proporcional a la ventana. */
.hero-container-exact .hero-main-banner{height:75vh!important;min-height:75vh!important;box-sizing:border-box}
@supports(height:75svh){.hero-container-exact .hero-main-banner{height:75svh!important;min-height:75svh!important}}

/* Una misma barra de búsqueda para catálogo y todos los portales. */
body input[type="search"],body .cursos-main-container .cursos-search-wrapper input,body .teacher-course-filters .course-search input{
 height:46px!important;border:1.5px solid #e5e7eb!important;border-radius:24px!important;background-color:#fff!important;color:#374151!important;
 font-family:'Aeonik',Arial,sans-serif!important;font-size:13px!important;font-weight:400!important;line-height:20px!important;letter-spacing:normal!important;text-transform:none!important;padding:10px 18px 10px 44px!important;box-sizing:border-box;box-shadow:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m16 16 5 5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:16px center!important;background-size:18px 18px!important;transition:border-color .2s,box-shadow .2s}
body input[type="search"]::placeholder,body .cursos-search-wrapper input::placeholder{font-family:'Aeonik',Arial,sans-serif!important;font-size:13px!important;font-weight:400!important;color:#718096!important;opacity:1!important;letter-spacing:normal!important;text-transform:none!important}
body input[type="search"]:focus,body .cursos-main-container .cursos-search-wrapper input:focus{border-color:#2584c5!important;box-shadow:0 0 0 3px #2584c522!important;outline:none!important}

.student-home-courses-button{margin-bottom:24px!important}

.certificate-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 15px;border:0;border-radius:12px;background:#7750b2;color:#fff;font-size:13px;font-weight:700;text-decoration:none;margin:4px 0;cursor:pointer}.certificate-button:hover{background:#624094;color:#fff;text-decoration:none}.certificate-button:disabled{opacity:.5;cursor:not-allowed}.certificate-help{font-size:12px;color:#64748b;line-height:1.5}.certificate-requests{margin-top:32px;scroll-margin-top:100px}.certificate-request-list{display:grid;gap:16px}.certificate-request-card{padding:20px;border:1px solid #dce7ee;border-radius:15px}.certificate-request-card h3{margin-top:0!important}.certificate-state{display:inline-block;padding:6px 12px;border-radius:20px;background:#eef6fc;color:#176ba4;font-size:12px}.certificate-state.state-emitida{background:#e9f6ed;color:#107c47}.certificate-state.state-correccion,.certificate-state.state-rechazada{background:#fff0eb;color:#a74725}.certificate-reason{margin-top:14px;white-space:pre-line}.certificate-dialog input,.certificate-dialog select,.certificate-dialog textarea{width:100%;box-sizing:border-box}.certificate-dialog textarea{min-height:100px}.certificate-request-card .system-actions a{background:#7750b2;color:white}.certificate-dialog .certificate-button{background:#7750b2!important;color:#fff!important}

.lesson-completed-badge{display:inline-block;padding:8px 14px;border-radius:20px;background:#e7f6ec;color:#107c47;font-size:13px;font-weight:700}.lesson-completed-badge[hidden],.classroom-completed-label[hidden]{display:none!important}.classroom-lesson-copy .classroom-completed-label{color:#107c47!important;font-weight:700;font-size:11px}.classroom-lesson.lesson-is-completed .classroom-play-icon{color:#107c47}

.portal-course-actions .certificate-button{flex:1 1 160px;min-height:44px;text-align:center;line-height:1.3;white-space:normal}.portal-course-actions .certificate-button:disabled{opacity:1;background:#e9e2f4;color:#5c4280;border:1px solid #c9b8df}.portal-course-body .certificate-help{margin:12px 0 4px;}

.certificate-dialog .system-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.certificate-dialog .system-actions .certificate-button,.certificate-dialog .system-actions .certificate-cancel{display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:46px;margin:0;padding:12px 14px!important;border:0!important;border-radius:30px!important;background:#7750b2!important;color:#fff!important;font-family:inherit;font-size:13px!important;font-weight:700;line-height:1.3;cursor:pointer;text-align:center;transition:background .2s,transform .2s;}
.certificate-dialog .system-actions .certificate-button:hover,.certificate-dialog .system-actions .certificate-cancel:hover{background:#624094!important;transform:translateY(-1px);}
.certificate-dialog .system-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none;}
.certificate-request-card .certificate-state{margin-bottom:14px;}
.certificate-module-progress{margin:20px 0;padding:16px;border:1px solid #dce7ee;border-radius:15px;background:#f7fafc;}
.certificate-module-progress h3{margin:0 0 12px;font-size:17px;}
.certificate-eligibility{padding:10px 12px;border-radius:10px;font-size:13px;line-height:1.5;}
.certificate-eligibility.is-eligible{background:#e9f6ed;color:#107c47;}.certificate-eligibility.is-incomplete{background:#fff2df;color:#845112;}
.certificate-module-detail{padding:12px 0;border-top:1px solid #dce7ee;}
.certificate-module-detail summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;}
.certificate-module-percent{font-size:12px;color:#7750b2;flex-shrink:0;}
.certificate-module-detail progress{display:block;width:100%;height:7px;margin:12px 0;accent-color:#7750b2;}
.certificate-module-detail ul{padding:0;list-style:none;}.certificate-module-detail li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #e6edf2;font-size:12px;}.certificate-module-detail li strong{color:#476178;text-align:right;}
@media(max-width:500px){.certificate-module-detail summary{align-items:flex-start;flex-direction:column;gap:6px;}.certificate-module-detail li{flex-direction:column;gap:4px;}.certificate-module-detail li strong{text-align:left;}}

body[data-session-ready] .teacher-course-tools{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 24px;}
body[data-session-ready] .teacher-course-tools .system-button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:42px;margin:0;padding:10px 18px;border:0;border-radius:30px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s;}
body[data-session-ready] .teacher-course-tools .certificate-requests-button{background:#7750b2;color:#fff;}
body[data-session-ready] .teacher-course-tools .certificate-requests-button:hover{background:#624094;transform:translateY(-1px);}

#editor .category-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;}#editor .category-option{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #e4eaf0;}#editor .category-option label{display:flex;align-items:center;gap:9px;flex:1;margin:0;font-size:13px;}#editor .category-add-actions{display:flex;gap:10px;margin-top:16px;}#editor .category-add-actions input{flex:1;min-width:0;padding:10px 12px;border:1px solid #ccd7dd;border-radius:12px;}body[data-session-ready] #editor .presentation-remove-module{background:#fff1f1;color:#a42b2b;border-radius:20px;padding:8px 12px;border:1px solid #edc6c6;font-size:12px;}@media(max-width:650px){#editor .category-options{grid-template-columns:1fr;}#editor .category-add-actions{flex-wrap:wrap;}}

#editor .category-tools{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
#editor .category-tools input{flex:1;min-width:0;padding:10px 12px;border:1px solid #ccd7dd;border-radius:12px;font:inherit;font-size:13px;}
#editor .category-selection-count{font-size:12px;color:#64748b;white-space:nowrap;}
#editor .category-options{max-height:260px;overflow-y:auto;padding-right:4px;}
#editor .category-option[hidden]{display:none!important;}
#editor .category-option.is-selected label{font-weight:700;}
body[data-session-ready] #editor .category-option .category-delete-link{background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0;padding:3px 0!important;min-height:0;color:#a42b2b;font:inherit;font-size:11px!important;font-weight:400;line-height:1.4;cursor:pointer;}
body[data-session-ready] #editor .category-option .category-delete-link:hover{text-decoration:underline;background:transparent!important;}
#editor .category-option input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;accent-color:#2584c5;}
@media(max-width:450px){#editor .category-tools{flex-wrap:wrap;}#editor .category-tools input{flex-basis:100%;}}

.section-cursos-wrap .folder-tab-sticker,.section-cursos-wrap .folder-unit:hover .folder-tab-sticker{transform:none!important;}

.section-cursos-wrap .home-course-link{transition:transform .25s ease,filter .25s ease;}
.section-cursos-wrap .home-course-link:hover,.section-cursos-wrap .home-course-link:focus-visible{transform:translateY(-7px);filter:drop-shadow(0 12px 10px rgba(23,59,82,.18));}
.cursos-main-layout .curso-tag-sticker,.curso-folder-card .curso-tag-sticker,.curso-folder-card:hover .curso-tag-sticker{transform:none!important;}
.hero-logo-box .logo-hero-white{height:140px!important;width:auto!important;max-width:none!important;filter:none!important;object-fit:contain;}
.contact-line .contact-whatsapp{color:inherit;text-decoration:none;}.contact-line .contact-whatsapp:hover{text-decoration:underline;}.contact-line .contact-whatsapp:focus-visible{outline:2px solid currentColor;outline-offset:4px;}
@media(max-width:768px){.hero-logo-box .logo-hero-white{height:95px!important;max-width:150px!important;}}
@media(prefers-reduced-motion:reduce){.section-cursos-wrap .home-course-link{transition:none;}.section-cursos-wrap .home-course-link:hover,.section-cursos-wrap .home-course-link:focus-visible{transform:none;}}

.curso-meta-card .meta-texts{align-items:center;gap:7px;}.curso-meta-card .meta-value{font-size:24px!important;font-weight:700!important;color:#111827!important;line-height:1.2;}.curso-meta-card .meta-label{font-size:12px!important;font-weight:400!important;color:#6b7280!important;}.curso-malla-section[hidden],.curso-similares-section[hidden]{display:none!important;}

.nosotros-intro-lead,.somos-text,.mv-single-col p,.como-card p,.fan-card p,.proceso-subtitle,.curso-hero-summary,.modulo-desc{font-size:16px!important;line-height:1.75!important;}
@media(max-width:650px){.nosotros-intro-lead,.somos-text,.mv-single-col p,.como-card p,.fan-card p,.proceso-subtitle,.curso-hero-summary,.modulo-desc{font-size:15px!important;line-height:1.7!important;}}


/* Ajuste moderado de tamaño del catálogo, conservando su distribución. */
.cursos-main-container .curso-folder-mask{min-height:260px!important;}
.cursos-main-container .curso-folder-info h3{font-size:12px!important;}
.cursos-main-container .curso-folder-info p{font-size:10px!important;}
.cursos-main-container .curso-tag-sticker{font-size:10px!important;}
@media(max-width:768px){.cursos-main-container .curso-folder-mask{min-height:250px!important;}.cursos-main-container .curso-folder-info h3{font-size:11px!important;}.cursos-main-container .curso-folder-info p{font-size:9px!important;}.cursos-main-container .curso-tag-sticker{font-size:9px!important;}}
@media(max-width:480px){.cursos-main-container .curso-folder-mask{min-height:280px!important;}.cursos-main-container .curso-folder-info h3{font-size:13px!important;}.cursos-main-container .curso-folder-info p{font-size:10px!important;}.cursos-main-container .curso-tag-sticker{font-size:10px!important;}}

/* Aula: reproductor y recursos */
.classroom-player-panel{min-width:0;overflow:hidden}
.classroom-player-panel .video-shell{background:#111b27;border:1px solid #253345;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(17,35,52,.12);position:relative}
.classroom-player-panel #lesson-video{display:block;width:100%;max-height:70vh;aspect-ratio:16/9;object-fit:contain;background:#080e16}
.classroom-player-panel #lesson-video[hidden],.classroom-learning[hidden],.classroom-player-toolbar[hidden]{display:none!important}
.classroom-player-panel #video-empty{color:#dbe5ef;padding:40px 24px;text-align:center;margin:0;font-size:14px;line-height:1.7}
.classroom-player-toolbar{display:flex;align-items:center;gap:10px;padding:10px 2px;margin:4px 0 18px;color:#64748b;font-size:12px}
.classroom-player-toolbar>span{margin-right:auto}.classroom-player-toolbar label{margin:0;font-weight:500}
.classroom-player-toolbar select{width:auto;min-width:88px;border:1px solid #dbe5ed;border-radius:9px;padding:6px 26px 6px 10px;background:#fff;color:#334155;font-size:12px}
.classroom-player-panel .classroom-resource{gap:10px;padding:10px 12px;border-color:#e5edf3;border-radius:10px;background:#fbfcfe;box-shadow:none;transition:border-color .18s,background .18s}
.classroom-player-panel .classroom-resource:hover{background:#f4f8fc;border-color:#bcd7e9}
.classroom-player-panel .classroom-resource-link{display:inline-flex;align-items:center;min-height:30px;padding:3px 0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:13px;font-weight:500;line-height:1.5;text-decoration:none;color:#286b98;transform:none}
.classroom-player-panel .classroom-resource-link:hover{color:#154d73;text-decoration:underline;background:transparent}
.classroom-resource-link:focus-visible{outline:2px solid #2584c5;outline-offset:4px}
.classroom-progress-help{margin-top:24px;padding-top:14px;border-top:1px solid #edf1f5;color:#718096;font-size:12px}
.classroom-progress-help summary{cursor:pointer;font-weight:400}.classroom-progress-help p{font-size:12px;line-height:1.7;max-width:65ch;margin:10px 0 0}
@media(prefers-reduced-motion:reduce){.classroom-player-panel .classroom-resource{transition:none}}

/* Logo principal actualizado */
.hero-logo-box>a{display:inline-block;border-radius:12px;line-height:0;transition:transform .25s ease;transform-origin:center}
.hero-logo-box .logo-hero-white{height:160px!important;transition:filter .25s ease}
.hero-logo-box>a:hover{transform:translateY(-3px) scale(1.035)}
.hero-logo-box>a:hover .logo-hero-white{filter:drop-shadow(0 6px 12px rgba(0,0,0,.18))!important}
.hero-logo-box>a:focus-visible{outline:3px solid #ffbe28;outline-offset:7px}
@media(max-width:768px){.hero-logo-box .logo-hero-white{height:108px!important;max-width:150px!important}}
@media(prefers-reduced-motion:reduce){.hero-logo-box>a,.hero-logo-box .logo-hero-white{transition:none}.hero-logo-box>a:hover{transform:none}}

/* Jerarquía del contenido docente */
#modules .module-heading-title{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;line-height:1.35}
#modules .teacher-module-number{display:block;color:#2584c5;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
#modules .teacher-module-title{display:block;color:#173b52;font-size:22px;font-weight:700;overflow-wrap:anywhere}
#modules .teacher-module-description{font-size:14px;font-weight:400;color:#657589;line-height:1.8;white-space:pre-line;margin:2px 0 18px;padding:0 0 14px;border-bottom:1px solid #e7edf3}
#modules .teacher-lesson-info{flex:1;min-width:0}
#modules .teacher-lesson-info h3{margin-bottom:9px;overflow-wrap:anywhere}
#modules .teacher-lesson-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
#modules .teacher-lesson-status,#modules .teacher-lesson-resources{display:inline-flex;align-items:center;gap:6px;font-size:11px;line-height:1.4;font-weight:600;border-radius:20px;padding:5px 10px;border:1px solid transparent}
#modules .teacher-lesson-status:before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
#modules .teacher-lesson-status.is-published{color:#17764c;background:#eaf6ef;border-color:#cfe9da}
#modules .teacher-lesson-status.is-draft{color:#8a6424;background:#fff7e8;border-color:#f1dfba}
#modules .teacher-lesson-resources{color:#3d6d95;background:#edf4fa;border-color:#d8e6f1}
#modules .teacher-lesson-description{color:#657589;font-size:13px;font-weight:400;line-height:1.7;white-space:pre-line}
@media(max-width:600px){#modules .teacher-module-title{font-size:19px}}

/* Agregar módulo al final del contenido */
.module-add-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 32px;padding:22px 24px;border:1px dashed #b7d3c5;border-radius:18px;background:#f5faf7}
.module-add-copy strong{display:block;color:#234638;font-size:15px;line-height:1.5}.module-add-copy p{margin:5px 0 0;color:#64776c;font-size:13px;line-height:1.6}
body[data-session-ready] main .module-add-footer #add-module{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;margin:0;padding:12px 20px;min-height:46px;border:1px solid #107c47;border-radius:13px;background:#107c47;color:#fff;font-size:14px;font-weight:600;line-height:1.4;box-shadow:0 3px 8px rgba(16,124,71,.12);transition:background .2s,box-shadow .2s,transform .2s}
.module-add-plus{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(255,255,255,.16);font-size:20px;line-height:1;font-weight:400}
body[data-session-ready] main .module-add-footer #add-module:hover{background:#0d663a;transform:translateY(-2px);box-shadow:0 5px 12px rgba(16,124,71,.18)}
.module-add-footer #add-module:focus-visible{outline:3px solid #2584c5;outline-offset:4px}
@media(max-width:650px){.module-add-footer{flex-direction:column;align-items:stretch;padding:18px;gap:16px}.module-add-footer #add-module{width:100%}}
@media(prefers-reduced-motion:reduce){body[data-session-ready] main .module-add-footer #add-module{transition:none}body[data-session-ready] main .module-add-footer #add-module:hover{transform:none}}

/* Ayuda y validación de usuario */
.reg-username-heading{display:flex;align-items:center;gap:8px;margin-bottom:10px}.reg-username-heading label{margin:0!important}
.reg-info-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:#eef5fa;color:#286b98;font-size:18px;line-height:1;cursor:pointer}
.reg-info-button:hover,.reg-info-button[aria-expanded=true]{background:#dcecf7;color:#174f76}.reg-info-button:focus-visible{outline:2px solid #2584c5;outline-offset:3px}
.reg-username-help{font-size:12px;line-height:1.65;color:#536779;background:#f2f7fb;border:1px solid #dbe8f2;border-radius:10px;padding:10px 12px;margin:0 0 10px}
.reg-username-validation{font-size:12px;line-height:1.5;margin:7px 0 0}.reg-username-validation.is-invalid{color:#b53636}.reg-username-validation.is-valid{color:#17764c}
.reg-username-help[hidden],.reg-username-validation[hidden]{display:none!important}

/* Ayuda de usuario discreta, visible con hover o foco de teclado */
.reg-username-heading{position:relative;gap:6px}
.reg-username-heading .reg-info-button{width:16px;height:16px;background:transparent;color:#8a99a8;font-size:14px;font-weight:400;cursor:help;line-height:1;border-radius:50%}
.reg-username-heading .reg-info-button:hover{background:transparent;color:#47718d}
.reg-username-heading .reg-username-help{position:absolute;z-index:20;top:100%;left:0;width:min(280px,80vw);box-sizing:border-box;margin:0;padding:10px 12px;background:#fff;border:1px solid #e2eaf0;box-shadow:0 5px 18px rgba(28,53,74,.1);color:#637487;font-size:12px;line-height:1.6;border-radius:10px}

/* Presentación de módulos y datos de pago */
.presentation-module .presentation-module-number{margin:0 0 14px;color:#2584c5;font-size:17px;line-height:1.4;font-weight:700}
.presentation-module .system-field{margin-bottom:16px}.presentation-module .presentation-module-footer{display:flex;justify-content:flex-end;padding-top:12px;margin-top:4px;border-top:1px solid #e5edf3}
body .presentation-module .presentation-remove-module{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:34px;margin:0;padding:7px 12px;border:1px solid #edcece;border-radius:9px;background:#fff5f5;color:#ac3b3b;font-size:12px;font-weight:500;line-height:1.4;box-shadow:none;white-space:normal}
body .presentation-module .presentation-remove-module:hover{background:#ffe9e9;border-color:#dbaaaa}
#modules .teacher-module-number{font-size:22px;letter-spacing:0;text-transform:none;line-height:1.35;font-weight:700}
.payment-bank-details{text-align:left;max-width:420px;margin:22px auto;padding:20px;border:1px solid #e0e9f0;border-radius:14px;background:#f8fbfe}
.payment-bank-details h3{font-size:17px;color:#173b52;margin:0 0 14px}.payment-bank-details dl{margin:0}.payment-bank-details dl>div{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;padding:10px 0;border-bottom:1px solid #e6edf3}.payment-bank-details dl>div:last-child{border-bottom:0}
.payment-bank-details dt{font-size:12px;font-weight:500;color:#64748b}.payment-bank-details dd{margin:0;font-size:14px;font-weight:600;color:#173b52;overflow-wrap:anywhere}.payment-bank-details .payment-account-number{font-size:18px;letter-spacing:.04em;color:#176ba4}
@media(max-width:600px){#modules .teacher-module-number{font-size:19px}.payment-bank-details{padding:16px}.payment-bank-details dl>div{grid-template-columns:1fr;gap:3px}}

/* Alineación uniforme del editor de la ficha pública */
#editor .presentation-module{display:flex;flex-direction:column;gap:16px;box-sizing:border-box;padding:20px;margin:16px 0;border:1px solid #dce5ec;border-radius:15px}
#editor .presentation-module .presentation-module-number{margin:0;padding:0;font-size:17px;line-height:1.4;color:#2584c5}
#editor .presentation-module .system-field{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;font-size:13px;line-height:1.5}
#editor .presentation-module .system-field input,#editor .presentation-module .system-field textarea{box-sizing:border-box;width:100%;margin:0;padding:11px 12px}
#editor .presentation-module .presentation-module-footer{display:flex;justify-content:flex-end;align-items:center;gap:0;margin:0;padding:0;border:0}
body[data-session-ready] #editor .presentation-module .presentation-remove-module{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:34px;box-sizing:border-box;margin:0;padding:7px 12px;border:1px solid #edcece;border-radius:9px;font-size:12px;line-height:1.4;background:#fff5f5;color:#ac3b3b;box-shadow:none}
@media(max-width:600px){#editor .presentation-module{padding:16px;gap:14px}}

/* Notificaciones y seguridad de cuentas */
body[data-session-ready] main .enrollment-email-resend{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;min-height:36px;border:1px solid #c7deee;border-radius:11px;background:#f0f7fc;color:#21668f;font-size:12px;font-weight:600;line-height:1.4;cursor:pointer;transition:background .2s,border-color .2s}
body[data-session-ready] main .enrollment-email-resend:before{content:'✉';font-size:15px}
body[data-session-ready] main .enrollment-email-resend:hover{background:#e1f0fa;border-color:#8bbbd9}
.enrollment-email-resend:focus-visible{outline:2px solid #2584c5;outline-offset:3px}
.group-enrollment-action{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.registration-security-panel{margin-bottom:24px}.registration-security-panel h2{font-size:20px;margin:0 0 16px}
.registration-security-choice{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #dce7ef;border-radius:12px;background:#f8fbfd;margin-bottom:16px;cursor:pointer}
.registration-security-choice input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:#2584c5}
.registration-security-choice span{display:flex;flex-direction:column;gap:6px}.registration-security-choice small{font-size:12px;font-weight:400;line-height:1.6;color:#64748b}
body.account-utility main.page-container{max-width:650px;margin:44px auto;padding:0 20px}
#resend-verification-form{margin-top:24px}#resend-verification-form h2{font-size:18px}

.auth-forgot-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px}

/* Seguridad personal y eliminación de cuenta */
.personal-security-panel{margin-top:24px}.personal-security-panel h2{font-size:20px;margin-top:0}
.account-delete-panel{margin-top:24px;border:1px solid #eed7d7;background:#fffafa;border-radius:16px}
.account-delete-panel h2{color:#973d3d;font-size:18px;margin:0 0 10px}.account-delete-panel p{color:#76656a;font-size:13px;line-height:1.7}
body[data-session-ready] .account-delete-button,body[data-session-ready] .account-delete-confirm{display:inline-flex;align-items:center;justify-content:center;background:#b83f3f;color:#fff;border:1px solid #b83f3f;border-radius:11px;padding:10px 16px;font-size:13px;line-height:1.4;font-weight:600;cursor:pointer}
body[data-session-ready] .account-delete-button:hover,body[data-session-ready] .account-delete-confirm:hover{background:#983131}
.account-delete-dialog .system-field{margin:18px 0}.account-delete-dialog .system-actions{justify-content:flex-end;gap:12px}.account-delete-dialog .account-delete-cancel{background:#f0f4f7;color:#334155;border:1px solid #d6e1e8;border-radius:11px;padding:10px 16px}
.registration-security-panel .registration-security-choice strong{font-size:14px;line-height:1.5}.registration-security-panel .system-button{border-radius:12px}

/* Separación exterior de las acciones de inscripción */
.group-enrollment-action.enrollment-course-line{flex-wrap:nowrap;column-gap:12px;padding:12px 4px}
body[data-session-ready] main .group-enrollment-action .enrollment-email-resend{margin:4px;flex-shrink:0;white-space:nowrap}

.verification-code-input{font-size:25px!important;font-weight:600;letter-spacing:.3em;text-align:center;max-width:260px;color:#173b52}
.verification-code-input::placeholder{color:#b8c6d2;font-weight:400}
.verification-resend-form{margin-top:22px}.verification-resend-form p{font-size:13px;color:#64748b;margin-bottom:7px}
.verification-resend-button{display:inline-flex;align-items:center;justify-content:center;margin:12px 0;padding:9px 14px;background:#f0f7fc;border:1px solid #c8dfef;border-radius:11px;color:#21668f;font-size:13px;line-height:1.4;cursor:pointer}
.verification-resend-button:hover{background:#e1f0fa}.verification-resend-button:disabled{opacity:.55;cursor:wait}
#registration-code-fields[hidden],#login-code-field[hidden],#confirm-email-form[hidden],#resend-verification-form[hidden]{display:none!important}

/* Consentimiento y tablón de anuncios */
.registration-consents{margin:18px 0 24px}.consent-choice{display:flex!important;align-items:flex-start;gap:10px;margin:14px 0;color:#526273;font-size:12px;line-height:1.6;font-weight:400;cursor:pointer}.consent-choice input{width:17px;height:17px;flex:0 0 17px;margin-top:3px;accent-color:#2584c5}.consent-choice a{color:#176ba4;text-decoration:underline}.registration-consents>p{font-size:11px;line-height:1.6;color:#7b8796}
.announcement-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.announcement-page-heading h1{margin-bottom:8px}.announcements-board .panel{margin:22px 0}.announcements-board h2{font-size:21px}.announcements-board h3{font-size:16px}.announcement-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:20px 0}
.announcement-course-options{max-height:260px;overflow:auto;padding:5px 2px}.announcement-course-choice{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-size:13px;color:#334155;line-height:1.5;border-bottom:1px solid #e7eef4}.announcement-course-choice input{width:17px;height:17px;flex-shrink:0;accent-color:#2584c5;margin-top:2px}
.announcement-history{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:18px 0;border-top:1px solid #e3ebf2}.announcement-history>div{flex:1;min-width:180px}.announcement-history h3{margin:0 0 5px}.announcement-history p{font-size:12px;color:#718096;margin:0}.announcement-preview{width:min(760px,calc(100% - 32px))}.announcement-preview iframe{width:100%;height:55vh;border:1px solid #dce6ee;border-radius:12px;margin-bottom:16px;background:white}
.announcements-board .system-actions button{border-radius:12px;font-size:13px}.announcements-board textarea{min-height:180px;resize:vertical}#announcement-status{padding:10px 0;color:#176ba4;font-size:13px}.announcements-board [hidden]{display:none!important}
@media(max-width:700px){.announcement-grid{grid-template-columns:1fr}.announcement-page-heading{align-items:flex-start;flex-direction:column}}

/* Configuración de perfil agrupada */
.profile-layout{gap:20px}.profile-layout .profile-forms{display:grid;gap:14px}
.profile-settings-form{display:grid;gap:14px;margin:0;padding:0;min-width:0}
.profile-layout .profile-forms .panel{margin:0!important}
.profile-layout .profile-forms .panel h2{margin-bottom:14px}
.profile-layout .profile-forms .field{margin-bottom:14px}
.profile-layout .profile-forms .registration-security-choice{margin-bottom:14px}
.profile-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid #dce7ef;border-radius:14px;background:#f7fbfe}
.profile-settings-footer>.section-help{font-size:12px;line-height:1.5;max-width:340px;margin:0}
.profile-settings-footer .system-button{flex-shrink:0;border-radius:12px;padding:11px 18px;font-size:13px;border:0;cursor:pointer}
.profile-settings-footer .system-button:disabled{opacity:.6;cursor:wait}
.profile-layout .profile-forms>.account-delete-panel{margin-top:2px!important}
@media(max-width:650px){.profile-settings-footer{flex-direction:column;align-items:stretch}.profile-settings-footer .system-button{width:100%}}

/* Tablón de correo: composición y acciones */
.announcements-board .announcement-eyebrow{font-size:11px;letter-spacing:.1em;font-weight:700;color:#2584c5}.announcements-board .announcement-page-heading h1{font-size:clamp(27px,3vw,36px);margin-top:7px}
.announcements-board .announcement-summary{display:inline-block;padding:9px 14px;margin:0 0 4px;border-radius:10px;background:#edf5fb;color:#42667e;font-size:12px}
.announcements-board .panel{border:1px solid #dfe8ef;border-radius:18px;padding:24px;box-shadow:0 4px 18px rgba(34,62,83,.035)}
.announcement-editor-frame{border:1px solid #ccdce7;border-radius:13px;background:white;overflow:visible}.announcement-editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:10px;background:#f6f9fc;border-bottom:1px solid #dce7ee;border-radius:13px 13px 0 0}
body[data-session-ready] main .announcement-editor-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;width:auto;margin:0;padding:6px 9px;border:1px solid #dbe5ed;border-radius:7px;background:#fff;color:#3c566c;font-size:12px;line-height:1.3;box-shadow:none;cursor:pointer}
body[data-session-ready] main .announcement-editor-toolbar button:hover{background:#e8f2f9;border-color:#accde3}
.announcement-editor-toolbar .cedicap-select{width:112px;flex:0 0 112px}.announcement-editor-toolbar .cedicap-select-trigger{width:100%!important;justify-content:space-between!important;padding-right:25px!important}.announcement-editor-toolbar .cedicap-select-arrow{right:7px}
.announcement-color-label{display:flex;align-items:center;gap:5px;margin:0;font-size:12px;color:#536b80}.announcement-color-label input{width:30px;height:30px;padding:2px;border:1px solid #dbe5ed;border-radius:6px;background:white}
#announcement-rich{min-height:220px;max-height:500px;overflow:auto;outline:none;padding:18px;line-height:1.75;font-size:15px;color:#173b52;overflow-wrap:anywhere}#announcement-rich:empty:before{content:attr(data-placeholder);color:#95a3af;pointer-events:none}#announcement-rich h2{font-size:24px}#announcement-rich h3{font-size:19px}#announcement-rich ul,#announcement-rich ol{padding-left:24px}#announcement-rich blockquote{border-left:3px solid #86b8d9;padding:8px 14px;color:#567085;background:#f5f9fc;margin:12px 0}
#announcement-rich:focus{box-shadow:inset 0 0 0 2px #2584c530;border-radius:0 0 12px 12px}
.announcement-course-options{max-height:340px}.announcement-course-choice{display:flex;align-items:center;gap:10px;padding:10px;margin:0 0 8px;border:1px solid #e1e9f0;border-radius:12px;background:#fff;cursor:pointer}.announcement-course-choice:has(input:checked){border-color:#2584c5;background:#f0f7fc}.announcement-course-choice img{width:92px;height:64px;object-fit:cover;border-radius:8px;background:#eaf1f7;flex-shrink:0}.announcement-course-copy{display:flex;flex-direction:column;gap:5px;min-width:0}.announcement-course-copy strong{font-size:13px;line-height:1.4;font-weight:600}.announcement-course-copy small{font-size:11px;color:#718096}
.announcement-attachments{border-top:1px solid #e6edf3;padding-top:20px;margin-top:12px}.announcement-file-picker{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#536b80;padding:14px;border:1px dashed #b8cede;border-radius:11px;background:#f8fbfd;cursor:pointer}.announcement-file-picker input{font-size:12px;max-width:100%}
.announcement-attachment-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf1f5}.announcement-attachment-link{flex:1;min-width:0;overflow-wrap:anywhere;font-size:13px;color:#21668f}.announcement-attachment-row small{font-size:11px;color:#718096}
body[data-session-ready] main .announcements-board button,body[data-session-ready] main.announcements-board button{font-family:inherit}
body[data-session-ready] main .announcement-attachment-remove{padding:5px 9px;border:1px solid #ebcfcf;border-radius:8px;background:#fff5f5;color:#ae4545;font-size:11px}
.announcement-composer-actions{padding-top:18px;margin:22px 0 0;gap:10px;border-top:1px solid #e6edf3}
body[data-session-ready] main .announcement-composer-actions button,body[data-session-ready] main .announcement-history-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 15px;min-height:40px;margin:0;border:1px solid #cfdfeb;border-radius:11px;background:#f2f7fb;color:#315e7d;font-size:12px;font-weight:600;line-height:1.4;cursor:pointer;box-shadow:none;transition:background .18s,transform .18s}
body[data-session-ready] main .announcement-composer-actions .announcement-send-button,body[data-session-ready] main .announcement-history-actions .announcement-send-action{background:#107c47;border-color:#107c47;color:#fff}
body[data-session-ready] main .announcement-composer-actions .announcement-send-button:before{content:'✉';font-size:16px}
body[data-session-ready] main .announcement-composer-actions .announcement-save-button{background:#2584c5;border-color:#2584c5;color:#fff}
body[data-session-ready] main .announcement-composer-actions .announcement-test-button{background:#fff7e8;border-color:#ecd5a8;color:#8c6225}
body[data-session-ready] main .announcement-composer-actions button:hover,body[data-session-ready] main .announcement-history-actions button:hover{filter:brightness(.96);transform:translateY(-1px)}
body[data-session-ready] main .announcement-composer-actions button:disabled{opacity:.5;cursor:default;transform:none}
.announcement-history-actions{display:flex;flex-wrap:wrap;gap:8px}.announcement-history{align-items:center;padding:18px 0;gap:16px}.announcement-status-badge{display:inline-block;font-size:10px;font-weight:600;padding:3px 8px;border-radius:20px;background:#fff5e2;color:#8b6629;margin-bottom:8px}.announcement-status-badge.complete{background:#eaf6ee;color:#23774c}.announcement-status-badge.sending{background:#eaf3fb;color:#23628f}.announcement-empty{padding:24px;background:#f8fbfd;border:1px dashed #d4e2ed;border-radius:12px;color:#718096;font-size:13px}
@media(max-width:650px){.announcements-board .panel{padding:18px}.announcement-history{flex-direction:column;align-items:stretch}.announcement-history-actions{width:100%}.announcement-course-choice img{width:76px;height:58px}.announcement-composer-actions>button{flex:1 1 140px}}
@media(prefers-reduced-motion:reduce){body[data-session-ready] main .announcement-composer-actions button,body[data-session-ready] main .announcement-history-actions button{transition:none;transform:none}}

/* Editor sencillo de anuncios */
.announcements-board button svg{width:18px;height:18px;flex:none;vertical-align:middle}.announcements-board button{gap:7px}.announcement-template-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;background:#fbfcfe;border-bottom:1px solid #e5edf3}.announcement-template-bar label{display:flex;align-items:center;gap:10px;font-size:13px}.announcement-template-bar small{color:#718293}#announcement-rich img{max-width:100%;height:auto}.announcement-preview-switch{display:flex;gap:8px;margin-bottom:12px}.announcement-preview iframe{display:block;margin-inline:auto;transition:width .2s}.announcement-editor-toolbar button:focus-visible{outline:2px solid #2584c5;outline-offset:2px}

/* Acciones discretas del tablón */
body[data-session-ready] main .announcement-history-actions .announcement-delete-action{width:36px;min-height:36px;padding:8px;background:transparent;border-color:transparent;color:#82919e;margin-left:4px}body[data-session-ready] main .announcement-history-actions .announcement-delete-action:hover{background:#fff0f1;color:#b43f4b;border-color:#f3d4d8}body[data-session-ready] main .announcement-history-actions .announcement-delete-action:disabled{opacity:.35;cursor:not-allowed;transform:none}body[data-session-ready] main .announcement-composer-actions #announcement-send{flex:0 0 44px;width:44px;padding:10px}body[data-session-ready] main .announcement-composer-actions #announcement-send:before{content:none}body[data-session-ready] main .announcement-history-actions .announcement-send-action:has(svg){width:40px;padding:10px}

.classroom-playback-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0}.classroom-playback-actions[hidden]{display:none!important}.classroom-playback-actions p{flex-basis:100%;margin:0;color:#5f7283;font-size:13px}.classroom-player-panel .video-shell{padding:0}.classroom-player-panel #lesson-video{pointer-events:auto;touch-action:manipulation}.classroom-playback-actions button{min-height:44px}

.classroom-buffer-info{display:block;flex-basis:100%;color:#6a8092;font-size:12px;margin-top:2px}

.classroom-recovery-toggle{display:flex;align-items:center;gap:8px;flex-basis:100%;font-size:12px;color:#657c8e;margin:4px 0}.classroom-recovery-toggle input{width:15px;height:15px;accent-color:#2584c5;flex:none}

.classroom-player-panel{scroll-margin-top:100px}.classroom-media-status:empty{display:none}.classroom-media-status{font-size:13px;color:#617789;margin:10px 0}.certificate-button{max-width:100%;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;text-align:center;min-height:44px}@media(max-width:600px){.portal-course-actions{min-width:0}.portal-course-actions .certificate-button{flex:1 1 100%;width:100%}.certificate-dialog .system-actions{grid-template-columns:1fr}.classroom-player-panel{scroll-margin-top:85px}}
