/* Panel docente local: jerarquía clara y uso eficiente del ancho disponible. */
.local-teacher-panel{margin-top:16px}.local-teacher-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.45fr);gap:18px;align-items:end;padding-bottom:16px;border-bottom:1px solid #79382f}.local-teacher-toolbar h3{margin:4px 0 6px}.local-teacher-toolbar p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.5}.local-student-picker{display:grid;gap:6px;color:#f6d2aa;font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.local-student-picker select{width:100%;padding:10px 11px;border:1px solid #79382f;border-radius:10px;background:#260c16;color:var(--ink);text-transform:none;letter-spacing:0}.local-student-identity{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 11px}.local-student-identity h4{margin:3px 0 0;font-size:1.1rem}.local-student-identity p{margin:0;color:var(--muted);font-size:.78rem}.local-student-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.local-student-stat{padding:12px;border-left:3px solid var(--line);background:#35101b}.local-student-stat:nth-child(1){border-left-color:var(--green)}.local-student-stat:nth-child(2){border-left-color:var(--yellow)}.local-student-stat:nth-child(3){border-left-color:var(--violet)}.local-student-stat:nth-child(4){border-left-color:#ff9178}.local-student-stat b{display:block;font-size:1.28rem;color:#fff1dc}.local-student-stat span{display:block;margin-top:3px;color:var(--muted);font-size:.7rem;line-height:1.3}.local-student-columns{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px}.local-student-columns .card{padding:16px;box-shadow:none}.local-student-columns h4{margin:3px 0 12px;font-size:.95rem}.local-module-progress{display:grid;gap:8px}.local-module-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:10px;align-items:center}.local-module-row label{font-size:.8rem;color:#fbe9d9;line-height:1.3}.local-module-row label small{display:block;color:var(--muted);font-size:.68rem;margin-top:2px}.local-module-row .mini-bar{margin:0}.local-delivery-list{display:grid;gap:0;margin-top:16px;border-top:1px solid #79382f}.local-delivery{padding:12px 0;border-bottom:1px solid #79382f}.local-delivery summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.local-delivery summary::-webkit-details-marker{display:none}.local-delivery summary:before{content:'+';display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#6a2830;color:var(--yellow);font-weight:900}.local-delivery[open] summary:before{content:'–'}.local-delivery-summary{min-width:0;flex:1}.local-delivery-summary b{display:block;font-size:.86rem;color:#fff1dc}.local-delivery-summary small{display:block;color:var(--muted);font-size:.71rem;margin-top:2px}.local-delivery-badge{border:1px solid #79382f;border-radius:99px;padding:4px 7px;color:var(--green);font-size:.67rem;font-weight:850;white-space:nowrap}.local-delivery-body{margin:11px 0 0 32px;padding:11px 12px;background:#35101b;border-left:2px solid #914238}.local-prompt{padding:9px 0;border-bottom:1px solid #71302f}.local-prompt:last-child{border-bottom:0}.local-prompt h5{margin:0 0 5px;color:var(--yellow);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.local-prompt p{margin:0;color:#fbe9d9;font-size:.84rem;line-height:1.45}.local-prompt a{display:block;margin-top:5px;color:var(--yellow);font-size:.78rem;overflow-wrap:anywhere}.local-audio-names{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.local-audio-names span{font-size:.7rem;color:#f7d4bf;background:#260c16;border:1px solid #71302f;border-radius:6px;padding:4px 6px}.local-student-note{margin:10px 0 0 32px;color:#f8dec8;font-size:.8rem;line-height:1.45}.local-student-create{margin-top:16px}.local-student-create summary{cursor:pointer;color:var(--yellow);font-size:.8rem;font-weight:850}.local-student-create .student-create{margin-top:12px}.local-teacher-empty{padding:15px 0 2px;color:var(--muted);line-height:1.5}@media(max-width:780px){.local-teacher-toolbar,.local-student-columns{grid-template-columns:1fr}.local-student-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.local-delivery-body,.local-student-note{margin-left:0}.local-student-identity{align-items:flex-start;flex-direction:column}}

/* Resumen de alumno: mismos datos, aproximadamente la mitad de alto. */
body[data-user-role="student"] .dashboard-lower{grid-template-columns:1fr;gap:12px;margin-top:13px}body[data-user-role="student"] .dashboard-lower>.card{padding:14px 15px;box-shadow:none}body[data-user-role="student"] .dashboard-lower h3{font-size:.96rem;margin:4px 0 9px}body[data-user-role="student"] .dashboard-lower .progress-list{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,auto);grid-auto-flow:column;column-gap:14px;row-gap:0}body[data-user-role="student"] .dashboard-lower .analytics-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px;row-gap:0}body[data-user-role="student"] .dashboard-lower .dashboard-row{grid-template-columns:minmax(0,1fr) 60px;gap:7px;padding:6px 0;min-height:41px}body[data-user-role="student"] .dashboard-lower .dashboard-row label{font-size:.74rem;line-height:1.22;overflow-wrap:anywhere}body[data-user-role="student"] .dashboard-lower .dashboard-row small{font-size:.65rem;margin-top:1px}body[data-user-role="student"] .dashboard-lower .mini-bar{height:6px;border-width:0;background:#5e272d}body[data-user-role="student"] .dashboard-lower .mini-bar i{background:linear-gradient(90deg,var(--green),var(--yellow))}@media(min-width:1050px){body[data-user-role="student"] .dashboard-lower .analytics-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){body[data-user-role="student"] .dashboard-lower .progress-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,auto)} }@media(max-width:560px){body[data-user-role="student"] .dashboard-lower .progress-list,body[data-user-role="student"] .dashboard-lower .analytics-list{grid-template-columns:1fr;grid-template-rows:none;grid-auto-flow:row}body[data-user-role="student"] .dashboard-lower .dashboard-row{grid-template-columns:minmax(0,1fr) 90px}}

/* Orden visible del recorrido, tanto en la navegación como en el panel. */
#moduleNav{counter-reset:course-module}#moduleNav .module-btn{counter-increment:course-module}#moduleNav .module-title:before{content:'Módulo ' counter(course-module);display:block;color:var(--yellow);font-size:.63rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}body[data-user-role="student"] .progress-list{counter-reset:progress-module}body[data-user-role="student"] .progress-list .dashboard-row{counter-increment:progress-module}body[data-user-role="student"] .progress-list .dashboard-row label:before{content:'Módulo ' counter(progress-module) ' · ';color:var(--yellow);font-size:.66rem;font-weight:900;letter-spacing:.035em}

.practice-rubric:not(:has(span)){display:none}

.practice-link-fields{display:grid;gap:7px}.practice-link-field{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}.practice-link-input{grid-column:1/-1;min-width:0;width:100%;padding:9px 10px;border:1px solid #71302f;border-radius:8px;background:#260c16;color:var(--ink);font:inherit}.practice-link-input:focus{outline:2px solid var(--yellow);outline-offset:2px}.practice-link-title{min-width:0;align-self:center;color:#fff1dc;font-size:.87rem;font-weight:850;line-height:1.35;overflow-wrap:anywhere;text-decoration:none}.practice-link-title:before{content:'Track / video · ';color:var(--green);font-size:.67rem;letter-spacing:.05em;text-transform:uppercase}.practice-link-title:hover{color:var(--yellow);text-decoration:underline}.practice-link-remove,.practice-link-edit,.practice-add-link,.practice-add-file{border:1px solid #79382f;background:#35101b;color:var(--muted);border-radius:8px;padding:8px 9px;font-size:.76rem;font-weight:800}.practice-link-remove{color:#efa69c}.practice-link-edit{color:var(--yellow)}.practice-add-link{margin-top:8px;color:var(--yellow)}.practice-add-file{padding:8px 9px;white-space:nowrap}.practice-add-link:hover,.practice-add-file:hover,.practice-link-edit:hover{border-color:var(--yellow);color:var(--yellow)}@media(max-width:560px){.practice-link-field{grid-template-columns:1fr auto}.practice-link-title{grid-column:1/-1}.practice-link-remove{justify-self:start}}
textarea.practice-links[hidden]{display:none!important}

.youtube-video-title{margin:8px 0 4px;color:#fff1dc;font-size:.88rem;font-weight:850;line-height:1.35;overflow-wrap:anywhere}.youtube-video-title:before{content:'Track / video · ';color:var(--green);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}

.source-container>.source-container-body{padding:2px 14px 14px;border-top:1px solid #71302f;background:#2b1019}.source-subgroup{border-bottom:1px solid #71302f}.source-subgroup:last-child{border-bottom:0}.source-subgroup summary{display:flex;align-items:center;gap:9px;padding:12px 4px;cursor:pointer;color:#fbe9d9;font-size:.89rem;font-weight:800;list-style:none}.source-subgroup summary::-webkit-details-marker{display:none}.source-subgroup summary:before{content:'+';color:var(--yellow);font-size:1rem}.source-subgroup[open]>summary{color:var(--yellow)}.source-subgroup[open]>summary:before{content:'–'}.source-subgroup .source-body{margin:0 -14px;padding:1px 14px 14px;border-top:0;background:transparent}

.class-log{margin-top:20px;padding-top:18px;border-top:1px solid #79382f}.class-log-form{border:1px solid #79382f;border-radius:12px;background:#35101b;overflow:hidden}.class-log-form summary{padding:12px 14px;color:var(--yellow);font-size:.8rem;font-weight:900;cursor:pointer;list-style:none}.class-log-form summary::-webkit-details-marker{display:none}.class-log-form summary:before{content:'+';margin-right:7px;font-size:1rem}.class-log-form[open] summary:before{content:'–'}.class-log-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:14px;border-top:1px solid #71302f}.class-log-fields label{display:grid;gap:5px;color:#f6d2aa;font-size:.69rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.class-log-fields input,.class-log-fields select,.class-log-fields textarea{width:100%;border:1px solid #71302f;border-radius:8px;background:#260c16;color:var(--ink);padding:9px;font:inherit;text-transform:none;letter-spacing:0}.class-log-fields textarea{min-height:74px;resize:vertical;line-height:1.45}.class-log-fields .class-log-wide{grid-column:1/-1}.class-log-fields .primary{justify-self:start}.class-log-fields .auth-message{margin:0}.class-log-list{display:grid;gap:10px;margin-top:12px}.class-log-entry{padding:13px;border:1px solid #71302f;border-radius:12px;background:#35101b}.class-log-entry.latest{border-color:#758e46;background:linear-gradient(135deg,#38251c,#35101b)}.class-log-entry header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.class-log-heading{display:flex;align-items:flex-start;gap:10px}.class-log-number{display:grid!important;place-items:center;min-width:64px;height:30px;padding:0 7px;border-radius:99px;background:#6a2830;color:var(--yellow)!important;font-size:.66rem!important;font-weight:900!important;letter-spacing:.02em!important;line-height:1;white-space:nowrap;text-transform:uppercase}.class-log-entry.latest .class-log-number{background:var(--green);color:#20130c!important}.class-log-entry header span:not(.class-log-number){display:block;color:var(--yellow);font-size:.7rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.class-log-entry header b{display:block;color:#fff1dc;font-size:.87rem;margin-top:3px}.class-log-entry header em{align-self:center;color:#20130c;background:var(--green);border-radius:99px;padding:4px 7px;font-size:.65rem;font-style:normal;font-weight:900;white-space:nowrap}.class-log-delete{border:0;background:transparent;color:#efa69c;font-size:.74rem;font-weight:800;padding:3px}.class-log-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.class-log-content section{border-left:2px solid #914238;padding:2px 0 2px 10px}.class-log-content h5{margin:0 0 4px;color:var(--green);font-size:.67rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.class-log-content p{margin:0;color:#fbe9d9;font-size:.81rem;line-height:1.45}@media(max-width:650px){.class-log-fields,.class-log-content{grid-template-columns:1fr}.class-log-fields .class-log-wide{grid-column:auto}.class-log-heading{gap:8px}.class-log-entry header em{display:none}}

body[data-user-role="teacher"] .progress,body[data-user-role="teacher"] .mode-switch{display:none}body[data-user-role="teacher"] nav{display:flex}body[data-user-role="teacher"] nav .teacher-top-tab{display:inline-flex!important}
body[data-user-role="student"] .teacher-top-tab{display:none!important}

/* Gestión se limita a las cuentas; el recorrido pedagógico vive en Seguimiento. */
.local-teacher-panel[data-teacher-tab="users"] .local-student-identity,.local-teacher-panel[data-teacher-tab="users"] .local-student-stats,.local-teacher-panel[data-teacher-tab="users"] .local-student-columns,.local-teacher-panel[data-teacher-tab="users"]>section:not(#teacherCourseInfo),.local-teacher-panel[data-teacher-tab="users"] .class-log{display:none!important}
.local-teacher-panel [hidden],.local-teacher-panel .local-student-picker[hidden]{display:none!important}

/* Gestión de alumnos: controles alineados y acciones separadas por nivel de riesgo. */
.local-teacher-panel[data-teacher-tab="users"] .local-teacher-toolbar,.local-teacher-panel[data-teacher-tab="course"] .local-teacher-toolbar{grid-template-columns:1fr}.local-teacher-panel[data-teacher-tab="users"] .local-teacher-toolbar{padding-bottom:12px}.local-teacher-panel[data-teacher-tab="users"] .local-student-manage{margin-top:16px}.local-teacher-panel[data-teacher-tab="users"] .local-student-manage-body{grid-template-columns:1fr;gap:14px}.local-teacher-panel[data-teacher-tab="users"] .local-student-manage .student-create{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 14px;padding:2px 0}.local-teacher-panel[data-teacher-tab="users"] .local-student-manage .student-create .primary{grid-column:1;min-width:176px;min-height:40px}.local-teacher-panel[data-teacher-tab="users"] .local-student-manage .student-create .auth-message{grid-column:2;align-self:center}.local-teacher-panel[data-teacher-tab="users"] .local-student-danger{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:13px 14px}.local-teacher-panel[data-teacher-tab="users"] .local-student-delete{align-self:center;white-space:nowrap}.local-teacher-panel[data-teacher-tab="users"] .local-student-create{margin-top:14px;border-top:1px solid #79382f;padding-top:14px}.local-teacher-panel[data-teacher-tab="users"] .local-student-create summary{display:inline-flex;align-items:center;min-height:32px}.local-teacher-panel[data-teacher-tab="users"] .local-student-create .student-create{margin-top:14px;padding:14px;border:1px solid #71302f;border-radius:11px;background:#35101b}@media(max-width:650px){.local-teacher-panel[data-teacher-tab="users"] .local-student-manage .student-create{grid-template-columns:1fr}.local-teacher-panel[data-teacher-tab="users"] .local-student-manage .student-create .primary,.local-teacher-panel[data-teacher-tab="users"] .local-student-manage .student-create .auth-message{grid-column:auto}.local-teacher-panel[data-teacher-tab="users"] .local-student-danger{grid-template-columns:1fr}.local-teacher-panel[data-teacher-tab="users"] .local-student-delete{justify-self:start}}

/* Las notas bajo Usuario no deben mover las etiquetas de las demás columnas. */
.local-teacher-panel[data-teacher-tab="users"] .local-student-manage .student-create,.local-teacher-panel[data-teacher-tab="users"] .local-student-create .student-create{align-items:start}.local-teacher-panel[data-teacher-tab="users"] .local-student-manage .student-create .auth-field{align-self:start}.local-teacher-panel[data-teacher-tab="users"] .local-student-manage .student-create .primary{align-self:end}.local-teacher-panel[data-teacher-tab="users"] .local-student-create .student-create{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px 14px}.local-teacher-panel[data-teacher-tab="users"] .local-student-create .student-create .auth-field{align-self:start}.local-teacher-panel[data-teacher-tab="users"] .local-student-create .student-create .primary{align-self:start;margin-top:30px}@media(max-width:850px){.local-teacher-panel[data-teacher-tab="users"] .local-student-create .student-create{grid-template-columns:repeat(2,minmax(0,1fr))}.local-teacher-panel[data-teacher-tab="users"] .local-student-create .student-create .primary{margin-top:0;align-self:end}}@media(max-width:650px){.local-teacher-panel[data-teacher-tab="users"] .local-student-create .student-create{grid-template-columns:1fr}.local-teacher-panel[data-teacher-tab="users"] .local-student-create .student-create .primary{margin-top:0;align-self:start}}

/* Resultados resumidos de las cuatro evaluaciones. */
.quiz-round-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quiz-round-result{display:flex;align-items:center;gap:9px;min-width:0;padding:9px;border:1px solid #71302f;border-radius:10px;background:#35101b}.quiz-round-result.completed{border-color:#758e46;background:linear-gradient(135deg,#38251c,#35101b)}.quiz-round-result.locked{opacity:.62}.quiz-round-mini-chart{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:conic-gradient(var(--green) var(--score),#6a2830 0);position:relative}.quiz-round-mini-chart:after{content:'';position:absolute;inset:5px;border-radius:50%;background:#35101b}.quiz-round-mini-chart span{position:relative;z-index:1;color:#fff1dc;font-size:.6rem;font-weight:900}.quiz-round-result b{display:block;color:#fff1dc;font-size:.74rem;line-height:1.25}.quiz-round-result small{display:block;margin-top:2px;color:var(--muted);font-size:.65rem;line-height:1.3}@media(max-width:560px){.quiz-round-results{grid-template-columns:1fr}}

/* El selector del quiz ocupa su propia línea y no invade el rótulo superior. */
.quiz-card .quiz-kicker{display:block;margin:0 0 13px;line-height:1.45;letter-spacing:.075em;overflow-wrap:anywhere}.quiz-card .quiz-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:0 0 22px;padding:10px 12px;border:1px solid #79382f;border-radius:12px;background:#35101b}.quiz-card .quiz-toolbar label{margin:0;white-space:nowrap;color:#f6d2aa}.quiz-card .quiz-toolbar select{width:100%;min-width:0;min-height:42px;margin:0;background:#260c16;border-color:#914238;line-height:1.25}.quiz-card .quiz-toolbar select:focus-visible{outline-offset:2px!important}@media(max-width:620px){.quiz-card .quiz-toolbar{grid-template-columns:1fr;gap:6px;padding:11px}.quiz-card .quiz-toolbar label{font-size:.74rem}.quiz-card .quiz-toolbar select{font-size:.9rem}}

/* Tarjetas DDJ-1000: cada capa de texto conserva su propio espacio. */
.controller-controls{align-items:stretch}.controller-controls .control{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:0;min-height:178px;height:100%;overflow:hidden}.controller-controls .control h3{min-width:0;overflow-wrap:anywhere}.controller-controls .control p{min-width:0;margin:0;overflow-wrap:anywhere}.controller-controls .control .locate{min-width:0;margin:0;padding-top:12px;line-height:1.35;overflow-wrap:anywhere}@media(max-width:700px){.controller-controls .control{min-height:156px}}

/* DDJ-1000: tarjetas compactas; la explicación aparece solo al seleccionar el control. */
.controller-controls .control{grid-template-rows:auto auto;align-content:center;gap:3px;min-height:66px;padding:9px 11px}.controller-controls .control .control-no{font-size:.64rem}.controller-controls .control h3{margin:0;font-size:.82rem;line-height:1.18}.controller-controls .control p,.controller-controls .control .locate{display:none}
@media(max-width:700px){.controller-controls .control{min-height:62px;padding:9px 10px}}

/* Sistema de interacción consistente: foco visible, contraste, ritmo y superficies. */
html{scroll-behavior:smooth}::selection{background:var(--yellow);color:#28110d}button,input,select,textarea,summary,a{scroll-margin-top:18px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--yellow)!important;outline-offset:3px!important;border-radius:8px}.nav-btn,.primary,.ghost,.module-btn,.control,.lesson-btn,.upload-button,.practice-add-link,.practice-add-file,.practice-link-edit,.practice-link-remove,.local-student-delete,.class-log-delete{transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}.nav-btn:active,.primary:active,.ghost:active,.module-btn:active,.control:active,.lesson-btn:active,.upload-button:active{transform:translateY(1px)}.primary:hover{filter:brightness(1.08);box-shadow:0 6px 18px #91b64a35}.ghost:hover{background:#4c1925}.card,.sidebar{box-shadow:0 14px 38px #16040780}.card{border-color:#8e4037}.hero{box-shadow:0 12px 30px #16040755}.hero,.card,.source-group,.practice-steps li,.submission-box,.teacher-course-module,.class-log-entry{scroll-margin-top:22px}input,select,textarea{transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}input:hover,select:hover,textarea:hover{border-color:#bc6542}input::placeholder,textarea::placeholder{color:#b89a91;opacity:1}.auth-field label,.practice-response-label,.class-log-fields label{line-height:1.25}.notice,.practice-response-status,.upload-status,.evidence-status{line-height:1.45}.source-group summary,.teacher-course-module>summary,.teacher-course-group>summary,.local-delivery summary,.class-log-form summary,.local-student-manage>summary{transition:background-color .16s ease,color .16s ease}.source-group summary:hover,.teacher-course-module>summary:hover,.teacher-course-group>summary:hover,.local-delivery summary:hover,.class-log-form summary:hover,.local-student-manage>summary:hover{background:#ffffff08}.dashboard-badge,.tag,.pill{white-space:nowrap}.practice-steps li,.prompt-record,.class-log-entry,.teacher-course-module{overflow-wrap:anywhere}

/* Navegación y lectura cómodas en pantallas intermedias y móviles. */
@media(max-width:1080px){.shell{padding:18px}.layout{grid-template-columns:1fr}.sidebar{position:static;overflow:hidden}.sidebar h2{padding-left:8px}.sidebar #moduleNav{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 7px;scroll-snap-type:x proximity}.sidebar .module-btn{flex:0 0 min(255px,78vw);min-height:76px;scroll-snap-align:start;border-left:0;border-bottom:3px solid transparent}.sidebar .module-btn:hover,.sidebar .module-btn.active{border-left-color:transparent;border-bottom-color:var(--yellow)}.controller-grid,.audio-layout{grid-template-columns:1fr}.controller-controls{max-height:none}.hero{padding:22px}.local-student-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.shell{padding:13px}header{padding-bottom:15px;align-items:flex-start}.brand{gap:10px}.disc{width:36px;height:36px;border-width:4px}.disc:after{inset:10px}.user-session{justify-content:flex-start}.user-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav{position:sticky;top:0;z-index:20;margin:0 -13px;padding:10px 13px;background:#260c16ef;border-bottom:1px solid #79382f;backdrop-filter:blur(14px);flex-wrap:nowrap;overflow-x:auto}.nav-btn{flex:0 0 auto;min-height:40px}.hero{border-radius:15px;padding:18px}.hero h2{font-size:1.55rem}.card{padding:16px;border-radius:15px}.topic-grid,.practice-materials,.next-class-box,.local-student-columns{grid-template-columns:1fr}.next-class-part+.next-class-part{border-left:0;border-top:1px solid #8f4937}.practice-steps li{padding:11px;grid-template-columns:24px 1fr}.practice-steps li:before{width:21px;height:21px}.guide-toolbar input{width:100%}.filter-row{align-items:stretch;flex-direction:column}.filter-row select{width:100%}.controller-controls{grid-template-columns:1fr}.control{min-height:116px}.class-log-entry header{align-items:flex-start}.local-student-identity{margin-top:14px}.local-student-stats{gap:7px}.local-student-stat{padding:10px}.dashboard-section-head{gap:10px}.dashboard-section-head .dashboard-badge{align-self:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Administración del perfil seleccionado, separada del seguimiento pedagógico. */
.local-student-manage{margin:12px 0 16px;border:1px solid #79382f;border-radius:11px;background:#35101b;overflow:hidden}.local-student-manage>summary{padding:11px 13px;cursor:pointer;color:var(--yellow);font-size:.78rem;font-weight:900;list-style:none}.local-student-manage>summary::-webkit-details-marker{display:none}.local-student-manage>summary:before{content:'+';margin-right:7px;font-size:1rem}.local-student-manage[open]>summary:before{content:'–'}.local-student-manage-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.5fr);gap:16px;padding:14px;border-top:1px solid #71302f}.local-student-manage .student-create{margin:0}.local-student-manage .auth-field small{font-size:.66rem;color:var(--muted);font-weight:700;text-transform:none;letter-spacing:0}.local-student-danger{display:flex;flex-direction:column;justify-content:space-between;gap:13px;padding:12px;border:1px solid #8e3a37;border-radius:9px;background:#311016}.local-student-danger b{color:#ffb4a7;font-size:.82rem}.local-student-danger p{margin:5px 0 0;color:#e9b7ac;font-size:.74rem;line-height:1.45}.local-student-delete{align-self:flex-start;border:1px solid #bb5146;border-radius:8px;background:transparent;color:#ffb0a2;padding:8px 10px;font:inherit;font-size:.75rem;font-weight:850;cursor:pointer}.local-student-delete:hover{background:#6b2726;color:#fff1dc}.local-student-delete:disabled{opacity:.6;cursor:wait}@media(max-width:780px){.local-student-manage-body{grid-template-columns:1fr}}
.local-student-manage .auth-field:has(#teacherEditStudentName){display:none}.local-student-manage .student-create{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}.local-student-manage .student-create .auth-field{margin:0}.local-student-manage .student-create .auth-message{grid-column:1/-1}.local-student-manage .student-create .primary{margin:0;justify-self:start}.local-student-manage #teacherManageUserSelect{width:100%;padding:9px;border:1px solid #71302f;border-radius:8px;background:#260c16;color:var(--ink);font:inherit}
.username-identity{display:block;min-height:16px;margin-top:5px;color:var(--muted);font-size:.7rem;line-height:1.35;text-transform:none;letter-spacing:0}.username-identity.linked{color:#dce7bc}.username-identity.available{color:var(--green)}.username-identity.taken{color:#ffb0a2}

/* Guía DDJ: desde tablet horizontal, imagen y controles siempre se leen en paralelo. */
@media(min-width:760px){.controller-grid{grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr)!important}.controller-controls{max-height:calc(100vh - 225px)}}

/* Tres espacios docentes: seguimiento, temario y administración. */
.teacher-workspace-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0 2px;padding-bottom:13px;border-bottom:1px solid #79382f}.teacher-workspace-tabs button{border:1px solid #79382f;border-radius:99px;background:#35101b;color:#f6d2aa;padding:8px 11px;font:inherit;font-size:.76rem;font-weight:850;cursor:pointer}.teacher-workspace-tabs button:hover{border-color:var(--yellow);color:var(--yellow)}.teacher-workspace-tabs button.active{border-color:var(--yellow);background:var(--yellow);color:#32101a}.teacher-course-info{margin-top:16px}.teacher-course-list{display:grid;gap:9px;margin-top:14px}.teacher-course-module{border:1px solid #79382f;border-radius:12px;background:#35101b;overflow:hidden}.teacher-course-module>summary{display:flex;align-items:center;gap:11px;padding:13px;cursor:pointer;list-style:none}.teacher-course-module>summary::-webkit-details-marker,.teacher-course-group>summary::-webkit-details-marker{display:none}.teacher-course-module>summary>span{display:grid;place-items:center;min-width:68px;height:27px;border-radius:99px;background:#6a2830;color:var(--yellow);font-size:.65rem;font-weight:900;text-transform:uppercase}.teacher-course-module>summary div{min-width:0}.teacher-course-module>summary b{display:block;color:#fff1dc;font-size:.9rem}.teacher-course-module>summary small{display:block;margin-top:2px;color:var(--muted);font-size:.72rem}.teacher-course-body{padding:0 14px 14px;border-top:1px solid #71302f}.teacher-course-objective{margin:13px 0;color:#fbe9d9;line-height:1.5}.teacher-course-topics{margin:0 0 11px;padding:10px 11px;border-left:2px solid var(--green);background:#2b1019;color:#dce7bc;font-size:.78rem}.teacher-course-topics ul{margin:6px 0 0;padding-left:17px;color:#fbe9d9;line-height:1.55}.teacher-course-group{border-top:1px solid #71302f}.teacher-course-group>summary{padding:10px 2px;cursor:pointer;color:var(--yellow);font-size:.8rem;font-weight:850;list-style:none}.teacher-course-group>summary:before{content:'+';display:inline-block;margin-right:7px}.teacher-course-group[open]>summary:before{content:'–'}.teacher-course-group>div{padding:0 2px 10px;color:#fbe9d9;font-size:.82rem;line-height:1.55}.teacher-course-group h5{margin:10px 0 4px;color:#fff1dc;font-size:.84rem}.teacher-course-group p{margin:7px 0}.teacher-course-bullet{padding-left:12px;border-left:2px solid #914238}.teacher-course-resource{color:#dce7bc!important;font-size:.76rem}@media(max-width:560px){.teacher-workspace-tabs{display:grid;grid-template-columns:1fr}.teacher-workspace-tabs button{text-align:left}.teacher-course-module>summary{align-items:flex-start}.teacher-course-module>summary>span{min-width:58px}}
