@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-regular.ttf')}@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-semibold.ttf');font-weight:600}
:root{--blue:#003b73;--purple:#5d4594;--muted:#60738b;--line:#e1e6ef;--paper:#f5f6fa;--soft:#f0edf7}*{box-sizing:border-box}body{margin:0;font-family:Outfit,Arial,sans-serif;color:var(--blue);background:var(--paper)}button,input,textarea,select{font:inherit}button,a,input,summary{touch-action:manipulation}button,a{transition:background-color .15s,color .15s}button,summary{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit}img{max-width:100%}h1,h2,h3,p{margin-top:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}input:focus{outline:2px solid var(--purple);outline-offset:2px}.loading{padding:60px;text-align:center}label{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:600}input{width:100%;border:1px solid #cdd7e4;border-radius:8px;background:white;padding:14px;color:var(--blue);min-height:48px}input::placeholder{color:#8191a4}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;border:1px solid var(--purple);border-radius:7px;text-decoration:none;font-size:14px;font-weight:600;background:var(--purple);color:white;gap:8px}.primary:hover{background:var(--blue);border-color:var(--blue)}.secondary{background:white;color:var(--purple);border-color:#d5cde6}.secondary:hover{background:var(--soft)}.text-button,.back-button{border:0;background:none;color:var(--purple);padding:12px;font-weight:600}.brand{display:inline-flex;align-items:center}.brand img{width:210px;height:auto}.form-error{color:#8a2840;font-size:14px;line-height:1.5;margin:0}.login-layout{min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}.login-story{padding:48px clamp(32px,6vw,96px);background:#003b73;position:relative;color:white;display:flex;flex-direction:column;justify-content:space-between;gap:50px;isolation:isolate}.login-story:before{content:'';position:absolute;inset:0;background:url('/assets/solutions/fondo-aprendizaje-digital-1672.webp') center/cover;opacity:.13;z-index:-1}.login-story .brand{align-self:flex-start;background:white;padding:15px 18px;border-radius:6px}.login-story h2{font-size:clamp(34px,3.5vw,54px);font-weight:600;line-height:1.1;letter-spacing:-.035em;max-width:480px;margin-bottom:24px}.login-story p{line-height:1.7;max-width:450px;color:#d9e5f3;font-size:17px}.login-benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:35px}.login-benefits span{padding:10px 12px;border:1px solid #ffffff38;font-size:12px;border-radius:5px}.story-link{font-size:14px;align-self:flex-start;text-underline-offset:5px}.login-access{display:flex;align-items:center;justify-content:center;padding:50px 32px;background:white}.login-form{max-width:400px;width:100%;display:grid;gap:24px}.login-form h1{font-size:38px;line-height:1.15;letter-spacing:-.03em;margin:0}.login-form>p{font-size:16px;color:var(--muted);line-height:1.65;margin:0 0 7px}.help-link{text-align:center;color:var(--purple);font-size:13px;text-underline-offset:4px;margin-top:0}.aula-header{display:flex;align-items:center;gap:24px;min-height:88px;padding:20px 4vw;background:white;border-bottom:1px solid var(--line)}.aula-label{border-left:1px solid var(--line);padding-left:24px;font-size:14px}.user-actions{margin-left:auto;display:flex;align-items:center;gap:22px;font-size:14px}.aula-dashboard,.learning-shell{max-width:1360px;margin:auto;padding:38px 4vw 70px}.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:40px;border-radius:14px;background:var(--blue);color:white;padding:36px 40px;position:relative;isolation:isolate;overflow:hidden}.dashboard-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:url('/assets/solutions/fondo-aprendizaje-digital-1672.webp') center/cover;opacity:.12}.dashboard-hero h1{font-size:36px;letter-spacing:-.025em;margin:0 0 12px}.dashboard-hero p{font-size:15px;color:#dce6f3;max-width:380px;line-height:1.6;margin:0}.aula-stats{display:flex;gap:30px}.aula-stats>div{display:grid;gap:8px;padding-left:24px;border-left:1px solid #ffffff33}.aula-stats strong{font-size:32px}.aula-stats span{font-size:12px;color:#dce6f3;max-width:80px}.aula-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:24px 0 32px;overflow-x:auto}.aula-tabs button{white-space:nowrap;padding:18px 0;border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font-size:15px}.aula-tabs button.active{color:var(--purple);border-bottom-color:var(--purple);font-weight:600}.catalog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.catalog-heading h2{font-size:27px;margin:0;font-weight:600}.catalog-heading input{max-width:300px;font-size:14px}.course-filters{display:flex;gap:8px;margin-bottom:24px}.course-filters button{padding:10px 16px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--muted);font-size:13px;min-height:42px}.course-filters button.active{background:var(--soft);border-color:#cfc5e1;color:var(--purple);font-weight:600}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.student-course-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.course-media{position:relative;height:180px;background:var(--blue)}.course-media img{height:100%;width:100%;object-fit:cover}.course-state{position:absolute;bottom:14px;left:16px;max-width:calc(100% - 32px);background:white;color:var(--blue);padding:7px 12px;border-radius:5px;font-size:12px;font-weight:600}.student-course-copy{padding:25px;display:flex;flex:1;flex-direction:column;align-items:stretch;gap:14px}.student-course-copy h3{font-size:22px;line-height:1.25;margin:0;font-weight:600;letter-spacing:-.015em}.course-instructor{color:var(--purple);font-size:13px;margin:0}.course-description{font-size:14px;line-height:1.6;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.course-meta{display:flex;gap:18px;font-size:12px;color:var(--muted);padding:0 0 14px;border-bottom:1px solid var(--line);margin-top:auto}.progress-label{display:flex;justify-content:space-between;font-size:12px;gap:12px}.progress-label strong{color:var(--purple)}.progress-track{height:6px;background:#e9e5f1;border-radius:9px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--purple);border-radius:9px}.student-course-copy .primary{margin-top:4px}.student-course-copy>small{font-size:12px;color:var(--muted)}.empty{grid-column:1/-1;padding:50px 30px;background:white;border:1px dashed #cfd7e5;border-radius:12px;text-align:center}.empty h2{font-size:25px}.empty p{font-size:15px;line-height:1.7;color:var(--muted);margin:0;max-width:500px;margin:auto}.certificate-card{padding:30px;background:white;border:1px solid var(--line);border-top:4px solid var(--purple);border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}.certificate-card h2{font-size:22px;margin:0}.certificate-card p{font-size:14px;color:var(--muted);margin:0}.certificate-symbol{width:44px;height:44px;display:grid;place-items:center;border:1px solid #d3c9e4;background:var(--soft);border-radius:50%;font-size:24px;color:var(--purple)}.text-link{font-size:13px;color:var(--purple);text-underline-offset:4px}.password-shell{padding:55px 20px}.password-card{padding:32px;background:white;border:1px solid var(--line);border-radius:12px;max-width:520px;margin:auto;display:grid;gap:22px}.password-card h1{font-size:29px;line-height:1.2;margin:0}.password-card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.profile-info{max-width:520px;margin:0 auto 24px}.profile-info h2{margin:0 0 8px}.profile-info p{color:var(--muted);font-size:14px}.back-button{padding:0;margin-bottom:25px;font-size:14px;min-height:40px}.learning-heading{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:40px;align-items:center;margin:0 0 28px}.learning-heading h1{font-size:27px;line-height:1.3;margin:0;max-width:740px}.learning-heading>div{display:grid;gap:10px;font-size:12px}.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:26px;align-items:start}.lesson-content{padding:30px;background:white;border:1px solid var(--line);border-radius:12px;min-width:0}.lesson-heading h2{font-size:30px;line-height:1.25;letter-spacing:-.02em;margin:0 0 12px}.lesson-heading p{color:var(--muted);font-size:13px;margin-bottom:24px}.lesson-video{width:100%;aspect-ratio:16/9;border:0;background:#001c38;border-radius:8px}.lesson-body{margin:26px 0;line-height:1.85;color:#405976;font-size:16px}.lesson-body p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 18px}.lesson-resources{padding-top:20px;border-top:1px solid var(--line)}.lesson-resources h3{font-size:18px;font-weight:600;margin-bottom:16px}.resource-link{padding:16px;border:1px solid var(--line);background:#f8f9fc;border-radius:7px;display:flex;justify-content:space-between;gap:20px;text-decoration:none;font-size:14px;margin:10px 0;overflow-wrap:anywhere}.resource-link>span:last-child{font-size:12px;color:var(--purple);flex-shrink:0}.resource-link:hover{background:var(--soft)}.lesson-actions{display:flex;flex-wrap:wrap;gap:12px}.completion-note{font-size:12px;color:var(--muted);margin:26px 0 15px;line-height:1.6}.course-outline{position:sticky;top:24px;border:1px solid var(--line);border-radius:10px;background:white;min-width:0}.course-outline>summary{padding:20px;font-weight:600;font-size:15px;line-height:1.5;background:var(--soft);border-radius:9px}.outline-modules{max-height:70vh;overflow:auto;padding:0 15px 10px}.outline-module{border-bottom:1px solid var(--line);padding:16px 0}.outline-module>summary{font-size:14px;line-height:1.5;font-weight:600;padding:3px 0}.outline-lesson{width:100%;display:flex;align-items:flex-start;gap:10px;text-align:left;border:0;background:transparent;color:var(--blue);border-radius:6px;padding:12px 10px;min-height:52px;margin:5px 0}.outline-lesson.current{background:var(--soft);color:var(--purple)}.outline-lesson strong{font-size:13px;font-weight:400;line-height:1.5;display:block}.outline-lesson small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.lesson-check{font-size:17px;line-height:1.4;min-width:18px}.live-session,.completion-card{padding:24px;border-radius:8px;background:var(--soft);border:1px solid #dcd4ea;margin:20px 0}.live-session h3,.completion-card h3{font-size:21px}.live-session p,.completion-card p{font-size:14px;line-height:1.7}.completion-card{margin-bottom:0}.external-video{display:flex;padding:25px;background:var(--soft);border-radius:8px}.verify-shell{max-width:650px;margin:70px auto;padding:36px;background:white;border-radius:12px;border:1px solid var(--line)}.verify-shell h1{font-size:31px;margin:30px 0 20px}.verify-shell p{color:var(--muted);line-height:1.7}.verify-shell form{display:grid;gap:16px}.verified{margin-top:25px;padding:24px;background:var(--soft);border-radius:8px}.verified h2{font-size:23px}#notice{position:fixed;bottom:24px;right:24px;max-width:calc(100% - 48px);padding:16px 22px;border:1px solid #c6badc;background:#fff;color:var(--purple);box-shadow:0 10px 30px #003b731a;z-index:100;border-radius:8px;font-size:14px;line-height:1.6}#notice.error{color:#8a2840}#notice[hidden]{display:none}
@media(max-width:1100px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aula-stats{gap:16px}.aula-stats>div{padding-left:16px}.dashboard-hero{padding:30px}.learning-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.lesson-content{padding:24px}}
@media(max-width:900px){.learning-layout{grid-template-columns:minmax(0,1fr)}.course-outline{position:static;grid-row:1}.outline-modules{max-height:50vh}.learning-heading{grid-template-columns:minmax(0,1fr);gap:16px}.learning-heading>div{max-width:350px}.login-story{padding:40px}.dashboard-hero{gap:24px;align-items:flex-start;flex-direction:column}.aula-stats{width:100%;justify-content:space-between}.aula-stats>div:first-child{padding-left:0;border-left:0}.aula-stats span{max-width:none}}
@media(max-width:650px){.login-layout{grid-template-columns:minmax(0,1fr)}.login-story{padding:25px;gap:24px;min-height:0}.login-story .brand{padding:10px 12px}.login-story .brand img{width:170px}.login-story h2{font-size:28px;max-width:350px;margin:10px 0 0}.login-story p,.login-benefits,.story-link{display:none}.login-access{padding:32px 25px 45px;align-items:flex-start}.login-form{gap:20px}.login-form h1{font-size:29px}.login-form>p{font-size:14px}.aula-header{padding:18px 20px;min-height:78px;flex-wrap:wrap;gap:12px}.aula-header .brand img{width:165px}.aula-label{font-size:12px;padding-left:12px}.user-actions{width:100%;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:9px;font-size:12px}.text-button{padding:6px}.aula-dashboard,.learning-shell{padding:24px 18px 45px}.dashboard-hero{padding:25px;border-radius:10px}.dashboard-hero h1{font-size:29px}.dashboard-hero p{font-size:14px}.aula-stats{gap:12px}.aula-stats strong{font-size:26px}.aula-stats span{font-size:11px}.aula-stats>div{padding-left:12px;flex:1;gap:6px}.aula-tabs{gap:24px;margin:14px 0 25px}.aula-tabs button{font-size:14px;padding:16px 0}.catalog-heading{align-items:stretch;flex-direction:column;gap:15px}.catalog-heading h2{font-size:24px}.catalog-heading input{max-width:none}.course-grid{grid-template-columns:minmax(0,1fr);gap:20px}.course-media{height:160px}.student-course-copy{padding:22px;gap:12px}.student-course-copy h3{font-size:22px}.course-filters{gap:6px}.course-filters button{padding:10px 14px}.learning-heading h1{font-size:23px}.lesson-content{padding:22px 18px}.lesson-heading h2{font-size:26px}.lesson-body{font-size:15px}.lesson-actions{flex-direction:column}.lesson-actions>.primary,.lesson-actions>.secondary{width:100%}.resource-link{padding:14px;gap:12px;font-size:13px}.password-card{padding:25px 22px}.password-card h1{font-size:26px}.password-shell{padding:30px 18px}.empty{padding:35px 24px}.empty h2{font-size:23px}.certificate-card{padding:25px}.verify-shell{margin:25px 18px;padding:25px}.verify-shell h1{font-size:28px}input{font-size:16px}#notice{bottom:15px;right:15px;max-width:calc(100% - 30px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media(min-width:651px){.course-grid:has(>.student-course-card:only-child){grid-template-columns:minmax(0,1fr)}.student-course-card:only-child{display:grid;grid-template-columns:.9fr 1.1fr}.student-course-card:only-child .course-media{height:100%;min-height:330px}.student-course-card:only-child .student-course-copy{padding:32px;gap:16px}.student-course-card:only-child .student-course-copy h3{font-size:26px}.student-course-card:only-child .course-description{-webkit-line-clamp:3}}
.lesson-quiz{margin:24px 0;display:grid;gap:20px}.lesson-quiz>h3{font-size:24px;margin:0}.lesson-quiz>p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}.lesson-quiz fieldset{min-width:0;padding:20px;border:1px solid var(--line);border-radius:8px;margin:0}.lesson-quiz legend{font-size:16px;line-height:1.6;padding:0 8px;font-weight:600}.lesson-quiz label{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:13px;border:1px solid var(--line);border-radius:6px;margin:10px 0;font-size:14px;line-height:1.6;font-weight:400;cursor:pointer}.lesson-quiz label:has(input:checked){background:var(--soft);border-color:var(--purple)}.lesson-quiz input[type=radio]{min-height:0;width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--purple)}.quiz-result:not(:empty){padding:22px;border-radius:8px;background:var(--soft);border:1px solid #d7cee7;line-height:1.7}.quiz-result h4{font-size:20px;margin:0 0 15px}.quiz-result p{font-size:14px}.quiz-result .primary{margin-top:12px}@media(max-width:650px){.lesson-quiz fieldset{padding:15px 12px}.lesson-quiz legend{font-size:15px}.lesson-quiz label{padding:12px 10px;font-size:13px}}
.course-introduction{margin-bottom:26px;border:1px solid #dcd5e9;background:#f0edf7;border-radius:10px;overflow:hidden}.course-introduction>summary{padding:19px 24px;font-size:17px;font-weight:600;color:var(--purple)}.course-introduction>div{padding:0 24px 10px;max-width:980px}.course-introduction p{font-size:15px;line-height:1.85;color:#405976;margin:0 0 16px}.lesson-introduction{font-size:16px;line-height:1.85;color:#405976;margin:0 0 24px;white-space:pre-wrap}.material-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.material-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:white;min-width:0}.material-card:only-child{grid-column:1/-1}.material-preview-button{position:relative;width:100%;height:240px;display:block;overflow:hidden;padding:0;border:0;border-bottom:1px solid var(--line);background:#edf0f5}.material-preview-button iframe,.material-preview-button img{width:100%;height:100%;display:block;border:0;object-fit:cover;pointer-events:none}.material-preview-button iframe{background:white;opacity:.95}.material-preview-label{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);max-width:calc(100% - 28px);white-space:nowrap;padding:9px 15px;border:1px solid #ded8e8;border-radius:5px;background:#fff;color:var(--purple);font-size:12px;box-shadow:0 3px 12px #003b7312}.material-preview-button:hover .material-preview-label{background:var(--purple);color:white}.material-card-footer{display:flex;align-items:center;gap:15px;padding:18px}.material-card-footer>div{min-width:0;flex:1}.material-card-footer strong{display:block;font-size:14px;font-weight:600;overflow-wrap:anywhere;line-height:1.4;margin-bottom:7px}.material-card-footer small{display:block;font-size:11px;color:var(--muted)}.material-download{flex-shrink:0;padding:10px 12px;border:1px solid #d4cbe3;color:var(--purple);background:#f5f2f9;border-radius:6px;font-size:12px;font-weight:600;text-decoration:none;min-height:40px;display:inline-flex;align-items:center;justify-content:center}.material-download:hover{background:var(--purple);color:white}body:has(#material-dialog[open]){overflow:hidden}#material-dialog{width:min(1080px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #d6dce6;border-radius:12px;color:var(--blue);background:white;box-shadow:0 25px 100px #00254d38;overflow:auto}#material-dialog::backdrop{background:#001f40bd;backdrop-filter:blur(3px)}.material-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid var(--line)}.material-modal-heading h2{font-size:20px;font-weight:600;overflow-wrap:anywhere;margin:0;line-height:1.4}.material-close{height:40px;width:40px;flex-shrink:0;display:grid;place-items:center;border:0;border-radius:6px;background:var(--soft);color:var(--purple);font-size:25px}.material-modal-viewer{height:min(65dvh,750px);min-height:200px;background:#edf0f5;display:grid;place-items:center;overflow:auto}.material-modal-viewer iframe{width:100%;height:100%;border:0;background:white}.material-modal-viewer img{max-width:100%;max-height:100%;object-fit:contain;display:block}.material-modal-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 24px;border-top:1px solid var(--line)}
@media(max-width:1100px){.material-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:650px){.course-introduction>summary{padding:16px 18px;font-size:16px}.course-introduction>div{padding:0 18px 3px}.course-introduction p,.lesson-introduction{font-size:14px;line-height:1.8}.material-preview-button{height:210px}.material-card-footer{padding:15px;align-items:flex-start;flex-wrap:wrap;gap:12px}.material-card-footer>div{flex-basis:100%}.material-download{width:100%}#material-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:9px}.material-modal-heading{padding:15px;gap:12px}.material-modal-heading h2{font-size:17px}.material-modal-viewer{height:58dvh}.material-modal-actions{padding:15px;flex-direction:column;align-items:stretch;gap:16px}.material-modal-actions>.text-link{text-align:center;font-size:12px}.material-modal-actions>.primary{width:100%;min-height:44px}}
.material-pages{display:flex;align-items:center;justify-content:center;gap:20px;padding:12px 20px;border-bottom:1px solid var(--line);background:white}.material-pages>.secondary{min-height:36px;padding:7px 15px;font-size:12px}.material-pages>span{font-size:13px;min-width:110px;text-align:center}.material-render-status{padding:25px;color:var(--muted);text-align:center;line-height:1.7;font-size:14px}.material-render-status:empty{display:none}.material-preview-button>img{object-fit:contain;object-position:top center}.material-preview-button:has(img[src*="render=1"])>img{object-fit:cover;object-position:top center}.material-modal-viewer>img{background:white}.material-modal-viewer:has(.material-render-status)>img{max-height:none;width:100%;height:auto;align-self:start}.material-modal-viewer:has(.material-render-status){display:block;padding:18px}.material-modal-viewer>img[hidden]{display:none}@media(max-width:650px){.material-pages{gap:8px;padding:10px}.material-pages>.secondary{padding:7px 12px;font-size:11px}.material-pages>span{font-size:12px;min-width:95px}.material-modal-viewer:has(.material-render-status){padding:10px}}
.material-modal-viewer.is-image{height:auto;min-height:0;max-height:65dvh;display:block}.material-modal-viewer.is-image>img{width:100%;height:auto;max-height:65dvh;object-fit:contain;margin:auto}@media(max-width:650px){.material-modal-viewer.is-image,.material-modal-viewer.is-image>img{max-height:58dvh}}

/* Vista de curso tipo campus: navegación lateral y lienzo de aprendizaje amplio. */
.learning-shell{max-width:none;width:100%;padding:30px clamp(22px,4vw,64px) 72px;background:#f5f6fa}
.learning-heading{max-width:1480px;margin:0 auto 24px;padding:0 4px;grid-template-columns:minmax(0,1fr) 300px}
.learning-shell>.back-button{display:block;max-width:1480px;margin:0 auto 20px;padding-left:4px}
.learning-shell>.course-introduction{max-width:1480px;margin:0 auto 26px}
.learning-heading h1{font-size:clamp(24px,2.25vw,34px);max-width:920px}
.learning-layout{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:320px minmax(0,1fr);gap:28px;align-items:start}
.course-outline{grid-column:1;grid-row:1;position:sticky;top:20px;border-radius:10px;box-shadow:0 5px 20px #003b7308}
.course-outline>summary{font-size:16px;padding:20px 20px 8px;border-radius:9px 9px 0 0;background:#eeeaf6;color:var(--blue)}
.course-outline>summary::marker{color:var(--purple)}
.course-outline::after{content:'Ruta de aprendizaje';display:block;padding:0 20px 16px;background:#eeeaf6;color:var(--muted);font-size:12px}
.outline-modules{max-height:calc(100dvh - 210px);padding:7px 15px 15px}
.outline-module{padding:15px 0}
.outline-module>summary{font-size:13px;color:var(--blue);padding:5px 8px}
.outline-lesson{padding:13px 10px;margin:3px 0;gap:10px;border-left:3px solid transparent}
.outline-lesson.current{border-left-color:var(--purple);background:#f0edf7;color:var(--purple)}
.outline-lesson strong{font-size:13px}
.lesson-content{grid-column:2;grid-row:1;padding:clamp(28px,4vw,52px);border-radius:10px;box-shadow:0 5px 24px #003b7309;min-height:620px}
.lesson-heading{max-width:920px;margin-bottom:28px}
.lesson-heading h2{font-size:clamp(27px,3vw,42px);margin-bottom:12px}
.lesson-heading p{margin-bottom:0}
.lesson-heading .lesson-kicker{font-size:11px;letter-spacing:.12em;color:var(--purple);font-weight:700;margin:0 0 10px}
.lesson-heading .lesson-meta{font-size:13px;color:var(--muted)}
.lesson-body{max-width:920px;font-size:16px}
.lesson-introduction{max-width:920px}
.lesson-video{border-radius:7px;box-shadow:0 10px 30px #003b7318}
.lesson-resources{max-width:920px}
@media(max-width:900px){.learning-shell{padding:24px 18px 55px}.learning-layout{grid-template-columns:minmax(0,1fr);gap:16px}.course-outline{grid-column:1;grid-row:1;position:static}.lesson-content{grid-column:1;grid-row:2;min-height:0;padding:28px 22px}.outline-modules{max-height:45vh}.learning-heading{display:block}.learning-heading>h1,.learning-heading>div{min-width:0;width:100%}.learning-heading>div{margin-top:14px}}
@media(max-width:650px){.learning-heading{padding:0;gap:12px}.learning-heading h1{font-size:23px}.learning-heading>div{max-width:none}.lesson-content{padding:24px 18px}.lesson-heading h2{font-size:27px}.course-outline>summary{padding:16px 17px 7px}.course-outline::after{padding:0 17px 13px}}

/* Aula a pantalla completa: el índice permanece visible mientras cambia el contenido. */
@media(min-width:901px){
 .learning-shell{padding:28px 34px 60px 374px;min-height:calc(100dvh - 88px)}
 .learning-shell>.back-button,.learning-heading{max-width:none;margin-left:0;margin-right:0}
 .learning-heading{grid-template-columns:minmax(0,1fr) 260px}
 .learning-layout{max-width:none;margin:0;display:block}
 .course-outline{position:fixed;z-index:20;left:0;top:88px;bottom:0;width:340px;height:auto;border:0;border-right:1px solid var(--line);border-radius:0;background:white;box-shadow:4px 0 18px #003b7308;overflow-y:auto}
 .course-outline>summary{padding:22px 22px 9px;border-radius:0;background:#eeeaf6}
 .course-outline::after{padding:0 22px 17px;background:#eeeaf6}
 .course-outline>.course-introduction{display:block;margin:0;border:0;border-top:1px solid #ded7eb;border-bottom:1px solid #ded7eb;border-radius:0;background:#f7f5fb}
 .course-outline>.course-introduction>summary{padding:15px 22px;font-size:14px;color:var(--purple)}
 .course-outline>.course-introduction>div{padding:0 22px 3px}
 .course-outline>.course-introduction p{font-size:13px;line-height:1.65}
 .outline-modules{max-height:none;padding:8px 16px 24px}
 .lesson-content{margin:0;max-width:none;min-height:calc(100dvh - 218px);padding:clamp(32px,4vw,62px);}
}
@media(max-width:900px){
 .learning-shell{min-height:calc(100dvh - 78px)}
 .course-outline>.course-introduction{margin:0 15px 8px;border:1px solid #dcd5e9;border-radius:8px;background:#f7f5fb}
 .course-outline>.course-introduction>summary{padding:14px 15px;font-size:14px}
 .course-outline>.course-introduction>div{padding:0 15px 2px}
 .course-outline>.course-introduction p{font-size:13px;line-height:1.7}
}

/* El encabezado permanece alineado con el panel lateral durante el desplazamiento. */
.aula-header{position:sticky;top:0;z-index:30}
.lesson-heading,.lesson-body,.lesson-introduction,.lesson-resources{max-width:none}
.lesson-actions{padding:18px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 24px;align-items:center}
.completion-note{order:0;margin:0 0 12px}
@media(min-width:901px){
 .lesson-content{padding-left:clamp(38px,4vw,72px);padding-right:clamp(38px,4vw,72px)}
 .lesson-heading h2{max-width:none}
 .lesson-actions{position:relative}
}
@media(max-width:650px){.lesson-actions{padding:15px 0 17px;margin-bottom:20px}.completion-note{margin-bottom:10px}}

/* Navegación persistente de la lección: siempre accesible sin volver al final. */
.lesson-content{padding-bottom:150px}
.lesson-actions{position:fixed;z-index:25;left:340px;right:0;bottom:0;margin:0;padding:14px clamp(38px,4vw,72px) calc(14px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dfe4ed;border-bottom:0;box-shadow:0 -10px 28px #003b7314;display:flex;gap:12px;align-items:center}
.lesson-actions .primary,.lesson-actions .secondary{min-height:46px}
.lesson-action-context{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:13px;text-align:center;color:var(--blue)}
.lesson-action-context strong{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42%}
.lesson-action-context span{font-size:12px;color:var(--purple);font-weight:600;white-space:nowrap}
.lesson-actions .secondary{margin-left:0}
.lesson-actions .secondary::after{content:none}
@media(max-width:900px){.lesson-content{padding-bottom:140px}.lesson-actions{left:0;right:0;padding:13px 18px calc(13px + env(safe-area-inset-bottom));justify-content:stretch}.lesson-actions .primary,.lesson-actions .secondary{flex:1}}
@media(max-width:600px){.lesson-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);position:fixed}.lesson-action-context{position:absolute;left:0;right:0;bottom:100%;height:34px;padding:5px 18px;background:#fff;border-top:1px solid #dfe4ed;justify-content:center}.lesson-action-context strong{max-width:52%;font-size:11px}.lesson-action-context span{font-size:11px}.lesson-actions .primary,.lesson-actions .secondary{width:100%;flex:none}.lesson-actions .secondary{grid-column:2;grid-row:1}}
@media(max-width:480px){.lesson-actions{gap:8px}.lesson-actions .primary,.lesson-actions .secondary{padding:11px 10px;font-size:12px}}

.user-actions{position:relative;margin-left:auto}
.profile-trigger{display:inline-flex;align-items:center;gap:9px;border:1px solid #dce2eb;border-radius:999px;background:#fff;color:var(--blue);padding:5px 10px 5px 6px;min-height:44px;font-size:13px;font-weight:600}
.profile-trigger:hover,.profile-trigger[aria-expanded=true]{border-color:#cbbfe0;background:var(--soft)}
.profile-avatar{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--purple);color:white;font-size:14px;font-weight:700}
.profile-trigger svg{width:16px;height:16px;fill:none;stroke:var(--purple);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.profile-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:40;min-width:210px;padding:7px;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 14px 35px #003b7320}
.profile-menu[hidden]{display:none}
.profile-menu-link{display:flex;align-items:center;width:100%;min-height:42px;padding:10px 13px;border:0;border-radius:6px;background:transparent;color:var(--blue);font-size:13px;font-weight:600;text-decoration:none;text-align:left}
.profile-menu-link:hover{background:var(--soft);color:var(--purple)}
@media(max-width:650px){.profile-name{display:none}.profile-trigger{min-height:40px;padding-right:8px}.profile-menu{right:-2px;min-width:200px}}

.outline-lesson.completed{background:#e9e2f5;color:#4d3c7d;border-left-color:var(--purple)}
.outline-lesson.completed.current{background:#ddd2ee;color:#4d3c7d}
.outline-lesson.completed .lesson-check{width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:var(--purple);color:white;font-size:12px;font-weight:700}
.outline-lesson small{transition:color .15s ease}
.outline-lesson.completed small{color:var(--purple);font-weight:600}
.lesson-actions .primary.is-complete{background:#eeeaf6;border-color:#cfc2e3;color:var(--purple)}
.lesson-actions .primary.is-complete:hover{background:#e4dcf1;border-color:#bfaed8;color:var(--blue)}
.learning-shell>.back-button{display:none!important}
.learning-shell .material-pages>.secondary{font-size:0}
.learning-shell .material-pages>.secondary::after{content:'Anterior';font-size:12px}
.learning-shell .material-pages>.secondary:last-of-type::after{content:'Siguiente'}
.outline-toggle{display:none}
#notice{bottom:96px}
@media(max-width:900px){
 .outline-toggle{display:grid;place-items:center;position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:45;width:46px;height:52px;border:1px solid #b8c4d2;border-left:0;border-radius:0 24px 24px 0;background:#fff;color:var(--blue);box-shadow:0 8px 22px #003b7326;font-size:22px;padding:0}
 .course-outline{display:none}
 .course-outline.mobile-open{display:block;position:fixed;z-index:44;left:14px;right:14px;top:96px;bottom:90px;width:auto;max-height:none;overflow:auto;box-shadow:0 18px 50px #003b7330}
 .course-outline.mobile-open .outline-modules{max-height:none}
 #notice{bottom:154px;right:14px;max-width:calc(100% - 28px)}
}
@media(max-width:480px){#notice{bottom:146px;font-size:13px;padding:13px 16px}}

/* Índice claro: solo la selección y el avance aportan un fondo de estado. */
.course-outline{box-shadow:none}
.course-outline>summary{background:#fff;font-size:16px;line-height:1.5;padding:20px 22px 14px;border-bottom:1px solid var(--line)}
.course-outline::after{content:none}
.course-outline>.course-introduction{background:#fff;border:0;border-bottom:1px solid var(--line);border-radius:0;margin:0}
.course-outline>.course-introduction>summary{font-size:16px;padding:17px 22px;color:var(--blue)}
.course-outline>.course-introduction>div{padding:0 22px 4px}
.course-outline>.course-introduction p{font-size:14px;line-height:1.75}
.course-outline .outline-module>summary{font-size:15px;line-height:1.5;padding:8px;font-weight:600}
.course-outline .outline-lesson{background:transparent;box-shadow:none;border-left:3px solid transparent;color:var(--blue);padding:14px 10px;gap:10px}
.outline-lesson-copy{display:block;flex:1;min-width:0}
.outline-lesson-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px}
.course-outline .outline-lesson strong{font-size:16px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}
.course-outline .outline-lesson small{font-size:13px;line-height:1.5;font-weight:400;color:#526781;margin-top:5px}
.course-outline .outline-lesson.completed{background:#f8f6fc;border-left-color:transparent;color:var(--blue)}
.course-outline .outline-lesson.current{background:#eee9f7;border-left-color:var(--purple);color:var(--purple)}
.course-outline .outline-lesson.current strong{font-weight:600}
.course-outline .outline-lesson:hover{outline:1px solid #d6cde6;outline-offset:-1px}
.lesson-completed-label{display:inline-block;font-size:12px;font-weight:600;line-height:1.5;color:var(--purple)}
.course-outline .lesson-check{flex:0 0 19px;margin-top:2px}
@media(max-width:900px){.course-outline.mobile-open{box-shadow:none;border:1px solid var(--line)}.course-outline .outline-module>summary{font-size:16px}}

.aula-initial-skeleton{min-height:100dvh;padding:28px 4vw;background:#f5f6fa}.aula-initial-skeleton span{display:block;border-radius:9px;background:#e2e8f0;animation:aula-skeleton-pulse 1.1s ease-in-out infinite alternate}.aula-skeleton-logo{width:210px;height:44px;margin-bottom:70px}.aula-skeleton-main{max-width:1250px;margin:auto}.aula-skeleton-title{width:min(380px,72%);height:42px}.aula-skeleton-copy{width:min(560px,90%);height:18px;margin:18px 0 44px}.aula-skeleton-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.aula-skeleton-cards span{height:330px}@keyframes aula-skeleton-pulse{to{opacity:.48}}@media(prefers-reduced-motion:reduce){.aula-initial-skeleton span{animation:none}}
.dashboard-hero>div{max-width:620px}.dashboard-hero p{max-width:560px}
@media(max-width:700px){.aula-initial-skeleton{padding:22px 20px}.aula-skeleton-logo{width:175px;height:38px;margin-bottom:50px}.aula-skeleton-cards{grid-template-columns:1fr}.aula-skeleton-cards span{height:240px}.aula-skeleton-cards span:nth-child(n+2){display:none}}
