#entregas-module-container{width:100%}.ea-shell,.ea-review{width:min(1120px,100%);margin:1rem auto;padding:clamp(1rem,2.5vw,1.6rem)}.ea-heading,.ea-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.ea-heading small,.ea-review-head small{color:var(--primary);font-size:.68rem;font-weight:800;letter-spacing:.08em}.ea-heading h2,.ea-review-head h2{margin:.25rem 0;color:var(--text-main);font-size:1.25rem}.ea-heading p,.ea-review-head p{margin:0;color:var(--text-muted);font-size:.8rem}.ea-heading>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-weight:800}.ea-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.ea-panel,.ea-students{padding:1rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-hover)}.ea-panel h3,.ea-students h3{margin:0 0 .8rem;color:var(--text-main);font-size:.88rem}.ea-upload{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:.8rem;padding:.85rem;border:1px dashed color-mix(in srgb,var(--primary) 45%,var(--border));border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer}.ea-upload>span{display:grid;place-items:center;width:44px;height:44px;border-radius:11px;background:var(--primary-soft);color:var(--primary);font-size:.7rem;font-weight:900}.ea-upload div{display:grid;gap:.2rem;min-width:0}.ea-upload strong{color:var(--text-main);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ea-upload small{color:var(--text-muted);font-size:.67rem}.ea-upload>b{color:var(--primary);font-size:.7rem}.ea-kind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.ea-kind-grid button{display:grid;place-items:center;gap:.35rem;min-height:76px;padding:.55rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text-main);cursor:pointer}.ea-kind-grid button>span{color:var(--primary);font-weight:900}.ea-kind-grid button strong{font-size:.66rem}.ea-kind-grid button.is-active{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 16%,transparent)}.ea-date{display:grid;gap:.35rem;margin-top:.8rem}.ea-date span{color:var(--text-main);font-size:.72rem;font-weight:700}.ea-date input{height:44px;padding:0 .8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-main);font:inherit;color-scheme:dark}.ea-status{min-height:1.1rem;margin-top:.55rem;color:var(--text-muted);font-size:.72rem}.ea-students ol{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem 1.5rem;max-height:230px;margin:.7rem 0 0;padding:0 0 0 2rem;overflow:auto}.ea-students li{padding:.25rem;color:var(--text-main);font-size:.72rem;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.ea-summary{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:.7rem;margin-top:1rem}.ea-summary>div{display:grid;gap:.2rem;padding:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg)}.ea-summary small{color:var(--text-muted);font-size:.64rem}.ea-summary strong{color:var(--text-main);font-size:.74rem}.ea-actions{display:flex;justify-content:flex-end;margin-top:1rem}.ea-actions .btn{min-width:220px}.ea-review{width:min(1420px,100%)}.ea-review-actions{display:flex;justify-content:flex-end;gap:.65rem;margin:1rem 0}.ea-preview{height:clamp(650px,75vh,920px);padding:.7rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-hover)}.ea-preview iframe{width:100%;height:100%;border:0;background:#fff}.ea-review-head>button{flex:0 0 auto}@media(max-width:850px){.ea-grid{grid-template-columns:1fr}.ea-kind-grid{grid-template-columns:repeat(2,1fr)}.ea-summary{grid-template-columns:1fr}.ea-students ol{grid-template-columns:1fr}.ea-section-body{grid-template-columns:1fr}.ea-review-actions{display:grid}.ea-review-actions .btn,.ea-actions .btn{width:100%}.ea-heading,.ea-review-head{align-items:stretch;flex-direction:column}.ea-preview{height:70vh;padding:.35rem}}.ea-date small{color:var(--text-muted);font-size:.66rem;line-height:1.35}.ea-validation{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.7rem;padding:.7rem .8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-muted);font-size:.7rem}.ea-validation strong{color:var(--success,#15803d)}.ea-validation .btn{min-height:36px;padding:.45rem .75rem;font-size:.68rem}.ea-student-columns{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 2rem;max-height:230px;margin-top:.7rem;overflow:auto}.ea-student-columns ol{display:block!important;max-height:none!important;margin:0!important;padding-left:2rem!important;overflow:visible!important}.ea-student-columns li{break-inside:avoid}@media(max-width:650px){.ea-student-columns{grid-template-columns:1fr;max-height:320px}}
/* [NUCLEO-TIPO-DOCUMENTO] Lista de secciones detectadas al soportar varios
   PDF a la vez — mismo criterio visual que .mx-groups en rotulos.css. Vive
   en su propio panel a todo el ancho (ver .ea-sections-panel) para que no
   compita por espacio con el panel corto de "Tipo de entrega". */
.ea-sections-panel{margin-top:1rem}
.ea-sections-hint{margin:-.35rem 0 .9rem;color:var(--text-muted);font-size:.72rem}
.ea-sections{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}
.ea-section{padding:.9rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-card)}
.ea-section:last-child{border-bottom:0}
.ea-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.ea-section-head strong{color:var(--text-main);font-size:.8rem}
.ea-section-head small{display:block;margin-top:.15rem;color:var(--text-muted);font-size:.68rem}
.ea-section-head button{border:0;background:transparent;color:var(--text-muted);font-size:1.2rem;line-height:1;cursor:pointer}
/* Dentro de cada tarjeta: docente + validación a la izquierda (ancho fijo,
   no necesita crecer), lista de estudiantes colapsable a la derecha — así
   una sección con 40 estudiantes no empuja verticalmente el resto de la
   pantalla ni dejan una columna vacía junto a otra muy alta. */
.ea-section-body{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:1.2rem;align-items:start;margin-top:.75rem}
.ea-section-body .ea-date{margin-top:0}
.ea-students{padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-hover)}
.ea-students summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;cursor:pointer;list-style:none}
.ea-students summary::-webkit-details-marker{display:none}
.ea-students summary::marker{content:''}
.ea-students summary span{color:var(--text-main);font-size:.78rem;font-weight:700}
.ea-students summary small{color:var(--text-muted);font-size:.68rem}
.ea-students[open] summary{margin-bottom:.2rem}
