:root{--blue-950:#082451;--blue-900:#0b3778;--blue-800:#0f4ca1;--blue-600:#1769d2;--blue-100:#e9f2ff;--yellow:#ffc928;--yellow-soft:#fff4c7;--ink:#14213a;--muted:#68758c;--line:#dce3ed;--bg:#f6f8fc;--white:#fff;--green:#16845b;--red:#c33d4b;--radius:18px;--shadow:0 12px 34px rgba(12,44,91,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);line-height:1.55}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:"Segoe UI",Arial,sans-serif;line-height:1.15}h1{font-size:clamp(1.8rem,4vw,2.65rem)}h2{font-size:clamp(1.35rem,3vw,1.8rem)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.topbar{height:76px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:fixed;z-index:20;top:0;left:0;right:0}.brand{display:flex;align-items:center;gap:10px;font-family:"Segoe UI",Arial,sans-serif;font-size:1.1rem;color:var(--blue-950)}.brand b{color:var(--blue-600)}.brand-mark,.hero-logo{display:grid;place-items:center;background:var(--yellow);color:var(--blue-950);font-weight:900;border-radius:10px;width:40px;height:40px;transform:rotate(-4deg)}.user-chip{display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--blue-100);font-weight:800;color:var(--blue-800)}.user-copy{display:flex;flex-direction:column;line-height:1.2}.user-copy small{color:var(--muted)}
.sidebar{position:fixed;z-index:10;left:0;top:76px;bottom:0;width:235px;background:var(--blue-950);padding:24px 14px;display:flex;flex-direction:column}.nav-link{display:flex;align-items:center;gap:13px;color:#c8d8ef;padding:12px 15px;border-radius:11px;margin-bottom:6px;font-weight:600;border:0;background:none;width:100%;cursor:pointer}.nav-link span{font-size:1.35rem}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.1);color:#fff}.nav-link.active{border-left:3px solid var(--yellow)}.sidebar-spacer{flex:1}.logout{font-size:1rem}.main-content{margin-left:235px;padding:116px 4vw 70px;min-height:100vh;max-width:1500px}.mobile-nav{display:none}
.welcome{background:var(--blue-950);color:#fff;border-radius:22px;padding:32px 36px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden;margin-bottom:24px}.welcome:after{content:'';position:absolute;width:280px;height:280px;border:48px solid rgba(255,201,40,.12);border-radius:50%;right:-100px;top:-100px}.welcome p{color:#cfdbeb;margin-bottom:0}.welcome .eyebrow{color:var(--yellow)}.welcome h1{margin:7px 0 10px}.welcome>*{position:relative;z-index:1}.course-pill{background:var(--yellow);color:var(--blue-950);border-radius:99px;padding:9px 18px;font-weight:800}
.eyebrow{font-size:.75rem;font-weight:800;letter-spacing:.16em;margin-bottom:7px}.eyebrow.blue{color:var(--blue-600)}.muted{color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0 42px}.stats-grid.teacher{grid-template-columns:repeat(2,minmax(220px,320px))}.stat-card{border-radius:var(--radius);min-height:112px;padding:22px;display:flex;align-items:center;gap:16px;border:1px solid var(--line);box-shadow:0 5px 18px rgba(19,43,79,.04)}.stat-card strong{display:block;font-weight:800;font-size:1.75rem}.stat-card small{display:block}.stat-card.yellow{background:var(--yellow);border-color:var(--yellow)}.stat-card.blue{background:var(--blue-800);border-color:var(--blue-800);color:#fff}.stat-card.white{background:#fff}.stat-icon{font-size:1.8rem}.trophy{color:#e7a800}.ring{--value:0;width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--blue-600) calc(var(--value)*1%),#e5eaf1 0);position:relative}.ring:after{content:'';position:absolute;inset:7px;background:#fff;border-radius:50%}.ring span{font-weight:800;font-size:.78rem;z-index:1}
.section-head{display:flex;align-items:end;justify-content:space-between;margin:28px 0 18px}.section-head h1,.section-head h2,.section-head p{margin-bottom:0}.reading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.reading-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--blue-600);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;min-height:285px}.reading-card.completada{border-top-color:var(--green)}.reading-card.fuera_plazo{border-top-color:#98a1b1;opacity:.8}.reading-card h3{font-size:1.25rem;margin:18px 0 8px}.reading-card p{color:var(--muted);font-size:.93rem;flex:1}.card-top,.meta{display:flex;justify-content:space-between;align-items:center;gap:10px}.meta{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin:10px 0 16px}.tag{display:inline-flex;border-radius:99px;padding:5px 10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;background:var(--blue-100);color:var(--blue-800)}.tag.completada,.tag.publicada{background:#e3f7ef;color:#09714b}.tag.en_desarrollo{background:var(--yellow-soft);color:#7b5900}.tag.fuera_plazo{background:#edf0f3;color:#606b7c}.type{font-size:.78rem;color:var(--muted)}
.btn{min-height:46px;border-radius:11px;padding:11px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;font-weight:800;cursor:pointer}.btn.primary{background:var(--blue-800);color:#fff;box-shadow:0 8px 17px rgba(15,76,161,.18)}.btn.primary:hover{background:var(--blue-900)}.btn.primary.yellow-button{background:var(--yellow);color:var(--blue-950);box-shadow:none}.btn.secondary{background:#fff;border-color:var(--line);color:var(--blue-900)}.btn.full{width:100%}.btn.disabled{background:#edf0f4;color:#768091;cursor:not-allowed}.alert{padding:13px 16px;border-radius:11px;margin-bottom:18px;background:var(--blue-100);color:var(--blue-900)}.alert.success{background:#def7ec;color:#086445}.alert.error{background:#fee8ea;color:#9d2431}.alert.warning{background:var(--yellow-soft);color:#6d5200}.empty{grid-column:1/-1;text-align:center;background:#fff;padding:45px;border:1px dashed #bbc5d3;border-radius:var(--radius)}.empty span{font-size:2.5rem}
.auth-page{background:var(--white)}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-brand{background:var(--blue-950);color:#fff;padding:8vw;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.login-brand:before,.login-brand:after{content:'';position:absolute;border:60px solid rgba(255,201,40,.1);width:330px;height:330px;border-radius:50%}.login-brand:before{right:-180px;top:-150px}.login-brand:after{left:-220px;bottom:-230px}.hero-logo{width:62px;height:62px;font-size:2rem;margin-bottom:45px}.login-brand h1{font-size:clamp(2.4rem,5vw,4.6rem);letter-spacing:-.05em;margin:12px 0 22px}.login-brand h1 em{color:var(--yellow);font-style:normal}.login-brand>p:not(.eyebrow){font-size:1.08rem;color:#cdd9e9;max-width:520px}.quote{margin-top:65px;border-left:3px solid var(--yellow);padding-left:18px;color:#cdd9e9;font-style:italic}.login-card{width:min(460px,85%);margin:auto}.login-card h2{font-size:2.2rem;margin:6px 0}.mobile-logo{display:none}.stack-form{display:grid;gap:18px;margin-top:30px}.stack-form label,.form-grid label{font-size:.87rem;font-weight:700;display:grid;gap:7px}.stack-form input,.form-grid input,.form-grid textarea,.form-grid select{border:1px solid #cad3df;border-radius:11px;padding:12px 13px;width:100%;background:#fff;color:var(--ink)}.password-field{position:relative}.password-field button{position:absolute;right:4px;top:4px;width:40px;height:40px;border:0;background:none;color:var(--muted)}.password-field input{padding-right:46px}.demo-box{background:var(--yellow-soft);border-radius:12px;padding:13px 15px;margin-top:22px;display:grid;font-size:.78rem}.demo-box strong{margin-bottom:4px}
.back{font-weight:700;color:var(--blue-800);display:inline-block;margin-bottom:22px}.activity-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.activity-head h1{margin:10px 0 5px}.timer{background:#fff;border:1px solid var(--line);border-radius:99px;padding:9px 14px;white-space:nowrap}.reading-paper{max-width:930px;margin:24px auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:clamp(24px,6vw,65px)}.instructions{background:var(--blue-100);padding:14px;border-radius:10px}.reading-text{font-family:Georgia,serif;font-size:1.12rem;line-height:1.9;color:#26344a}.questions{max-width:930px;margin:auto}.question-card{border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:23px;margin:18px 0}.question-card legend{font-weight:700;font-size:1.05rem;padding:0 7px;display:flex;align-items:center;gap:10px}.question-card legend>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--blue-900);color:#fff}.question-card legend small{color:var(--muted);font-weight:500;font-size:.75rem;margin-left:6px}.option{display:flex;align-items:center;gap:11px;border:1px solid var(--line);padding:12px 14px;border-radius:10px;margin:10px 0;cursor:pointer}.option:has(input:checked){border-color:var(--blue-600);background:var(--blue-100)}.option input{width:18px;height:18px;accent-color:var(--blue-800)}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin:24px 0}
.result-card{max-width:650px;margin:30px auto;text-align:center;background:#fff;border-radius:24px;border:1px solid var(--line);box-shadow:var(--shadow);padding:45px}.result-badge{width:68px;height:68px;border-radius:50%;background:var(--yellow);color:var(--blue-950);display:grid;place-items:center;font-size:2rem;font-weight:900;margin:0 auto 20px}.score-ring{--value:0;width:170px;height:170px;border-radius:50%;display:grid;place-items:center;margin:25px auto;background:conic-gradient(var(--yellow) calc(var(--value)*1%),#e8edf4 0);position:relative}.score-ring:after{content:'';position:absolute;inset:13px;border-radius:50%;background:var(--blue-950)}.score-ring span{z-index:1;color:#fff;display:grid}.score-ring b{font-size:2.2rem}.error-detail{text-align:left;white-space:pre-wrap;background:#f4f5f7;padding:12px;border-radius:8px;font-size:.75rem}
.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line)}th{background:#f1f5fa;color:#5f6d83;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}td small{display:block;color:var(--muted)}
.editor-form{max-width:1000px}.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin:17px 0}.form-card h2{font-size:1.15rem;color:var(--blue-900)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.span-2{grid-column:1/-1}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus,.stack-form input:focus{border-color:var(--blue-600);outline:3px solid rgba(23,105,210,.12)}.admin-forms{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.admin-forms .btn{margin-top:18px}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}.reading-grid{grid-template-columns:repeat(2,1fr)}.admin-forms{grid-template-columns:1fr}}
@media(max-width:720px){body.app-shell{padding-bottom:73px}.topbar{height:64px;padding:0 16px}.user-copy{display:none}.sidebar{display:none}.main-content{margin:0;padding:88px 16px 35px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);z-index:30;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom));box-shadow:0 -8px 22px rgba(11,36,81,.08)}.mobile-nav a,.mobile-nav button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--blue-900);font-size:.72rem;font-weight:700;width:100%;padding:3px}.mobile-nav span{font-size:1.3rem;line-height:1}.welcome{padding:25px 22px;display:block}.welcome .course-pill{display:inline-flex;margin-top:20px}.stats-grid{gap:10px;margin:14px 0 34px}.stat-card{min-height:102px;padding:16px;gap:10px}.stat-card strong{font-size:1.45rem}.stat-card small{font-size:.75rem}.ring{width:52px;height:52px}.reading-grid{grid-template-columns:1fr}.reading-card{min-height:265px}.section-head{align-items:start}.activity-head{display:block}.timer{display:inline-flex;margin-top:10px}.reading-paper{padding:24px 20px}.question-card{padding:17px 13px}.question-card legend{align-items:flex-start}.form-actions{position:sticky;bottom:72px;background:var(--bg);padding:10px 0;z-index:5}.form-actions .btn{flex:1;padding:10px}.result-card{padding:32px 20px;margin:0}.login-wrap{display:block;background:var(--bg);padding:30px 18px;min-height:100vh}.login-brand{display:none}.login-card{width:100%;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px 22px;box-shadow:var(--shadow)}.mobile-logo{display:flex;align-items:center;gap:10px;margin-bottom:35px;color:var(--blue-950)}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.form-card{padding:20px 16px}.stats-grid.teacher{grid-template-columns:1fr 1fr}}
@media(max-width:390px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card{display:block}.stat-icon{display:block;margin-bottom:5px}.ring{margin-bottom:6px}.brand span:last-child{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Gestión de contenido: estilo sobrio y minimalista */
.nav-section{color:#7790b2;font-size:.64rem;letter-spacing:.14em;font-weight:800;margin:20px 15px 7px}.sidebar{background:#092d61}.main-content{background:#f7f8fa}.welcome{border-radius:14px;background:#0b376f}.form-card,.table-wrap,.reading-card,.result-card{border-radius:14px;box-shadow:0 6px 22px rgba(20,42,74,.055)}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading h1{margin:5px 0 8px}.page-heading p{margin-bottom:0;color:var(--muted)}.page-heading .back{margin-bottom:22px}.step-badge{white-space:nowrap;background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 13px;font-size:.78rem;font-weight:700;color:var(--blue-900)}
.editor-fieldset{border:0;padding:0;margin:0;min-width:0}.editor-fieldset:disabled{opacity:.65}.card-heading{display:flex;align-items:flex-start;gap:13px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}.card-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--blue-100);color:var(--blue-800);font-size:.75rem;font-weight:800}.card-heading h2{margin:1px 0 4px}.card-heading p{margin:0;color:var(--muted);font-size:.86rem}.questions-heading>button{margin-left:auto}
.question-editor{border:1px solid #d7dee8;border-radius:12px;margin:18px 0;padding:20px;background:#fbfcfd}.question-editor>header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.question-editor>header>div{display:flex;align-items:center;gap:10px}.question-number{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:var(--blue-900);color:#fff;font-size:.78rem;font-weight:800}.icon-button{border:0;background:transparent;border-radius:8px;padding:7px 10px;font-weight:700;cursor:pointer}.icon-button.danger,.text-danger{color:#a92e3b}.icon-button:hover{background:#feecee}.answer-panel{border-top:1px dashed #cfd7e2;margin-top:18px;padding-top:17px}.answer-panel[hidden]{display:none}.field-hint{font-size:.8rem;color:var(--muted);margin:0 0 11px}.alternatives-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.alternative-editor{display:grid!important;grid-template-columns:auto 30px 1fr;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;padding:7px;border-radius:9px}.alternative-editor>input[type=radio]{width:18px;height:18px;accent-color:var(--blue-800)}.alternative-editor>span{font-weight:800;color:var(--blue-800)}.alternative-editor>input:last-child{border:0!important;padding:7px!important;outline:0!important}.binary-options{display:flex;gap:12px}.binary-options label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px 18px;font-weight:700}.binary-options input{accent-color:var(--blue-800)}.open-answer-note{background:#f0f5fb;border:0;padding:14px;border-radius:9px}.open-answer-note p{margin:3px 0 0;color:var(--muted);font-size:.85rem}.answer-panel label,.feedback-field{font-size:.87rem;font-weight:700}.answer-panel input,.feedback-field input{display:block;width:100%;border:1px solid #cad3df;border-radius:9px;padding:11px;margin-top:6px}.feedback-field{display:block;margin-top:17px}.add-question-wide{width:100%;border:1px dashed #9fb0c5;background:#f8fafc;color:var(--blue-800);padding:13px;border-radius:10px;font-weight:800;cursor:pointer}.add-question-wide:hover{background:var(--blue-100)}
.content-toolbar{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--line);border-radius:11px;padding:13px 16px;margin-bottom:16px;color:var(--muted)}.content-toolbar strong{color:var(--ink)}.content-toolbar a{color:var(--blue-800);font-weight:700}.reading-management-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.management-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px}.management-card header{display:flex;justify-content:space-between}.management-card h2{font-size:1.1rem;margin:18px 0 8px}.management-meta{color:var(--muted);font-size:.84rem}.management-stats{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.76rem}.management-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.management-card footer form{margin:0}.management-card .btn{min-height:39px;padding:8px 13px}.locked-label{font-size:.76rem;color:var(--muted);background:#eef1f5;border-radius:99px;padding:7px 11px}
.student-text-answer{display:grid;gap:7px;font-weight:700}.student-text-answer small{font-size:.78rem;font-weight:500;color:var(--muted)}.student-text-answer input,.student-text-answer textarea{border:1px solid var(--line);border-radius:10px;padding:13px;width:100%;background:#fff;resize:vertical}.student-text-answer input:focus,.student-text-answer textarea:focus{border-color:var(--blue-600);outline:3px solid rgba(23,105,210,.12)}
.review-list{display:grid;gap:16px;max-width:1000px}.review-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:22px}.review-card>header{display:flex;justify-content:space-between;gap:20px}.review-card h2{font-size:1.05rem;margin:9px 0 3px}.review-card header p{color:var(--muted);margin:0}.review-question{background:#f5f7fa;border-radius:9px;padding:12px 14px;margin:16px 0}.review-question small{font-weight:800;letter-spacing:.1em;color:var(--muted)}.review-question p{margin:5px 0 0}.review-card blockquote{border-left:3px solid var(--yellow);margin:15px 0;padding:8px 15px;color:#34435a}.review-form{display:grid;grid-template-columns:120px 1fr auto;align-items:end;gap:12px;border-top:1px solid var(--line);padding-top:17px}.review-form label{font-size:.8rem;font-weight:700}.review-form input{display:block;width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;margin-top:5px}
@media(max-width:1000px){.reading-management-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.page-heading{display:block}.page-heading>.btn{width:100%;margin-top:18px}.step-badge{display:inline-flex;margin-top:12px}.alternatives-grid{grid-template-columns:1fr}.questions-heading{display:grid;grid-template-columns:auto 1fr}.questions-heading>button{grid-column:1/-1;width:100%;margin-top:12px}.reading-management-grid{grid-template-columns:1fr}.review-form{grid-template-columns:1fr}.question-editor{padding:16px 12px}.question-editor>header{align-items:flex-start}.content-toolbar{font-size:.82rem}.welcome .yellow-button{width:100%;margin-top:20px}}

/* Sistema visual unificado inspirado en el panel de referencia */
:root{--blue-950:#062b5c;--blue-900:#07366f;--blue-800:#0b4c9b;--blue-600:#0868e8;--blue-100:#eaf3ff;--yellow:#ffc928;--yellow-soft:#fff7d6;--ink:#09285a;--muted:#627398;--line:#d8e0eb;--bg:#f7f9fc;--green:#07936d;--red:#c93c4b;--radius:12px;--shadow:0 3px 12px rgba(12,43,82,.045)}
.icon{width:22px;height:22px;display:block;flex:0 0 auto}.app-shell{background:var(--bg);color:var(--ink)}
.topbar{height:112px;padding:0 36px;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 3px 14px rgba(12,35,68,.07);justify-content:flex-start;gap:24px}.brand{width:240px;font-size:1.18rem;font-weight:600;gap:12px;flex:0 0 auto}.brand-mark{width:43px;height:43px;border-radius:9px;box-shadow:0 7px 16px rgba(255,190,0,.2);transform:rotate(-3deg);font-size:1.05rem}.menu-toggle{width:48px;height:48px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--blue-950);cursor:pointer}.menu-toggle:hover{background:#f4f7fb}.topbar-divider{height:46px;width:1px;background:var(--line);margin:0 2px 0 4px}.topbar-context{display:grid;line-height:1.15;min-width:0}.topbar-context small{font-size:.8rem;color:#354e76;margin-bottom:4px}.topbar-context strong{font-size:1.55rem;letter-spacing:-.02em;color:var(--blue-950)}.topbar-context>span{font-size:.8rem;color:var(--muted);margin-top:7px}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:20px}.notification-indicator{width:45px;height:45px;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;color:var(--blue-950);position:relative}.notification-indicator i{position:absolute;width:10px;height:10px;background:var(--yellow);border:2px solid #fff;border-radius:50%;right:5px;top:5px}.user-card{height:65px;min-width:182px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:8px 14px;background:#fff}.user-card .avatar{width:42px;height:42px;color:var(--blue-600);background:#edf4ff}.user-card .avatar .icon{width:25px;height:25px}.user-card .user-copy strong{font-size:.9rem}.user-card .user-copy small{font-size:.76rem;color:var(--muted);margin-top:3px}
.sidebar{top:112px;bottom:0;width:300px;padding:22px 20px 18px;background:linear-gradient(180deg,#062f66 0%,#073b78 100%);transition:transform .22s ease;overflow:hidden}.sidebar-scroll{overflow:auto;margin-right:-18px;padding-right:14px;scrollbar-width:auto;scrollbar-color:#45a4f4 #052b5b;scrollbar-gutter:stable}.sidebar-scroll::-webkit-scrollbar{width:13px}.sidebar-scroll::-webkit-scrollbar-track{margin:3px 0 5px;border-left:1px solid rgba(126,183,241,.15);background:#052b5b}.sidebar-scroll::-webkit-scrollbar-thumb{min-height:68px;border:3px solid #052b5b;border-radius:999px;background:#45a4f4;box-shadow:inset 0 1px 0 rgba(255,255,255,.32)}.sidebar-scroll::-webkit-scrollbar-thumb:hover{background:#66b8fb}.nav-section{color:#b9cae1;font-size:.68rem;margin:18px 17px 9px;letter-spacing:.1em}.nav-link{min-height:52px;margin:3px 0;padding:12px 17px;border-radius:8px;color:#eef5ff;font-size:.92rem;font-weight:500;gap:15px;position:relative}.nav-link .icon{width:21px}.nav-link:hover{background:rgba(255,255,255,.09)}.nav-link.active{background:rgba(100,155,222,.2);border-left:0;color:#fff}.nav-link.active:before{content:'';position:absolute;left:0;top:7px;bottom:7px;width:3px;border-radius:3px;background:#57b9ff;box-shadow:0 0 9px rgba(87,185,255,.34)}.sidebar-logout{margin-top:auto;border-top:1px solid rgba(255,255,255,.2);padding-top:16px}.sidebar .logout{margin:0}.sidebar-overlay{display:none}
.main-content{margin-left:300px;padding:144px clamp(28px,3.6vw,64px) 72px;max-width:none;transition:margin .22s ease}.main-content>*{max-width:1180px;margin-left:auto;margin-right:auto}.alert{border:1px solid transparent;border-radius:9px;box-shadow:none}.dashboard-hero{min-height:166px;margin-bottom:22px;padding:34px 36px;border-radius:12px;background:linear-gradient(115deg,#0a3e7f 0%,#062c62 100%)}.dashboard-hero:after{width:310px;height:310px;border:40px solid rgba(120,174,235,.14);right:-30px;top:-108px}.dashboard-hero .eyebrow{color:#1ca0ff}.dashboard-hero h1{font-size:2rem;margin:9px 0 10px;letter-spacing:-.025em}.dashboard-hero p{font-size:.96rem}.hero-action{background:var(--yellow);color:var(--blue-950);min-height:55px;padding:14px 24px;border-radius:9px;box-shadow:0 8px 20px rgba(255,194,0,.16)}.hero-action:hover{background:#ffd54d}.hero-action .icon{width:20px}.student-hero .course-pill{background:var(--yellow);border-radius:8px}
.stats-grid.dashboard-stats{grid-template-columns:repeat(3,1fr);gap:22px;margin:0 0 34px}.dashboard-stats .stat-card,.stats-grid .stat-card{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);min-height:118px;padding:24px}.dashboard-stats .stat-card strong{font-size:1.75rem}.dashboard-stats .stat-card small{font-size:.82rem;color:#526487}.stat-icon-box{width:58px;height:58px;display:grid;place-items:center;border-radius:12px}.stat-icon-box .icon{width:29px;height:29px}.stat-icon-box.blue{color:#0569ef;background:#eaf3ff}.stat-icon-box.green{color:#069c78;background:#e4f7f0}.stat-icon-box.orange{color:#ff6b22;background:#fff0e7}
.section-head{margin:31px auto 14px}.section-head .eyebrow{margin-bottom:4px;color:#0768ea}.section-head h2{font-size:1.4rem}.section-link{display:inline-flex;align-items:center;gap:8px;color:#0868e8;font-size:.82rem;font-weight:700}.section-link .icon{width:17px}.table-wrap{border:1px solid var(--line);border-radius:11px;box-shadow:none;background:#fff}table{min-width:720px}th{background:#fff;color:#5d6f94;font-size:.7rem;padding:16px 20px}td{padding:15px 20px;color:#102e60}tbody tr:last-child td{border-bottom:0}.tag{font-size:.66rem;padding:5px 10px}.table-action{font-weight:900;letter-spacing:2px;color:var(--blue-950)}.table-empty{display:flex;align-items:center;justify-content:center;gap:18px;padding:22px}.table-empty>.icon{width:42px;height:42px;color:#7c8cab}.table-empty p{margin:3px 0 0;color:var(--muted)}.empty-state-card{display:flex;align-items:center;gap:22px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:22px 26px}.empty-state-card>span{width:64px;height:64px;border-radius:12px;background:#edf4ff;display:grid;place-items:center;color:#657a9f}.empty-state-card>span .icon{width:36px;height:36px}.empty-state-card h3{font-size:1rem;margin:0 0 7px}.empty-state-card p{margin:0;color:var(--muted);font-size:.86rem}
.form-card{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:none}.form-grid input,.form-grid textarea,.form-grid select,.stack-form input{border-color:#ced8e5;border-radius:8px;background:#fff}.form-grid input:hover,.form-grid textarea:hover,.form-grid select:hover{border-color:#9eb0c7}.question-editor{border-radius:9px;background:#fbfcfe}.btn{border-radius:8px}.btn.primary{background:#0865dc;box-shadow:none}.btn.secondary{background:#fff}.page-heading h1{font-size:1.75rem}.step-badge{border-radius:8px}.management-card,.review-card{border-radius:10px;box-shadow:none}.reading-management-grid{gap:18px}.management-card h2{color:var(--blue-950)}
.reading-card{border-top:0;border-left:4px solid #0868e8;border-radius:10px;box-shadow:none}.reading-card.completada{border-left-color:var(--green)}.reading-card.fuera_plazo{border-left-color:#8e99ab}.reading-paper{border-radius:12px;box-shadow:0 5px 22px rgba(15,48,89,.05)}.question-card{border-radius:10px;box-shadow:none}.option{border-radius:8px}.result-card{border-radius:12px;box-shadow:var(--shadow)}
.login-brand{background:linear-gradient(145deg,#062d61,#074184)}.login-card{max-width:430px}.login-card h2{color:var(--blue-950)}.demo-box{border:1px solid #f2dd8c;background:#fff8dc}.auth-page .btn.primary{background:#0865dc}
@media(min-width:721px){.mobile-menu-open .sidebar{transform:translateX(-100%)}.mobile-menu-open .main-content{margin-left:0}}
@media(max-width:1000px){.topbar{padding:0 22px;gap:15px}.brand{width:185px}.main-content{padding-left:28px;padding-right:28px}.stats-grid.dashboard-stats{gap:14px}.topbar-context>span{display:none}}
@media(max-width:720px){body.app-shell{padding-bottom:71px}.topbar{height:76px;padding:0 14px;gap:11px}.brand{width:auto;margin-right:auto}.brand span:last-child{display:none}.brand-mark{width:39px;height:39px}.menu-toggle{width:42px;height:42px;order:-1}.topbar-divider,.topbar-context,.notification-indicator{display:none}.topbar-actions{margin:0}.user-card{min-width:0;height:45px;padding:4px;border:0}.user-card .user-copy{display:none}.sidebar{display:flex;top:76px;width:min(286px,84vw);transform:translateX(-105%);z-index:50}.mobile-menu-open .sidebar{transform:translateX(0)}.sidebar-overlay{position:fixed;display:block;inset:76px 0 0;background:rgba(3,22,47,.48);border:0;z-index:45;opacity:0;pointer-events:none}.mobile-menu-open .sidebar-overlay{opacity:1;pointer-events:auto}.main-content{margin:0;padding:99px 16px 30px}.dashboard-hero{min-height:0;padding:26px 22px}.dashboard-hero h1{font-size:1.65rem}.stats-grid.dashboard-stats,.stats-grid{grid-template-columns:1fr 1fr;gap:10px}.dashboard-stats .stat-card,.stats-grid .stat-card{min-height:105px;padding:15px;display:block}.stat-icon-box{width:42px;height:42px;margin-bottom:10px}.stat-icon-box .icon{width:23px;height:23px}.dashboard-stats .stat-card strong{font-size:1.4rem}.mobile-nav{height:71px;grid-template-columns:repeat(5,minmax(0,1fr));padding:7px 10px}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#536483;font-size:.68rem}.mobile-nav .icon{width:20px;height:20px}.section-head{align-items:flex-end}.section-link{font-size:.75rem}.reading-paper{margin-top:18px}.questions .form-actions{position:static;padding:0}.login-wrap{padding:18px}.login-card{border-radius:14px}.empty-state-card{align-items:flex-start;padding:18px}.empty-state-card>span{width:49px;height:49px}.admin-forms{gap:12px}}

/* Ajuste óptico: alineación firme y tipografía más ligera */
body{font-size:15px;font-weight:400}.main-content>*{width:100%;max-width:1160px;margin-left:0;margin-right:0}.brand{font-weight:500}.brand b{font-weight:650}.topbar-context strong{font-size:1.42rem;font-weight:650}.topbar-context small,.topbar-context>span{font-weight:400}.user-card .user-copy strong{font-weight:600}
.nav-link{font-size:.88rem;font-weight:400}.nav-link>span{font-size:.88rem;font-weight:400}.nav-link.active>span{font-weight:600}.nav-link .icon{width:19px;height:19px}.nav-section{font-size:.63rem;font-weight:650}.sidebar .logout>span{font-size:.88rem;font-weight:400}
.nav-menu-group{margin:3px 0}.nav-menu-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;min-height:52px;border:1px solid transparent;border-radius:10px;overflow:hidden;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.nav-menu-row>.nav-link{min-width:0;margin:0;padding-right:12px;border-radius:9px 0 0 9px}.nav-menu-row>.nav-link:hover{background:rgba(255,255,255,.07)}.nav-menu-group.active>.nav-menu-row{border-color:rgba(143,192,243,.18);background:linear-gradient(100deg,rgba(67,132,207,.27),rgba(48,107,180,.16));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 7px 18px rgba(2,22,51,.1)}.nav-menu-group.active>.nav-menu-row>.nav-link.active{background:transparent}.nav-menu-group.active>.nav-menu-row>.nav-link.active:before{top:8px;bottom:8px}.nav-submenu-toggle{position:relative;display:grid;place-items:center;width:44px;height:100%;min-height:50px;padding:0;border:0;border-left:1px solid rgba(201,222,246,.14);border-radius:0;background:rgba(255,255,255,.025);color:#dcecff;cursor:pointer;transition:background .18s ease,color .18s ease}.nav-submenu-toggle:before{content:'';position:absolute;width:27px;height:27px;border:1px solid transparent;border-radius:8px;transition:background .18s ease,border-color .18s ease,transform .18s ease}.nav-submenu-toggle svg{position:relative;z-index:1;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round;transition:transform .24s cubic-bezier(.2,.75,.3,1)}.nav-submenu-toggle:hover:before{border-color:rgba(199,224,250,.22);background:rgba(255,255,255,.11);transform:scale(1.04)}.nav-submenu-toggle:focus-visible{outline:0}.nav-submenu-toggle:focus-visible:before{border-color:#ffd84d;box-shadow:0 0 0 2px rgba(255,216,77,.22)}.nav-menu-group.open .nav-submenu-toggle{background:rgba(92,157,227,.12);color:#fff}.nav-menu-group.open .nav-submenu-toggle:before{border-color:rgba(162,205,249,.18);background:rgba(126,184,244,.1)}.nav-menu-group.open .nav-submenu-toggle svg{transform:rotate(180deg)}.nav-menu-group:not(.open) .nav-submenu{display:none}.nav-submenu{position:relative;display:grid;gap:3px;margin:5px 0 8px 28px;padding:4px 0 3px 13px}.nav-submenu:before{content:'';position:absolute;left:0;top:2px;bottom:2px;width:2px;border-radius:2px;background:linear-gradient(180deg,rgba(98,166,236,.7),rgba(207,225,248,.12))}.nav-submenu-link{position:relative;display:flex;align-items:center;gap:9px;min-height:39px;padding:7px 10px;border:1px solid transparent;border-radius:9px;color:#d4e2f4;font-size:.81rem;text-decoration:none;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.nav-submenu-link .icon{width:15px;height:15px;padding:2px;border-radius:50%;color:#9bc7f6}.nav-submenu-link:hover,.nav-submenu-link:focus-visible{border-color:rgba(187,216,247,.18);background:rgba(255,255,255,.09);color:#fff;transform:translateX(2px)}.nav-submenu-link.active{border-color:rgba(137,190,247,.25);background:linear-gradient(90deg,rgba(68,139,217,.25),rgba(68,139,217,.1));color:#fff;font-weight:650}.nav-submenu-link.active:before{content:'';position:absolute;left:-15px;width:3px;height:23px;border-radius:3px;background:var(--yellow);box-shadow:0 0 8px rgba(255,216,77,.38)}
/* Encabezados de submenú: una sola tarjeta con un control circular discreto. */
.nav-menu-row{display:block;min-height:52px;border:0;overflow:visible;background:transparent!important;box-shadow:none!important}.nav-menu-row>.nav-link{width:100%;padding-right:58px;border-radius:10px}.nav-menu-group.active>.nav-menu-row>.nav-link{border:1px solid rgba(132,190,246,.2);background:linear-gradient(100deg,rgba(67,132,207,.28),rgba(48,107,180,.16))}.nav-submenu-toggle{position:absolute;top:10px;right:10px;width:32px;height:32px;min-height:32px;border:1px solid rgba(179,213,247,.28);border-radius:50%;background:rgba(255,255,255,.065);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);transition:background .18s ease,border-color .18s ease,transform .18s ease}.nav-submenu-toggle:before{display:none}.nav-submenu-toggle svg{width:15px;height:15px;stroke-width:2;transform:none}.nav-submenu-toggle:hover{border-color:rgba(178,220,255,.62);background:rgba(81,162,235,.25);transform:scale(1.04)}.nav-submenu-toggle:focus-visible{outline:2px solid #65bcff;outline-offset:2px}.nav-menu-group.open .nav-submenu-toggle{border-color:rgba(115,191,255,.58);background:rgba(71,157,234,.24)}.nav-menu-group.open .nav-submenu-toggle svg{transform:rotate(90deg)}.nav-submenu-link.active:before{background:#57b9ff;box-shadow:0 0 8px rgba(87,185,255,.38)}
h1,h2,h3{font-weight:650}.dashboard-hero h1{font-size:1.85rem;font-weight:650}.dashboard-hero .eyebrow,.section-head .eyebrow,.page-heading .eyebrow{font-weight:700}.hero-action,.btn{font-weight:650}.dashboard-stats .stat-card strong,.stat-card strong{font-weight:700}.dashboard-stats .stat-card small{font-weight:400}.section-head h2{font-size:1.3rem;font-weight:650}.table-wrap th{font-weight:650}.table-wrap td strong{font-weight:600}.form-grid label,.stack-form label,.answer-panel label,.feedback-field{font-weight:600}.form-card h2,.question-editor strong{font-weight:650}.empty-state-card h3{font-weight:600}
@media(max-width:1000px){.main-content>*{max-width:none}}
@media(max-width:720px){body{font-size:14px}.main-content>*{max-width:none}.nav-link>span{font-size:.88rem}.dashboard-hero h1{font-size:1.55rem}.mobile-nav span{font-weight:600}}

.confirm-dialog{width:min(420px,calc(100% - 32px));border:0;border-radius:14px;padding:30px;text-align:center;color:var(--ink);box-shadow:0 24px 70px rgba(3,25,55,.24)}.confirm-dialog::backdrop{background:rgba(3,24,51,.58);backdrop-filter:blur(2px)}.confirm-dialog[open]{animation:dialog-in .16s ease-out}.confirm-icon{width:58px;height:58px;margin:0 auto 17px;border-radius:50%;display:grid;place-items:center;background:#fff2dd;color:#e67618}.confirm-icon .icon{width:27px;height:27px}.confirm-dialog h2{font-size:1.3rem;font-weight:650;margin:0 0 9px}.confirm-dialog p{font-size:.9rem;line-height:1.55;color:var(--muted);margin:0 auto 23px;max-width:330px}.confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.confirm-actions .btn{width:100%}@keyframes dialog-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:420px){.confirm-dialog{padding:25px 20px}.confirm-actions{grid-template-columns:1fr}}

/* Marca real e inicio de sesión */
.brand-mark.brand-image{background:#fff7d9;overflow:hidden;padding:2px;transform:none}.brand-image img{width:100%;height:100%;object-fit:contain;display:block;transform:scale(1.2)}
.auth-page{background:#f7f9fd;overflow:hidden}.auth-page .login-wrap{display:grid;grid-template-columns:minmax(0,59%) minmax(420px,41%);min-height:100vh;background:#f7f9fd;padding:0}.auth-page .login-brand{display:flex;clip-path:ellipse(94% 82% at 0 50%);min-height:100vh;padding:0;background:radial-gradient(circle at 54% 48%,#1254a7 0,#073b7c 42%,#032458 100%);position:relative;overflow:hidden}.login-brand:before{content:'';position:absolute;width:86vw;height:132vh;border:1.5px solid rgba(255,201,40,.9);border-radius:50%;left:-32vw;top:-16vh;opacity:.8}.login-brand:after{content:'';position:absolute;width:76vw;height:118vh;border:2px solid rgba(105,169,238,.35);border-radius:50%;left:-27vw;top:-9vh}.login-brand-content{position:relative;z-index:2;width:min(650px,80%);margin:auto 0;padding-left:clamp(60px,7vw,125px);color:#fff}.login-main-logo{display:block;width:245px;height:100px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 20px rgba(0,0,0,.08));margin:0 0 28px}.login-brand-content .eyebrow{font-size:.78rem;font-weight:650;letter-spacing:.24em;color:#fff;margin-bottom:24px}.login-brand-content h1{font-size:clamp(3rem,4.5vw,4.85rem);font-weight:650;line-height:1.08;letter-spacing:-.035em;margin:0 0 34px}.login-brand-content h1 em{color:var(--yellow);font-style:normal}.login-lead{font-size:1.12rem;color:#e3ecf8;margin-bottom:58px}.login-brand-content blockquote{margin:0;border-left:3px solid var(--yellow);padding:6px 0 6px 22px;color:#d8e5f4;font-size:1rem;line-height:1.55;font-style:italic}.login-book-watermark{position:absolute;z-index:1;width:58%;height:auto;left:2%;bottom:-16%;opacity:.1;filter:grayscale(1) brightness(2);mix-blend-mode:screen}.login-side{display:grid;place-items:center;min-height:100vh;padding:40px;position:relative}.auth-page .login-card{width:min(500px,100%);max-width:none;margin:0;background:#fff;border:1px solid #e0e6ef;border-radius:18px;padding:48px 46px;box-shadow:0 18px 50px rgba(13,39,76,.15)}.mobile-login-logo{display:none}.login-card>.eyebrow{font-size:.75rem;letter-spacing:.18em;font-weight:700;margin-bottom:11px}.auth-page .login-card h2{font-size:2.15rem;font-weight:650;letter-spacing:-.025em;margin:0 0 7px}.login-card>.muted{font-size:.96rem;margin-bottom:0}.auth-page .stack-form{gap:18px;margin-top:32px}.auth-page .stack-form>label{font-size:.82rem;font-weight:600;color:var(--ink);gap:8px}.login-input{position:relative;display:flex;align-items:center;border:1px solid #bfcde0;border-radius:10px;background:#fff;min-height:57px;color:#667a9c}.login-input>.icon{position:absolute;left:16px;width:20px;height:20px;pointer-events:none}.auth-page .login-input input{height:55px;border:0!important;border-radius:10px;padding:12px 52px!important;outline:0!important;background:transparent;box-shadow:none;width:100%}.login-input:focus-within{border-color:#0870eb;box-shadow:0 0 0 3px rgba(8,112,235,.1)}.auth-page .password-field button{right:7px;top:7px;height:41px;width:41px;display:grid;place-items:center;cursor:pointer}.password-field button .icon{width:20px;height:20px}.login-button{height:57px;margin-top:2px;font-size:.95rem}.login-button .icon{width:18px;height:18px}.auth-page .demo-box{margin-top:24px;padding:16px 18px;border-radius:10px;line-height:1.55}.login-status{display:flex;align-items:flex-start;gap:11px;margin-top:22px;margin-bottom:-12px;padding:12px 14px}.login-status>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#c8f0df;color:#08704f}.login-status .icon{width:16px;height:16px}.login-status div{display:grid}.login-status strong{font-size:.83rem;font-weight:650}.login-status small{font-size:.75rem;color:#34735f}
@media(max-width:1180px){.auth-page .login-wrap{grid-template-columns:54% 46%}.login-brand-content{padding-left:55px;width:88%}.login-brand-content h1{font-size:3rem}.login-main-logo{width:210px}.login-side{padding:28px}.auth-page .login-card{padding:38px 34px}}
@media(max-width:760px){.auth-page{overflow:auto}.auth-page .login-wrap{display:block;min-height:100vh;padding:22px 16px;background:linear-gradient(180deg,#edf4ff 0,#f8fafd 38%)}.auth-page .login-brand{display:none}.login-side{display:block;min-height:0;padding:0}.auth-page .login-card{width:100%;padding:30px 22px;border-radius:14px;box-shadow:0 10px 30px rgba(13,39,76,.11)}.mobile-login-logo{display:block;width:210px;height:86px;object-fit:contain;margin:0 auto 24px}.auth-page .login-card h2{font-size:1.85rem}.auth-page .stack-form{margin-top:26px}}

/* Curvas y contraste del acceso, ajustados a la referencia visual. */
.auth-page .login-wrap{position:relative;isolation:isolate;grid-template-columns:52% 48%;background:#f7f9fd;overflow:hidden}
.login-curve-art{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.auth-page .login-brand{clip-path:none;background:transparent;overflow:visible}
.auth-page .login-brand:before,.auth-page .login-brand:after{display:none}
.login-main-logo{box-sizing:content-box;width:250px;height:92px;padding:9px 16px;background:rgba(255,255,255,.96);border:1px solid rgba(255,201,40,.72);border-radius:14px;box-shadow:0 12px 30px rgba(0,22,62,.2);object-position:center}
.login-brand-content{width:min(830px,96%);padding-left:clamp(60px,6.8vw,115px);transform:translateY(-50px)}
.login-brand-content .eyebrow{font-family:"Trebuchet MS","Segoe UI",sans-serif;font-size:.76rem;font-weight:500;letter-spacing:.2em}
.login-brand-content h1{font-family:"Trebuchet MS","Segoe UI",sans-serif;font-size:clamp(3rem,4.3vw,4.55rem);font-weight:600;line-height:1.06;letter-spacing:-.04em;max-width:720px;transform:scaleX(1.035);transform-origin:left center}
.login-side{z-index:2}
@media(max-width:1180px){.auth-page .login-wrap{grid-template-columns:54% 46%}.login-main-logo{width:215px;height:80px;padding:8px 13px}.login-brand-content{padding-left:55px;width:94%;transform:translateY(-25px)}.login-brand-content h1{font-size:3rem}}
@media(max-width:760px){.login-curve-art{display:none}.mobile-login-logo{box-sizing:content-box;width:210px;height:78px;padding:7px 12px;background:#fff;border:1px solid #e1e8f2;border-radius:12px}}

/* Login ilustrado: composición y proporciones de la referencia final. */
.auth-page{font-family:"Nunito","Trebuchet MS","Segoe UI",sans-serif;background:#f8fbff}
.auth-page .login-wrap{grid-template-columns:52% 48%;height:100svh;min-height:720px;overflow:hidden;background:#f8fbff}
.auth-page .login-brand{min-height:100%;position:relative;overflow:hidden}
.login-brand-content{position:absolute;top:clamp(54px,8.2vh,78px);left:0;width:min(850px,96%);margin:0;padding-left:clamp(66px,6.55vw,120px);transform:none;z-index:4}
.login-logo-plate{width:322px;height:123px;margin:0 0 24px;display:grid;place-items:center;background:#fff;border-radius:19px;box-shadow:0 8px 22px rgba(0,24,67,.25);overflow:hidden}
.login-logo-plate .login-main-logo{box-sizing:border-box;width:252px;height:108px;padding:0;margin:0;background:transparent;border:0;border-radius:0;box-shadow:none;object-fit:contain;object-position:center;filter:none}
.login-brand-content .eyebrow{margin:0 0 24px;font-family:"Nunito","Trebuchet MS",sans-serif;font-size:1.02rem;font-weight:600;letter-spacing:.18em;color:#fff}
.login-brand-content .eyebrow::first-letter{letter-spacing:normal}
.login-brand-content h1{margin:0 0 18px;max-width:720px;font-family:"Nunito","Trebuchet MS",sans-serif;font-size:clamp(3rem,3.55vw,4rem);font-weight:700;line-height:1.1;letter-spacing:-.035em;transform:none;color:#fff}
.login-brand-content h1 em{color:#ffc21c}
.login-lead{margin:0;font-size:1.16rem;font-weight:500;color:#fff}
.login-brand-content blockquote,.login-book-watermark{display:none}
.login-children{position:absolute;z-index:3;left:5.2vw;bottom:-.5%;width:min(39.5vw,720px);height:auto;object-fit:contain;filter:drop-shadow(0 10px 12px rgba(0,20,55,.22));pointer-events:none}
.login-side{min-height:100%;padding:32px 5.1vw 32px 2.2vw;z-index:4}
.auth-page .login-card{width:clamp(480px,29.45vw,538px);min-height:714px;padding:50px 52px 34px;border:1px solid #e6ebf2;border-radius:25px;box-shadow:0 18px 45px rgba(20,56,103,.16);display:flex;flex-direction:column;justify-content:center}
.login-card>.eyebrow{margin:0 0 13px;font-family:"Nunito",sans-serif;font-size:.94rem;font-weight:800;letter-spacing:.18em}
.auth-page .login-card h2{margin:0 0 3px;font-family:"Nunito",sans-serif;font-size:2.55rem;font-weight:800;line-height:1.16;letter-spacing:-.035em}
.login-card>.muted{font-size:1.05rem;font-weight:500;color:#7082a4}
.auth-page .stack-form{gap:19px;margin-top:34px}
.auth-page .stack-form>label{gap:8px;font-size:.98rem;font-weight:600}
.login-input{min-height:70px;border-color:#bac9df;border-radius:13px}
.login-input>.icon{left:20px;width:23px;height:23px}
.auth-page .login-input input{height:68px;padding:12px 60px!important;border-radius:13px;font-size:1rem}
.auth-page .password-field button{top:12px;right:10px;width:44px;height:44px}
.login-button{position:relative;height:72px;margin-top:3px;border-radius:13px;font-family:"Nunito",sans-serif;font-size:1.25rem;font-weight:800;background:linear-gradient(135deg,#086eea,#0755de)!important;box-shadow:0 10px 20px rgba(7,89,224,.22)!important}
.login-button>.icon{width:21px;height:21px;margin-left:5px}
.login-button:after{content:"✦";position:absolute;right:25px;color:#ffd028;font-size:1.8rem;line-height:1}
.auth-page .demo-box{margin-top:25px;padding:15px 23px 14px;min-height:124px;border:1px solid #efc650;border-radius:13px;background:linear-gradient(135deg,#fff9df,#fff6d1);font-size:.9rem;line-height:1.45}
.auth-page .demo-box strong{font-size:1rem;font-weight:700;margin-bottom:5px}
.auth-page .demo-box small{font-size:.84rem}
.login-trust{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin-top:27px;padding:8px 0 0;min-height:92px;border:0;background:transparent;color:#0b2d62;text-align:center}
.trust-icon{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#edf4fd;color:#0966d8}
.trust-icon .icon{width:17px;height:17px}
.login-trust>div{display:grid;justify-items:center;line-height:1.35}
.login-trust strong{font-size:.91rem;font-weight:700}
.login-trust small{font-size:.78rem;color:#687b98}
.made-in{margin-top:5px;font-size:.78rem;font-weight:600;color:#536887}
.made-in b{color:#e43e50;font-size:1.08rem;vertical-align:-1px}
.login-status{margin-top:18px;margin-bottom:-8px}
@media(max-width:1380px){.login-brand-content{top:48px;padding-left:66px}.login-logo-plate{width:286px;height:108px}.login-logo-plate .login-main-logo{width:224px;height:96px}.login-brand-content .eyebrow{font-size:.85rem;margin-bottom:18px}.login-brand-content h1{font-size:3.1rem;max-width:610px}.login-lead{font-size:1rem}.login-children{left:4.5vw;width:40.5vw}.auth-page .login-card{min-height:650px;padding:38px 42px}.login-side{padding-right:4vw}.login-input{min-height:61px}.auth-page .login-input input{height:59px}.auth-page .password-field button{top:8px}.login-button{height:62px}.login-trust{min-height:100px}}
@media(max-width:900px){.auth-page .login-wrap{display:block;height:auto;min-height:100svh;padding:24px 16px;background:linear-gradient(180deg,#edf5ff,#f9fbff)}.login-curve-art,.auth-page .login-brand{display:none}.login-side{display:block;min-height:0;padding:0}.auth-page .login-card{width:min(540px,100%);min-height:0;margin:auto;padding:30px 24px;border-radius:18px}.mobile-login-logo{display:block;box-sizing:content-box;width:225px;height:80px;padding:8px 14px;margin:0 auto 25px;background:#fff;border:1px solid #e1e8f2;border-radius:14px}.auth-page .login-card h2{font-size:2rem}.auth-page .stack-form{margin-top:27px}.login-input{min-height:58px}.auth-page .login-input input{height:56px}.login-button{height:59px}.auth-page .demo-box{min-height:0}}

/* Formulario corporativo basado en la referencia vertical. */
.auth-page .login-card{position:relative;overflow:hidden;border:1px solid #bdc7d5;border-radius:12px;box-shadow:0 14px 35px rgba(13,31,57,.14)}
.auth-page .login-card:before{content:"";position:absolute;top:0;left:0;width:50%;height:3px;background:#0875f5}
.login-card-mark{display:block;width:48px;height:48px;margin:0 0 23px;object-fit:contain}
.login-card>.eyebrow{margin-bottom:23px}
.auth-page .login-card h2{color:#111722;font-weight:800}
.login-card>.muted{color:#68758c}
.login-input{border-color:#bec7d3;background:#fff;border-radius:9px;box-shadow:none}
.login-input:focus-within{border-color:#0875f5;box-shadow:0 0 0 2px rgba(8,117,245,.08)}
.auth-page .login-input input{border-radius:9px}
.login-button{background:linear-gradient(135deg,#111722,#080b11)!important;border-radius:8px;box-shadow:0 9px 18px rgba(10,14,22,.16)!important}
.login-button:after{display:none}
.login-trust{position:relative;margin-top:35px;padding-top:51px;min-height:154px;gap:5px}
.login-trust:before{content:"";position:absolute;top:20px;left:0;right:0;height:1px;background:#d4d9e1}
.trust-icon{position:absolute;z-index:1;top:0;left:50%;width:42px;height:42px;transform:translateX(-50%);border:8px solid #fff;background:#f1f3f6}
.trust-icon .icon{width:18px;height:18px}
.login-trust strong{font-size:1rem;color:#171d29}
.login-trust small{font-size:.82rem}
.made-in{margin-top:13px;font-size:.84rem}
@media(max-width:900px){.login-card-mark{display:none}.auth-page .login-card{border-radius:12px}.login-trust{min-height:145px}}

.editor-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.editor-info-grid .span-2{grid-column:span 2}
.span-3{grid-column:1/-1}
@media(max-width:1050px){.editor-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-info-grid .span-3{grid-column:1/-1}}
@media(max-width:720px){.editor-info-grid{grid-template-columns:1fr}.editor-info-grid .span-2,.editor-info-grid .span-3{grid-column:auto}}

/* Ajuste solicitado: conservar el formulario, botón oscuro y acento amarillo. */
.auth-page .login-card{position:relative;overflow:hidden;border:1px solid #e6ebf2;border-radius:25px;box-shadow:0 18px 45px rgba(20,56,103,.16)}
.auth-page .login-card:before{width:50%;height:3px;background:#ffc928}
.login-card>.eyebrow{margin-bottom:13px}
.login-input{border-color:#bac9df;border-radius:13px}
.auth-page .login-input input{border-radius:13px}
.login-input:focus-within{border-color:#0870eb;box-shadow:0 0 0 3px rgba(8,112,235,.1)}
.login-button{background:linear-gradient(135deg,#111722,#080b11)!important;border-radius:13px;box-shadow:0 9px 18px rgba(10,14,22,.16)!important}
.login-trust{position:static;margin-top:27px;padding:8px 0 0;min-height:92px;gap:6px}
.login-trust:before{display:none}
.trust-icon{position:static;width:34px;height:34px;transform:none;border:0;background:#edf4fd}
.trust-icon .icon{width:17px;height:17px}
.login-trust strong{font-size:.91rem;color:#0b2d62}
.login-trust small{font-size:.78rem}
.made-in{margin-top:5px;font-size:.78rem}
@media(max-width:900px){.auth-page .login-card{border-radius:18px}.login-trust{min-height:92px}}

.mobile-reader-art{display:none}

/* Acceso móvil inspirado en una portada de lectura; escritorio queda intacto. */
@media(max-width:900px){
  .auth-page .login-wrap{padding:12px 14px 18px;background:radial-gradient(circle at 8% 8%,rgba(255,255,255,.8) 0 56px,transparent 57px),radial-gradient(circle at 93% 4%,rgba(168,204,255,.32) 0 92px,transparent 93px),linear-gradient(155deg,#dcebff 0%,#eff7ff 48%,#e4f1ff 100%)}
  .login-side{position:relative}
  .auth-page .login-card{width:min(560px,100%);padding:8px 6px 0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
  .auth-page .login-card:before,.auth-page .login-card:after{display:none}
  .mobile-login-logo{width:225px;height:80px;padding:0;margin:0 auto 10px;border:0;border-radius:0;background:transparent;box-shadow:none}
  .login-card>.eyebrow{display:inline-flex;align-items:center;width:max-content;margin:0 0 8px;padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#096be4,#0755c8);color:#fff;font-size:.74rem;letter-spacing:.15em;box-shadow:0 7px 15px rgba(7,91,205,.19)}
  .auth-page .login-card h2{max-width:330px;margin-bottom:2px;font-size:2.2rem;line-height:1.02;color:#0a2c68;letter-spacing:-.04em}
  .login-card>.muted{font-size:.94rem;color:#59708f}
  .mobile-reader-art{display:block;width:min(370px,89%);height:auto;margin:-14px auto -5px;filter:drop-shadow(0 12px 18px rgba(15,62,124,.14));pointer-events:none}
  .login-status{margin:0 0 14px}
  .auth-page .stack-form{gap:15px;margin:0;padding:20px;border:1px solid rgba(139,174,219,.3);border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 18px 42px rgba(17,67,129,.14)}
  .auth-page .stack-form>label{gap:6px;font-size:.91rem;color:#0b2b60}
  .login-input{min-height:57px;border-color:#c2d3e8;background:#f8fbff;box-shadow:inset 0 1px 0 #fff}
  .auth-page .login-input input{height:55px;background:transparent}
  .login-input:focus-within{border-color:#0875f5;background:#f0f6ff;box-shadow:0 0 0 3px rgba(8,117,245,.11)}
  .login-button{height:58px;margin-top:2px;background:linear-gradient(135deg,#0877f6,#0755d4)!important;border-radius:14px;box-shadow:0 12px 24px rgba(7,91,211,.25)!important}
  .login-button:after{display:block;content:"✦";right:22px;color:#ffd02b;font-size:1.5rem}
  .login-trust{min-height:0;margin-top:12px;padding:11px 10px 10px;border:1px solid rgba(137,177,226,.36);border-radius:19px;background:rgba(255,255,255,.82);gap:2px;box-shadow:0 8px 24px rgba(17,67,129,.06)}
  .trust-icon{width:34px;height:34px;background:#e4f0ff;color:#0868d9}
  .login-trust strong{font-size:.88rem}
  .login-trust small{font-size:.74rem}
  .made-in{margin-top:4px;font-size:.72rem}
}
@media(max-width:420px){
  .auth-page .login-wrap{padding:10px 9px 14px}
  .auth-page .login-card{padding-top:4px}
  .mobile-login-logo{width:210px;height:74px;margin-bottom:8px}
  .auth-page .login-card h2{font-size:2rem}
  .login-card>.muted{font-size:.9rem}
  .mobile-reader-art{width:90%;margin-top:-12px;margin-left:auto;margin-right:auto}
  .auth-page .stack-form{padding:18px;border-radius:22px}
}

/* Actividad del estudiante: experiencia móvil cálida, clara y táctil. */
@media(max-width:720px){
  .activity-page{position:relative;color:#092b61}
  .activity-page>.back{display:inline-flex;align-items:center;gap:9px;min-height:36px;margin:0 0 14px;padding:2px 4px 2px 2px;border:0;border-radius:9px;background:transparent;color:#214b7f;font-size:.78rem;font-weight:600;box-shadow:none}
  .activity-page>.back:hover{color:#075fc9}
  .activity-page>.back .activity-back-icon{display:grid;place-items:center;width:31px;height:31px;border:1px solid #d4e3f5;border-radius:9px;background:#edf5ff;color:#0870df;transition:transform .15s ease,background .15s ease}
  .activity-page>.back:hover .activity-back-icon{transform:translateX(-2px);background:#e3efff}
  .activity-page>.back .activity-back-icon .icon{width:16px;height:16px;transform:rotate(180deg);stroke-width:1.7}
  .activity-page .activity-head{position:relative;overflow:hidden;margin:0 0 16px;padding:20px 18px 18px;border:1px solid #cfe1f6;border-radius:22px;background:radial-gradient(circle at 92% 15%,rgba(255,201,40,.42) 0 8px,transparent 9px),radial-gradient(circle at 84% 32%,rgba(8,104,232,.14) 0 5px,transparent 6px),linear-gradient(145deg,#eaf4ff,#f8fbff 60%,#fff8da);box-shadow:0 12px 28px rgba(20,67,124,.09)}
  .activity-page .activity-head:after{content:"✦";position:absolute;right:24px;bottom:17px;color:#ffc21c;font-size:1.35rem;line-height:1}
  .activity-page .activity-head>div:first-child{position:relative;z-index:1}
  .activity-page .activity-head .tag{padding:5px 10px;background:#fff;color:#075bc5;border:1px solid #d5e5f8;box-shadow:0 3px 8px rgba(13,62,122,.05)}
  .activity-page .activity-head h1{max-width:86%;margin:11px 0 5px;font-size:1.72rem;letter-spacing:-.025em;color:#072d66}
  .activity-page .activity-head p{margin:0;color:#5c7091;font-size:.86rem}
  .activity-page .timer{position:relative;z-index:1;margin-top:14px;padding:7px 12px;border-color:#c9dcf2;background:rgba(255,255,255,.9);color:#174c8c;font-size:.78rem;font-weight:700;box-shadow:0 3px 9px rgba(13,62,122,.05)}
  .activity-page .reading-paper{position:relative;overflow:hidden;margin:0 0 26px;padding:18px 18px 24px;border:1px solid #d8e4f2;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(20,67,124,.08)}
  .activity-page .reading-paper:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;background:linear-gradient(90deg,#ffc928 0 32%,#1681ed 32% 78%,#6cc8ea 78%)}
  .activity-page .instructions{position:relative;margin:2px 0 18px;padding:14px 14px 14px 49px;border:1px solid #d4e6fb;border-radius:15px;background:#eef6ff;color:#224d82;font-size:.82rem;line-height:1.5}
  .activity-page .instructions:before{content:"💡";position:absolute;left:14px;top:13px;display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#fff4c5;font-size:.9rem}
  .activity-page .instructions strong{color:#092f69}
  .activity-page .reading-text{font-size:1.06rem;line-height:1.82;color:#17345f}
  .activity-page .questions>.section-head{align-items:center;margin:0 0 16px;padding:0 2px}
  .activity-page .questions>.section-head .eyebrow{margin-bottom:5px;color:#0870e8;font-size:.64rem;font-weight:600;letter-spacing:.16em}
  .activity-page .questions>.section-head h2{margin:0;font-size:1.3rem;font-weight:600;color:#173c70}
  .activity-page .questions>.section-head>span{padding:6px 9px;border-radius:999px;background:#eaf3ff;color:#1761b3;font-size:.68rem;font-weight:550;white-space:nowrap}
  .activity-page .question-card{position:relative;margin:0 0 19px;padding:13px;border:1px solid #d9e4f1;border-radius:19px;background:#fff;box-shadow:0 8px 22px rgba(20,67,124,.055)}
  .activity-page .question-card legend{float:left;width:100%;margin:0 0 13px;padding:11px 10px;gap:9px;border:0;border-radius:13px;background:#f2f7fd;color:#244a7d;font-size:.92rem;font-weight:600;line-height:1.42}
  .activity-page .question-card legend+*{clear:both}
  .activity-page .question-card legend>span{flex:0 0 auto;width:28px;height:28px;margin-top:0;background:#0b63c7;font-size:.8rem;font-weight:600;box-shadow:none}
  .activity-page .question-card legend small{flex:0 0 auto;margin-left:auto;padding:4px 7px;border-radius:8px;background:#fff5cb;color:#725b13;font-size:.63rem;font-weight:500;text-align:center}
  .activity-page .option{min-height:54px;margin:9px 0;padding:12px 13px;border:1.5px solid #d5e1ef;border-radius:13px;background:#fff;color:#173866;gap:12px;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}
  .activity-page .option:active{transform:scale(.992)}
  .activity-page .option:has(input:checked){border-color:#0875f5;background:linear-gradient(135deg,#eaf4ff,#f4f8ff);box-shadow:0 4px 11px rgba(8,117,245,.1)}
  .activity-page .option input{appearance:none;display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;margin:0;border:2px solid #9aabc2;border-radius:50%;background:#fff}
  .activity-page .option input:checked{border:5px solid #0870e8;box-shadow:0 0 0 3px rgba(8,112,232,.1)}
  .activity-page .option span{font-size:.83rem;font-weight:400;line-height:1.45}
  .activity-page .student-text-answer input,.activity-page .student-text-answer textarea{border-radius:13px;background:#fbfdff}
  .activity-page .form-actions{position:sticky;z-index:8;bottom:78px;display:grid;grid-template-columns:.72fr 1fr 1.18fr;gap:10px;margin:23px 0 8px;padding:13px;border:1px solid #d7e4f2;border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 10px 26px rgba(20,67,124,.08);backdrop-filter:blur(10px)}
  .activity-page .form-actions .btn{min-height:52px;padding:10px 8px;border-radius:12px;font-size:.79rem}
  .activity-page .form-actions .btn.secondary{border-color:#cbdcf0;color:#0a4e9f;background:#f8fbff}
  .activity-page .form-actions .btn.primary{background:linear-gradient(135deg,#0875f5,#0757d7);box-shadow:0 8px 17px rgba(7,91,211,.19)}
}

@media(max-width:519px){
  .activity-page .form-actions{grid-template-columns:1fr 1.18fr}
  .activity-page .form-actions .activity-back-action{grid-column:1/-1;min-height:42px}
}

/* Preferencias neuroinclusivas persistentes por perfil. */
.neuro-accessibility-launcher{position:fixed;z-index:55;right:24px;bottom:24px;display:flex;align-items:center;gap:9px;min-height:54px;padding:8px 16px 8px 9px;border:2px solid #fff;border-radius:99px;background:#0870df;color:#fff;font-weight:700;box-shadow:0 10px 28px rgba(3,51,110,.3);cursor:pointer}
.neuro-accessibility-launcher:hover{background:#075fbd;transform:translateY(-1px)}
.neuro-infinity{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#fff;color:#0870df;font-family:Arial,sans-serif;font-size:2rem;font-weight:700;line-height:1}
.neuro-accessibility-launcher{isolation:isolate;animation:neuro-button-float 3.2s ease-in-out infinite,neuro-button-glow 2.2s ease-in-out infinite}
.neuro-accessibility-launcher:before{content:'';position:absolute;z-index:-1;inset:-7px;border:2px solid rgba(42,157,255,.58);border-radius:inherit;opacity:0;pointer-events:none;animation:neuro-button-ring 2.2s ease-out infinite}
.neuro-accessibility-launcher .neuro-infinity{animation:neuro-infinity-heartbeat 2.2s ease-in-out infinite;transform-origin:center}
.neuro-accessibility-launcher:hover,.neuro-accessibility-launcher:focus-visible{animation-play-state:paused;box-shadow:0 0 0 5px rgba(8,112,223,.18),0 13px 31px rgba(3,51,110,.34)}
@keyframes neuro-button-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes neuro-button-glow{0%,100%{box-shadow:0 10px 28px rgba(3,51,110,.3),0 0 0 0 rgba(33,148,255,0)}50%{box-shadow:0 13px 32px rgba(3,51,110,.36),0 0 20px 5px rgba(33,148,255,.38)}}
@keyframes neuro-button-ring{0%,28%{inset:-4px;opacity:0}42%{opacity:.8}78%,100%{inset:-16px;opacity:0}}
@keyframes neuro-infinity-heartbeat{0%,32%,100%{transform:scale(1)}40%{transform:scale(1.14) rotate(-3deg)}48%{transform:scale(1)}56%{transform:scale(1.09) rotate(3deg)}66%{transform:scale(1)}}
.a11y-calm .neuro-accessibility-launcher,.a11y-calm .neuro-accessibility-launcher:before,.a11y-calm .neuro-accessibility-launcher .neuro-infinity{animation:none!important}
@media(prefers-reduced-motion:reduce){.neuro-accessibility-launcher,.neuro-accessibility-launcher:before,.neuro-accessibility-launcher .neuro-infinity{animation:none!important}}
.accessibility-dialog{width:min(640px,calc(100% - 28px));max-height:min(760px,calc(100vh - 28px));padding:0;overflow:auto;border:0;border-radius:20px;background:#fff;color:#102a50;box-shadow:0 24px 70px rgba(3,28,65,.34)}
.accessibility-dialog::backdrop{background:rgba(2,19,43,.65);backdrop-filter:blur(3px)}
.accessibility-dialog form{padding:24px}
.accessibility-dialog-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding-bottom:18px;border-bottom:1px solid #dce6f1}
.accessibility-dialog-head .neuro-infinity{background:#0870df;color:#fff}
.accessibility-dialog-head p{margin:0;color:#0870df;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.accessibility-dialog-head h2{margin:3px 0 0;font-size:1.45rem;color:#092f68}
.accessibility-dialog-head>button{align-self:start;width:40px;height:40px;border:0;border-radius:10px;background:#edf4fc;color:#143e70;font-size:1.7rem;line-height:1;cursor:pointer}
.accessibility-intro{margin:17px 0;color:#5d718e}
.accessibility-choice{margin:14px 0;padding:15px;border:1px solid #d7e3f0;border-radius:14px}
.accessibility-choice legend{padding:0 6px;color:#103c75;font-weight:750}
.accessibility-choice>p{margin:-2px 0 11px;color:#667a96;font-size:.78rem}
.accessibility-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.accessibility-segments label{position:relative;cursor:pointer}
.accessibility-segments input{position:absolute;opacity:0;pointer-events:none}
.accessibility-segments span{display:grid;place-items:center;min-height:43px;padding:7px;border:1px solid #c8d8ea;border-radius:9px;background:#f8fbff;color:#21476f;font-size:.8rem;font-weight:700;text-align:center}
.accessibility-segments input:checked+span{border-color:#0870df;background:#0870df;color:#fff;box-shadow:inset 0 0 0 1px #0870df}
.accessibility-segments input:focus-visible+span{outline:3px solid #ffc928;outline-offset:2px}
.accessibility-toggles{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.accessibility-toggles>label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:82px;padding:12px 13px;border:1px solid #d7e3f0;border-radius:12px;background:#fbfdff;cursor:pointer}
.accessibility-toggles label>span{display:grid;line-height:1.22}
.accessibility-toggles strong{color:#123e73;font-size:.85rem}
.accessibility-toggles small{margin-top:5px;color:#687c97;font-size:.7rem}
.accessibility-toggles input{appearance:none;flex:0 0 auto;width:43px;height:24px;margin:0;border:1px solid #9eb3ca;border-radius:99px;background:#d9e2ec;cursor:pointer;transition:.15s}
.accessibility-toggles input:before{content:'';display:block;width:18px;height:18px;margin:2px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:.15s}
.accessibility-toggles input:checked{border-color:#0870df;background:#0870df}
.accessibility-toggles input:checked:before{transform:translateX(19px)}
.accessibility-toggles input:focus-visible{outline:3px solid #ffc928;outline-offset:2px}
.accessibility-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:18px;margin-top:18px;border-top:1px solid #dce6f1}
.accessibility-save-status{color:#4f6989;font-size:.76rem}

html:has(body.a11y-font-1){font-size:18px}
html:has(body.a11y-font-2){font-size:20px}
.a11y-font-1 .reading-text{font-size:1.22rem;line-height:2.05}
.a11y-font-2 .reading-text{font-size:1.38rem;line-height:2.1}
.a11y-font-2 .question-card legend,.a11y-font-2 .option{font-size:1.08rem}
.a11y-theme-contrast{--ink:#000;--muted:#111;--line:#000;--bg:#fff;--white:#fff;--blue-100:#fff;--blue-600:#004ea8;--blue-800:#003b80;--yellow:#ffd800;color:#000}
.a11y-theme-contrast .topbar,.a11y-theme-contrast .reading-card,.a11y-theme-contrast .form-card,.a11y-theme-contrast .table-wrap,.a11y-theme-contrast .reading-paper,.a11y-theme-contrast .question-card,.a11y-theme-contrast .profile-card{border:2px solid #000;box-shadow:none}
.a11y-theme-contrast .btn,.a11y-theme-contrast input,.a11y-theme-contrast textarea,.a11y-theme-contrast select{border-width:2px;border-color:#000}
.a11y-theme-dark{color-scheme:dark;--ink:#f5f8ff;--muted:#c2cde0;--line:#4b607d;--bg:#071426;--white:#10233d;--blue-100:#173454;--blue-950:#eaf3ff;--blue-900:#d9eaff;--blue-800:#75b8ff;--blue-600:#63adff}
.a11y-theme-dark,.a11y-theme-dark .main-content{background:#071426;color:#f5f8ff}
.a11y-theme-dark .topbar,.a11y-theme-dark .reading-card,.a11y-theme-dark .form-card,.a11y-theme-dark .table-wrap,.a11y-theme-dark .reading-paper,.a11y-theme-dark .question-card,.a11y-theme-dark .profile-card,.a11y-theme-dark .content-toolbar,.a11y-theme-dark .result-card{border-color:#4b607d;background:#10233d;color:#f5f8ff;box-shadow:none}
.a11y-theme-dark .reading-text,.a11y-theme-dark h1,.a11y-theme-dark h2,.a11y-theme-dark h3,.a11y-theme-dark strong,.a11y-theme-dark label,.a11y-theme-dark .back{color:#f5f8ff}
.a11y-theme-dark p,.a11y-theme-dark small,.a11y-theme-dark .muted,.a11y-theme-dark .user-copy small{color:#c2cde0}
.a11y-theme-dark input,.a11y-theme-dark textarea,.a11y-theme-dark select,.a11y-theme-dark .option{border-color:#6d82a0;background:#071a31;color:#fff}
.a11y-theme-dark .option:has(input:checked){border-color:#8fc7ff;background:#1e426b}
.a11y-theme-dark th{background:#1b3555;color:#e8f2ff}
.a11y-theme-dark .accessibility-dialog{background:#10233d;color:#f5f8ff}
.a11y-theme-dark .accessibility-dialog-head h2,.a11y-theme-dark .accessibility-choice legend,.a11y-theme-dark .accessibility-toggles strong{color:#f5f8ff}
.a11y-theme-dark .accessibility-choice,.a11y-theme-dark .accessibility-toggles>label{border-color:#57708f;background:#142c49}
.a11y-theme-dark .accessibility-segments span{border-color:#667d9b;background:#071a31;color:#fff}
.a11y-calm *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.a11y-calm .student-hero-art,.a11y-calm .notification-indicator,.a11y-calm .activity-submit-mascot,.a11y-calm .reading-image{display:none!important}
.a11y-calm .welcome:after,.a11y-calm .dashboard-hero:after,.a11y-calm .reading-paper:before,.a11y-calm .instructions:before{display:none!important}
.a11y-calm .welcome,.a11y-calm .dashboard-hero,.a11y-calm .reading-card,.a11y-calm .form-card,.a11y-calm .reading-paper,.a11y-calm .question-card,.a11y-calm .btn{background-image:none!important;box-shadow:none!important}
.reading-line{display:block;min-height:1.5em}
.a11y-lines .reading-text{counter-reset:reading-line}
.a11y-lines .reading-line{position:relative;padding-left:3.1em;border-left:1px solid #b9c9dc;counter-increment:reading-line}
.a11y-lines .reading-line:before{content:counter(reading-line);position:absolute;left:.45em;width:1.7em;color:#1769d2;font-family:"Nunito",sans-serif;font-size:.72em;font-weight:800;text-align:right}
.a11y-theme-dark.a11y-lines .reading-line{border-color:#6f84a0}
.a11y-theme-dark.a11y-lines .reading-line:before{color:#8fc7ff}
.a11y-line-spacing .reading-text{line-height:2.4!important}.a11y-line-spacing [data-syllable-text]:not(.reading-text),.a11y-line-spacing .option span{line-height:1.9!important}
.a11y-uppercase .main-content,.a11y-uppercase .topbar,.a11y-uppercase .sidebar,.a11y-uppercase .mobile-nav,.a11y-uppercase .accessibility-dialog{text-transform:uppercase}
.a11y-syllables [data-syllable-text]{letter-spacing:.018em;word-spacing:.1em}

@media(max-width:720px){
  .neuro-accessibility-launcher{right:13px;bottom:82px;width:56px;height:56px;min-height:56px;padding:7px;border-radius:50%}
  .neuro-accessibility-launcher>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .neuro-accessibility-launcher .neuro-infinity{width:38px;height:38px}
  .accessibility-dialog{width:calc(100% - 18px);max-height:calc(100vh - 20px);border-radius:17px}
  .accessibility-dialog form{padding:17px}
  .accessibility-dialog-head h2{font-size:1.18rem}
  .accessibility-dialog-head .neuro-infinity{width:36px;height:36px;font-size:1.8rem}
  .accessibility-toggles{grid-template-columns:1fr}
  .accessibility-toggles>label{min-height:72px}
  .accessibility-dialog footer{position:sticky;bottom:-17px;margin:16px -17px -17px;padding:12px 17px;background:inherit}
  .accessibility-save-status{max-width:58%}
}

/* Navegación móvil compacta con los colores institucionales. */
@media(max-width:720px){
  body.app-shell{padding-bottom:62px}
  .mobile-nav{height:62px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));border-top:3px solid #ffc928;background:linear-gradient(180deg,#0b4f9f,#07366f);box-shadow:0 -7px 20px rgba(5,37,82,.18)}
  .mobile-nav a{min-width:0;padding:3px 5px;border-radius:9px;gap:3px;color:rgba(255,255,255,.84);font-size:.67rem;line-height:1;opacity:1}
  .mobile-nav a:hover,.mobile-nav a:focus-visible{background:rgba(255,255,255,.11);color:#fff;opacity:1}
  .mobile-nav .icon{width:17px;height:17px;color:rgba(255,255,255,.8);stroke-width:1.65}
  .mobile-nav a>span{font-size:.68rem;line-height:1.1;font-weight:500;color:rgba(255,255,255,.84)}
}

/* Cronómetro flotante de la actividad móvil. */
@media(max-width:720px){
  .activity-page .activity-timer{--timer-progress:0%;position:fixed;z-index:18;top:87px;right:12px;display:flex;align-items:center;gap:8px;width:auto;min-width:103px;min-height:52px;margin:0;padding:6px 10px 6px 6px;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:linear-gradient(145deg,#0b57ad,#07366f);color:#fff;box-shadow:0 8px 20px rgba(4,40,88,.22);pointer-events:none}
  .activity-page .timer-ring{position:relative;display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:conic-gradient(#ffc928 var(--timer-progress),rgba(255,255,255,.2) 0)}
  .activity-page .timer-ring:before{content:"";position:absolute;inset:3px;border-radius:50%;background:#0a478d}
  .activity-page .timer-ring .icon{position:relative;z-index:1;width:18px;height:18px;color:#fff;stroke-width:1.7}
  .activity-page .timer-copy{display:grid;line-height:1.05;text-align:left}
  .activity-page .timer-copy strong{font-size:.82rem;font-weight:600;letter-spacing:.02em;color:#fff}
  .activity-page .timer-copy small{margin-top:3px;font-size:.64rem;font-weight:400;color:rgba(255,255,255,.78);white-space:nowrap}
  .activity-page .activity-timer.time-over{border-color:rgba(255,214,214,.5);background:linear-gradient(145deg,#b72f3d,#7e1825);box-shadow:0 8px 22px rgba(139,25,40,.3);animation:timer-overdue-pulse 1.55s ease-in-out infinite}
  .activity-page .activity-timer.time-over .timer-ring{background:conic-gradient(#ffd02e 100%,#ffd02e 0)}
  .activity-page .activity-timer.time-over .timer-ring:before{background:#941f2d}
  .activity-page .activity-timer.time-over .timer-copy small{color:#ffe2e5;font-weight:550}
}
@keyframes timer-overdue-pulse{0%,100%{transform:scale(1);box-shadow:0 8px 22px rgba(139,25,40,.28)}50%{transform:scale(1.035);box-shadow:0 10px 28px rgba(191,37,55,.42)}}
@media(prefers-reduced-motion:reduce){.activity-page .activity-timer.time-over{animation:none}}

/* Estados más claros para el historial de lecturas. */
.reading-card .tag{gap:5px}
.reading-card .tag .icon{width:13px;height:13px;stroke-width:2.4}
.reading-card .tag.pendiente{background:#fff3c2;color:#735600}
.reading-card .tag.en_desarrollo{background:#e8f2ff;color:#075abd}
.reading-card .tag.completada{background:#e4f7ef;color:#087351}
.reading-card .tag.fuera_plazo{background:#edf0f4;color:#647084}
.reading-card.completada{border-left-color:#0aa174;background:linear-gradient(145deg,#fff 65%,#f0fbf7)}
.reading-card.completada h3{color:#174b40}
.reading-card .completed-meta{display:inline-flex;align-items:center;gap:5px;color:#087351;font-weight:600}
.reading-card .completed-meta .icon{width:15px;height:15px}
.reading-card .completed-meta>span{display:grid;gap:1px}
.reading-card .completed-meta time{color:#587568;font-size:.68rem;font-weight:400;white-space:nowrap}
.reading-card .completed-result{justify-content:space-between;min-height:55px;padding:13px 18px;border-color:#121212;border-radius:13px;color:#fff;background:linear-gradient(135deg,#1a1a1a,#080808);box-shadow:0 9px 18px rgba(0,0,0,.16);font-weight:700}
.reading-card .completed-result:hover{border-color:#000;color:#fff;background:#000;transform:translateY(-1px)}
.reading-card .completed-result-arrow{font-size:1.5rem;font-weight:400;line-height:1;transition:transform .18s ease}
.reading-card .completed-result:hover .completed-result-arrow{transform:translateX(3px)}
@media(max-width:720px){
  .reading-card.completada{min-height:238px}
  .reading-card.completada p{margin-bottom:8px}
  .reading-card.completada .meta{margin-top:3px}
}

/* Panel móvil ilustrado para estudiantes. */
.student-hero-art,.reading-cover{display:none}
.reading-card-content{display:flex;flex:1;min-width:0;flex-direction:column}
.student-stats{grid-template-columns:repeat(3,1fr)}
@media(max-width:720px){
  .student-dashboard .student-hero{position:relative;isolation:isolate;min-height:214px;margin-bottom:15px;padding:25px 21px;overflow:hidden;border:1px solid rgba(120,174,235,.22);border-radius:21px;background:linear-gradient(115deg,#072f68 0%,#0a438e 100%);box-shadow:0 12px 28px rgba(5,43,93,.16)}
  .student-dashboard .student-hero:after{display:none}
  .student-dashboard .student-hero>div:first-child{position:relative;z-index:2;max-width:58%}
  .student-dashboard .student-hero .eyebrow{font-size:.64rem;letter-spacing:.22em;color:#75b8ff}
  .student-dashboard .student-hero h1{margin:12px 0 8px;font-size:1.75rem;color:#fff}
  .student-dashboard .student-hero p{font-size:.84rem;line-height:1.45;color:#eef6ff}
  .student-dashboard .student-hero .course-pill{position:absolute;z-index:3;left:21px;bottom:20px;margin:0;padding:10px 14px;border-radius:10px;background:linear-gradient(135deg,#ffd14a,#ffc126);color:#082d65;font-size:.82rem;box-shadow:0 7px 16px rgba(255,193,38,.18)}
  .student-hero-art{display:block;position:absolute;z-index:1;right:-61px;bottom:-17px;width:84%;height:auto;pointer-events:none}
  .student-dashboard .stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 28px;padding:13px 4px;border:1px solid #d8e4f2;border-radius:19px;background:#fff;box-shadow:0 9px 24px rgba(18,62,117,.08)}
  .student-dashboard .stats-grid .stat-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-width:0;min-height:116px;padding:6px 5px;border:0;border-right:1px solid #dbe5f1;border-radius:0;background:transparent;box-shadow:none;text-align:center}
  .student-dashboard .stats-grid .stat-card:last-child{border-right:0}
  .student-dashboard .stats-grid .stat-icon-box{width:39px;height:39px;margin:0 0 3px;border-radius:50%}
  .student-dashboard .stats-grid .stat-icon-box .icon{width:21px;height:21px}
  .student-dashboard .stats-grid .ring{width:41px;height:41px;margin:0 0 3px}
  .student-dashboard .stats-grid .ring:after{inset:5px}
  .student-dashboard .stats-grid .ring span{font-size:.68rem;font-weight:700;color:#092d66}
  .student-dashboard .stats-grid .stat-card>div:last-child{display:grid;justify-items:center}
  .student-dashboard .stats-grid .stat-card strong{order:-1;font-size:1.2rem;font-weight:700;line-height:1.12;color:#092d66}
  .student-dashboard .stats-grid .stat-card small{display:block;max-width:88px;min-height:2.7em;font-size:.78rem;font-weight:500;line-height:1.35;color:#385474;text-wrap:balance}
  .student-dashboard>.section-head{position:relative;margin:0 0 14px;padding:0 3px}
  .student-dashboard>.section-head .eyebrow{font-size:.66rem;letter-spacing:.2em}
  .student-dashboard>.section-head h2{font-size:1.48rem;color:#092d66}
  .student-dashboard .reading-grid{gap:12px}
  .student-dashboard .reading-card{display:grid;grid-template-columns:94px minmax(0,1fr);gap:14px;min-height:0;padding:15px;border:1px solid #cdddf0;border-left:4px solid #0875f5;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(20,67,124,.07)}
  .student-dashboard .reading-cover{display:block;width:94px;height:132px;border-radius:13px;object-fit:cover;box-shadow:0 7px 15px rgba(16,48,91,.12)}
  .student-dashboard .reading-card-content{display:flex;min-width:0;flex-direction:column}
  .student-dashboard .reading-card h3{margin:11px 0 6px;font-size:1.18rem}
  .student-dashboard .reading-card p{font-size:.78rem;line-height:1.45}
  .student-dashboard .reading-card .meta{margin:8px 0 10px;padding-top:9px;font-size:.7rem}
  .student-dashboard .reading-card .btn{min-height:45px;font-size:.76rem}
  .student-dashboard .reading-card.completada{grid-template-columns:66px minmax(0,1fr);gap:11px;padding:11px 12px;min-height:0;border-color:#b8ddcf;border-left-color:#0a9870;background:linear-gradient(145deg,#fff,#f7fcfa)}
  .student-dashboard .reading-card.completada .reading-cover{width:66px;height:72px;border-radius:11px;box-shadow:none}
  .student-dashboard .reading-card.completada .reading-card-content{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:8px;align-items:center}
  .student-dashboard .reading-card.completada .card-top{grid-column:1/-1}
  .student-dashboard .reading-card.completada .type{font-size:.65rem}
  .student-dashboard .reading-card.completada h3{grid-column:1;margin:5px 0 3px;font-size:.92rem;line-height:1.2}
  .student-dashboard .reading-card.completada p{display:none}
  .student-dashboard .reading-card.completada .meta{grid-column:1;margin:0;padding:0;border:0;font-size:.67rem}
  .student-dashboard .reading-card.completada .completed-result{grid-column:2;grid-row:2/4;width:auto;min-width:126px;min-height:46px;padding:10px 13px;border-radius:11px;font-size:.74rem}
}
@media(max-width:420px){
  .student-dashboard .student-hero{min-height:198px;padding:21px 17px}
  .student-dashboard .student-hero .course-pill{left:17px;bottom:16px}
  .student-dashboard .reading-card{grid-template-columns:82px minmax(0,1fr);gap:11px;padding:12px}
  .student-dashboard .reading-cover{width:82px;height:118px}
  .student-dashboard .reading-card.completada{grid-template-columns:58px minmax(0,1fr)}
  .student-dashboard .reading-card.completada .reading-cover{width:58px;height:65px}
  .student-dashboard .reading-card.completada .reading-card-content{grid-template-columns:1fr}
  .student-dashboard .reading-card.completada .completed-result{grid-column:1;grid-row:auto;width:100%;margin-top:7px}
}

/* Confirmación amable al finalizar una actividad. */
.activity-submit-dialog{width:min(410px,calc(100% - 30px));padding:30px 26px 25px;border:0;border-radius:24px;color:#123364;background:#fff;text-align:center;box-shadow:0 28px 75px rgba(4,32,72,.3)}
.activity-submit-dialog::backdrop{background:rgba(3,25,58,.62);backdrop-filter:blur(3px)}
.activity-submit-dialog[open]{position:fixed;inset:50% auto auto 50%;max-height:calc(100dvh - 32px);margin:0;overflow-y:auto;transform:translate(-50%,-50%);animation:activity-dialog-in .18s ease-out}
@keyframes activity-dialog-in{from{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.98)}to{opacity:1;transform:translate(-50%,-50%)}}
.activity-submit-mascot{width:78px;height:78px;display:grid;place-items:center;margin:0 auto 17px;border:7px solid #fff;border-radius:50%;background:linear-gradient(145deg,#fff2b8,#ffd45b);font-size:2.25rem;box-shadow:0 8px 22px rgba(239,172,0,.23)}
.activity-submit-dialog>.eyebrow{margin-bottom:8px;color:#0870e8}
.activity-submit-dialog h2{margin:0 0 10px;font-size:1.45rem;font-weight:650;color:#092d66}
.activity-submit-dialog>p:not(.eyebrow){max-width:330px;margin:0 auto 17px;color:#5c6e8c;font-size:.88rem;line-height:1.55}
.activity-submit-note{display:flex;align-items:center;gap:9px;margin-bottom:21px;padding:11px 13px;border:1px solid #f1df9c;border-radius:13px;background:#fff9df;color:#6c5612;font-size:.76rem;text-align:left}
.activity-submit-note>span:first-child{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:#ffc928;color:#14325e;font-weight:800}
.activity-submit-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.activity-submit-actions .btn{min-height:50px;padding:10px 12px;border-radius:12px;font-size:.8rem}
.activity-submit-actions .btn.primary{background:linear-gradient(135deg,#0875f5,#0757d7);box-shadow:0 8px 18px rgba(7,91,211,.2)}
@media(max-width:380px){.activity-submit-dialog{padding:26px 18px 20px}.activity-submit-actions{grid-template-columns:1fr}}

/* Portada de lectura en el editor docente. */
.reading-cover-upload{display:grid!important;gap:8px}
.reading-cover-upload-box{display:flex;align-items:center;gap:16px;padding:14px;border:1px dashed #b8c8dc;border-radius:13px;background:#f8fbff}
.reading-cover-upload-box>img,.reading-cover-placeholder{flex:0 0 auto;width:104px;height:82px;border-radius:11px;object-fit:cover;background:#eaf3ff}
.reading-cover-placeholder{display:grid;place-items:center;color:#1769d2}
.reading-cover-placeholder .icon{width:34px;height:34px}
.reading-cover-upload-box>div{display:grid;gap:7px;min-width:0;flex:1}
.reading-cover-upload input[type=file]{padding:9px!important;border:1px solid #ccd8e7!important;background:#fff!important}
.reading-cover-upload small{color:var(--muted);font-size:.75rem;font-weight:400}

/* Tipografía más liviana en las tarjetas de lecturas. */
@media(max-width:720px){
  .student-dashboard .reading-card h3{font-weight:600}
  .student-dashboard .reading-card .tag{font-weight:600;letter-spacing:.045em}
  .student-dashboard .reading-card .type{font-weight:400}
  .student-dashboard .reading-card.completada h3{font-weight:550}
  .student-dashboard .reading-card .completed-meta{font-weight:500}
  .student-dashboard .reading-card .completed-result{font-weight:650}
}
@media(max-width:520px){.reading-cover-upload-box{align-items:flex-start;flex-direction:column}.reading-cover-upload-box>img,.reading-cover-placeholder{width:100%;height:150px}}

/* Navegación inferior clara con indicador de sección activa. */
@media(max-width:720px){
  body.app-shell{padding-bottom:58px}
  .mobile-nav{height:58px;padding:5px 8px calc(5px + env(safe-area-inset-bottom));border-top:1px solid #dce4ef;background:#fff;box-shadow:0 -5px 16px rgba(21,53,95,.08)}
  .mobile-nav a{position:relative;min-width:0;padding:3px 5px;border-radius:0;gap:3px;color:#536783;font-size:.62rem;line-height:1;opacity:1}
  .mobile-nav a:hover,.mobile-nav a:focus-visible{background:#f5f9ff;color:#0868e8}
  .mobile-nav .icon{width:17px;height:17px;color:currentColor;stroke-width:1.65}
  .mobile-nav a>span{font-size:.62rem;line-height:1.05;font-weight:500;color:currentColor}
  .mobile-nav a.active{color:#0870ee}
  .mobile-nav a.active:before{content:"";position:absolute;top:-6px;left:28%;right:28%;height:2px;border-radius:0 0 3px 3px;background:#0875f5}
}

/* Paginación semanal de lecturas: cinco actividades, de lunes a viernes. */
.reading-card .reading-day{font-weight:600;color:#0870df}
.week-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 8px;padding:14px 16px;border:1px solid #d7e3f1;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(20,62,115,.06)}
.week-pagination-copy{display:flex;align-items:center;gap:11px;min-width:0}
.week-pagination-icon{display:grid;place-items:center;flex:0 0 auto;width:39px;height:39px;border-radius:11px;background:#eaf3ff;color:#0870df}
.week-pagination-icon .icon{width:20px;height:20px}
.week-pagination-copy>span:last-child{display:grid;line-height:1.25}
.week-pagination-copy small{color:#0870df;font-size:.62rem;font-weight:650;letter-spacing:.13em}
.week-pagination-copy strong{font-size:.9rem;font-weight:600;color:#173b6f}
.week-pagination-copy em{color:#667995;font-size:.7rem;font-style:normal}
.week-pagination-actions{display:flex;gap:7px}
.week-page-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #cbdbea;border-radius:10px;background:#f8fbff;color:#0868d8;font-weight:650}
.week-page-button.next{background:#0868e8;border-color:#0868e8;color:#fff}
.week-page-button.disabled{color:#a9b6c7;background:#f2f4f7;border-color:#e1e6ed}
@media(max-width:720px){
  .student-dashboard .reading-card .reading-day{font-weight:500}
  .week-pagination{margin-top:15px;padding:12px;border-radius:16px}
  .week-pagination-icon{width:35px;height:35px}
  .week-pagination-copy strong{font-size:.82rem}
  .week-pagination-copy em{font-size:.64rem}
  .week-page-button{width:35px;height:35px}
}
@media(max-width:380px){.week-pagination-copy em{display:none}.week-pagination{gap:8px}.week-pagination-actions{gap:4px}}

/* Tarjeta finalizada fiel a la referencia visual. */
.student-dashboard .reading-card.completada{grid-column:1/-1;display:grid;grid-template-columns:190px minmax(280px,1fr) 112px 210px;align-items:center;gap:34px;min-height:290px;padding:34px 38px;border:1px solid #dce5ef;border-left:7px solid #0875f5;border-radius:25px;background:#fff;box-shadow:0 14px 34px rgba(22,56,103,.10);font-family:"Nunito","Segoe UI",sans-serif}
.reading-cover-frame{position:relative;display:none;overflow:hidden;border-radius:16px}
.student-dashboard .reading-cover-frame.default-cover-frame:before{display:none!important}
.student-dashboard .reading-card.completada .reading-cover-frame{display:block;width:190px;height:208px}
.student-dashboard .reading-card.completada .reading-cover-frame:before{content:"";position:absolute;z-index:2;top:0;left:0;width:0;height:0;border-top:34px solid #ffc928;border-right:34px solid transparent}
.student-dashboard .reading-card.completada .reading-cover{display:block;width:100%;height:100%;border-radius:16px;object-fit:cover;box-shadow:none}
.student-dashboard .reading-card.completada .reading-card-content{display:flex;align-items:flex-start;flex-direction:column;font-family:"Nunito","Segoe UI",sans-serif}
.student-dashboard .reading-card.completada .card-top{width:100%;justify-content:flex-start}
.student-dashboard .reading-card.completada .completed-type{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid #d9e7fb;border-radius:11px;background:#f8fbff;color:#647590;font-size:.94rem;font-weight:600}
.student-dashboard .reading-card.completada .completed-type i{font-style:normal;color:#536784}
.student-dashboard .reading-card.completada .completed-type .reading-day{color:#0870ed;font-weight:800}
.student-dashboard .reading-card.completada h3{max-width:480px;margin:19px 0 13px;color:#071f4b;font-family:"Nunito","Segoe UI",sans-serif;font-size:1.85rem;font-weight:800;line-height:1.12;letter-spacing:-.025em}
.student-dashboard .reading-card.completada p{display:none}
.student-dashboard .reading-card.completada .meta{display:flex;align-items:flex-start;flex-direction:column;gap:13px;margin:0;padding:0;border:0}
.completed-state-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid #ccecdf;border-radius:12px;background:#eefaf5;color:#078559;font-size:.94rem;font-weight:700;text-transform:none}
.completed-state-badge .icon{width:18px;height:18px;stroke-width:2.6}
.completed-date{display:inline-flex;align-items:center;gap:10px;color:#647694;font-size:.94rem;font-weight:500}
.completed-date .icon{width:21px;height:21px;stroke-width:1.7}
.completed-check{display:grid;place-items:center;width:102px;height:102px;border-radius:50%;background:#edf9f5;color:#08ad72}
.completed-check .icon{width:57px;height:57px;stroke-width:2.4}
.completed-side{display:grid;gap:14px;width:100%}
.completed-score{display:grid;place-items:center;min-height:104px;padding:15px;border:1px solid #d5eee5;border-radius:15px;background:#f4fbf8;color:#087b55;text-align:center}
.completed-score span{font-size:.92rem;font-weight:600}
.completed-score strong{font-size:2.35rem;font-weight:800;line-height:1.08}
.student-dashboard .reading-card.completada .completed-result{display:flex;grid-column:auto;grid-row:auto;width:100%;min-width:0;min-height:60px;margin:0;padding:14px 18px;border-radius:13px;font-family:"Nunito","Segoe UI",sans-serif;font-size:1.02rem;font-weight:750}
.student-dashboard .reading-card.completada .completed-result-arrow{display:grid;place-items:center}
.student-dashboard .reading-card.completada .completed-result-arrow .icon{width:25px;height:25px;stroke-width:1.9}
@media(max-width:1100px) and (min-width:721px){
  .student-dashboard .reading-card.completada{grid-template-columns:135px minmax(220px,1fr) 150px;gap:20px;padding:24px}
  .student-dashboard .reading-card.completada .reading-cover-frame{width:135px;height:158px}
  .student-dashboard .reading-card.completada h3{font-size:1.45rem}
  .student-dashboard .reading-card.completada .completed-check{display:none}
}
@media(max-width:720px){
  .student-dashboard .reading-card:not(.completada) .reading-cover-frame{display:block;width:94px;height:132px;border-radius:13px}
  .student-dashboard .reading-card:not(.completada) .reading-cover-frame:before{content:"";position:absolute;z-index:2;top:0;left:0;width:0;height:0;border-top:25px solid #ffc928;border-right:25px solid transparent}
  .student-dashboard .reading-card:not(.completada) .reading-cover{display:block;width:100%;height:100%;border-radius:13px;object-fit:cover}
  .student-dashboard .reading-card.completada{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;min-height:0;padding:14px;border-left-width:5px;border-radius:18px}
  .student-dashboard .reading-card.completada .reading-cover-frame{display:block;grid-row:1;width:82px;height:106px;border-radius:13px}
  .student-dashboard .reading-card.completada .reading-cover-frame:before{border-top-width:25px;border-right-width:25px}
  .student-dashboard .reading-card.completada .reading-cover{width:100%;height:100%;border-radius:13px}
  .student-dashboard .reading-card.completada .reading-card-content{display:flex;grid-column:2;grid-row:1;align-items:flex-start}
  .student-dashboard .reading-card.completada .completed-type{padding:4px 8px;border-radius:8px;font-size:.67rem}
  .student-dashboard .reading-card.completada h3{margin:8px 0 7px;font-size:1.02rem;font-weight:750}
  .student-dashboard .reading-card.completada .meta{gap:7px}
  .completed-state-badge{padding:4px 8px;border-radius:8px;font-size:.68rem}
  .completed-state-badge .icon{width:14px;height:14px}
  .completed-date{font-size:.67rem}
  .completed-date .icon{width:16px;height:16px}
  .student-dashboard .reading-card.completada .completed-check{display:none}
  .completed-side{grid-column:1/-1;display:grid;grid-template-columns:102px minmax(0,1fr);gap:10px}
  .completed-score{padding:7px 9px;border-radius:11px}
  .completed-score span{font-size:.66rem}
  .completed-score strong{font-size:1.25rem}
  .student-dashboard .reading-card.completada .completed-result{min-height:49px;padding:10px 14px;border-radius:11px;font-size:.82rem}
}
@media(max-width:420px){
  .student-dashboard .reading-card:not(.completada) .reading-cover-frame{width:82px;height:118px}
}

/* La tarjeta terminada conserva la composición horizontal de la muestra en móvil ancho. */
@media(min-width:461px) and (max-width:720px){
  .student-dashboard .reading-card.completada{display:grid;grid-template-columns:82px minmax(0,1fr) 54px 112px;align-items:center;gap:10px;min-height:142px;padding:14px 13px;border-left-width:5px;border-radius:18px}
  .student-dashboard .reading-card.completada .reading-cover-frame{display:block;grid-column:1;grid-row:1;width:82px;height:108px;border-radius:13px}
  .student-dashboard .reading-card.completada .reading-card-content{display:flex;grid-column:2;grid-row:1;align-items:flex-start;justify-content:center;min-width:0}
  .student-dashboard .reading-card.completada .completed-type{padding:4px 8px;font-size:.67rem;white-space:nowrap}
  .student-dashboard .reading-card.completada h3{max-width:100%;margin:7px 0 7px;font-size:1rem;line-height:1.12}
  .student-dashboard .reading-card.completada .meta{gap:6px}
  .student-dashboard .reading-card.completada .completed-state-badge{padding:4px 8px;font-size:.67rem;white-space:nowrap}
  .student-dashboard .reading-card.completada .completed-date{gap:5px;font-size:.65rem;white-space:nowrap}
  .student-dashboard .reading-card.completada .completed-date .icon{width:15px;height:15px}
  .student-dashboard .reading-card.completada .completed-check{display:grid;grid-column:3;grid-row:1;width:54px;height:54px}
  .student-dashboard .reading-card.completada .completed-check .icon{width:31px;height:31px}
  .student-dashboard .reading-card.completada .completed-side{display:grid;grid-column:4;grid-row:1;grid-template-columns:1fr;grid-template-rows:52px 48px;align-self:center;gap:8px;width:112px}
  .student-dashboard .reading-card.completada .completed-score{min-height:0;padding:5px;border-radius:10px}
  .student-dashboard .reading-card.completada .completed-score span{font-size:.61rem;line-height:1}
  .student-dashboard .reading-card.completada .completed-score strong{font-size:1.25rem;line-height:1.05}
  .student-dashboard .reading-card.completada .completed-result{min-height:48px;height:48px;padding:8px 10px;border-radius:10px;font-size:.68rem;white-space:nowrap}
  .student-dashboard .reading-card.completada .completed-result-arrow .icon{width:17px;height:17px}
}
@media(max-width:460px){
  .student-dashboard .reading-card.completada .completed-score{min-height:0}
  .student-dashboard .reading-card.completada .completed-result{height:auto}
}

/* Navegación estudiantil simplificada e historial de progreso. */
.week-range{margin:5px 0 0;color:#637795;font-size:.78rem}
.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;padding:26px 30px;border:1px solid #dbe6f2;border-radius:20px;background:linear-gradient(135deg,#fff,#f5f9ff);box-shadow:0 10px 28px rgba(18,59,111,.07)}
.progress-heading h1{margin:3px 0 7px;color:#082a61}
.progress-heading p{margin-bottom:0;color:#657895}
.progress-summary{display:flex;gap:10px}
.progress-summary span{display:grid;min-width:122px;padding:12px 16px;border:1px solid #d7e5f4;border-radius:13px;background:#fff;color:#58708f;font-size:.76rem;text-align:center}
.progress-summary strong{color:#0870e8;font-size:1.35rem}
@media(max-width:720px){
  .mobile-nav.student-mobile-nav{grid-template-columns:repeat(6,minmax(0,1fr));justify-content:stretch}
  .student-mobile-nav a.active:before{left:33%;right:33%}
  .progress-heading{display:block;margin-bottom:18px;padding:21px 18px;border-radius:18px}
  .progress-heading h1{font-size:1.75rem}
  .progress-summary{margin-top:17px}
  .progress-summary span{flex:1;min-width:0;padding:10px}
  .student-progress-page>.section-head{margin-top:23px}
  .role-estudiante .menu-toggle,.role-estudiante .sidebar,.role-estudiante .sidebar-overlay{display:none!important}
  .role-estudiante .topbar{justify-content:space-between}
  .role-estudiante .topbar .brand{margin-right:auto}
  .student-mobile-nav a,.student-mobile-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;padding:3px 5px;border:0;background:transparent;color:#536783;font-size:.62rem;font-weight:500;line-height:1}
  .student-mobile-nav a>span,.student-mobile-nav button>span{font-size:.62rem!important;font-weight:500;line-height:1.05}
  .student-mobile-nav a .icon,.student-mobile-nav button .icon{width:17px;height:17px;stroke-width:1.65}
  .student-mobile-nav .mobile-logout{color:#a53240;cursor:pointer}
  .student-mobile-nav .mobile-logout:hover,.student-mobile-nav .mobile-logout:focus-visible{color:#8e1f2d;background:#fff1f2}
}

/* El lenguaje visual del panel móvil también vive en el escritorio estudiantil. */
@media(min-width:721px){
  body.role-estudiante{font-family:"Nunito","Segoe UI",sans-serif;background:#f4f8fd}
  .role-estudiante .topbar{height:86px;padding:0 34px;border-bottom:1px solid #dce6f2;background:rgba(255,255,255,.97);box-shadow:0 5px 20px rgba(16,53,99,.05)}
  .role-estudiante .brand{width:184px;font-family:"Nunito","Segoe UI",sans-serif;font-size:1.08rem;font-weight:700;color:#082d65}
  .role-estudiante .brand-mark{width:48px;height:48px;border-radius:14px;background:#fff8dd;box-shadow:0 6px 15px rgba(246,183,0,.12)}
  .role-estudiante .topbar-context strong{font-family:"Nunito","Segoe UI",sans-serif;color:#082d65}
  .role-estudiante .sidebar{top:86px;width:218px;padding:26px 14px 18px;border-right:1px solid #dce6f2;background:#fff;box-shadow:8px 0 28px rgba(22,60,105,.045)}
  .role-estudiante .nav-section{color:#8b9bb1}
  .role-estudiante .sidebar .nav-link{margin-bottom:7px;color:#536b89;font-weight:600}
  .role-estudiante .sidebar .nav-link:hover{background:#f1f7ff;color:#0868df}
  .role-estudiante .sidebar .nav-link.active{border-left:3px solid #0875f5;background:#eaf3ff;color:#0863d4}
  .role-estudiante .sidebar .nav-link .icon{width:21px;height:21px}
  .role-estudiante .sidebar-logout{border-top:1px solid #e2eaf3;padding-top:12px}
  .role-estudiante .sidebar .logout{color:#6b7890}
  .role-estudiante .main-content{max-width:none;margin-left:218px;padding:118px clamp(30px,4vw,64px) 70px;background:linear-gradient(180deg,#f6f9fd,#f3f7fc)}
  .role-estudiante .student-dashboard{width:min(1320px,100%);margin:0 auto}
  .student-dashboard .student-hero{position:relative;isolation:isolate;min-height:316px;margin-bottom:24px;padding:48px 50px;overflow:hidden;border:1px solid rgba(120,174,235,.24);border-radius:26px;background:linear-gradient(112deg,#062c62 0%,#0a438e 63%,#0b56aa 100%);box-shadow:0 16px 36px rgba(5,43,93,.17)}
  .student-dashboard .student-hero:after{display:none}
  .student-dashboard .student-hero>div:first-child{position:relative;z-index:3;max-width:48%}
  .student-dashboard .student-hero .eyebrow{font-size:.85rem;letter-spacing:.24em;color:#75b8ff}
  .student-dashboard .student-hero h1{margin:17px 0 10px;font-family:"Nunito","Segoe UI",sans-serif;font-size:clamp(2.35rem,4vw,3.45rem);font-weight:800;letter-spacing:-.035em;color:#fff}
  .student-dashboard .student-hero p{font-size:1.12rem;color:#eef6ff}
  .student-dashboard .student-hero .course-pill{position:absolute;z-index:4;left:50px;bottom:43px;margin:0;padding:12px 18px;border-radius:12px;background:linear-gradient(135deg,#ffd655,#ffc426);color:#082d65;font-size:1rem;box-shadow:0 9px 20px rgba(255,193,38,.18)}
  .student-dashboard .student-hero-art{display:block;position:absolute;z-index:1;right:-34px;bottom:-34px;width:min(68%,790px);height:auto;pointer-events:none}
  .student-dashboard .stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 38px;padding:20px 12px;border:1px solid #d8e4f2;border-radius:22px;background:#fff;box-shadow:0 11px 28px rgba(18,62,117,.075)}
  .student-dashboard .stats-grid .stat-card{display:flex;align-items:center;justify-content:center;gap:17px;min-height:112px;padding:12px 26px;border:0;border-right:1px solid #dbe5f1;border-radius:0;background:transparent;box-shadow:none}
  .student-dashboard .stats-grid .stat-card:last-child{border-right:0}
  .student-dashboard .stats-grid .stat-icon-box{flex:0 0 auto;width:58px;height:58px;border-radius:50%}
  .student-dashboard .stats-grid .stat-card strong{font-size:1.72rem;font-weight:750;line-height:1.1;color:#092d66}
  .student-dashboard .stats-grid .stat-card small{max-width:145px;font-size:.9rem;font-weight:500;line-height:1.32;color:#536b89}
  .student-dashboard .stats-grid .ring{flex:0 0 auto;width:60px;height:60px}
  .student-dashboard>.section-head{margin:0 0 18px;padding:0 4px}
  .student-dashboard>.section-head h2{font-family:"Nunito","Segoe UI",sans-serif;font-size:1.75rem;font-weight:800;color:#092d66}
  .student-dashboard>.section-head .eyebrow{letter-spacing:.2em}
  .student-dashboard .reading-grid{grid-template-columns:1fr;gap:18px}
  .student-dashboard .reading-card:not(.completada){display:grid;grid-template-columns:158px minmax(0,1fr);gap:25px;min-height:220px;padding:24px;border:1px solid #d4e1ef;border-left:6px solid #0875f5;border-radius:22px;background:#fff;box-shadow:0 11px 28px rgba(20,67,124,.075)}
  .student-dashboard .reading-card:not(.completada) .reading-cover-frame{display:block;width:158px;height:184px;border-radius:16px}
  .student-dashboard .reading-card:not(.completada) .reading-cover-frame:before{content:"";position:absolute;z-index:2;top:0;left:0;width:0;height:0;border-top:34px solid #ffc928;border-right:34px solid transparent}
  .student-dashboard .reading-card:not(.completada) .reading-cover{display:block;width:100%;height:100%;border-radius:16px;object-fit:cover;box-shadow:0 8px 18px rgba(16,48,91,.12)}
  .student-dashboard .reading-card:not(.completada) .reading-card-content{justify-content:center}
  .student-dashboard .reading-card:not(.completada) .card-top{justify-content:flex-start;gap:14px}
  .student-dashboard .reading-card:not(.completada) h3{margin:14px 0 7px;font-family:"Nunito","Segoe UI",sans-serif;font-size:1.65rem;font-weight:800;color:#092d66}
  .student-dashboard .reading-card:not(.completada) p{max-width:750px;margin-bottom:8px;font-size:.96rem;line-height:1.5}
  .student-dashboard .reading-card:not(.completada) .meta{margin:8px 0 13px}
  .student-dashboard .reading-card:not(.completada) .btn{align-self:flex-start;width:min(310px,100%);min-height:52px;border-radius:12px}
  .student-progress-page .progress-heading{border-radius:22px}
}

/* Escritorio estudiantil compacto y sobrio. */
@media(min-width:721px){
  .role-estudiante .topbar{height:76px;padding:0 28px}
  .role-estudiante .brand{width:170px;font-size:1rem}
  .role-estudiante .brand-mark{width:42px;height:42px;border-radius:12px}
  .role-estudiante .sidebar{top:76px;width:204px;padding-top:20px}
  .role-estudiante .sidebar .nav-link{padding:10px 13px;font-size:.9rem}
  .role-estudiante .main-content{margin-left:204px;padding:98px clamp(24px,3vw,44px) 55px}
  .role-estudiante .student-dashboard{width:min(1160px,100%)}
  .student-dashboard .student-hero{min-height:232px;margin-bottom:18px;padding:32px 36px;border-radius:21px}
  .student-dashboard .student-hero>div:first-child{max-width:46%}
  .student-dashboard .student-hero .eyebrow{font-size:.7rem}
  .student-dashboard .student-hero h1{margin:12px 0 7px;font-size:clamp(2rem,3vw,2.65rem)}
  .student-dashboard .student-hero p{font-size:.96rem}
  .student-dashboard .student-hero .course-pill{left:36px;bottom:29px;padding:9px 14px;border-radius:10px;font-size:.84rem}
  .student-dashboard .student-hero-art{right:-22px;bottom:-29px;width:min(60%,650px)}
  .student-dashboard .stats-grid{margin-bottom:29px;padding:12px 8px;border-radius:18px}
  .student-dashboard .stats-grid .stat-card{min-height:86px;padding:8px 18px;gap:13px}
  .student-dashboard .stats-grid .stat-icon-box{width:46px;height:46px}
  .student-dashboard .stats-grid .stat-icon-box .icon{width:23px;height:23px}
  .student-dashboard .stats-grid .ring{width:48px;height:48px}
  .student-dashboard .stats-grid .stat-card strong{font-size:1.4rem}
  .student-dashboard .stats-grid .stat-card small{font-size:.79rem}
  .student-dashboard>.section-head{margin-bottom:13px}
  .student-dashboard>.section-head h2{font-size:1.48rem}
  .student-dashboard .reading-grid{gap:13px}
  .student-dashboard .reading-card:not(.completada){grid-template-columns:126px minmax(0,1fr);gap:19px;min-height:174px;padding:17px 19px;border-radius:17px}
  .student-dashboard .reading-card:not(.completada) .reading-cover-frame{width:126px;height:146px;border-radius:13px}
  .student-dashboard .reading-card:not(.completada) .reading-cover{border-radius:13px}
  .student-dashboard .reading-card:not(.completada) h3{margin:10px 0 5px;font-size:1.35rem}
  .student-dashboard .reading-card:not(.completada) p{margin-bottom:4px;font-size:.84rem}
  .student-dashboard .reading-card:not(.completada) .meta{margin:5px 0 9px;font-size:.74rem}
  .student-dashboard .reading-card:not(.completada) .btn{width:min(250px,100%);min-height:44px;font-size:.78rem}
  .student-dashboard .reading-card.completada{grid-template-columns:145px minmax(220px,1fr) 76px 158px;gap:20px;min-height:210px;padding:22px 25px;border-radius:19px}
  .student-dashboard .reading-card.completada .reading-cover-frame{width:145px;height:158px;border-radius:13px}
  .student-dashboard .reading-card.completada .reading-cover{border-radius:13px}
  .student-dashboard .reading-card.completada .completed-type{padding:5px 10px;font-size:.76rem}
  .student-dashboard .reading-card.completada h3{max-width:420px;margin:12px 0 9px;font-size:1.4rem}
  .student-dashboard .reading-card.completada .meta{gap:9px}
  .student-dashboard .reading-card.completada .completed-state-badge{padding:5px 9px;font-size:.76rem}
  .student-dashboard .reading-card.completada .completed-date{font-size:.76rem}
  .student-dashboard .reading-card.completada .completed-check{width:68px;height:68px}
  .student-dashboard .reading-card.completada .completed-check .icon{width:38px;height:38px}
  .student-dashboard .reading-card.completada .completed-side{gap:9px}
  .student-dashboard .reading-card.completada .completed-score{min-height:76px;padding:8px;border-radius:11px}
  .student-dashboard .reading-card.completada .completed-score span{font-size:.72rem}
  .student-dashboard .reading-card.completada .completed-score strong{font-size:1.72rem}
  .student-dashboard .reading-card.completada .completed-result{min-height:48px;padding:10px 13px;border-radius:10px;font-size:.8rem}
  .progress-heading{padding:20px 23px;margin-bottom:21px;border-radius:17px}
}
@media(min-width:721px) and (max-width:1000px){
  .student-dashboard .reading-card.completada{grid-template-columns:120px minmax(190px,1fr) 140px;gap:16px;padding:18px}
  .student-dashboard .reading-card.completada .reading-cover-frame{width:120px;height:138px}
  .student-dashboard .reading-card.completada .completed-check{display:none}
}

/* Ayuda opcional para sensibilidad visual y atención en cada lectura móvil. */
.visual-focus-toggle{display:none}
.brand-full-logo{display:none}
@media(max-width:720px){
  .activity-page .visual-focus-toggle{display:flex;align-items:center;gap:9px;width:max-content;min-height:39px;margin:-4px 0 12px;padding:6px 10px;border:1px solid #cbdcf0;border-radius:11px;background:#fff;color:#174a84;font-family:"Nunito","Segoe UI",sans-serif;cursor:pointer;box-shadow:0 4px 12px rgba(20,67,124,.06)}
  .activity-page .visual-focus-toggle .icon{width:21px;height:21px}
  .activity-page .visual-focus-toggle>span{display:grid;line-height:1.1;text-align:left}
  .activity-page .visual-focus-toggle strong{font-size:.73rem;font-weight:700}
  .activity-page .visual-focus-toggle small{margin-top:3px;color:#667b98;font-size:.62rem}
  .activity-page .visual-focus-toggle[aria-pressed="true"]{border-color:#173e70;background:#173e70;color:#fff}
  .activity-page .visual-focus-toggle[aria-pressed="true"] small{color:#dbe9f8}
  .activity-page.visual-focus{color:#071d38}
  .activity-page.visual-focus .activity-head{border-color:#8296ac;background:#eef1f3;box-shadow:none}
  .activity-page.visual-focus .activity-head:after{display:none}
  .activity-page.visual-focus .activity-head h1,.activity-page.visual-focus .activity-head p{color:#071d38}
  .activity-page.visual-focus .reading-paper{border:2px solid #6f8298;background:#fffdf2;box-shadow:none}
  .activity-page.visual-focus .reading-paper:before{height:6px;background:#123c70}
  .activity-page.visual-focus .instructions{border-color:#8fa1b4;background:#e8edf1;color:#102d50}
  .activity-page.visual-focus .instructions strong{color:#061b34}
  .activity-page.visual-focus .reading-text{font-family:"Nunito","Segoe UI",sans-serif;font-size:1.1rem;font-weight:550;line-height:2;color:#06182d;letter-spacing:.012em;word-spacing:.04em}
  .activity-page.visual-focus .question-card{border:2px solid #889aaf;box-shadow:none}
  .activity-page.visual-focus .question-card legend{background:#e8edf2;color:#0a2546}
  .activity-page.visual-focus .option{border-color:#8295aa;color:#071d38}
  .activity-page.visual-focus .option:has(input:checked){border-color:#073f7d;background:#dce9f5;box-shadow:none}
  .role-estudiante .topbar .brand{position:absolute;left:50%;width:156px;height:64px;margin:0;transform:translateX(-50%);justify-content:center}
  .role-estudiante .topbar .brand-mark,.role-estudiante .topbar .brand>span:nth-child(2){display:none}
  .role-estudiante .topbar .brand-full-logo{display:block;width:150px;height:57px;object-fit:contain;object-position:center}
  .role-estudiante .topbar-actions{margin-left:auto}
}

/* Lectura futura visible, pero bloqueada hasta su fecha real. */
.reading-card.programada{border-left-color:#7d65cc;background:linear-gradient(145deg,#fff,#faf8ff)}
.reading-card .tag.programada{background:#eee9ff;color:#5b42aa}
.scheduled-date{display:inline-flex;align-items:center;gap:6px;color:#5b4b91;font-weight:600}
.scheduled-date .icon{width:16px;height:16px}
.reading-card .scheduled-button{border:1px solid #d8d0f2;background:#f1edff;color:#5a478f;cursor:not-allowed;box-shadow:none}
.reading-card .scheduled-button .icon{width:17px;height:17px}

/* Preferencias visuales opcionales para distintas necesidades de lectura. */
.reading-aids{display:none}
.reading-aids-launcher{display:none}
@media(max-width:720px){
  .activity-page .reading-aids-launcher{position:fixed;z-index:24;right:13px;bottom:76px;display:flex;align-items:center;gap:7px;min-height:43px;padding:7px 11px;border:1px solid rgba(255,255,255,.7);border-radius:13px;background:#123f78;color:#fff;font-family:"Nunito","Segoe UI",sans-serif;box-shadow:0 9px 22px rgba(9,49,97,.25);cursor:pointer}
  .activity-page .reading-aids-launcher strong{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#fff;color:#123f78;font-size:.73rem;font-weight:800}
  .activity-page .reading-aids-launcher span{font-size:.69rem;font-weight:700}
  .activity-page .reading-aids-launcher[aria-expanded="true"]{background:#0870df}
  .activity-page .reading-aids{display:block;margin:-4px 0 13px;border:1px solid #cbdcf0;border-radius:14px;background:#fff;box-shadow:0 5px 15px rgba(20,67,124,.06)}
  .activity-page .reading-aids>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;color:#174a84;cursor:pointer;list-style:none}
  .activity-page .reading-aids>summary::-webkit-details-marker{display:none}
  .activity-page .reading-aids>summary>.icon{width:22px;height:22px}
  .activity-page .reading-aids>summary>span{display:grid;line-height:1.12}
  .activity-page .reading-aids>summary strong{font-size:.78rem;font-weight:700}
  .activity-page .reading-aids>summary small{margin-top:3px;color:#687c98;font-size:.64rem}
  .activity-page .reading-aids>summary:after{content:"⌄";margin-left:auto;color:#55708f;font-size:1rem;transition:transform .16s ease}
  .activity-page .reading-aids[open]>summary:after{transform:rotate(180deg)}
  .reading-aids-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px;border-top:1px solid #e0e8f2}
  .reading-aids-options button{display:flex;align-items:center;gap:7px;min-width:0;min-height:58px;padding:7px;border:1px solid #d5e1ee;border-radius:10px;background:#f9fbfe;color:#173d6d;text-align:left;cursor:pointer}
  .reading-aids-options button[aria-pressed="true"]{border-color:#174b82;background:#e6eef6;color:#082c55;box-shadow:inset 0 0 0 1px #174b82}
  .reading-aid-icon{display:grid;place-items:center;flex:0 0 auto;width:27px;height:27px;border-radius:8px;background:#e9f2ff;color:#0c63c8;font-size:.72rem;font-weight:800}
  .reading-aid-icon .icon{width:17px;height:17px}
  .reading-aids-options button>span:last-child{display:grid;min-width:0;line-height:1.08}
  .reading-aids-options strong{font-size:.65rem;font-weight:700}
  .reading-aids-options small{margin-top:4px;color:#6d7e94;font-size:.56rem}
  .activity-page.aid-large-text .reading-text{font-size:1.22rem;line-height:2.05}
  .activity-page.aid-large-text .instructions{font-size:.92rem}
  .activity-page.aid-large-text .question-card legend{font-size:1.02rem}
  .activity-page.aid-large-text .option span{font-size:.94rem;line-height:1.55}
  .activity-page.aid-large-text .student-text-answer{font-size:.94rem}
  .activity-page.aid-calm .activity-head{background:#f3f6f9;box-shadow:none}
  .activity-page.aid-calm .activity-head:after,.activity-page.aid-calm .reading-paper:before,.activity-page.aid-calm .instructions:before{display:none}
  .activity-page.aid-calm .reading-paper,.activity-page.aid-calm .question-card,.activity-page.aid-calm .form-actions{box-shadow:none}
  .activity-page.aid-calm .instructions{padding-left:14px;background:#f0f4f7}
  .activity-page.aid-calm *{animation:none!important;transition:none!important}
}
@media(max-width:390px){
  .reading-aids-options{grid-template-columns:1fr}
  .reading-aids-options button{min-height:50px}
}

/* Cabecera semanal más ligera y profesional. */
.student-dashboard>.section-head{font-family:"Nunito","Segoe UI",sans-serif}
.student-dashboard>.section-head .eyebrow{font-weight:600;letter-spacing:.16em}
.student-dashboard>.section-head h2{font-family:"Nunito","Segoe UI",sans-serif;font-weight:650;letter-spacing:-.018em}
.student-dashboard>.section-head .week-range{font-weight:400;color:#687b96}
.student-dashboard>.section-head .section-link{font-weight:600;letter-spacing:-.005em}
@media(max-width:720px){
  .student-dashboard>.section-head .eyebrow{font-size:.62rem;font-weight:600;letter-spacing:.17em}
  .student-dashboard>.section-head h2{margin-top:2px;font-size:1.36rem;font-weight:650;line-height:1.18}
  .student-dashboard>.section-head .week-range{margin-top:5px;font-size:.73rem;line-height:1.2}
  .student-dashboard>.section-head .section-link{align-self:flex-end;margin-bottom:2px;font-size:.72rem;font-weight:600}
  .student-dashboard>.section-head .section-link .icon{width:15px;height:15px;stroke-width:1.6}
}

/* Perfil personal accesible desde el avatar. */
.user-card{transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.user-card:hover,.user-card.active{border-color:#9fc4ee;background:#f7fbff;box-shadow:0 5px 16px rgba(14,70,137,.08)}
.user-card:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}
.avatar{overflow:hidden}
.avatar>img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.profile-page{width:min(1040px,100%);font-family:"Nunito","Segoe UI",sans-serif}
.profile-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}
.profile-heading h1{margin:2px 0 7px;font-family:inherit;font-size:2rem;font-weight:700;color:#092d66}
.profile-heading p{margin:0;color:#657894}
.profile-back{margin:0;padding:9px 13px;border:1px solid #d4e1ef;border-radius:11px;background:#fff;font-size:.82rem;font-weight:600}
.profile-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px;align-items:start}
.profile-card{padding:25px;border:1px solid #d6e2f0;border-radius:18px;background:#fff;box-shadow:0 9px 26px rgba(18,61,112,.07)}
.profile-photo-intro{display:flex;align-items:center;gap:17px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid #e1e9f2}
.profile-photo-preview{display:grid;place-items:center;flex:0 0 auto;width:88px;height:88px;overflow:hidden;border:4px solid #fff;border-radius:50%;background:#eaf3ff;color:#0870df;box-shadow:0 0 0 1px #cbdced,0 8px 18px rgba(16,61,112,.12)}
.profile-photo-preview img{width:100%;height:100%;object-fit:cover}
.profile-photo-preview .icon{width:42px;height:42px}
.profile-photo-intro h2,.profile-card-heading h2{margin:0 0 4px;font-family:inherit;font-size:1.2rem;font-weight:700;color:#092d66}
.profile-photo-intro p,.profile-card-heading p{margin:0;color:#687b97;font-size:.82rem;overflow-wrap:anywhere}
.profile-card-heading{display:flex;align-items:flex-start;gap:12px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #e1e9f2}
.profile-card-heading>span{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:12px;background:#eaf3ff;color:#0870df}
.profile-card-heading .icon{width:21px;height:21px}
.profile-form{display:grid;gap:15px}
.profile-form label{display:grid;gap:7px;color:#173d6d;font-size:.82rem;font-weight:600}
.profile-form input{width:100%;min-height:48px;padding:11px 13px;border:1px solid #cbd8e7;border-radius:10px;background:#fff;color:#0a2855}
.profile-form input:focus{border-color:#0870e8;outline:3px solid rgba(8,112,232,.11)}
.profile-form small{color:#6b7d97;font-size:.72rem;font-weight:400;line-height:1.4}
.profile-form .btn{justify-self:start;min-width:190px}
.profile-upload input[type=file]{padding:8px;background:#f8fbff}
@media(max-width:720px){
  .profile-page{padding-bottom:10px}
  .profile-heading{align-items:flex-start;margin-bottom:15px}
  .profile-heading h1{font-size:1.55rem}
  .profile-heading>div>p:last-child{font-size:.8rem}
  .profile-back{font-size:.72rem;white-space:nowrap}
  .profile-grid{grid-template-columns:1fr;gap:13px}
  .profile-card{padding:18px;border-radius:16px}
  .profile-photo-preview{width:76px;height:76px}
  .profile-form .btn{justify-self:stretch;width:100%;min-height:49px}
}

/* Dos niveles manuales para cada ayuda de lectura. */
@media(max-width:720px){
  .reading-aids-options button[data-reading-aid="high-contrast"]{border-color:#123d70;background:#123d70;color:#fff}
  .reading-aids-options button[data-reading-aid="high-contrast"] .reading-aid-icon{background:#fff;color:#082d5f}
  .reading-aids-options button[data-reading-aid="high-contrast"] small{color:#dceaff}
  .reading-aids-options button[data-aid-level="1"]{border-width:2px;border-color:#0c4d91;background:#dcecff;color:#082d5f}
  .reading-aids-options button[data-aid-level="2"]{border-width:2px;border-color:#000;background:#05182f;color:#fff;box-shadow:0 0 0 2px #ffc928}
  .reading-aids-options button[data-aid-level="2"] small{color:#fff}
  .reading-aids-options button[data-aid-level="2"] .reading-aid-icon{background:#fff;color:#03152d}
  .activity-page.aid-contrast-1 .activity-head{border:2px solid #174f8d;background:#123f78;color:#fff}
  .activity-page.aid-contrast-1 .activity-head h1,.activity-page.aid-contrast-1 .activity-head p{color:#fff}
  .activity-page.aid-contrast-1 .reading-paper,.activity-page.aid-contrast-1 .question-card{border:2px solid #365a82}
  .activity-page.aid-contrast-1 .reading-text,.activity-page.aid-contrast-1 .option{color:#06182d}
  .role-estudiante .main-content:has(.activity-page.aid-contrast-2){background:#031426}
  .activity-page.aid-contrast-2{color:#fff}
  .activity-page.aid-contrast-2 .back,.activity-page.aid-contrast-2 .section-head h2,.activity-page.aid-contrast-2 .section-head span,.activity-page.aid-contrast-2 .eyebrow{color:#fff}
  .activity-page.aid-contrast-2 .activity-head{border:2px solid #fff;background:#001a3b;color:#fff;box-shadow:none}
  .activity-page.aid-contrast-2 .activity-head h1,.activity-page.aid-contrast-2 .activity-head p{color:#fff}
  .activity-page.aid-contrast-2 .timer{border:2px solid #fff;background:#000;color:#fff}
  .activity-page.aid-contrast-2 .reading-paper{border:3px solid #fff;background:#fff;box-shadow:none}
  .activity-page.aid-contrast-2 .instructions{border:2px solid #071e3d;background:#dce9f6;color:#06182d}
  .activity-page.aid-contrast-2 .reading-text{color:#000}
  .activity-page.aid-contrast-2 .question-card{border:3px solid #fff;background:#fff;color:#000;box-shadow:none}
  .activity-page.aid-contrast-2 .question-card legend{background:#001a3b;color:#fff}
  .activity-page.aid-contrast-2 .option{border:2px solid #173e70;color:#000}
  .activity-page.aid-contrast-2 .option:has(input:checked){border-color:#000;background:#cfe4ff;box-shadow:inset 0 0 0 1px #000}
  .activity-page.aid-large-1 .reading-text{font-size:1.22rem;line-height:2.05}
  .activity-page.aid-large-1 .instructions,.activity-page.aid-large-1 .option span{font-size:.94rem}
  .activity-page.aid-large-2 .reading-text{font-size:1.38rem;line-height:2.1}
  .activity-page.aid-large-2 .instructions{font-size:1.02rem;line-height:1.65}
  .activity-page.aid-large-2 .question-card legend{font-size:1.12rem;line-height:1.45}
  .activity-page.aid-large-2 .option span,.activity-page.aid-large-2 .student-text-answer{font-size:1.04rem;line-height:1.6}
  .activity-page.aid-calm-1 .activity-head,.activity-page.aid-calm-1 .reading-paper,.activity-page.aid-calm-1 .question-card{box-shadow:none}
  .activity-page.aid-calm-2 .activity-head:after,.activity-page.aid-calm-2 .reading-paper:before,.activity-page.aid-calm-2 .instructions:before{display:none}
  .activity-page.aid-calm-2 .activity-head,.activity-page.aid-calm-2 .reading-paper,.activity-page.aid-calm-2 .question-card,.activity-page.aid-calm-2 .form-actions{border-radius:8px;box-shadow:none}
  .activity-page.aid-calm-2 .reading-paper,.activity-page.aid-calm-2 .questions{max-width:780px}
  .activity-page.aid-calm-2 .activity-head .tag{display:none}
  .activity-page.aid-calm-2 .instructions{padding-left:14px;background:#f0f3f6}
  .activity-page.aid-calm-2 *{animation:none!important;transition:none!important}
}

/* Presentación inclusiva y visible de las ayudas, sin activarlas automáticamente. */
@media(max-width:720px){
  .activity-page .reading-aids-visible{display:block;margin:0 0 14px;overflow:hidden;border:1px solid #c7daef;border-radius:16px;background:linear-gradient(145deg,#fff,#f6faff);box-shadow:0 7px 20px rgba(20,67,124,.07)}
  .reading-aids-heading{display:flex;align-items:flex-start;gap:11px;padding:13px 13px 11px}
  .reading-aids-main-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:11px;background:#123f78;color:#fff}
  .reading-aids-main-icon .icon{width:21px;height:21px}
  .reading-aids-copy{display:grid;min-width:0;line-height:1.2}
  .reading-aids-badge{width:max-content;margin-bottom:4px;padding:2px 7px;border-radius:99px;background:#e5f0ff;color:#075fc5;font-size:.56rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .reading-aids-copy>strong{color:#0a3267;font-size:.92rem;font-weight:700}
  .reading-aids-copy>small{margin-top:4px;color:#5f7390;font-size:.68rem;line-height:1.4}
  .activity-page .reading-aids-visible .reading-aids-options{padding:10px;border-top:1px solid #dbe6f2}
  .activity-page .reading-aids-visible .reading-aids-options button{min-height:64px}
}

/* Tipografía final: una sola familia, jerarquía clara y pesos menos densos. */
body,.brand,h1,h2,h3,button,input,textarea,select{font-family:"Nunito","Segoe UI",Arial,sans-serif}
h1,h2,h3{font-weight:700;letter-spacing:-.018em}
.btn,.tag,.eyebrow,.nav-link{font-weight:650}
.reading-aids-launcher{display:none!important}
@media(min-width:721px){
  .student-dashboard .reading-card.completada{grid-template-columns:150px minmax(240px,1fr) 105px 185px;gap:24px;min-height:220px;padding:25px 28px;border-radius:20px}
  .student-dashboard .reading-card.completada .reading-image{width:150px;height:165px;border-radius:17px}
  .student-dashboard .reading-card.completada h3{font-size:1.48rem;font-weight:700}
  .student-dashboard .reading-card.completada .completed-type,.completed-state-badge,.completed-date{font-size:.86rem}
  .completed-score strong{font-size:2rem}
  .student-dashboard .reading-card.completada .completed-result{font-size:.95rem;font-weight:650}
  .student-dashboard .student-hero h1,.student-dashboard>.section-head h2,.student-dashboard .reading-card:not(.completada) h3{font-weight:700}
}
@media(max-width:720px){
  .student-mobile-nav a,.student-mobile-nav button{font-size:.7rem;font-weight:500}
  .student-mobile-nav a>span,.student-mobile-nav button>span{font-size:.7rem!important;font-weight:500}
  .student-mobile-nav .icon{width:20px;height:20px;stroke-width:1.7}
  .student-dashboard .reading-card h3,.student-dashboard .reading-card.completada h3{font-weight:650}
  .student-dashboard .reading-card .tag,.completed-state-badge{font-weight:600}
  .profile-heading h1,.profile-photo-intro h2,.profile-card-heading h2{font-weight:650}
  .activity-page .reading-aids-visible .reading-aids-options strong{font-size:.72rem;font-weight:650}
  .activity-page .reading-aids-visible .reading-aids-options small{font-size:.61rem}
}

/* Estas reglas quedan al final para prevalecer sobre las vistas por rol. */
body.a11y-theme-dark .topbar,body.a11y-theme-dark .mobile-nav,body.a11y-theme-dark.role-estudiante .topbar{border-color:#4b607d;background:#10233d;color:#f5f8ff;box-shadow:none}
body.a11y-theme-dark .main-content,body.a11y-theme-dark.role-estudiante .main-content{background:#071426;color:#f5f8ff}
body.a11y-theme-dark .student-dashboard .reading-card,body.a11y-theme-dark .student-dashboard .reading-card.completada,body.a11y-theme-dark .management-card,body.a11y-theme-dark .review-card{border-color:#4b607d;background:#10233d;color:#f5f8ff;box-shadow:none}
body.a11y-theme-dark .student-dashboard .reading-card p,body.a11y-theme-dark .student-dashboard .reading-card span{color:#d8e4f5}
body.a11y-theme-contrast.role-estudiante .main-content{background:#fff;color:#000}
body.a11y-theme-contrast.role-estudiante .topbar,body.a11y-theme-contrast .mobile-nav{border-bottom:2px solid #000;background:#fff;box-shadow:none}

/* Modal neuroinclusivo: acabado visual inspirado en la referencia entregada. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body .accessibility-dialog{width:min(980px,calc(100% - 34px));max-height:calc(100vh - 24px);border:1px solid rgba(186,204,230,.9);border-radius:30px;background:#fffdf9;color:#09285a;box-shadow:0 28px 90px rgba(1,25,62,.42)}
body .accessibility-dialog form{position:relative;isolation:isolate;padding:28px 30px 24px;overflow:hidden;background:radial-gradient(circle at 101% 18%,rgba(95,220,209,.32) 0 95px,transparent 96px),radial-gradient(circle at 4% 101%,rgba(155,138,255,.25) 0 115px,transparent 116px),linear-gradient(145deg,#fffdf9 0%,#fff 62%,#faf8ff 100%)}
body .accessibility-dialog form:before,body .accessibility-dialog form:after{position:absolute;z-index:-1;color:#ffc947;line-height:1;pointer-events:none}
body .accessibility-dialog form:before{content:'✦';right:44px;top:112px;font-size:42px;transform:rotate(9deg)}
body .accessibility-dialog form:after{content:'•';left:25px;top:25px;color:#17a8ba;font-size:46px}
body .accessibility-dialog-head{display:grid;grid-template-columns:205px minmax(0,1fr) 68px;align-items:center;gap:17px;min-height:190px;padding:0 0 22px;border-bottom:1px solid #e6e0f3}
body .accessibility-mascot{position:relative;display:grid;place-items:center;height:180px}
body .accessibility-mascot img{display:block;width:184px;height:184px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(32,65,119,.11))}
body .accessibility-mascot i{position:absolute;right:3px;top:8px;color:#ffc947;font-size:32px;font-style:normal;text-shadow:0 2px 0 #edae20}
body .accessibility-heading-copy p{margin:0 0 7px;color:#0752a1;font-size:.92rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
body .accessibility-heading-copy h2{margin:0 0 11px;color:#06275d;font-size:clamp(2rem,3.7vw,3.25rem);font-weight:800;letter-spacing:-.035em;line-height:1.02}
body .accessibility-heading-copy>span{display:block;color:#132d58;font-size:1.13rem;line-height:1.45}
body .accessibility-dialog-head>button{align-self:start;width:64px;height:64px;border:0;border-radius:50%;background:#eef0ff;color:#061f4d;font-size:2.6rem;font-weight:500;line-height:.8;box-shadow:none;cursor:pointer}
body .accessibility-dialog-head>button:hover{background:#e3e6fb;transform:scale(1.03)}
body .accessibility-choice{display:grid;grid-template-columns:94px minmax(0,1fr);gap:22px;margin:18px 0 0;padding:22px 24px;border:1.5px solid #dcd6ef;border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 9px 22px rgba(27,72,126,.055)}
body .accessibility-theme-card{border-color:#d5e2ee}
body .accessibility-card-icon{display:grid;place-items:center;align-self:start;width:78px;height:78px;border:5px solid rgba(255,255,255,.7);border-radius:50%;font-size:2rem;font-weight:800;box-shadow:0 0 0 1px rgba(67,49,134,.15)}
body .accessibility-card-icon.size-icon{background:linear-gradient(145deg,#a884ef,#7550cd);color:#fff;text-shadow:0 2px 2px rgba(52,27,116,.25)}
body .accessibility-card-icon.theme-icon{background:linear-gradient(145deg,#28c8c0,#038a9d);color:#fff;font-size:2.65rem}
body .accessibility-card-content h3{margin:2px 0 5px;color:#082d66;font-size:1.38rem;font-weight:800}
body .accessibility-card-content>p{margin:0 0 14px;color:#263d63;font-size:.93rem}
body .accessibility-segments{gap:16px}
body .accessibility-segments .preference-option{display:flex;min-height:98px;padding:10px 15px;border:2px solid #ddd9e8;border-radius:21px;background:#fff;color:#08285d;box-shadow:0 5px 13px rgba(14,48,96,.045);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
body .accessibility-segments label:hover .preference-option{transform:translateY(-2px);box-shadow:0 8px 19px rgba(24,63,113,.09)}
body .accessibility-segments .preference-option b,body .accessibility-segments .preference-option em{display:block;font-style:normal;line-height:1}
body .size-segments .preference-option{flex-direction:column;justify-content:center;gap:9px}
body .size-segments .preference-option b{font-size:2rem}
body .size-segments label:nth-child(2) .preference-option b{font-size:2.55rem}
body .size-segments label:nth-child(3) .preference-option b{font-size:3rem}
body .size-segments .preference-option em{font-size:.88rem;font-weight:800}
body .size-segments input:checked+.preference-option{border-color:#7148cc;background:linear-gradient(145deg,#8257d9,#6540b7);color:#fff;box-shadow:0 5px 0 rgba(76,42,151,.18),0 8px 18px rgba(98,66,177,.22)}
body .theme-segments .preference-option{flex-direction:row;justify-content:center;gap:12px;min-height:80px}
body .theme-segments .preference-option b{font-size:2.2rem}
body .theme-segments .preference-option em{font-size:.88rem;font-weight:800}
body .theme-segments .theme-option-normal .preference-option{border-color:#78d8d2;background:#f2fffd}
body .theme-segments .theme-option-high-contrast .preference-option{border-color:#efd395;background:#fffaf0}
body .theme-segments .theme-option-dark .preference-option{border-color:#173e72;background:#edf4fb}
body .theme-segments .theme-option-normal input:checked+.preference-option{border-color:#009da1;background:linear-gradient(145deg,#20b8b0,#06969d);color:#fff;box-shadow:0 7px 17px rgba(0,145,149,.2)}
body .theme-segments .theme-option-high-contrast input:checked+.preference-option{border-color:#e6b54d;background:#fff3d3;color:#071f4c;box-shadow:0 7px 17px rgba(199,145,30,.15)}
body .theme-segments .theme-option-dark input:checked+.preference-option{border-color:#062b5e;background:linear-gradient(145deg,#0b3e77,#06275a);color:#fff;box-shadow:0 7px 17px rgba(2,37,82,.24)}
body .accessibility-toggles{gap:14px;margin-top:18px}
body .accessibility-toggles>label{display:grid;grid-template-columns:68px minmax(0,1fr) 48px;align-items:center;gap:14px;min-height:116px;padding:17px 19px;border-width:1.5px;border-radius:22px;box-shadow:0 7px 17px rgba(29,66,111,.04)}
body .accessibility-toggles>label.toggle-calm{border-color:#b9e6c8;background:linear-gradient(135deg,#f3fff7,#fbfffb)}
body .accessibility-toggles>label.toggle-lines{border-color:#c8e3f4;background:linear-gradient(135deg,#f2fbff,#f9fcff)}
body .accessibility-toggles>label.toggle-spacing{border-color:#bcded7;background:linear-gradient(135deg,#f2fffc,#fafffe)}
body .accessibility-toggles>label.toggle-uppercase{border-color:#f3dda9;background:linear-gradient(135deg,#fffaf0,#fffdf8)}
body .accessibility-toggles>label.toggle-syllables{border-color:#ded2f6;background:linear-gradient(135deg,#fbf8ff,#fdfbff)}
body .toggle-card-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#d8f5e1;color:#159349;font-size:2rem;font-weight:800}
body .toggle-lines .toggle-card-icon{background:#d9f3f7;color:#00899d;font-size:2.45rem}
body .toggle-spacing .toggle-card-icon{background:#dff6ef;color:#08866d;font-size:2rem}
body .toggle-uppercase .toggle-card-icon{background:#fff0c8;color:#ed8c00;font-size:1.25rem}
body .toggle-syllables .toggle-card-icon{background:#eae1fb;color:#6042c4}
body .toggle-card-icon.syllable-icon{font-size:.73rem;letter-spacing:-.06em}
body .accessibility-toggles .toggle-copy{display:grid;min-width:0;line-height:1.25}
body .accessibility-toggles .toggle-copy strong{color:#082d66;font-size:1.04rem;font-weight:800}
body .accessibility-toggles .toggle-copy small{margin-top:6px;color:#334764;font-size:.82rem;line-height:1.4}
body .accessibility-toggles input{width:48px;height:28px;border-color:#a9b6c9;background:#cbd3df;box-shadow:inset 0 2px 5px rgba(28,50,83,.13)}
body .accessibility-toggles input:before{width:21px;height:21px;margin:2px}
body .accessibility-toggles input:checked{border-color:#0870df;background:#0870df}
body .accessibility-toggles input:checked:before{transform:translateX(20px)}
body .accessibility-dialog footer{display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:end;gap:25px;padding:22px 3px 0;margin-top:18px;border:0}
body .accessibility-tip{position:relative;display:grid;grid-template-columns:64px 1fr 30px;align-items:center;gap:12px;min-height:104px;padding:16px 19px;border-radius:22px;background:linear-gradient(135deg,#eef8ff,#dff1ff);color:#102e5b}
body .accessibility-tip:before{content:'';position:absolute;left:-13px;top:38px;border-width:13px 14px 13px 0;border-style:solid;border-color:transparent #edf8ff transparent transparent}
body .accessibility-tip>span{color:#ffc741;font-size:3.8rem;line-height:1;text-shadow:0 3px 0 #efa91b,0 6px 12px rgba(221,157,15,.18)}
body .accessibility-tip p{margin:0;color:#102e5b;font-size:.9rem;font-weight:650;line-height:1.45}
body .accessibility-tip i{align-self:end;color:#f45c88;font-size:1.8rem;font-style:normal}
body .accessibility-finish{display:grid;justify-items:stretch;gap:8px}
body .accessibility-save-status{text-align:center;color:#5d7291;font-size:.72rem}
body .accessibility-finish .btn{min-height:74px;border-radius:22px;background:linear-gradient(145deg,#0875e8,#063f9e);font-size:1.35rem;box-shadow:0 9px 20px rgba(4,68,157,.25)}
body .accessibility-finish .btn b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#8ede69;color:#0b5b32;font-size:1.35rem}

body.a11y-theme-dark .accessibility-dialog form{background:radial-gradient(circle at 101% 18%,rgba(25,157,164,.25) 0 95px,transparent 96px),linear-gradient(145deg,#0c1f38,#132b49)}
body.a11y-theme-dark .accessibility-heading-copy h2,body.a11y-theme-dark .accessibility-heading-copy>span,body.a11y-theme-dark .accessibility-card-content h3,body.a11y-theme-dark .accessibility-toggles .toggle-copy strong{color:#f5f8ff}
body.a11y-theme-dark .accessibility-card-content>p,body.a11y-theme-dark .accessibility-toggles .toggle-copy small{color:#d4dfef}
body.a11y-theme-dark .accessibility-choice,body.a11y-theme-dark .accessibility-toggles>label{border-color:#4c6586;background:#142c49}
body.a11y-theme-dark .accessibility-segments .preference-option{border-color:#5b7090;background:#0d213c;color:#fff}

@media(max-width:720px){
  body .accessibility-dialog{width:calc(100% - 14px);max-height:calc(100vh - 14px);border-radius:24px}
  body .accessibility-dialog form{padding:16px 14px 18px;background:radial-gradient(circle at 110% 13%,rgba(95,220,209,.28) 0 75px,transparent 76px),linear-gradient(145deg,#fffdf9,#fff)}
  body .accessibility-dialog form:before{right:35px;top:98px;font-size:28px}
  body .accessibility-dialog-head{grid-template-columns:98px minmax(0,1fr) 44px;gap:9px;min-height:125px;padding-bottom:14px}
  body .accessibility-mascot{height:104px}
  body .accessibility-mascot img{width:108px;height:108px}
  body .accessibility-mascot i{right:-1px;top:-1px;font-size:20px}
  body .accessibility-heading-copy p{margin-bottom:4px;font-size:.57rem;letter-spacing:.06em}
  body .accessibility-heading-copy h2{margin-bottom:6px;font-size:1.45rem;line-height:1.05}
  body .accessibility-heading-copy>span{font-size:.75rem;line-height:1.36}
  body .accessibility-dialog-head>button{width:43px;height:43px;font-size:1.9rem}
  body .accessibility-choice{grid-template-columns:48px minmax(0,1fr);gap:10px;margin-top:12px;padding:14px 11px;border-radius:18px}
  body .accessibility-card-icon{width:44px;height:44px;border-width:3px;font-size:1.2rem}
  body .accessibility-card-icon.theme-icon{font-size:1.55rem}
  body .accessibility-card-content h3{font-size:1rem}
  body .accessibility-card-content>p{margin-bottom:9px;font-size:.68rem}
  body .accessibility-segments{gap:6px}
  body .accessibility-segments .preference-option{min-height:72px;padding:7px 4px;border-radius:14px}
  body .size-segments .preference-option{gap:6px}
  body .size-segments .preference-option b{font-size:1.25rem}
  body .size-segments label:nth-child(2) .preference-option b{font-size:1.55rem}
  body .size-segments label:nth-child(3) .preference-option b{font-size:1.8rem}
  body .size-segments .preference-option em,body .theme-segments .preference-option em{font-size:.6rem}
  body .theme-segments .preference-option{flex-direction:column;gap:4px;min-height:68px}
  body .theme-segments .preference-option b{font-size:1.4rem}
  body .accessibility-toggles{gap:8px;margin-top:12px}
  body .accessibility-toggles>label{grid-template-columns:48px minmax(0,1fr) 44px;gap:9px;min-height:82px;padding:10px 11px;border-radius:17px}
  body .toggle-card-icon{width:43px;height:43px;font-size:1.45rem}
  body .toggle-lines .toggle-card-icon{font-size:1.8rem}
  body .toggle-uppercase .toggle-card-icon{font-size:.9rem}
  body .toggle-card-icon.syllable-icon{font-size:.55rem}
  body .accessibility-toggles .toggle-copy strong{font-size:.82rem}
  body .accessibility-toggles .toggle-copy small{margin-top:3px;font-size:.63rem}
  body .accessibility-dialog footer{position:static;grid-template-columns:1fr;margin:13px 0 0;padding:0;gap:10px;background:transparent}
  body .accessibility-tip{grid-template-columns:45px 1fr 22px;min-height:78px;padding:11px 13px;border-radius:17px}
  body .accessibility-tip>span{font-size:2.7rem}
  body .accessibility-tip p{font-size:.7rem}
  body .accessibility-tip i{font-size:1.3rem}
  body .accessibility-finish{grid-template-columns:1fr;gap:4px}
  body .accessibility-finish .btn{min-height:57px;border-radius:17px;font-size:1.05rem}
}

/* Instalación PWA y experiencia de aplicación móvil. */
.pwa-install-banner[hidden]{display:none!important}
.pwa-install-banner{position:fixed;z-index:80;right:18px;bottom:18px;display:grid;grid-template-columns:58px minmax(180px,1fr) auto 34px;align-items:center;gap:12px;width:min(560px,calc(100% - 36px));padding:13px 13px 13px 15px;border:1px solid #bcd5f3;border-radius:19px;background:rgba(255,255,255,.98);color:#092d66;box-shadow:0 18px 48px rgba(5,43,93,.24);backdrop-filter:blur(12px)}
.pwa-install-banner>img{width:58px;height:58px;border-radius:15px;background:#edf5ff}
.pwa-install-banner>div{display:grid;line-height:1.25}
.pwa-install-banner strong{font-size:1rem}
.pwa-install-banner p{margin:4px 0 0;color:#5b708f;font-size:.76rem}
.pwa-install-banner .btn{min-height:43px;padding:8px 15px;border-radius:11px}
.pwa-install-close{width:34px;height:34px;border:0;border-radius:9px;background:#edf3fb;color:#24466f;font-size:1.35rem;cursor:pointer}
.pwa-install-help{width:min(410px,calc(100% - 28px));padding:27px;border:0;border-radius:22px;background:#fff;color:#092d66;text-align:center;box-shadow:0 24px 70px rgba(2,29,67,.38)}
.pwa-install-help::backdrop{background:rgba(3,22,48,.66);backdrop-filter:blur(3px)}
.pwa-install-help img{width:82px;height:82px;margin-bottom:13px;border-radius:20px;background:#edf5ff}
.pwa-install-help h2{margin-bottom:9px}
.pwa-install-help p{color:#526987;line-height:1.55}

/* Componentes del listado semanal inspirados en la referencia móvil. */
.week-heading-icon{display:none}
.student-dashboard .reading-card.completada .completed-score{position:relative;display:grid;place-items:center;width:112px;height:112px;min-height:0;padding:0;border:0;border-radius:50%;background:conic-gradient(#08a86e calc(var(--score)*1%),#e8f0ed 0);color:#078457;box-shadow:0 7px 16px rgba(4,128,83,.1)}
.student-dashboard .reading-card.completada .completed-score:before{content:'';position:absolute;inset:12px;border-radius:50%;background:#fff}
.student-dashboard .reading-card.completada .completed-score strong{position:relative;z-index:1;font-size:2rem;font-weight:850;line-height:1;color:#078457}
.completed-achievement{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;min-height:82px;padding:12px 13px;border:1px solid #cce9dc;border-radius:15px;background:#effaf5;color:#087c55}
.achievement-symbol{display:grid;place-items:center;color:#09a66c;font-size:2rem}
.achievement-symbol .icon{width:32px;height:32px;stroke-width:1.9}
.completed-achievement>span:last-child{display:grid;line-height:1.18}
.completed-achievement strong{font-size:.93rem}
.completed-achievement small{margin-top:5px;color:#284438;font-size:.76rem}
.completed-duration{display:inline-flex;align-items:center;gap:7px;color:#647694;font-size:.94rem;font-weight:500}
.completed-duration .icon{width:20px;height:20px}
.reading-encouragement{position:relative;display:grid;grid-template-columns:52px 1fr 90px;align-items:center;gap:14px;min-height:94px;margin:20px 0 0;padding:13px 22px;overflow:hidden;border:1px solid #d5e4f7;border-radius:18px;background:linear-gradient(135deg,#f2f7ff,#eef4ff);color:#092d66}
.encouragement-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#086de1;font-size:1.7rem}
.reading-encouragement strong{font-size:1.02rem}
.reading-encouragement p{margin:3px 0 0;color:#3d67a2;font-size:.82rem}
.reading-encouragement img{position:absolute;right:4px;bottom:-25px;width:100px;height:100px;object-fit:contain}

@media(max-width:720px){
  .pwa-install-banner{right:10px;bottom:82px;grid-template-columns:48px minmax(0,1fr) auto 30px;gap:8px;width:calc(100% - 20px);padding:10px;border-radius:16px}
  .pwa-install-banner>img{width:48px;height:48px;border-radius:12px}
  .pwa-install-banner strong{font-size:.8rem}
  .pwa-install-banner p{font-size:.64rem}
  .pwa-install-banner .btn{min-height:39px;padding:7px 10px;font-size:.72rem}
  .pwa-install-close{width:30px;height:30px}
  .student-dashboard .student-hero,.student-dashboard .student-stats{display:none}
  .role-estudiante .main-content{padding-top:78px;background:linear-gradient(180deg,#f7faff,#f2f6fc)}
  .student-dashboard>#lecturas-semana{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 0 14px;padding:18px 14px;border:1px solid #dce7f5;border-radius:20px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 8px 21px rgba(18,61,113,.065)}
  .week-heading-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#eaf2ff;color:#0867db}
  .week-heading-icon .icon{width:31px;height:31px;stroke-width:2}
  .student-dashboard>#lecturas-semana .eyebrow{font-size:.62rem;font-weight:750;letter-spacing:.13em;color:#0870e8}
  .student-dashboard>#lecturas-semana h2{margin:2px 0 3px;font-size:1.65rem;font-weight:800;line-height:1.05;color:#071f4e}
  .student-dashboard>#lecturas-semana .week-range{font-size:.78rem;color:#637795}
  .student-dashboard>#lecturas-semana .section-link{display:flex;align-items:center;gap:5px;align-self:center;min-height:43px;padding:8px 10px;border:1px solid #cfe0f7;border-radius:12px;background:#f6faff;color:#0868de;font-size:.68rem;font-weight:700;white-space:nowrap}
  .student-dashboard>#lecturas-semana .section-link .icon{width:16px;height:16px}
  .student-dashboard>#lecturas-semana .section-link .icon:last-child{display:none}
  .student-dashboard .reading-grid{gap:13px}
  .student-dashboard .reading-card{--card-accent:#0872ed;--day-bg:#0872ed;position:relative}
  .student-dashboard .reading-card:nth-child(3n+2){--card-accent:#ffbd16;--day-bg:#ffd363}
  .student-dashboard .reading-card:nth-child(3n+3){--card-accent:#7658dc;--day-bg:#8065e8}
  .student-dashboard .reading-card.completada{display:grid;grid-template-columns:108px minmax(0,1fr);grid-template-rows:auto auto;align-items:start;gap:12px 13px;min-height:0;padding:12px;border:1px solid #d8e4f1;border-left:6px solid var(--card-accent);border-radius:20px;background:#fff;box-shadow:0 10px 24px rgba(17,57,107,.09)}
  .student-dashboard .reading-card.completada .reading-cover-frame{display:block;grid-column:1;grid-row:1;width:108px;height:138px;border-radius:15px}
  .student-dashboard .reading-card.completada .reading-cover-frame:before{display:none}
  .student-dashboard .reading-card.completada .reading-cover{width:100%;height:100%;border-radius:15px;object-fit:cover}
  .student-dashboard .reading-card.completada .reading-card-content{display:flex;grid-column:2;grid-row:1;align-items:flex-start;min-width:0;padding-top:2px}
  .student-dashboard .reading-card.completada .completed-type{display:flex;gap:9px;padding:0;border:0;background:none;color:#62728a;font-size:.69rem}
  .student-dashboard .reading-card.completada .completed-type i{display:none}
  .student-dashboard .reading-card.completada .completed-type .reading-day{padding:5px 9px;border-radius:8px;background:var(--day-bg);color:inherit;font-size:.7rem;font-weight:800}
  .student-dashboard .reading-card:nth-child(3n+1) .completed-type .reading-day,.student-dashboard .reading-card:nth-child(3n+3) .completed-type .reading-day{color:#fff}
  .student-dashboard .reading-card:nth-child(3n+2) .completed-type .reading-day{color:#3e2d00}
  .student-dashboard .reading-card.completada h3{margin:9px 0 8px;color:#071f4e;font-size:1.12rem;font-weight:800;line-height:1.12}
  .student-dashboard .reading-card.completada .meta{display:flex;align-items:flex-start;flex-direction:column;gap:5px;margin:0;padding:0;border:0}
  .completed-state-badge{padding:4px 8px;border-radius:8px;font-size:.67rem}
  .completed-date,.completed-duration{gap:5px;font-size:.62rem;white-space:nowrap}
  .completed-date .icon,.completed-duration .icon{width:14px;height:14px}
  .student-dashboard .reading-card.completada .completed-score{grid-column:1;grid-row:2;align-self:center;justify-self:center;width:82px;height:82px}
  .student-dashboard .reading-card.completada .completed-score:before{inset:9px}
  .student-dashboard .reading-card.completada .completed-score strong{font-size:1.38rem}
  .student-dashboard .reading-card.completada .completed-side{display:grid;grid-column:2;grid-row:2;grid-template-columns:1fr;gap:8px;width:100%}
  .completed-achievement{grid-template-columns:33px minmax(0,1fr);gap:7px;min-height:56px;padding:8px 9px;border-radius:11px}
  .achievement-symbol{font-size:1.5rem}
  .achievement-symbol .icon{width:25px;height:25px}
  .completed-achievement strong{font-size:.74rem}
  .completed-achievement small{margin-top:2px;font-size:.62rem}
  .student-dashboard .reading-card.completada .completed-result{min-height:46px;padding:9px 12px;border:0;border-radius:11px;background:linear-gradient(135deg,#082b65,#061d49);font-size:.75rem;box-shadow:0 7px 14px rgba(4,29,71,.18)}
  .student-dashboard .reading-card:not(.completada){grid-template-columns:108px minmax(0,1fr);padding:12px;border-left-color:var(--card-accent);border-radius:20px}
  .student-dashboard .reading-card:not(.completada) .reading-cover-frame{width:108px;height:146px}
  .reading-encouragement{grid-template-columns:42px 1fr 65px;min-height:78px;margin-top:14px;padding:10px 13px;border-radius:16px}
  .encouragement-icon{width:40px;height:40px;font-size:1.35rem}
  .reading-encouragement strong{font-size:.82rem}
  .reading-encouragement p{font-size:.66rem;line-height:1.35}
  .reading-encouragement img{right:-2px;bottom:-19px;width:76px;height:76px}
}

@media(min-width:520px) and (max-width:720px){
  .student-dashboard .reading-card.completada{grid-template-columns:128px minmax(0,1fr) 88px 145px;grid-template-rows:1fr;align-items:center;gap:13px;min-height:174px;padding:13px 15px}
  .student-dashboard .reading-card.completada .reading-cover-frame{grid-column:1;grid-row:1;width:128px;height:148px}
  .student-dashboard .reading-card.completada .reading-card-content{grid-column:2;grid-row:1}
  .student-dashboard .reading-card.completada .completed-score{grid-column:3;grid-row:1;width:84px;height:84px}
  .student-dashboard .reading-card.completada .completed-side{grid-column:4;grid-row:1}
}

@media(max-width:720px){
  .mobile-nav-count{
    position:absolute;z-index:3;top:2px;left:calc(50% + 4px);display:grid;place-items:center;
    min-width:18px;height:18px;padding:0 4px;border:2px solid #fff;border-radius:999px;
    background:#df2948;color:#fff!important;font-size:.56rem!important;font-weight:800;line-height:1;
    box-shadow:0 2px 7px rgba(155,20,45,.3)
  }
  body.a11y-theme-dark .mobile-nav-count{border-color:#102d4e;background:#ff4967;color:#fff!important}
  body.a11y-theme-contrast .mobile-nav-count{border-color:#fff;background:#e00025;color:#fff!important}
}

@media(display-mode:standalone),(display-mode:fullscreen){
  body{overscroll-behavior:none}
}

@media(max-width:720px) and (display-mode:standalone),(max-width:720px) and (display-mode:fullscreen){
  .topbar{height:calc(64px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}
  .role-estudiante .main-content{padding-top:calc(78px + env(safe-area-inset-top))}
}

/* Contraste final de componentes creados después de las reglas de accesibilidad. */
body.a11y-theme-dark.role-estudiante .main-content{background:#071426;color:#f5f8ff}
body.a11y-theme-dark .student-dashboard>#lecturas-semana{border-color:#4b607d;background:#10233d;box-shadow:none}
body.a11y-theme-dark .student-dashboard>#lecturas-semana h2{color:#f7faff}
body.a11y-theme-dark .student-dashboard>#lecturas-semana .eyebrow{color:#70b7ff}
body.a11y-theme-dark .student-dashboard>#lecturas-semana .week-range{color:#c9d7ea}
body.a11y-theme-dark .student-dashboard>#lecturas-semana .section-link{border-color:#6681a4;background:#173454;color:#9bd0ff}
body.a11y-theme-dark .week-heading-icon{background:#173454;color:#8fc7ff}
body.a11y-theme-dark .student-dashboard .reading-card,
body.a11y-theme-dark .student-dashboard .reading-card.completada,
body.a11y-theme-dark .student-dashboard .reading-card:not(.completada){border-color:#526987;background:#10233d;color:#f5f8ff;box-shadow:none}
body.a11y-theme-dark .student-dashboard .reading-card h3,
body.a11y-theme-dark .student-dashboard .reading-card.completada h3,
body.a11y-theme-dark .student-dashboard .reading-card:not(.completada) h3{color:#fff}
body.a11y-theme-dark .student-dashboard .reading-card p,
body.a11y-theme-dark .student-dashboard .reading-card .type,
body.a11y-theme-dark .student-dashboard .reading-card .completed-type,
body.a11y-theme-dark .student-dashboard .reading-card .completed-date,
body.a11y-theme-dark .student-dashboard .reading-card .completed-duration{color:#cbd9ec}
body.a11y-theme-dark .student-dashboard .reading-card .completed-date time{color:#edf5ff}
body.a11y-theme-dark .student-dashboard .reading-card:not(.completada) .reading-day{color:#8fc7ff}
body.a11y-theme-dark .student-dashboard .reading-card .tag{border:1px solid transparent}
body.a11y-theme-dark .student-dashboard .reading-card .tag.pendiente{border-color:#9c7e1d;background:#493900;color:#ffe889}
body.a11y-theme-dark .student-dashboard .reading-card .tag.en_desarrollo{border-color:#3f73a8;background:#143d69;color:#d3e9ff}
body.a11y-theme-dark .student-dashboard .reading-card .tag.programada{border-color:#7166ad;background:#30275b;color:#e5dfff}
body.a11y-theme-dark .student-dashboard .reading-card .tag.fuera_plazo{border-color:#687b96;background:#29384c;color:#e6edf7}
body.a11y-theme-dark .student-dashboard .reading-card .tag.completada{border-color:#397a68;background:#123d34;color:#8ff0c9}
body.a11y-theme-dark .student-dashboard .reading-card .completed-state-badge{border-color:#397a68;background:#123d34;color:#8ff0c9}
body.a11y-theme-dark .student-dashboard .reading-card .completed-score{background:conic-gradient(#22d394 calc(var(--score)*1%),#394b62 0);box-shadow:none}
body.a11y-theme-dark .student-dashboard .reading-card .completed-score:before{background:#10233d}
body.a11y-theme-dark .student-dashboard .reading-card .completed-score strong{color:#66f0bd}
body.a11y-theme-dark .student-dashboard .reading-card .completed-type{
  border-color:#6681a4;
  background:#173454;
  color:#dce8f7;
}
body.a11y-theme-dark .student-dashboard .reading-card .completed-type .reading-day{color:#8fc7ff}
body.a11y-theme-dark .student-dashboard .reading-card .completed-type i{color:#dce8f7}
body.a11y-theme-dark .student-dashboard .completed-achievement{border-color:#397a68;background:#123d34;color:#91f2cd}
body.a11y-theme-dark .student-dashboard .completed-achievement .achievement-symbol,
body.a11y-theme-dark .student-dashboard .completed-achievement strong{color:#91f2cd}
body.a11y-theme-dark .student-dashboard .completed-achievement small{color:#d8f4e9}
body.a11y-theme-dark .student-dashboard .completed-result,
body.a11y-theme-dark .student-dashboard .completed-result span{color:#fff}
body.a11y-theme-dark .reading-encouragement{border-color:#4b607d;background:#10233d;color:#f5f8ff}
body.a11y-theme-dark .reading-encouragement p{color:#c9d7ea}
body.a11y-theme-dark .student-mobile-nav a,
body.a11y-theme-dark .student-mobile-nav button,
body.a11y-theme-dark .student-mobile-nav a>span,
body.a11y-theme-dark .student-mobile-nav button>span{color:#b9cae0!important}
body.a11y-theme-dark .student-mobile-nav a.active,
body.a11y-theme-dark .student-mobile-nav a.active>span{color:#70b7ff!important}
body.a11y-theme-dark .student-mobile-nav a:hover,
body.a11y-theme-dark .student-mobile-nav a:focus-visible,
body.a11y-theme-dark .student-mobile-nav button:hover,
body.a11y-theme-dark .student-mobile-nav button:focus-visible{background:#1d4775;color:#fff!important;opacity:1}
body.a11y-theme-dark .student-mobile-nav a:hover>span,
body.a11y-theme-dark .student-mobile-nav a:focus-visible>span,
body.a11y-theme-dark .student-mobile-nav button:hover>span,
body.a11y-theme-dark .student-mobile-nav button:focus-visible>span{color:#fff!important}
body.a11y-theme-dark.role-estudiante .sidebar .nav-link:hover,
body.a11y-theme-dark.role-estudiante .sidebar .nav-link:focus-visible{background:#1d4775;color:#fff}
body.a11y-theme-dark .topbar-context small{color:#b9cce5}
body.a11y-theme-dark .topbar-context strong{color:#fff}
body.a11y-theme-dark .topbar-context>span{color:#cbd9ec}
body.a11y-theme-dark.role-estudiante .topbar .brand{padding:6px 10px;border:2px solid #fff;border-radius:14px;background:#fff;color:#082d65;box-shadow:0 6px 17px rgba(0,0,0,.24)}
body.a11y-theme-dark.role-estudiante .topbar .brand b{color:#0868d8}
body.a11y-theme-dark.role-estudiante .topbar .brand .brand-mark,
body.a11y-theme-dark.role-estudiante .topbar .brand>span:nth-child(2){display:none}
body.a11y-theme-dark.role-estudiante .topbar .brand-full-logo{display:block;width:150px;height:48px;max-width:100%;padding:2px 5px;border-radius:10px;background:#fff;object-fit:contain}
body.a11y-theme-dark .topbar-divider{background:#536b89}
body.a11y-theme-dark .menu-toggle,
body.a11y-theme-dark .notification-indicator{border-color:#607b9e;background:#173454;color:#f5f8ff}
body.a11y-theme-dark .menu-toggle:hover,
body.a11y-theme-dark .menu-toggle:focus-visible,
body.a11y-theme-dark .notification-indicator:hover{background:#24588e;color:#fff}
body.a11y-theme-dark .notification-indicator i{border-color:#10233d}
body.a11y-theme-dark .user-card{border-color:#607b9e;background:#173454;color:#f5f8ff;box-shadow:none}
body.a11y-theme-dark .user-card .user-copy strong{color:#fff}
body.a11y-theme-dark .user-card .user-copy small{color:#cbd9ec}
body.a11y-theme-dark .user-card:hover,
body.a11y-theme-dark .user-card.active,
body.a11y-theme-dark .user-card:focus-visible{border-color:#8fc7ff;background:#24588e;color:#fff}
body.a11y-theme-dark.role-estudiante .sidebar{border-color:#536b89;background:#10233d;box-shadow:none}
body.a11y-theme-dark.role-estudiante .sidebar .nav-section{color:#9eb3cf}
body.a11y-theme-dark.role-estudiante .sidebar .nav-link{color:#cbd9ec}
body.a11y-theme-dark.role-estudiante .sidebar .nav-link.active{border-left-color:#70b7ff;background:#173f69;color:#fff}
body.a11y-theme-dark.role-estudiante .sidebar-logout{border-color:#536b89}
body.a11y-theme-dark.role-estudiante .sidebar .logout{color:#d5e2f2}
body.a11y-theme-dark .student-dashboard .stats-grid{border-color:#536b89;background:#10233d;box-shadow:none}
body.a11y-theme-dark .student-dashboard .stats-grid .stat-card{border-color:#536b89;background:transparent;color:#f5f8ff}
body.a11y-theme-dark .student-dashboard .stats-grid .stat-card strong,
body.a11y-theme-dark .student-dashboard .stats-grid .stat-card small{color:#f5f8ff}
body.a11y-theme-dark .student-dashboard .stats-grid .ring:after{background:#10233d}
body.a11y-theme-dark .student-dashboard .stats-grid .ring span{color:#fff}
body.a11y-theme-dark .btn.secondary{border-color:#6681a4;background:#173454;color:#f5f8ff}
body.a11y-theme-dark .btn.secondary:hover,
body.a11y-theme-dark .btn.secondary:focus-visible{border-color:#8fc7ff;background:#24588e;color:#fff}
body.a11y-theme-dark .confirm-dialog,
body.a11y-theme-dark .activity-submit-dialog{border:1px solid #607b9e;background:#101820;color:#f5f8ff;box-shadow:0 24px 70px rgba(0,0,0,.48)}
body.a11y-theme-dark .confirm-dialog h2,
body.a11y-theme-dark .activity-submit-dialog h2{color:#fff}
body.a11y-theme-dark .confirm-dialog p,
body.a11y-theme-dark .activity-submit-dialog p{color:#cbd9ec}
body.a11y-theme-dark .confirm-icon{background:#fff1df;color:#e46500}
body.a11y-theme-dark .profile-heading h1{color:#fff}
body.a11y-theme-dark .profile-heading .eyebrow{color:#70b7ff}
body.a11y-theme-dark .profile-heading p{color:#cbd9ec}
body.a11y-theme-dark .profile-back{border-color:#6681a4;background:#173454;color:#f5f8ff}
body.a11y-theme-dark .profile-back:hover,
body.a11y-theme-dark .profile-back:focus-visible{border-color:#8fc7ff;background:#24588e;color:#fff}
body.a11y-theme-dark .profile-photo-intro,
body.a11y-theme-dark .profile-card-heading{border-color:#536b89}
body.a11y-theme-dark .profile-photo-intro h2,
body.a11y-theme-dark .profile-card-heading h2{color:#fff}
body.a11y-theme-dark .profile-photo-intro p,
body.a11y-theme-dark .profile-card-heading p{color:#cbd9ec}
body.a11y-theme-dark .profile-card-heading>span{background:#eaf3ff;color:#0868d8}
body.a11y-theme-dark .profile-form label,
body.a11y-theme-dark .profile-upload>span{color:#f5f8ff}
body.a11y-theme-dark .profile-form small{color:#bfd0e5}
body.a11y-theme-dark .profile-form input{border-color:#6681a4;background:#071a31;color:#fff}
body.a11y-theme-dark .profile-form input::placeholder{color:#aebfd4}
body.a11y-theme-dark .profile-upload input[type=file]{border-color:#6681a4;background:#071a31;color:#dce8f7}
body.a11y-theme-dark .profile-upload input[type=file]::file-selector-button{margin-right:11px;padding:8px 11px;border:0;border-radius:7px;background:#24588e;color:#fff;font-weight:650;cursor:pointer}
body.a11y-theme-dark .profile-form input:focus{border-color:#8fc7ff;outline:3px solid rgba(112,183,255,.2)}
body.a11y-theme-dark .student-progress-page .progress-heading{border-color:#536b89;background:#10233d;color:#f5f8ff;box-shadow:none}
body.a11y-theme-dark .student-progress-page .progress-heading h1{color:#fff}
body.a11y-theme-dark .student-progress-page .progress-heading>div>p{color:#cbd9ec}
body.a11y-theme-dark .student-progress-page .progress-heading .eyebrow{color:#70b7ff}
body.a11y-theme-dark .student-progress-page .progress-summary span{border-color:#607b9e;background:#173454;color:#d7e4f5}
body.a11y-theme-dark .student-progress-page .progress-summary strong{color:#8fc7ff}
body.a11y-theme-dark .student-progress-page>.section-head h2{color:#fff}
body.a11y-theme-dark .student-progress-page>.section-head .eyebrow{color:#70b7ff}
body.a11y-theme-dark .student-progress-page .reading-grid .reading-card h3,
body.a11y-theme-dark .student-progress-page .reading-grid .reading-card.completada h3{color:#fff}
body.a11y-theme-dark .student-progress-page .reading-grid .reading-card .completed-type{color:#cbd9ec}
body.a11y-theme-dark .student-progress-page .reading-grid .completed-achievement strong{color:#91f2cd}
body.a11y-theme-dark .student-progress-page .reading-grid .completed-achievement small{color:#d8f4e9}
body.a11y-theme-dark .student-progress-page .week-pagination{border-color:#536b89;background:#10233d;color:#f5f8ff;box-shadow:none}
body.a11y-theme-dark .student-progress-page .week-pagination small,
body.a11y-theme-dark .student-progress-page .week-pagination em{color:#cbd9ec}
body.a11y-theme-dark .student-progress-page .week-pagination strong{color:#fff}
body.a11y-theme-dark .student-progress-page .week-page-button{border-color:#6681a4;background:#173454;color:#9bd0ff}
body.a11y-theme-dark .pwa-install-banner,body.a11y-theme-dark .pwa-install-help{border-color:#536d8e;background:#10233d;color:#f5f8ff}
body.a11y-theme-dark .pwa-install-banner p,body.a11y-theme-dark .pwa-install-help p{color:#c9d7ea}
body.a11y-theme-dark .pwa-install-close{background:#173454;color:#dceaff}

body.a11y-theme-contrast .student-dashboard>#lecturas-semana,
body.a11y-theme-contrast .student-dashboard .reading-card,
body.a11y-theme-contrast .student-dashboard .reading-card.completada,
body.a11y-theme-contrast .reading-encouragement{border:2px solid #000;background:#fff;color:#000;box-shadow:none}
body.a11y-theme-contrast .student-dashboard>#lecturas-semana h2,
body.a11y-theme-contrast .student-dashboard>#lecturas-semana .eyebrow,
body.a11y-theme-contrast .student-dashboard>#lecturas-semana .week-range,
body.a11y-theme-contrast .student-dashboard .reading-card h3,
body.a11y-theme-contrast .student-dashboard .reading-card p,
body.a11y-theme-contrast .student-dashboard .reading-card .type,
body.a11y-theme-contrast .student-dashboard .reading-card .completed-date,
body.a11y-theme-contrast .student-dashboard .reading-card .completed-duration,
body.a11y-theme-contrast .reading-encouragement p{color:#000}
body.a11y-theme-contrast .student-dashboard .completed-achievement{border:2px solid #000;background:#fff;color:#000}
body.a11y-theme-contrast .student-dashboard .completed-achievement strong,
body.a11y-theme-contrast .student-dashboard .completed-achievement small{color:#000}
body.a11y-theme-contrast .student-dashboard .completed-state-badge{border:2px solid #000;background:#fff;color:#000}
body.a11y-theme-contrast .student-dashboard .completed-score:before{background:#fff}
body.a11y-theme-contrast .student-progress-page .progress-heading,
body.a11y-theme-contrast .student-progress-page .progress-summary span,
body.a11y-theme-contrast .student-progress-page .week-pagination{border:2px solid #000;background:#fff;color:#000;box-shadow:none}
body.a11y-theme-contrast .student-progress-page .progress-heading h1,
body.a11y-theme-contrast .student-progress-page .progress-heading p,
body.a11y-theme-contrast .student-progress-page>.section-head h2,
body.a11y-theme-contrast .student-progress-page>.section-head .eyebrow{color:#000}
body.a11y-theme-contrast .student-progress-page .week-pagination strong,
body.a11y-theme-contrast .student-progress-page .week-pagination small,
body.a11y-theme-contrast .student-progress-page .week-pagination em{color:#000}
body.a11y-theme-contrast .student-dashboard .reading-card .tag,
body.a11y-theme-contrast .student-dashboard .reading-card .tag.pendiente,
body.a11y-theme-contrast .student-dashboard .reading-card .tag.en_desarrollo,
body.a11y-theme-contrast .student-dashboard .reading-card .tag.programada,
body.a11y-theme-contrast .student-dashboard .reading-card .tag.fuera_plazo{border:2px solid #000;background:#fff;color:#000}
body.a11y-theme-contrast .student-mobile-nav a:hover,
body.a11y-theme-contrast .student-mobile-nav a:focus-visible,
body.a11y-theme-contrast .student-mobile-nav button:hover,
body.a11y-theme-contrast .student-mobile-nav button:focus-visible{background:#000;color:#fff!important}
body.a11y-theme-contrast .student-mobile-nav a:hover>span,
body.a11y-theme-contrast .student-mobile-nav a:focus-visible>span,
body.a11y-theme-contrast .student-mobile-nav button:hover>span,
body.a11y-theme-contrast .student-mobile-nav button:focus-visible>span{color:#fff!important}
body.a11y-theme-contrast .topbar-context small,
body.a11y-theme-contrast .topbar-context strong,
body.a11y-theme-contrast .topbar-context>span,
body.a11y-theme-contrast .user-card .user-copy strong,
body.a11y-theme-contrast .user-card .user-copy small{color:#000}
body.a11y-theme-contrast .menu-toggle,
body.a11y-theme-contrast .notification-indicator,
body.a11y-theme-contrast .user-card{border:2px solid #000;background:#fff;color:#000;box-shadow:none}
body.a11y-theme-contrast.role-estudiante .topbar .brand{padding:6px 10px;border:2px solid #000;border-radius:12px;background:#fff;color:#000;box-shadow:none}
body.a11y-theme-contrast .btn.secondary,
body.a11y-theme-contrast .profile-back{border:2px solid #000;background:#fff;color:#000}
body.a11y-theme-contrast .confirm-dialog,
body.a11y-theme-contrast .activity-submit-dialog{border:3px solid #000;background:#fff;color:#000;box-shadow:none}
body.a11y-theme-contrast .confirm-dialog h2,
body.a11y-theme-contrast .confirm-dialog p,
body.a11y-theme-contrast .profile-heading h1,
body.a11y-theme-contrast .profile-heading p,
body.a11y-theme-contrast .profile-photo-intro h2,
body.a11y-theme-contrast .profile-photo-intro p,
body.a11y-theme-contrast .profile-card-heading h2,
body.a11y-theme-contrast .profile-card-heading p,
body.a11y-theme-contrast .profile-form label,
body.a11y-theme-contrast .profile-form small{color:#000}

@media(max-width:720px){
  .student-progress-page .week-pagination{margin-bottom:88px;padding-right:76px}
  .student-progress-page .week-pagination-actions{flex:0 0 auto}
  body:has(.student-progress-page) .neuro-accessibility-launcher{right:13px;width:50px;height:50px;min-height:50px;padding:5px}
  body:has(.student-progress-page) .neuro-accessibility-launcher .neuro-infinity{width:36px;height:36px}
  .reading-encouragement{grid-template-columns:42px minmax(0,1fr);padding-right:78px}
  .reading-encouragement img{display:none}
  body.a11y-theme-dark.role-estudiante .topbar .brand,
  body.a11y-theme-contrast.role-estudiante .topbar .brand{width:154px;height:56px;padding:3px 8px}
}

@media(max-width:1000px){
  .reading-encouragement{grid-template-columns:42px minmax(0,1fr);padding-right:78px}
  .reading-encouragement img{display:none}
}

@media(min-width:721px) and (max-width:1000px){
  .neuro-accessibility-launcher{right:16px;bottom:20px;width:56px;height:56px;min-height:56px;padding:7px;border-radius:50%}
  .neuro-accessibility-launcher>span:last-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  .neuro-accessibility-launcher .neuro-infinity{width:38px;height:38px}
  .student-dashboard .reading-card.completada{grid-template-columns:105px minmax(0,1fr) 76px;grid-template-rows:auto auto;gap:10px 12px;min-width:0;padding:14px}
  .student-dashboard .reading-card.completada .reading-cover-frame{grid-column:1;grid-row:1/3;width:105px;height:126px}
  .student-dashboard .reading-card.completada .reading-card-content{grid-column:2;grid-row:1;min-width:0}
  .student-dashboard .reading-card.completada .completed-score{grid-column:3;grid-row:1;width:76px;height:76px}
  .student-dashboard .reading-card.completada .completed-side{grid-column:2/4;grid-row:2;grid-template-columns:minmax(0,1fr) minmax(125px,.8fr);gap:8px;min-width:0}
  .student-dashboard .reading-card.completada .completed-achievement{min-height:50px;padding:7px 9px}
  .student-dashboard .reading-card.completada .completed-result{min-height:50px}
}

/* Ajustes finales para tablet: navegacion, escala y contraste consistentes. */
body.a11y-theme-dark .btn.primary:not(.yellow-button),
body.a11y-theme-dark .student-dashboard .reading-card:not(.completada) .btn.primary{
  border-color:#2383f3;
  background:#0868dc;
  color:#fff;
}
body.a11y-theme-dark .btn.primary:not(.yellow-button):hover,
body.a11y-theme-dark .btn.primary:not(.yellow-button):focus-visible,
body.a11y-theme-dark .student-dashboard .reading-card:not(.completada) .btn.primary:hover,
body.a11y-theme-dark .student-dashboard .reading-card:not(.completada) .btn.primary:focus-visible{
  border-color:#70b7ff;
  background:#0754b6;
  color:#fff;
  box-shadow:0 0 0 3px rgba(112,183,255,.22);
}
body.a11y-theme-dark .activity-page .activity-timer{
  border-color:#6681a4;
  background:#173f69;
  color:#fff;
  box-shadow:none;
}
body.a11y-theme-dark .activity-page .activity-timer .timer-ring{color:#9bd0ff}
body.a11y-theme-dark .activity-page .activity-timer .timer-copy strong{color:#fff}
body.a11y-theme-dark .activity-page .activity-timer .timer-copy small{color:#d3e2f4}

@media(min-width:721px) and (max-width:1000px){
  body.mobile-menu-open.role-estudiante .main-content{margin-left:0}
  body.mobile-menu-open.role-estudiante .main-content>*{width:min(100%,1180px)}
  body.a11y-theme-dark.role-estudiante{background:#071426}

  .role-estudiante .topbar{gap:14px;padding:0 16px}
  .role-estudiante .brand{width:170px;min-width:170px}
  .role-estudiante .topbar-divider{margin-inline:2px}
  .role-estudiante .topbar-context small{font-size:.72rem}
  .role-estudiante .topbar-context strong{font-size:1.3rem;line-height:1.08}
  .role-estudiante .notification-indicator{flex:0 0 44px}
  .role-estudiante .user-card{min-width:168px;padding-inline:11px}
  .role-estudiante .user-card .user-copy strong{font-size:.82rem}
  .role-estudiante .user-card .user-copy small{font-size:.7rem}

  .role-estudiante .main-content{padding:96px 24px 48px}
  .student-dashboard .reading-card.completada .completed-type{font-size:.68rem}
  .student-dashboard .reading-card.completada h3{margin:8px 0 7px;font-size:1.18rem;line-height:1.16}
  .student-dashboard .reading-card.completada .completed-state-badge,
  .student-dashboard .reading-card.completada .completed-date{font-size:.68rem}
  .student-dashboard .reading-card.completada .completed-score strong{font-size:1.15rem;line-height:1}
  .student-dashboard .reading-card.completada .completed-achievement strong{font-size:.78rem}
  .student-dashboard .reading-card.completada .completed-achievement small{font-size:.66rem}
  .student-dashboard .reading-card.completada .completed-result{font-size:.74rem}
  .student-dashboard .reading-card:not(.completada) h3{font-size:1.22rem;line-height:1.18}
  .student-dashboard .reading-card:not(.completada) p{font-size:.78rem}
  .student-dashboard .reading-card:not(.completada) .btn{font-size:.74rem}

  .student-progress-page .progress-heading{gap:17px;padding:18px 20px}
  .student-progress-page .progress-heading h1{font-size:1.65rem}
  .student-progress-page .progress-heading>div>p{font-size:.82rem}
  .student-progress-page .progress-summary span{min-width:112px;padding:10px 13px;font-size:.7rem}
  .student-progress-page .progress-summary strong{font-size:1.2rem}
  .student-progress-page>.section-head h2{font-size:1.35rem}

  .activity-page .activity-head h1{font-size:1.75rem;line-height:1.15}
  .activity-page .activity-head>div:first-child p{font-size:.88rem}
  .activity-page .activity-timer{display:flex;align-items:center;gap:8px;min-width:143px;padding:9px 13px}
  .activity-page .timer-ring .icon{width:19px;height:19px}
  .activity-page .timer-copy{display:flex;align-items:baseline;gap:4px;line-height:1.15}
  .activity-page .timer-copy strong{font-size:.9rem}
  .activity-page .timer-copy small{font-size:.68rem}
  .activity-page .reading-paper{padding:38px 48px}
  .activity-page .reading-text{font-size:1.06rem;line-height:1.85}
}

@media(min-width:721px){
  body.mobile-menu-open.role-estudiante .main-content{margin-left:0}
  body.mobile-menu-open.role-estudiante .main-content>*{width:min(100%,1180px)}
}

@media(min-width:1001px){
  .student-dashboard .reading-card.completada .completed-score strong{font-size:1.25rem;line-height:1}
}

/* Ajustes 30-08-2026: acceso centrado, cabecera estudiantil y tarjetas compactas. */
.student-mobile-header{display:none}
.student-dashboard .reading-card:not(.completada) .btn.primary{border-color:#082f67;background:#082f67;box-shadow:0 7px 15px rgba(8,47,103,.18)}
.student-dashboard .reading-card:not(.completada) .btn.primary:hover,.student-dashboard .reading-card:not(.completada) .btn.primary:focus-visible{border-color:#061f49;background:#061f49}
.reading-inline-details{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-left:auto;color:#60718c;font-size:.72rem;white-space:nowrap}
.reading-inline-details .type{color:inherit}
.reading-inline-fact{display:inline-flex;align-items:center;gap:3px}
.reading-inline-fact:before{content:"·";margin-right:3px;color:#a0aec1}
.reading-inline-fact .icon{width:13px;height:13px}

.page-loader{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:20px;background:rgba(239,246,255,.82);opacity:0;visibility:hidden;pointer-events:none;backdrop-filter:blur(7px);transition:opacity .18s ease,visibility .18s ease}
.page-loader.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.page-loader:not(.is-visible) .page-loader-logo,.page-loader:not(.is-visible) .page-loader-orbit,.page-loader:not(.is-visible) .page-loader-book,.page-loader:not(.is-visible) .page-loader-progress i,.page-loader:not(.is-visible) .page-loader-dots i,.page-loader:not(.is-visible) .page-loader-card:before{animation-play-state:paused}
.page-loader-card{position:relative;display:grid;justify-items:center;gap:10px;width:min(320px,calc(100vw - 34px));padding:24px 28px 22px;overflow:hidden;border:1px solid #cfe0f4;border-radius:24px;background:linear-gradient(155deg,#fff 0%,#f8fbff 100%);color:#082f67;box-shadow:0 20px 55px rgba(6,47,105,.2)}
.page-loader-card:before{content:"";position:absolute;top:-70%;left:-55%;width:42%;height:240%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.9),transparent);transform:rotate(18deg);animation:loader-shine 2.4s ease-in-out infinite;pointer-events:none}.page-loader-card>.page-loader-logo{display:block;width:210px;height:78px;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(7,70,145,.1));animation:loader-logo 1.8s ease-in-out infinite}.page-loader-scene{position:relative;display:grid;place-items:center;width:86px;height:86px}.page-loader-orbit{position:absolute;inset:0;border:1.5px dashed #b9d6f6;border-radius:50%;animation:loader-orbit 2.2s linear infinite}.page-loader-orbit i{position:absolute;width:9px;height:9px;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px rgba(7,65,135,.2)}.page-loader-orbit i:nth-child(1){left:4px;top:14px;background:#ff4b55}.page-loader-orbit i:nth-child(2){right:1px;top:37px;background:#ffc51b}.page-loader-orbit i:nth-child(3){left:29px;bottom:-2px;background:#65ba45}
.page-loader-book{position:relative;z-index:1;display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:linear-gradient(145deg,#0877ed,#0758c8);color:#fff;box-shadow:0 10px 22px rgba(7,95,205,.23);animation:loader-book 1.05s ease-in-out infinite}
.page-loader-book .icon{width:34px;height:34px}
.page-loader-card strong{font-size:.93rem}
.page-loader-progress{width:190px;height:6px;margin-top:2px;overflow:hidden;border-radius:99px;background:#dceafa}.page-loader-progress i{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0877ed,#65ba45,#ffc51b);animation:loader-progress 1.35s ease-in-out infinite}
.page-loader-dots{display:flex;gap:6px;height:9px}
.page-loader-dots i{width:8px;height:8px;border-radius:50%;background:#0870e8;animation:loader-dot .9s ease-in-out infinite}
.page-loader-dots i:nth-child(2){animation-delay:.15s}.page-loader-dots i:nth-child(3){animation-delay:.3s}
@keyframes loader-book{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@keyframes loader-dot{0%,100%{opacity:.25;transform:scale(.72)}50%{opacity:1;transform:scale(1)}}
@keyframes loader-logo{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.025);opacity:1}}@keyframes loader-orbit{to{transform:rotate(360deg)}}@keyframes loader-progress{0%{transform:translateX(-110%)}100%{transform:translateX(350%)}}@keyframes loader-shine{0%,35%{transform:translateX(-180%) rotate(18deg)}75%,100%{transform:translateX(480%) rotate(18deg)}}

@media(max-width:900px){
  .auth-page .login-wrap{min-height:100svh;padding-top:clamp(24px,5svh,58px);padding-bottom:clamp(20px,4svh,46px)}
  .auth-page .login-side{display:flex;align-items:center;min-height:calc(100svh - clamp(44px,9svh,104px))}
  .auth-page .login-card{margin:auto}
  .mobile-login-logo{margin-top:clamp(10px,2.5svh,28px);margin-bottom:clamp(24px,3.5svh,38px)}
}

@media(max-width:720px){
  body.role-estudiante{background:#f3f7fc}
  .role-estudiante .topbar{position:sticky;inset:auto;top:0;z-index:40;display:block;height:238px;padding:calc(16px + env(safe-area-inset-top)) 20px 38px;overflow:hidden;border:0;background-color:transparent;background-image:radial-gradient(circle at 92% 18%,rgba(255,255,255,.16) 0 64px,transparent 65px),radial-gradient(circle at 96% 62%,rgba(255,255,255,.12) 0 3px,transparent 4px),linear-gradient(90deg,#075bc7 0%,#0877ed 58%,#4697f5 100%);background-repeat:no-repeat;background-size:100% calc(100% - 38px);box-shadow:none;color:#fff}
  .role-estudiante .topbar:after{display:none}
  .role-estudiante .topbar>.brand,.role-estudiante .topbar>.menu-toggle,.role-estudiante .topbar>.topbar-divider,.role-estudiante .topbar>.topbar-context,.role-estudiante .topbar>.topbar-actions{display:none}
  .student-mobile-header{position:relative;z-index:2;display:grid;align-content:start;gap:23px;width:100%;max-width:560px;height:100%;margin:0 auto}
  .student-mobile-header-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between}
  .student-mobile-brand{display:block;width:158px;height:61px;padding:3px 8px;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 7px 18px rgba(0,42,105,.16)}
  .student-mobile-brand img{display:block;width:100%;height:100%;object-fit:contain}
  .student-mobile-profile{display:grid;place-items:center;width:55px;height:55px;overflow:hidden;border:3px solid rgba(255,255,255,.78);border-radius:50%;background:#eaf2ff;color:#082f67;font-size:1.05rem;font-weight:800;box-shadow:0 7px 17px rgba(0,38,93,.18)}
  .student-mobile-profile img{width:100%;height:100%;object-fit:cover}
  .student-mobile-greeting{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
  .student-mobile-greeting h1{margin:0 0 4px;color:#fff;font-size:1.52rem;font-weight:800;letter-spacing:-.025em;line-height:1.12}
  .student-mobile-greeting h1 span{display:inline-block;font-size:1.25rem}
  .student-mobile-greeting p{margin:0;color:#eaf4ff;font-size:.83rem;line-height:1.35}
  .student-context-pill{flex:0 0 auto;max-width:112px;padding:7px 11px;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(255,255,255,.94);color:#0961c9;font-size:.68rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 5px 14px rgba(0,39,97,.12)}
  .student-mobile-wave{position:absolute;z-index:1;left:50%;bottom:-40px;display:block;width:100vw;height:49px;transform:translateX(-50%);pointer-events:none;shape-rendering:geometricPrecision}
  .student-mobile-wave .wave-accent{fill:none;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
  .student-mobile-wave .wave-blue{fill:url(#studentWaveBlue)}
  .role-estudiante .main-content{margin:-25px 0 0;padding:10px 14px 30px;background:linear-gradient(180deg,#f7faff,#f2f6fc)}
  .student-dashboard>#lecturas-semana{margin-top:0}

  .student-dashboard .reading-card:not(.completada){grid-template-columns:96px minmax(0,1fr);gap:11px;min-height:0;padding:11px;border-radius:18px}
  .student-dashboard .reading-card:not(.completada) .reading-cover-frame{width:96px;height:132px;border-radius:13px}
  .student-dashboard .reading-card:not(.completada) .reading-card-content{justify-content:flex-start;min-width:0}
  .student-dashboard .reading-card:not(.completada) .card-top{align-items:flex-start;flex-wrap:wrap;gap:5px 7px}
  .student-dashboard .reading-card:not(.completada) .reading-inline-details{justify-content:flex-start;width:100%;margin-left:0;gap:4px;font-size:.58rem}
  .student-dashboard .reading-card:not(.completada) .card-top .type{margin-left:0;font-size:inherit;white-space:nowrap}
  .student-dashboard .reading-card:not(.completada) .reading-inline-fact{gap:2px}
  .student-dashboard .reading-card:not(.completada) .reading-inline-fact:before{margin-right:1px}
  .student-dashboard .reading-card:not(.completada) .reading-inline-fact .icon{width:11px;height:11px}
  .student-dashboard .reading-card:not(.completada) .tag{padding:4px 7px;font-size:.57rem;letter-spacing:.045em}
  .student-dashboard .reading-card:not(.completada) h3{margin:5px 0 2px;font-size:1.05rem;line-height:1.14}
  .student-dashboard .reading-card:not(.completada) p{display:-webkit-box;margin:0 0 6px;overflow:hidden;color:#62728d;font-size:.67rem;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .student-dashboard .reading-card:not(.completada) .btn{width:100%;min-height:39px;padding:7px 8px;border-radius:10px;font-size:.69rem}
  .student-dashboard .reading-card:not(.completada) .btn.primary{background:#082f67;box-shadow:0 5px 11px rgba(8,47,103,.17)}
}

@media(max-width:390px){
  .role-estudiante .topbar{height:226px;padding-inline:15px}
  .student-mobile-header{gap:18px}
  .student-mobile-brand{width:146px;height:57px}
  .student-mobile-greeting h1{font-size:1.35rem}
  .student-mobile-greeting p{font-size:.75rem}
  .student-context-pill{max-width:92px;padding-inline:9px}
  .role-estudiante .main-content{padding-inline:10px}
  .student-dashboard>#lecturas-semana{grid-template-columns:48px minmax(0,1fr) auto;padding-inline:10px;gap:8px}
  .week-heading-icon{width:46px;height:46px}
  .student-dashboard>#lecturas-semana h2{font-size:1.35rem}
  .student-dashboard>#lecturas-semana .section-link{padding-inline:7px;font-size:.62rem}
  .student-dashboard .reading-card:not(.completada){grid-template-columns:86px minmax(0,1fr);gap:9px;padding:9px}
  .student-dashboard .reading-card:not(.completada) .reading-cover-frame{width:86px;height:123px}
  .student-dashboard .reading-card:not(.completada) .card-top .type{font-size:.56rem}
  .student-dashboard .reading-card:not(.completada) h3{font-size:.96rem}
  .student-dashboard .reading-card:not(.completada) p{font-size:.62rem;-webkit-line-clamp:1}
}

@media(prefers-reduced-motion:reduce){.page-loader-book,.page-loader-dots i,.page-loader-logo,.page-loader-orbit,.page-loader-progress i,.page-loader-card:before{animation:none}.page-loader{transition:none}}
body.a11y-calm .page-loader-book,body.a11y-calm .page-loader-dots i,body.a11y-calm .page-loader-logo,body.a11y-calm .page-loader-orbit,body.a11y-calm .page-loader-progress i,body.a11y-calm .page-loader-card:before{animation:none}

/* Acceso móvil 31-08-2026: composición fiel a la referencia ilustrada. */
.mobile-login-hero,.mobile-login-security,.mobile-login-divider,.mobile-google-button{display:none}
.reading-day{font-weight:900!important}
.page-loader-card>img{display:block;width:166px;height:64px;object-fit:contain}
.page-loader-card>small{max-width:230px;color:#667b99;font-size:.72rem;line-height:1.4;text-align:center}

@media(max-width:900px){
  .auth-page .login-wrap{position:relative;display:block;min-height:100svh;padding:0 14px 28px;overflow:hidden;background:radial-gradient(circle at 92% 5%,rgba(196,218,255,.42) 0 54px,transparent 55px),radial-gradient(circle at 3% 98%,rgba(8,112,232,.12) 0 74px,transparent 75px),linear-gradient(155deg,#fafdff 0%,#eef5ff 52%,#f8fbff 100%)}
  .auth-page .login-wrap:before{content:"";position:absolute;z-index:0;left:-82px;top:-85px;width:205px;height:205px;border:11px solid #0873ed;border-radius:50%;box-shadow:12px 12px 0 -5px #ffc21c;pointer-events:none}
  .auth-page .login-wrap:after{content:"";position:absolute;z-index:0;right:-88px;bottom:-94px;width:210px;height:210px;border:13px solid #ffc21c;border-radius:50%;pointer-events:none}
  .auth-page .login-side{position:relative;z-index:1;display:block;min-height:0;padding:0}
  .auth-page .login-card{display:block;width:min(600px,100%);min-height:0;margin:0 auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
  .auth-page .login-card:before,.auth-page .login-card:after{display:none}
  .desktop-login-copy{display:none!important}
  .mobile-login-hero{display:block;position:relative;padding-top:clamp(34px,7svh,72px)}
  .mobile-login-logo{display:block;box-sizing:border-box;width:224px;height:93px;margin:0 auto clamp(25px,4svh,44px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;object-fit:contain}
  .mobile-login-stage{position:relative;min-height:335px}
  .mobile-login-copy{position:relative;z-index:2;width:49%;padding:45px 0 0 16px;color:#082f67}
  .mobile-login-copy .eyebrow{display:inline-flex;width:max-content;margin:0 0 19px;padding:8px 13px;border-radius:999px;background:linear-gradient(135deg,#0878f2,#0758d7);color:#fff;font-size:.7rem;font-weight:800;letter-spacing:.15em;box-shadow:0 8px 17px rgba(7,95,210,.2)}
  .mobile-login-copy h1{margin:0 0 13px;color:#082f67;font-size:clamp(2.25rem,11vw,3.3rem);font-weight:900;line-height:.98;letter-spacing:-.045em}
  .mobile-login-copy>p:last-child{margin:0;color:#607697;font-size:.9rem;font-weight:650;line-height:1.55}
  .mobile-reader-art{display:block;position:absolute;z-index:1;right:-22px;bottom:-3px;width:min(79%,460px);height:auto;margin:0;filter:drop-shadow(0 14px 20px rgba(15,62,124,.13));pointer-events:none}
  .login-status{position:relative;z-index:4;margin:0 10px 13px}
  .auth-page .stack-form{position:relative;z-index:3;display:grid;gap:18px;margin:-2px 0 0;padding:27px 22px;border:1px solid rgba(178,199,229,.65);border-radius:29px;background:rgba(255,255,255,.97);box-shadow:0 18px 42px rgba(17,67,129,.13)}
  .auth-page .stack-form>label{gap:8px;color:#082f67;font-size:.92rem;font-weight:750}
  .login-input{min-height:66px;border-color:#c4d1e3;border-radius:15px;background:#fbfdff}
  .auth-page .login-input input{height:64px;border-radius:15px;font-size:.93rem}
  .auth-page .password-field button{top:10px}
  .login-button{height:64px;border-radius:15px!important;font-size:1.15rem;background:linear-gradient(135deg,#0878f5,#0758dc)!important;box-shadow:0 11px 22px rgba(7,91,211,.24)!important}
  .login-button:after{display:block;content:"✦";right:22px;color:#ffd02b;font-size:1.5rem}
  .mobile-login-divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:11px;margin:4px 0 0;color:#7385a1}
  .mobile-login-divider span{height:1px;background:#ced9e9}
  .mobile-login-divider em{font-size:.75rem;font-style:normal;font-weight:700}
  .mobile-google-button{display:grid;grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:58px;padding:9px 14px;border:1px solid #cad6e7;border-radius:14px;background:#fff;color:#082f67;font-family:"Nunito",sans-serif;font-size:.88rem;font-weight:750;opacity:1}
  .mobile-google-button>img{display:block;width:22px;height:22px;object-fit:contain}
  .mobile-google-button small{padding:3px 6px;border-radius:99px;background:#edf3fb;color:#788ba6;font-size:.55rem}
  .auth-page .login-trust{display:none}
  .mobile-login-security{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 0;padding:22px 10px;border:1px solid rgba(178,199,229,.64);border-radius:28px;background:rgba(255,255,255,.94);box-shadow:0 14px 34px rgba(17,67,129,.09)}
  .mobile-login-security article{display:grid;justify-items:center;align-content:start;min-width:0;padding:0 8px;text-align:center}
  .mobile-login-security article+article{border-left:1px solid #dde5f1}
  .mobile-login-security article>span{display:grid;place-items:center;width:49px;height:49px;margin-bottom:9px;border-radius:50%;background:#e8f1ff;color:#0870e8;font-size:2rem;font-weight:500}
  .mobile-login-security article>span .icon{width:25px;height:25px;stroke-width:2}
  .mobile-login-security strong{color:#082f67;font-size:.78rem}
  .mobile-login-security p{margin:6px 0 0;color:#536d92;font-size:.61rem;line-height:1.4}
}

@media(max-width:420px){
  .mobile-login-logo{width:194px;height:80px}
  .mobile-login-stage{min-height:304px}
  .mobile-login-copy{width:51%;padding-top:35px;padding-left:8px}
  .mobile-login-copy .eyebrow{margin-bottom:15px;padding:7px 10px;font-size:.62rem}
  .mobile-login-copy h1{font-size:2.35rem}
  .mobile-login-copy>p:last-child{font-size:.78rem}
  .mobile-reader-art{right:-27px;width:81%}
  .auth-page .stack-form{padding:23px 18px;border-radius:25px}
  .mobile-login-security{padding:19px 5px;border-radius:24px}
  .mobile-login-security article{padding-inline:5px}
  .mobile-login-security article>span{width:44px;height:44px}
  .mobile-login-security strong{font-size:.7rem}
  .mobile-login-security p{font-size:.55rem}
}

/* Login móvil compacto: toda la experiencia cabe en una pantalla estándar. */
@media(max-width:900px){
  .auth-page{height:100svh;overflow:hidden}
  .auth-page .login-wrap{display:flex;align-items:center;justify-content:center;height:100svh;min-height:0;padding:8px 18px 12px;overflow:hidden}
  .auth-page .login-side{flex:0 0 auto;width:100%}
  .auth-page .login-card{width:min(520px,100%)}
  .mobile-login-hero{padding-top:3px}
  .mobile-login-logo{width:190px;height:78px;margin:0 auto 3px}
  .mobile-login-stage{min-height:246px}
  .mobile-login-copy{width:48%;padding:38px 0 0 8px}
  .mobile-login-copy .eyebrow{margin-bottom:12px;padding:6px 10px;font-size:.58rem;box-shadow:0 6px 13px rgba(7,95,210,.18)}
  .mobile-login-copy h1{margin-bottom:9px;font-size:clamp(2.1rem,9.7vw,2.65rem);line-height:.98}
  .mobile-login-copy>p:last-child{font-size:.72rem;line-height:1.42}
  .mobile-reader-art{right:-17px;bottom:-2px;width:min(78%,390px);filter:drop-shadow(0 10px 16px rgba(15,62,124,.12))}
  .login-status{margin:0 7px 6px;padding:8px 10px}
  .auth-page .stack-form{gap:9px;margin:0;padding:19px 16px 20px;border-radius:21px;box-shadow:0 10px 25px rgba(17,67,129,.1)}
  .auth-page .stack-form>label{gap:4px;font-size:.72rem}
  .login-input{min-height:47px;border-radius:11px}
  .login-input>.icon{left:14px;width:17px;height:17px}
  .auth-page .login-input input{height:45px;padding-left:44px!important;border-radius:11px;font-size:.78rem}
  .auth-page .password-field button{top:3px;right:4px;width:39px;height:39px}
  .login-button{height:48px;min-height:48px;border-radius:11px!important;font-size:.92rem}
  .login-button:after{right:17px;font-size:1.15rem}
  .mobile-login-divider{gap:8px;margin:1px 0;font-size:.65rem}
  .mobile-login-divider em{font-size:.62rem}
  .mobile-google-button{grid-template-columns:25px minmax(0,1fr) auto;min-height:43px;padding:6px 11px;border-radius:11px;font-size:.72rem}
  .mobile-google-button>img{width:19px;height:19px}
  .mobile-google-button small{font-size:.48rem}
  .mobile-login-security{margin-top:14px;padding:14px 5px;border-radius:21px;box-shadow:0 9px 22px rgba(17,67,129,.08)}
  .mobile-login-security article{padding-inline:5px}
  .mobile-login-security article>span{width:42px;height:42px;margin-bottom:6px;font-size:1.65rem}
  .mobile-login-security article>span .icon{width:22px;height:22px}
  .mobile-login-security strong{font-size:.68rem}
  .mobile-login-security p{margin-top:4px;font-size:.5rem;line-height:1.32}
}

@media(max-width:370px),(max-height:720px){
  .auth-page .login-side{left:auto;width:119.05%;margin-left:-9.525%;transform:scale(.84);transform-origin:center center}
}

@media(max-height:660px){
  .auth-page .login-side{width:128.21%;margin-left:-14.105%;transform:scale(.78)}
}

/* Mensajería interna */
.notification-indicator{position:relative;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;color:#506784;text-decoration:none}.notification-indicator.has-notifications{background:#eaf3ff;color:#086bdd}.notification-indicator b{position:absolute;top:-5px;right:-5px;display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:99px;background:#e4334f;color:#fff;font-size:.68rem}.nav-count{margin-left:auto;padding:2px 7px;border-radius:99px;background:#e4334f;color:#fff;font-size:.7rem}
.mail-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px}.mail-folders{display:flex;flex-direction:column;gap:7px}.mail-folders>a{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:12px;color:#405879;text-decoration:none;font-weight:700}.mail-folders>a .icon{width:20px}.mail-folders>a.active{background:#eaf3ff;color:#076bd8}.mail-folders>a b{margin-left:auto;padding:2px 8px;border-radius:99px;background:#0874e8;color:#fff;font-size:.72rem}.mail-list-card{overflow:hidden;border:1px solid #dfe7f2;border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(28,61,102,.07)}.mail-list-card>header{display:flex;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #e5ebf3}.mail-list-card h2,.mail-list-card p{margin:0}.mail-list-card header p{color:#70829b;font-size:.85rem}.mail-list{display:flex;flex-direction:column}.mail-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px 20px;border-bottom:1px solid #edf1f6;color:#203a5d;text-decoration:none}.mail-row:hover{background:#f7faff}.mail-row.unread{background:#f0f6ff}.mail-row.unread .mail-row-copy>b{color:#075fc4}.mail-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#e1edff,#c9ddff);color:#086bd6;font-weight:900}.mail-row-copy{display:grid;min-width:0;gap:3px}.mail-row-copy>span{display:flex;align-items:center;gap:8px}.mail-row-copy small{color:#7890ad;font-weight:600}.mail-row-copy>b,.mail-row-copy>em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mail-row-copy>em{color:#69809d;font-size:.82rem;font-style:normal}.mail-row>time{align-self:start;color:#8190a5;font-size:.74rem}.mail-empty{display:grid;justify-items:center;padding:65px 20px;text-align:center;color:#7589a5}.mail-empty>.icon{width:55px;height:55px;margin-bottom:12px;color:#a8bbd4}.mail-empty h3{margin:0;color:#2a466a}.mail-empty p{margin-top:5px}
.compose-dialog{width:min(650px,calc(100% - 24px));padding:0;border:0;border-radius:20px;box-shadow:0 25px 80px rgba(4,31,67,.3)}.compose-dialog::backdrop{background:rgba(7,27,53,.55)}.compose-dialog form{display:grid;gap:16px;padding:24px}.compose-dialog header{display:flex;align-items:start;justify-content:space-between}.compose-dialog header p,.compose-dialog header h2{margin:0}.compose-dialog header button{border:0;background:transparent;color:#607590;font-size:1.8rem;cursor:pointer}.compose-dialog label,.reply-form label{display:grid;gap:6px;color:#233f62;font-weight:800}.compose-dialog input,.compose-dialog select,.compose-dialog textarea,.reply-form textarea{width:100%;padding:12px;border:1px solid #cbd8e8;border-radius:11px;background:#fff;color:#183657;font:inherit}.compose-dialog footer{display:flex;justify-content:flex-end;gap:10px}
.message-thread-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px}.message-thread{display:grid;gap:15px}.message-bubble{padding:20px;border:1px solid #dce5f0;border-radius:18px;background:#fff}.message-bubble.own{border-color:#bfd8f6;background:#f4f9ff}.message-bubble header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:center;margin-bottom:15px}.message-bubble header div{display:grid}.message-bubble header small,.message-bubble time{color:#788ba5;font-size:.75rem}.message-bubble>div{color:#314d6e;line-height:1.65}.reply-form,.message-actions{display:grid;gap:14px;padding:20px;border:1px solid #dce5f0;border-radius:18px;background:#fff}.reply-form .btn{justify-self:end}.message-actions{align-content:start}.message-actions h3,.message-actions p{margin:0}.message-actions p{color:#657c9a;font-size:.84rem;line-height:1.5}.btn.danger{border-color:#f2c2ca;background:#fff2f4;color:#bf2941}.oa-selector select{min-height:52px}.oa-selector small{color:#617996}.oa-selected-description{display:grid;gap:5px;margin-top:5px;padding:14px 16px;border:1px solid #bfd8f5;border-radius:11px;background:#f4f9ff;color:#294968;font-weight:500;line-height:1.55}.oa-selected-description[hidden]{display:none}.oa-selected-description strong{color:#075ebd;font-size:.8rem}.oa-selected-description span{overflow-wrap:anywhere}.a11y-theme-dark .oa-selected-description{border-color:#376ba5;background:#183653;color:#e8f4ff}.a11y-theme-dark .oa-selected-description strong{color:#8fc5ff}
.student-oa-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:17px;align-items:start;margin:20px 0;padding:22px;border:2px solid #a9d0ff;border-radius:18px;background:linear-gradient(135deg,#f3f8ff,#eef8ff);box-shadow:0 8px 24px rgba(13,96,194,.08)}.student-oa-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#0873e7;color:#fff}.student-oa-icon .icon{width:28px;height:28px}.student-oa-card p,.student-oa-card h2{margin:0}.student-oa-card h2{margin:4px 0 7px;color:#093a75;font-size:1.05rem}.student-oa-card>div>p:last-child{color:#365675;line-height:1.55}
.a11y-theme-dark .mail-list-card,.a11y-theme-dark .message-bubble,.a11y-theme-dark .reply-form,.a11y-theme-dark .message-actions,.a11y-theme-dark .compose-dialog form{border-color:#334966;background:#172a43;color:#eef5ff}.a11y-theme-dark .mail-row{border-color:#31445e;color:#e5effc}.a11y-theme-dark .mail-row:hover,.a11y-theme-dark .mail-row.unread,.a11y-theme-dark .message-bubble.own{background:#203955}.a11y-theme-dark .compose-dialog input,.a11y-theme-dark .compose-dialog select,.a11y-theme-dark .compose-dialog textarea,.a11y-theme-dark .reply-form textarea{border-color:#466080;background:#10243b;color:#fff}.a11y-theme-dark .student-oa-card{border-color:#376ba5;background:#183653}.a11y-theme-dark .student-oa-card h2,.a11y-theme-dark .student-oa-card>div>p:last-child{color:#e8f4ff}
@media(max-width:800px){.messages-heading .btn{display:none}.mail-layout,.message-thread-layout{grid-template-columns:1fr}.mail-folders{display:grid;grid-template-columns:1fr 1fr}.mail-folders>.btn{grid-column:1/-1}.mail-list-card{border-radius:14px}.mail-row{grid-template-columns:38px minmax(0,1fr);padding:13px}.mail-row>time{display:none}.mail-avatar{width:38px;height:38px}.message-actions{order:-1}.student-oa-card{grid-template-columns:1fr;padding:17px}.student-oa-icon{width:44px;height:44px}.compose-dialog form{padding:18px}}

/* Foro privado por curso */
.forum-course-tabs{display:flex;gap:10px;margin-bottom:20px;padding-bottom:4px;overflow-x:auto}.forum-course-tabs a{display:grid;flex:0 0 auto;min-width:150px;padding:11px 15px;border:1px solid #d6e2f0;border-radius:13px;background:#fff;color:#345474;text-decoration:none;font-weight:800}.forum-course-tabs a small{color:#788da6;font-size:.7rem;font-weight:600}.forum-course-tabs a.active{border-color:#0873e7;background:#edf5ff;color:#0865cb}.forum-board{overflow:hidden;border:1px solid #dae4ef;border-radius:18px;background:#fff;box-shadow:0 8px 26px rgba(21,58,103,.07)}.forum-board>header{display:flex;align-items:center;justify-content:space-between;padding:20px 23px;border-bottom:1px solid #e4ebf3}.forum-board>header p,.forum-board>header h2{margin:0}.forum-board>header>span{color:#6f829c;font-size:.82rem}.forum-topic-list{display:grid}.forum-topic{display:grid;grid-template-columns:46px minmax(0,1fr) 90px;gap:14px;align-items:center;padding:18px 21px;border-bottom:1px solid #e9eef4;color:#274461;text-decoration:none}.forum-topic:hover{background:#f6faff}.forum-topic.closed{opacity:.72}.forum-author-avatar{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#e6f0ff;color:#086bd5;font-weight:900}.forum-topic-main{display:grid;min-width:0;gap:4px}.forum-topic-main>strong{overflow:hidden;color:#173e69;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.forum-topic-main>em{overflow:hidden;color:#5d7490;font-size:.82rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.forum-topic-main>small{color:#8393a8;font-size:.7rem}.forum-pinned{width:max-content;padding:2px 6px;border-radius:5px;background:#fff1b9;color:#755400;font-weight:900}.forum-topic-stats{display:grid;justify-items:center;color:#687e99}.forum-topic-stats b{color:#0870e0;font-size:1.15rem}.forum-topic-stats small,.forum-topic-stats time{font-size:.67rem}.forum-topic-stats time{margin-top:5px}.forum-empty{display:grid;justify-items:center;padding:55px 20px;text-align:center;color:#6d829d}.forum-empty>.icon{width:48px;height:48px;color:#91afd2}.forum-empty h3{margin:10px 0 3px;color:#26496f}.forum-empty p{margin:0 0 18px}.forum-kind-note{margin:0;padding:11px;border-radius:10px;background:#edf6ff;color:#456786;font-size:.78rem}
.forum-thread-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:22px}.forum-thread{display:grid;gap:18px}.forum-question,.forum-answer,.forum-reply,.forum-moderation{padding:21px;border:1px solid #dbe5ef;border-radius:18px;background:#fff}.forum-question>header,.forum-answer>header{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;align-items:center;margin-bottom:17px}.forum-question header div,.forum-answer header div{display:flex;align-items:center;gap:8px}.forum-question time,.forum-answer time{color:#7d8da2;font-size:.72rem}.forum-question>div,.forum-answer>div{color:#304d6d;line-height:1.65}.forum-role{padding:3px 7px;border-radius:99px;background:#eef2f6;color:#62758d;font-size:.65rem}.forum-role.teacher{background:#e5f5ec;color:#087047;font-weight:900}.forum-answers>.section-head{margin:3px 0 12px}.forum-answers>.section-head h2{font-size:1.15rem}.forum-answer{position:relative;margin-bottom:12px}.forum-answer.teacher-answer{border-left:4px solid #12a36b;background:#f8fffb}.forum-answer>form{display:flex;justify-content:flex-end;margin-top:11px}.forum-answer>form button{border:0;background:transparent;color:#b22e43;font-size:.72rem;cursor:pointer}.forum-no-answers{padding:22px;border:1px dashed #cbd9e8;border-radius:14px;color:#71859e;text-align:center}.forum-reply{display:grid;gap:13px}.forum-reply label{display:grid;gap:7px;color:#244563;font-weight:800}.forum-reply textarea{width:100%;padding:13px;border:1px solid #c7d6e7;border-radius:11px;color:#1c3b5f;font:inherit}.forum-reply .btn{justify-self:end}.forum-moderation{display:grid;align-content:start;gap:12px}.forum-moderation h3,.forum-moderation p{margin:0}.forum-moderation p{color:#657d98;font-size:.82rem;line-height:1.5}.forum-moderation form{display:grid;gap:9px}
.a11y-theme-dark .forum-course-tabs a,.a11y-theme-dark .forum-board,.a11y-theme-dark .forum-question,.a11y-theme-dark .forum-answer,.a11y-theme-dark .forum-reply,.a11y-theme-dark .forum-moderation{border-color:#344b68;background:#172a43;color:#eff6ff}.a11y-theme-dark .forum-course-tabs a.active,.a11y-theme-dark .forum-topic:hover,.a11y-theme-dark .forum-answer.teacher-answer{background:#203b59}.a11y-theme-dark .forum-topic{border-color:#30445e;color:#eaf3ff}.a11y-theme-dark .forum-topic-main>strong,.a11y-theme-dark .forum-question>div,.a11y-theme-dark .forum-answer>div{color:#e9f3ff}.a11y-theme-dark .forum-reply textarea{border-color:#46617f;background:#10243b;color:#fff}
@media(max-width:800px){.forum-heading .btn{display:inline-flex}.forum-thread-layout{grid-template-columns:1fr}.forum-moderation{order:-1}.forum-board{border-radius:14px}.forum-topic{grid-template-columns:38px minmax(0,1fr);padding:14px}.forum-topic-stats{display:none}.forum-author-avatar{width:38px;height:38px}.forum-question,.forum-answer,.forum-reply{padding:16px}.forum-question>header,.forum-answer>header{grid-template-columns:38px minmax(0,1fr)}.forum-question time,.forum-answer time{grid-column:2}.mobile-nav a>span,.student-mobile-nav a>span,.student-mobile-nav button>span{font-size:.56rem!important}}

/* OA contextualizado y habilidades de comprensión lectora */
.oa-context-field textarea{min-height:112px;border-color:#9fc6f4;background:#f7fbff}.oa-context-field small,.question-skill-field>small{color:#607997;font-weight:600}.question-skill-field{min-width:0;padding:12px;border:1px solid #cce0f5;border-radius:12px;background:#f5f9ff}.question-skill-field legend{padding:0 5px;color:#173d6b;font-size:.8rem;font-weight:800}.question-skill-options{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:8px}.question-skill-options label{display:flex;align-items:center;gap:8px;min-height:40px;padding:8px 13px!important;border:2px solid transparent;border-radius:10px!important;cursor:pointer;opacity:.66;transition:border-color .18s,box-shadow .18s,opacity .18s}.question-skill-options label:has(input:checked){border-color:currentColor;box-shadow:0 3px 10px rgba(25,72,128,.1);opacity:1}.question-skill-options input{width:17px;height:17px;margin:0;accent-color:#0871db}.question-skill-options span{font-size:.76rem;font-weight:900}
.student-oa-context{color:#244c76!important;font-size:1rem;font-weight:700;line-height:1.6!important}.student-oa-official{margin-top:15px;padding:13px 15px;border-left:4px solid #80b7f4;border-radius:0 10px 10px 0;background:rgba(255,255,255,.72)}.student-oa-official strong{display:block;margin-bottom:4px;color:#315b87;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.student-oa-official p{color:#4a6786;line-height:1.5}.student-reading-skills{display:flex;align-items:center;gap:12px;margin-top:15px;padding-top:13px;border-top:1px solid #c9ddf5}.student-reading-skills>strong{color:#315779;font-size:.78rem}.student-reading-skills>span{display:flex;flex-wrap:wrap;gap:7px}.student-reading-skills b,.question-skill{display:inline-flex!important;width:auto!important;height:auto!important;padding:4px 9px!important;border-radius:99px!important;font-size:.68rem!important;font-weight:900!important;line-height:1.1!important;white-space:nowrap}.skill-localizar{background:#dff1ff!important;color:#08649e!important}.skill-interpretar{background:#e9e4ff!important;color:#6542aa!important}.skill-reflexionar{background:#e3f7ea!important;color:#08734a!important}.activity-page .question-card legend .question-skill{margin-left:auto}.activity-page .question-card legend .question-skill+small{margin-left:0}
.a11y-theme-dark .oa-context-field textarea,.a11y-theme-dark .question-skill-field{border-color:#46698f;background:#172f4d;color:#fff}.a11y-theme-dark .question-skill-field legend{color:#e8f3ff}.a11y-theme-dark .student-oa-context,.a11y-theme-dark .student-oa-official p,.a11y-theme-dark .student-reading-skills>strong{color:#e5f1ff!important}.a11y-theme-dark .student-oa-official{border-color:#5da4ec;background:#102c48}.a11y-theme-dark .student-oa-official strong{color:#9bcaff}.a11y-theme-dark .student-reading-skills{border-color:#3d6289}
.activity-page .question-card legend .question-skills{display:flex;flex-wrap:wrap;gap:5px;margin-left:auto}.activity-page .question-card legend .question-skills+small{margin-left:0}.activity-page .question-card legend .question-skills .question-skill{margin-left:0}
@media(max-width:700px){.student-reading-skills{display:grid;gap:7px}.question-skill-options{display:grid}.activity-page .question-card legend{flex-wrap:wrap}.activity-page .question-card legend .question-skills{margin-left:38px}.activity-page .question-card legend .question-skill+small{margin-left:0}}

.management-oa{display:flex;align-items:flex-start;gap:8px;margin:0 0 8px;color:#54708f;font-size:.76rem}.management-oa strong{flex:0 0 auto;padding:3px 7px;border-radius:6px;background:#e8f2ff;color:#0866c9;white-space:nowrap}.management-objective{display:-webkit-box;overflow:hidden;margin:0 0 11px;color:#59728f;font-size:.8rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}.management-skills{display:grid;gap:6px;margin-bottom:13px}.management-skills>small{color:#71849b;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.management-skills>span{display:flex;flex-wrap:wrap;gap:5px}.management-skills b{padding:4px 7px;border-radius:99px;font-size:.63rem}.a11y-theme-dark .management-objective,.a11y-theme-dark .management-oa{color:#c3d5e9}.a11y-theme-dark .management-oa strong{background:#173f69;color:#9bceff}

/* Acabado móvil final: navegación más cómoda y jerarquía legible. */
@media(max-width:720px){
  body.app-shell.role-estudiante{padding-bottom:calc(86px + env(safe-area-inset-bottom))}
  .mobile-nav.student-mobile-nav{height:76px;min-height:76px;padding:8px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -7px 22px rgba(21,53,95,.11)}
  .student-mobile-nav a,.student-mobile-nav button{min-height:54px;gap:5px;padding:5px;font-size:.7rem}
  .student-mobile-nav a>span,.student-mobile-nav button>span{font-size:.7rem!important;font-weight:600;line-height:1.1}
  .student-mobile-nav a .icon,.student-mobile-nav button .icon,.student-mobile-nav .icon{width:22px;height:22px;stroke-width:1.8}
  .student-mobile-nav a.active:before{top:-8px;height:3px;border-radius:0 0 4px 4px}
  .activity-page .form-actions{bottom:88px}
  .activity-page .reading-aids-launcher{bottom:90px}
  .neuro-accessibility-launcher{bottom:90px}
  .pwa-install-banner{bottom:90px}
}

/* Mensajes y foro móvil: separación de la onda y modales centrados. */
.compose-dialog[open]{position:fixed;inset:50% auto auto 50%;max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);margin:0;overflow:auto;transform:translate(-50%,-50%)}
@media(max-width:720px){
  .role-estudiante .main-content>.page-heading{margin-top:20px}
  .role-estudiante .main-content>.profile-page{padding-top:24px}
}

/* Tarjeta completada compacta en teléfonos angostos. */
@media(max-width:519px){
  .student-dashboard .reading-card{height:164px;min-height:164px}
  .student-dashboard .reading-card .reading-cover-frame{width:86px;height:126px;border-radius:12px}
  .student-dashboard .reading-card .reading-cover{width:100%;height:100%;border-radius:12px;object-fit:cover}
  .student-dashboard .reading-card:not(.completada){grid-template-columns:86px minmax(0,1fr);gap:14px}
  .student-dashboard .reading-card:not(.completada) .btn{align-self:flex-end;width:min(190px,100%);min-height:40px;margin-top:auto;padding-inline:12px}
  .student-dashboard .reading-card.completada{position:relative;grid-template-columns:86px minmax(0,1fr);grid-template-rows:1fr;align-items:stretch;gap:14px;padding:9px 10px}
  .student-dashboard .reading-card.completada .reading-cover-frame{grid-column:1;grid-row:1;align-self:center;width:86px;height:126px}
  .student-dashboard .reading-card.completada .reading-card-content{grid-column:2;grid-row:1;align-self:start;padding:0 58px 0 0}
  .student-dashboard .reading-card.completada .completed-type{gap:5px;font-size:.6rem}
  .student-dashboard .reading-card.completada .completed-type .reading-day{padding:4px 6px;font-size:.61rem}
  .student-dashboard .reading-card.completada h3{margin:5px 0 4px;font-size:.92rem}
  .student-dashboard .reading-card.completada .meta{flex-flow:row wrap;gap:3px 7px}
  .student-dashboard .reading-card.completada .completed-state-badge{display:none}
  .student-dashboard .reading-card.completada .completed-date,.student-dashboard .reading-card.completada .completed-duration{font-size:.55rem}
  .student-dashboard .reading-card.completada .completed-date .icon,.student-dashboard .reading-card.completada .completed-duration .icon{width:12px;height:12px}
  .student-dashboard .reading-card.completada .completed-score{position:absolute;z-index:2;top:22px;right:10px;width:50px;height:50px;margin:0;transform:none}
  .student-dashboard .reading-card.completada .completed-score:before{inset:6px}
  .student-dashboard .reading-card.completada .completed-score strong{font-size:1rem}
  .student-dashboard .reading-card.completada .completed-side{grid-column:2;grid-row:1;align-self:end;grid-template-columns:minmax(0,1fr) minmax(96px,42%);grid-template-rows:50px;align-items:stretch;width:100%;gap:7px;transform:none}
  .student-dashboard .reading-card.completada .completed-achievement{grid-template-columns:28px minmax(0,1fr);gap:8px;min-height:50px;padding:7px 10px}
  .student-dashboard .reading-card.completada .completed-achievement>span:last-child{min-width:0;overflow:visible}
  .student-dashboard .reading-card.completada .achievement-symbol .icon{width:21px;height:21px}
  .student-dashboard .reading-card.completada .completed-achievement strong{font-size:.66rem}
  .student-dashboard .reading-card.completada .completed-achievement small{font-size:.54rem}
  .student-dashboard .reading-card.completada .completed-result{width:100%;min-height:50px;padding:8px 11px;font-size:.7rem}
  .student-dashboard .reading-card.completada .completed-result-arrow{font-size:1rem}
}

@media(max-width:720px){
  .student-dashboard .cover-book-badge{display:none!important}
}

@media(min-width:520px) and (max-width:720px){
  .student-dashboard .reading-card,.student-dashboard .reading-card.completada,.student-dashboard .reading-card:not(.completada){height:174px;min-height:174px}
  .student-dashboard .reading-card .reading-cover-frame{width:112px;height:148px}
  .student-dashboard .reading-card .reading-cover{width:100%;height:100%;object-fit:cover}
  .student-dashboard .reading-card:not(.completada){grid-template-columns:112px minmax(0,1fr)}
  .student-dashboard .reading-card.completada{position:relative;grid-template-columns:108px minmax(0,1fr);grid-template-rows:1fr;align-items:stretch;gap:14px;padding:10px 11px}
  .student-dashboard .reading-card.completada .reading-cover-frame{grid-column:1;grid-row:1;align-self:center;justify-self:center;width:108px;height:146px}
  .student-dashboard .reading-card.completada .reading-card-content{grid-column:2;grid-row:1;align-self:start;min-width:0;padding:1px 62px 0 0}
  .student-dashboard .reading-card.completada .completed-type{gap:6px;font-size:.63rem}
  .student-dashboard .reading-card.completada .completed-type .reading-day{padding:4px 7px;font-size:.64rem}
  .student-dashboard .reading-card.completada h3{margin:6px 0 4px;font-size:1rem}
  .student-dashboard .reading-card.completada .meta{flex-flow:row wrap;gap:3px 8px}
  .student-dashboard .reading-card.completada .completed-state-badge{display:none}
  .student-dashboard .reading-card.completada .completed-date,.student-dashboard .reading-card.completada .completed-duration{font-size:.57rem}
  .student-dashboard .reading-card.completada .completed-score{position:absolute;z-index:2;top:24px;right:11px;width:52px;height:52px;margin:0;transform:none}
  .student-dashboard .reading-card.completada .completed-score:before{inset:6px}
  .student-dashboard .reading-card.completada .completed-score strong{font-size:1.02rem}
  .student-dashboard .reading-card.completada .completed-side{display:grid;grid-column:2;grid-row:1;align-self:end;grid-template-columns:minmax(0,1fr) 132px;grid-template-rows:50px;align-items:stretch;width:100%;gap:8px;transform:none}
  .student-dashboard .reading-card.completada .completed-achievement{grid-template-columns:29px minmax(0,1fr);gap:8px;min-height:50px;padding:7px 10px}
  .student-dashboard .reading-card.completada .completed-achievement strong{font-size:.68rem}
  .student-dashboard .reading-card.completada .completed-achievement small{font-size:.56rem}
  .student-dashboard .reading-card.completada .completed-result{width:132px;min-height:50px;padding:8px 12px;font-size:.7rem}
}

/* El porcentaje queda anclado dentro de su propia tarjeta móvil. */
@media(max-width:720px){
  .student-dashboard .reading-card.completada{position:relative!important;isolation:isolate}
  .student-dashboard .reading-card.completada>.completed-score{position:absolute!important;inset:14px 11px auto auto!important;grid-column:auto!important;grid-row:auto!important;margin:0!important;transform:none!important}
  .student-dashboard .reading-card.completada>.completed-score strong{font-size:.78rem!important;letter-spacing:-.04em}
  .role-estudiante .main-content>.student-dashboard{padding-top:20px}
}

/* Revisión de las respuestas entregadas por el estudiante. */
.result-detail-page{max-width:820px}
.result-response-review{margin-top:34px;padding-top:28px;border-top:1px solid #dce5ef;text-align:left}
.result-response-review>header{text-align:center}
.result-response-review>header h2{margin:3px 0 7px;color:#092d66}
.result-response-review>header>p:last-child{margin:0;color:#687b96;font-size:.86rem}
.result-response-list{display:grid;gap:14px;margin:22px 0 0;padding:0;list-style:none}
.result-response-item{padding:18px;border:1px solid #d7e3ef;border-left:5px solid #8ca1ba;border-radius:15px;background:#fbfdff}
.result-response-item.is-correct{border-left-color:#0aa174}
.result-response-item.is-incorrect{border-left-color:#d74858}
.result-response-item.is-pending{border-left-color:#e3a817}
.result-response-question{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:11px}
.result-response-question>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e8f2ff;color:#0867ce;font-size:.78rem;font-weight:850}
.result-response-question h3{margin:4px 0 0;color:#123966;font-size:1rem;line-height:1.35}
.result-response-state{align-self:center;padding:5px 9px;border-radius:99px;background:#eef2f6;color:#60738c;font-size:.66rem;white-space:nowrap}
.is-correct .result-response-state{background:#e3f7ee;color:#08744e}
.is-incorrect .result-response-state{background:#fee9ec;color:#a72c3b}
.is-pending .result-response-state{background:#fff4cf;color:#785900}
.result-answer-box{margin:14px 0 0 45px;padding:12px 14px;border:1px solid #dce7f2;border-radius:11px;background:#fff}
.result-answer-box.expected{border-color:#bde4d3;background:#f1fbf7}
.result-answer-box small{display:block;margin-bottom:3px;color:#687f9b;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.result-answer-box p{margin:0;color:#173f6c;font-size:.88rem;line-height:1.5}
.result-response-item>footer{display:flex;justify-content:space-between;gap:12px;margin:12px 0 0 45px;color:#6b7f97;font-size:.7rem}
.result-back-button{margin-top:26px}
body.a11y-theme-dark .result-response-review{border-color:#425b79}
body.a11y-theme-dark .result-response-review>header h2,body.a11y-theme-dark .result-response-question h3{color:#fff}
body.a11y-theme-dark .result-response-review>header>p:last-child,body.a11y-theme-dark .result-response-item>footer{color:#c7d5e7}
body.a11y-theme-dark .result-response-item,body.a11y-theme-dark .result-answer-box{border-color:#49627f;background:#142a44}
body.a11y-theme-dark .result-answer-box p{color:#f1f6ff}
@media(max-width:600px){
  .result-detail-page{padding-inline:16px}
  .result-response-review{margin-top:27px;padding-top:23px}
  .result-response-item{padding:14px 12px}
  .result-response-question{grid-template-columns:31px minmax(0,1fr);gap:9px}
  .result-response-question>span{width:29px;height:29px}
  .result-response-question h3{font-size:.9rem}
  .result-response-state{grid-column:2;justify-self:start}
  .result-answer-box,.result-response-item>footer{margin-left:40px}
  .result-response-item>footer{align-items:flex-start;flex-direction:column;gap:4px}
}

/* Flujo de incorporación y gestión de colegios del superadministrador. */
.platform-workflow-heading{margin:30px 0 4px}.platform-workflow-heading h2{margin:3px 0 6px;color:var(--blue-950)}.platform-workflow-heading>p:last-child{color:var(--muted)}
.workflow-card{position:relative;margin:12px 0}.workflow-card-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.workflow-card-head>span{display:grid;place-items:center;flex:0 0 auto;width:39px;height:39px;border-radius:50%;background:var(--blue-800);color:#fff;font-size:1.05rem;font-weight:800;box-shadow:0 6px 14px rgba(10,68,145,.18)}.workflow-card-head small{color:var(--blue-600);font-size:.62rem;font-weight:800;letter-spacing:.1em}.workflow-card-head h2{margin:1px 0 0}.workflow-card .btn .icon{width:19px;height:19px}.workflow-card .btn:disabled{cursor:not-allowed;opacity:.52;box-shadow:none}
.superadmin-create-form .form-grid{align-items:start}.superadmin-create-form .form-grid label{align-content:start}.superadmin-create-form>.btn{margin-top:22px}
.school-row-actions{display:flex;align-items:center;gap:7px;white-space:nowrap}.school-row-actions form{margin:0}.school-row-actions .btn{min-height:36px;padding:7px 10px;font-size:.7rem}.btn.danger-outline{border-color:#efb6bf;background:#fff5f6;color:#a62d3d;box-shadow:none}.btn.danger-outline:hover{background:#ffe9ec}
.school-edit-dialog{position:fixed;inset:0;width:min(560px,calc(100% - 28px));max-height:calc(100vh - 28px);margin:auto;overflow:auto;text-align:left}.school-edit-dialog>form{display:grid;gap:15px}.school-edit-dialog h2,.school-edit-dialog p{max-width:none;text-align:left}.school-edit-dialog .dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:5px}.school-edit-dialog .check-row{display:flex;grid-template-columns:none;align-items:center;gap:9px}.school-edit-dialog .check-row input{width:18px;height:18px;margin:0;accent-color:var(--blue-800)}
.reading-scope{padding:18px;border:1px solid var(--line);border-radius:14px;background:#f8fbff}.scope-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 16px}.scope-options label{display:flex;align-items:center;gap:10px;min-height:52px;padding:11px 13px;border:1px solid #cbd8e8;border-radius:11px;background:#fff;cursor:pointer;font-weight:700}.scope-options label:has(input:checked){border-color:var(--blue-600);background:var(--blue-100);box-shadow:0 0 0 2px rgba(23,105,210,.1)}.scope-options input[type=radio]{appearance:none;display:grid;place-items:center;flex:0 0 auto;width:20px;height:20px;margin:0;border:2px solid #8fa1b8;border-radius:50%;background:#fff}.scope-options input[type=radio]:checked{border:6px solid var(--blue-600)}
.school-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 28px}.school-overview-grid .stat-card{min-height:94px}.school-detail-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
@media(min-width:1001px){.platform-forms,.admin-workflow-forms{grid-template-columns:1fr 1.35fr}}
@media(max-width:720px){.platform-workflow-heading{margin-top:22px}.workflow-card{padding:19px 15px}.school-edit-dialog .form-grid{grid-template-columns:1fr}.school-edit-dialog .span-2{grid-column:auto}.school-edit-dialog .dialog-actions .btn{flex:1}.school-row-actions{white-space:normal}.scope-options{grid-template-columns:1fr}.school-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Destacador personal y temporal para la lectura del estudiante. */
.activity-page .reader-highlighter{position:sticky;z-index:8;top:92px;display:flex;align-items:center;gap:6px;width:max-content;max-width:calc(100% - 8px);margin:0 0 10px auto;padding:6px;border:1px solid #c7d9ed;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 8px 20px rgba(18,59,110,.13);backdrop-filter:blur(8px)}
.reader-highlighter button{border:0;cursor:pointer}.reader-tool{display:flex;align-items:center;gap:6px;min-height:38px;padding:6px 10px;border-radius:10px;background:#edf3fa;color:#496581}.reader-tool b{font-size:.7rem}.reader-tool.is-active,.reader-tool-meaning.is-active{background:#fff2a9;color:#594300;box-shadow:inset 0 0 0 1px #f3d552}.reader-marker-icon{width:19px;height:19px;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.reader-meaning-icon{display:grid;place-items:center;width:21px;height:21px;border:1.5px solid currentColor;border-radius:7px;font-size:.58rem;font-weight:900;letter-spacing:-.06em}.reader-highlighter-clear{display:grid;place-items:center;width:auto;height:34px;padding:0 9px;border-radius:9px!important;background:#edf3fa;color:#55708f;font-size:.63rem;font-weight:700}.reader-highlighter-clear:hover{background:#ffe9ec;color:#a52e3d}.reader-highlighter small{position:absolute;right:0;top:calc(100% + 5px);display:none;width:245px;padding:7px 9px;border:1px solid #d3dfec;border-radius:9px;background:#fff;color:#506986;font-size:.6rem;line-height:1.35;box-shadow:0 5px 14px rgba(18,59,110,.13)}.reader-highlighter:focus-within small,.reader-highlighter:hover small{display:block}
.reader-highlight-word{position:relative;border-radius:3px;-webkit-tap-highlight-color:transparent}.reader-highlight-word:before{content:"";position:absolute;inset:-5px -4px}.reading-text.highlight-mode,.reading-text.highlight-mode .reading-line,.reading-text.highlight-mode .reader-highlight-word,.reading-text.meaning-mode,.reading-text.meaning-mode .reading-line,.reading-text.meaning-mode .reader-highlight-word{cursor:pointer;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;-webkit-tap-highlight-color:transparent}.reading-text.highlight-mode,.reading-text.meaning-mode{touch-action:pan-y}.reading-text.meaning-mode .reader-highlight-word:hover{background:#e8f2ff;color:#075bbd}.reader-highlight-word.is-highlighted{padding:1px 2px;margin:0 -2px;background:linear-gradient(transparent 12%,#ffe56b 12% 91%,transparent 91%);color:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}.reader-highlight-word.is-meaning-selected{padding:1px 2px;margin:0 -2px;background:#cde5ff;color:#063e7d;box-shadow:0 0 0 2px rgba(8,112,223,.2);animation:reader-meaning-selection .9s ease-out}
.reader-definition-dialog{position:fixed;inset:0;width:min(430px,calc(100% - 28px));max-height:min(620px,calc(100dvh - 36px));margin:auto;padding:0;border:0;border-radius:20px;background:#fff;color:#102f55;box-shadow:0 24px 70px rgba(4,32,68,.3);overflow:hidden}.reader-definition-dialog::backdrop{background:rgba(8,34,67,.5);backdrop-filter:blur(2px)}.reader-definition-dialog header{display:flex;align-items:center;gap:11px;padding:18px 18px 14px;border-bottom:1px solid #e0eaf4}.reader-definition-symbol{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:13px;background:#e8f2ff;color:#075bbd;font-size:.9rem;font-weight:900}.reader-definition-dialog header div{min-width:0;flex:1}.reader-definition-dialog header small{display:block;color:#1873cf;font-size:.58rem;font-weight:900;letter-spacing:.12em}.reader-definition-dialog h2{margin:1px 0 0;color:#082f67;font-size:1.35rem;overflow-wrap:anywhere}.reader-definition-dialog header button{align-self:flex-start;width:34px;height:34px;border:0;border-radius:50%;background:#edf3fa;color:#54708d;font-size:1.35rem;line-height:1;cursor:pointer}.reader-definition-content{min-height:112px;max-height:360px;padding:18px 21px;overflow:auto}.reader-definition-content p{margin:8px 0;color:#58718d;text-align:center}.reader-definition-content p.is-loading{animation:reader-definition-loading 1.15s ease-in-out infinite}.reader-definition-content p.is-error{color:#a52e3d}.reader-definition-content ol{display:grid;gap:12px;margin:0;padding-left:24px}.reader-definition-content li{padding-left:4px;color:#213f61;line-height:1.55}.reader-definition-content li::marker{color:#0874db;font-weight:900}.reader-definition-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px 17px;border-top:1px solid #e0eaf4;background:#f8fbfe}.reader-definition-dialog footer a{color:#55708f;font-size:.67rem;font-weight:700}.reader-definition-dialog footer .btn{min-height:38px;padding:8px 16px}@keyframes reader-definition-loading{50%{opacity:.45}}@keyframes reader-meaning-selection{0%{transform:scale(.96)}35%{transform:scale(1.05)}100%{transform:scale(1)}}
body.a11y-theme-dark .activity-page .reader-highlighter{border-color:#456483;background:rgba(16,38,64,.96)}body.a11y-theme-dark .reader-highlighter small{border-color:#456483;background:#102640;color:#e5f1ff}body.a11y-theme-dark .reader-tool{background:#1e3d5d;color:#d8e9fa}body.a11y-theme-dark .reader-tool.is-active,body.a11y-theme-dark .reader-tool-meaning.is-active{background:#735f08;color:#fff4b2}body.a11y-theme-dark .reader-highlight-word.is-highlighted{background:linear-gradient(transparent 12%,#b58c00 12% 91%,transparent 91%);color:#fff}body.a11y-theme-dark .reader-definition-dialog{background:#102640;color:#e5f1ff}body.a11y-theme-dark .reader-definition-dialog h2,body.a11y-theme-dark .reader-definition-content li{color:#f1f7ff}body.a11y-theme-dark .reader-definition-dialog header,body.a11y-theme-dark .reader-definition-dialog footer{border-color:#365675}body.a11y-theme-dark .reader-definition-dialog footer{background:#0c2037}
@media(max-width:720px){.activity-page .reader-highlighter{top:84px;margin-bottom:12px;gap:4px;padding:5px}.reader-tool{gap:5px;padding:5px 8px}.reader-tool b{font-size:.62rem}.reader-marker-icon{width:17px;height:17px}.reader-meaning-icon{width:19px;height:19px}.reader-highlighter-clear{padding:0 7px;font-size:.59rem}.reader-highlighter small{display:none!important}.reader-definition-dialog{width:calc(100% - 22px);border-radius:18px}.reader-definition-dialog header{padding:15px}.reader-definition-content{padding:17px}.reader-definition-dialog footer{padding:12px 15px 15px}}

/* Centro de control exclusivo del superadministrador. */
.role-superadministrador .main-content{max-width:1680px;background:linear-gradient(180deg,#f8fbff 0,#f5f8fc 100%)}.role-superadministrador .main-content>*{max-width:1360px}
.superadmin-dashboard{font-family:"Nunito","Segoe UI",sans-serif;color:#102f60}.superadmin-dashboard h1,.superadmin-dashboard h2,.superadmin-dashboard h3{font-family:inherit}
.superadmin-dashboard .superadmin-hero{min-height:190px;margin-bottom:18px;padding:34px 36px;background:radial-gradient(circle at 72% 30%,rgba(22,120,224,.55),transparent 28%),linear-gradient(115deg,#0c4d9f,#063674 72%,#092b63);box-shadow:0 14px 34px rgba(7,51,109,.16)}
.superadmin-dashboard .superadmin-hero:before{content:"";position:absolute;right:17%;bottom:-80px;width:220px;height:220px;border:38px solid rgba(255,201,40,.13);border-radius:50%}.superadmin-dashboard .superadmin-hero:after{right:-48px;top:-112px;border-color:rgba(31,126,226,.23)}
.superadmin-dashboard .superadmin-hero h1{font-size:2.15rem}.superadmin-dashboard .superadmin-hero p:not(.eyebrow){max-width:600px}.superadmin-dashboard .hero-action{background:var(--yellow);color:#0a376f;box-shadow:0 10px 22px rgba(3,29,67,.2)}
.superadmin-dashboard .platform-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}.superadmin-dashboard .platform-stats .stat-card{min-width:0;min-height:124px;padding:20px 22px;background:#fff;gap:16px;box-shadow:0 5px 18px rgba(17,59,111,.045)}
.superadmin-dashboard .stat-icon-box{flex:0 0 auto}.superadmin-dashboard .platform-stats .stat-card>div{min-width:0}.superadmin-dashboard .platform-stats .stat-card strong{font-size:1.7rem;line-height:1}.superadmin-dashboard .platform-stats .stat-card small{margin-top:5px;color:#173c71;font-size:.78rem;font-weight:800;line-height:1.25}.superadmin-dashboard .platform-stats .stat-card em,.superadmin-dashboard .platform-stats .stat-card a{display:flex;align-items:center;gap:3px;margin-top:5px;color:#68809e;font-size:.65rem;font-style:normal;line-height:1.2}.superadmin-dashboard .platform-stats .stat-card a{color:#0b67cf;font-weight:800}.superadmin-dashboard .platform-stats .stat-card a .icon{width:12px}.superadmin-dashboard .platform-stats .needs-attention{border-color:#f1d797;background:#fffdf5}
.stat-icon-box.violet,.quick-icon.violet{background:#f0e8ff;color:#7546d4}.stat-icon-box.yellow{background:#fff3c4;color:#9b6d00}.stat-icon-box.cyan{background:#e0f5fa;color:#08768e}
.superadmin-insights,.superadmin-operations,.superadmin-footer-grid{display:grid;grid-template-columns:1.35fr .9fr;gap:18px;margin-bottom:18px}.superadmin-operations{grid-template-columns:1fr 1fr}.superadmin-footer-grid{grid-template-columns:1fr 1fr;margin-top:18px}
.superadmin-card,.onboarding-panel,.management-table-section{overflow:hidden;border:1px solid #d9e4f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(17,59,111,.04)}.superadmin-card>header,.management-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 20px 0}.superadmin-card header h2,.management-heading h2{margin:0 0 4px;color:#0d356d;font-size:1.12rem}.superadmin-card header p,.management-heading p{margin:0;color:#6d84a2;font-size:.73rem}.period-chip{padding:7px 10px;border:1px solid #cfdded;border-radius:8px;color:#42658d;font-size:.67rem;font-weight:800;white-space:nowrap}
.bar-chart{height:220px;margin:10px 20px 18px;padding:25px 8px 0;display:grid;grid-template-columns:repeat(6,1fr);gap:16px;border-bottom:1px solid #d8e4f1;background:repeating-linear-gradient(to bottom,transparent 0,transparent 43px,#e9eff6 44px)}.bar-column{display:grid;grid-template-rows:1fr auto;align-items:end;justify-items:center;position:relative}.bar-column>strong{position:absolute;bottom:calc(var(--bar-height,0%) + 27px);font-size:.67rem}.bar-column>span{width:min(48px,72%);height:var(--bar-height);min-height:7px;border-radius:5px 5px 0 0;background:linear-gradient(#66adfa,#2f83e5);box-shadow:0 4px 10px rgba(42,128,226,.14)}.bar-column>small{padding-top:8px;color:#68809f;font-size:.68rem}
.users-chart-body{min-height:235px;display:grid;grid-template-columns:150px 1fr;align-items:center;gap:24px;padding:12px 20px 22px}.users-donut{width:145px;height:145px;padding:18px;border-radius:50%;background:conic-gradient(#1672df 0 var(--students),#2fb78e var(--students) var(--teachers),#7a4cdd var(--teachers) var(--admins),#f47732 var(--admins) 100%)}.users-donut>span{display:grid;place-items:center;align-content:center;width:100%;height:100%;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #eef3f8}.users-donut strong{font-size:1.7rem;line-height:1}.users-donut small{color:#6e83a0;font-size:.67rem}.users-legend{display:grid;gap:12px}.users-legend>div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:.7rem}.users-legend i{width:10px;height:10px;border-radius:50%;background:#1672df}.users-legend i.teacher{background:#2fb78e}.users-legend i.admin{background:#7a4cdd}.users-legend i.other{background:#f47732}.users-legend strong{color:#173b70}.users-legend strong small{color:#7689a4;font-weight:600}
.quick-management-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 18px 18px}.quick-management-grid>a{min-width:0;display:grid;grid-template-columns:42px 1fr 16px;align-items:center;gap:10px;padding:12px;border:1px solid #dde7f2;border-radius:11px;transition:.16s ease}.quick-management-grid>a:hover{border-color:#8fbae9;transform:translateY(-1px);box-shadow:0 6px 13px rgba(20,83,155,.07)}.quick-management-grid>a>.icon{width:16px;color:#3a78bc}.quick-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:10px}.quick-icon .icon{width:22px}.quick-icon.green{background:#e4f6ef;color:#11936b}.quick-icon.blue{background:#e5f1ff;color:#146fd6}.quick-icon.orange{background:#fff0e4;color:#ef6c27}.quick-management-grid strong,.quick-management-grid small{display:block}.quick-management-grid strong{font-size:.74rem}.quick-management-grid small{margin-top:3px;color:#7185a1;font-size:.62rem;line-height:1.25}
.status-online{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:99px;background:#e2f7ed;color:#087451;font-size:.62rem;font-weight:800}.status-online i,.attention-dot{width:8px;height:8px;border-radius:50%;background:#18ad78}.attention-list{padding:10px 18px 16px}.attention-list>a{display:grid;grid-template-columns:10px 1fr auto 15px;align-items:center;gap:10px;min-height:47px;border-bottom:1px solid #e5ebf3}.attention-list>a:last-child{border:0}.attention-list>a>.icon{width:14px;color:#7890ad}.attention-list strong,.attention-list small{display:block}.attention-list strong{font-size:.7rem}.attention-list small{color:#7285a0;font-size:.61rem}.attention-list b{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;border-radius:8px;background:#edf4fc;color:#165ea9;font-size:.68rem}.attention-dot.warning{background:#f4ad20;box-shadow:0 0 0 4px #fff3d7}.attention-dot.neutral{background:#899bb2}.attention-dot.ok{box-shadow:0 0 0 4px #e3f7ef}
.onboarding-panel{margin-bottom:18px;padding:18px}.onboarding-panel>header{display:flex;align-items:center;justify-content:space-between}.onboarding-panel>header h2{margin:0 0 4px;font-size:1.12rem}.onboarding-panel>header p:last-child{margin:0;color:#6d84a2;font-size:.72rem}.onboarding-order{display:flex;align-items:center}.onboarding-order b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#0d60be;color:#fff;font-size:.7rem}.onboarding-order i{width:38px;height:2px;background:#bcd3ed}.superadmin-dashboard .platform-forms{margin:14px 0 0;gap:12px}.superadmin-dashboard details.workflow-card{margin:0;padding:0;border-radius:12px;box-shadow:none}.superadmin-dashboard details.workflow-card summary{display:grid;grid-template-columns:38px 1fr 20px;align-items:center;gap:11px;padding:14px;cursor:pointer;list-style:none}.superadmin-dashboard details.workflow-card summary::-webkit-details-marker{display:none}.superadmin-dashboard details.workflow-card summary>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e6f1ff;color:#1266c7;font-weight:900}.superadmin-dashboard details.workflow-card summary strong,.superadmin-dashboard details.workflow-card summary small,.superadmin-dashboard details.workflow-card summary em{display:block}.superadmin-dashboard details.workflow-card summary strong{font-size:.8rem}.superadmin-dashboard details.workflow-card summary small{color:#1770d4;font-size:.57rem;font-weight:900;letter-spacing:.08em}.superadmin-dashboard details.workflow-card summary em{color:#7186a1;font-size:.62rem;font-style:normal}.superadmin-dashboard details.workflow-card summary>.icon{width:17px;transition:transform .16s}.superadmin-dashboard details.workflow-card[open] summary>.icon{transform:rotate(45deg)}.superadmin-dashboard details.workflow-card form{padding:4px 15px 16px;border-top:1px solid #e7edf4}.superadmin-dashboard details.workflow-card .form-grid{margin-top:14px}
.management-table-section{margin-bottom:18px;scroll-margin-top:95px}.management-heading{align-items:center;padding:16px 20px}.table-search{display:flex;align-items:center;gap:8px;width:min(230px,100%);padding:0 10px;border:1px solid #cedcea;border-radius:9px;background:#fff}.table-search .icon{width:15px;color:#5e82aa}.table-search input{min-width:0;width:100%;height:36px;border:0;outline:0;color:#24466f;font-size:.68rem}.superadmin-dashboard .management-table-section .table-wrap{margin:0;border:0;border-top:1px solid #e1e9f2;border-radius:0;box-shadow:none}.superadmin-dashboard .management-table-section table{font-size:.7rem}.superadmin-dashboard .management-table-section th{background:#f7faff;color:#52729a;font-size:.58rem;letter-spacing:.03em}.superadmin-dashboard .management-table-section td{padding-top:12px;padding-bottom:12px}.superadmin-dashboard .primary-outline{border-color:#2881ea;color:#0961c4}.school-name-link{display:block;color:#103a72}.school-name-link small{display:flex;align-items:center;gap:5px;margin-top:3px;color:#1670d1;font-size:.61rem;font-weight:800}.school-name-link small .icon{width:12px}.table-no-results td{text-align:center!important;color:#71849e!important;padding:25px!important}
.recent-activity>div{padding:10px 18px 15px}.recent-activity article{display:flex;align-items:center;gap:10px;min-height:49px;border-bottom:1px solid #e5ebf3}.recent-activity article:last-child{border:0}.recent-activity article .quick-icon{width:31px;height:31px;border-radius:8px}.recent-activity article .quick-icon .icon{width:17px}.recent-activity article>span:nth-child(2){min-width:0;flex:1}.recent-activity article strong,.recent-activity article small{display:block}.recent-activity article strong{font-size:.7rem}.recent-activity article small{overflow:hidden;color:#71849e;font-size:.6rem;text-overflow:ellipsis;white-space:nowrap}.recent-activity time{color:#71849e;font-size:.6rem}.network-message{min-height:260px;display:flex;align-items:center;gap:22px;padding:30px;background:radial-gradient(circle at 80% 10%,#fff 0,transparent 38%),linear-gradient(125deg,#ddecff,#f8fbff);border:1px solid #d8e7f7;border-radius:16px}.network-message .network-book{display:grid;place-items:center;flex:0 0 auto;width:95px;height:95px;border-radius:50%;background:#fff;color:#0d67ca;box-shadow:0 12px 25px rgba(15,88,169,.13)}.network-message .network-book .icon{width:50px;height:50px}.network-message .eyebrow{color:#1670d1}.network-message h2{margin:0 0 10px;font-size:1.35rem}.network-message p:last-child{margin:0;color:#5d789b;font-size:.72rem}
@media(max-width:1300px){.superadmin-insights{grid-template-columns:1.2fr .9fr}}
@media(max-width:1100px){.superadmin-dashboard .platform-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1000px){.superadmin-insights,.superadmin-operations,.superadmin-footer-grid{grid-template-columns:1fr}.superadmin-dashboard .platform-forms{grid-template-columns:1fr 1fr}.network-message{min-height:220px}}
@media(max-width:720px){.role-superadministrador .main-content{padding-left:12px;padding-right:12px}.superadmin-dashboard .superadmin-hero{min-height:210px;padding:25px 20px;align-items:flex-start}.superadmin-dashboard .superadmin-hero h1{font-size:1.72rem}.superadmin-dashboard .hero-action{position:absolute;left:20px;bottom:20px;min-height:42px}.superadmin-dashboard .platform-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.superadmin-dashboard .platform-stats .stat-card{min-height:112px;padding:13px 11px;gap:9px}.superadmin-dashboard .platform-stats .stat-card strong{font-size:1.45rem}.superadmin-dashboard .platform-stats .stat-icon-box{width:40px;height:40px}.superadmin-insights,.superadmin-operations,.superadmin-footer-grid{gap:12px}.bar-chart{height:190px;gap:8px;margin-left:10px;margin-right:10px}.users-chart-body{grid-template-columns:120px 1fr;gap:12px;padding-left:14px;padding-right:14px}.users-donut{width:115px;height:115px;padding:15px}.quick-management-grid{grid-template-columns:1fr}.onboarding-panel>header{align-items:flex-start}.onboarding-order{display:none}.superadmin-dashboard .platform-forms{grid-template-columns:1fr}.management-heading{align-items:flex-start;flex-direction:column}.table-search{width:100%}.network-message{align-items:flex-start;padding:23px}.network-message .network-book{width:65px;height:65px}.network-message .network-book .icon{width:34px}.neuro-accessibility-launcher{bottom:86px}}

/* Selector visual de colegios del superadministrador. */
.school-switcher{margin:0 0 18px;padding:20px;border:1px solid #d9e4f0;border-radius:16px;background:#fff;box-shadow:0 6px 20px rgba(17,59,111,.04);scroll-margin-top:100px}.school-switcher>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.school-switcher>header h2{margin:0 0 4px;color:#0d356d;font-size:1.12rem}.school-switcher>header p:last-child{margin:0;color:#6d84a2;font-size:.73rem}.school-switcher-count{flex:0 0 auto;padding:7px 11px;border:1px solid #cfdded;border-radius:99px;background:#f6faff;color:#42658d;font-size:.67rem;font-weight:800}.school-switcher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.school-switcher-button{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) auto 16px;align-items:center;gap:11px;min-height:70px;padding:12px 13px;border:1px solid #dce6f1;border-radius:12px;background:#fbfdff;color:#123b70;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.school-switcher-button:hover{border-color:#69a4e6;background:#fff;box-shadow:0 8px 18px rgba(18,86,163,.1);transform:translateY(-2px)}.school-switcher-button>.icon{width:16px;color:#397bbf}.school-switcher-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#e6f2ff;color:#146fce}.school-switcher-icon .icon{width:22px}.school-switcher-copy{min-width:0}.school-switcher-copy strong,.school-switcher-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.school-switcher-copy strong{font-size:.77rem}.school-switcher-copy small{margin-top:3px;color:#7387a2;font-size:.62rem}.school-switcher-status{padding:4px 7px;border-radius:99px;font-size:.58rem;font-weight:900}.school-switcher-status.is-active{background:#e2f7ed;color:#087451}.school-switcher-status.is-inactive{background:#f1f3f6;color:#68788c}.school-switcher-empty{margin:0;padding:18px;border:1px dashed #cbd9e7;border-radius:11px;color:#6d84a2;text-align:center;font-size:.75rem}
.school-switcher>header h1{margin:0 0 4px;color:#0d356d;font-size:1.35rem}.school-switcher-button:focus-visible{outline:3px solid rgba(22,114,223,.28);outline-offset:2px}.school-switcher-actions{display:flex;align-items:center;justify-content:flex-end;gap:11px}.school-switcher-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;white-space:nowrap}.school-switcher-actions .btn .icon{width:18px;height:18px}
@media(max-width:1100px){.school-switcher-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.school-switcher{padding:16px}.school-switcher>header{align-items:flex-start;flex-direction:column}.school-switcher-count{display:none}.school-switcher-actions{width:100%;justify-content:flex-start}.school-switcher-actions .btn{width:100%}.school-switcher-grid{grid-template-columns:1fr}}

/* Presentación visual enfocada: KPI y accesos panorámicos por colegio. */
.superadmin-dashboard-focused{padding-top:4px}.superadmin-dashboard-focused .platform-stats{gap:18px;margin-bottom:20px}.superadmin-dashboard-focused .visual-kpi{position:relative;isolation:isolate;overflow:hidden;min-height:156px;padding:27px 28px;border-color:#d2e1f1;border-radius:18px;box-shadow:0 12px 30px rgba(22,70,126,.09)}.superadmin-dashboard-focused .visual-kpi:after{content:"";position:absolute;z-index:-1;right:-16%;bottom:-72px;width:88%;height:112px;border-radius:50% 50% 0 0;opacity:.72}.superadmin-dashboard-focused .visual-kpi.kpi-green{background:linear-gradient(135deg,#fff 45%,#effcf8)}.superadmin-dashboard-focused .visual-kpi.kpi-green:after{background:#c9f5e7}.superadmin-dashboard-focused .visual-kpi.kpi-blue{background:linear-gradient(135deg,#fff 45%,#edf7ff)}.superadmin-dashboard-focused .visual-kpi.kpi-blue:after{background:#c9e9ff}.superadmin-dashboard-focused .visual-kpi.kpi-orange{background:linear-gradient(135deg,#fff 45%,#fff5ee)}.superadmin-dashboard-focused .visual-kpi.kpi-orange:after{background:#ffe0c8}.superadmin-dashboard-focused .visual-kpi.kpi-violet{background:linear-gradient(135deg,#fff 45%,#f6f0ff)}.superadmin-dashboard-focused .visual-kpi.kpi-violet:after{background:#e5d6ff}.superadmin-dashboard-focused .visual-kpi .stat-icon-box{display:grid;place-items:center;width:66px;height:66px;border:0;border-radius:17px;color:#fff;box-shadow:0 10px 18px rgba(11,62,116,.16)}.superadmin-dashboard-focused .visual-kpi .stat-icon-box.green{background:linear-gradient(145deg,#20ca94,#00a96f)}.superadmin-dashboard-focused .visual-kpi .stat-icon-box.blue{background:linear-gradient(145deg,#359aff,#0874eb)}.superadmin-dashboard-focused .visual-kpi .stat-icon-box.orange{background:linear-gradient(145deg,#ff9a55,#ff6428)}.superadmin-dashboard-focused .visual-kpi .stat-icon-box.violet{background:linear-gradient(145deg,#9a68f7,#7b38ed)}.superadmin-dashboard-focused .visual-kpi .stat-icon-box .icon{width:35px;height:35px;stroke-width:2}.superadmin-dashboard-focused .platform-stats .visual-kpi strong{font-size:2rem;line-height:1}.superadmin-dashboard-focused .platform-stats .visual-kpi small{margin-top:7px;font-size:.86rem}.superadmin-dashboard-focused .platform-stats .visual-kpi em{margin-top:7px;font-size:.72rem}.visual-kpi-watermark{position:absolute;z-index:-1;right:20px;top:29px;color:currentColor;opacity:.11}.visual-kpi-watermark .icon{width:54px;height:54px;stroke-width:2.2}.kpi-green .visual-kpi-watermark{color:#00a973}.kpi-blue .visual-kpi-watermark{color:#0874eb}.kpi-orange .visual-kpi-watermark{color:#ff6b2d}.kpi-violet .visual-kpi-watermark{color:#8345ef}
.course-directory{margin:0 0 22px;padding:25px 28px;border:1px solid #d4e2f1;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(24,72,128,.06);scroll-margin-top:105px}.course-directory>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.course-directory>header h2{margin:3px 0 4px;color:#0d356d;font-size:1.25rem}.course-directory>header p:last-child{margin:0;color:#647d9d;font-size:.76rem}.course-directory .table-wrap{margin:0;box-shadow:none}.course-directory .school-table-search{flex:0 0 min(310px,38%)}
@media(max-width:720px){.course-directory{padding:19px 15px}.course-directory>header{align-items:stretch;flex-direction:column}.course-directory .school-table-search{flex-basis:auto;width:100%}}
.superadmin-dashboard-focused .school-switcher{padding:28px 30px 30px;border-color:#d4e2f1;border-radius:18px;box-shadow:0 14px 34px rgba(24,72,128,.07)}.superadmin-dashboard-focused .school-switcher>header{position:relative;margin-bottom:24px;padding-left:20px}.superadmin-dashboard-focused .school-switcher>header:before{content:"";position:absolute;left:0;top:4px;width:5px;height:22px;border-radius:99px;background:#147ef3;box-shadow:0 5px 12px rgba(20,126,243,.28)}.superadmin-dashboard-focused .school-switcher>header .eyebrow{margin-bottom:8px;color:#1176e8;font-size:.68rem;letter-spacing:.2em}.superadmin-dashboard-focused .school-switcher>header h1{font-size:1.65rem;line-height:1.12}.superadmin-dashboard-focused .school-switcher>header p:last-child{margin-top:7px;font-size:.8rem}.superadmin-dashboard-focused .school-switcher-count{padding:10px 16px;border-color:#cfe2f8;background:#f1f7ff;color:#103c76;font-size:.72rem}.superadmin-dashboard-focused .school-switcher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.superadmin-dashboard-focused .school-switcher-button{position:relative;overflow:hidden;display:grid;grid-template-columns:42% minmax(0,1fr);gap:0;min-height:182px;padding:0;border-color:#d7e4f1;border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(19,63,114,.06)}.superadmin-dashboard-focused .school-switcher-button:hover{border-color:#83b7ee;box-shadow:0 14px 28px rgba(18,86,163,.13);transform:translateY(-3px)}.school-switcher-visual{position:relative;display:grid;place-items:center;min-height:182px;background-image:linear-gradient(120deg,rgba(4,52,110,.65),rgba(2,79,151,.1)),url(../img/cover-schoolyard-v1.jpg);background-position:center;background-size:cover}.school-switcher-button:nth-child(2n) .school-switcher-visual{background-image:linear-gradient(120deg,rgba(4,52,110,.68),rgba(2,79,151,.08)),url(../img/cover-schoolyard-v1.jpg);background-position:68% center}.school-switcher-emblem{display:grid;place-items:center;width:112px;height:112px;border:7px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.96);color:#0b4b91;box-shadow:0 12px 28px rgba(4,34,72,.28)}.school-switcher-emblem .icon{width:42px;height:42px}.school-switcher-emblem b{margin-top:-20px;padding-top:3px;color:#0b3975;font-size:.72rem}.superadmin-dashboard-focused .school-switcher-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:24px 68px 24px 25px}.superadmin-dashboard-focused .school-switcher-copy>strong{width:100%;color:#092f67;font-size:.98rem;line-height:1.25;white-space:normal}.superadmin-dashboard-focused .school-switcher-location{display:flex;align-items:center;gap:8px;width:100%;margin-top:12px;color:#607ba1;font-size:.7rem;white-space:normal}.school-switcher-location>i{position:relative;flex:0 0 auto;width:13px;height:16px;border:2px solid #3975bd;border-radius:9px 9px 10px 10px;transform:rotate(45deg)}.school-switcher-location>i:after{content:"";position:absolute;left:3px;top:3px;width:3px;height:3px;border:1px solid #3975bd;border-radius:50%}.school-switcher-meta{display:flex;align-items:flex-start;flex-direction:column;gap:12px;width:100%;margin-top:15px}.superadmin-dashboard-focused .school-switcher-status{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;font-size:.66rem}.school-switcher-status i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(15,174,116,.1)}.school-switcher-date{display:flex!important;align-items:center;gap:6px;color:#6680a3!important;font-size:.63rem!important;white-space:normal!important}.school-switcher-date .icon{flex:0 0 auto;width:16px;height:16px;color:#1680ed}.school-switcher-date b{color:#173e75}.school-switcher-arrow{position:absolute;right:25px;top:50%;display:grid;place-items:center;width:43px;height:43px;border:1px solid #d3e3f4;border-radius:50%;background:#f7fbff;color:#0879ec;box-shadow:0 7px 16px rgba(20,84,157,.1);transform:translateY(-50%)}.school-switcher-arrow .icon{width:20px;height:20px}
.superadmin-dashboard-focused .school-switcher-button{min-height:205px}.school-switcher-visual{min-height:205px}.school-switcher-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(92px,.72fr);gap:10px;width:100%;margin-top:14px}.superadmin-dashboard-focused .school-switcher-fact{display:flex;align-items:center;gap:9px;min-width:0;padding:9px 10px;border:1px solid #e0eaf4;border-radius:10px;background:#f8fbff;color:#3d72ad}.school-switcher-fact>span,.school-switcher-date>span{min-width:0}.superadmin-dashboard-focused .school-switcher-fact small,.superadmin-dashboard-focused .school-switcher-date small{display:block;margin:0;color:#7187a4;font-size:.61rem;font-weight:700;line-height:1.1;white-space:normal}.superadmin-dashboard-focused .school-switcher-fact b,.superadmin-dashboard-focused .school-switcher-date b{display:block;overflow:hidden;margin-top:3px;color:#143b70;font-size:.73rem;font-weight:900;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.superadmin-dashboard-focused .school-switcher-location{margin-top:0;font-size:inherit}.school-switcher-location>i{width:12px;height:15px}.school-switcher-rbd>.icon{flex:0 0 auto;width:19px;height:19px;color:#3975bd}.school-switcher-meta{align-items:center;flex-direction:row;gap:10px;margin-top:12px}.superadmin-dashboard-focused .school-switcher-status{flex:0 0 auto;padding:7px 11px;font-size:.69rem}.superadmin-dashboard-focused .school-switcher-date{display:flex;align-items:center;gap:8px;min-width:0;padding:7px 10px;border:1px solid #dce9f6;border-radius:10px;background:#f7fbff;color:#1680ed}.superadmin-dashboard-focused .school-switcher-date .icon{flex:0 0 auto;width:20px;height:20px}.superadmin-dashboard-focused .school-switcher-date b{font-size:.78rem}.school-switcher-arrow{right:20px}
@media(max-width:1250px){.superadmin-dashboard-focused .visual-kpi{padding:22px 18px}.superadmin-dashboard-focused .visual-kpi .stat-icon-box{width:56px;height:56px}.superadmin-dashboard-focused .school-switcher-button{grid-template-columns:35% minmax(0,1fr)}.school-switcher-emblem{width:92px;height:92px}.superadmin-dashboard-focused .school-switcher-copy{padding-left:20px}.school-switcher-facts{grid-template-columns:1fr}.school-switcher-meta{align-items:flex-start;flex-direction:column}}
@media(max-width:900px){.superadmin-dashboard-focused .school-switcher-grid{grid-template-columns:1fr}.superadmin-dashboard-focused .school-switcher-button{grid-template-columns:38% minmax(0,1fr)}}
@media(max-width:720px){.superadmin-dashboard-focused .visual-kpi{min-height:125px;padding:16px 13px}.superadmin-dashboard-focused .visual-kpi .stat-icon-box{width:45px;height:45px;border-radius:13px}.superadmin-dashboard-focused .visual-kpi .stat-icon-box .icon{width:24px;height:24px}.superadmin-dashboard-focused .platform-stats .visual-kpi strong{font-size:1.55rem}.superadmin-dashboard-focused .platform-stats .visual-kpi small{font-size:.7rem}.visual-kpi-watermark{display:none}.superadmin-dashboard-focused .school-switcher{padding:20px 15px}.superadmin-dashboard-focused .school-switcher>header{padding-left:15px}.superadmin-dashboard-focused .school-switcher>header h1{font-size:1.35rem}.superadmin-dashboard-focused .school-switcher-button{grid-template-columns:36% minmax(0,1fr);min-height:168px}.school-switcher-visual{min-height:168px}.school-switcher-emblem{width:76px;height:76px;border-width:5px}.school-switcher-emblem .icon{width:30px;height:30px}.school-switcher-emblem b{font-size:.6rem}.superadmin-dashboard-focused .school-switcher-copy{padding:18px 53px 18px 15px}.school-switcher-arrow{right:13px;width:36px;height:36px}.school-switcher-date{font-size:.58rem!important}}
@media(max-width:480px){.superadmin-dashboard-focused .school-switcher-button{display:block}.school-switcher-visual{min-height:132px}.superadmin-dashboard-focused .school-switcher-copy{min-height:158px;padding:19px 58px 20px 18px}.school-switcher-arrow{top:auto;bottom:54px;transform:none}}
/* Panorama concentrado de un colegio, visible solo para el superadministrador. */
.school-panorama{font-family:"Nunito","Segoe UI",sans-serif;color:#102f60}.school-panorama h1,.school-panorama h2{font-family:inherit}.school-panorama-hero{position:relative;overflow:hidden;min-height:190px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 34px;border-radius:18px;background:radial-gradient(circle at 78% 20%,rgba(40,139,238,.42),transparent 28%),linear-gradient(120deg,#0d4fa1,#082f6b);color:#fff;box-shadow:0 14px 30px rgba(8,52,112,.15)}.school-panorama-hero:after{content:"";position:absolute;right:-50px;bottom:-110px;width:260px;height:260px;border:42px solid rgba(255,201,40,.13);border-radius:50%}.school-panorama-hero>div{position:relative;z-index:1}.school-panorama-hero .back{margin-bottom:18px;color:#dcecff;font-size:.73rem}.school-panorama-hero .eyebrow{margin-bottom:6px;color:#56b9ff}.school-panorama-hero h1{margin:0 0 8px;font-size:2rem}.school-panorama-hero p:last-child{margin:0;color:#cbdcf1;font-size:.8rem}.school-panorama-hero .school-detail-actions{justify-content:flex-end}.school-panorama-hero .tag{background:#ddf7eb;color:#08714e}.school-hero-button{border-color:rgba(255,255,255,.45);background:#fff;color:#0a4e9d}
.school-panorama .school-overview-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:16px 0}.school-panorama .school-overview-grid .stat-card{min-width:0;min-height:110px;padding:16px;gap:11px;border-radius:13px;background:#fff}.school-panorama .school-overview-grid .stat-icon-box{flex:0 0 auto;width:43px;height:43px}.school-panorama .school-overview-grid .stat-icon-box .icon{width:22px}.school-panorama .school-overview-grid strong{font-size:1.5rem}.school-panorama .school-overview-grid small{color:#526e92;font-size:.67rem;font-weight:700;line-height:1.2}
.school-health{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.school-health>div{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid #dce7f2;border-radius:11px;background:#fff;color:#476687;font-size:.7rem}.school-health strong{color:#123c72}.school-panorama .attention-dot{flex:0 0 auto}
.school-panorama-nav{position:sticky;z-index:7;top:88px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px;padding:8px;border:1px solid #d7e4f1;border-radius:13px;background:rgba(255,255,255,.94);box-shadow:0 7px 18px rgba(20,67,124,.07);backdrop-filter:blur(10px)}.school-panorama-nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:43px;border-radius:9px;color:#155aab;font-size:.75rem;font-weight:800}.school-panorama-nav a:hover{background:#eaf3ff}.school-panorama-nav .icon{width:18px}.school-panorama .section-head{scroll-margin-top:155px}.school-panorama .table-wrap{margin-bottom:24px}.school-panorama .table-wrap .btn{min-height:36px;padding:7px 11px;font-size:.7rem}
.school-panorama-hero h1 span{display:block;margin-bottom:3px;color:#cfe3f8;font-size:.8rem;font-weight:800;letter-spacing:.02em}
@media(max-width:1300px){.school-panorama .school-overview-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.school-panorama-hero{min-height:255px;display:block;padding:24px 20px}.school-panorama-hero h1{font-size:1.65rem}.school-panorama-hero .school-detail-actions{justify-content:flex-start;margin-top:22px}.school-panorama .school-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.school-panorama .school-overview-grid .stat-card{min-height:105px;padding:13px}.school-health{grid-template-columns:1fr;gap:7px}.school-panorama-nav{top:82px}.school-panorama-nav a{gap:4px;font-size:.67rem}.school-panorama-nav .icon{width:16px}}

/* Logotipo principal del acceso con mayor presencia visual. */
@media(min-width:901px){.auth-page .login-logo-plate{width:370px;height:142px}.auth-page .login-logo-plate .login-main-logo{width:318px;height:128px}}
@media(max-width:900px){.auth-page .mobile-login-logo{width:min(320px,86vw);height:clamp(118px,28vw,140px);margin-bottom:-10px}}

/* La fotografía del colegio se muestra limpia, sin emblema superpuesto. */
.superadmin-dashboard-focused .school-switcher-visual{background-image:linear-gradient(105deg,rgba(3,47,102,.68) 0%,rgba(5,79,151,.42) 48%,rgba(8,111,190,.12) 100%),url(../img/cover-schoolyard-v1.jpg)}.superadmin-dashboard-focused .school-switcher-button:nth-child(2n) .school-switcher-visual{background-image:linear-gradient(105deg,rgba(3,47,102,.68) 0%,rgba(5,79,151,.42) 48%,rgba(8,111,190,.12) 100%),url(../img/cover-schoolyard-v1.jpg)}

/* Panorama visual del colegio y configuración institucional. */
.school-panorama .school-panorama-hero{position:relative;isolation:isolate;overflow:hidden;min-height:282px;display:block;padding:24px 30px 30px;border-radius:21px;background:linear-gradient(100deg,rgba(3,49,106,.98) 0%,rgba(6,79,157,.92) 50%,rgba(6,68,139,.74) 100%),url(../img/cover-schoolyard-v1.jpg) center 58%/cover;color:#fff;box-shadow:0 18px 38px rgba(7,49,104,.18)}.school-panorama .school-panorama-hero:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(5,54,116,.08) 45%,rgba(10,82,158,.15))}.school-panorama .school-panorama-hero:after{z-index:-1;right:-105px;bottom:-155px;width:390px;height:390px;border:58px solid rgba(73,154,239,.2);box-shadow:0 0 0 54px rgba(35,124,218,.11)}.school-hero-toolbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px}.school-panorama-hero .school-hero-toolbar .back{display:inline-flex;align-items:center;min-height:45px;margin:0;padding:9px 15px;border:1px solid rgba(255,255,255,.32);border-radius:11px;background:rgba(255,255,255,.08);color:#eef7ff;font-size:.76rem;font-weight:800;backdrop-filter:blur(7px)}.school-settings-button{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.13);color:#fff;backdrop-filter:blur(7px)}.school-settings-button:hover{background:#fff;color:#0a4e9d}.school-settings-button .icon{width:18px}.school-hero-content{position:relative;z-index:1;display:flex;align-items:center;gap:30px;margin-top:27px}.school-hero-image{display:grid;place-items:center;flex:0 0 auto;width:142px;height:142px;overflow:hidden;border:7px solid rgba(255,255,255,.55);border-radius:50%;background:#fff;color:#0d559f;box-shadow:0 14px 30px rgba(1,30,67,.3)}.school-hero-image img{width:100%;height:100%;object-fit:cover}.school-hero-image>.icon{width:62px;height:62px}.school-hero-copy{min-width:0;padding-left:30px;border-left:1px solid rgba(255,255,255,.25)}.school-panorama-hero .school-hero-copy .eyebrow{margin-bottom:7px;color:#79c6ff}.school-panorama-hero .school-hero-copy h1{margin:0;color:#fff;font-size:2.15rem}.school-hero-meta{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:16px;color:#d7e9fa;font-size:.85rem}.school-hero-meta .tag{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;background:#ddf7eb;color:#08714e}.school-hero-meta .tag.fuera_plazo{background:#edf0f3;color:#59677a}.school-hero-meta .tag i{width:8px;height:8px;border-radius:50%;background:currentColor}.school-panorama .school-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.school-panorama .school-overview-grid .stat-card{min-height:116px;padding:18px;border-radius:15px;box-shadow:0 7px 20px rgba(17,59,111,.05)}
.school-panorama .school-panorama-nav{position:sticky;top:88px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:24px;padding:0;border:0;background:transparent;box-shadow:none;backdrop-filter:none}.school-panorama .school-panorama-nav a{min-height:58px;padding:12px 18px;border:1px solid #cfe0f1;border-radius:13px;background:linear-gradient(180deg,#fff,#f7fbff);color:#0d5cb9;font-size:.79rem;box-shadow:0 7px 18px rgba(20,67,124,.07);transition:.16s ease}.school-panorama .school-panorama-nav a:hover{border-color:#5fa4ee;background:#eaf4ff;box-shadow:0 10px 21px rgba(20,91,172,.12);transform:translateY(-2px)}.school-panorama .school-panorama-nav .icon{width:21px;height:21px}
.school-settings-dialog{width:min(760px,calc(100% - 32px));max-height:calc(100vh - 40px);padding:0;text-align:left;overflow:auto}.school-settings-dialog>form{padding:27px}.school-settings-dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:21px}.school-settings-dialog header h2{margin:0 0 6px;color:#0b376f;font-size:1.4rem}.school-settings-dialog header p:last-child{margin:0;color:#687f9e;font-size:.78rem}.school-settings-close{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid #d7e2ee;border-radius:10px;background:#f7faff;color:#315d8e;font-size:1.45rem;cursor:pointer}.school-settings-image-row{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:19px;margin-bottom:20px;padding:15px;border:1px solid #dbe6f1;border-radius:13px;background:#f8fbff}.school-settings-preview{display:grid;place-items:center;width:96px;height:96px;overflow:hidden;border:4px solid #fff;border-radius:50%;background:#e7f2ff;color:#0b60bc;box-shadow:0 6px 16px rgba(20,67,124,.12)}.school-settings-preview img{width:100%;height:100%;object-fit:cover}.school-settings-preview .icon{width:42px;height:42px}.school-settings-image-row label strong,.school-settings-image-row label small{display:block}.school-settings-image-row input{width:100%;margin:8px 0 5px;font-size:.74rem}.school-settings-image-row label small{color:#6d82a0;font-size:.67rem}.school-settings-dialog .form-grid{margin-bottom:20px}.school-settings-dialog .form-grid label{font-size:.74rem}.school-access-control{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;border:1px solid #bfe5d7;border-radius:13px;background:#f1fbf7}.school-access-control.is-disabled{border-color:#f1b8bf;background:#fff4f5}.school-access-control strong{color:#123b70;font-size:.83rem}.school-access-control p{margin:3px 0 0;color:#687f9e;font-size:.68rem}.school-access-switch{display:flex;align-items:center;gap:9px;cursor:pointer}.school-access-switch input{position:absolute;opacity:0;pointer-events:none}.school-access-switch>span{position:relative;width:49px;height:27px;border-radius:99px;background:#aab6c5;box-shadow:inset 0 0 0 1px rgba(20,49,84,.1);transition:.18s ease}.school-access-switch>span:after{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(15,47,82,.25);transition:.18s ease}.school-access-switch input:checked+span{background:#12a875}.school-access-switch input:checked+span:after{transform:translateX(22px)}.school-access-switch input:focus-visible+span{outline:3px solid rgba(21,111,213,.25);outline-offset:2px}.school-access-switch b{min-width:84px;color:#237355;font-size:.72rem}.school-access-control.is-disabled .school-access-switch b{color:#b52f40}.school-disable-warning{display:flex;align-items:flex-start;gap:12px;margin-top:12px;padding:14px 15px;border:1px solid #f0aeb7;border-radius:12px;background:#fff0f2;color:#a72d3d}.school-disable-warning[hidden]{display:none}.school-disable-warning>.icon{flex:0 0 auto;width:23px;height:23px}.school-disable-warning strong{font-size:.78rem}.school-disable-warning p{margin:3px 0 0;color:#8f4350;font-size:.68rem}.school-settings-dialog .dialog-actions{margin-top:22px}
@media(max-width:720px){.school-panorama .school-panorama-hero{min-height:315px;padding:18px}.school-settings-button{min-height:42px;padding:8px 11px;font-size:.7rem}.school-hero-content{align-items:flex-start;gap:17px;margin-top:28px}.school-hero-image{width:88px;height:88px;border-width:5px}.school-hero-image>.icon{width:40px;height:40px}.school-hero-copy{padding-left:17px}.school-panorama-hero .school-hero-copy h1{font-size:1.45rem}.school-hero-meta{align-items:flex-start;flex-direction:column;gap:9px;margin-top:11px}.school-panorama .school-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-panorama .school-panorama-nav{top:82px;gap:7px}.school-panorama .school-panorama-nav a{min-height:49px;padding:8px 5px;font-size:.68rem}.school-settings-dialog>form{padding:20px 16px}.school-settings-image-row{grid-template-columns:75px 1fr;gap:13px}.school-settings-preview{width:70px;height:70px}.school-access-control{align-items:flex-start;flex-direction:column}.school-access-switch{width:100%;justify-content:space-between}}
.school-hero-title{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.school-hero-title .tag{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 13px;background:#ddf7eb;color:#08714e}.school-hero-title .tag.fuera_plazo{background:#edf0f3;color:#59677a}.school-hero-title .tag i{width:8px;height:8px;border-radius:50%;background:currentColor}.school-hero-title+.school-hero-meta{margin-top:13px}
.superadmin-dashboard-focused .school-switcher-visual{overflow:hidden}.superadmin-dashboard-focused .school-switcher-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.superadmin-dashboard-focused .school-switcher-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(3,47,102,.55) 0%,rgba(5,79,151,.25) 55%,rgba(8,111,190,.05) 100%);pointer-events:none}
.school-resource-heading{margin-top:30px;gap:20px}
.school-resource-heading .btn.primary{min-height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 18px rgba(0,103,224,.16)}
.school-resource-heading .btn.primary svg{width:18px;height:18px}
.school-resource-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px}
.school-table-search{position:relative;display:block;width:min(290px,30vw)}
.school-table-search>.icon{position:absolute;z-index:1;left:13px;top:50%;width:18px;height:18px;color:#6883a5;transform:translateY(-50%);pointer-events:none}
.school-table-search input{width:100%;height:44px;padding:0 38px 0 40px;border:1px solid #cfdeed;border-radius:11px;background:#fff;color:#173f73;font:inherit;font-size:.72rem;outline:0;transition:border-color .15s ease,box-shadow .15s ease}
.school-table-search input::placeholder{color:#8a9cb2}
.school-table-search input:focus{border-color:#56a0ed;box-shadow:0 0 0 3px rgba(38,132,230,.12)}
.table-filter-empty td{padding:28px!important;color:#7186a1!important;text-align:center!important}
.table-row-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
.table-row-actions form{margin:0}
.table-row-actions .btn{min-height:38px;padding:0 14px}
.table-row-actions .text-danger{border:1px solid #fecaca;background:#fff7f7;color:#c62828}
.table-row-actions .text-danger:hover{background:#fee2e2;border-color:#fca5a5}
.school-paginated-table{margin-bottom:0!important;border-radius:14px 14px 0 0}
.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 28px;padding:11px 14px;border:1px solid #dbe6f1;border-top:0;border-radius:0 0 14px 14px;background:#fff;color:#6d819d}
.table-pagination p{margin:0;font-size:.69rem;font-weight:700}
.table-pagination-controls,.table-pagination-controls>span{display:flex;align-items:center;gap:5px}
.table-pagination button{display:grid;place-items:center;min-width:31px;height:31px;padding:0 7px;border:1px solid transparent;border-radius:8px;background:transparent;color:#315d8e;font:inherit;font-size:.72rem;font-weight:800;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.table-pagination button:hover:not(:disabled){border-color:#c9ddf2;background:#f1f7ff;color:#086dd5}
.table-pagination button[aria-current="page"]{border-color:#1677df;background:#1677df;color:#fff;box-shadow:0 4px 10px rgba(22,119,223,.2)}
.table-pagination button:disabled{color:#b7c3d1;cursor:not-allowed}
.table-pagination-controls i{padding:0 2px;color:#91a3b8;font-style:normal}
.person-course-picker{min-width:0;margin:0;padding:0;border:0}
.person-course-picker legend{margin-bottom:8px;color:#244c7d;font-size:.74rem;font-weight:700}
.person-course-picker>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:210px;padding:10px;overflow:auto;border:1px solid #ccdced;border-radius:11px;background:#f8fbff}
.person-course-picker>div>label{display:flex;align-items:center;gap:9px;min-width:0;padding:10px 11px;border:1px solid #dce7f2;border-radius:9px;background:#fff;color:#244c7d;font-size:.73rem;font-weight:700;cursor:pointer;transition:border-color .15s ease,background .15s ease}
.person-course-picker>div>label:hover{border-color:#8ebbea;background:#f3f8ff}
.person-course-picker>div>label:has(input:checked){border-color:#55a0ee;background:#eaf4ff;color:#0b5db8}
.person-course-picker input{flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:#126ed5}
.person-course-picker>small{display:block;margin-top:7px;color:#6c819e;font-size:.66rem}
@media(max-width:900px){.school-resource-heading{align-items:flex-start;flex-direction:column}.school-resource-tools{width:100%;justify-content:flex-start}.school-table-search{width:min(360px,100%)}}
@media(max-width:720px){.school-resource-heading{align-items:flex-start}.school-resource-tools{align-items:stretch;flex-direction:column}.school-resource-heading .btn.primary,.school-resource-tools .btn{width:100%}.table-row-actions{flex-wrap:wrap}.school-table-search{width:100%}}
@media(max-width:560px){.table-pagination{align-items:flex-start;flex-direction:column}.table-pagination-controls{width:100%;justify-content:space-between}.table-pagination-controls>span{justify-content:center;flex:1}.person-course-picker>div{grid-template-columns:1fr}}
@media(min-width:901px){.school-panorama .school-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.school-panorama .recent-users-kpi{border-color:#bfe3eb;background:linear-gradient(145deg,#fff,#f1fbfd)}
.school-access-log{margin-top:38px;padding-top:4px}.school-access-log .section-description{margin:5px 0 0;color:#7185a0;font-size:.72rem}.school-access-log td strong,.school-access-log td small{display:block}.school-access-log td small{margin-top:3px;color:#7186a1;font-size:.65rem}.school-access-log td code{padding:5px 8px;border-radius:7px;background:#f1f5f9;color:#395a7e;font-family:"SFMono-Regular",Consolas,monospace;font-size:.67rem}.access-event-tag{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:99px;font-size:.64rem;font-weight:800;white-space:nowrap}.access-event-tag i{width:7px;height:7px;border-radius:50%;background:currentColor}.access-event-tag.access-success{background:#e1f7ed;color:#087451}.access-event-tag.access-failed{background:#fff0f1;color:#bd3344}.access-event-tag.access-blocked{background:#fff3d9;color:#9a6300}

/* Selector jerárquico del foro: colegio > cursos, sin carrusel horizontal. */
.forum-community-selector{margin-bottom:22px;overflow:hidden;border:1px solid #d7e3f0;border-radius:17px;background:#fff;box-shadow:0 9px 25px rgba(20,62,112,.06)}.forum-community-selector>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid #e3ebf3;background:linear-gradient(135deg,#fbfdff,#f3f8ff)}.forum-community-selector>header>div{display:flex;align-items:center;gap:12px}.forum-community-selector>header strong,.forum-community-selector>header small{display:block}.forum-community-selector>header strong{color:#173e6c;font-size:.86rem}.forum-community-selector>header small{margin-top:2px;color:#71859f;font-size:.7rem}.forum-community-selector>header>b{padding:7px 11px;border:1px solid #d4e3f2;border-radius:99px;background:#fff;color:#496987;font-size:.68rem}.forum-selector-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#e7f2ff;color:#0b6ed6}.forum-selector-icon .icon{width:21px}.forum-school-groups{display:grid;gap:10px;padding:13px}.forum-school-group{overflow:hidden;border:1px solid #dce6f0;border-radius:12px;background:#fbfdff}.forum-school-group.is-current{border-color:#8ebcea;box-shadow:0 0 0 2px rgba(33,126,222,.08)}.forum-school-group>summary{display:flex;align-items:center;gap:11px;min-height:58px;padding:10px 14px;list-style:none;cursor:pointer}.forum-school-group>summary::-webkit-details-marker{display:none}.forum-school-group>summary:hover{background:#f4f8fd}.forum-school-summary-icon{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:9px;background:#edf4fc;color:#3978b9}.forum-school-summary-icon .icon{width:19px}.forum-school-summary-copy{min-width:0;flex:1}.forum-school-summary-copy strong,.forum-school-summary-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forum-school-summary-copy strong{color:#183e69;font-size:.8rem}.forum-school-summary-copy small{margin-top:2px;color:#7c8fa6;font-size:.65rem}.forum-school-chevron{color:#7890aa;font-size:1rem;transition:transform .16s ease}.forum-school-group[open] .forum-school-chevron{transform:rotate(180deg)}.forum-course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:0 13px 13px}.forum-course-option{position:relative;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:64px;padding:10px 11px;border:1px solid #dbe6f1;border-radius:10px;background:#fff;color:#244c77;text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}.forum-course-option:hover{border-color:#82b5e9;background:#f4f9ff;transform:translateY(-1px)}.forum-course-option.active{border-color:#1978dc;background:#eaf4ff;box-shadow:0 5px 13px rgba(25,120,220,.1)}.forum-course-option>span:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#edf5ff;color:#176fc8}.forum-course-option .icon{width:18px}.forum-course-option strong,.forum-course-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forum-course-option strong{font-size:.75rem}.forum-course-option small{margin-top:3px;color:#7a8da5;font-size:.61rem;font-weight:600}.forum-unread-count{display:grid;place-items:center;flex:0 0 auto;min-width:23px;height:23px;padding:0 6px;border:2px solid #fff;border-radius:99px;background:#e2293f;color:#fff;font-size:.63rem;font-weight:900;line-height:1;box-shadow:0 4px 9px rgba(190,31,52,.24)}
.a11y-theme-dark .forum-community-selector,.a11y-theme-dark .forum-school-group,.a11y-theme-dark .forum-course-option{border-color:#344b68;background:#172a43}.a11y-theme-dark .forum-community-selector>header,.a11y-theme-dark .forum-school-group>summary:hover,.a11y-theme-dark .forum-course-option:hover,.a11y-theme-dark .forum-course-option.active{background:#203b59}.a11y-theme-dark .forum-community-selector strong,.a11y-theme-dark .forum-school-summary-copy strong,.a11y-theme-dark .forum-course-option{color:#eef6ff}
@media(max-width:1150px){.forum-course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.forum-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.forum-community-selector>header{align-items:flex-start}.forum-community-selector>header>b{display:none}.forum-course-grid{grid-template-columns:1fr}.forum-school-groups{padding:9px}.forum-course-grid{padding:0 9px 9px}}

/* Catálogo de lecturas: filtros persistentes y paginación de 10 registros. */
.reading-catalog-tools{margin-bottom:18px;overflow:hidden;border:1px solid #d5e1ee;border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(23,62,108,.045)}
.reading-catalog-tools>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 17px;border-bottom:1px solid #e2eaf3;background:#fbfdff;color:#72849e}
.reading-catalog-tools>header>div{display:flex;align-items:baseline;gap:4px}.reading-catalog-tools>header strong{color:#092f65;font-size:1rem}.reading-catalog-tools>header small{margin-left:10px;color:#8092a9;font-size:.69rem}.reading-catalog-tools>header a{color:#075ebd;font-size:.77rem;font-weight:800}
.reading-catalog-filters{display:grid;grid-template-columns:minmax(230px,1.5fr) minmax(170px,.85fr) minmax(150px,.7fr) auto auto;align-items:end;gap:12px;padding:16px 17px}.reading-catalog-filters label{display:grid;gap:6px;color:#345779;font-size:.69rem;font-weight:800}.reading-catalog-filters select,.reading-catalog-filters input{width:100%;height:42px;border:1px solid #cbd8e7;border-radius:9px;background:#fff;color:#153c69;font:inherit;font-size:.76rem;outline:0}.reading-catalog-filters select{padding:0 34px 0 11px}.reading-filter-control{position:relative;display:block}.reading-filter-control .icon{position:absolute;top:12px;left:12px;width:17px;height:17px;color:#6984a3}.reading-filter-control input{padding:0 12px 0 38px}.reading-catalog-filters select:focus,.reading-catalog-filters input:focus{border-color:#2081e5;box-shadow:0 0 0 3px rgba(32,129,229,.1)}.reading-catalog-filters .btn{height:42px;white-space:nowrap}
.management-card-classification{display:grid;justify-items:end;gap:3px}.management-card-classification strong{padding:4px 8px;border-radius:7px;background:#edf5ff;color:#1768bb;font-size:.68rem}.management-card-classification small{color:#7185a0;font-size:.65rem}.reading-catalog-empty{grid-column:1/-1;min-height:270px}.reading-catalog-empty>.icon{width:34px;height:34px}
.management-origin{display:flex;align-items:center;gap:7px;width:max-content;margin:0 0 12px;padding:5px 9px;border-radius:99px;font-size:.7rem;font-weight:750}.management-origin>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:.58rem;font-weight:850}.management-origin.is-ai{background:#eee9ff;color:#5b42aa}.management-origin.is-ai>span{background:#6b50bd;color:#fff}.management-origin.is-manual{background:#eef3f7;color:#53677d}.management-origin.is-manual>span{background:#6b7e91;color:#fff}
.management-neuro-badge{display:inline-flex;align-items:center;align-self:flex-start;gap:7px;margin:0 0 12px;padding:6px 10px;border:1px solid #d9cffb;border-radius:999px;background:#f4f0ff;color:#5b3eb5;font-size:.7rem;font-weight:800}.management-neuro-badge b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#7455dc;color:#fff;font-size:.9rem;line-height:1}
.reading-pagination{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding:12px 14px;border:1px solid #d7e3ef;border-radius:12px;background:#fff;color:#6e829d}.reading-pagination p,.reading-single-page-summary{margin:0;color:#7186a0;font-size:.7rem;font-weight:700}.reading-pagination>div{display:flex;align-items:center;gap:5px}.reading-pagination a{display:grid;place-items:center;min-width:32px;height:32px;padding:0 8px;border:1px solid transparent;border-radius:8px;color:#315f91;font-size:.72rem;font-weight:850}.reading-pagination a:hover{border-color:#c8dcf1;background:#f1f7ff}.reading-pagination a[aria-current=page]{border-color:#1474d8;background:#1474d8;color:#fff;box-shadow:0 4px 10px rgba(20,116,216,.2)}.reading-pagination a.disabled{color:#b7c3d1;pointer-events:none}.reading-pagination i{padding:0 3px;color:#95a5b8;font-style:normal}.reading-single-page-summary{margin-top:15px;text-align:right}
.a11y-theme-dark .reading-catalog-tools,.a11y-theme-dark .reading-pagination{border-color:#344c69;background:#172a43}.a11y-theme-dark .reading-catalog-tools>header{border-color:#344c69;background:#203852}.a11y-theme-dark .reading-catalog-tools>header strong,.a11y-theme-dark .reading-catalog-filters label{color:#edf6ff}.a11y-theme-dark .reading-catalog-filters select,.a11y-theme-dark .reading-catalog-filters input{border-color:#46627f;background:#12263d;color:#fff}.a11y-theme-dark .management-card-classification strong{background:#24496f;color:#d8ebff}
.a11y-theme-dark .management-origin.is-ai{background:#3d3264;color:#eee9ff}.a11y-theme-dark .management-origin.is-manual{background:#314257;color:#e0e9f2}
@media(max-width:1120px){.reading-catalog-filters{grid-template-columns:2fr 1fr 1fr}.reading-catalog-filters .btn{width:100%}}
@media(max-width:720px){.reading-catalog-tools>header{align-items:flex-start}.reading-catalog-tools>header>div{align-items:flex-start;flex-wrap:wrap}.reading-catalog-tools>header small{width:100%;margin-left:0}.reading-catalog-filters{grid-template-columns:1fr}.reading-pagination{align-items:flex-start;flex-direction:column}.reading-pagination>div{justify-content:center;width:100%}}

/* Vista previa fiel de la actividad en un marco móvil o tablet. */
.management-card{display:flex;flex-direction:column}.management-card>header{align-items:center}.management-card>header>.tag{display:inline-flex;align-items:center;min-height:25px}.management-card .management-stats{margin-top:auto;flex-wrap:wrap}.management-created-at{flex-basis:100%;text-align:right}.management-card footer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.management-card footer form{width:100%;height:100%}.management-card footer .btn,.management-card footer .locked-label{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:42px;margin:0;padding:8px 7px;text-align:center;line-height:1.15}.management-card footer .locked-label{border-radius:8px}.reading-preview-button{gap:6px;border:1px solid #bfd8f1;background:linear-gradient(135deg,#f4f9ff,#eaf4ff);color:#0b5fb7;cursor:pointer}.reading-preview-button:hover{border-color:#6fa9e5;background:#e7f3ff}.reading-preview-button>.icon{flex:0 0 auto;width:17px;height:17px}.reading-preview-button>span{font-size:.78rem;font-weight:700;line-height:1.15}
.reading-preview-dialog{width:min(1120px,calc(100% - 30px));max-width:none;height:min(940px,calc(100dvh - 28px));max-height:none;margin:auto;padding:0;overflow:hidden;border:0;border-radius:20px;background:#eef3f9;color:#133960;box-shadow:0 28px 80px rgba(3,27,58,.35)}.reading-preview-dialog::backdrop{background:rgba(5,25,51,.67);backdrop-filter:blur(3px)}.reading-preview-dialog-head{display:flex;align-items:center;gap:18px;padding:16px 20px;border-bottom:1px solid #d5e1ee;background:#fff}.reading-preview-dialog-head>div{min-width:0;flex:1}.reading-preview-dialog-head p{margin:0;color:#1671cf;font-size:.59rem;font-weight:900;letter-spacing:.13em}.reading-preview-dialog-head h2{margin:2px 0 1px;overflow:hidden;color:#0a3468;font-size:1.08rem;text-overflow:ellipsis;white-space:nowrap}.reading-preview-dialog-head span{color:#71859f;font-size:.66rem}.reading-preview-dialog-head>button{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid #d5e0ec;border-radius:11px;background:#f6f9fc;color:#416484;font-size:1.45rem;cursor:pointer}
.reading-preview-toolbar{display:flex;align-items:center;justify-content:center;gap:30px;padding:11px 18px;border-bottom:1px solid #d6e1ec;background:#f9fbfd}.reading-preview-toolbar fieldset{display:flex;align-items:center;gap:9px;margin:0;padding:0;border:0}.reading-preview-toolbar legend{float:left;margin-right:9px;color:#526d89;font-size:.66rem;font-weight:800}.reading-preview-segments{display:flex;padding:3px;border:1px solid #cfdae7;border-radius:10px;background:#eaf0f6}.reading-preview-segments button{display:flex;align-items:center;gap:5px;min-height:33px;padding:6px 11px;border:0;border-radius:7px;background:transparent;color:#536e8c;font:inherit;font-size:.66rem;font-weight:800;cursor:pointer}.reading-preview-segments button[aria-pressed=true]{background:#fff;color:#075fbd;box-shadow:0 2px 7px rgba(19,56,99,.14)}.reading-preview-segments button b{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#7455dc;color:#fff;font-size:.8rem}
.reading-preview-stage{display:grid;place-items:start center;height:calc(100% - 133px);padding:17px;overflow:auto;background:radial-gradient(circle at 50% 0,#fff 0,transparent 42%),#e7edf4}.reading-preview-device{position:relative;flex:0 0 auto;padding:12px 7px 8px;border:1px solid #26384d;border-radius:31px;background:#17283b;box-shadow:0 18px 45px rgba(9,31,56,.28);transition:width .22s ease,height .22s ease}.reading-preview-device.is-mobile{width:390px;height:745px}.reading-preview-device.is-tablet{width:768px;height:790px;border-radius:27px}.reading-preview-speaker{position:absolute;z-index:2;top:5px;left:50%;width:54px;height:4px;border-radius:99px;background:#536375;transform:translateX(-50%)}.reading-preview-device iframe{width:100%;height:100%;border:0;border-radius:21px;background:#f5f8fc}.reading-preview-device.is-tablet iframe{border-radius:18px}
.a11y-theme-dark .reading-preview-button{border-color:#426586;background:#203d5b;color:#cfe7ff}.a11y-theme-dark .reading-preview-button small{color:#bed0e2}.a11y-theme-dark .reading-preview-dialog-head,.a11y-theme-dark .reading-preview-toolbar{border-color:#344d69;background:#172a43}.a11y-theme-dark .reading-preview-dialog-head h2,.a11y-theme-dark .reading-preview-toolbar legend{color:#eef6ff}
body.reading-preview-document{min-height:100vh;margin:0;background:#f3f7fb;color:#12355f;font-family:"Nunito","Segoe UI",sans-serif}.reading-preview-student-bar{position:sticky;z-index:20;top:0;display:flex;align-items:center;gap:10px;height:68px;padding:8px 13px;border-bottom:1px solid #d7e3ef;background:#fff;box-shadow:0 4px 15px rgba(14,54,99,.08)}.reading-preview-student-bar img{width:126px;height:48px;object-fit:contain;object-position:left center}.reading-preview-student-bar>span{display:grid;min-width:0;margin-left:auto;text-align:right}.reading-preview-student-bar small{color:#758aa3;font-size:.5rem;font-weight:900;letter-spacing:.1em}.reading-preview-student-bar strong{color:#174675;font-size:.64rem}.reading-preview-student-bar>i{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:#eaf3ff;color:#0a65c4;font-size:.78rem;font-style:normal;font-weight:900}.preview-neuro .reading-preview-student-bar>i{background:#7455dc;color:#fff;font-size:1.25rem}.reading-preview-student-main{max-width:930px;margin:auto;padding:15px 13px 35px}.reading-preview-notice{display:flex;align-items:center;gap:10px;margin-bottom:13px;padding:10px 12px;border:1px solid #cddff1;border-radius:13px;background:#fff}.reading-preview-notice>span{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:#e7f2ff;color:#0a68c9;font-weight:900}.reading-preview-notice.is-neuro{border-color:#d5c9fb;background:#faf8ff}.reading-preview-notice.is-neuro>span{border-radius:50%;background:#7455dc;color:#fff;font-size:1.15rem}.reading-preview-notice p,.reading-preview-notice strong,.reading-preview-notice small{display:block;margin:0}.reading-preview-notice strong{font-size:.73rem}.reading-preview-notice small{margin-top:2px;color:#657d98;font-size:.6rem;line-height:1.3}.reading-preview-document .activity-page .activity-head{margin-bottom:14px}.reading-preview-document .activity-page .reading-paper{margin-bottom:22px}.reading-preview-document .activity-page .reading-text{overflow-wrap:anywhere}.reading-preview-submit{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.reading-preview-submit .btn{pointer-events:none;opacity:.68}.reading-preview-submit small{grid-column:1/-1;color:#72869d;font-size:.61rem;text-align:center}
@media(max-width:820px){.reading-preview-dialog{width:calc(100% - 12px);height:calc(100dvh - 12px);border-radius:14px}.reading-preview-dialog-head{padding:12px 14px}.reading-preview-dialog-head span{display:none}.reading-preview-toolbar{align-items:stretch;flex-direction:column;gap:8px;padding:9px 11px}.reading-preview-toolbar fieldset{justify-content:space-between}.reading-preview-stage{height:calc(100% - 184px);padding:9px}.reading-preview-device.is-mobile,.reading-preview-device.is-tablet{width:min(390px,100%);height:100%;padding:8px 3px 4px;border-radius:20px}.reading-preview-device iframe{border-radius:15px}.reading-preview-speaker{top:3px}.reading-preview-segments button{padding:6px 8px}}

/* Catálogo protegido de Objetivos de Aprendizaje. */
.oa-page-heading{align-items:flex-end}.oa-heading-actions{display:flex;align-items:center;gap:9px}.oa-heading-actions .icon{width:17px;height:17px}.oa-status-banner{display:flex;align-items:center;gap:13px;margin-bottom:16px;padding:14px 16px;border:1px solid #bcdcf6;border-radius:13px;background:linear-gradient(110deg,#f5fbff,#edf7ff);color:#315a80}.oa-lock-icon{display:grid;place-items:center;flex:0 0 auto;width:39px;height:39px;border-radius:10px;background:#dceeff;color:#0969c8}.oa-lock-icon .icon{width:20px}.oa-status-banner>div{min-width:0;flex:1}.oa-status-banner strong,.oa-status-banner p{display:block;margin:0}.oa-status-banner strong{color:#103f72;font-size:.82rem}.oa-status-banner p{margin-top:2px;font-size:.69rem}.oa-source-state{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:7px 10px;border-radius:99px;background:#def6e9;color:#08744f;font-size:.65rem;font-weight:850}.oa-source-state i,.oa-record-state i{width:7px;height:7px;border-radius:50%;background:currentColor}
.oa-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:18px}.oa-kpi-grid article{display:flex;align-items:center;gap:11px;min-height:91px;padding:15px;border:1px solid #d4e1ef;border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(18,57,102,.04)}.oa-kpi-grid article>span{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border-radius:10px;background:#e9f3ff;color:#0c6fd0}.oa-kpi-grid article:nth-child(2)>span{background:#e4f7ee;color:#07966b}.oa-kpi-grid article:nth-child(3)>span{background:#fff0e5;color:#e46e25}.oa-kpi-grid article:nth-child(4)>span{background:#f0e8ff;color:#7c47da}.oa-kpi-grid article:nth-child(5)>span{background:#e4f7fa;color:#087f99}.oa-kpi-grid .icon{width:21px}.oa-kpi-grid strong,.oa-kpi-grid small{display:block}.oa-kpi-grid strong{color:#092f65;font-size:1.28rem;line-height:1.1}.oa-kpi-grid article:last-child strong{font-size:.78rem}.oa-kpi-grid small{margin-top:4px;color:#657d9a;font-size:.65rem;font-weight:700}
.oa-coverage-card,.oa-catalog-card{margin-bottom:18px;border:1px solid #d5e2ef;border-radius:14px;background:#fff;box-shadow:0 7px 21px rgba(16,54,98,.04)}.oa-coverage-card>header,.oa-catalog-card>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 18px;border-bottom:1px solid #e1eaf3}.oa-coverage-card h2,.oa-catalog-card h2{margin:2px 0 0;font-size:1.08rem}.oa-coverage-card>header>strong{padding:6px 10px;border-radius:99px;background:#edf5ff;color:#1767b8;font-size:.67rem}.oa-catalog-card>header small{display:block;margin-top:3px;color:#7589a2;font-size:.68rem}.oa-level-coverage{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:13px}.oa-level-coverage a{display:grid;gap:3px;min-width:0;padding:10px;border:1px solid #dbe6f1;border-radius:10px;background:#fbfdff;color:#315b85}.oa-level-coverage a:hover,.oa-level-coverage a.active{border-color:#3d8fe1;background:#edf6ff}.oa-level-coverage span,.oa-level-coverage strong,.oa-level-coverage small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.oa-level-coverage span{font-size:.65rem;font-weight:800}.oa-level-coverage strong{color:#0d62b7;font-size:.75rem}.oa-level-coverage small{color:#8293a8;font-size:.6rem}
.oa-filter-form{display:grid;grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(145px,.75fr)) auto auto;align-items:end;gap:10px;padding:14px 16px;border-bottom:1px solid #e2eaf3;background:#fbfdff}.oa-filter-form label{display:grid;gap:5px;color:#3a5d80;font-size:.66rem;font-weight:800}.oa-filter-form select,.oa-filter-form input{width:100%;height:40px;border:1px solid #cad8e7;border-radius:8px;background:#fff;color:#163d69;font:inherit;font-size:.72rem;outline:none}.oa-filter-form select{padding:0 30px 0 10px}.oa-filter-search>span:last-child{position:relative;display:block}.oa-filter-search .icon{position:absolute;top:11px;left:11px;width:17px;color:#6d87a5}.oa-filter-search input{padding:0 10px 0 36px}.oa-filter-form select:focus,.oa-filter-form input:focus{border-color:#2180df;box-shadow:0 0 0 3px rgba(33,128,223,.1)}.oa-filter-form .btn{height:40px;white-space:nowrap}
.oa-table-scroll{overflow-x:auto}.oa-catalog-table{width:100%;border-collapse:collapse;table-layout:fixed}.oa-catalog-table th{padding:11px 13px;background:#f5f8fc;color:#55749a;font-size:.61rem;text-align:left;text-transform:uppercase;letter-spacing:.055em}.oa-catalog-table td{padding:13px;border-top:1px solid #e2eaf2;color:#244c77;font-size:.7rem;vertical-align:top}.oa-catalog-table th:nth-child(1){width:125px}.oa-catalog-table th:nth-child(2){width:190px}.oa-catalog-table th:nth-child(3){width:150px}.oa-catalog-table th:nth-child(5){width:80px}.oa-catalog-table th:nth-child(6){width:130px}.oa-catalog-table td strong,.oa-catalog-table td small{display:block}.oa-catalog-table td small{margin-top:4px;color:#758aa3;font-size:.62rem}.oa-code{color:#075fba;font-size:.73rem}.oa-record-state{display:inline-flex!important;align-items:center;gap:5px;width:max-content;margin-top:7px;padding:4px 7px;border-radius:99px;background:#e2f6ec;color:#08724e;font-size:.58rem;font-weight:850}.oa-record-state.inactive{background:#eef1f5;color:#6e7888}.oa-axis{display:inline-flex;padding:5px 7px;border-radius:7px;background:#edf4fc;color:#315f8d;font-size:.62rem;font-weight:750}.oa-description summary{list-style:none;color:#526d8d;line-height:1.45;cursor:pointer}.oa-description summary::-webkit-details-marker{display:none}.oa-description summary span{display:block;margin-top:5px;color:#0b6dcc;font-size:.61rem;font-weight:850}.oa-description[open] summary{display:none}.oa-description p{margin:0;padding:9px 11px;border-left:3px solid #69a8e7;border-radius:0 8px 8px 0;background:#f2f8fe;color:#355b80;line-height:1.5}.oa-source-link{color:#0869c8;font-weight:800}.oa-empty{display:grid;place-items:center;min-height:230px;text-align:center}.oa-empty .icon{width:30px;height:30px;color:#84a3c3}.oa-empty strong{margin-top:8px;font-size:.84rem}.oa-empty p{margin:4px 0 12px;color:#778ba3}.oa-pagination{margin-top:0}
.a11y-theme-dark .oa-status-banner{border-color:#365879;background:#183750;color:#dcecff}.a11y-theme-dark .oa-status-banner strong{color:#fff}.a11y-theme-dark .oa-kpi-grid article,.a11y-theme-dark .oa-coverage-card,.a11y-theme-dark .oa-catalog-card{border-color:#344c68;background:#172a43}.a11y-theme-dark .oa-kpi-grid strong,.a11y-theme-dark .oa-coverage-card h2,.a11y-theme-dark .oa-catalog-card h2{color:#f2f7ff}.a11y-theme-dark .oa-level-coverage a,.a11y-theme-dark .oa-filter-form,.a11y-theme-dark .oa-catalog-table th{border-color:#344c68;background:#203852;color:#e5f1ff}.a11y-theme-dark .oa-filter-form input,.a11y-theme-dark .oa-filter-form select{border-color:#46617e;background:#11263d;color:#fff}.a11y-theme-dark .oa-catalog-table td{border-color:#344c68;color:#e0edfb}.a11y-theme-dark .oa-description p{background:#203d5c;color:#e0edfb}
@media(max-width:1200px){.oa-kpi-grid{grid-template-columns:repeat(3,1fr)}.oa-level-coverage{grid-template-columns:repeat(5,1fr)}.oa-filter-form{grid-template-columns:2fr repeat(2,1fr)}.oa-filter-form .btn{width:100%}}
@media(max-width:760px){.oa-page-heading,.oa-status-banner{align-items:flex-start;flex-direction:column}.oa-heading-actions{width:100%}.oa-heading-actions .btn{flex:1}.oa-source-state{align-self:flex-start}.oa-kpi-grid{grid-template-columns:repeat(2,1fr)}.oa-level-coverage{grid-template-columns:repeat(2,1fr)}.oa-filter-form{grid-template-columns:1fr}.oa-catalog-table{min-width:920px}}
@media(max-width:460px){.oa-heading-actions{flex-direction:column}.oa-heading-actions .btn{width:100%}.oa-kpi-grid{grid-template-columns:1fr}}

/* Selector múltiple y presentación de OA por lectura. */
.oa-multi-selector{min-width:0;margin:0;padding:0;border:0}.oa-multi-selector>legend{margin-bottom:7px;color:var(--ink);font-size:.87rem;font-weight:700}.oa-multi-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:10px;padding:12px 14px;border:1px solid #cbd9e8;border-radius:10px;background:#f6faff}.oa-multi-heading strong,.oa-multi-heading small{display:block}.oa-multi-heading strong{color:#153f70;font-size:.79rem}.oa-multi-heading small{margin-top:3px;color:#7186a0;font-size:.66rem}.oa-multi-heading>span{flex:0 0 auto;padding:6px 10px;border-radius:99px;background:#e3f1ff;color:#0a66c2;font-size:.66rem;font-weight:800}.oa-multi-heading>span b{font-size:.82rem}.oa-multi-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:340px;padding:4px;overflow-y:auto}.oa-multi-options>label{position:relative;display:block!important;cursor:pointer}.oa-multi-options>label[hidden]{display:none!important}.oa-multi-options input{position:absolute;top:14px;left:13px;width:17px!important;height:17px;margin:0;accent-color:#0872d9}.oa-multi-options label>span{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;min-height:92px;padding:12px 12px 11px 42px;border:1px solid #d6e2ee;border-radius:11px;background:#fff;transition:border-color .15s,background .15s,box-shadow .15s}.oa-multi-options label:hover>span{border-color:#82b8eb;background:#f8fbff}.oa-multi-options input:checked+span{border-color:#1880e2;background:#edf7ff;box-shadow:0 0 0 2px rgba(24,128,226,.1)}.oa-multi-options input:focus-visible+span{outline:3px solid rgba(24,128,226,.18);outline-offset:2px}.oa-multi-options input:disabled:not(:checked)+span{opacity:.5;cursor:not-allowed}.oa-multi-options strong{color:#0d5fb6;font-size:.72rem}.oa-multi-options small{color:#587697;font-size:.66rem;font-weight:750}.oa-multi-options em{grid-column:1/-1;color:#617995;font-size:.65rem;font-style:normal;font-weight:500;line-height:1.4}.oa-multi-limit{margin:8px 4px 0;color:#71859d;font-size:.65rem}.reading-oa-list{display:grid;gap:9px;margin-top:14px}.reading-oa-list article{padding:11px 13px;border:1px solid #cfe0f1;border-left:4px solid #2483dc;border-radius:9px;background:#f5faff}.reading-oa-list article strong{display:block;color:#0b61b7;font-size:.74rem}.reading-oa-list article p{margin:5px 0 0;color:#496987;font-size:.72rem;line-height:1.5}.student-oa-official.reading-oa-list>strong{margin-bottom:0}.student-oa-official.reading-oa-list article{background:rgba(255,255,255,.66)}
.a11y-theme-dark .oa-multi-heading,.a11y-theme-dark .oa-multi-options label>span,.a11y-theme-dark .reading-oa-list article{border-color:#3a5877;background:#172d47}.a11y-theme-dark .oa-multi-heading strong,.a11y-theme-dark .oa-multi-options strong,.a11y-theme-dark .reading-oa-list article strong{color:#a9d4ff}.a11y-theme-dark .oa-multi-heading small,.a11y-theme-dark .oa-multi-options small,.a11y-theme-dark .oa-multi-options em,.a11y-theme-dark .reading-oa-list article p{color:#d1e0ef}.a11y-theme-dark .oa-multi-options input:checked+span{border-color:#57a9f4;background:#203d5b}
@media(max-width:720px){.oa-multi-heading{align-items:flex-start;flex-direction:column}.oa-multi-options{grid-template-columns:1fr;max-height:420px}.oa-multi-options label>span{min-height:0}}

/* El selector de colegio es siempre el primer bloque visible del panel general. */
.superadmin-dashboard-focused{display:flex;flex-direction:column}.superadmin-dashboard-focused>.school-switcher{order:-1}

/* Filtro del directorio global de cursos. */
.course-directory-filters{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:12px 14px;border:1px solid #dbe7f2;border-radius:12px;background:#f7fbff}.course-directory-filters label{flex:0 0 auto;color:#315b89;font-size:.74rem;font-weight:800}.course-directory-filters select{width:min(360px,100%);height:42px;padding:0 38px 0 13px;border:1px solid #c9daeb;border-radius:10px;background:#fff;color:#143d70;font:inherit;font-size:.76rem;outline:0}.course-directory-filters select:focus{border-color:#56a0ed;box-shadow:0 0 0 3px rgba(38,132,230,.12)}
@media(max-width:600px){.course-directory-filters{align-items:stretch;flex-direction:column}.course-directory-filters select{width:100%}}

/* Directorio independiente para gestionar la red de colegios. */
.schools-directory-page{display:grid;gap:20px}.schools-directory-heading{align-items:flex-end;margin-bottom:0}.schools-directory-heading h1{margin:4px 0 7px;color:#0b356e}.schools-directory-heading p:last-child{max-width:720px;margin:0;color:#617b9b}.schools-directory-heading .btn{white-space:nowrap}.schools-directory-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.schools-directory-stats article{display:flex;align-items:center;gap:15px;min-height:102px;padding:18px 20px;border:1px solid #d8e5f2;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(20,67,124,.05)}.schools-directory-stats article.needs-attention{border-color:#f3d1b9;background:#fffaf6}.schools-directory-stats .stat-icon-box{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:14px;color:#fff}.schools-directory-stats .stat-icon-box.blue{background:linear-gradient(145deg,#359aff,#0874eb)}.schools-directory-stats .stat-icon-box.green{background:linear-gradient(145deg,#20ca94,#00a96f)}.schools-directory-stats .stat-icon-box.orange{background:linear-gradient(145deg,#ff9a55,#ff6428)}.schools-directory-stats .stat-icon-box .icon{width:27px;height:27px}.schools-directory-stats strong,.schools-directory-stats small{display:block}.schools-directory-stats strong{color:#0b356e;font-size:1.65rem;line-height:1}.schools-directory-stats small{margin-top:6px;color:#647d9d;font-size:.72rem;font-weight:750}.schools-directory-card{padding:25px 27px;border:1px solid #d4e2f1;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(24,72,128,.06)}.schools-directory-card>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.schools-directory-card h2{margin:3px 0 4px;color:#0d356d;font-size:1.25rem}.schools-directory-card header p:last-child{margin:0;color:#647d9d;font-size:.76rem}.schools-directory-tools{display:flex;align-items:center;gap:9px}.schools-directory-tools select{height:44px;padding:0 34px 0 12px;border:1px solid #cfdeed;border-radius:11px;background:#fff;color:#173f73;font:inherit;font-size:.72rem;outline:none}.schools-directory-card .table-wrap{margin:0;box-shadow:none}.schools-directory-table{min-width:1050px}.schools-directory-table td{vertical-align:middle}.schools-directory-table td>strong,.schools-directory-table td>small{display:block}.schools-directory-table td>small{margin-top:4px;color:#7288a2;font-size:.64rem}.directory-school-name{display:flex;align-items:center;gap:11px;min-width:220px}.directory-school-name>span{display:grid;place-items:center;flex:0 0 45px;width:45px;height:45px;overflow:hidden;border:1px solid #d4e3f2;border-radius:12px;background:#edf6ff;color:#116bc7}.directory-school-name>span img{width:100%;height:100%;object-fit:cover}.directory-school-name>span .icon{width:23px}.directory-school-name strong,.directory-school-name small{display:block}.directory-school-name strong{color:#123c72}.directory-school-name small{margin-top:3px;color:#7188a2;font-size:.63rem}.directory-warning{display:inline-flex;padding:6px 9px;border-radius:99px;background:#fff0e5;color:#ae4d16;font-size:.65rem;font-weight:850;white-space:nowrap}.directory-school-actions{display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 12px;min-width:155px}.directory-school-actions .btn{grid-column:1/-1;min-height:36px;padding:7px 11px;font-size:.69rem}.directory-school-actions .btn .icon{width:16px}.directory-school-actions>a:not(.btn){color:#176dca;font-size:.65rem;font-weight:800}.directory-school-actions>a:not(.btn):hover{text-decoration:underline}
@media(max-width:900px){.schools-directory-heading,.schools-directory-card>header{align-items:stretch;flex-direction:column}.schools-directory-tools{width:100%}.schools-directory-tools .school-table-search{flex:1;width:auto}.schools-directory-stats{grid-template-columns:1fr 1fr}.schools-directory-stats article:last-child{grid-column:1/-1}}
@media(max-width:600px){.schools-directory-heading .btn{width:100%}.schools-directory-stats{grid-template-columns:1fr}.schools-directory-stats article:last-child{grid-column:auto}.schools-directory-card{padding:19px 15px}.schools-directory-tools{align-items:stretch;flex-direction:column}.schools-directory-tools .school-table-search,.schools-directory-tools select{width:100%}}

/* Gestión de usuarios del administrador, separada del dashboard. */
.admin-course-create{max-width:720px;margin:0 0 24px}.admin-users-page{display:grid;gap:20px}.admin-users-heading{margin-bottom:0}.admin-users-heading h1{margin:4px 0 7px;color:#0b356e}.admin-users-heading p:last-child{max-width:720px;margin:0;color:#617b9b}.admin-users-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.admin-users-stats article{display:flex;align-items:center;gap:15px;min-height:102px;padding:18px 20px;border:1px solid #d8e5f2;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(20,67,124,.05)}.admin-users-stats .stat-icon-box{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:14px;color:#fff}.admin-users-stats .stat-icon-box.blue{background:linear-gradient(145deg,#359aff,#0874eb)}.admin-users-stats .stat-icon-box.green{background:linear-gradient(145deg,#20ca94,#00a96f)}.admin-users-stats .stat-icon-box.orange{background:linear-gradient(145deg,#ff9a55,#ff6428)}.admin-users-stats .stat-icon-box .icon{width:27px;height:27px}.admin-users-stats strong,.admin-users-stats small{display:block}.admin-users-stats strong{color:#0b356e;font-size:1.65rem;line-height:1}.admin-users-stats small{margin-top:6px;color:#647d9d;font-size:.72rem;font-weight:750}.admin-user-actions{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr);align-items:start;gap:18px}.admin-user-actions>.form-card{margin:0}.admin-user-actions header{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}.admin-user-actions header>span{display:grid;place-items:center;flex:0 0 45px;width:45px;height:45px;border-radius:13px;background:#e9f3ff;color:#0b6fd1}.admin-user-actions header>span .icon{width:23px}.admin-user-actions header h2{margin:2px 0 3px;color:#0d356d}.admin-user-actions header p{margin:0;color:#647d9d;font-size:.72rem}.admin-user-create>.btn{margin-top:18px}.admin-csv-import{border-color:#c9dff5;background:linear-gradient(145deg,#fff,#f5faff)}.admin-csv-import ol{display:grid;gap:9px;margin:4px 0 17px;padding-left:22px;color:#486887;font-size:.73rem}.admin-csv-import>a{margin-bottom:16px}.admin-csv-import form{display:grid;gap:11px;padding-top:16px;border-top:1px solid #dce8f4}.admin-csv-import form label{display:grid;gap:7px;color:#294f79;font-size:.72rem;font-weight:800}.admin-csv-import input[type=file]{width:100%;padding:10px;border:1px dashed #9fbcdb;border-radius:10px;background:#fff;color:#496987;font:inherit}.admin-csv-import form>small{color:#6d829b;font-size:.64rem;line-height:1.45}.csv-security-note{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding:10px;border-radius:10px;background:#eaf6f1;color:#31705d;font-size:.63rem;line-height:1.4}.csv-security-note .icon{flex:0 0 auto;width:16px}.admin-users-directory{padding:25px 27px;border:1px solid #d4e2f1;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(24,72,128,.06)}.admin-users-directory>header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.admin-users-directory h2{margin:3px 0 4px;color:#0d356d;font-size:1.25rem}.admin-users-directory header p:last-child{margin:0;color:#647d9d;font-size:.76rem}.admin-users-tools{display:flex;align-items:center;gap:9px}.admin-users-tools select{height:44px;padding:0 34px 0 12px;border:1px solid #cfdeed;border-radius:11px;background:#fff;color:#173f73;font:inherit;font-size:.72rem;outline:none}.admin-users-directory .table-wrap{margin:0;box-shadow:none}.admin-users-directory table{min-width:850px}
@media(max-width:950px){.admin-user-actions{grid-template-columns:1fr}.admin-users-directory>header{align-items:stretch;flex-direction:column}.admin-users-tools{width:100%}.admin-users-tools .school-table-search{flex:1;width:auto}}
@media(max-width:650px){.admin-users-stats{grid-template-columns:1fr}.admin-users-directory{padding:19px 15px}.admin-users-tools{align-items:stretch;flex-direction:column}.admin-users-tools .school-table-search,.admin-users-tools select{width:100%}}
.admin-course-create{width:100%;max-width:none}.admin-course-fields{grid-template-columns:minmax(240px,1.15fr) minmax(240px,1.15fr) minmax(110px,.4fr)}.admin-course-create>.btn{margin-top:18px}.server-pagination{margin-bottom:0}.server-pagination .table-pagination-controls a{display:grid;place-items:center;min-width:31px;height:31px;padding:0 7px;border:1px solid transparent;border-radius:8px;background:transparent;color:#315d8e;font-size:.72rem;font-weight:800}.server-pagination .table-pagination-controls a:hover{border-color:#c9ddf2;background:#f1f7ff;color:#086dd5}.server-pagination .table-pagination-controls a[aria-current="page"]{border-color:#1677df;background:#1677df;color:#fff;box-shadow:0 4px 10px rgba(22,119,223,.2)}.server-pagination .table-pagination-controls a.disabled{color:#b7c3d1;pointer-events:none}
@media(max-width:760px){.admin-course-fields{grid-template-columns:1fr}}
.main-content>.admin-course-create,.main-content>.admin-users-page{max-width:1160px}
.admin-course-picker{min-width:0;margin:0;padding:0;border:0}.admin-course-picker legend{margin-bottom:4px;color:var(--ink);font-size:.87rem;font-weight:700}.admin-course-picker>small{display:block;margin-bottom:9px;color:#687f99;font-size:.68rem}.admin-course-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:190px;padding:4px;overflow-y:auto}.admin-course-options>label{position:relative;display:block;cursor:pointer}.admin-course-options>label[hidden]{display:none}.admin-course-options input{position:absolute;top:50%;left:13px;width:17px;height:17px;margin:0;transform:translateY(-50%);accent-color:#0872d9}.admin-course-options span{display:block;min-height:45px;padding:13px 12px 11px 40px;border:1px solid #d4e1ee;border-radius:10px;background:#fff;color:#244d79;font-size:.72rem;font-weight:750}.admin-course-options input:checked+span{border-color:#1880e2;background:#edf7ff;box-shadow:0 0 0 2px rgba(24,128,226,.1)}.admin-course-options input:focus-visible+span{outline:3px solid rgba(24,128,226,.18);outline-offset:2px}.admin-csv-import [data-course-template][aria-disabled="true"]{pointer-events:none}
@media(max-width:760px){.admin-course-options{grid-template-columns:1fr}}
.admin-csv-import select[data-import-course]{appearance:none;width:100%;height:48px;padding:0 46px 0 14px;border:1px solid #bfd2e7;border-radius:11px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#2167ad 50%),linear-gradient(135deg,#2167ad 50%,transparent 50%),linear-gradient(to right,#e2ebf5,#e2ebf5);background-position:calc(100% - 19px) 20px,calc(100% - 14px) 20px,calc(100% - 40px) 9px;background-size:5px 5px,5px 5px,1px 30px;background-repeat:no-repeat;color:#123d70;font-size:.78rem;font-weight:750;outline:0;cursor:pointer;box-shadow:0 4px 12px rgba(22,73,127,.05);transition:border-color .16s,box-shadow .16s,background-color .16s}.admin-csv-import select[data-import-course]:hover{border-color:#75aae0;background-color:#fbfdff}.admin-csv-import select[data-import-course]:focus{border-color:#1677df;box-shadow:0 0 0 3px rgba(22,119,223,.13),0 5px 14px rgba(22,73,127,.07)}.admin-csv-import select[data-import-course]:invalid{color:#6f8298}.admin-csv-import select[data-import-course] option{background:#fff;color:#173f70;font-weight:650}.a11y-theme-dark .admin-csv-import select[data-import-course]{border-color:#4b6785;background-color:#10263f;color:#fff}
.admin-csv-import [data-course-template].excel-ready{border-color:#16814f;background:#168b55;color:#fff;box-shadow:0 7px 16px rgba(22,139,85,.2)}.admin-csv-import [data-course-template].excel-ready:hover{border-color:#0f7042;background:#117b49}.admin-csv-import [data-course-template].excel-ready>.icon{display:none}.admin-csv-import [data-course-template].excel-ready:before{content:'X';display:grid;place-items:center;width:24px;height:24px;border-radius:4px;background:#fff;color:#16814f;font-size:.75rem;font-weight:950}.admin-csv-import [data-course-template].excel-ready:after{content:'(.xlsx)';font-size:.66rem;font-weight:800;opacity:.88}

/* Acabado visual del resumen académico del encargado. */
.teacher-summary-refined{--summary-navy:#071f52;--summary-blue:#0877e8;--summary-muted:#587291;padding-bottom:8px}
.teacher-summary-refined .academic-summary-heading{position:relative;min-height:76px;margin-bottom:20px;padding-left:25px}
.teacher-summary-refined .academic-summary-heading:before{content:"";position:absolute;left:0;top:2px;bottom:5px;width:6px;border-radius:99px;background:linear-gradient(180deg,#1687f4,#2566e9);box-shadow:0 5px 12px rgba(15,111,229,.18)}
.teacher-summary-refined .academic-summary-heading h1{color:var(--summary-navy);font-size:2.2rem;font-weight:850;letter-spacing:-.035em;line-height:1.05}
.teacher-summary-refined .academic-summary-heading p{margin-top:9px;color:#4f6888;font-size:1.02rem;line-height:1.35}
.summary-current-date{display:flex;align-items:center;gap:10px;color:#496482;font-size:.88rem;font-style:normal;white-space:nowrap}
.summary-current-date .icon{width:21px;height:21px;color:#3973b4}
.teacher-summary-refined>.teacher-kpi-grid{gap:12px;margin-bottom:21px}
.teacher-summary-refined .teacher-kpi{position:relative;isolation:isolate;overflow:hidden;min-height:138px;padding:22px 36px 22px 19px;border-radius:12px;box-shadow:0 8px 22px rgba(20,66,119,.055)}
.teacher-summary-refined .teacher-kpi:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.72),transparent 70%);pointer-events:none}
.teacher-summary-refined .teacher-kpi.summary-kpi-blue{border-color:#c5e0fa;background:#f3f9ff}
.teacher-summary-refined .teacher-kpi.summary-kpi-green{border-color:#c4e9dd;background:#f1fbf7}
.teacher-summary-refined .teacher-kpi.summary-kpi-orange{border-color:#f5d7c2;background:#fff8f3}
.teacher-summary-refined .teacher-kpi.summary-kpi-purple{border-color:#d9cef9;background:#f8f5ff}
.teacher-summary-refined .teacher-kpi .stat-icon-box{flex:0 0 68px;width:68px;height:68px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.teacher-summary-refined .teacher-kpi .stat-icon-box.blue{color:#0574df;background:linear-gradient(145deg,#dff1ff,#cce7ff)}
.teacher-summary-refined .teacher-kpi .stat-icon-box.green{color:#087b57;background:linear-gradient(145deg,#dcf8ec,#c8efdf)}
.teacher-summary-refined .teacher-kpi .stat-icon-box.orange{color:#df4c08;background:linear-gradient(145deg,#ffeadf,#ffd8c8)}
.teacher-summary-refined .teacher-kpi .stat-icon-box.purple{color:#6337dc;background:linear-gradient(145deg,#eee7ff,#dfd2ff)}
.teacher-summary-refined .teacher-kpi .stat-icon-box .icon{width:34px;height:34px;stroke-width:2.15}
.teacher-summary-refined .teacher-kpi>div>strong{color:var(--summary-navy);font-size:2rem;font-weight:900;letter-spacing:-.035em}
.teacher-summary-refined .teacher-kpi>div>small{margin-top:7px;color:#073b78;font-size:.84rem;font-weight:850;line-height:1.2}
.teacher-summary-refined .teacher-kpi>div>em{margin-top:6px;color:#607a9b;font-size:.73rem;line-height:1.35}
.teacher-summary-refined .summary-link-card>b{right:17px;top:50%;bottom:auto;color:#0875df;opacity:1;transform:translateY(-50%)}
.teacher-summary-refined .summary-kpi-green>b{color:#07855d}.teacher-summary-refined .summary-kpi-orange>b{color:#ea5c15}.teacher-summary-refined .summary-kpi-purple>b{color:#6739e5}
.teacher-summary-refined .summary-link-card>b .icon{width:18px;height:18px;stroke-width:2.5}
.teacher-summary-refined .summary-link-card:hover,.teacher-summary-refined .summary-link-card:focus-visible{transform:translateY(-3px);box-shadow:0 15px 30px rgba(20,73,135,.13)}
.teacher-summary-refined .academic-course-heading{align-items:center;margin-bottom:17px;padding-top:18px;border-top-color:#d6e1ec}
.summary-section-title{display:flex;align-items:center;gap:14px}
.summary-section-title>span{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:10px;background:linear-gradient(145deg,#0b84ef,#075fc5);color:#fff;box-shadow:0 7px 15px rgba(4,104,210,.18)}
.summary-section-title>span .icon{width:22px;height:22px}
.teacher-summary-refined .academic-course-heading h2{color:var(--summary-navy);font-size:1.48rem;font-weight:850;letter-spacing:-.02em}
.teacher-summary-refined .academic-course-heading p{margin-top:4px;color:#58708f;font-size:.84rem}
.teacher-summary-refined .academic-course-heading>.summary-main-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:250px;min-height:49px;border:0;border-radius:11px;background:linear-gradient(135deg,#087ce9,#0767db);color:#fff;box-shadow:0 10px 20px rgba(3,104,218,.17);font-size:.79rem;font-weight:850}
.teacher-summary-refined .summary-main-action .icon{width:18px;height:18px}
.teacher-summary-refined .summary-main-action .icon:last-child{margin-left:3px}
.teacher-summary-refined>.summary-course-grid{gap:14px;margin-bottom:0}
.teacher-summary-refined .teacher-course-card{min-height:242px;padding:18px 17px;border-color:#cedfec;border-radius:13px;background:linear-gradient(150deg,#fff,#fbfdff);box-shadow:0 7px 20px rgba(17,60,110,.05)}
.teacher-summary-refined .teacher-course-card h3{margin-top:5px;color:var(--summary-navy);font-size:1.2rem;font-weight:850}
.teacher-summary-refined .teacher-course-card header small{color:#6b84a2;font-size:.69rem}
.teacher-summary-refined .analytics-score{min-width:54px;padding:8px 10px;border-radius:9px;font-size:.78rem}
.teacher-summary-refined .teacher-course-card>.analytics-progress{height:9px;margin:17px 0 14px;background:#e5edf5}
.teacher-summary-refined .teacher-course-card>.analytics-progress i{background:linear-gradient(90deg,#0abf91,#20d7a2)}
.teacher-summary-refined .teacher-course-card dl{gap:5px}
.teacher-summary-refined .teacher-course-card dl div{min-width:0;padding:10px 3px 9px;border-radius:9px;background:linear-gradient(180deg,#f7faff,#f1f6fb)}
.teacher-summary-refined .teacher-course-card dt{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;color:#526e91;font-size:.63rem}
.teacher-summary-refined .teacher-course-card dt .icon{flex:0 0 auto;width:15px;height:15px;color:#0877e8;stroke-width:2.25}
.teacher-summary-refined .teacher-course-card dl div:nth-child(3) dt .icon{color:#07916c}
.teacher-summary-refined .teacher-course-card dd{margin-top:7px;color:var(--summary-navy);font-size:1.08rem;font-weight:900}
.teacher-summary-refined .teacher-course-card footer{margin-top:14px;padding-top:13px;color:#577393;font-size:.73rem}
.teacher-summary-refined .teacher-course-card footer>span{display:flex;align-items:center;gap:6px}
.teacher-summary-refined .teacher-course-card footer>span>.icon{width:17px;height:17px;color:#0877e8}
.teacher-summary-refined .teacher-course-card footer strong{color:#0670df;font-size:.83rem}
.teacher-summary-refined .summary-course-link footer>b{font-size:.72rem;font-weight:850}
.teacher-summary-refined .summary-skills-overview{margin-top:22px;padding:22px 23px;border-color:#c8dff1;border-radius:14px;background:linear-gradient(145deg,#fff 0%,#f7fbff 100%);box-shadow:0 8px 22px rgba(18,66,120,.045)}
.teacher-summary-refined .summary-skills-overview>header{margin-bottom:15px}
.teacher-summary-refined .summary-skills-overview .eyebrow{color:#0877e8;font-size:.68rem;letter-spacing:.22em}
.teacher-summary-refined .summary-skills-overview h2{color:var(--summary-navy);font-size:1.38rem;font-weight:850;letter-spacing:-.02em}
.teacher-summary-refined .summary-skills-overview>header p:last-child{color:#5c7390;font-size:.78rem}
.teacher-summary-refined .summary-skills-overview>header>a{font-size:.75rem}
.teacher-summary-refined .summary-skills-grid{gap:11px}
.teacher-summary-refined .summary-skill-card{gap:13px;padding:15px 16px;border-color:#cfdfed;border-radius:12px;background:rgba(255,255,255,.86);box-shadow:0 4px 12px rgba(17,62,112,.035)}
.teacher-summary-refined .summary-skill-card>div:first-child{grid-template-columns:48px minmax(0,1fr) auto;gap:12px}
.teacher-summary-refined .summary-skill-card>div:first-child>span{width:48px;height:48px;border-radius:11px}
.teacher-summary-refined .summary-skill-card>div:first-child>span .icon{width:24px;height:24px;stroke-width:2.2}
.teacher-summary-refined .summary-skill-tone-1>div:first-child>span{color:#0877e8;background:#dff0ff}
.teacher-summary-refined .summary-skill-tone-2>div:first-child>span{color:#07845b;background:#dff5eb}
.teacher-summary-refined .summary-skill-tone-3>div:first-child>span{color:#d28a00;background:#fff0c9}
.teacher-summary-refined .summary-skill-card strong{color:#0b3268;font-size:.84rem;font-weight:850}
.teacher-summary-refined .summary-skill-card small{color:#68819e;font-size:.66rem}
.teacher-summary-refined .summary-skill-card b{min-width:52px;padding:9px 8px;text-align:center}
.teacher-summary-refined .summary-skill-card .analytics-progress{height:9px;background:#e5edf4}
.teacher-summary-refined .summary-skill-tone-1 .analytics-progress i{background:#1682e7}.teacher-summary-refined .summary-skill-tone-2 .analytics-progress i{background:#10a879}.teacher-summary-refined .summary-skill-tone-3 .analytics-progress i{background:#e3a119}
.a11y-theme-dark .teacher-summary-refined .teacher-kpi,.a11y-theme-dark .teacher-summary-refined .teacher-course-card,.a11y-theme-dark .teacher-summary-refined .summary-skills-overview,.a11y-theme-dark .teacher-summary-refined .summary-skill-card{border-color:#38516e;background:#172a43}
.a11y-theme-dark .teacher-summary-refined .summary-current-date,.a11y-theme-dark .teacher-summary-refined .academic-course-heading p{color:#b9cbe0}
@media(max-width:1100px){.teacher-summary-refined .teacher-kpi{min-height:126px}.teacher-summary-refined .teacher-course-card dt{flex-direction:column}.teacher-summary-refined .teacher-course-card dt span{overflow:hidden;max-width:100%;text-overflow:ellipsis}}
@media(max-width:760px){.teacher-summary-refined .academic-summary-heading{min-height:0;padding-left:17px}.teacher-summary-refined .academic-summary-heading:before{width:4px}.teacher-summary-refined .academic-summary-heading h1{font-size:1.65rem}.teacher-summary-refined .academic-summary-heading p{font-size:.86rem}.summary-current-date{font-size:.72rem}.teacher-summary-refined .teacher-kpi{min-height:133px;padding:14px 31px 14px 13px}.teacher-summary-refined .teacher-kpi .stat-icon-box{flex-basis:46px;width:46px;height:46px}.teacher-summary-refined .teacher-kpi .stat-icon-box .icon{width:24px;height:24px}.teacher-summary-refined .teacher-kpi>div>small{font-size:.72rem}.teacher-summary-refined .teacher-kpi>div>em{font-size:.62rem}.teacher-summary-refined .academic-course-heading{align-items:stretch}.summary-section-title{align-items:flex-start}.teacher-summary-refined .academic-course-heading>.summary-main-action{width:100%;min-width:0}.teacher-summary-refined .teacher-course-card{min-height:0}.teacher-summary-refined .teacher-course-card dt{flex-direction:row}.teacher-summary-refined .summary-skills-overview{padding:19px 15px}}
@media(max-width:520px){.teacher-summary-refined .academic-summary-heading{gap:11px}.summary-current-date{align-self:flex-start}.teacher-summary-refined>.teacher-kpi-grid{grid-template-columns:1fr;gap:10px}.teacher-summary-refined .teacher-kpi{min-height:104px;flex-direction:row;align-items:center;padding:14px 38px 14px 14px}.teacher-summary-refined .teacher-kpi .stat-icon-box{margin:0}.teacher-summary-refined .teacher-kpi>div>strong{font-size:1.6rem}.teacher-summary-refined .teacher-course-card dl{grid-template-columns:repeat(2,1fr)}.teacher-summary-refined .summary-section-title>span{display:none}.teacher-summary-refined .summary-skills-overview>header>a{padding:8px 0}}

/* Panel de seguimiento pedagógico del encargado de Plan Lector. */
.teacher-analytics-dashboard{display:grid;gap:0}.teacher-analytics-hero{position:relative}.teacher-dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:-8px 0 18px;padding:14px 16px;border:1px solid #d3e2f1;border-radius:14px;background:#fff;box-shadow:0 8px 22px rgba(18,65,120,.05)}.teacher-dashboard-toolbar>div{display:flex;align-items:center;gap:12px}.teacher-dashboard-toolbar>div>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#e9f3ff;color:#0a6ed2}.teacher-dashboard-toolbar>div>span .icon{width:21px}.teacher-dashboard-toolbar strong,.teacher-dashboard-toolbar small{display:block}.teacher-dashboard-toolbar strong{color:#123e73;font-size:.78rem}.teacher-dashboard-toolbar small{margin-top:3px;color:#71869f;font-size:.64rem}.teacher-dashboard-toolbar form{display:flex;align-items:center;gap:9px}.teacher-dashboard-toolbar label{color:#496989;font-size:.68rem;font-weight:850}.teacher-dashboard-toolbar select{width:min(360px,42vw);height:43px;padding:0 38px 0 12px;border:1px solid #c4d7ea;border-radius:10px;background:#fafdff;color:#143e71;font:inherit;font-size:.72rem;font-weight:750;outline:none}.teacher-dashboard-toolbar select:focus{border-color:#1880e2;box-shadow:0 0 0 3px rgba(24,128,226,.12)}.teacher-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:7px}.teacher-kpi{display:flex;align-items:center;gap:14px;min-height:118px;padding:19px;border:1px solid #d8e5f2;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(18,63,117,.055)}.teacher-kpi .stat-icon-box{flex:0 0 49px;width:49px;height:49px}.stat-icon-box.purple{background:#eee8ff;color:#714bd1}.teacher-kpi div,.teacher-kpi strong,.teacher-kpi small,.teacher-kpi em{display:block}.teacher-kpi strong{color:#0b356e;font-size:1.7rem;line-height:1}.teacher-kpi small{margin-top:6px;color:#405f83;font-size:.72rem;font-weight:850}.teacher-kpi em{margin-top:4px;color:#8191a5;font-size:.62rem;font-style:normal}.teacher-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.teacher-course-card{padding:19px;border:1px solid #d8e4f0;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(19,61,110,.05);transition:border-color .16s,box-shadow .16s,transform .16s}.teacher-course-card:hover{border-color:#9ec6ed;box-shadow:0 12px 28px rgba(19,83,153,.09);transform:translateY(-2px)}.teacher-course-card.selected{border-color:#1880e2;box-shadow:0 0 0 3px rgba(24,128,226,.11),0 12px 28px rgba(19,83,153,.09)}.teacher-course-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.teacher-course-card h3{margin:3px 0 0;color:#123b70;font-size:1.05rem}.teacher-course-card header small{color:#7287a1;font-size:.64rem}.analytics-score{display:inline-grid;place-items:center;min-width:52px;padding:7px 9px;border-radius:9px;font-size:.78rem;font-weight:900}.analytics-score.high{background:#e3f6ed;color:#087250}.analytics-score.medium{background:#fff3d5;color:#976415}.analytics-score.low{background:#fee9ec;color:#bd3248}.analytics-progress{height:7px;margin:15px 0;overflow:hidden;border-radius:99px;background:#e9eff6}.analytics-progress i{display:block;width:min(100%,var(--progress,0%));height:100%;border-radius:inherit;background:linear-gradient(90deg,#1682e7,#21b786)}.teacher-course-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:0}.teacher-course-card dl div{padding:8px 5px;border-radius:8px;background:#f6f9fc;text-align:center}.teacher-course-card dt{color:#70849c;font-size:.58rem}.teacher-course-card dd{margin:3px 0 0;color:#153e70;font-size:.92rem;font-weight:900}.teacher-course-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid #e8edf3;color:#607895;font-size:.72rem}.teacher-course-card footer strong{margin-left:3px;color:#0c5fb9;font-size:.88rem}.teacher-course-detail{display:inline-flex;align-items:center;gap:5px;color:#0870d7;font-size:.67rem;font-weight:850;text-decoration:none}.teacher-course-detail .icon{width:15px}.teacher-course-detail:hover{text-decoration:underline}.teacher-analytics-table{overflow-x:auto}.teacher-analytics-table table{min-width:920px}.teacher-analytics-table td>strong,.teacher-analytics-table td>small{display:block}.teacher-analytics-table td>small{margin-top:3px;color:#7a8da5;font-size:.64rem}.metric-positive,.metric-negative{display:inline-flex;min-width:30px;justify-content:center;padding:5px 8px;border-radius:8px;font-weight:900}.metric-positive{background:#e4f7ee;color:#08744f}.metric-negative{background:#ffeaed;color:#be3349}.teacher-analysis-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:30px}.analytics-panel{padding:22px;border:1px solid #d8e4f0;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(19,61,110,.05)}.analytics-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:16px}.analytics-panel h2,.analytics-panel p{margin:0}.analytics-panel h2{margin-top:3px;color:#143b6c;font-size:1.12rem}.analytics-panel>header>span{padding:5px 8px;border-radius:7px;background:#f0f5fb;color:#66809c;font-size:.61rem;font-weight:800}.skill-performance-list{display:grid;gap:10px}.skill-performance-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:11px 13px;border:1px solid #e1e9f2;border-radius:11px}.skill-performance-list article>div>strong,.skill-performance-list article>div>small{display:block}.skill-performance-list article>div>strong{color:#244d78;font-size:.78rem}.skill-performance-list article>div>small{margin-top:3px;color:#7b8da3;font-size:.6rem}.skill-performance-list .analytics-progress{grid-column:1/-1;margin:5px 0 0}.area-performance-list{display:grid;gap:9px}.area-performance-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-radius:11px;background:#f6f9fc}.area-performance-list strong,.area-performance-list small{display:block}.area-performance-list strong{color:#274e79;font-size:.75rem}.area-performance-list small{margin-top:3px;color:#7a8ca2;font-size:.59rem}.area-performance-list b{padding:6px 8px;border-radius:8px;font-size:.76rem}.area-performance-list b.high{background:#e3f6ed;color:#087250}.area-performance-list b.medium{background:#fff3d5;color:#976415}.area-performance-list b.low{background:#fee9ec;color:#bd3248}.analytics-status{display:inline-flex;padding:5px 8px;border-radius:99px;font-size:.62rem;font-weight:850;white-space:nowrap}.analytics-status.success{background:#e2f5eb;color:#08714e}.analytics-status.warning{background:#fff2d2;color:#946115}.analytics-status.critical{background:#fee7eb;color:#b92d45}.analytics-empty{padding:25px 10px;color:#768ba4;text-align:center;font-size:.75rem}
.a11y-theme-dark .teacher-dashboard-toolbar,.a11y-theme-dark .teacher-kpi,.a11y-theme-dark .teacher-course-card,.a11y-theme-dark .analytics-panel{border-color:#344c68;background:#172a43}.a11y-theme-dark .teacher-dashboard-toolbar strong,.a11y-theme-dark .teacher-kpi strong,.a11y-theme-dark .teacher-course-card h3,.a11y-theme-dark .analytics-panel h2,.a11y-theme-dark .skill-performance-list article>div>strong,.a11y-theme-dark .area-performance-list strong{color:#eef6ff}.a11y-theme-dark .teacher-dashboard-toolbar select{border-color:#45627f;background:#10253e;color:#fff}.a11y-theme-dark .teacher-course-card dl div,.a11y-theme-dark .area-performance-list article,.a11y-theme-dark .analytics-panel>header>span{background:#203850}.a11y-theme-dark .skill-performance-list article{border-color:#344c68}.a11y-theme-dark .teacher-course-card footer{border-color:#344c68}
@media(max-width:1100px){.teacher-kpi-grid{grid-template-columns:repeat(2,1fr)}.teacher-course-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.teacher-analytics-hero{min-height:235px;align-items:flex-start}.teacher-analytics-hero .hero-action{position:absolute;bottom:20px;left:20px}.teacher-dashboard-toolbar{align-items:stretch;flex-direction:column}.teacher-dashboard-toolbar form{align-items:stretch;flex-direction:column}.teacher-dashboard-toolbar select{width:100%}.teacher-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.teacher-kpi{min-height:108px;padding:13px 11px;align-items:flex-start;flex-direction:column;gap:9px}.teacher-kpi .stat-icon-box{width:40px;height:40px;flex-basis:40px}.teacher-kpi strong{font-size:1.4rem}.teacher-course-grid,.teacher-analysis-grid{grid-template-columns:1fr}.teacher-course-card{padding:16px}.analytics-panel{padding:17px 14px}.teacher-analytics-dashboard .section-head{align-items:flex-start}.teacher-analytics-dashboard .section-head p:last-child{font-size:.72rem}}
@media(max-width:420px){.teacher-kpi-grid{grid-template-columns:1fr 1fr}.teacher-kpi em{font-size:.57rem}.teacher-course-card dl{grid-template-columns:repeat(2,1fr)}}

/* Contexto institucional permanente en la cabecera de todos los perfiles. */
.topbar-school-context{display:flex;align-items:center;gap:10px;min-width:190px;max-width:300px;height:64px;padding:9px 13px;border:1px solid #cfe0f1;border-radius:12px;background:linear-gradient(145deg,#f8fbff,#eef6ff);box-shadow:0 5px 15px rgba(19,69,126,.055)}.topbar-school-context>span{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:10px;background:#0873df;color:#fff}.topbar-school-context>span .icon{width:20px}.topbar-school-context>div{min-width:0}.topbar-school-context small,.topbar-school-context strong{display:block}.topbar-school-context small{margin-bottom:3px;color:#5980a8;font-size:.55rem;font-weight:900;letter-spacing:.07em}.topbar-school-context strong{overflow:hidden;color:#0b376e;font-size:.76rem;font-weight:850;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.student-school-context{display:grid;flex:0 0 auto;max-width:170px;padding:8px 11px;border:1px solid rgba(255,255,255,.55);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 5px 14px rgba(0,39,97,.12)}.student-school-context small,.student-school-context strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-school-context small{color:#5e80a4;font-size:.49rem;font-weight:900;letter-spacing:.06em}.student-school-context strong{margin-top:2px;color:#075dbf;font-size:.67rem;font-weight:900}.a11y-theme-dark .topbar-school-context{border-color:#3b5877;background:#17314d}.a11y-theme-dark .topbar-school-context small{color:#b9d1ea}.a11y-theme-dark .topbar-school-context strong{color:#fff}.a11y-theme-contrast .topbar-school-context{border:2px solid #000;background:#fff}.a11y-theme-contrast .topbar-school-context small,.a11y-theme-contrast .topbar-school-context strong{color:#000}
@media(max-width:1180px) and (min-width:721px){.topbar-school-context{min-width:160px;max-width:220px}.topbar-school-context>span{display:none}}
@media(max-width:720px){.topbar-school-context{min-width:0;max-width:min(46vw,175px);height:48px;margin-left:auto;padding:6px 9px}.topbar-school-context>span{display:none}.topbar-school-context small{font-size:.47rem}.topbar-school-context strong{font-size:.65rem}.role-estudiante .topbar>.topbar-school-context{display:none}.student-school-context{max-width:46vw}}
@media(max-width:390px){.student-school-context{max-width:43vw;padding-inline:9px}.student-school-context strong{font-size:.61rem}}

/* Respuestas individuales visibles para el encargado de Plan Lector. */
.teacher-answer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-answer-card{display:grid;gap:13px;padding:18px;border:1px solid #d8e5f2;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(18,63,117,.05)}.teacher-answer-card>header,.teacher-answer-card>footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.teacher-answer-card>header strong,.teacher-answer-card>header small{display:block}.teacher-answer-card>header strong{color:#113d72;font-size:.82rem}.teacher-answer-card>header small{margin-top:3px;color:#71869f;font-size:.62rem}.teacher-answer-question{margin:0;color:#274d77;font-size:.75rem;font-weight:800;line-height:1.45}.teacher-answer-response{padding:12px 13px;border-radius:11px;background:#f3f8fd}.teacher-answer-response small{color:#68829e;font-size:.54rem;font-weight:900;letter-spacing:.06em}.teacher-answer-response p{margin:5px 0 0;color:#183e69;font-size:.75rem;line-height:1.45}.teacher-answer-card>footer{padding-top:11px;border-top:1px solid #e7edf4;color:#71849b;font-size:.62rem}.teacher-answer-card>footer strong{color:#164a82}.a11y-theme-dark .teacher-answer-card{border-color:#344c68;background:#172a43}.a11y-theme-dark .teacher-answer-card>header strong,.a11y-theme-dark .teacher-answer-question,.a11y-theme-dark .teacher-answer-response p{color:#eef6ff}.a11y-theme-dark .teacher-answer-response{background:#203850}.a11y-theme-dark .teacher-answer-card>footer{border-color:#344c68}@media(max-width:760px){.teacher-answer-list{grid-template-columns:1fr}.teacher-answer-card{padding:15px}}

.answered-students-panel{margin:0 0 18px;padding:20px;border:1px solid #b9d8f5;border-radius:17px;background:linear-gradient(145deg,#fafdff,#eef7ff);box-shadow:0 9px 25px rgba(18,83,150,.07)}.answered-students-panel>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.answered-students-panel h2,.answered-students-panel p{margin:0}.answered-students-panel h2{color:#0c3e76;font-size:1.13rem}.answered-students-panel>header p:last-child{margin-top:4px;color:#6d8299;font-size:.68rem}.answered-students-panel>header>strong{display:grid;place-items:center;min-width:50px;height:50px;border-radius:13px;background:#0877df;color:#fff;font-size:1.35rem}.answered-students-grid{display:grid;gap:10px}.answered-students-grid article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid #d7e6f4;border-radius:12px;background:#fff}.answered-students-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#e4f2ff;color:#0871d6}.answered-students-grid article>span .icon{width:21px}.answered-students-grid strong,.answered-students-grid small{display:block}.answered-students-grid strong{color:#123f74;font-size:.82rem}.answered-students-grid small{margin-top:2px;color:#71869d;font-size:.62rem}.answered-students-grid p{margin-top:5px;color:#466787;font-size:.65rem}.answered-students-grid a{display:flex;align-items:center;gap:5px;color:#0870d7;font-size:.67rem;font-weight:850;text-decoration:none}.answered-students-grid a .icon{width:15px}.answered-students-empty{display:flex;align-items:center;gap:10px;padding:13px;border-radius:11px;background:#fff;color:#607995;font-size:.72rem}.answered-students-empty>span{color:#7192b5}.a11y-theme-dark .answered-students-panel,.a11y-theme-dark .answered-students-grid article,.a11y-theme-dark .answered-students-empty{border-color:#385674;background:#172a43}.a11y-theme-dark .answered-students-panel h2,.a11y-theme-dark .answered-students-grid strong{color:#eef6ff}@media(max-width:720px){.answered-students-panel{padding:16px 13px}.answered-students-grid article{grid-template-columns:38px minmax(0,1fr)}.answered-students-grid article>span{width:38px;height:38px}.answered-students-grid article>a{grid-column:2}}

.school-students-panel{margin-bottom:18px;padding:24px;border:1px solid #cbdff2;border-radius:17px;background:#fff;box-shadow:0 8px 23px rgba(18,63,117,.055)}.school-students-panel>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.school-students-panel h2,.school-students-panel p{margin:0}.school-students-panel h2{color:#113e73;font-size:1.35rem}.school-students-panel>header p:last-child{margin-top:6px;color:#5f7690;font-size:.82rem;line-height:1.45}.school-students-panel>header>strong{display:grid;place-items:center;min-width:56px;height:56px;border-radius:14px;background:#e9f3ff;color:#0870d6;font-size:1.55rem}.school-students-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.school-students-list article{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:104px;padding:17px;border:1px solid #dce7f1;border-radius:13px;background:#fafdff}.school-students-list article[hidden]{display:none}.school-students-list article>div:first-child{display:flex;align-items:center;min-width:0;gap:13px}.school-students-list article>div:first-child>span{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:11px;background:#e5f2ff;color:#0871d7}.school-students-list article>div:first-child>span .icon{width:22px}.school-students-list strong,.school-students-list small{display:block}.school-students-list article>div:first-child strong{overflow:hidden;color:#173f70;font-size:.92rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.school-students-list article>div:first-child small{margin-top:6px;color:#5f7690;font-size:.72rem;line-height:1.35}.school-student-result{flex:0 0 auto;text-align:right}.school-student-result .analytics-status{font-size:.72rem}.school-student-result>strong{margin-top:7px;color:#113f74;font-size:1.1rem}.school-student-result>small{margin-top:4px;color:#667d96;font-size:.69rem}.school-students-panel>.table-pagination{margin:14px 0 0;border:1px solid #dbe6f1;border-radius:12px;background:#fafdff}.school-students-panel>.table-pagination p,.school-students-panel>.table-pagination button{font-size:.8rem}.a11y-theme-dark .school-students-panel,.a11y-theme-dark .school-students-list article{border-color:#38516e;background:#172a43}.a11y-theme-dark .school-students-panel h2,.a11y-theme-dark .school-students-list article>div:first-child strong,.a11y-theme-dark .school-student-result>strong{color:#eef6ff}@media(max-width:800px){.school-students-list{grid-template-columns:1fr}.school-students-panel{padding:18px 14px}.school-students-list article{min-height:96px;padding:15px}.school-students-list article>div:first-child strong{font-size:.86rem}.school-students-list article>div:first-child small{font-size:.68rem}}

/* Orden visual del resumen académico del encargado. */
.academic-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 18px}.academic-summary-heading h1,.academic-summary-heading p{margin:0}.academic-summary-heading h1{color:#0a2f61;font-size:1.85rem;line-height:1.15}.academic-summary-heading p{margin-top:6px;color:#476684;font-size:1rem}.academic-summary-heading aside{display:flex;align-items:center;gap:12px;min-width:300px;padding:16px 20px;border-radius:10px;background:linear-gradient(135deg,#eaf4ff,#f4f9ff);color:#0870d7}.academic-summary-heading aside .icon{width:30px;height:30px}.academic-summary-heading aside em{color:#1264b5;font-size:.86rem;font-weight:800}.teacher-analytics-dashboard>.teacher-kpi-grid{gap:14px;margin:0 0 20px}.teacher-analytics-dashboard .teacher-kpi{min-height:116px;padding:17px 20px;border-radius:9px}.teacher-analytics-dashboard .teacher-kpi .stat-icon-box{flex-basis:66px;width:66px;height:66px;border-radius:10px}.teacher-analytics-dashboard .teacher-kpi .stat-icon-box .icon{width:34px;height:34px}.teacher-analytics-dashboard .teacher-kpi>div>strong{font-size:2rem}.teacher-analytics-dashboard .teacher-kpi>div>small{font-size:.88rem}.teacher-analytics-dashboard .teacher-kpi>div>em{font-size:.76rem}.academic-course-heading{margin:0 0 14px;padding-top:16px;border-top:1px solid #d8e4f0}.academic-course-heading h2{font-size:1.35rem}.academic-course-heading p{font-size:.86rem}.academic-course-heading>.btn{min-width:175px;background:#fff;color:#0870d7;border-color:#1680e8}.teacher-analytics-dashboard>.teacher-course-grid{margin-bottom:34px}.teacher-analytics-dashboard .teacher-course-card{padding:20px;border-radius:9px}.teacher-analytics-dashboard .teacher-course-card h3{font-size:1.18rem}.teacher-analytics-dashboard .teacher-course-card header small{font-size:.75rem}.teacher-analytics-dashboard .teacher-course-card dt{font-size:.7rem}.teacher-analytics-dashboard .teacher-course-card dd{font-size:1.08rem}.teacher-analytics-dashboard .teacher-course-card footer{font-size:.82rem}.teacher-analytics-dashboard .teacher-course-detail{font-size:.78rem}.teacher-analytics-dashboard>.school-students-panel{margin-top:6px}.a11y-theme-dark .academic-summary-heading h1{color:#f3f8ff}.a11y-theme-dark .academic-summary-heading p{color:#c0d0e2}.a11y-theme-dark .academic-summary-heading aside{background:#17314d}.a11y-theme-dark .academic-course-heading{border-color:#344c68}@media(max-width:900px){.academic-summary-heading aside{min-width:0}.teacher-analytics-dashboard>.teacher-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.academic-summary-heading{align-items:flex-start;flex-direction:column}.academic-summary-heading h1{font-size:1.55rem}.academic-summary-heading p{font-size:.88rem}.academic-summary-heading aside{width:100%;padding:12px 14px}.teacher-analytics-dashboard>.teacher-kpi-grid{grid-template-columns:1fr 1fr}.teacher-analytics-dashboard .teacher-kpi{min-height:128px;padding:14px;flex-direction:column;align-items:flex-start}.teacher-analytics-dashboard .teacher-kpi .stat-icon-box{width:48px;height:48px;flex-basis:48px}.teacher-analytics-dashboard .teacher-kpi .stat-icon-box .icon{width:25px}.teacher-analytics-dashboard .teacher-kpi>div>strong{font-size:1.55rem}.academic-course-heading{align-items:flex-start;flex-direction:column}.academic-course-heading>.btn{width:100%}}

.academic-summary-heading aside>a{display:flex;align-items:center;gap:9px;color:#086cca;font-size:.84rem;font-weight:850;text-decoration:none}.academic-summary-heading aside>a:hover{text-decoration:underline}.summary-link-card{position:relative;color:inherit;text-decoration:none;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.summary-link-card>b{position:absolute;right:14px;bottom:12px;color:#1680e8;opacity:0;transform:translateX(-5px);transition:opacity .18s ease,transform .18s ease}.summary-link-card>b .icon{width:18px}.summary-link-card:hover,.summary-link-card:focus-visible{border-color:#75b1ec;box-shadow:0 13px 30px rgba(16,91,170,.13);transform:translateY(-3px)}.summary-link-card:hover>b,.summary-link-card:focus-visible>b{opacity:1;transform:none}.summary-course-link{display:block;color:inherit;text-decoration:none;cursor:pointer}.summary-course-link footer>b{display:flex;align-items:center;gap:5px;color:#0870d7;font-size:.78rem}.summary-course-link footer>b .icon{width:16px}.summary-course-link:hover footer>b{text-decoration:underline}.teacher-summary-only>.teacher-kpi-grid{margin-bottom:20px}.teacher-summary-only>.summary-course-grid{margin-bottom:0}

.summary-skills-overview{margin-top:28px;padding:24px;border:1px solid #d4e2f0;border-radius:15px;background:#fff;box-shadow:0 9px 26px rgba(17,65,119,.055)}.summary-skills-overview>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.summary-skills-overview h2,.summary-skills-overview p{margin:0}.summary-skills-overview h2{margin-top:3px;color:#0d376c;font-size:1.3rem}.summary-skills-overview>header p:last-child{margin-top:5px;color:#667d96;font-size:.82rem}.summary-skills-overview>header>a{display:flex;align-items:center;gap:6px;color:#0870d7;font-size:.8rem;font-weight:850;text-decoration:none}.summary-skills-overview>header>a:hover{text-decoration:underline}.summary-skills-overview>header>a .icon{width:16px}.summary-skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.summary-skill-card{display:grid;gap:13px;padding:17px;border:1px solid #dce7f2;border-radius:13px;background:#f9fcff;color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.summary-skill-card:hover,.summary-skill-card:focus-visible{border-color:#7bb5ed;box-shadow:0 10px 23px rgba(17,91,167,.11);transform:translateY(-2px)}.summary-skill-card>div:first-child{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px}.summary-skill-card>div:first-child>span{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#e5f2ff;color:#0871d7}.summary-skill-card>div:first-child>span .icon{width:20px}.summary-skill-card strong,.summary-skill-card small{display:block}.summary-skill-card strong{color:#123e72;font-size:.9rem}.summary-skill-card small{margin-top:4px;color:#6d829a;font-size:.68rem}.summary-skill-card b{padding:7px 9px;border-radius:9px;font-size:.9rem}.summary-skill-card b.high{background:#e2f5eb;color:#08714e}.summary-skill-card b.medium{background:#fff1d0;color:#946115}.summary-skill-card b.low{background:#fee7eb;color:#b92d45}.summary-skill-card .analytics-progress{height:8px;margin:0}.summary-skills-empty{display:flex;align-items:center;gap:13px;padding:17px;border:1px dashed #cbdceb;border-radius:12px;background:#f9fcff}.summary-skills-empty>span{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#e7f2fe;color:#0870d7}.summary-skills-empty strong{color:#173f70}.summary-skills-empty p{margin-top:3px;color:#6b8097;font-size:.76rem}.summary-skills-empty>a{display:flex;align-items:center;gap:5px;margin-left:auto;color:#0870d7;font-size:.78rem;font-weight:850;text-decoration:none}.summary-skills-empty>a .icon{width:15px}.a11y-theme-dark .summary-skills-overview,.a11y-theme-dark .summary-skill-card,.a11y-theme-dark .summary-skills-empty{border-color:#38516e;background:#172a43}.a11y-theme-dark .summary-skills-overview h2,.a11y-theme-dark .summary-skill-card strong,.a11y-theme-dark .summary-skills-empty strong{color:#eef6ff}@media(max-width:980px){.summary-skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.summary-skills-overview{padding:18px 14px}.summary-skills-overview>header{align-items:flex-start;flex-direction:column}.summary-skills-grid{grid-template-columns:1fr}.summary-skills-empty{align-items:flex-start;flex-wrap:wrap}.summary-skills-empty>a{width:100%;margin-left:55px}}

/* Autoría multimedia y apoyos de lectura */
.rich-editor{min-width:0;margin:20px 0}.rich-toolbar{display:flex;flex-wrap:wrap;gap:5px;padding:10px;background:#f0f5fc;border:1px solid #cbd9ee;border-radius:10px 10px 0 0}.rich-toolbar[hidden],.rich-surface[hidden],[data-adaptation-fields][hidden]{display:none}.rich-toolbar button{min-height:40px;min-width:40px;padding:6px 10px;border:1px solid #cbd9ee;border-radius:6px;background:#fff;color:#123965;cursor:pointer}.rich-toolbar button:hover{background:#e1edff}.rich-toolbar button:focus-visible,.rich-surface:focus-visible{outline:3px solid #1673e6;outline-offset:2px}.rich-surface{min-height:340px;padding:20px;border:1px solid #cbd9ee;border-top:0;border-radius:0 0 10px 10px;background:#fff;line-height:1.8;overflow-wrap:anywhere}.rich-surface[contenteditable=false]{background:#f5f7fa}.rich-surface p,.reading-text p{margin:0 0 1em}.rich-surface ul,.rich-surface ol,.reading-text ul,.reading-text ol{padding-left:1.8em}.rich-surface img,.reading-text img{display:block;max-width:100%;height:auto;margin:1em auto}.rich-surface iframe,.reading-text iframe{display:block;width:100%;max-width:760px;aspect-ratio:16/9;height:auto;border:0;margin:1em auto}.rich-status{display:block;margin-top:8px}.adaptation-editor{border-top:4px solid #3379c6}.adaptation-editor>.check-row{font-size:1.05rem}.adaptation-editor [data-adaptation-fields]{margin-top:20px}.adapted-reading .reading-text{font-size:1.3rem;line-height:2;letter-spacing:.02em;max-width:65ch;margin:auto;text-align:left}.adapted-reading .reading-text p{margin-bottom:1.5em}.adapted-reading .question-card{margin:28px 0;padding:28px}.adapted-reading .question-card legend{font-size:1.15rem;line-height:1.7}.adapted-reading .option{padding:18px;line-height:1.7}.adapted-reading .question-skills{display:none}.adapted-reading .activity-timer{display:none}
@media(max-width:600px){.rich-surface{padding:14px;min-height:280px}.rich-toolbar button{min-height:44px}.adapted-reading .question-card{padding:18px}.adapted-reading .reading-text{font-size:1.2rem}}
.adapted-reading .reading-text{font-family:Nunito,Arial,sans-serif}.adapted-reading .instructions{white-space:pre-line}
.rich-ribbon-title{margin-top:8px;padding:10px 14px;border:1px solid #cad9ed;border-bottom:0;border-radius:10px 10px 0 0;background:#e7f0fc;color:#0b4b91;font-weight:800}.rich-ribbon-title span{margin-left:20px;color:#56708f;font-size:.8rem;font-weight:500}.rich-ribbon-title+.rich-toolbar{border-radius:0}.rich-editor>[data-rich-source][hidden]{display:none!important}.rich-toolbar button{box-shadow:0 1px 2px #1239650c}.rich-surface{font-weight:400}.question-adaptation-button{margin-left:auto;flex-shrink:0}.question-editor>header{flex-wrap:wrap;gap:10px}[data-question-group="preguntas_adaptadas"] .question-adaptation-button{display:none}.questions-heading{flex-wrap:wrap}.questions-heading>button{margin-left:0}.adaptation-supports{padding:18px;margin:0 0 24px;background:#eff6ff;border:1px solid #cadcf5;border-radius:12px}.adaptation-supports h3{margin-top:0}.adaptation-supports .check-row{display:flex;align-items:center;gap:10px;margin:12px 0}.adaptation-supports small{display:block;color:#526f90}.reading-support-bar{margin:18px 0}.speech-player,.reading-font-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0;padding:12px;border:1px solid #cbdff2;border-radius:12px;background:#f1f7ff}.speech-player button,.reading-font-controls button,.speech-player select{min-height:42px;border:1px solid #b8cee8;border-radius:8px;padding:8px 12px;color:#123e73;background:#fff;font:inherit;font-size:.88rem;cursor:pointer}.speech-player [data-speech-start]{background:#0867cf;color:#fff;border-color:#0867cf}.speech-player button:disabled{opacity:.55;cursor:default}.speech-player label{display:flex;gap:7px;align-items:center;font-size:.85rem}.speech-player small{flex-basis:100%;color:#486783}.speech-player small:empty{display:none}.speech-player button:focus-visible,.reading-font-controls button:focus-visible{outline:3px solid #e6ad00;outline-offset:2px}.adaptation-editor{scroll-margin-top:150px}
@media(max-width:600px){.question-adaptation-button{font-size:.8rem;margin-left:0}.rich-ribbon-title span{margin-left:10px}.speech-player{padding:9px;gap:6px}.speech-player button{min-height:44px;padding:8px}.speech-player label{flex-basis:100%}}

/* Edición por pestañas: una pregunta, dos versiones. */
.editor-form [hidden]{display:none!important}.question-pair{margin:20px 0;border:1px solid #cfdded;border-radius:14px;background:#fff;overflow:hidden;scroll-margin-top:145px}.question-pair>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px}.question-pair>header h3{margin:0;color:#123e72;font-size:1rem}.question-pair>header .danger{font-size:.78rem}.version-tabs{display:flex;gap:6px;padding:0 18px;border-bottom:1px solid #d7e2f0}.version-tabs button{min-height:46px;padding:10px 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:#64758b;font:inherit;font-weight:700;cursor:pointer}.version-tabs button[aria-selected=true]{color:#0867c9;border-color:#0867c9;background:#f1f7ff;border-radius:8px 8px 0 0}.version-tabs button:focus-visible{outline:3px solid #efbd32;outline-offset:-3px}.version-panel{padding:18px 20px}.question-pair .question-editor{padding:0;margin:0;background:transparent;border:0;border-radius:0}.question-pair .question-editor>header{display:none}.question-options{margin-top:18px;border-top:1px solid #e5ecf5;padding-top:12px}.question-options>summary,.adaptation-options>summary{cursor:pointer;color:#526d8e;font-size:.84rem;padding:6px 0}.question-options[open]>.form-grid{padding:15px 0 0}.question-options .feedback-field{grid-column:1/-1;margin:0}.question-pair .question-editor .answer-panel{border:0;padding:0;margin-top:18px}.question-pair .question-editor .answer-panel .field-hint{margin:8px 0}.question-pair .alternatives-grid{gap:9px}.reading-versions{min-width:0;margin-top:14px}.reading-versions>.version-tabs{padding:0}.reading-versions>.version-panel{padding:0}.reading-versions .rich-editor{margin-top:14px}.reading-versions .rich-surface{min-height:280px}.adaptation-settings{padding:12px 16px;border-radius:10px;background:#f4f8fe;margin-bottom:18px}.adaptation-settings>.check-row{display:flex;align-items:center;gap:9px;font-size:.9rem;font-weight:700}.adaptation-settings .adaptation-options{margin-top:6px}.adaptation-settings .adaptation-supports{padding:12px 0;background:transparent;border:0;margin:0}.adaptation-supports>h3,.adaptation-supports>p,.adaptation-supports>small{display:none}.adaptation-settings [data-copy-adaptation]{font-size:.8rem;margin-top:10px}.adaptation-settings .editor-fieldset:disabled{opacity:.6}.question-pair [data-question-variant]>.field-hint{margin:0;padding:12px 0}.a11y-theme-dark .question-pair{background:#172a43;border-color:#38516e}.a11y-theme-dark .question-pair>header h3{color:#eef6ff}.a11y-theme-dark .version-tabs button{color:#bbd0e9}.a11y-theme-dark .version-tabs button[aria-selected=true]{background:#213c5d;color:#fff}.a11y-theme-dark .adaptation-settings{background:#21334d}
@media(max-width:600px){.question-pair>header{padding:12px 14px}.version-tabs{padding:0 9px;gap:0}.version-tabs button{padding:10px 12px;font-size:.87rem;flex:1}.version-panel{padding:16px 14px}.question-pair>header .danger{font-size:.7rem}.adaptation-settings{padding:12px}.question-options>summary{font-size:.8rem}}
.student-adaptation-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px;margin:12px 0;border:1px solid #d8e6f5;border-radius:14px;background:#f5f9ff}
.student-adaptation-bar>div:first-of-type{max-width:700px}.student-adaptation-bar p{margin:6px 0;color:#526b8b;font-size:.9rem;line-height:1.5}.student-adaptation-bar summary{cursor:pointer;font-size:.85rem;color:#155bad}.student-adaptation-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;min-width:210px}.student-adaptation-actions small{flex-basis:100%;text-align:right;color:#526b8b}.student-adaptation-cell label{display:flex;align-items:center;gap:9px;white-space:nowrap;cursor:pointer}.student-adaptation-cell input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:#086ee5}.student-adaptation-cell span{font-size:.85rem}.student-adaptation-cell input:checked+span{color:#1355a1;font-weight:600}
@media(max-width:700px){.student-adaptation-bar{align-items:stretch;flex-direction:column;gap:14px}.student-adaptation-actions{justify-content:flex-start}.student-adaptation-actions small{text-align:left}}
.admin-users-page{grid-template-columns:minmax(0,1fr)}.admin-users-directory{min-width:0;max-width:100%}.admin-users-directory .table-wrap{max-width:100%;overflow-x:auto}.student-adaptation-bar .btn:disabled{opacity:.5;cursor:default}

/* Identidad visual del modo de edición. */
.editor-mode-banner{display:flex;align-items:center;gap:13px;margin:0 0 17px;padding:14px 17px;border:1px solid #bdd7f4;border-radius:13px;background:linear-gradient(135deg,#edf6ff,#f8fbff);color:#124c8d;box-shadow:0 7px 20px rgba(26,90,160,.08);transition:background .2s,border-color .2s,color .2s}.editor-mode-banner>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:11px;background:#0874e7;color:#fff;font-size:1.05rem;font-weight:900}.editor-mode-banner strong,.editor-mode-banner small{display:block}.editor-mode-banner strong{font-size:.95rem}.editor-mode-banner small{margin-top:3px;color:#537497;font-size:.76rem}.editor-form .form-card,.editor-form .question-pair,.editor-form .rich-toolbar,.editor-form .rich-ribbon-title{transition:background .2s,border-color .2s,box-shadow .2s}.editor-form.is-neuro-mode .editor-mode-banner{border-color:#c7b5f8;background:linear-gradient(135deg,#f0eaff,#faf8ff);color:#55349e;box-shadow:0 8px 24px rgba(100,61,180,.13)}.editor-form.is-neuro-mode .editor-mode-banner>span{background:linear-gradient(145deg,#8057e8,#6135c7)}.editor-form.is-neuro-mode .editor-mode-banner small{color:#735da4}.editor-form.is-neuro-mode>.editor-fieldset>.form-card{border-color:#cdbcf3;background:linear-gradient(145deg,#fff 50%,#faf7ff);box-shadow:0 11px 30px rgba(88,52,162,.09)}.editor-form.is-neuro-mode .card-heading>span{background:#7045d7;color:#fff}.editor-form.is-neuro-mode .question-pair{border-color:#c8b6ef;background:#fdfbff;box-shadow:0 5px 16px rgba(91,56,160,.07)}.editor-form.is-neuro-mode .question-pair>header{background:#f5f0ff}.editor-form.is-neuro-mode .question-pair>header h3{color:#5835a1}.editor-form.is-neuro-mode .version-tabs{border-color:#d9cdf4;background:#fbf9ff}.editor-form.is-neuro-mode .version-tabs button[aria-selected=true]{border-color:#7246d8;background:#f0eaff;color:#5d36b1}.editor-form.is-neuro-mode .rich-ribbon-title,.editor-form.is-neuro-mode .rich-toolbar{border-color:#ccbaf0;background:#f0eaff;color:#5936a3}.editor-form.is-neuro-mode .rich-surface{border-color:#c8b6ed}.editor-form.is-neuro-mode .adaptation-settings{border:1px solid #cfbef4;background:#f3edff}.editor-form.is-neuro-mode .btn.primary,.editor-form.is-neuro-mode .add-question-wide{border-color:#693acb;background:#693acb;color:#fff}.reading-editor-neuro .page-heading .eyebrow,.reading-editor-neuro .page-heading h1{color:#603bb6}.reading-editor-neuro .step-badge{border-color:#cbb9ef;background:#f2edff;color:#603bab}
.adaptation-options>summary{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;padding:9px 0}.adaptation-options>summary strong{color:inherit}.adaptation-options>summary small{flex-basis:100%;margin-left:18px;color:#6b7f97;font-weight:400}.adaptation-settings .adaptation-supports>h3,.adaptation-settings .adaptation-supports>p{display:block}.adaptation-supports .support-intro{margin:4px 0 13px;color:#685990;font-size:.78rem}.adaptation-support-card{display:flex;align-items:flex-start;gap:11px;margin:9px 0;padding:12px;border:1px solid #d8cdf1;border-radius:11px;background:#fff;cursor:pointer}.adaptation-support-card>input{flex:0 0 auto;width:19px;height:19px;margin:2px 0 0;accent-color:#6e42d1}.adaptation-support-card span,.adaptation-support-card strong,.adaptation-support-card small{display:block}.adaptation-support-card strong{color:#38266a;font-size:.85rem}.adaptation-support-card small{margin-top:4px;color:#65748a;font-size:.74rem;line-height:1.45}.adaptation-supports .support-footnote{display:block;margin:13px 0 0;padding:11px 13px;border-radius:9px;background:#eee8fb;color:#59457f;font-size:.74rem;line-height:1.5}
@media(max-width:600px){.editor-mode-banner{align-items:flex-start;padding:12px}.editor-mode-banner small{line-height:1.4}.adaptation-support-card{padding:10px}.reading-editor-neuro .page-heading{border-color:#cbb9ef}}
.a11y-theme-dark .editor-form.is-neuro-mode .editor-mode-banner,.a11y-theme-dark .editor-form.is-neuro-mode>.editor-fieldset>.form-card,.a11y-theme-dark .editor-form.is-neuro-mode .question-pair,.a11y-theme-dark .editor-form.is-neuro-mode .question-pair>header,.a11y-theme-dark .editor-form.is-neuro-mode .version-tabs{border-color:#8265bd;background:#211a35;color:#fff}.a11y-theme-dark .adaptation-support-card{border-color:#745da0;background:#172a43}.a11y-theme-dark .adaptation-support-card strong{color:#fff}.a11y-theme-dark .adaptation-support-card small{color:#d1c7e9}

/* Formato enriquecido en instrucciones y preguntas. */
.question-rich-editor,.instructions-rich-editor{grid-column:1/-1}.question-rich-editor .rich-surface{min-height:120px}.instructions-rich-editor .rich-surface{min-height:105px}.question-rich-editor .rich-ribbon-title,.instructions-rich-editor .rich-ribbon-title{margin-top:5px}.question-rich-prompt{clear:both;margin:0 0 10px;padding:4px 10px;color:#183b68;font-size:1rem;font-weight:650;line-height:1.55}.question-rich-prompt> :first-child,.instructions-content> :first-child,.review-rich-prompt> :first-child,.result-rich-prompt> :first-child,.teacher-answer-question> :first-child{margin-top:0}.question-rich-prompt> :last-child,.instructions-content> :last-child,.review-rich-prompt> :last-child,.result-rich-prompt> :last-child,.teacher-answer-question> :last-child{margin-bottom:0}.question-rich-prompt img,.question-rich-prompt iframe,.instructions-content img,.instructions-content iframe,.review-rich-prompt img,.review-rich-prompt iframe,.result-rich-prompt img,.result-rich-prompt iframe,.teacher-answer-question img,.teacher-answer-question iframe{display:block;max-width:100%;height:auto;margin:12px auto;border-radius:10px}.question-rich-prompt iframe,.instructions-content iframe,.review-rich-prompt iframe,.result-rich-prompt iframe,.teacher-answer-question iframe{width:min(100%,560px);aspect-ratio:16/9;border:0}.activity-page .question-card{min-width:0;max-width:100%}.activity-page .question-card legend{width:auto;min-width:145px}.activity-page .question-card .question-meta{clear:both;display:flex;align-items:center;justify-content:flex-end;gap:7px;margin:0 10px 13px}.activity-page .question-card .question-meta>.question-skills{display:flex;flex-wrap:wrap;gap:5px}.activity-page .question-card .question-meta>small{padding:4px 7px;border-radius:8px;background:#fff5cb;color:#725b13;font-size:.63rem}.instructions-content{margin-top:6px}.review-rich-prompt,.result-rich-prompt{margin-top:7px;line-height:1.5}.teacher-answer-question{line-height:1.5}

/* Orden visual de las herramientas del estudiante en teléfonos. */
@media(max-width:600px){body.app-shell{overflow-x:hidden}body.app-shell .main-content{width:auto!important;margin-left:0!important}body.app-shell .main-content>*{min-width:0;max-width:100%}.editor-form .form-card,.editor-form .question-pair{min-width:0;max-width:100%}.editor-form+.page-heading,.page-heading{align-items:flex-start;flex-direction:column}.page-heading .step-badge{align-self:flex-start}.question-rich-editor .rich-toolbar,.instructions-rich-editor .rich-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px}.question-rich-editor .rich-toolbar button,.instructions-rich-editor .rich-toolbar button{width:100%;min-width:0;min-height:42px;padding:6px 4px;white-space:normal;font-size:.72rem;line-height:1.15}.question-rich-editor .rich-ribbon-title span,.instructions-rich-editor .rich-ribbon-title span{display:block;margin:3px 0 0}.editor-form>.editor-fieldset>.form-actions{position:static;display:grid;grid-template-columns:1fr 1fr;bottom:auto;padding:0;background:transparent;box-shadow:none}.activity-page .reader-highlighter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:100%;margin:0 0 14px;padding:6px}.activity-page .reader-highlighter .reader-tool,.activity-page .reader-highlighter .reader-highlighter-clear{justify-content:center;width:100%;height:auto;min-height:42px;padding:6px 4px}.reading-support-bar{display:grid;gap:12px;margin:16px 0}.speech-player{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:12px}.speech-player [data-speech-start]{grid-column:1/-1;width:100%;min-height:48px}.speech-player [data-speech-pause],.speech-player [data-speech-stop]{width:100%;min-width:0}.speech-player label{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}.speech-player select{width:100%;min-width:0}.speech-player small{grid-column:1/-1}.reading-font-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:12px}.reading-font-controls button{width:100%;min-width:0;padding:8px 4px}.activity-page .form-actions{position:static;bottom:auto}.activity-page .question-card .question-meta{align-items:flex-start;justify-content:space-between;margin:0 7px 12px}.question-rich-prompt{padding:3px 7px;font-size:.96rem}}

/* Metadatos de pregunta: cada etiqueta conserva su espacio en pantallas angostas. */
.activity-page .question-card .question-meta>*{min-width:0}.activity-page .question-card .question-meta>.question-skills{max-width:100%}.activity-page .question-card .question-meta>.question-skills>small,.activity-page .question-card .question-meta>small{flex:0 0 auto}
@media(max-width:600px){.activity-page .question-card .question-meta{flex-wrap:wrap;justify-content:flex-start;gap:7px;margin:2px 7px 14px}.activity-page .question-card .question-meta>.question-skills{flex:0 0 100%;margin:0}.activity-page .question-card .question-meta>small{display:inline-flex;position:static;margin:0}.speech-player label:first-of-type{margin-top:2px}}

/* Control simple del encargado e indicadores institucionales. */
.manager-control-page,.indicators-page{display:grid;gap:22px}.manager-simple-summary,.indicator-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.manager-simple-summary article,.indicator-kpis article{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid #d6e3f1;border-radius:14px;background:#fff}.manager-simple-summary article>span,.indicator-kpis article>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#eaf4ff;color:#0868d5}.manager-simple-summary strong,.indicator-kpis strong{display:block;color:#123e73;font-size:1.7rem}.manager-simple-summary small,.indicator-kpis small{color:#60748e}.indicator-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.indicator-section{padding:22px;border:1px solid #d7e3f0;border-radius:16px;background:#fff}.indicator-section>header,.indicator-context{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.indicator-section h2,.indicator-context h2{margin:2px 0 4px;color:#123e73}.indicator-section p,.indicator-context p{margin:0;color:#62758e}.indicators-selector{display:grid;grid-template-columns:minmax(240px,1.4fr) minmax(210px,1fr) auto;align-items:end;gap:14px}.indicators-selector label{display:grid;gap:7px;color:#173e70;font-weight:700}.indicator-welcome{display:grid;justify-items:center;gap:8px;padding:60px 24px;border:1px dashed #b8cde5;border-radius:18px;background:#f7fbff;text-align:center}.indicator-welcome>span{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:#e2f0ff;color:#0867ce}.indicator-welcome .icon{width:34px;height:34px}.indicator-context{padding:20px 22px;border-radius:16px;background:linear-gradient(120deg,#0b3f7d,#0878e8);color:#fff}.indicator-context h2,.indicator-context p,.indicator-context small{color:#fff}.indicator-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.indicator-course-card{display:grid;gap:14px;padding:18px;border:1px solid #d8e4f0;border-radius:14px;color:#294c78;background:#fff}.indicator-course-card:hover,.indicator-course-card.selected{border-color:#1680ee;box-shadow:0 8px 24px rgba(13,89,174,.1)}.indicator-course-card header,.indicator-course-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.indicator-course-card h3{margin:2px 0;color:#133e71}.indicator-course-card header>strong{font-size:.78rem}.indicator-course-card footer{font-size:.78rem}.indicator-course-card footer b{color:#0867cf}.indicator-student-table td small,.manager-student-table td small{display:block;margin-top:3px;color:#73849a}.indicator-level{display:inline-flex;padding:5px 8px;border-radius:99px;background:#eef4fb;color:#365c85;font-size:.75rem;font-weight:800;white-space:nowrap}.indicator-method{margin-top:18px;padding:14px 16px;border-radius:10px;background:#f4f8fd}.indicator-method summary{cursor:pointer;color:#175ca8;font-weight:800}.indicator-method p{margin-top:10px;line-height:1.6}.manager-course-tabs{display:flex;flex-wrap:wrap;gap:9px}.manager-course-tabs a{display:grid;gap:2px;padding:10px 14px;border:1px solid #ccdaea;border-radius:10px;color:#365a83;background:#fff;font-weight:700}.manager-course-tabs a.active{border-color:#0873df;background:#eaf4ff;color:#075db9}.manager-course-tabs small{font-size:.68rem;font-weight:500}.indicator-level-note{margin:0}
.indicators-selector select{width:100%;min-height:50px;appearance:none;border:1px solid #bfcfe2;border-radius:11px;padding:0 46px 0 15px;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,#315d8d 50%),linear-gradient(135deg,#315d8d 50%,transparent 50%);background-position:calc(100% - 19px) 21px,calc(100% - 14px) 21px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;color:#173d6b;font:inherit;font-weight:600;cursor:pointer;box-shadow:0 1px 2px rgba(21,67,119,.04);transition:border-color .18s,box-shadow .18s,background-color .18s}.indicators-selector select:hover{border-color:#7faee0;background-color:#fbfdff}.indicators-selector select:focus{outline:0;border-color:#0874df;box-shadow:0 0 0 4px rgba(8,116,223,.13)}.indicators-selector select option{color:#173d6b;background:#fff;font-weight:500}.indicators-selector .btn{min-height:50px}
@media(max-width:900px){.indicator-kpis{grid-template-columns:1fr 1fr}.indicator-course-grid{grid-template-columns:1fr 1fr}.indicators-selector{grid-template-columns:1fr 1fr}.indicators-selector .btn{grid-column:1/-1}}
@media(max-width:600px){.manager-simple-summary,.indicator-kpis,.indicator-course-grid,.indicators-selector{grid-template-columns:1fr}.indicator-section{padding:16px}.indicator-section>header,.indicator-context{align-items:flex-start;flex-direction:column}.indicator-context .btn{width:100%}.manager-simple-summary article,.indicator-kpis article{padding:15px}.indicator-student-table,.manager-student-table{margin-inline:-16px;width:calc(100% + 32px);border-radius:0}.manager-course-tabs{display:grid;grid-template-columns:1fr 1fr}.indicators-selector .btn{grid-column:auto}}

/* Mostrar u ocultar contraseñas en los formularios internos. */
.password-control{position:relative;display:block;width:100%}.password-control>input{padding-right:50px!important}.password-toggle{position:absolute!important;z-index:2;top:50%!important;right:5px!important;display:grid!important;place-items:center;width:40px!important;height:40px!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#58708f!important;cursor:pointer;transform:translateY(-50%)}.password-toggle:hover{background:#edf5ff!important;color:#0868d4!important}.password-toggle:focus-visible{outline:3px solid rgba(8,112,235,.2);outline-offset:0}.password-toggle .icon{width:20px;height:20px;pointer-events:none}.password-toggle[aria-pressed="true"]:after{content:"";position:absolute;width:24px;height:2px;border-radius:2px;background:currentColor;transform:rotate(-45deg)}body.a11y-theme-dark .password-toggle{color:#c4d7ed!important}body.a11y-theme-dark .password-toggle:hover{background:#203a59!important;color:#fff!important}

/* Retroalimentación general y acceso permanente a la biblioteca. */
.reading-feedback-card .feedback-rich-editor{display:block;width:100%;min-width:0;margin:0 0 16px}
.reading-feedback-card .rich-surface{min-height:230px;padding:22px;line-height:1.8;overflow-wrap:anywhere}
.reading-feedback-card .rich-toolbar{flex-wrap:wrap}
.reading-feedback-card .rich-toolbar button{min-height:38px}
.reading-feedback-card textarea[data-rich-source]{width:100%;min-height:230px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink)}
.reading-feedback-card .field-hint{margin-top:12px;line-height:1.6}
.reading-feedback-content{margin-top:12px;text-align:left;line-height:1.8;overflow-wrap:anywhere}
.reading-feedback-content img{max-width:100%;height:auto}
.reading-feedback-content iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
@media(max-width:800px){.role-estudiante .mobile-nav.student-mobile-nav[data-bottom-navigation]{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:800px){.mobile-nav[data-bottom-navigation],.mobile-nav.student-mobile-nav[data-bottom-navigation]{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-nav[data-bottom-navigation] a,.mobile-nav[data-bottom-navigation] button{min-width:0}.mobile-nav[data-bottom-navigation] a[aria-label="Abrir Cápsulas y videos"].active{color:#0870ee}.mobile-nav[data-bottom-navigation] a[aria-label="Abrir Cápsulas y videos"].active .icon{stroke-width:2}.reading-feedback-card .rich-surface{min-height:210px;padding:16px}.reading-feedback-card .rich-toolbar button{min-height:42px}}

/* Menú del estudiante en la cabecera móvil. */
@media(max-width:720px){
  .student-mobile-user{position:relative;z-index:8}
  .student-mobile-profile{padding:0;border-style:solid;cursor:pointer}
  .student-mobile-profile[aria-expanded="true"]{outline:3px solid #ffc928;outline-offset:3px}
  .student-user-menu{position:absolute;z-index:12;top:66px;right:0;display:grid;width:min(260px,78vw);padding:7px;border:1px solid rgba(8,58,122,.16);border-radius:16px;background:#fff;box-shadow:0 16px 38px rgba(3,36,82,.24);color:#173d68}
  .student-user-menu[hidden]{display:none}
  .student-user-menu a,.student-user-menu button{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 10px;border:0;border-radius:11px;background:transparent;color:#173d68;text-align:left;cursor:pointer}
  .student-user-menu a:hover,.student-user-menu a:focus-visible,.student-user-menu button:hover,.student-user-menu button:focus-visible{background:#edf5ff;color:#0867d8}
  .student-user-menu .icon{width:22px;height:22px;justify-self:center}
  .student-user-menu span{display:grid;line-height:1.2}
  .student-user-menu strong{font-size:.82rem}
  .student-user-menu small{margin-top:3px;color:#70839c;font-size:.66rem}
  .student-user-menu button{color:#a22f3e}
}
body.a11y-theme-dark .student-user-menu{border-color:#526b8a;background:#132a45;color:#fff}
body.a11y-theme-dark .student-user-menu a,body.a11y-theme-dark .student-user-menu button{color:#f2f7ff}
body.a11y-theme-dark .student-user-menu small{color:#bfd0e4}
body.a11y-theme-contrast .student-user-menu{border:2px solid #000;background:#fff;color:#000;box-shadow:none}
body.a11y-theme-contrast .student-user-menu a,body.a11y-theme-contrast .student-user-menu button,body.a11y-theme-contrast .student-user-menu small{color:#000}

/* Mensajes permanecen en la cabecera; la navegación inferior reserva Salir. */
.notification-indicator .notification-count{position:absolute;top:-6px;right:-6px;display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border:2px solid #fff;border-radius:999px;background:#df2948;color:#fff!important;font-size:.65rem;font-weight:900;line-height:1;box-shadow:0 2px 7px rgba(155,20,45,.32)}
@media(max-width:720px){
  .topbar .notification-indicator{display:grid;flex:0 0 45px;width:45px;height:45px;background:#fff;color:#173d68}
  .student-mobile-header-actions{display:flex;align-items:center;gap:12px}
  .student-mobile-header-actions .notification-indicator{border-color:rgba(255,255,255,.8);box-shadow:0 7px 17px rgba(0,38,93,.18)}
  .student-mobile-nav .mobile-logout,.mobile-nav .mobile-logout{color:#a53240;cursor:pointer}
  .student-mobile-nav .mobile-logout:hover,.student-mobile-nav .mobile-logout:focus-visible,.mobile-nav .mobile-logout:hover,.mobile-nav .mobile-logout:focus-visible{background:#fff1f2;color:#8e1f2d}
}
body.a11y-calm .notification-indicator{display:grid!important}

/* El símbolo infinito identifica solo los apoyos neurodivergentes. */
.visual-settings-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#fff;color:#0870df}
.visual-settings-icon .icon{width:23px;height:23px;stroke-width:2}
.neuro-accessibility-launcher.is-visual-settings{animation:none}
.neuro-accessibility-launcher.is-visual-settings:before{display:none}
@media(max-width:720px){.neuro-accessibility-launcher .visual-settings-icon{width:38px;height:38px}}
@media(min-width:721px) and (max-width:1000px){.neuro-accessibility-launcher .visual-settings-icon{width:38px;height:38px}}

.adaptation-support-card.automatic-support{border-color:#9fd8c1;background:#f1fbf7;color:#164f3d;cursor:default}
.automatic-support-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#07936d;color:#fff;font-weight:900}
.adaptation-support-card.automatic-support small{color:#497467}
body.a11y-theme-dark .adaptation-support-card.automatic-support{border-color:#397b68;background:#17392f;color:#fff}
body.a11y-theme-dark .adaptation-support-card.automatic-support small{color:#c8e6dc}

/* Lector de voz simple: acciones en una fila y elección visual de voz. */
.speech-player{display:grid;grid-template-columns:1fr;gap:10px}
.speech-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.speech-player .speech-controls button{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-width:0;padding:8px 6px}
.speech-player .speech-controls button b{font-size:.8rem}
.speech-player .speech-controls [data-speech-start]{background:#0867cf;color:#fff;border-color:#0867cf}
.speech-voice-choice{min-width:0;margin:0;padding:0;border:0}
.speech-voice-choice legend{margin-bottom:7px;color:#315579;font-size:.76rem;font-weight:800}
.speech-voice-choice>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.speech-player .speech-voice-choice button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;background:#fff;color:#284b73}
.speech-player .speech-voice-choice button>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f2ff;color:#0867cf;font-size:1.15rem;font-weight:900}
.speech-player .speech-voice-choice button strong{font-size:.78rem}
.speech-player .speech-voice-choice button[aria-pressed="true"]{border:2px solid #0870df;background:#eaf4ff;color:#075dbd;box-shadow:0 0 0 2px rgba(8,112,223,.1)}
.speech-rate-field{display:grid!important;grid-template-columns:auto minmax(0,1fr);gap:10px;width:100%}
.speech-rate-field select{width:100%;min-width:0}
.speech-player>small{width:100%}
@media(max-width:600px){.speech-player{display:grid;grid-template-columns:1fr}.speech-player [data-speech-start]{grid-column:auto}.speech-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.speech-player .speech-controls button{min-height:47px;font-size:.76rem}.speech-player .speech-voice-choice button{min-height:52px;padding:7px 5px}.speech-rate-field{grid-column:auto!important}}
/* Año académico por colegio */
.school-hero-actions{display:flex;align-items:center;gap:10px}.academic-year-page{max-width:1240px;margin:0 auto}.academic-year-head{align-items:flex-end;margin-bottom:20px}.academic-year-head h1{margin:3px 0 4px;font-size:clamp(1.8rem,3vw,2.45rem);color:#082f67}.academic-year-head p{margin:0;color:#58708e}.academic-school-picker{display:flex;justify-content:flex-end;margin-bottom:14px}.academic-school-picker label{width:min(100%,420px)}.academic-current-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px 26px;border-radius:22px;background:linear-gradient(125deg,#073a79,#0d6fd9);color:#fff;box-shadow:0 18px 45px rgba(8,47,103,.16);margin-bottom:22px}.academic-current-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.14)}.academic-current-icon .icon{width:28px;height:28px}.academic-current-card small{font-size:.72rem;font-weight:800;letter-spacing:.12em;color:#a9d2ff}.academic-current-card h2{margin:2px 0;font-size:1.35rem}.academic-current-card p{margin:0;color:#d9eaff}.academic-current-card .tag{background:#e7fff4;color:#087a54}.academic-year-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:22px;align-items:start}.academic-new-year-card,.academic-history-card{padding:26px;border:1px solid #d7e5f5;border-radius:22px;background:#fff}.academic-step-title{display:flex;align-items:flex-start;gap:14px;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #dce7f3}.academic-step-title>span{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:13px;background:#eaf3ff;color:#0868d9;font-weight:900}.academic-step-title h2{margin:0;color:#082f67;font-size:1.3rem}.academic-step-title p{margin:4px 0 0;color:#607795}.academic-copy-summary{margin:20px 0;padding:18px;border-radius:16px;background:#f1f8ff;border:1px solid #d6e9ff}.academic-copy-summary>strong{display:flex;align-items:center;gap:8px;color:#073d7d}.academic-copy-summary>strong .icon,.academic-copy-summary p .icon{width:18px;height:18px}.academic-copy-summary ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:12px 0;padding:0;list-style:none;color:#234f7f}.academic-copy-summary li:before{content:'✓';margin-right:7px;color:#0b9b70;font-weight:900}.academic-copy-summary p{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;padding-top:13px;border-top:1px solid #d4e4f5;color:#526d8d;font-size:.9rem}.academic-create-button{width:100%;min-height:50px}.academic-period-list{display:grid;gap:12px}.academic-period-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px;border:1px solid #dce7f3;border-radius:15px}.academic-period-item>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eef4fb;color:#55708f}.academic-period-item .icon{width:20px}.academic-period-item strong,.academic-period-item small{display:block}.academic-period-item strong{color:#123e73}.academic-period-item small{margin-top:3px;color:#6b7f98;font-size:.78rem}.academic-period-item>b{font-size:.72rem;color:#6b7f98}.academic-period-item.active{border-color:#9ed8c6;background:#f2fff9}.academic-period-item.active>span{background:#d8f8ec;color:#087a54}.academic-period-item.active>b{color:#087a54}.student-overdue-heading{margin-top:30px}
@media(max-width:900px){.academic-year-grid{grid-template-columns:1fr}.school-hero-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:600px){.school-hero-toolbar{align-items:flex-start}.school-hero-actions{width:100%}.school-hero-actions .btn{flex:1}.academic-year-head{align-items:flex-start}.academic-current-card{grid-template-columns:auto 1fr;padding:18px}.academic-current-card>.tag{grid-column:1/-1;justify-self:start}.academic-new-year-card,.academic-history-card{padding:18px}.academic-copy-summary ul{grid-template-columns:1fr}.academic-period-item{grid-template-columns:auto 1fr}.academic-period-item>b{grid-column:2}}

/* Generador de lecturas con IA */
.ai-generator-form,.ai-review-form{display:grid;gap:20px;max-width:1120px}
.ai-form-section,.ai-reading-card,.ai-config-card{overflow:hidden;border:1px solid #d6e2ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(14,55,105,.055)}
.ai-form-section>header,.ai-reading-card>header,.ai-config-card>header{display:flex;align-items:center;gap:14px;padding:20px 23px;border-bottom:1px solid #e0e9f2;background:linear-gradient(110deg,#fbfdff,#f3f8ff)}
.ai-form-section>header>span,.ai-config-card>header>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#0a6ddd;color:#fff;font-size:1rem;font-weight:800;box-shadow:0 7px 15px rgba(10,109,221,.18)}
.ai-form-section>header h2,.ai-form-section>header p,.ai-config-card>header h2,.ai-config-card>header p{margin:0}
.ai-form-section>header h2,.ai-config-card>header h2{color:#0a3269;font-size:1.2rem}
.ai-form-section>header p,.ai-config-card>header p{margin-top:4px;color:#687f9b;font-size:.8rem}
.ai-form-grid,.ai-config-form,.ai-reading-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:23px}
.ai-form-grid>label,.ai-config-form>label,.ai-reading-fields>label,.ai-questions>fieldset>label{display:grid;align-content:start;gap:7px;min-width:0;color:#244b76;font-size:.76rem;font-weight:800}
.ai-form-grid input,.ai-form-grid select,.ai-config-form input,.ai-config-form select,.ai-reading-fields input,.ai-reading-fields textarea,.ai-questions input[type=text],.ai-questions textarea,.ai-questions select{width:100%;min-width:0;border:1px solid #c8d7e7;border-radius:9px;background:#fff;color:#153b67;font:inherit;outline:0;transition:border-color .15s,box-shadow .15s}
.ai-form-grid input,.ai-form-grid select,.ai-config-form input,.ai-config-form select,.ai-reading-fields input,.ai-questions input[type=text],.ai-questions select{height:45px;padding:0 12px}
.ai-reading-fields textarea,.ai-questions textarea{padding:12px;line-height:1.55;resize:vertical}
.ai-form-grid input:focus,.ai-form-grid select:focus,.ai-config-form input:focus,.ai-config-form select:focus,.ai-reading-fields input:focus,.ai-reading-fields textarea:focus,.ai-questions input[type=text]:focus,.ai-questions textarea:focus,.ai-questions select:focus{border-color:#187cde;box-shadow:0 0 0 3px rgba(24,124,222,.11)}
.ai-form-grid label>small,.ai-config-form label>small,.ai-reading-fields label>small{color:#71859e;font-size:.66rem;font-weight:500;line-height:1.45}
.ai-wide{grid-column:1/-1}
.ai-oa-field,.ai-origin{min-width:0;margin:0;padding:0;border:0}
.ai-oa-field>legend,.ai-origin>legend{margin-bottom:9px;color:#244b76;font-size:.76rem;font-weight:800}
.ai-oa-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:330px;padding:5px;overflow:auto}
.ai-oa-list>label{position:relative;display:block;cursor:pointer}
.ai-oa-list>label[hidden]{display:none}
.ai-oa-list input{position:absolute;z-index:1;top:14px;left:13px;width:17px;height:17px;margin:0;accent-color:#0872d9}
.ai-oa-list label>span{display:block;min-height:82px;padding:12px 12px 11px 41px;border:1px solid #d6e2ee;border-radius:11px;background:#fbfdff;transition:border-color .15s,background .15s,box-shadow .15s}
.ai-oa-list label:hover>span{border-color:#84b9eb;background:#f5faff}
.ai-oa-list input:checked+span{border-color:#1880e2;background:#edf7ff;box-shadow:0 0 0 2px rgba(24,128,226,.1)}
.ai-oa-list strong,.ai-oa-list small{display:block}.ai-oa-list strong{color:#0c61ba;font-size:.73rem}.ai-oa-list small{margin-top:5px;color:#587493;font-size:.66rem;line-height:1.4}
.ai-oa-list>[data-oa-empty]{grid-column:1/-1;margin:0;padding:25px;border:1px dashed #c9d8e7;border-radius:11px;color:#71859c;text-align:center}
.ai-oa-help{display:block;margin:9px 5px 0;color:#71859d;font-size:.66rem}
.ai-draft-schedule-note{display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid #cce1f5;border-radius:10px;background:#f2f8ff;color:#244f7c}
.ai-draft-schedule-note strong{flex:0 0 auto;font-size:.75rem}.ai-draft-schedule-note small{font-size:.7rem;line-height:1.45}
.ai-origin{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ai-origin>legend{grid-column:1/-1}
.ai-origin>label{position:relative;display:block;cursor:pointer}
.ai-origin input{position:absolute;z-index:1;top:16px;left:14px;width:17px;height:17px;margin:0;accent-color:#0872d9}
.ai-origin label>span{display:block;min-height:72px;padding:13px 12px 12px 42px;border:1px solid #d4e0ed;border-radius:11px;background:#fbfdff}
.ai-origin input:checked+span{border-color:#1880e2;background:#edf7ff;box-shadow:0 0 0 2px rgba(24,128,226,.09)}
.ai-origin strong,.ai-origin small{display:block}.ai-origin strong{color:#153f70;font-size:.76rem}.ai-origin small{margin-top:4px;color:#687f99;font-size:.66rem;line-height:1.4}
.ai-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:3px 0}.ai-submit p{margin:0;color:#6b8099;font-size:.75rem}.ai-submit .btn{flex:0 0 auto}
.ai-disabled,.ai-security-note{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding:16px 18px;border:1px solid #f0d58a;border-radius:13px;background:#fff9e5;color:#715514}
.ai-disabled>span{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:10px;background:#ffecaa}.ai-disabled>div{flex:1}.ai-disabled strong,.ai-disabled p,.ai-security-note strong,.ai-security-note p{margin:0}.ai-disabled p,.ai-security-note p{margin-top:3px;font-size:.75rem;line-height:1.5}.ai-disabled .btn{flex:0 0 auto}
.ai-security-note{margin-top:18px;border-color:#bfe7d7;background:#f1fbf7;color:#17634d}.ai-security-note strong{flex:0 0 auto}
.ai-progress-modal{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:20px;background:rgba(5,29,61,.62);backdrop-filter:blur(3px)}
.ai-progress-modal[hidden]{display:none}.ai-progress-card{width:min(460px,100%);padding:32px;border-radius:20px;background:#fff;color:#123b69;text-align:center;box-shadow:0 28px 80px rgba(2,24,52,.3)}
.ai-progress-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border-radius:18px;background:#e8f3ff;color:#096bd0}.ai-progress-icon .icon{width:30px;height:30px}.ai-progress-card h2{margin:5px 0 8px}.ai-progress-card p{margin:0;color:#637b98}.ai-progress-track{height:10px;margin:24px 0 10px;overflow:hidden;border-radius:99px;background:#e5edf6}.ai-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0872e2,#29a5ef);transition:width .3s ease}.ai-progress-card>strong{display:block;color:#0865c8;font-size:1.1rem}.ai-progress-card>small{display:block;margin-top:12px;color:#7a8da3}.ai-progress-card>.btn{margin-top:18px}
.ai-review-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:21px 23px;border:1px solid #bcdcf6;border-radius:15px;background:linear-gradient(110deg,#f6fbff,#edf7ff)}.ai-review-heading h2,.ai-review-heading p{margin:0}.ai-review-heading h2{margin:4px 0;color:#09366f}.ai-review-heading>div>p:last-child{color:#627c98;font-size:.78rem}.ai-review-actions{display:flex;gap:9px;flex:0 0 auto}
.ai-reading-card>header{justify-content:space-between}.ai-reading-card>header>div span,.ai-reading-card>header>div strong{display:block}.ai-reading-card>header span{color:#1674cf;font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.ai-reading-card>header strong{margin-top:3px;color:#123f73}.ai-reading-card>header .btn{min-height:39px;padding:8px 13px}
.ai-source{margin:0 23px 22px;padding:12px 14px;border-left:4px solid #2584df;border-radius:0 9px 9px 0;background:#f1f7fd;color:#486887;font-size:.75rem}.ai-source a{color:#096ac8;font-weight:800}
.ai-questions{padding:0 23px 24px}.ai-questions>h3{margin:0 0 13px;color:#103d70;font-size:1rem}.ai-questions>fieldset{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:13px;margin:0 0 13px;padding:16px;border:1px solid #d8e3ef;border-radius:12px;background:#fbfdff}.ai-questions>fieldset>legend{padding:0 7px;color:#0c64bd;font-size:.72rem;font-weight:900}.ai-alternatives{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ai-alternatives>label{position:relative;display:grid;grid-template-columns:20px 1fr;align-items:center;gap:8px;padding:9px;border:1px solid #dbe5ef;border-radius:10px;background:#fff}.ai-alternatives input[type=radio]{width:17px;height:17px;margin:0;accent-color:#0872d9}.ai-alternatives>label>small{grid-column:2;color:#6c829b;font-size:.61rem}
.ai-config-card{max-width:1000px}.ai-config-card>header>div{min-width:0;flex:1}.ai-config-card>header .icon{width:21px}.ai-status{flex:0 0 auto;padding:7px 10px;border-radius:99px;font-size:.65rem}.ai-status.ready{background:#def6eb;color:#087450}.ai-status.pending{background:#fff0cb;color:#80600b}.ai-config-form footer{display:flex;justify-content:flex-end;padding-top:4px;border-top:1px solid #e3eaf2}.ai-config-form footer .btn{margin-top:16px}
.ai-switch{display:flex!important;align-items:flex-start!important;gap:11px!important;padding:14px;border:1px solid #cee0f1;border-radius:11px;background:#f5faff;cursor:pointer}.ai-switch>input{flex:0 0 auto;width:19px!important;height:19px!important;margin:1px 0 0;accent-color:#0871db}.ai-switch>span{display:block}.ai-switch strong,.ai-switch small{display:block}.ai-switch strong{color:#164b7e;font-size:.75rem}.ai-switch.danger{border-color:#f1c7cc;background:#fff5f6}.ai-switch.danger strong{color:#a63242}
body.a11y-theme-dark .ai-form-section,body.a11y-theme-dark .ai-reading-card,body.a11y-theme-dark .ai-config-card,body.a11y-theme-dark .ai-progress-card{border-color:#334d6a;background:#142a43;color:#eef6ff}body.a11y-theme-dark .ai-form-section>header,body.a11y-theme-dark .ai-reading-card>header,body.a11y-theme-dark .ai-config-card>header,body.a11y-theme-dark .ai-review-heading{border-color:#3a5877;background:#193550}body.a11y-theme-dark .ai-form-section h2,body.a11y-theme-dark .ai-config-card h2,body.a11y-theme-dark .ai-review-heading h2,body.a11y-theme-dark .ai-questions h3{color:#f2f8ff}body.a11y-theme-dark .ai-form-section p,body.a11y-theme-dark .ai-config-card p,body.a11y-theme-dark .ai-review-heading>div>p:last-child{color:#c0d2e6}body.a11y-theme-dark .ai-form-grid>label,body.a11y-theme-dark .ai-config-form>label,body.a11y-theme-dark .ai-reading-fields>label,body.a11y-theme-dark .ai-oa-field>legend,body.a11y-theme-dark .ai-origin>legend{color:#dceaff}body.a11y-theme-dark .ai-form-grid input,body.a11y-theme-dark .ai-form-grid select,body.a11y-theme-dark .ai-config-form input,body.a11y-theme-dark .ai-config-form select,body.a11y-theme-dark .ai-reading-fields input,body.a11y-theme-dark .ai-reading-fields textarea,body.a11y-theme-dark .ai-questions input[type=text],body.a11y-theme-dark .ai-questions textarea,body.a11y-theme-dark .ai-questions select{border-color:#496684;background:#0d2238;color:#fff}body.a11y-theme-dark .ai-oa-list label>span,body.a11y-theme-dark .ai-origin label>span,body.a11y-theme-dark .ai-questions>fieldset,body.a11y-theme-dark .ai-alternatives>label,body.a11y-theme-dark .ai-switch{border-color:#3b5876;background:#172f49}body.a11y-theme-dark .ai-oa-list input:checked+span,body.a11y-theme-dark .ai-origin input:checked+span{border-color:#5aaaf1;background:#203f5e}body.a11y-theme-dark .ai-oa-list strong,body.a11y-theme-dark .ai-origin strong,body.a11y-theme-dark .ai-switch strong{color:#a9d5ff}
@media(max-width:760px){.ai-form-section>header,.ai-config-card>header{align-items:flex-start;padding:17px}.ai-form-grid,.ai-config-form,.ai-reading-fields{grid-template-columns:1fr;padding:17px}.ai-wide{grid-column:auto}.ai-oa-list,.ai-origin,.ai-alternatives{grid-template-columns:1fr}.ai-draft-schedule-note,.ai-submit,.ai-disabled,.ai-security-note,.ai-review-heading{align-items:flex-start;flex-direction:column}.ai-submit .btn,.ai-disabled .btn,.ai-review-actions,.ai-review-actions .btn{width:100%}.ai-review-actions{display:grid;grid-template-columns:1fr 1fr}.ai-reading-card>header{align-items:flex-start;flex-direction:column}.ai-reading-card>header .btn{width:100%}.ai-questions{padding:0 17px 18px}.ai-questions>fieldset{grid-template-columns:1fr;padding:13px}.ai-alternatives{grid-column:auto}.ai-status{align-self:flex-start}.ai-config-card>header{flex-wrap:wrap}.ai-config-card>header .ai-status{margin-left:56px}.ai-security-note strong{flex-basis:auto}}
@media(max-width:460px){.ai-form-section>header>span,.ai-config-card>header>span{width:36px;height:36px;flex-basis:36px}.ai-form-section>header h2,.ai-config-card>header h2{font-size:1.05rem}.ai-review-actions{grid-template-columns:1fr}.ai-progress-card{padding:25px 19px}.ai-config-card>header .ai-status{margin-left:50px}.ai-submit .btn{width:100%}}

/* Escala legible para herramientas administrativas */
.ai-form-section>header p,.ai-config-card>header p{font-size:.9rem;line-height:1.5}
.ai-form-grid>label,.ai-config-form>label,.ai-reading-fields>label,.ai-questions>fieldset>label,.ai-oa-field>legend,.ai-origin>legend{font-size:.9rem}
.ai-form-grid input,.ai-form-grid select,.ai-config-form input,.ai-config-form select,.ai-reading-fields input,.ai-questions input[type=text],.ai-questions select{font-size:.9rem}
.ai-form-grid label>small,.ai-config-form label>small,.ai-reading-fields label>small{font-size:.82rem}
.ai-oa-list strong{font-size:.88rem}.ai-oa-list small{font-size:.83rem;line-height:1.5}.ai-oa-help{font-size:.82rem;line-height:1.5}
.ai-draft-schedule-note strong{font-size:.87rem}.ai-draft-schedule-note small{font-size:.82rem}
.ai-origin strong{font-size:.88rem}.ai-origin small{font-size:.82rem;line-height:1.5}
.ai-submit p,.ai-disabled p,.ai-security-note p,.ai-source{font-size:.85rem}
.ai-review-heading>div>p:last-child{font-size:.86rem}.ai-reading-card>header span{font-size:.78rem}
.ai-questions>fieldset>legend{font-size:.82rem}.ai-alternatives>label>small{font-size:.78rem}
.ai-status{font-size:.78rem}.ai-switch strong{font-size:.87rem}.ai-switch small{font-size:.82rem!important;line-height:1.45}

/* Ensayos SIMCE */
.simce-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.simce-card{display:flex;flex-direction:column;min-width:0;padding:22px;border:1px solid #d6e2ef;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(14,55,105,.055)}
.simce-card>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.simce-card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#e8f3ff;color:#086bd5}.simce-card-icon .icon{width:23px;height:23px}.simce-card .eyebrow{margin:0;color:#1370cc;font-size:.78rem}.simce-card h2{margin:6px 0;color:#0b376f;font-size:1.22rem}.simce-card>p:not(.eyebrow){margin:0;color:#607895;font-size:.9rem;line-height:1.5}
.simce-card-assignment{display:flex;align-items:baseline;gap:7px;margin-top:18px;padding:13px 14px;border-radius:11px;background:#f1f7ff;color:#315b86}.simce-card-assignment strong{color:#0870d8;font-size:1.35rem}.simce-card-assignment span{font-size:.86rem}.simce-card-courses{display:block;margin:10px 2px 0;color:#657d98;font-size:.82rem;line-height:1.45}.simce-card footer{display:flex;flex-wrap:wrap;gap:9px;margin-top:auto;padding-top:20px}.simce-card footer .btn{flex:1;min-height:42px;padding:9px 12px;font-size:.84rem}
.simce-editor{display:grid;gap:18px;max-width:1120px}.simce-editor>.form-card{margin:0}.simce-structure-note{display:flex;align-items:center;flex-wrap:wrap;gap:9px 18px;padding:15px 18px;border:1px solid #c9dff5;border-radius:12px;background:#f1f8ff;color:#365b82}.simce-structure-note strong{color:#0a5eb5;font-size:.92rem}.simce-structure-note span{font-size:.85rem}
.simce-text-block{padding:0}.simce-text-block>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 22px;cursor:pointer;list-style:none}.simce-text-block>summary::-webkit-details-marker{display:none}.simce-text-block>summary span{color:#0b3972;font-size:1.05rem;font-weight:800}.simce-text-block>summary strong{color:#5c7693;font-size:.86rem}.simce-text-block[open]>summary{border-bottom:1px solid #dfe8f1;background:#f7fbff}.simce-text-content{display:grid;gap:17px;padding:22px}.simce-text-content>label,.simce-final-question>label{display:grid;gap:7px;color:#224b76;font-size:.9rem;font-weight:750}.simce-text-content input,.simce-text-content textarea,.simce-final-question textarea{width:100%;padding:12px;border:1px solid #c8d7e7;border-radius:9px;color:#153b67;font:inherit;line-height:1.55}.simce-question-list{display:grid;gap:15px}
.simce-question-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:14px;padding:18px;border:1px solid #d9e4ef;border-radius:13px;background:#fbfdff}.simce-question-editor>header{grid-column:1/-1;display:flex;align-items:center;gap:9px}.simce-question-editor>header>span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:#0871dc;color:#fff;font-weight:850}.simce-question-editor>header strong{color:#123f72;font-size:.94rem}.simce-question-editor>header small{margin-left:auto;color:#71859d;font-size:.8rem}.simce-question-editor>label{display:grid;gap:7px;color:#244b76;font-size:.88rem;font-weight:750}.simce-question-editor textarea{width:100%;padding:11px;border:1px solid #c8d7e7;border-radius:9px;font:inherit;line-height:1.5}.simce-answer-instruction{grid-column:1/-1;display:flex;align-items:center;gap:9px;margin:2px 0 0;color:#486886;font-size:.84rem}.simce-answer-instruction strong{color:#174c80}.simce-question-editor .alternatives-grid{grid-column:1/-1}.simce-correct-label{color:#08734f;font-size:.78rem;font-style:normal;font-weight:800;opacity:0}.alternative-editor:has(input[type=radio]:checked) .simce-correct-label{opacity:1}
.simce-final-question{display:grid;gap:16px}.simce-form-actions{align-items:flex-start}.simce-form-actions>div{display:grid;justify-items:end;gap:7px}.simce-form-actions small{max-width:590px;color:#687f99;font-size:.82rem;line-height:1.45;text-align:right}
.simce-preview-summary{display:grid;grid-template-columns:1fr 1.5fr auto auto;align-items:center;gap:16px}.simce-preview-summary>div strong,.simce-preview-summary>div span{display:block}.simce-preview-summary>div strong{color:#31577e;font-size:.8rem}.simce-preview-summary>div span{margin-top:3px;color:#153f70;font-size:.9rem}.simce-preview{display:grid;gap:18px}.simce-preview-text header span,.simce-student-text header span{color:#1372ce;font-size:.82rem;font-weight:850}.simce-answer-preview{display:grid;gap:8px;margin:12px 0 0;padding-left:31px}.simce-answer-preview li{padding:9px 11px;border-radius:8px;color:#365675;font-size:.9rem}.simce-answer-preview li.is-correct{background:#e5f7ee;color:#08724e;font-weight:750}.simce-open-preview{padding:22px}.simce-open-preview h2{font-size:1.1rem}
.simce-assignment-form{max-width:960px}.simce-course-groups{display:grid;gap:16px;margin:20px 0}.simce-course-groups fieldset{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:17px;border:1px solid #d5e2ef;border-radius:12px}.simce-course-groups legend{padding:0 7px;color:#0d4380;font-size:.92rem;font-weight:800}.simce-course-groups label{position:relative;cursor:pointer}.simce-course-groups input{position:absolute;top:14px;left:13px;width:18px;height:18px;accent-color:#0872dc}.simce-course-groups label>span{display:block;min-height:68px;padding:12px 11px 11px 41px;border:1px solid #d8e3ee;border-radius:10px;background:#fbfdff}.simce-course-groups input:checked+span{border-color:#1880e2;background:#edf7ff;box-shadow:0 0 0 2px rgba(24,128,226,.09)}.simce-course-groups strong,.simce-course-groups small{display:block}.simce-course-groups strong{color:#153f70;font-size:.9rem}.simce-course-groups small{margin-top:3px;color:#6a8098;font-size:.81rem}
.simce-student-questions{display:grid;gap:14px;margin-bottom:24px}.simce-final-answer .student-text-answer{display:grid;gap:8px;color:#244b76;font-size:.92rem;font-weight:750}.simce-final-answer textarea{width:100%;padding:13px;border:1px solid #bfd1e4;border-radius:10px;font:inherit;line-height:1.55}
body.a11y-theme-dark .simce-card,body.a11y-theme-dark .simce-question-editor,body.a11y-theme-dark .simce-course-groups fieldset{border-color:#36516e;background:#142a43}body.a11y-theme-dark .simce-card h2,body.a11y-theme-dark .simce-question-editor>header strong,body.a11y-theme-dark .simce-text-block>summary span{color:#f1f7ff}body.a11y-theme-dark .simce-card>p:not(.eyebrow),body.a11y-theme-dark .simce-card-courses{color:#c4d5e7}body.a11y-theme-dark .simce-card-assignment,body.a11y-theme-dark .simce-structure-note,body.a11y-theme-dark .simce-text-block[open]>summary,body.a11y-theme-dark .simce-course-groups label>span{border-color:#3a5877;background:#193550;color:#dcecff}
@media(max-width:850px){.simce-catalog-grid{grid-template-columns:1fr}.simce-question-editor{grid-template-columns:1fr}.simce-question-editor>header,.simce-answer-instruction,.simce-question-editor .alternatives-grid{grid-column:auto}.simce-preview-summary{grid-template-columns:1fr 1fr}.simce-preview-summary .btn{width:100%}.simce-course-groups fieldset{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.simce-card{padding:17px}.simce-card footer{display:grid;grid-template-columns:1fr}.simce-structure-note{align-items:flex-start;flex-direction:column}.simce-text-block>summary{align-items:flex-start;flex-direction:column;padding:17px}.simce-text-content{padding:16px}.simce-question-editor{padding:14px}.simce-question-editor>header{flex-wrap:wrap}.simce-question-editor>header small{width:100%;margin-left:40px}.simce-form-actions>div{justify-items:stretch;width:100%}.simce-form-actions>div .btn{width:100%}.simce-form-actions small{text-align:left}.simce-preview-summary,.simce-course-groups fieldset{grid-template-columns:1fr}}

/* Filtro y disponibilidad de versiones neurodivergentes. */
.reading-catalog-filters{grid-template-columns:minmax(230px,1.5fr) minmax(170px,.85fr) minmax(150px,.7fr) auto auto auto}
.reading-catalog-filters .reading-neuro-filter{min-width:185px}.reading-filter-switch{display:flex;align-items:center;gap:8px;height:42px;padding:0 11px;border:1px solid #cbd8e7;border-radius:9px;background:#fff;cursor:pointer}.reading-catalog-filters .reading-filter-switch input{position:absolute;width:1px;height:1px;opacity:0}.reading-filter-switch i{position:relative;flex:0 0 auto;width:34px;height:20px;border-radius:99px;background:#afbdcc;transition:.2s}.reading-filter-switch i::after{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);content:"";transition:.2s}.reading-filter-switch input:checked+i{background:#7455dc}.reading-filter-switch input:checked+i::after{transform:translateX(14px)}.reading-filter-switch input:focus-visible+i{outline:3px solid rgba(32,129,229,.22);outline-offset:2px}.reading-filter-switch b{white-space:nowrap;color:#315678;font-size:.7rem}.reading-preview-segments button:disabled{cursor:not-allowed;opacity:.42}.reading-preview-unavailable{display:block;margin-top:5px;color:#9b3d4c;font-size:.62rem;font-weight:800;text-align:right}.reading-preview-unavailable[hidden]{display:none}
@media(max-width:1120px){.reading-catalog-filters{grid-template-columns:2fr 1fr 1fr}.reading-catalog-filters .reading-neuro-filter{min-width:0}}
@media(max-width:720px){.reading-catalog-filters{grid-template-columns:1fr}.reading-filter-switch b{white-space:normal}}
