/* Bases Curriculares · sobre los tokens y la cáscara de Rubria v2 (base.css) */
/* El orden del Programa de Estudio: identificación arriba, columnas abajo */
/* Menú en cascada: Base curricular → nivel → asignatura. Los paneles flotan fuera de la barra lateral. */
#b-menu .flecha{margin-left:auto;stroke:var(--sideIcon);flex-shrink:0}
.sel-actual{font-size:11.5px;color:var(--sideText2);padding:2px 8px 6px 32px;line-height:1.35}
.fly{position:fixed;z-index:60;width:230px;overflow-y:auto;overscroll-behavior:contain;background:var(--card);color:var(--text);border-radius:var(--rC,10px);box-shadow:0 0 0 .5px var(--sep),0 12px 32px rgba(19,38,73,.22);padding:6px}
.fly[hidden]{display:none}
#fly-asig{width:300px}
.fly-t{font-size:var(--lS,11px);font-weight:var(--lW,600);font-family:var(--fLbl,inherit);text-transform:var(--lTT,none);letter-spacing:var(--lLS,normal);color:var(--text2);padding:6px 8px 4px}
.fly-g{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accentText);padding:8px 8px 3px}
.fly-i{display:flex;align-items:center;gap:8px;width:100%;min-height:30px;padding:5px 8px;border:none;border-radius:var(--navR,6px);background:none;font:inherit;font-size:13px;color:var(--text);text-align:left;cursor:pointer}
.fly-i span{flex:1}
.fly-i .flecha{stroke:var(--text2);flex-shrink:0}
.fly-i.pendiente{color:var(--text2)}
.fly-i[aria-current="true"]{font-weight:600;color:var(--accentText)}
.fly-i.activo,.fly-i:focus-visible{background:var(--accentSoft);outline:none}
@media (hover:hover){.fly-i:hover{background:var(--accentSoft)}}
.fly-volver{border:none;background:none;font:inherit;font-size:13px;color:var(--accentText);padding:8px;min-height:44px;cursor:pointer}
@media (max-width:860px){
  .sel-actual{flex-basis:100%;padding:0 0 4px 4px}
  .fly,#fly-asig{width:auto}
  .fly-i{min-height:44px;font-size:15px}
}
.hoja h2.sec-t{font-size:15px;margin:18px 0 8px}
table.ident td{vertical-align:top;font-size:13px}
table.ident .tipo-doc{display:block;font-size:var(--lS,11px);font-weight:var(--lW,600);font-family:var(--fLbl,inherit);text-transform:var(--lTT,none);letter-spacing:var(--lLS,normal);color:var(--text2);margin-bottom:2px}
table.ident .sub{display:block;font-size:11.5px;color:var(--text2);margin-top:4px;line-height:1.35}
table.ident tr.caduca td{color:var(--text2)}
.base-cols{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(260px,1.6fr) minmax(200px,1fr) minmax(200px,1fr) minmax(170px,.8fr);gap:10px;margin:18px 0 10px;align-items:start}
.base-cols .col{background:var(--card);border-radius:var(--rC,10px);box-shadow:var(--shC,0 0 0 .5px var(--sep));padding:12px 14px;min-width:0}
.base-cols .col h3{margin:0 0 10px;font-size:13.5px;display:flex;align-items:center;gap:8px}
.base-cols .n{font-family:var(--fNum,inherit);font-size:10.5px;font-weight:500;padding:1px 7px;border-radius:var(--rP,5px);background:var(--accentSoft);color:var(--accentText)}
.base-cols .ejes{display:flex;flex-direction:column;gap:4px}
.base-cols .eje{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:none;border-radius:var(--navR,6px);padding:7px 9px;min-height:32px;font:inherit;font-size:12.5px;color:var(--text);background:var(--fill2,transparent);cursor:pointer}
.base-cols .eje[aria-pressed="true"]{background:var(--accentSoft);color:var(--accentText);font-weight:600}
@media (hover:hover){.base-cols .eje:hover{filter:brightness(.97)}}
.base-cols .grupo-oa{margin:0 0 12px}
.base-cols .grupo-oa:last-child{margin-bottom:0}
.base-cols .et-g{font-size:var(--lS,11px);font-weight:var(--lW,600);font-family:var(--fLbl,inherit);text-transform:uppercase;letter-spacing:.04em;color:var(--accentText);padding:0 0 6px;border-bottom:.5px solid var(--sep);margin-bottom:6px}
.base-cols .it{display:grid;grid-template-columns:auto 1fr;gap:8px;padding:5px 0;align-items:baseline}
.base-cols .it p,.base-cols li{margin:0;font-size:12.5px;line-height:1.45}
.base-cols .cod{font-family:var(--fNum,inherit);font-size:11px;font-weight:600;color:var(--accentText);white-space:nowrap;min-width:34px}
.base-cols .ficha{font-size:11px;white-space:nowrap}
.base-cols ul{margin:0;padding-left:16px}
.base-cols li{padding:2px 0}
.base-cols li .sub{display:block;font-size:11px;color:var(--text2)}
.base-cols .pag{display:block;font-size:11px;color:var(--text2);margin-top:4px}
.base-cols details{margin-top:6px;font-size:12px;color:var(--text2)}
.base-cols details summary{cursor:pointer}
.base-cols details li{font-size:12px}
.pie-base{font-size:12px}
@media (max-width:1180px){.base-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.base-cols .c-oa{grid-row:span 2}}
@media (max-width:860px){
  .base-sel{flex-basis:100%;grid-template-columns:1fr 1fr;padding:4px 0 0}
  .base-cols{grid-template-columns:minmax(0,1fr)}.base-cols .c-oa{grid-row:auto}
  .base-cols .ejes{flex-direction:row;flex-wrap:wrap}.base-cols .eje{min-height:44px}
}
.nav button.vista[aria-current="page"]{cursor:default}
.pdf-chip{display:inline-block;margin-top:4px}
.base-cols .it p + p{margin-top:2px}
.base-cols .it p.vin{padding-left:10px}
.base-cols .sub-g{font-size:11.5px;font-weight:600;color:var(--text2);padding:8px 0 2px}
.base-cols .it p.nota-oa{font-size:11.5px;color:var(--text2);margin-top:4px}
/* Filtro por unidad · alcance y estado de cada relación */
.filtro-unidad{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:18px 0 -6px}
.filtro-unidad .et-f{font-size:var(--lS,11px);font-weight:var(--lW,600);font-family:var(--fLbl,inherit);text-transform:var(--lTT,none);letter-spacing:var(--lLS,normal);color:var(--text2);margin-right:4px}
.chip-u{border:none;border-radius:var(--rP,999px);padding:6px 12px;min-height:32px;font:inherit;font-size:12.5px;color:var(--text);background:var(--card);box-shadow:var(--shC,0 0 0 .5px var(--sep));cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.chip-u .h{font-family:var(--fNum,inherit);font-size:10.5px;color:var(--text2)}
.chip-u[aria-pressed="true"]{background:var(--accentFill);color:#fff}
.chip-u[aria-pressed="true"] .h{color:rgba(255,255,255,.75)}
.nota-f{font-size:12px;margin-left:6px}
.base-cols .alcance{font-size:11px;color:var(--text2);margin:-6px 0 8px;line-height:1.35}
.base-cols .fuente-rel{font-size:11px;color:var(--text2);margin-top:8px;line-height:1.45}
.base-cols .fuente-rel .s{font-size:10px;padding:1px 6px;margin-right:4px}
.base-cols .nota-rel{display:block;font-size:11px;color:var(--text2);margin-top:4px;line-height:1.4}
.base-cols .aviso-rel{font-size:12px;line-height:1.4;padding:8px 10px;border-radius:8px;background:var(--fill);color:var(--text2);margin:0 0 8px}
.base-cols .aviso-rel.revisar{background:var(--orangeSoft);color:var(--orange)}
.base-cols .vacio-rel{font-size:12.5px;color:var(--text2);margin:4px 0}
.base-cols ul.u1{margin:0;padding-left:16px}
.base-cols details.general{margin-top:10px;border-top:.5px solid var(--sep);padding-top:8px}
.base-cols details.general summary{cursor:pointer;font-size:12px;color:var(--accentText)}
.base-cols details.general .alcance{margin:6px 0}
@media (max-width:860px){.chip-u{min-height:44px}}
