@font-face{font-family:Roboto Mono;src:url(/fonts/RobotoMono.woff2)format("woff2-variations");font-weight:400 700;font-display:swap}@font-face{font-family:Poppins;src:url(/fonts/Poppins-400-latin.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;src:url(/fonts/Poppins-400-latin-ext.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;src:url(/fonts/Poppins-500-latin.woff2)format("woff2");font-weight:500;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;src:url(/fonts/Poppins-500-latin-ext.woff2)format("woff2");font-weight:500;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;src:url(/fonts/Poppins-600-latin.woff2)format("woff2");font-weight:600;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;src:url(/fonts/Poppins-600-latin-ext.woff2)format("woff2");font-weight:600;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;src:url(/fonts/Poppins-700-latin.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;src:url(/fonts/Poppins-700-latin-ext.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--brand:#059;--brand-contrast:#fff;--brand-dark:#0e2a47;--brand-deep:color-mix(in srgb, var(--brand) 82%, #000);--brand-tint:color-mix(in srgb, var(--brand) 10%, #fff);--brand-tint-2:color-mix(in srgb, var(--brand) 22%, #fff);--paper-hover:color-mix(in srgb, var(--brand) 18%, var(--paper));--acento-surface:color-mix(in srgb, var(--acento) 24%, var(--paper));--side-ink:#10243c;--side-text:#8fa3ba;--side-text-hover:#d7e2ee;--side-rail:color-mix(in srgb, var(--brand) 50%, #fff);--side-surface:#ffffff1c;--side-surface-hover:#ffffff0e;--side-line:#ffffff21;--mono:"Roboto Mono", ui-monospace, "SF Mono", Menlo, monospace;--sans:"Poppins", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ink:#0e2a47;--ink-soft:#46586e;--ink-faint:#5f6c7c;--paper:#fff;--paper-sunken:#f3f5f8;--line:#e1e6ec;--line-strong:#c9d2dc;--ok:#1b7a4b;--ok-bg:#e3f3ea;--info:#1668b8;--info-bg:#e6eff9;--bad:#b3261e;--bad-bg:#fbe9e7;--warn:#8a5300;--warn-bg:#fdf1de;--serie-1:#059;--serie-2:#eb6834;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.875rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-hero:2.5rem;--radius:18px;--radius-sm:12px;--radius-xs:10px;--radius-pill:999px;--tap:44px;--measure:42rem;--rail:96px;--rail-open:256px;--peek:440px;--shadow:0 1px 2px #0e2a470d;--shadow-lift:0 18px 50px #0e2a4724;--acento:var(--brand);--acento-bg:var(--brand-tint);--acento-contrast:#fff;--cover-1:color-mix(in srgb, var(--acento) 14%, var(--paper));--cover-2:color-mix(in srgb, var(--acento) 30%, var(--paper));--cover-3:color-mix(in srgb, var(--acento) 52%, var(--paper));--cover-4:color-mix(in srgb, var(--acento) 78%, var(--paper))}:root[data-letra=grande]{--text-xs:.8125rem;--text-sm:.9375rem;--text-base:1rem;--text-lg:1.375rem;--text-xl:1.875rem;--tap:48px}:root[data-kind=educativo]{--acento:#0b6360;--acento-bg:#e8f2f1}:root[data-kind=interno]{--acento:#37414f;--acento-bg:#edeff3}:root[data-kind=proyecto]{--acento:#004e8c;--acento-bg:#e9f0f7}:root[data-scheme=oscuro]{--brand:#4d9fe0;--brand-contrast:#08131f;--brand-dark:#0a1b2e;--ink:#edf1f5;--ink-soft:#afbac7;--ink-faint:#97a2b1;--paper:#16181d;--paper-sunken:#1e2128;--line:#2e323b;--line-strong:#434955;--ok:#46b98a;--ok-bg:#16301f;--info:#5faeea;--info-bg:#10263a;--bad:#f0705c;--bad-bg:#331a1a;--warn:#e0b36c;--warn-bg:#31250d;--brand-deep:color-mix(in srgb, var(--brand) 75%, #fff);--brand-tint:color-mix(in srgb, var(--brand) 18%, var(--paper));--brand-tint-2:color-mix(in srgb, var(--brand) 30%, var(--paper));--paper-hover:color-mix(in srgb, var(--brand) 26%, var(--paper));--acento-surface:color-mix(in srgb, var(--acento) 45%, var(--paper));--shadow:0 1px 2px #0006, 0 4px 16px #00000059}*{box-sizing:border-box}body{font-family:var(--sans);background:var(--paper-sunken);color:var(--ink);font-size:var(--text-base);-webkit-font-smoothing:antialiased;margin:0;line-height:1.55}.mono,.stat-n{font-family:var(--mono)}h1{font-size:clamp(1.5rem, 2.6vw, var(--text-hero));letter-spacing:-.035em;margin:0 0 .4rem;font-weight:600;line-height:1.15}h2{font-size:var(--text-lg);letter-spacing:-.02em;margin:0 0 var(--space-3);font-weight:600}h3{font-size:var(--text-base);letter-spacing:-.01em;margin:0;font-weight:600}h4{font-size:var(--text-base);margin:0 0 var(--space-2);font-weight:600}p{margin:0 0 var(--space-2);line-height:1.7}a{color:var(--acento)}h1 a,nav a{text-decoration:none}h1 a{color:inherit}:focus-visible{outline:3px solid var(--brand-tint-2);outline-offset:2px}::selection{background:var(--brand-tint-2)}.kicker{font-size:var(--text-sm);letter-spacing:0;text-transform:none;color:var(--ink-faint);margin:0 0 .2rem;font-weight:500}.muted,.sm{font-size:var(--text-sm);color:var(--ink-soft)}.xs{font-size:var(--text-xs);color:var(--ink-faint);margin:0}.empty{text-align:center;color:var(--ink-soft);padding:2.5rem 1.5rem}.shell{min-height:100vh}.side{width:var(--rail);z-index:60;background:var(--paper);border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:6px;padding:18px 4px 14px;display:flex;position:fixed;inset:0 auto 0 0}.side .brand{justify-content:center;margin:0 0 12px;padding:0;display:flex}.side .brand a{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.side .brand img{width:auto;height:32px}.side .brand .app{display:none}.side nav{flex-direction:column;align-items:center;gap:4px;width:100%;margin:0;display:flex;overflow:hidden auto}.side-block{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.side-block+.side-block{border-top:1px solid var(--line);margin-top:6px;padding-top:10px}.side-title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.side nav a{border-radius:var(--radius-sm);width:88px;color:var(--ink-soft);font-size:var(--text-xs);text-align:center;overflow-wrap:normal;-webkit-hyphens:auto;hyphens:auto;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:10px 2px 8px;font-weight:500;line-height:1.15;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.side nav a svg{flex:none;width:22px;min-width:22px;height:22px}.side nav a:hover{background:var(--paper-sunken);color:var(--ink)}.side nav a:focus-visible{outline:3px solid var(--brand-tint-2);outline-offset:-3px}.side nav a.on{background:var(--acento-bg);color:var(--acento);font-weight:600}.side nav a.on svg *{stroke-width:2.1px}.side-foot{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:auto;padding-top:12px;display:flex}.side-foot .avatar{background:var(--acento-bg);width:40px;height:40px;color:var(--brand-deep);font-family:var(--mono);font-size:var(--text-xs);letter-spacing:.02em;border-radius:14px;place-items:center;margin-bottom:4px;font-weight:700;display:grid}.side-foot .btn{width:88px;min-height:0;color:var(--ink-soft);font-size:var(--text-xs);white-space:normal;box-shadow:none;-webkit-hyphens:auto;hyphens:auto;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;padding:8px 2px;font-weight:500;line-height:1.15;display:flex}.side-foot .btn svg{width:20px;height:20px}.side-foot .btn:hover{background:var(--paper-sunken);color:var(--ink);border:0}.app-topbar{z-index:40;height:64px;margin-left:var(--rail);background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:0 32px;display:flex;position:sticky;top:0}.topbar-context{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.topbar-context .escudo{background:var(--acento-bg);width:32px;height:32px;color:var(--acento);font-family:var(--mono);border-radius:9px;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.topbar-context .ambito{min-width:0;line-height:1.2}.topbar-context .ambito b{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;display:block;overflow:hidden}.topbar-context .ambito small{font-family:var(--mono);font-size:var(--text-xs);color:var(--ink-faint);display:block}.topbar-actions{align-items:center;gap:14px;display:flex}.whoami{white-space:nowrap;font-size:var(--text-sm);color:var(--ink-soft);align-items:center;gap:10px;margin:0;display:flex}.whoami b{color:var(--ink);font-weight:500}.whoami .datos{font-size:var(--text-xs);color:var(--ink-faint)}.whoami .perfil{font-size:var(--text-xs);color:var(--brand-deep);background:var(--acento-bg);border-radius:var(--radius-pill);padding:.3rem .7rem;font-weight:500}.letra{min-height:36px;color:var(--ink-soft);font-size:var(--text-xs);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:0 10px 0 6px;font-weight:500;display:inline-flex}.letra:hover{background:var(--paper-sunken);border-color:#0000}.letra .sw{background:var(--line-strong);border-radius:11px;width:36px;height:22px;transition:background-color .15s;position:relative}.letra .sw:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px}.letra[aria-pressed=true] .sw{background:var(--acento)}.letra[aria-pressed=true] .sw:after{transform:translate(14px)}.main{margin-left:var(--rail);min-width:0;padding:28px 32px 48px}.main>*{max-width:1240px;margin-inline:auto}.main-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.4rem;display:flex}.main-head>div:not(.actions){flex:22rem;min-width:0}.main-head>div:not(.actions)>.sm{color:var(--ink-soft);max-width:60ch}.main-head>.actions{margin:0}.skip-link{z-index:200;background:var(--acento);color:var(--acento-contrast);border-radius:var(--radius-sm);padding:12px 16px;text-decoration:none;position:fixed;top:-100px;left:106px}.skip-link:focus{top:10px}.sidebar-scrim,.app-topbar .mobile-menu{display:none}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.pad{padding:var(--space-6)}.stack>*+*{margin-top:var(--space-6)}.rows{margin:0;padding:0;list-style:none}.rows>li{border-bottom:1px solid var(--line);padding:.9rem 1.25rem}.rows>li:has(>.row){padding:0}.rows>li:last-child{border-bottom:0}.grow{flex:1;min-width:0}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}th{text-align:left;font-size:var(--text-xs);letter-spacing:0;text-transform:none;color:var(--ink-faint);background:var(--paper-sunken);white-space:nowrap;border:0;padding:.8rem 1rem;font-weight:500}td{border-top:1px solid var(--line);vertical-align:middle;padding:.85rem 1rem}td:first-child{color:var(--ink);font-weight:500}tbody tr:hover{background:var(--paper-sunken)}.scroll-x{border:1px solid var(--line);border-radius:var(--radius-sm);overflow-x:auto}.scroll-x>table{border-radius:inherit}.scroll-x:focus-visible{outline:3px solid var(--brand-tint-2);outline-offset:2px}.th-sub{letter-spacing:normal;text-transform:none;color:var(--ink-faint);margin-top:.15rem;font-size:.68rem;font-weight:400;display:block}.notas td{vertical-align:top}.notas td form{max-width:15rem;margin-top:.4rem}.notas details{margin-top:.35rem}.notas details summary{cursor:pointer;color:var(--ink-soft)}.notas details ul{border-left:2px solid var(--line);margin:.35rem 0 0;padding:0 0 0 .55rem;list-style:none}.notas details li+li{margin-top:.15rem}.calendario td[colspan]{padding-bottom:var(--space-4)}.calendario td[colspan] .card{margin:0}.calendario td:last-child{text-align:right}.calendario td:last-child .actions{flex-wrap:nowrap;justify-content:flex-end}.calendario td:last-child .btn{white-space:nowrap}a.btn{align-items:center;text-decoration:none;display:inline-flex}.backdrop{z-index:80;background:#121b4252;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border-left:1px solid var(--line);box-shadow:var(--shadow-lift);width:min(var(--peek), 100%);height:100%;padding:var(--space-6);border-radius:0;animation:.22s ease-out hoja-entra;overflow-y:auto}@keyframes hoja-entra{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal{animation:none}}.modal-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.modal-head h2{margin:0}.modal .actions{margin-top:1rem}button,.btn{min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:var(--text-sm);letter-spacing:0;cursor:pointer;justify-content:center;align-items:center;gap:.6rem;padding:0 1.25rem;font-weight:500;transition:box-shadow .18s,background-color .15s,border-color .15s;display:inline-flex}button,.btn,label,summary,.side nav a,.tabs a,.elegir-lista>li,.categoria,.celda,.paso-pag{-webkit-user-select:none;user-select:none}button:hover,.btn:hover{background:var(--paper-sunken);border-color:var(--line-strong)}button[type=submit],.btn-primary{background:var(--acento);color:var(--acento-contrast);border-color:var(--acento);box-shadow:0 4px 12px color-mix(in srgb, var(--acento) 18%, transparent);font-weight:600}button[type=submit]:hover,.btn-primary:hover{background:color-mix(in srgb, var(--acento) 86%, #000);border-color:color-mix(in srgb, var(--acento) 86%, #000);box-shadow:0 6px 16px color-mix(in srgb, var(--acento) 26%, transparent)}.btn-ghost,button.link{color:var(--acento);background:0 0;border-color:#0000}.btn-ghost:hover,button.link:hover{background:var(--acento-bg)}.btn-danger{background:var(--bad);border-color:var(--bad);color:#fff}.btn-danger:hover{background:#8e1e17;border-color:#8e1e17}.btn-sm{min-height:36px;font-size:var(--text-xs);border-radius:var(--radius-xs);padding:0 .9rem}.back{color:var(--ink-soft);gap:.45rem;padding-left:.65rem}.back:hover{color:var(--ink)}.btn-block{width:100%;display:flex}button[disabled],.btn[disabled]{opacity:.5;cursor:not-allowed}button.link{min-height:0;font-family:inherit;font-size:inherit;text-align:left;border-radius:4px;padding:0;text-decoration:underline}button.link:hover{box-shadow:0 0 0 .3rem var(--acento-bg)}.field{margin-bottom:1.1rem}label,.label{font-size:var(--text-sm);letter-spacing:0;text-transform:none;color:var(--ink);margin:0 0 .4rem;font-weight:500;display:block}input,select,textarea,.input{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--text-base);padding:.6rem .85rem;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--acento);box-shadow:0 0 0 3px color-mix(in srgb, var(--acento) 22%, transparent);outline:none}textarea{resize:vertical;min-height:5rem}input[type=radio],input[type=checkbox]{width:auto;min-height:0}.choice{min-height:var(--tap);font-family:var(--sans);font-size:var(--text-sm);letter-spacing:normal;text-transform:none;color:var(--ink);align-items:center;gap:.5rem;margin:0;font-weight:400;display:flex}.choice,.questions label,.roster label{cursor:pointer}.help{font-family:var(--sans);color:var(--ink-faint);letter-spacing:normal;text-transform:none;margin:.3rem 0 0;font-size:.8rem;font-weight:400}.two{gap:var(--space-4);grid-template-columns:1fr 1fr;margin-bottom:1.1rem;display:grid}.two .field{margin-bottom:0}@media (width<=640px){.two{grid-template-columns:1fr}}.pill,.state,.tag{font-size:var(--text-xs);border-radius:var(--radius-xs);white-space:nowrap;background:var(--paper-sunken);color:var(--ink-soft);align-items:center;gap:.4rem;padding:.45rem .7rem;font-weight:500;line-height:1;display:inline-flex}.pill:before,.state:before,.tag:before{content:"";background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.pill:has(svg){padding-left:.5rem}.pill:has(svg):before{display:none}.pill svg{flex:none}.pill-ok,.state.done{background:var(--ok-bg);color:var(--ok)}.pill-warn{background:var(--warn-bg);color:var(--warn)}.pill-bad{background:var(--bad-bg);color:var(--bad)}.pill-state{background:var(--info-bg);color:var(--info)}.pill-info,.tag{background:var(--brand-tint);color:var(--brand-deep)}.note,[role=alert]{border-radius:var(--radius-sm);font-size:var(--text-sm);background:var(--warn-bg);border:1px solid;border-color:color-mix(in srgb, var(--warn) 30%, transparent);color:var(--warn);padding:.9rem 1.1rem}.note-ok{background:var(--ok-bg);border-color:color-mix(in srgb, var(--ok) 30%, transparent);color:var(--ok)}.note-info{background:var(--brand-tint);border-color:color-mix(in srgb, var(--brand) 30%, transparent);color:var(--brand-deep)}[role=alert],.note-bad{background:var(--bad-bg);border-color:color-mix(in srgb, var(--bad) 30%, transparent);color:var(--bad)}.meter{border-radius:var(--radius-pill);background:var(--line);height:6px;display:block;overflow:hidden}.meter>span{background:var(--acento);border-radius:var(--radius-pill);height:100%;transition:width .3s;display:block}.meter>span.done{background:var(--ok)}.stats{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));display:grid}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-4) var(--space-3)}.stat .k{font-size:var(--text-xs);letter-spacing:0;text-transform:none;color:var(--ink-faint);margin:0 0 .3rem;font-weight:500}.stat-n{font-size:var(--text-xl);letter-spacing:-.03em;color:var(--ink);margin:0;font-weight:600}.tabs{border-bottom:1px solid var(--line);margin-bottom:var(--space-6);gap:.3rem;display:flex}.tabs button,.tabs a{min-height:0;font-size:var(--text-sm);letter-spacing:0;color:var(--ink-soft);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;align-items:center;margin-bottom:-1px;padding:.8rem 1rem;font-weight:500;text-decoration:none;display:flex}.tabs button:hover,.tabs a:hover{color:var(--ink);background:0 0}.tabs button.on,.tabs a.on{color:var(--acento);border-color:var(--acento)}.tabs{overflow-x:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.entrar{background:var(--paper);grid-template-columns:1.1fr 1fr;gap:20px;min-height:100dvh;padding:20px;display:grid}.entrar-marca{background:linear-gradient(155deg, var(--side-ink) 0%, var(--brand-dark) 55%, #07131f 100%);color:#fff;border-radius:28px;flex-direction:column;padding:2.5rem;display:flex;position:relative;overflow:hidden}.entrar-marca .brand{z-index:2;position:relative}.entrar-marca .brand .app{color:#c3d3e2;border-left-color:#ffffff40}.entrar-marca .brand img{border-radius:var(--radius-sm);background:#fff;height:34px;padding:8px 12px}.entrar-copia{z-index:2;max-width:30rem;margin-top:3.5rem;position:relative}.entrar-copia .kicker{color:#bfc8ef}.entrar-copia h1{color:#fff;letter-spacing:-.045em;margin:.8rem 0 1rem;font-size:clamp(2rem,3.4vw,3.5rem);font-weight:500;line-height:1.18}.entrar-copia h1 em{color:var(--side-rail);font-style:normal}.entrar-copia>p:last-child{color:#d1d8f1;max-width:25rem;font-size:var(--text-base)}.entrar-pie{z-index:2;font-size:var(--text-xs);color:#bfc8ef;margin:auto 0 0;position:relative}.estratos{z-index:0;width:100%;height:100%;position:absolute;inset:0}.entrar-forma{flex-direction:column;justify-content:center;align-items:center;padding:2.5rem 1.5rem;display:flex}.entrar-columna{width:min(25.5rem,100%)}.entrar h1{margin-top:0}.verificar{max-width:42rem;margin:0 auto;padding:3rem 1.2rem 4rem}.verificar .brand{justify-content:center;margin-bottom:1.4rem}.verificar h1,.verificar>.sm{text-align:center}.verificar table{margin-top:1.1rem}.facts{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.7rem;margin:1.1rem 0 0;display:grid}.facts dt{font-size:var(--text-xs);color:var(--ink-faint)}.facts dd{margin:.15rem 0 0;font-weight:500}.brand{align-items:center;gap:.6rem;display:flex}.brand img{align-self:center;width:auto;height:30px;display:block}.brand .app{font-family:var(--mono);letter-spacing:.06em;color:var(--ink-soft);border-left:1px solid var(--line-strong);padding-left:.6rem;font-size:.95rem}.row{color:inherit;padding:1rem 1.25rem;text-decoration:none;display:block}.row:hover{background:var(--paper-hover)}.card:not(.pad)>.rows:first-child>li:first-child>.row{border-radius:var(--radius) var(--radius) 0 0}.card:not(.pad)>.rows:last-child>li:last-child>.row{border-radius:0 0 var(--radius) var(--radius)}.card:not(.pad)>.rows:first-child:last-child>li:only-child>.row{border-radius:var(--radius)}button.row{text-align:left;width:100%;min-height:0;font:inherit;letter-spacing:normal;color:inherit;background:0 0;border:0;border-radius:0;display:block}.row.on{background:var(--acento-surface);font-weight:600}.row.on:hover{background:var(--acento-surface)}.row-top{gap:var(--space-3);justify-content:space-between;align-items:baseline;display:flex}.row-meta{font-size:var(--text-sm);color:var(--ink-soft);margin:.3rem 0 .5rem;display:block}.cohort-name{margin:-.2rem 0 var(--space-4);color:var(--ink-faint);font-size:var(--text-sm)}.attendance,.progress-total{margin:0 0 var(--space-4);font-size:var(--text-sm)}.attendance{padding:var(--space-3) var(--space-4);background:var(--brand-tint);border-radius:var(--radius);color:var(--brand-dark)}.attendance .count{font-family:var(--mono);font-weight:700}.attendance.at-limit{background:var(--warn-bg);color:var(--warn)}.attendance .soft{color:var(--ink-faint)}.progress-total{align-items:center;gap:var(--space-3);display:flex}.progress-total .meter,.progress-module .meter{flex:1;min-width:8rem}.progress-module{margin:0 0 var(--space-4);align-items:center;gap:var(--space-3);display:flex}.progress-detail{color:var(--ink-faint);font-size:var(--text-sm);white-space:nowrap}.progress-session{font-size:var(--text-sm);margin:var(--space-3) 0 0;color:var(--ink-soft)}.module{margin-top:var(--space-8)}.module>h3,.module>.row-top>h3{align-items:baseline;gap:var(--space-3);margin:0 0 var(--space-2);font-size:var(--text-lg);letter-spacing:-.02em;font-weight:600;display:flex}.module>.row-top{margin-bottom:var(--space-3)}.module-number{color:var(--ink-faint);font-family:var(--sans);font-size:var(--text-sm);font-weight:500}.module-about{margin:0 0 var(--space-3);color:var(--ink-soft);font-size:var(--text-sm)}.sessions{margin:0;padding:0;list-style:none}.sessions>li{border-top:1px solid var(--line);padding:var(--space-4) 1.25rem}.sessions>li:first-child{border-top:0}.contents{margin:var(--space-3) 0 0;padding:0;list-style:none}.contents li{gap:var(--space-3);padding:var(--space-2) 0;font-size:var(--text-sm);align-items:baseline;display:flex}.kind{min-width:6.5rem;font-size:var(--text-xs);color:var(--ink-faint);font-weight:600}.material{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.contents li.correcta,.field.correcta{background:var(--ok-bg);color:var(--ok);box-shadow:inset 3px 0 0 var(--ok);border-radius:var(--radius-sm)}.contents li.correcta{margin:0 calc(-1 * var(--space-3));padding-left:var(--space-3);padding-right:var(--space-3);font-weight:600}.contents li.correcta .kind{color:var(--ok);align-items:center;gap:.3rem;display:inline-flex}.field.correcta{padding:var(--space-2) var(--space-3)}.exam{margin:var(--space-3) 0 var(--space-4);padding:1.1rem 1.25rem}.exam>h4{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.exam-meta{margin:0 0 var(--space-3);color:var(--ink-faint);font-size:var(--text-sm)}.exam-result{font-size:var(--text-sm)}.exam-result.passed{color:var(--ok)}.questions{margin:0 0 var(--space-4);padding:0;list-style:none}.questions>li{margin-bottom:var(--space-4)}.questions fieldset{border:0;margin:0;padding:0}.questions legend{margin-bottom:var(--space-2);font-weight:700}.questions label,.roster label{align-items:center;gap:var(--space-2);font-family:var(--sans);font-size:var(--text-sm);letter-spacing:normal;text-transform:none;color:var(--ink);padding:var(--space-1) 0;min-height:2rem;margin:0;font-weight:400;display:flex}.task>h4{margin:0 0 .35rem}.task>p{margin:.35rem 0}.task>button{margin-top:.9rem}.states{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}blockquote{margin:0}.feedback{background:var(--paper-sunken);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--radius-sm);margin:.8rem 0;padding:.85rem 1rem}.feedback>p:last-child{margin:0}.pick{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.35rem 0;display:flex}.pick label.btn{text-transform:none;letter-spacing:.01em;color:var(--ink);margin:0;font-size:.8rem;font-weight:600;display:inline-flex}.pick input:focus-visible+.btn{outline:3px solid var(--brand-tint-2);outline-offset:2px}.drop{border:2px dashed var(--line-strong);border-radius:var(--radius-sm);text-align:center;color:var(--ink-soft);background:var(--paper-sunken);padding:1.5rem}.filters{gap:var(--space-4);max-width:none;padding:var(--space-4);margin-bottom:var(--space-4);background:var(--paper-sunken);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:none;flex-flow:wrap;align-items:flex-end;display:flex}.filters input,.filters select,.filters .elegir input{background:var(--paper)}.filters>div{gap:var(--space-1);flex-direction:column;flex:10rem;min-width:0;display:flex}.filters input,.filters select,.filters .elegir{width:100%;min-width:0}.filters>button{flex:none}@media (width<=720px){.filters>div{flex-basis:100%}}.elegir{position:relative}.elegir input{padding-right:2.2rem}.elegir-punta{color:var(--ink-faint);pointer-events:none;transition:transform .12s;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.elegir-punta.abierta{transform:translateY(-50%)rotate(180deg)}.elegir-lista{z-index:20;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);max-height:15rem;box-shadow:var(--shadow-lift);margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow-y:auto}.elegir-lista>li{border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);color:var(--ink);padding:.5rem .6rem}.elegir-lista>li.on{background:var(--acento-bg);color:var(--brand-deep)}.elegir-lista>li[aria-selected=true]{font-weight:700}.elegir-lista>li.elegir-nada{color:var(--ink-soft);cursor:default}.roster fieldset{gap:var(--space-4);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.picker{flex-direction:column;padding:1.1rem 1.25rem;display:flex}.submissions textarea{width:100%}.actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.hoy{grid-template-columns:1.5fr 1fr 1fr;gap:14px;margin-bottom:26px;display:grid}.hoy>.card{flex-direction:column;gap:6px;padding:18px 20px;display:flex}.hoy .que{font-size:var(--text-sm);color:var(--ink-faint)}.hoy .valor{font-size:var(--text-lg);font-weight:600;line-height:1.2}.hoy .cuando{color:var(--ink-soft);font-size:var(--text-sm)}.hoy .acc{margin-top:auto;padding-top:10px}.hoy>.card.acento{background:var(--acento);border-color:var(--acento);color:var(--acento-contrast)}.hoy>.card.acento .que,.hoy>.card.acento .cuando{color:color-mix(in srgb, var(--acento-contrast) 78%, transparent)}.hoy>.card.acento .btn{background:var(--paper);border-color:var(--paper);color:var(--acento);font-weight:600}.hoy-nada{color:var(--ink-soft);margin:0 0 22px}.seccion-titulo{margin-top:8px}.seccion-titulo h2{margin-bottom:0}.rejilla{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;display:grid}.programa{color:inherit;flex-direction:column;padding:0;text-decoration:none;display:flex;overflow:hidden}.programa:hover{border-color:var(--line-strong)}.portada{background:var(--cover-2);flex:none;height:112px;position:relative;overflow:hidden}.portada:before{content:"";background:var(--cover-3);border-radius:50%;width:62%;height:150%;position:absolute;inset:-20% -10% auto auto}.portada:after{content:"";background:var(--cover-4);opacity:.9;border-radius:50%;width:46%;height:90%;position:absolute;bottom:-40%;left:12%}.portada.p1{background:var(--cover-1)}.portada.p1:before{background:var(--cover-3);border-radius:0;width:52%;height:120%;inset:10% -20% auto auto;transform:rotate(14deg)}.portada.p1:after{background:var(--cover-2);width:55%;bottom:-55%;left:-8%}.portada.p2{background:var(--cover-3)}.portada.p2:before{background:var(--cover-4);width:70%;height:120%;inset:auto -25% -40% auto}.portada.p2:after{background:var(--cover-1);width:26%;height:60%;bottom:25%;left:8%}.portada .sello{font-family:var(--mono);font-size:var(--text-xs);color:var(--ink);background:color-mix(in srgb, var(--paper) 85%, transparent);border-radius:6px;padding:.2rem .5rem;position:absolute;top:12px;left:14px}.programa .cuerpo{flex-direction:column;flex:1;gap:8px;padding:16px 18px 18px;display:flex}.programa h3{font-size:var(--text-base);margin:0;font-weight:600;line-height:1.3}.programa .grupo{color:var(--ink-faint);font-size:var(--text-sm)}.programa .sigue{font-size:var(--text-sm);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:8px;display:flex}.ruta{padding:22px 22px 18px;overflow-x:auto}.ruta .meses{min-width:640px;display:grid}.ruta .mes{font-size:var(--text-xs);color:var(--ink-faint);text-align:center;border-top:2px solid var(--line);padding-top:44px;position:relative}.ruta .mes.pasado,.ruta .mes.hoy{border-top-color:var(--acento)}.ruta .mes.hoy:after{content:"este mes";color:var(--acento);white-space:nowrap;font-weight:600;position:absolute;top:-26px;left:50%;transform:translate(-50%)}.ruta .parada{background:var(--paper);border:2px solid var(--line-strong);border-radius:50%;width:16px;height:16px;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.ruta .mes.pasado .parada{background:var(--acento);border-color:var(--acento)}.ruta .mes.hoy .parada{background:var(--paper);border-color:var(--acento);border-width:4px;width:20px;height:20px;top:-11px}.ruta .mes.falta .parada{border-style:dashed}.ruta .mes.sin{border-top-style:dashed}.ruta .parada b{font-family:var(--mono);font-size:var(--text-xs);color:var(--ink-soft);white-space:nowrap;font-weight:500;position:absolute;top:20px;left:50%;transform:translate(-50%)}.ruta .mes.pasado .parada b,.ruta .mes.hoy .parada b{color:var(--ink)}.ruta .leyenda{font-size:var(--text-xs);color:var(--ink-faint);flex-wrap:wrap;gap:18px;margin:14px 0 0;display:flex}.ruta .leyenda i{border:2px solid var(--line-strong);vertical-align:-1px;background:var(--paper);border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block}.ruta .leyenda i.p{background:var(--acento);border-color:var(--acento)}.ruta .leyenda i.h{border-color:var(--acento);border-width:3px}.ruta .leyenda i.f{border-style:dashed}.modulos{gap:12px;display:grid}.modulo{padding:0;overflow:hidden}.modulo .cab{flex-wrap:wrap;align-items:center;gap:16px;padding:16px 20px;display:flex}.modulo .num{width:40px;height:40px;font-family:var(--mono);background:var(--paper-sunken);color:var(--ink-soft);border-radius:12px;flex:none;place-items:center;font-weight:600;display:grid}.modulo.aprobado .num{background:var(--ok-bg);color:var(--ok)}.modulo.abierto .num{background:var(--acento-bg);color:var(--acento)}.modulo .cab h3{margin:0}.modulo .cab .sub{color:var(--ink-faint);font-size:var(--text-sm);display:block}.modulo .cab .der{flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;display:flex}.modulo .sesiones{border-top:1px solid var(--line)}.modulo .sesiones .module-about{margin:0;padding:14px 20px 0}.modulo .sesiones .nota-modulo{padding:10px 20px 0}.modulo .sesiones .rows>li{padding:.9rem 20px}.modulo .sesiones .empty{padding:1.5rem}.sesion-vista{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.ficha-sesion{align-content:start;gap:14px;display:grid}.ficha-sesion .d small{color:var(--ink-faint);font-size:var(--text-xs);display:block}.ficha-sesion .d b{font-weight:600}.lectura{border-radius:var(--radius-sm);background:var(--acento-bg);flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px;display:flex}.lectura b{font-weight:600}.lectura small{color:var(--ink-soft)}@media (width<=860px){.side{width:var(--rail-open);visibility:hidden;box-shadow:var(--shadow-lift);transition:transform .2s,visibility .2s;transform:translate(-100%)}.side.abierta{visibility:visible;transform:translate(0)}.side{align-items:stretch;padding:18px 14px}.side nav,.side-block,.side-foot{align-items:stretch}.side nav a,.side-foot .btn{width:100%;font-size:var(--text-sm);text-align:left;flex-direction:row;justify-content:flex-start;gap:14px;padding:12px 14px}.sidebar-scrim{z-index:55;background:#10243c73;border:0;padding:0;display:block;position:fixed;inset:0}.app-topbar{gap:10px;height:64px;margin-left:0;padding:0 16px}.app-topbar .mobile-menu{border-radius:var(--radius-sm);flex:none;place-items:center;width:40px;height:40px;padding:0;display:inline-grid}.topbar-context{flex:1;min-width:0}.whoami .datos,.whoami .perfil,.letra,.topbar-context .ambito small{display:none}.whoami{min-width:0}.whoami b{text-overflow:ellipsis;max-width:38vw;overflow:hidden}.main{margin-left:0;padding:20px 16px 40px}.main-head{align-items:stretch;gap:var(--space-2);flex-direction:column}.row-top{flex-wrap:wrap}.row-top>.grow{flex-basis:100%}.main-head>div:not(.actions){flex-basis:auto}.stats{grid-template-columns:repeat(2,1fr)}.hoy,.sesion-vista,.rejilla{grid-template-columns:1fr}.contents li,.material{flex-wrap:wrap}.kind{min-width:0}.entrar{flex-direction:column;gap:0;padding:12px;display:flex}.entrar-marca{border-radius:20px;flex:none;min-height:0;padding:1.4rem}.entrar-copia{max-width:100%;margin-top:1.2rem}.entrar-copia h1{margin:.5rem 0 0;font-size:1.6rem}.entrar-copia>p:last-child,.entrar-pie{display:none}.entrar-marca .brand img{height:26px;padding:6px 9px}.estratos{display:none}.entrar-forma{justify-content:flex-start;padding:2rem .5rem 3rem}.entrar-columna{width:100%}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),select,textarea{font-size:16px}}.lib-head{margin-bottom:var(--space-4)}.buscador{max-width:26rem;display:block;position:relative}.buscador>svg{color:var(--ink-faint);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.buscador input{font:inherit;width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);box-shadow:none;padding:0 1rem 0 2.8rem}.buscador input:focus{border-color:var(--acento);box-shadow:0 0 0 3px color-mix(in srgb, var(--acento) 22%, transparent);outline:0}.categorias{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(240px,340px));justify-content:start;display:grid}.categoria{font:inherit;text-align:left;cursor:pointer;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow);gap:var(--space-3);align-items:flex-start;transition:box-shadow .18s,transform .18s,border-color .15s;display:flex}.categoria:hover{border-color:var(--line-strong);box-shadow:var(--shadow-lift);transform:translateY(-2px)}.categoria.on{border-color:var(--acento);background:var(--acento-bg)}.categoria b,.categoria .xs{display:block}.filtros{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.filtros button{font:inherit;font-size:var(--text-sm);cursor:pointer;min-height:var(--tap);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink-soft);border:1px solid var(--line);box-shadow:none;padding:0 1rem;font-weight:500}.filtros button:hover{color:var(--ink);background:var(--paper-sunken);border-color:var(--line-strong)}.filtros button.on{background:var(--acento);color:var(--acento-contrast);border-color:var(--acento);font-weight:600}.libros{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));display:grid}.libro{color:inherit;text-decoration:none;display:block}.libro .autor{font-size:var(--text-sm);color:var(--ink-soft);margin-top:var(--space-2);line-height:1.35;display:block}.tapa{aspect-ratio:3/4;border-radius:var(--radius-sm);background:var(--acento);color:#fff;padding:var(--space-3);flex-direction:column;justify-content:flex-end;transition:transform .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 6px #0e2a471a,0 12px 24px -12px #0e2a474d}.tapa:before{content:"";background:#00000038;width:11px;position:absolute;top:0;bottom:0;left:0;box-shadow:inset -1px 0 #ffffff24}.libro:hover .tapa{transform:translateY(-4px);box-shadow:0 4px 10px #0e2a471f,0 20px 38px -14px #0e2a4766}.tapa b{font-size:var(--text-base);letter-spacing:-.01em;padding-left:.5rem;font-weight:700;line-height:1.22}.tapa small{font-size:var(--text-xs);opacity:.72;margin-top:.3rem;padding-left:.5rem}.tapa.c1,.mini.c1{background:linear-gradient(150deg,#1d5f8a,#123a56)}.tapa.c2,.mini.c2{background:linear-gradient(150deg,#8a4a2a,#57301c)}.tapa.c3,.mini.c3{background:linear-gradient(150deg,#2f6b4c,#1d4331)}.tapa.c4,.mini.c4{background:linear-gradient(150deg,#6b3d74,#432549)}.tapa.c5,.mini.c5{background:linear-gradient(150deg,#8a6a22,#574316)}.tapa.c6,.mini.c6{background:linear-gradient(150deg,#2b4b8a,#1b2f57)}.ficha-libro{gap:var(--space-6);padding:var(--space-6);flex-wrap:wrap;align-items:flex-start;display:flex}.tapa-ficha{border-radius:var(--radius);flex:none;width:180px}.vacio{text-align:center;padding:var(--space-8) var(--space-4);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}.vacio>p{max-width:34rem;margin-inline:auto}.vacio .ic{color:var(--ink-faint);opacity:.55}.vacio h3{font-size:var(--text-lg);margin:var(--space-4) 0 var(--space-2)}.vacio p{max-width:32rem;margin:0 auto}.bloque+.bloque{margin-top:var(--space-4)}.reparto{align-items:center;gap:var(--space-3);display:flex}.reparto .grow b,.reparto .grow .xs{display:block}.btn-puesto{background:var(--ok-bg);color:var(--ok);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ok) 26%, transparent)}.lector{border-radius:var(--radius);-webkit-user-select:none;user-select:none;background:#131a24;border:1px solid #0c121a;overflow:hidden}.lector-arriba{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);color:#dce4ed;display:flex;box-shadow:inset 0 -1px #ffffff14}.lector-arriba b{font-size:var(--text-sm);display:block}.lector-arriba .xs{color:#8fa3ba}.lector-arriba .mono{color:#8fa3ba;font-size:var(--text-sm)}.ir-pag{white-space:nowrap;align-items:center;gap:.4rem;display:flex}.ir-pag input{font:inherit;color:#fff;text-align:center;border-radius:var(--radius-sm);-webkit-user-select:text;user-select:text;background:#ffffff14;border:1px solid #ffffff24;min-width:3ch;min-height:32px;padding:0 .4rem}.ir-pag input:hover{border-color:#ffffff4d}@media (pointer:coarse){.ir-pag input{min-height:44px}}.lector .lienzo{padding:var(--space-6) var(--space-4);place-items:center;display:grid}.lector .lienzo p{color:#8fa3ba}.pagina{-webkit-user-drag:none;width:100%;max-width:640px;height:auto;display:block;box-shadow:0 2px 8px #0006,0 24px 60px -18px #0009}.lector-abajo{justify-content:center;align-items:center;gap:var(--space-4);padding:0 var(--space-4) var(--space-4);display:flex}.paso-pag{border-radius:var(--radius-sm);cursor:pointer;color:#fff;background:#ffffff14;border:1px solid #ffffff24;place-items:center;width:44px;height:44px;min-height:0;padding:0;display:grid}.paso-pag:hover{background:#ffffff29;border-color:#ffffff3d}.paso-pag:disabled{opacity:.3;cursor:default}.aviso-agua{max-width:640px;padding:0 var(--space-4) var(--space-6);font-size:var(--text-xs);color:#8fa3ba;align-items:flex-start;gap:.6rem;margin:0 auto;line-height:1.45;display:flex}.aviso-agua svg{flex:none;margin-top:1px}.aviso-agua a{color:#dce4ed}@media print{.lector .lienzo,.pagina{display:none!important}.lector:after{content:"Este libro se lee en linea y no se imprime.";color:#000}}@media (width<=640px){.ficha-libro{gap:var(--space-4)}.tapa-ficha{width:120px}.lector .lienzo{padding:var(--space-4) var(--space-2)}}.scroll-x{overflow-x:auto}table.matriz{border-collapse:collapse;width:100%;min-width:520px;font-size:var(--text-sm)}.matriz th{text-align:left;font-size:var(--text-xs);color:var(--ink-faint);padding:.8rem var(--space-3);background:var(--paper-sunken);font-weight:600}.matriz th.centro,.matriz td.centro{text-align:center}.matriz td{padding:var(--space-3);border-top:1px solid var(--line)}.matriz td b,.matriz td .xs{display:block}.celda{border-radius:var(--radius-xs);cursor:pointer;width:44px;height:44px;color:var(--line-strong);background:0 0;border:0;place-items:center;min-height:0;padding:0;display:grid}.celda:hover{background:var(--paper-hover)}.celda.si{color:var(--ok)}.celda:disabled{opacity:.4;cursor:default}.rows>li>b,.rows>li>.xs{display:block}.head-fila{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.head-fila .kicker{margin:0}.varias{margin:0 0 var(--space-4);border:0;padding:0}.varias legend{font-size:var(--text-sm);color:var(--ink);margin-bottom:var(--space-2);padding:0;font-weight:500}.varias label{min-height:38px;font-size:var(--text-base);letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer;align-items:center;gap:.55rem;margin:0;font-weight:500;display:flex}.varias label.anidada{color:var(--ink-soft);padding-left:1.4rem}.varias input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--acento);flex:none;padding:0}.kicker.sep{margin-top:var(--space-6)}.pad>.rows.llano>li,.modal .rows.llano>li{padding-left:0;padding-right:0}.cifras{gap:var(--space-8);flex-wrap:wrap;display:flex}.cifras p{flex-direction:column;margin:0;display:flex}.cifras b{font-size:var(--text-lg,1.25rem)}.leyenda{align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;display:flex}.leyenda i,.tooltip i{vertical-align:middle;border-radius:1px;width:14px;height:2px;margin-right:.4rem;display:inline-block}.leyenda .btn{margin-left:auto}.grafico{max-width:720px;position:relative}.grafico svg{width:100%;height:auto;display:block;overflow:visible}.grafico .grid{stroke:var(--line);stroke-width:1px}.grafico .eje{fill:var(--ink-faint);font-size:11px}.grafico .valor{fill:var(--ink);font-size:12px;font-weight:600}.grafico .linea{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.grafico .punto{stroke:var(--paper,#fff);stroke-width:2px}.grafico .guia{stroke:var(--line-strong);stroke-width:1px}.grafico .tooltip{pointer-events:none;white-space:nowrap;background:var(--paper,#fff);border:1px solid var(--line-strong);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--ink);flex-direction:column;gap:2px;padding:.4rem .6rem;display:flex;position:absolute;top:0;transform:translate(-50%);box-shadow:0 4px 12px #0e2a471f}.barras{align-items:flex-end;gap:2px;height:64px;display:flex}.barra{flex:1;align-items:flex-end;max-width:24px;height:100%;display:flex}.barra span{background:var(--serie-1);border-radius:4px 4px 0 0;width:100%;min-height:1px;display:block}.buscar-libro{gap:var(--space-2);align-items:center;max-width:32rem;display:flex}.buscar-libro input{flex:1}.aviso-libro{color:var(--ink-soft);margin-top:.2rem;display:block}.aviso-libro b{color:var(--ink)}.tareas{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;display:grid}.tarea{color:inherit;flex-direction:column;gap:8px;min-height:180px;padding:22px 22px 20px;text-decoration:none;display:flex}.tarea:hover{border-color:var(--line-strong);background:var(--paper-hover)}.tarea .ico{background:var(--acento-bg);width:44px;height:44px;color:var(--acento);border-radius:12px;place-items:center;margin-bottom:4px;display:grid}.tarea .ico svg{width:24px;height:24px}.tarea h3{font-size:var(--text-lg);margin:0;line-height:1.25}.tarea p{color:var(--ink-soft);font-size:var(--text-sm);margin:0;line-height:1.45}.tarea .pend{font-size:var(--text-sm);color:var(--warn);margin-top:auto;padding-top:10px;font-weight:600}.tarea .pend.ok{color:var(--ok)}.tarea .pend[aria-busy]{color:var(--ink-faint);font-weight:500}.tabs~* button:not(.link):not(.celda),.tabs~* .btn,.tabs~* input:not([type=checkbox]):not([type=radio]),.tabs~* select{min-height:44px}.tabs~* .btn-sm,.tabs~* button.btn-sm{min-height:40px}.guardado{font-size:var(--text-sm);color:var(--ok);align-items:center;gap:6px;font-weight:500;display:inline-flex}.guardado.mal{color:var(--bad)}.indice{padding:6px 0 14px}.indice .mod{border-bottom:1px solid var(--line);padding:14px 20px 16px}.indice .mod:last-of-type{border-bottom:0}.indice .cab{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.indice .num{width:40px;height:40px;font-family:var(--mono);border-radius:12px;flex:none;place-items:center;font-weight:600;display:grid}.indice .num.ok{background:var(--ok-bg);color:var(--ok)}.indice .num.warn{background:var(--warn-bg);color:var(--warn)}.indice .cab .mover{margin-left:auto}.titulo{font:inherit;border-radius:var(--radius-xs);width:100%;min-width:0;color:var(--ink);background:0 0;border:1px solid #0000;padding:4px 8px}.titulo.grande{font-size:var(--text-lg);flex:16rem;font-weight:600}.titulo:hover{border-color:var(--line);background:var(--paper-sunken)}.titulo:focus{border-color:var(--acento);background:var(--paper);box-shadow:0 0 0 3px var(--acento-bg);outline:none}.tabs~* .titulo{min-height:40px}.indice .ses{border-radius:var(--radius-sm);border:1px dashed #0000;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0 8px 10px;display:flex}.indice .ses+.ses{border-top-color:#0000}.indice .ses.sobre{border-color:var(--acento);background:var(--acento-bg)}.indice .ses .orden{font-family:var(--mono);color:var(--ink-faint);text-align:right;min-width:1.5rem}.indice .ses .grow{flex-direction:column;gap:2px;display:flex}.indice .ses small{color:var(--ink-faint);font-size:var(--text-xs);padding-left:8px}.mover{gap:4px;display:inline-flex}.mover button{width:40px;padding:0;font-size:1rem}.anadir{color:var(--ink-soft);border-style:dashed;margin:10px 0 0 52px}.indice>.anadir{margin:14px 20px 0}.nueva{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 0 52px;display:flex}.nueva input{flex:16rem}.indice>.nueva{margin:14px 20px 0}.generador-caja h2{margin-top:0}.generador{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));align-items:end;gap:12px 16px;display:grid}.generador .field{margin-bottom:0}.fechas{flex-wrap:wrap;gap:8px;margin:16px 0 14px;padding:0;list-style:none;display:flex}.fecha-chip{border:1px solid var(--line);font-size:var(--text-sm);color:var(--ink-soft);background:var(--paper);border-radius:999px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.fecha-chip b{color:var(--ink);font-weight:600}.fecha-chip .saltada{color:var(--ink-faint);border-right:1px solid var(--line);padding-right:8px;font-style:italic}.generador-caja .actions{align-items:center}.generador-caja .actions .help{margin:0}.entrega{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:18px;display:grid}.aulas{flex-direction:column;gap:2px;padding:8px;display:flex;position:sticky;top:12px}.aulas button{text-align:left;background:0 0;border-color:#0000;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.aulas button small{color:var(--ink-faint);font-size:var(--text-xs);font-weight:400}.aulas button.on{background:var(--acento-surface);color:var(--acento);border-color:#0000;font-weight:600}.aulas button.on small{color:var(--acento);opacity:.8}.checklist{padding:8px 20px 18px}.checklist>.xs{margin:-4px 0 8px}.checklist>p[role=alert]{margin-top:12px}.grupo-t{border-top:1px solid var(--line);margin:16px 0 6px;padding-top:14px;font-weight:600}.checklist>.grupo-t:first-child,.checklist>section:first-child>.grupo-t{border-top:0;padding-top:6px}.marcar{border-radius:var(--radius-sm);cursor:pointer;min-height:56px;font-size:var(--text-base);letter-spacing:0;text-transform:none;color:var(--ink);align-items:center;gap:14px;margin:0 -8px;padding:10px 8px;font-weight:400;display:flex}.marcar:hover{background:var(--paper-hover)}.marcar.fija{cursor:default;color:var(--ink-soft)}.marcar input[type=checkbox]{width:24px;height:24px;min-height:0;accent-color:var(--acento);flex:none;margin:0;padding:0}.marcar .t{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.marcar .t b{font-weight:600}.marcar .t small{color:var(--ink-faint);font-size:var(--text-xs)}.marcar .estado{font-size:var(--text-xs);color:var(--ok);white-space:nowrap;font-weight:600}.mini{background:var(--acento);border-radius:4px;flex:none;width:34px;height:46px;position:relative;overflow:hidden}.mini:before{content:"";background:#00000038;width:5px;position:absolute;top:0;bottom:0;left:0}@media (width<=860px){.entrega{grid-template-columns:1fr}.aulas{flex-flow:wrap;position:static}.indice .cab .mover,.anadir,.nueva{margin-left:0}}
