/* Estilos propios EESPP «Lamas» (sobre la base de la plantilla) */
:root {
  --escuela-blue: #0b3a9e;
  --escuela-red: #e1251b;
  --escuela-ink: #1c2a44;
}

.top-bar a { color: #fff; text-decoration: none; }
.top-bar a:hover { text-decoration: underline; }

/* Hero */
.hero-kicker {
  display: inline-block; font-size: .8rem; letter-spacing: .12em; text-transform: uppercase;
  color: var(--escuela-red); font-weight: 700; margin-bottom: .75rem;
}
.hero-facts { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; padding: 0; list-style: none; }
.hero-facts li {
  background: #fff; border-left: 4px solid var(--escuela-red); border-radius: .5rem;
  padding: .6rem 1rem; box-shadow: 0 4px 14px rgba(11, 58, 158, .1); font-size: .9rem; line-height: 1.2;
}
.hero-facts strong { display: block; font-size: 1.25rem; color: var(--escuela-blue); }
.btn-escuela { background: var(--escuela-red); border-color: var(--escuela-red); color: #fff; font-weight: 600; }
.btn-escuela:hover { background: #b91c14; border-color: #b91c14; color: #fff; }

/* Encabezados de sección */
.section-title { text-align: center; margin-bottom: 2rem; }
.section-title h2 { font-weight: 800; color: var(--escuela-ink); margin: 0 0 .4rem; }
.section-title h2::after {
  content: ""; display: block; width: 56px; height: 4px; margin: .6rem auto 0;
  background: linear-gradient(90deg, var(--escuela-blue) 50%, var(--escuela-red) 50%); border-radius: 2px;
}
.section-title p { color: #5b6678; margin: 0; }

/* Accesos rápidos */
.quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 1rem; }
.quick-tile {
  display: flex; flex-direction: column; align-items: center; gap: .6rem; text-align: center;
  padding: 1.25rem .75rem; background: #fff; border-radius: .75rem; text-decoration: none;
  color: var(--escuela-ink); font-weight: 600; font-size: .92rem; border: 1px solid #e3e8f2;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.quick-tile i { font-size: 1.9rem; color: var(--escuela-blue); }
.quick-tile:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(11, 58, 158, .15); border-color: var(--escuela-blue); color: var(--escuela-blue); }
.quick-tile small { display: block; font-weight: 400; color: #6b7587; font-size: .75rem; }

/* Programas */
.program-card {
  display: flex; flex-direction: column; height: 100%; background: #fff; border-radius: .75rem;
  border: 1px solid #e3e8f2; overflow: hidden; text-decoration: none; color: inherit;
  transition: transform .15s ease, box-shadow .15s ease;
}
.program-card:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(11, 58, 158, .16); }
.program-card .bar { height: 6px; background: linear-gradient(90deg, var(--escuela-blue) 60%, var(--escuela-red) 60%); }
.program-card .body { padding: 1.25rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.program-card h3 { font-size: 1.1rem; font-weight: 700; color: var(--escuela-ink); margin: 0; }
.program-card p { color: #5b6678; font-size: .9rem; margin: 0; flex: 1; }
.program-card .more { color: var(--escuela-blue); font-weight: 600; font-size: .9rem; }
.badge-eib { align-self: flex-start; background: #fde8e6; color: var(--escuela-red); font-weight: 700; font-size: .7rem; padding: .2rem .5rem; border-radius: 1rem; letter-spacing: .05em; }

/* Banda de admisión */
.admission-band { background: var(--escuela-blue); color: #fff; border-radius: 1rem; padding: 2rem; }
.admission-band h2 { color: #fff; font-weight: 800; }
.admission-band p { color: rgba(255, 255, 255, .85); margin: 0; }

/* Enlaces de interés */
.link-card {
  display: flex; align-items: center; justify-content: center; gap: .5rem; text-align: center; height: 100%;
  padding: 1rem; background: #fff; border: 1px solid #e3e8f2; border-radius: .6rem; text-decoration: none;
  color: var(--escuela-ink); font-weight: 600; font-size: .88rem;
}
.link-card:hover { border-color: var(--escuela-blue); color: var(--escuela-blue); }

/* Tarjeta de repositorio */
.repo-card { display: flex; gap: 1rem; align-items: center; max-width: 640px; background: #fff; border: 1px solid #e3e8f2; border-radius: .75rem; padding: 1.25rem; }
.repo-card > i { font-size: 2.5rem; color: var(--escuela-red); }

@media (max-width: 575px) { .admission-band { text-align: center; } }

/* --- Ajustes tras revisión visual --- */
/* Logo legible sobre el degradado del encabezado */
.header .logo img { background: #fff; padding: 6px 14px; border-radius: .6rem; height: 68px; max-height: none; width: auto; }

/* Quita el guion decorativo de la plantilla en los títulos de sección */
.section-title h2::before { display: none !important; }
.section-title { padding-bottom: 0; }
.section { padding-top: 40px; padding-bottom: 40px; }

/* Insignia EIB sin desalinear los títulos */
.program-card { position: relative; }
.program-card .badge-eib { position: absolute; top: 1rem; right: 1rem; }
.program-card .body { padding-top: 1.4rem; }

/* ===== Transiciones y rendimiento percibido ===== */
/* Aparición al hacer scroll: corta y sobria (solo con JS activo) */
.js .reveal { opacity: 0; transform: translateY(14px); transition: opacity .45s ease-out, transform .45s ease-out; transition-delay: var(--d, 0ms); will-change: opacity, transform; }
.js .reveal.is-visible { opacity: 1; transform: none; will-change: auto; }

/* Encabezado fijo con sombra y logo compacto al bajar */
.header { transition: box-shadow .25s ease, padding .25s ease; }
.header .logo img { transition: height .25s ease; }
.is-scrolled .header { box-shadow: 0 6px 18px rgba(0, 20, 60, .25); }
.is-scrolled .header .logo img { height: 48px; }
@media (max-width: 575px) { .header .logo img { height: 54px; } .is-scrolled .header .logo img { height: 42px; } }

/* Barra de progreso al navegar */
#page-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; z-index: 2000; opacity: 0; pointer-events: none;
  background: linear-gradient(90deg, var(--escuela-blue), var(--escuela-red)); }
#page-progress.is-active { opacity: 1; width: 85%; transition: width 8s cubic-bezier(.1, .6, .2, 1); }

/* Transición suave entre páginas (navegadores compatibles) */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: .18s ease-in both vt-out; }
::view-transition-new(root) { animation: .28s ease-out both vt-in; }
@keyframes vt-out { to { opacity: 0; } }
@keyframes vt-in { from { opacity: 0; } }

/* Accesibilidad */
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 3000; background: #fff; color: var(--escuela-blue); padding: .6rem 1rem; border-radius: .5rem; font-weight: 700; transition: top .2s; }
.skip-link:focus { top: 1rem; }
a:focus-visible, button:focus-visible, .quick-tile:focus-visible, .program-card:focus-visible { outline: 3px solid var(--escuela-red); outline-offset: 2px; }

/* Botones y botón "subir" con transición */
.btn { transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease; }
.btn:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(11, 58, 158, .2); }

/* ===== Loader de Power BI ===== */
.pbi-frame { position: relative; background: #f3f6fb; border-radius: .75rem; overflow: hidden; box-shadow: 0 8px 24px rgba(11, 58, 158, .12); }
.pbi-frame iframe { opacity: 0; transition: opacity .5s ease; }
.pbi-frame iframe.is-ready { opacity: 1; }
.pbi-loader { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 1rem; text-align: center;
  background: linear-gradient(110deg, #f3f6fb 30%, #e6ecf7 45%, #f3f6fb 60%); background-size: 200% 100%; animation: pbi-shimmer 1.6s linear infinite; transition: opacity .45s ease; }
.pbi-loader.is-done { opacity: 0; pointer-events: none; }
.pbi-loader p { margin: 0; font-weight: 700; color: var(--escuela-ink); }
.pbi-loader small { color: #5b6678; }
.pbi-bar { width: min(260px, 70%); height: 4px; background: #d7dfee; border-radius: 4px; overflow: hidden; }
.pbi-bar span { display: block; height: 100%; width: 40%; border-radius: 4px; background: linear-gradient(90deg, var(--escuela-blue), var(--escuela-red)); animation: pbi-slide 1.1s ease-in-out infinite; }
@keyframes pbi-shimmer { to { background-position: -200% 0; } }
@keyframes pbi-pulse { 50% { transform: scale(1.08); opacity: .85; } }
@keyframes pbi-slide { 0% { transform: translateX(-100%); } 100% { transform: translateX(250%); } }

@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1; transform: none; transition: none; }
  .pbi-loader, .pbi-loader img, .pbi-bar span, #page-progress.is-active { animation: none; transition: none; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}

/* ===== Intro animada con la llama (solo primera visita de la sesión) ===== */
:root { --base: 0s; }
.intro-on { --base: .95s; }

.llama { display: block; width: 100%; height: auto; overflow: visible; }

#intro { position: fixed; inset: 0; z-index: 5000; display: grid; place-items: center; align-content: center; gap: 1.1rem;
  background: radial-gradient(circle at 50% 42%, #fff 0%, #eef3fb 58%, #dde7f6 100%);
  animation: intro-out .45s ease .95s forwards; }
.intro-mark { width: clamp(104px, 15vw, 150px); filter: drop-shadow(0 12px 22px rgba(11, 58, 158, .22)); animation: intro-pop 1.4s cubic-bezier(.2, .7, .2, 1) both; }
.intro-line { display: block; width: clamp(90px, 14vw, 150px); height: 3px; border-radius: 3px; transform: scaleX(0); transform-origin: left;
  background: linear-gradient(90deg, var(--escuela-blue) 55%, var(--escuela-red) 55%); animation: intro-line .85s cubic-bezier(.5, 0, .2, 1) .1s forwards; }
/* Cada pieza de la llama se dibuja y luego se rellena */
#intro .lp { fill-opacity: 0; stroke: var(--c); stroke-width: 9; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1;
  animation: lp-draw .78s cubic-bezier(.5, 0, .2, 1) var(--t, 0s) forwards, lp-fill .4s ease calc(var(--t, 0s) + .42s) forwards; }
@keyframes lp-draw { to { stroke-dashoffset: 0; } }
@keyframes lp-fill { to { fill-opacity: 1; stroke-width: 0; } }
@keyframes intro-pop { from { transform: translateY(8px) scale(.96); } to { transform: none; } }
@keyframes intro-line { to { transform: scaleX(1); } }
@keyframes intro-out { to { opacity: 0; visibility: hidden; } }

/* Con intro: el encabezado entra suave */
.intro-on .top-bar, .intro-on .header { animation: fade-in .6s ease both; animation-delay: calc(var(--base) - .1s); }
@keyframes fade-in { from { opacity: 0; } }

/* ===== Coreografía del hero (escalonada, corta) ===== */
.hero-seq > * { animation: rise .7s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--base) + var(--i, 0) * 90ms); }
.hero-seq > :nth-child(1) { --i: 0; } .hero-seq > :nth-child(2) { --i: 1; } .hero-seq > :nth-child(3) { --i: 2; }
.hero-seq > :nth-child(4) { --i: 3; } .hero-seq > :nth-child(5) { --i: 4; }
.hero-media { animation: rise-media .9s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--base) + .2s); }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } }
@keyframes rise-media { from { opacity: 0; transform: translateY(22px) scale(.985); } }

/* ===== Llama en el loader de Power BI: late suavemente ===== */
.pbi-loader .llama { width: 66px; filter: drop-shadow(0 6px 12px rgba(11, 58, 158, .2)); }
.pbi-loader .lp { animation: lp-breathe 1.6s ease-in-out infinite; animation-delay: var(--t, 0s); }
@keyframes lp-breathe { 50% { opacity: .35; } }

@media (prefers-reduced-motion: reduce) {
  #intro { display: none; }
  :root, .intro-on { --base: 0s; }
  .hero-seq > *, .hero-media, .intro-on .top-bar, .intro-on .header { animation: none; }
  .pbi-loader .lp { animation: none; }
}

/* ===== Menú móvil ===== */
@media (max-width: 1199px) {
  .mobile-nav-active { overflow: hidden; }
  .mobile-nav-active .navmenu > ul { animation: nav-in .22s ease both; }
  @keyframes nav-in { from { opacity: 0; transform: translateY(-8px); } }

  .navmenu .mobile-cta { margin-top: .5rem; padding: 0 20px; }
  .navmenu .mobile-cta a { display: block; text-align: center; background: var(--escuela-red); color: #fff !important; font-weight: 700; padding: .8rem 1rem; border-radius: .6rem; }

  /* El logo de Transparencia es blanco: necesita fondo oscuro para verse */
  .navmenu > ul > li:last-of-type { display: block !important; margin: 1rem 0 0 !important; padding: 0 20px; }
  .navmenu > ul > li:last-of-type > a { display: inline-block; background: var(--escuela-blue); padding: .55rem 1.1rem !important; border-radius: .6rem; }
  .navmenu > ul > li:last-of-type img { width: 120px !important; display: block; }
}

/* Portal de Transparencia */
.transp-tabs{gap:.5rem;flex-wrap:wrap}
.transp-tabs .nav-link{border:1px solid #d5dcec;color:var(--escuela-blue);font-weight:600;border-radius:2rem;padding:.55rem 1.2rem;background:#fff}
.transp-tabs .nav-link.active{background:var(--escuela-blue);border-color:var(--escuela-blue);color:#fff}
.transp .accordion-button{font-weight:600;font-size:.97rem}
.transp .accordion-button:not(.collapsed){color:var(--escuela-blue);background:#eef2fb}
.doc-list li+li{margin-top:.4rem}
.doc-list a{display:flex;align-items:center;gap:.6rem;padding:.55rem .8rem;border:1px solid #e3e8f3;border-radius:.5rem;color:#222;text-decoration:none;transition:border-color .2s,background .2s}
.doc-list a:hover{border-color:var(--escuela-blue);background:#f5f8ff}
.doc-list .bi{color:var(--escuela-red);font-size:1.25rem}

/* Páginas en actualización */
.pg-wip .wip-card{max-width:640px;text-align:center;background:#fff;border:1px solid #e3e8f3;border-radius:1rem;padding:2rem 1.5rem;box-shadow:0 8px 24px rgba(11,58,158,.06)}
.pg-wip .wip-icon{font-size:2.2rem;color:var(--escuela-blue);display:block;margin-bottom:.5rem}

/* ===== Páginas internas ===== */
.page-hero{background:linear-gradient(180deg,#f4f7fd 0%,#eef3fb 100%);border-bottom:1px solid #e0e8f5;padding:2.2rem 0 2.1rem;position:relative}
.page-hero::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(var(--escuela-blue),var(--escuela-red))}
.page-hero h1{font-family:var(--heading-font,Raleway),sans-serif;font-weight:800;font-size:clamp(1.7rem,3.6vw,2.6rem);margin:.2rem 0 0;line-height:1.15;color:var(--escuela-blue);max-width:900px}
.page-lead{margin:.7rem 0 0;max-width:720px;color:#4a5068;font-size:1.08rem}
.page-kicker{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--escuela-red)}
.page-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1rem;padding:0;font-size:.85rem}
.page-crumbs li{color:#6b7389}
.page-crumbs li+li::before{content:"/";margin-right:.35rem;opacity:.5}
.page-crumbs a{color:var(--escuela-blue);text-decoration:none}
.page-crumbs a:hover{text-decoration:underline}
.page-body{padding:3rem 0 4rem}
.prose{font-size:1.04rem;line-height:1.75;color:#33384a;text-align:left}
.prose p{margin-bottom:1.1rem}
.prose strong{color:var(--escuela-ink,#0f1d44)}
.prose h2,.sec-title{font-family:var(--heading-font,Raleway),sans-serif;font-weight:800;color:var(--escuela-blue);font-size:1.5rem;margin:2rem 0 1rem;position:relative;padding-bottom:.6rem}
.prose h2::after,.sec-title::after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;border-radius:2px;background:var(--escuela-red)}
.doc-cover{margin:0 0 1rem;border-radius:.8rem;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(11,40,110,.16);border:1px solid #e3e8f3}
.doc-cover img{display:block;width:100%;height:auto}
@media(min-width:992px){.page-body .col-lg-4{position:sticky;top:110px}}
.btn-doc{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;border-radius:.6rem;background:var(--escuela-blue);color:#fff;font-weight:600;text-decoration:none;transition:background .2s,transform .2s}
.btn-doc:hover{background:#082d7c;color:#fff;transform:translateY(-1px)}
.fact-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.9rem;margin:1.6rem 0 0}
.fact{background:#f5f8ff;border:1px solid #dfe7f6;border-left:4px solid var(--escuela-red);border-radius:.6rem;padding:.9rem 1rem}
.fact b{display:block;color:var(--escuela-blue);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.15rem}
.fact span{color:#33384a;font-size:.97rem}
/* Misión / visión */
.mv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}
.mv-card{background:#fff;border:1px solid #e1e8f5;border-radius:1rem;padding:2rem 2rem 2.1rem;position:relative;box-shadow:0 10px 28px rgba(11,40,110,.07);overflow:hidden}
.mv-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--escuela-blue)}
.mv-card.v::before{background:var(--escuela-red)}
.mv-card .bi{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;font-size:1.35rem;background:#eaf0fc;color:var(--escuela-blue)}
.mv-card.v .bi{background:#fdecea;color:var(--escuela-red)}
.mv-card h2{font-weight:800;font-size:1.35rem;margin:1rem 0 .6rem;color:var(--escuela-ink,#0f1d44)}
.mv-card p{margin:0;line-height:1.75;font-size:1.02rem;color:#3b4256}
.pv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem}
.pv-item{background:#fff;border:1px solid #e3e8f3;border-radius:.8rem;padding:1.15rem 1.2rem;transition:box-shadow .2s,transform .2s}
.pv-item:hover{box-shadow:0 10px 24px rgba(11,58,158,.1);transform:translateY(-2px)}
.pv-item h3{font-size:1.02rem;font-weight:700;color:var(--escuela-blue);margin:0 0 .35rem}
.pv-item p{margin:0;font-size:.93rem;line-height:1.6;color:#4a5068}
.val-chips{display:flex;flex-wrap:wrap;gap:.6rem}
.val-chip{background:#f1f5fd;border:1px solid #dbe5f7;border-radius:2rem;padding:.45rem 1rem;font-weight:600;color:var(--escuela-blue);font-size:.92rem;cursor:default}
.val-def{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.8rem 1.4rem;margin-top:1.2rem}
.val-def div{font-size:.93rem;line-height:1.55;color:#4a5068}
.val-def b{color:var(--escuela-ink,#0f1d44)}
/* Historia: línea de tiempo */
.timeline{position:relative;margin:0;padding:0 0 0 1.6rem;list-style:none}
.timeline::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(#0b3a9e,#e1251b)}
.timeline>li{position:relative;padding:0 0 1.7rem 1.4rem}
.timeline>li::before{content:"";position:absolute;left:-1.6rem;top:.35rem;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--escuela-blue)}
.timeline>li:last-child{padding-bottom:0}
.tl-year{display:inline-block;font-weight:800;font-size:1.25rem;color:var(--escuela-blue);font-family:var(--heading-font,Raleway),sans-serif}
.timeline h3{font-size:1.05rem;margin:.1rem 0 .3rem;font-weight:700;color:var(--escuela-ink,#0f1d44)}
.timeline p{margin:0;color:#4a5068;line-height:1.65}
.tag-list{display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0 0;padding:0;list-style:none}
.tag-list li{background:#f1f5fd;border:1px solid #dbe5f7;color:var(--escuela-blue);border-radius:.4rem;padding:.2rem .65rem;font-size:.86rem;font-weight:600}
/* Directorio */
.dir-featured{display:grid;grid-template-columns:220px 1fr;gap:1.8rem;align-items:center;background:#fff;border:1px solid #e3e8f3;border-radius:1rem;padding:1.4rem;box-shadow:0 12px 30px rgba(11,40,110,.08);margin-bottom:2rem}
.dir-featured img{width:100%;border-radius:.8rem;display:block;aspect-ratio:1/1;object-fit:cover}
@media(max-width:575px){.dir-featured{grid-template-columns:1fr}.dir-featured img{max-width:240px}}
.dir-role{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--escuela-red)}
.dir-name{font-family:var(--heading-font,Raleway),sans-serif;font-weight:800;font-size:1.5rem;color:var(--escuela-ink,#0f1d44);margin:.2rem 0 .8rem}
.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.1rem}
.dir-card{display:flex;gap:.9rem;align-items:center;background:#fff;border:1px solid #e3e8f3;border-radius:.9rem;padding:1rem 1.1rem;transition:box-shadow .2s,transform .2s,border-color .2s}
.dir-card:hover{box-shadow:0 10px 24px rgba(11,58,158,.1);transform:translateY(-2px);border-color:#c7d5f0}
.dir-avatar{flex:0 0 52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#0b3a9e,#1566d6);color:#fff;font-weight:800;font-size:1.05rem;letter-spacing:.02em}
.dir-card .n{font-weight:700;color:var(--escuela-ink,#0f1d44);line-height:1.25;font-size:.98rem}
.dir-card .r{font-size:.84rem;color:#5a6178;line-height:1.35;margin-top:.15rem}
.dir-card .cv{font-size:.82rem;font-weight:600;color:var(--escuela-blue);text-decoration:none;margin-top:.3rem;display:inline-block}
.dir-card .cv:hover{text-decoration:underline}
.btn-cv{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border:1px solid var(--escuela-blue);border-radius:.5rem;color:var(--escuela-blue);font-weight:600;text-decoration:none;font-size:.92rem}
.btn-cv:hover{background:var(--escuela-blue);color:#fff}
/* Tabla de personal */
.staff-tools{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:1rem}
.staff-search{position:relative;max-width:340px;flex:1}
.staff-search input{width:100%;padding:.6rem .9rem .6rem 2.4rem;border:1px solid #cfd8ea;border-radius:.6rem;font-size:.95rem}
.staff-search input:focus{outline:2px solid rgba(11,58,158,.25);border-color:var(--escuela-blue)}
.staff-search .bi{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:#7a849c}
.staff-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid #e3e8f3;border-radius:.8rem;overflow:hidden}
.staff-table th{background:#eef3fd;color:var(--escuela-blue);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;padding:.8rem 1rem;text-align:left}
.staff-table td{padding:.75rem 1rem;border-top:1px solid #edf0f7;font-size:.96rem}
.staff-table tbody tr:hover{background:#f8faff}
.badge-cond{display:inline-block;padding:.15rem .6rem;border-radius:2rem;font-size:.8rem;font-weight:600}
.badge-cond.n{background:#e6f4ea;color:#1b6b34}.badge-cond.c{background:#fff1e0;color:#9a5a00}
/* Documentos */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.4rem}
.doc-card{background:#fff;border:1px solid #e3e8f3;border-radius:1rem;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}
.doc-card:hover{box-shadow:0 16px 34px rgba(11,40,110,.14);transform:translateY(-4px)}
.doc-card img{width:100%;display:block;background:#f1f4fb}
.doc-card .b{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.7rem;flex:1;justify-content:space-between}
.doc-card h3{font-size:1.02rem;font-weight:700;margin:0;color:var(--escuela-ink,#0f1d44)}
.fig-frame{border:1px solid #e3e8f3;border-radius:1rem;background:#fff;padding:.8rem;box-shadow:0 12px 30px rgba(11,40,110,.08)}
.fig-frame img{width:100%;height:auto;border-radius:.6rem;display:block}
.pg-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem}
.pg-actions .btn-doc{width:auto;padding:.7rem 1.4rem}

/* Cabecera: degradado azul uniforme (sin zona clara) */
.header{background:linear-gradient(100deg,#0a2f86 0%,#0b3a9e 55%,#1257c4 100%)}
