/* ==================================================================
   Comunidad Álava Digital · hoja de estilos de la plataforma
   Línea visual: la del logo. Papel crema, olivo, y acuarela verde y
   trigo con mucho aire. La acuarela es el único adorno; todo lo demás
   es sobrio para que el contenido respire.
   Sin estilos en línea en ninguna vista: la CSP (style-src 'self')
   los bloquearía.
   ================================================================== */

/* ---------- Poppins, servida desde el propio dominio ---------- */
@font-face{font-family:"Poppins";font-style:normal;font-weight:300;font-display:swap;src:url("../fonts/poppins-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/poppins-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/poppins-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/poppins-latin-700-normal.woff2") format("woff2")}

/* ---------- Tokens ---------- */
:root{
  /* Colores del logo */
  --papel:#F3F5EE;         /* fondo de la página */
  --olivo:#54604C;
  --verde:#C1DEAE;
  --trigo:#E8E8A6;
  /* Derivados */
  --olivo-hondo:#2C3725;
  --tinta:#262F20;
  --apagado:#5E6855;       /* texto secundario; contraste AA sobre blanco y sobre papel */
  --lino:#FFFFFF;          /* superficies */
  --verde-suave:#E6F0DC;
  --trigo-suave:#F5F5DA;
  --linea:#E1E5D8;
  --linea-suave:#ECEFE5;
  --tierra:#9C5B3B;        /* avisos */

  --fuente:"Poppins",system-ui,-apple-system,"Segoe UI",sans-serif;

  /* Escala tipográfica (razón ~1.25) */
  --t-xs:.75rem;   /* 12 */
  --t-s:.8125rem;  /* 13 */
  --t-m:.9375rem;  /* 15 */
  --t-l:1.125rem;  /* 18 */
  --t-xl:1.5rem;   /* 24 */
  --t-2xl:2.125rem;/* 34 */
  --t-3xl:2.875rem;/* 46 */

  --r-s:10px; --r-m:18px; --r-l:28px;
  --sombra:0 1px 2px rgba(38,47,32,.04),0 10px 28px -20px rgba(38,47,32,.25);
  --lateral:280px;
  --barra-app:68px;
  --foco:0 0 0 3px var(--papel),0 0 0 5px var(--olivo);
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;font-family:var(--fuente);font-size:var(--t-m);line-height:1.6;
  color:var(--tinta);background:var(--papel);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;line-height:1.2;color:var(--olivo-hondo);font-weight:600;letter-spacing:-.015em}
p{margin:0}
::selection{background:var(--verde);color:var(--olivo-hondo)}
:focus-visible{outline:none;box-shadow:var(--foco);border-radius:var(--r-s)}
.solo-lectores{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar{position:absolute;left:12px;top:-60px;z-index:200;background:var(--olivo-hondo);color:#fff;padding:10px 16px;border-radius:var(--r-s)}
.saltar:focus{top:12px}
.ico{width:18px;height:18px;flex:none}
[hidden]{display:none!important}
/* Sobre fondo oscuro, la acuarela se "ilumina" (screen) en vez de ensuciar el olivo. */
.lateral::after,.invitacion::before,.directorio-cabecera::after,.ficha-cabecera::after{mix-blend-mode:screen}

/* Lema en minúsculas espaciadas, como "negocios rurales" del logo.
   Se usa poco: portada y marca. */
.lema{font-size:var(--t-s);font-weight:300;letter-spacing:.32em;color:var(--apagado)}

/* ---------- Estructura ---------- */
.app{display:grid;grid-template-columns:var(--lateral) minmax(0,1fr);min-height:100vh}

/* ---------- Barra lateral ---------- */
.lateral{
  position:sticky;top:0;height:100vh;display:flex;flex-direction:column;
  background:var(--olivo-hondo);color:#DCE3D1;overflow:hidden;
}
.lateral::after{ /* acuarela tenue al pie, casi un reflejo */
  content:"";position:absolute;right:-90px;bottom:-60px;width:320px;height:240px;
  background:url("../img/acuarela-gota-verde.svg") center/contain no-repeat;opacity:.12;pointer-events:none;
}
.marca{display:block;margin:18px 16px 6px;padding:14px 16px;background:var(--papel);border-radius:var(--r-m)}
.marca img{width:100%;height:auto}
.marca-texto{display:flex;align-items:center;gap:12px;color:var(--olivo)}
.marca-texto .ico{width:48px;height:36px}
.marca-texto strong{display:block;font-size:var(--t-l);font-weight:700;letter-spacing:.02em;line-height:1.05;color:var(--olivo)}
.marca-texto span{display:block;font-size:10.5px;font-weight:300;letter-spacing:.28em;color:var(--apagado);margin-top:3px}
.cerrar-menu{display:none}

.nav{flex:1;overflow-y:auto;padding:6px 12px 24px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}
.nav-grupo{margin:14px 12px 4px;font-size:11px;font-weight:400;letter-spacing:.24em;color:rgba(220,227,209,.52)}
.nav-item{
  position:relative;display:flex;align-items:center;gap:12px;padding:8px 12px;margin:1px 0;
  border-radius:10px;font-size:14px;color:#D4DCC7;transition:background-color .15s,color .15s;
}
.nav-item .ico{opacity:.85}
.nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.nav-item[aria-current="page"]{background:var(--papel);color:var(--olivo-hondo);font-weight:500}
.nav-item[aria-current="page"] .ico{opacity:1;color:var(--olivo)}
.nav-candado{margin-left:auto;display:inline-flex;opacity:.6}
.nav-candado .ico{width:14px;height:14px}
.nav-contador{margin-left:auto;min-width:22px;padding:0 7px;border-radius:20px;background:var(--trigo);color:var(--olivo-hondo);font-size:11px;font-weight:600;text-align:center}

.lateral-pie{position:relative;z-index:1;padding:16px 28px 22px;border-top:1px solid rgba(255,255,255,.08)}
.lateral-pie small{display:block;font-size:11px;letter-spacing:.2em;color:rgba(220,227,209,.55)}
.lateral-pie strong{display:block;margin-top:2px;font-size:14px;font-weight:500;color:#fff}

/* ---------- Zona principal ---------- */
.principal{display:flex;flex-direction:column;min-width:0}
.barra{
  position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:18px;
  padding:14px clamp(18px,3vw,40px);
  background:rgba(245,246,234,.86);backdrop-filter:saturate(1.2) blur(10px);-webkit-backdrop-filter:saturate(1.2) blur(10px);
  border-bottom:1px solid var(--linea);
}
.boton-menu{display:none;padding:6px;margin-left:-6px;border-radius:var(--r-s);color:var(--olivo)}
.boton-menu .ico{width:24px;height:24px}
.miga{display:flex;flex-direction:column;min-width:0}
.miga small{font-size:var(--t-xs);color:var(--apagado)}
.miga strong{font-size:var(--t-l);font-weight:600;color:var(--olivo-hondo);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buscador{
  flex:1;max-width:360px;margin-left:12px;display:flex;align-items:center;gap:8px;
  padding:8px 14px;background:var(--lino);border:1px solid var(--linea);border-radius:999px;color:var(--apagado);
  transition:border-color .15s,box-shadow .15s;
}
.buscador:focus-within{border-color:var(--olivo);box-shadow:0 0 0 3px rgba(84,96,76,.12)}
.buscador .ico{width:16px;height:16px}
.buscador input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:var(--t-s);color:var(--tinta)}
.buscador input::placeholder{color:var(--apagado);opacity:.85}
.acciones{margin-left:auto;display:flex;align-items:center;gap:10px}

/* ---------- Botones ---------- */
.boton{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 18px;border-radius:999px;border:1px solid transparent;
  font-size:var(--t-s);font-weight:500;line-height:1.2;cursor:pointer;white-space:nowrap;
  transition:background-color .15s,color .15s,border-color .15s,transform .06s;
}
.boton:active{transform:translateY(1px)}
.boton .ico{width:16px;height:16px}
.boton-solido{background:var(--olivo);color:#fff}
.boton-solido:hover{background:var(--olivo-hondo)}
.boton-borde{background:transparent;color:var(--olivo);border-color:rgba(84,96,76,.45)}
.boton-borde:hover{border-color:var(--olivo);background:rgba(84,96,76,.06)}
.boton-grande{padding:13px 24px;font-size:var(--t-m)}
.enlace{display:inline-flex;align-items:center;gap:6px;color:var(--olivo);font-weight:500;font-size:var(--t-s)}
.enlace .ico{width:15px;height:15px;transition:transform .15s}
.enlace:hover .ico{transform:translateX(3px)}

/* ---------- Contenido ---------- */
.contenido{width:100%;max-width:1200px;margin:0 auto;padding:clamp(20px,3.2vw,44px) clamp(18px,3vw,40px) 120px}

/* ---------- Portada ---------- */
.portada{
  position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:24px;
  min-height:420px;margin-bottom:40px;
  overflow-x:clip; /* la acuarela sobresale a propósito; que no cree scroll horizontal */
}
.portada-texto{position:relative;z-index:1;max-width:560px}
.portada h1{margin:18px 0 18px;font-size:clamp(2rem,4.2vw,var(--t-3xl));font-weight:600;line-height:1.08;letter-spacing:-.03em}
.portada p{max-width:48ch;font-size:var(--t-l);font-weight:300;line-height:1.65;color:var(--olivo)}
.portada-botones{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.portada-lamina{position:relative;aspect-ratio:3/2;width:100%}
.portada-lamina::before{
  content:"";position:absolute;inset:-8% -14% -8% -6%;
  background:url("../img/acuarela-portada.svg") center/contain no-repeat;
}
.portada-hoja{
  position:absolute;left:8%;top:20%;width:84%;height:auto;color:var(--olivo);
  stroke-dasharray:1400;stroke-dashoffset:0;
  animation:trazar 2.6s cubic-bezier(.45,.1,.2,1) .15s both;
}
/* El único movimiento de la página: la hoja se dibuja al cargar. */
@keyframes trazar{from{stroke-dashoffset:1400}to{stroke-dashoffset:0}}

/* Cifras: cada número se asienta sobre una gota de acuarela */
.cifras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 56px;padding:0;list-style:none}
.cifra{position:relative;padding:22px 18px 18px 22px}
.cifra::before{
  content:"";position:absolute;left:-10px;top:-4px;width:150px;height:110px;
  background:url("../img/acuarela-gota-verde.svg") left top/contain no-repeat;opacity:.9;z-index:-1;
}
.cifra:nth-child(even)::before{background-image:url("../img/acuarela-gota-trigo.svg")}
.cifra strong{display:block;font-size:var(--t-2xl);font-weight:600;line-height:1;letter-spacing:-.03em;color:var(--olivo-hondo)}
.cifra span{display:block;margin-top:10px;max-width:22ch;font-size:var(--t-s);color:var(--apagado);line-height:1.45}
.cifras{position:relative;z-index:0}

/* ---------- Bloques ---------- */
.dos-columnas{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}
.dos-columnas > *{min-width:0}
.bloque{background:var(--lino);border:1px solid var(--linea);border-radius:var(--r-m);box-shadow:var(--sombra)}
.bloque-cab{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:20px 24px 0}
.bloque-cab h2{font-size:var(--t-l)}
.bloque-cuerpo{padding:16px 24px 24px}

/* Proceso: es una secuencia real (fases del proyecto), por eso va numerado */
.pasos{margin:0;padding:0;list-style:none;counter-reset:paso}
.paso{position:relative;display:grid;grid-template-columns:40px 1fr;gap:14px;padding:14px 0;counter-increment:paso}
.paso + .paso{border-top:1px solid var(--linea-suave)}
.paso::before{
  content:counter(paso);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;
  background:var(--verde-suave);color:var(--olivo-hondo);font-weight:600;font-size:var(--t-s);
}
.paso:nth-child(even)::before{background:var(--trigo-suave)}
.paso h3{font-size:var(--t-m);font-weight:600;color:var(--tinta)}
.paso p{margin-top:2px;font-size:var(--t-s);color:var(--apagado)}

.vacio{padding:26px 8px 8px;text-align:center}
.vacio .ico{width:54px;height:40px;margin:0 auto 12px;color:var(--olivo);opacity:.55}
.vacio p{max-width:32ch;margin:0 auto 14px;font-size:var(--t-s);color:var(--apagado)}

.invitacion{
  position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  margin-top:24px;padding:26px 30px;border-radius:var(--r-m);background:var(--olivo-hondo);color:#E4EAD9;
}
.invitacion::before{
  content:"";position:absolute;right:-60px;top:-70px;width:360px;height:260px;
  background:url("../img/acuarela-portada.svg") center/contain no-repeat;opacity:.16;pointer-events:none;
}
.invitacion h2{position:relative;color:#fff;font-size:var(--t-l)}
.invitacion p{position:relative;margin-top:4px;font-size:var(--t-s);color:#C9D3BB;max-width:56ch}
.invitacion .boton{position:relative;background:var(--papel);color:var(--olivo-hondo)}
.invitacion .boton:hover{background:#fff}

/* ---------- Cabecera de sección ---------- */
.cabecera{
  position:relative;margin:0 0 28px;padding:30px 0 34px;
}
.cabecera::before{
  content:"";position:absolute;inset:-10px 0 -10px 40%;z-index:-1;
  background:url("../img/acuarela-cabecera.svg") right center/contain no-repeat;opacity:.9;
}
.cabecera-icono{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--lino);border:1px solid var(--linea);color:var(--olivo);margin-bottom:18px}
.cabecera-icono .ico{width:22px;height:22px}
.cabecera h1{font-size:clamp(1.75rem,3vw,var(--t-2xl));letter-spacing:-.025em}
.cabecera p{margin-top:10px;max-width:58ch;color:var(--apagado)}
.contenido{position:relative;z-index:0}

/* ---------- Contenido bajo candado ----------
   Siluetas hechas solo con CSS: no hay ni un dato real en el HTML. */
.bajo-candado{position:relative;min-height:440px;border-radius:var(--r-l);overflow:hidden}
.siluetas{filter:blur(3px);opacity:.75;pointer-events:none;user-select:none;padding:4px}
.siluetas-tarjetas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.silueta-tarjeta{border-radius:var(--r-m);background:var(--lino);border:1px solid var(--linea);overflow:hidden}
.silueta-tarjeta::before{content:"";display:block;height:92px;background:linear-gradient(120deg,var(--verde-suave),var(--trigo-suave))}
.silueta-tarjeta:nth-child(3n+2)::before{background:linear-gradient(120deg,var(--trigo-suave),var(--verde-suave))}
.silueta-lineas{padding:16px 18px 20px}
.silueta-linea{height:10px;border-radius:6px;background:#E6E8D7;margin-top:10px}
.silueta-linea:first-child{height:14px;width:62%;margin-top:0;background:#DADDC8}
.silueta-linea.corta{width:40%}
.silueta-linea.media{width:78%}
.siluetas-tabla .silueta-fila{display:grid;grid-template-columns:36px 2fr 1.4fr 1fr 90px;gap:18px;align-items:center;padding:16px 20px;background:var(--lino);border-bottom:1px solid var(--linea-suave)}
.siluetas-tabla .silueta-fila:first-child{border-radius:var(--r-m) var(--r-m) 0 0}
.silueta-circulo{width:32px;height:32px;border-radius:50%;background:var(--verde-suave)}
.silueta-etiqueta{height:20px;border-radius:20px;background:var(--trigo-suave)}
.siluetas-graficos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.silueta-grafico{height:300px;border-radius:var(--r-m);background:var(--lino);border:1px solid var(--linea);display:flex;align-items:flex-end;gap:14px;padding:30px 26px}
.silueta-barra{flex:1;border-radius:8px 8px 0 0;background:linear-gradient(var(--verde),var(--olivo));opacity:.5}
.silueta-barra.b1{height:35%}.silueta-barra.b2{height:55%}.silueta-barra.b3{height:62%}.silueta-barra.b4{height:80%}.silueta-barra.b5{height:96%}
.siluetas-chat{display:grid;grid-template-columns:260px 1fr;min-height:430px;background:var(--lino);border:1px solid var(--linea);border-radius:var(--r-m)}
.silueta-lista{border-right:1px solid var(--linea-suave);padding:16px}
.silueta-lista .silueta-linea{margin:18px 0}
.silueta-hilo{display:flex;flex-direction:column;gap:14px;padding:26px;background:#F4F5E9}
.silueta-burbuja{height:44px;width:52%;border-radius:14px;background:#fff;border:1px solid var(--linea)}
.silueta-burbuja.mia{align-self:flex-end;background:var(--olivo);opacity:.35;width:44%}
.siluetas-lista .silueta-fila{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;background:var(--lino);border-bottom:1px solid var(--linea-suave)}
.silueta-interruptor{width:44px;height:24px;border-radius:20px;background:var(--verde)}

.candado{
  position:absolute;inset:0;display:grid;place-items:center;padding:24px;
  background:linear-gradient(to bottom,rgba(245,246,234,.25),rgba(245,246,234,.82) 60%);
}
.candado-tarjeta{
  position:relative;overflow:hidden;width:min(440px,100%);padding:34px 32px 30px;text-align:center;
  background:var(--lino);border:1px solid var(--linea);border-radius:var(--r-l);box-shadow:0 24px 60px -30px rgba(51,61,44,.45);
}
.candado-tarjeta::before{
  content:"";position:absolute;left:50%;top:-10px;width:230px;height:150px;transform:translateX(-50%);
  background:url("../img/acuarela-gota-verde.svg") center/contain no-repeat;opacity:.75;
}
.candado-sello{position:relative;display:grid;place-items:center;width:56px;height:56px;margin:4px auto 18px;border-radius:50%;background:var(--olivo);color:#fff}
.candado-sello .ico{width:24px;height:24px}
.candado-tarjeta h2{position:relative;font-size:var(--t-xl)}
.candado-tarjeta p{position:relative;margin:10px auto 22px;max-width:36ch;font-size:var(--t-s);color:var(--apagado)}

/* ---------- Página sola (entrar, errores) ---------- */
.sola{min-height:100vh;display:grid;place-items:center;padding:32px 20px;position:relative;overflow:hidden}
.sola::before{
  content:"";position:absolute;width:min(900px,120vw);aspect-ratio:3/2;left:50%;top:50%;transform:translate(-40%,-58%);
  background:url("../img/acuarela-portada.svg") center/contain no-repeat;opacity:.55;pointer-events:none;
}
.sola-tarjeta{
  position:relative;width:min(480px,100%);padding:40px 38px 36px;text-align:center;
  background:rgba(251,251,244,.9);border:1px solid var(--linea);border-radius:var(--r-l);box-shadow:var(--sombra);
}
.sola-tarjeta .marca-texto{justify-content:center;margin-bottom:26px}
.sola-codigo{font-size:var(--t-s);letter-spacing:.3em;color:var(--apagado);margin-bottom:10px}
.sola-tarjeta h1{font-size:var(--t-xl)}
.sola-tarjeta p{margin:12px auto 26px;max-width:38ch;color:var(--apagado)}
.detalle-tecnico{margin-top:22px;padding:14px;text-align:left;white-space:pre-wrap;word-break:break-word;font-size:12px;background:#fff;border:1px dashed var(--tierra);border-radius:var(--r-s);color:var(--tierra)}


/* ---------- Avisos ---------- */
.aviso{margin:0 0 20px;padding:12px 16px;border-radius:var(--r-s);font-size:var(--t-s);border:1px solid}
.aviso-exito{background:var(--verde-suave);border-color:var(--verde);color:var(--olivo-hondo)}
.aviso-info{background:var(--trigo-suave);border-color:var(--trigo);color:var(--olivo-hondo)}
.aviso-error{background:#F6E8E0;border-color:#E7CBBB;color:#7A4128}

/* ---------- Pantallas de acceso ---------- */
.acceso{max-width:460px}
.acceso-ancho{max-width:720px}
.cabecera-acceso{padding:18px 0 22px}
.cabecera-acceso .lema{display:block;margin-bottom:12px}
.acceso > .boton{margin-right:14px}
.tarjeta-formulario{padding:26px 28px 24px;background:var(--lino);border:1px solid var(--linea);border-radius:var(--r-m);box-shadow:var(--sombra)}
.acceso-nota{margin-top:26px;padding:20px 22px;border-radius:var(--r-m);background:var(--verde-suave)}
.acceso-nota h2{font-size:var(--t-m)}
.acceso-nota p{margin:4px 0 10px;font-size:var(--t-s);color:var(--olivo)}

/* ---------- Formularios ---------- */
.formulario .aviso{margin-bottom:18px}
.campo{margin-bottom:18px}
.campo label{display:block;margin-bottom:6px;font-size:var(--t-s);font-weight:500;color:var(--olivo-hondo)}
.opcional{font-weight:400;color:var(--apagado)}
.campo input:not([type="checkbox"]),.campo textarea,.campo select{
  width:100%;padding:11px 14px;border:1px solid #D3D6C0;border-radius:10px;background:#fff;
  font-size:var(--t-m);color:var(--tinta);transition:border-color .15s,box-shadow .15s;
}
.campo textarea{resize:vertical;min-height:110px;line-height:1.5}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-color:var(--olivo);box-shadow:0 0 0 3px rgba(84,96,76,.15)}
.campo-ayuda{margin-top:6px;font-size:var(--t-xs);color:var(--apagado)}
.campo-error{margin-top:6px;font-size:var(--t-xs);font-weight:500;color:#8A4A2E}
.campo-con-error input,.campo-con-error textarea,.campo-con-error select{border-color:#C98F72}
.campo-casilla{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start}
.campo-casilla input{width:18px;height:18px;margin-top:3px;accent-color:var(--olivo)}
.campo-casilla label{font-weight:400;color:var(--tinta);margin:0}
.campo-casilla label a{color:var(--olivo);text-decoration:underline}
.campo-casilla .campo-error{grid-column:2}
.rejilla-campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.trampa{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.boton-ancho{width:100%}
.enlace-centrado{display:flex;justify-content:center;margin-top:16px}

/* ---------- Persona conectada ---------- */
.acciones form{margin:0}
.persona{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-s);color:var(--olivo-hondo)}
.persona-iniciales{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--verde);font-weight:600;font-size:12px}
.invitacion-botones{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.enlace-claro{color:#E4EAD9}


/* ---------- Primera entrada ---------- */
.pasos-bienvenida{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 6px;padding:0;list-style:none}
.pasos-bienvenida li{display:flex;align-items:center;gap:8px;padding:6px 14px 6px 6px;border-radius:999px;background:var(--lino);border:1px solid var(--linea);font-size:var(--t-s);color:var(--apagado)}
.pasos-bienvenida .paso-numero{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--linea-suave);font-weight:600;font-size:12px}
.pasos-bienvenida .paso-numero .ico{width:14px;height:14px}
.pasos-bienvenida .actual{border-color:var(--olivo);color:var(--olivo-hondo);font-weight:500}
.pasos-bienvenida .actual .paso-numero{background:var(--olivo);color:#fff}
.pasos-bienvenida .hecho .paso-numero{background:var(--verde);color:var(--olivo-hondo)}
.instrucciones{margin:0;padding:0;list-style:none;counter-reset:instruccion}
.instrucciones > li{position:relative;padding:0 0 22px 46px;counter-increment:instruccion}
.instrucciones > li + li{padding-top:22px;border-top:1px solid var(--linea-suave)}
.instrucciones > li::before{content:counter(instruccion);position:absolute;left:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--verde-suave);font-weight:600;font-size:var(--t-s);color:var(--olivo-hondo)}
.instrucciones > li + li::before{top:22px}
.instrucciones h2{font-size:var(--t-m);margin-bottom:4px}
.instrucciones p{font-size:var(--t-s);color:var(--apagado);margin-bottom:8px}
.instrucciones .formulario{margin-top:10px;max-width:320px}
.clave-secreta{display:inline-flex;flex-wrap:wrap;gap:4px 12px;margin:6px 0 8px!important;padding:12px 16px;border-radius:var(--r-s);background:#fff;border:1px dashed var(--olivo);font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:1.05rem!important;letter-spacing:.08em;color:var(--olivo-hondo)!important;user-select:all}
.qr-marco{display:inline-block;margin:8px 0 12px;padding:10px;border-radius:var(--r-m);background:#fff;border:1px solid var(--linea);line-height:0}
.codigo-qr{width:200px;height:200px}
.clave-manual{margin-top:4px}
.clave-manual summary{cursor:pointer;font-size:var(--t-s);font-weight:500;color:var(--olivo)}
.clave-manual summary:hover{text-decoration:underline}
.clave-manual[open] summary{margin-bottom:10px}
.codigos-recuperacion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 24px;padding:0;list-style:none}
.codigos-recuperacion li{padding:10px 14px;border-radius:var(--r-s);background:#fff;border:1px solid var(--linea);font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:var(--t-m);letter-spacing:.06em;text-align:center;user-select:all}
.texto-legal{margin-bottom:22px;font-size:var(--t-s);color:var(--tinta)}
.texto-legal ul{margin:10px 0 14px;padding-left:20px}
.texto-legal li{margin-bottom:6px}
.datos-fijos{margin:0 0 8px;display:grid;gap:10px}
.datos-fijos div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--linea-suave);font-size:var(--t-s)}
.datos-fijos dt{color:var(--apagado)}
.datos-fijos dd{margin:0;font-weight:500;text-align:right}

/* ---------- Listados de administración ---------- */
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 20px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:var(--lino);border:1px solid var(--linea);font-size:var(--t-s);color:var(--apagado);transition:border-color .15s,color .15s}
.chip:hover{border-color:var(--olivo);color:var(--olivo)}
.chip-activo,.chip-activo:hover{background:var(--olivo);border-color:var(--olivo);color:#fff}
.chip-cuenta{min-width:20px;padding:0 6px;border-radius:999px;background:rgba(0,0,0,.08);font-size:11px;text-align:center}
.chip-activo .chip-cuenta{background:rgba(255,255,255,.22)}
.tabla-envoltura{position:relative;overflow-x:auto} /* relative: lo "solo-lectores" de dentro no escapa del scroll */
.tabla{width:100%;border-collapse:collapse;font-size:var(--t-s)}
.tabla th{padding:12px 18px;text-align:left;font-size:var(--t-xs);font-weight:600;letter-spacing:.04em;color:var(--apagado);border-bottom:1px solid var(--linea);white-space:nowrap}
.tabla td{padding:14px 18px;border-bottom:1px solid var(--linea-suave);vertical-align:middle}
.tabla tr:last-child td{border-bottom:0}
.tabla tbody tr:hover td{background:#F4F5E9}
.tabla-enlace{font-weight:500;color:var(--olivo-hondo)}
.tabla-enlace:hover{text-decoration:underline}
.tabla-accion{text-align:right;white-space:nowrap}
.paginacion{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
.paginacion-estado{font-size:var(--t-s);color:var(--apagado)}
.estado{display:inline-block;margin-bottom:12px;padding:3px 12px;border-radius:999px;font-size:var(--t-xs);font-weight:600}
.estado-pendiente{background:var(--trigo);color:#5c5118}
.estado-aceptada{background:var(--verde);color:var(--olivo-hondo)}
.estado-rechazada{background:#EBD9CE;color:#7A4128}
.estado-archivo{background:#E7E9DA;color:var(--apagado)}
.estado{margin-bottom:0}
.cabecera .estado{margin-bottom:12px}
.barra-listado{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.barra-listado .filtros{margin-top:0}
.persona-fila{display:flex;align-items:center;gap:10px}
.persona-fila .persona-iniciales{width:30px;height:30px;font-size:11px;background:var(--verde-suave)}
.ficha-datos{margin:0;display:grid;gap:0}
.ficha-datos div{display:grid;grid-template-columns:160px 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--linea-suave);font-size:var(--t-s)}
.ficha-datos dt{color:var(--apagado)}
.ficha-datos dd{margin:0;word-break:break-word}
.subtitulo{margin:20px 0 6px;font-size:var(--t-m)}
.texto-libre{white-space:pre-line;font-size:var(--t-s)}
.texto-apagado{font-size:var(--t-s);color:var(--apagado);margin-bottom:16px}
.botonera{display:flex;gap:10px;flex-wrap:wrap}
.botonera form{margin:0}
.boton:disabled{opacity:.45;cursor:not-allowed}
.volver{margin-bottom:6px}


/* ---------- Cuadrillas: paleta cerrada (la base de datos solo guarda la clave) ---------- */
.cu-bosque{--cu:#4F7A52}.cu-ocre{--cu:#A97B38}.cu-teja{--cu:#9C5B3B}.cu-vino{--cu:#7C4A55}
.cu-pino{--cu:#4A6E63}.cu-ciruela{--cu:#6E4F6B}.cu-pizarra{--cu:#55607C}.cu-gris{--cu:#767B6B}
.cuadrilla-sello{display:inline-block;padding:4px 11px;border-radius:999px;background:var(--cu,#767B6B);color:#fff;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.sector-sello{display:inline-block;padding:4px 11px;border-radius:999px;background:rgba(255,255,255,.9);color:var(--olivo-hondo);font-size:11px;font-weight:500}
.cu-fondo-bosque{background:linear-gradient(120deg,#DCE9D5,#EEF1DE)!important}.cu-fondo-ocre{background:linear-gradient(120deg,#F1E6CF,#F3F1DC)!important}
.cu-fondo-teja{background:linear-gradient(120deg,#EEDDD2,#F3F0DE)!important}.cu-fondo-vino{background:linear-gradient(120deg,#EADBDF,#F2EFDD)!important}
.cu-fondo-pino{background:linear-gradient(120deg,#D8E7E1,#EEF1DE)!important}.cu-fondo-ciruela{background:linear-gradient(120deg,#E6DCE5,#F1EFDD)!important}
.cu-fondo-pizarra{background:linear-gradient(120deg,#DCE0EA,#EEF0E2)!important}.cu-fondo-gris{background:linear-gradient(120deg,#E7E8DE,#F2F3E6)!important}

/* ---------- Directorio ---------- */
.directorio-cabecera{position:relative;overflow:hidden;margin:0 0 26px;padding:34px 36px;border-radius:var(--r-l);background:var(--olivo-hondo);color:#DCE3D1}
.directorio-cabecera::after{content:"";position:absolute;right:-60px;top:-40px;width:460px;height:300px;background:url("../img/acuarela-portada.svg") center/contain no-repeat;opacity:.3;pointer-events:none}
.directorio-cabecera .lema{color:var(--verde)}
.directorio-cabecera h1{position:relative;z-index:1;margin:10px 0 10px;font-size:clamp(1.6rem,3vw,2.1rem);color:#fff}
.directorio-cabecera .acento{color:var(--trigo)}
.directorio-cabecera p{position:relative;z-index:1;max-width:56ch;color:#C9D3BB}
.directorio-cifras{position:relative;z-index:1;display:flex;gap:40px;margin:24px 0 0}
.directorio-cifras div{display:flex;flex-direction:column-reverse}
.directorio-cifras dt{font-size:var(--t-xs);color:#C9D3BB}
.directorio-cifras dd{margin:0;font-size:1.75rem;font-weight:600;color:var(--trigo);line-height:1.1}
.filtro-sector{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:-6px 0 24px}
.filtro-sector label{font-size:var(--t-s);color:var(--apagado)}
.filtro-sector select{padding:8px 12px;border:1px solid var(--linea);border-radius:999px;background:var(--lino);font-size:var(--t-s)}
.filtro-busqueda{font-size:var(--t-s);color:var(--apagado)}
.rejilla-negocios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.negocio{display:flex;flex-direction:column;overflow:hidden;background:var(--lino);border:1px solid var(--linea);border-radius:var(--r-m);box-shadow:var(--sombra);transition:transform .12s,box-shadow .12s}
.negocio:hover{transform:translateY(-3px);box-shadow:0 14px 34px -18px rgba(51,61,44,.35)}
.negocio-portada{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;height:84px;padding:12px;background:linear-gradient(120deg,#E7EFDB,#F1EFCE);overflow:hidden}
.negocio-hoja{position:absolute;right:10px;bottom:-12px;width:64px;height:48px;color:var(--olivo-hondo);opacity:.28}
.negocio-cuerpo{display:flex;flex-direction:column;flex:1;padding:16px 18px 18px}
.negocio-cuerpo h2{font-size:var(--t-l);margin-bottom:4px}
.negocio-lugar{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:var(--t-s);color:var(--apagado)}
.negocio-lugar .ico{width:14px;height:14px;color:var(--olivo)}
.negocio-texto{flex:1;margin-bottom:12px;font-size:var(--t-s);color:var(--apagado)}
.negocio-etiquetas{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}
.negocio-etiquetas li{padding:3px 10px;border-radius:999px;background:var(--verde-suave);color:var(--olivo);font-size:11px}
.etiquetas-claras li{background:rgba(255,255,255,.12);color:#E4EAD9}
.negocio-pie{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.marca-estado{padding:2px 10px;border-radius:999px;background:var(--trigo-suave);color:#5c5118;font-size:11px;font-weight:500}
.marca-propio{background:var(--verde);color:var(--olivo-hondo)}
.marca-oculto{background:#EBD9CE;color:#7A4128}

/* ---------- Ficha ---------- */
.ficha-cabecera{position:relative;overflow:hidden;margin:6px 0 22px;padding:34px 36px;border-radius:var(--r-l);background:var(--olivo-hondo);color:#DCE3D1}
.ficha-cabecera::after{content:"";position:absolute;right:-40px;bottom:-60px;width:380px;height:260px;background:url("../img/acuarela-portada.svg") center/contain no-repeat;opacity:.28;pointer-events:none}
.ficha-sellos{position:relative;z-index:1;display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ficha-cabecera h1{position:relative;z-index:1;font-size:clamp(1.7rem,3.4vw,2.2rem);color:#fff}
.ficha-entradilla{position:relative;z-index:1;max-width:62ch;margin-top:10px;font-size:var(--t-l);font-weight:300;color:#D3DEC5}
.ficha-meta{position:relative;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:16px 0 14px;font-size:var(--t-s);color:#C9D3BB}
.ficha-meta span{display:inline-flex;align-items:center;gap:6px}
.ficha-meta .ico{width:15px;height:15px;color:var(--verde)}
.ficha-web{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:999px;background:var(--trigo);color:var(--olivo-hondo);font-weight:600}
.ficha-web .ico{color:var(--olivo-hondo)!important}
.ficha-contacto{background:var(--verde)}
.ficha-cabecera .negocio-etiquetas{position:relative;z-index:1;margin:0}
.panel-gestion{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:22px;padding:18px 22px;border-radius:var(--r-m);background:var(--trigo-suave);border:1px solid var(--trigo)}
.panel-gestion h2{font-size:var(--t-m)}
.panel-gestion p{font-size:var(--t-s);color:var(--olivo)}
.ficha-columnas{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}
.ficha-seccion{padding:22px 24px;margin-bottom:22px}
.ficha-seccion h2{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:var(--t-l)}
.ficha-seccion h2 .ico{width:30px;height:30px;padding:6px;border-radius:9px;background:var(--verde);color:var(--olivo-hondo)}
.ficha-seccion .boton-ancho{margin-bottom:10px}
.centrado{text-align:center;margin:-2px 0 12px}
.galeria{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.galeria img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.horario{margin:0}
.horario div,.contacto-directo div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--linea-suave);font-size:var(--t-s)}
.horario div:last-child{border-bottom:0}
.horario dd{margin:0}
.horario .cerrado{color:var(--tierra)}
.contacto-directo{margin-top:14px}
.contacto-directo a{color:var(--olivo);text-decoration:underline}
.ficha-en-preparacion{position:relative;min-height:340px;border-radius:var(--r-l);overflow:hidden}
.siluetas-ficha{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}
.siluetas-ficha .silueta-tarjeta{min-height:300px}


/* ---------- Edición de la ficha ---------- */
.barra-ficha{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.indice-ficha{position:sticky;top:78px;z-index:5;display:flex;gap:6px;margin:-8px 0 20px;padding:6px;width:max-content;max-width:100%;border-radius:999px;background:var(--lino);border:1px solid var(--linea)}
.indice-ficha a{padding:6px 14px;border-radius:999px;font-size:var(--t-s);color:var(--olivo)}
.indice-ficha a:hover{background:var(--verde-suave)}
.seccion-edicion{margin-bottom:24px;scroll-margin-top:130px}
.seccion-edicion .bloque-cuerpo{padding-top:20px}
.grupo-campos{margin:6px 0 18px;padding:16px 18px 2px;border:1px solid var(--linea);border-radius:var(--r-m);background:#fff}
.grupo-campos legend{padding:0 6px;font-weight:600;font-size:var(--t-s);color:var(--olivo-hondo)}
.grupo-campos > .campo-ayuda{margin:0 0 14px}
.tabla-horario{max-width:560px;margin-bottom:10px}
.tabla-horario th[scope="row"]{font-weight:500;color:var(--tinta);letter-spacing:0;font-size:var(--t-s)}
.tabla-horario input[type="time"]{padding:7px 10px;border:1px solid #D3D6C0;border-radius:8px;background:#fff;font-size:var(--t-s)}
.tabla-horario input[type="checkbox"]{width:18px;height:18px;accent-color:var(--olivo)}
.galeria-edicion{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px;padding:0;list-style:none}
.galeria-edicion li{display:flex;flex-direction:column;gap:8px}
.galeria-edicion img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;border:1px solid var(--linea)}
.galeria-edicion form{margin:0}
.subida{max-width:520px}
.subida input[type="file"]{width:100%;padding:10px;border:1px dashed var(--olivo);border-radius:10px;background:#fff;font-size:var(--t-s)}
.mi-negocio{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:-10px 0 40px;padding:22px 26px;border-radius:var(--r-m);background:var(--verde-suave);border:1px solid var(--verde)}
.mi-negocio h2{margin:6px 0 4px;font-size:var(--t-xl)}
.mi-negocio p{font-size:var(--t-s);color:var(--olivo)}


/* ---------- Campana y avisos ---------- */
.campana{position:relative;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--lino);border:1px solid var(--linea);color:var(--olivo)}
.campana:hover{border-color:var(--olivo)}
.campana-numero{position:absolute;top:-4px;right:-6px;min-width:18px;padding:0 5px;border-radius:999px;background:var(--tierra);color:#fff;font-size:10px;font-weight:600;line-height:18px;text-align:center;border:2px solid var(--papel)}
a.persona:hover .persona-nombre{text-decoration:underline}
.barra-acciones{display:flex;justify-content:flex-end;margin:-10px 0 14px}
.lista-avisos{margin:0;padding:0;list-style:none;background:var(--lino);border:1px solid var(--linea);border-radius:var(--r-m);overflow:hidden;box-shadow:var(--sombra)}
.lista-avisos li + li{border-top:1px solid var(--linea-suave)}
.lista-avisos form{margin:0}
.lista-avisos button{display:grid;grid-template-columns:12px 1fr auto;gap:14px;align-items:start;width:100%;padding:16px 20px;border:0;background:none;text-align:left;cursor:pointer}
.lista-avisos button:hover{background:#F4F5E9}
.aviso-punto{width:9px;height:9px;margin-top:6px;border-radius:50%;background:transparent}
.aviso-nuevo .aviso-punto{background:var(--tierra)}
.aviso-texto strong{display:block;font-size:var(--t-m);font-weight:500;color:var(--apagado)}
.aviso-nuevo .aviso-texto strong{font-weight:600;color:var(--olivo-hondo)}
.aviso-texto span{display:block;margin-top:2px;font-size:var(--t-s);color:var(--apagado)}
.lista-avisos time{font-size:var(--t-xs);color:var(--apagado);white-space:nowrap}

/* ---------- Ajustes ---------- */
.ajuste{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:16px 0;border-bottom:1px solid var(--linea-suave)}
.ajuste label{font-weight:500;color:var(--tinta);cursor:pointer}
.ajuste p{margin-top:2px;font-size:var(--t-s);color:var(--apagado)}
.bloque-cuerpo > .campo-ayuda{margin:14px 0}
.interruptor{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:46px;height:26px;margin:0;border-radius:999px;background:#D3D6C2;cursor:pointer;transition:background-color .15s}
.interruptor::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .15s}
.interruptor:checked{background:var(--olivo)}
.interruptor:checked::after{left:23px}
.interruptor:focus-visible{box-shadow:var(--foco)}
.formulario-estrecho{max-width:460px}
.campo-etiqueta-simple{display:block;margin-bottom:6px;font-size:var(--t-s);font-weight:500;color:var(--olivo-hondo)}
.campo-simple{width:100%;margin-bottom:18px;padding:11px 14px;border:1px solid #D3D6C0;border-radius:10px;background:#fff;font-size:var(--t-m)}


/* ---------- Solicitudes ---------- */
.estado-sol-pendiente{background:var(--trigo);color:#5c5118}
.estado-sol-en_curso{background:var(--verde);color:var(--olivo-hondo)}
.estado-sol-resuelta{background:#E7E9DA;color:var(--apagado)}
.estado-sol-descartada{background:#EBD9CE;color:#7A4128}
.grupo-servicios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 18px;padding:0;border:0}
.grupo-servicios legend{margin-bottom:8px;font-size:var(--t-s);font-weight:500;color:var(--olivo-hondo)}
.opcion-servicio{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--linea);border-radius:var(--r-s);background:#fff;cursor:pointer}
.opcion-servicio:has(input:checked){border-color:var(--olivo);background:var(--verde-suave)}
.opcion-servicio input{margin-top:4px;accent-color:var(--olivo)}
.opcion-servicio strong{display:block;font-size:var(--t-s)}
.opcion-servicio small{display:block;font-size:var(--t-xs);color:var(--apagado)}
.formulario-compacto{margin-top:16px}
.separado{padding-top:16px;border-top:1px solid var(--linea-suave)}

/* ---------- Proyectos: fases y tablero ---------- */
.titulo-seccion{font-size:var(--t-xl)}
.fases-proyecto{margin-bottom:26px}
.fases-proyecto .bloque-cab form{margin:0}
.linea-fases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:18px 24px 24px;list-style:none}
.linea-fases li{position:relative;display:flex;align-items:center;gap:10px;padding-right:12px;color:var(--apagado)}
.linea-fases li::after{content:"";flex:1;height:2px;margin-left:6px;background:var(--linea)}
.linea-fases li:last-child::after{display:none}
.linea-fases .paso-numero{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:var(--linea-suave);font-weight:600;font-size:12px}
.linea-fases .paso-numero .ico{width:14px;height:14px}
.linea-fases strong{display:block;font-size:var(--t-s);font-weight:500}
.linea-fases small{display:block;font-size:11px}
.linea-fases .actual{color:var(--olivo-hondo)}
.linea-fases .actual .paso-numero{background:var(--olivo);color:#fff}
.linea-fases .hecha .paso-numero{background:var(--verde);color:var(--olivo-hondo)}
.linea-fases .hecha::after{background:var(--verde)}
.tablero{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start;margin-bottom:18px}
.columna-tablero{padding:12px;border-radius:var(--r-m);background:#EEF0E2;border:1px solid var(--linea);min-height:120px}
.columna-tablero h3{display:flex;justify-content:space-between;align-items:center;margin:2px 4px 12px;font-size:var(--t-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--apagado)}
.tarjeta-tarea{margin-bottom:10px;padding:12px;border-radius:10px;background:var(--lino);border:1px solid var(--linea);box-shadow:var(--sombra)}
.tarjeta-tarea.vencida{border-color:#D9A58A}
.tarjeta-tarea h4{font-size:var(--t-s);font-weight:600;color:var(--tinta)}
.tarjeta-tarea p{margin-top:4px;font-size:var(--t-xs);color:var(--apagado);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tarea-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:11px;color:var(--apagado)}
.etiqueta-fase{padding:1px 8px;border-radius:999px;background:var(--trigo-suave)}
.tarea-fecha{display:inline-flex;align-items:center;gap:3px}
.tarea-fecha .ico{width:12px;height:12px}
.vencida .tarea-fecha{color:var(--tierra);font-weight:600}
.tarea-personas{display:flex;margin-left:auto}
.tarea-personas .persona-iniciales{width:24px;height:24px;margin-left:-6px;font-size:10px;background:var(--verde);border:2px solid var(--lino)}
.mover-tarea{display:flex;gap:6px;margin-top:10px}
.mover-tarea select{flex:1;padding:5px 8px;border:1px solid var(--linea);border-radius:8px;background:#fff;font-size:var(--t-xs)}
.borrar-tarea{margin-top:6px;text-align:right}
.enlace-borrar{border:0;background:none;padding:0;font-size:11px;color:var(--tierra);cursor:pointer;text-decoration:underline}
.nueva-tarea{padding:0}
.nueva-tarea summary{padding:16px 22px;font-weight:500;color:var(--olivo);cursor:pointer}
.nueva-tarea[open] summary{border-bottom:1px solid var(--linea-suave)}
.nueva-tarea .formulario{padding:18px 22px 22px}
.casillas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;padding-bottom:14px}
.casillas label{display:flex;align-items:center;gap:8px;font-size:var(--t-s)}
.casillas input{width:16px;height:16px;accent-color:var(--olivo)}
.lista-ficheros{margin:0 0 20px;padding:0;list-style:none}
.lista-ficheros li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--linea-suave)}
.lista-ficheros a{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--olivo-hondo)}
.lista-ficheros a:hover{text-decoration:underline}
.lista-ficheros .texto-apagado{margin:0;font-size:var(--t-xs)}
.lista-equipos{display:grid;gap:14px}
.equipo{padding:18px 20px}
.equipo h2{font-size:var(--t-l)}
.equipo .texto-apagado{margin:4px 0 10px}


/* ---------- Bolsa de empleo ---------- */
.oferta-practicas{background:linear-gradient(120deg,#E7EFDB,#F1EFCE)}
.oferta-empleo{background:linear-gradient(120deg,#F1E6CF,#EEF1DE)}
.grupo-tipos{grid-template-columns:repeat(2,minmax(0,160px))}
.moderacion{display:flex;flex-direction:column;gap:10px;min-width:min(420px,100%)}
.moderacion .campo-simple{margin:0}
.lista-postulaciones{margin:0;padding:0;list-style:none}
.lista-postulaciones li{padding:14px 0;border-bottom:1px solid var(--linea-suave)}
.lista-postulaciones li:last-child{border-bottom:0}
.postulacion-cab{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.postulacion-cab .texto-apagado{margin:0 0 0 auto;font-size:var(--t-xs)}
.postulacion-cab .persona-iniciales{width:30px;height:30px;font-size:11px}
.lista-postulaciones .texto-libre{font-size:var(--t-s);color:var(--tinta)}


/* ---------- Conversaciones ---------- */
.accion-cabecera{margin-top:16px}
.bandeja{margin:0;padding:0;list-style:none;background:var(--lino);border:1px solid var(--linea);border-radius:var(--r-m);overflow:hidden;box-shadow:var(--sombra)}
.bandeja li + li{border-top:1px solid var(--linea-suave)}
.bandeja a{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 20px}
.bandeja a:hover{background:#F4F5E9}
.hilo-icono{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--verde-suave);color:var(--olivo)}
.hilo-texto{min-width:0}
.hilo-texto strong{display:block;font-weight:500;color:var(--apagado);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hilo-texto span{display:block;font-size:var(--t-s);color:var(--apagado);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hilo-nuevo .hilo-texto strong{font-weight:600;color:var(--olivo-hondo)}
.hilo-nuevo .hilo-texto span{color:var(--tinta)}
.hilo-nuevo .hilo-icono{background:var(--olivo);color:#fff}
.hilo-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:var(--t-xs);color:var(--apagado);white-space:nowrap}
.hilo{display:flex;flex-direction:column;background:var(--lino);border:1px solid var(--linea);border-radius:var(--r-l);box-shadow:var(--sombra);overflow:hidden}
.hilo-cabecera{padding:20px 26px;border-bottom:1px solid var(--linea)}
.hilo-cabecera h1{margin:6px 0 2px;font-size:var(--t-xl)}
.hilo-cabecera p{font-size:var(--t-s);color:var(--apagado)}
.hilo-mensajes{display:flex;flex-direction:column;gap:12px;padding:24px 26px;background:#F4F5E9;min-height:260px;max-height:62vh;overflow-y:auto}
.ver-anteriores{align-self:center}
.hilo-dia{display:flex;align-items:center;gap:12px;margin:6px 0;font-size:var(--t-xs);color:var(--apagado)}
.hilo-dia::before,.hilo-dia::after{content:"";flex:1;height:1px;background:var(--linea)}
.mensaje{display:flex;align-items:flex-end;gap:10px;max-width:76%}
.mensaje .persona-iniciales{flex:none;width:32px;height:32px;font-size:11px;background:var(--verde)}
.burbuja{padding:10px 14px 8px;border-radius:16px 16px 16px 4px;background:#fff;border:1px solid var(--linea)}
.mensaje-autor{display:block;margin-bottom:2px;font-size:var(--t-xs);color:var(--olivo)}
.burbuja .texto-libre{font-size:var(--t-s);color:var(--tinta);overflow-wrap:anywhere}
.burbuja time{display:block;margin-top:4px;font-size:10.5px;color:var(--apagado);text-align:right}
.mensaje-mio{align-self:flex-end}
.mensaje-mio .burbuja{border-radius:16px 16px 4px 16px;background:var(--olivo);border-color:var(--olivo)}
.mensaje-mio .burbuja .texto-libre,.mensaje-mio .burbuja time{color:#EEF2E6}
.adjunto{display:inline-flex;align-items:center;gap:6px;margin-top:8px;padding:6px 10px;border-radius:8px;background:var(--trigo-suave);font-size:var(--t-xs);color:var(--olivo-hondo)}
.adjunto span{color:var(--apagado)}
.mensaje-mio .adjunto{background:rgba(255,255,255,.16);color:#fff}
.mensaje-mio .adjunto span{color:#DCE3D1}
.hilo-responder{padding:16px 26px 20px;border-top:1px solid var(--linea)}
.hilo-responder textarea{width:100%;padding:12px 14px;border:1px solid #D3D6C0;border-radius:12px;background:#fff;font-size:var(--t-m);resize:vertical;min-height:80px}
.hilo-responder textarea:focus{outline:none;border-color:var(--olivo);box-shadow:0 0 0 3px rgba(84,96,76,.15)}
.hilo-acciones{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.adjuntar{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-s);color:var(--olivo);cursor:pointer}
.adjuntar input{font-size:var(--t-xs);max-width:220px}
.lista-postulaciones form{margin-top:10px}

/* ---------- Tarjeta fija "Innovación educativa" ---------- */
.innovacion{
  position:fixed;right:22px;bottom:22px;z-index:25;width:272px;
  display:flex;gap:12px;align-items:flex-start;padding:14px 16px;
  background:var(--lino);border:1px solid var(--linea);border-radius:var(--r-m);box-shadow:0 14px 36px -18px rgba(51,61,44,.4);
  transition:transform .15s,box-shadow .15s;
}
.innovacion:hover{transform:translateY(-2px);box-shadow:0 18px 40px -18px rgba(51,61,44,.5)}
.innovacion-icono{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:11px;background:var(--verde);color:var(--olivo-hondo)}
.innovacion-icono .ico{width:20px;height:20px}
.innovacion strong{display:block;font-size:var(--t-s);font-weight:600;color:var(--olivo-hondo)}
.innovacion span{display:block;margin-top:2px;font-size:12px;line-height:1.5;color:var(--apagado)}
.innovacion span em{font-style:normal;color:var(--olivo);font-weight:500;white-space:nowrap}

/* ---------- Responsive ---------- */
.velo{display:none}
/* Por debajo de 1600px la tarjeta taparía contenido: pasa al final de la página. */
/* ---------- Píldoras, plantillas y eventos (lote 11) ---------- */
.barra-secundaria{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 20px}
.filtros-suaves{margin:0}
.filtros-suaves .chip{padding:5px 12px;font-size:var(--t-xs)}
.progreso,.plazas{display:flex;align-items:center;gap:12px;font-size:var(--t-s);color:var(--apagado)}
.plazas{flex-direction:column;align-items:stretch;gap:6px;margin-bottom:16px}
.progreso strong,.plazas strong{color:var(--olivo-hondo)}
.progreso progress,.plazas progress{appearance:none;-webkit-appearance:none;width:140px;height:8px;border:0;border-radius:999px;background:var(--linea-suave);overflow:hidden}
.plazas progress{width:100%}
.progreso progress::-webkit-progress-bar,.plazas progress::-webkit-progress-bar{background:var(--linea-suave);border-radius:999px}
.progreso progress::-webkit-progress-value,.plazas progress::-webkit-progress-value{background:var(--olivo);border-radius:999px}
.progreso progress::-moz-progress-bar,.plazas progress::-moz-progress-bar{background:var(--olivo);border-radius:999px}

/* Tonos de portada (lista blanca: pildora_categorias.tono) */
.t-imagen{background:linear-gradient(135deg,#DCEBEF,#EEF1DE)}
.t-gestion{background:linear-gradient(135deg,#F1EDCF,#EAF0DF)}
.t-ia{background:linear-gradient(135deg,#E3DDF0,#EAF0DF)}
.t-web{background:linear-gradient(135deg,#D5ECDF,#EEF1DE)}
.t-publicidad{background:linear-gradient(135deg,#F2E3D6,#EEF1DE)}
.t-redes{background:linear-gradient(135deg,#F0DCE3,#EEF1DE)}

.pil{display:flex;flex-direction:column;overflow:hidden;background:var(--lino);border:1px solid var(--linea);border-radius:var(--r-m);box-shadow:var(--sombra);transition:transform .12s,box-shadow .12s}
.pil:hover{transform:translateY(-3px);box-shadow:0 14px 34px -18px rgba(51,61,44,.35)}
.pil-portada{position:relative;display:grid;place-items:center;height:124px;padding:12px;overflow:hidden}
.pil-portada::after{content:"";position:absolute;right:-30px;bottom:-40px;width:160px;height:120px;background:url("../img/acuarela-portada.svg") center/contain no-repeat;opacity:.22;pointer-events:none}
.pil-herramienta{position:relative;z-index:1;max-width:90%;font-size:1.3rem;font-weight:700;letter-spacing:.01em;text-align:center;color:var(--olivo-hondo);opacity:.62;overflow-wrap:anywhere}
.pil-vista,.pil-borrador{position:absolute;top:10px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:10.5px;font-weight:600}
.pil-vista{right:10px;background:var(--olivo);color:#fff}
.pil-vista .ico{width:12px;height:12px}
.pil-borrador{left:10px;background:#fff;color:#7A4128;border:1px solid #E7CBBB}
.pil-cuerpo{display:flex;flex-direction:column;flex:1;padding:14px 18px 18px}
.pil-categoria{margin-bottom:6px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--apagado)}
.pil-cuerpo h2{flex:1;margin-bottom:10px;font-size:var(--t-m);line-height:1.35}
.pil-meta{display:flex;align-items:center;gap:6px;margin-bottom:12px;font-size:var(--t-xs);color:var(--apagado)}
.pil-meta .ico{width:14px;height:14px;color:var(--olivo)}
.pil-boton{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:9px;background:var(--olivo);color:#fff;font-size:var(--t-s);font-weight:500}
.pil-boton .ico{width:14px;height:14px}
.pil:hover .pil-boton{background:var(--olivo-hondo)}

.reproductor{overflow:hidden;margin-bottom:22px}
.reproductor-marco{position:relative;aspect-ratio:16/9;background:var(--olivo-hondo)}
.reproductor-marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.reproductor-pie{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 22px}
.reproductor-pie h2{font-size:var(--t-m)}
.reproductor-pie .ico{width:14px;height:14px}
.lista-videos{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.lista-videos a{display:flex;align-items:flex-start;gap:10px;padding:9px 10px;border-radius:var(--r-s);font-size:var(--t-s);color:var(--tinta)}
.lista-videos a:hover{background:var(--verde-suave)}
.lista-videos a.activo{background:var(--verde-suave);font-weight:600;color:var(--olivo-hondo)}
.lista-videos-num{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--linea-suave);font-size:11px;font-weight:600}
.activo .lista-videos-num{background:var(--olivo);color:#fff}
.lista-gestion{margin:0 0 18px;padding:0;list-style:none}
.lista-gestion li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--linea-suave);font-size:var(--t-s)}
.lista-gestion li:last-child{border-bottom:0}
.lista-gestion form{margin:0}
.lista-gestion .texto-apagado{margin:0 0 0 6px}
.seccion-videos{margin-top:24px}
.boton-peque{padding:6px 12px;font-size:var(--t-xs)}
.casilla{display:flex;align-items:flex-start;gap:10px;margin:4px 0 20px;font-size:var(--t-s)}
.casilla input{width:16px;height:16px;margin-top:3px;accent-color:var(--olivo)}
.grupo-tipos-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rejilla-campos-3{grid-template-columns:2fr 1fr 1fr}
.zona-peligro{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px;padding:16px 20px;border:1px dashed #E7CBBB;border-radius:var(--r-m);font-size:var(--t-s);color:#7A4128}
.zona-peligro p{margin:0}

.evento-portada{align-items:center;height:92px}
.m-online{background:linear-gradient(120deg,#E3DDF0,#EEF1DE)}
.evento-fecha{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:62px;border-radius:12px;background:#fff;box-shadow:0 6px 16px -10px rgba(51,61,44,.5);line-height:1}
.evento-dia{font-size:1.5rem;font-weight:700;color:var(--olivo-hondo)}
.evento-mes{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--apagado)}
.evento-sellos{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.evento-sellos .pil-vista,.evento-sellos .pil-borrador{position:static}
.evento-cancelado{opacity:.7}
.evento-cancelado h2{text-decoration:line-through}

/* ---------- Escritorio, reuniones e informes (lote 12) ---------- */
.bienvenida{position:relative;margin:8px 0 34px}
.bienvenida h1{margin:10px 0 6px;font-size:clamp(1.8rem,3.6vw,var(--t-2xl));font-weight:600;letter-spacing:-.02em}
.bienvenida p{font-size:var(--t-l);font-weight:300;color:var(--olivo)}
.cifras-panel{margin-bottom:40px}
.cifras-panel .cifra{padding:0}
.cifras-panel .cifra a{display:block;padding:22px 18px 18px 22px;border-radius:var(--r-m);transition:background .15s}
.cifras-panel .cifra a:hover{background:rgba(255,255,255,.55)}
.columna{display:grid;gap:24px;align-content:start}
.agenda{margin:0;padding:0;list-style:none}
.agenda li{display:flex;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--linea-suave)}
.agenda li:last-child{border-bottom:0}
.agenda-fecha{flex:none;display:grid;place-items:center;width:48px;line-height:1}
.agenda-dia{font-size:1.3rem;font-weight:600;color:var(--olivo)}
.agenda-mes{margin-top:3px;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--apagado)}
.agenda-cuerpo{display:flex;flex-direction:column;flex:1;min-width:0}
.agenda-titulo{font-size:var(--t-s);font-weight:500;color:var(--tinta)}
a.agenda-titulo:hover{text-decoration:underline}
.agenda-detalle{font-size:var(--t-xs);color:var(--apagado)}
.actividad{margin:0;padding:0;list-style:none}
.actividad li{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--linea-suave)}
.actividad li:last-child{border-bottom:0}
.actividad-punto{flex:none;width:9px;height:9px;margin-top:7px;border-radius:50%;background:var(--verde)}
.actividad-alta .actividad-punto,.actividad-oferta .actividad-punto{background:var(--trigo)}
.actividad-pildora .actividad-punto,.actividad-evento .actividad-punto{background:var(--olivo)}
.actividad-texto{flex:1;min-width:0;font-size:var(--t-s)}
.actividad-texto a{color:var(--tinta);font-weight:500}
.actividad-texto a:hover{text-decoration:underline}
.actividad-texto small{display:block;font-size:var(--t-xs);color:var(--apagado)}
.actividad time{flex:none;font-size:11px;color:var(--apagado);white-space:nowrap}
.lista-pendientes{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.lista-pendientes a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-s);background:var(--trigo-suave);font-size:var(--t-s);color:var(--olivo-hondo)}
.lista-pendientes a:hover{background:var(--trigo)}
.lista-pendientes .chip-cuenta{background:#fff;font-weight:600}
.lista-pendientes .ico{width:14px;height:14px;margin-left:auto}
.fila-cancelada td{color:var(--apagado)}
.fila-cancelada .tabla-enlace{text-decoration:line-through}
.botonera-respuesta{margin-bottom:14px}
.botonera-respuesta .boton{flex:1;justify-content:center}
.invitados{margin:0 0 20px;padding:0;border:0}
.invitados legend{margin-bottom:10px;font-size:var(--t-s);font-weight:600}
.grupo-invitados{margin-bottom:8px;border:1px solid var(--linea);border-radius:var(--r-s);background:#fff}
.grupo-invitados summary{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;font-size:var(--t-s);font-weight:500}
.grupo-invitados .casillas{padding:4px 14px 14px}

/* Informes: barras en CSS; la longitud es una clase (.l-N), sin estilos en línea */
.filtros-informe{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:0 16px;align-items:end;margin-bottom:24px;padding:18px 20px 4px;border-radius:var(--r-m);background:var(--lino);border:1px solid var(--linea)}
.filtros-informe-botones{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:18px}
.rejilla-informes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.grafico .bloque-cab{align-items:flex-start}
.grafico-nota{margin-top:2px;font-size:var(--t-xs);color:var(--apagado)}
.g-barra{display:block;background:var(--olivo);transition:background .15s}
.barras-h{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.barras-h li{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr) 3ch;align-items:center;gap:12px;font-size:var(--t-s)}
.barras-h .g-etiqueta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tinta)}
.barras-h .g-pista{display:block;height:14px}
.barras-h .g-barra{height:100%;width:var(--l);border-radius:0 4px 4px 0}
.barras-h .g-valor{font-weight:600;color:var(--olivo-hondo);font-variant-numeric:tabular-nums}
.barras-v{display:flex;align-items:flex-end;gap:2px;height:230px;margin:0;padding:0;list-style:none}
.barras-v li{display:flex;flex:1;flex-direction:column;align-items:center;min-width:0;height:100%}
.barras-v .g-valor{font-size:var(--t-xs);font-weight:600;color:var(--olivo-hondo);font-variant-numeric:tabular-nums}
.barras-v .g-pista{display:flex;align-items:flex-end;justify-content:center;flex:1;width:100%;margin:4px 0 8px;border-bottom:1px solid var(--linea)}
.barras-v .g-barra{width:min(70%,34px);height:var(--l);border-radius:4px 4px 0 0}
.barras-v .g-etiqueta{font-size:10.5px;color:var(--apagado);text-align:center;line-height:1.2}
.barras-h li:hover .g-barra,.barras-v li:hover .g-barra{background:var(--olivo-hondo)}
.l-0{--l:0%}.l-1{--l:1%}.l-2{--l:2%}.l-3{--l:3%}.l-4{--l:4%}.l-5{--l:5%}.l-6{--l:6%}.l-7{--l:7%}.l-8{--l:8%}.l-9{--l:9%}.l-10{--l:10%}.l-11{--l:11%}.l-12{--l:12%}.l-13{--l:13%}.l-14{--l:14%}.l-15{--l:15%}.l-16{--l:16%}.l-17{--l:17%}.l-18{--l:18%}.l-19{--l:19%}.l-20{--l:20%}.l-21{--l:21%}.l-22{--l:22%}.l-23{--l:23%}.l-24{--l:24%}.l-25{--l:25%}.l-26{--l:26%}.l-27{--l:27%}.l-28{--l:28%}.l-29{--l:29%}.l-30{--l:30%}.l-31{--l:31%}.l-32{--l:32%}.l-33{--l:33%}.l-34{--l:34%}.l-35{--l:35%}.l-36{--l:36%}.l-37{--l:37%}.l-38{--l:38%}.l-39{--l:39%}.l-40{--l:40%}.l-41{--l:41%}.l-42{--l:42%}.l-43{--l:43%}.l-44{--l:44%}.l-45{--l:45%}.l-46{--l:46%}.l-47{--l:47%}.l-48{--l:48%}.l-49{--l:49%}.l-50{--l:50%}.l-51{--l:51%}.l-52{--l:52%}.l-53{--l:53%}.l-54{--l:54%}.l-55{--l:55%}.l-56{--l:56%}.l-57{--l:57%}.l-58{--l:58%}.l-59{--l:59%}.l-60{--l:60%}.l-61{--l:61%}.l-62{--l:62%}.l-63{--l:63%}.l-64{--l:64%}.l-65{--l:65%}.l-66{--l:66%}.l-67{--l:67%}.l-68{--l:68%}.l-69{--l:69%}.l-70{--l:70%}.l-71{--l:71%}.l-72{--l:72%}.l-73{--l:73%}.l-74{--l:74%}.l-75{--l:75%}.l-76{--l:76%}.l-77{--l:77%}.l-78{--l:78%}.l-79{--l:79%}.l-80{--l:80%}.l-81{--l:81%}.l-82{--l:82%}.l-83{--l:83%}.l-84{--l:84%}.l-85{--l:85%}.l-86{--l:86%}.l-87{--l:87%}.l-88{--l:88%}.l-89{--l:89%}.l-90{--l:90%}.l-91{--l:91%}.l-92{--l:92%}.l-93{--l:93%}.l-94{--l:94%}.l-95{--l:95%}.l-96{--l:96%}.l-97{--l:97%}.l-98{--l:98%}.l-99{--l:99%}.l-100{--l:100%}
.grafico-tabla{margin-top:18px;font-size:var(--t-s)}
.grafico-tabla summary{cursor:pointer;color:var(--olivo);font-weight:500}
.grafico-tabla .tabla{margin-top:10px}
.grafico-tabla th[scope=row]{font-weight:400;text-align:left}

/* ---------- Panel de administración (lote 13) ---------- */
.rejilla-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.panel-acceso{display:flex;align-items:center;gap:16px;padding:20px 22px;border-radius:var(--r-m);background:var(--lino);border:1px solid var(--linea);box-shadow:var(--sombra);transition:transform .12s,box-shadow .12s}
.panel-acceso:hover{transform:translateY(-2px);box-shadow:0 14px 34px -18px rgba(51,61,44,.35)}
.panel-icono{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--verde)}
.panel-icono .ico{width:22px;height:22px;color:var(--olivo-hondo)}
.panel-texto{display:flex;flex-direction:column;flex:1;min-width:0}
.panel-texto strong{font-size:var(--t-m);color:var(--tinta)}
.panel-texto span{font-size:var(--t-s);color:var(--apagado)}
.panel-texto small{margin-top:4px;font-size:var(--t-xs);color:var(--olivo);font-weight:500}
.panel-acceso > .ico{width:16px;height:16px;color:var(--olivo)}
.casillas-una{grid-template-columns:1fr}
.seccion-separada{margin-bottom:24px}
.alertas{margin-bottom:24px;border-color:#E7CBBB}
.lista-alertas{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lista-alertas a{display:flex;align-items:center;gap:10px;height:100%;padding:10px 12px;border-radius:var(--r-s);background:#F8EFE9;font-size:var(--t-s);color:var(--tinta)}
.lista-alertas a:hover{background:#F2E2D8}
.lista-alertas .ico{flex:none;width:14px;height:14px;margin-left:auto;color:#7A4128}
.alerta-texto{display:flex;flex-direction:column;min-width:0}
.alerta-texto small{font-size:var(--t-xs);color:var(--apagado)}
.casilla-destacada{padding:12px 14px;border-radius:var(--r-s);background:var(--trigo-suave);border:1px solid var(--trigo)}
.acta{margin-top:22px}
.acta-subtitulo{display:flex;align-items:center;gap:8px;margin:20px 0 10px;font-size:var(--t-m)}
.lista-acuerdos{margin:0 0 16px;padding-left:1.4em;display:grid;gap:8px;font-size:var(--t-s)}
.lista-acuerdos li{padding-left:4px}
.lista-acuerdos li span + span{margin-left:8px}
.nuevo-acuerdo{margin-top:12px;padding:16px;border-radius:var(--r-s);background:#fff;border:1px solid var(--linea)}
.acta-cerrar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.acta-cerrar p{margin:0}
.codigo{display:inline-block;padding:1px 7px;border-radius:6px;background:var(--linea-suave);font-size:11px;font-weight:600;letter-spacing:.03em;color:var(--apagado);font-variant-numeric:tabular-nums;vertical-align:middle}
.nota-entregable{flex-basis:100%;margin:4px 0 0;padding:6px 10px;border-left:3px solid var(--trigo);font-size:var(--t-xs);color:var(--tinta)}
.respuesta-entregable{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex-basis:100%;margin-top:6px}
.respuesta-entregable .campo-simple{flex:1;min-width:12rem}
.lista-accesos{margin:0;padding:0;list-style:none}
.lista-accesos li{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 0;border-bottom:1px solid var(--linea-suave);font-size:var(--t-s)}
.lista-accesos li:last-child{border-bottom:0}
.lista-accesos small{display:block;font-size:var(--t-xs);color:var(--apagado)}
.lista-accesos .fila-formulario{margin:0}
.lista-accesos select{min-width:9rem}
.campo-numero{width:6.5rem;padding:8px 10px;border:1px solid var(--linea);border-radius:var(--r-s);background:#fff;font:inherit;color:var(--tinta)}
.formulario-media{margin:0 0 18px;padding:14px 16px;border-radius:var(--r-s);background:var(--trigo-suave)}
.formulario-media label{font-size:var(--t-s);font-weight:500}
#actividad .tabla{margin-bottom:16px}
#actividad{margin-top:22px}
.rejilla-dos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.fila-formulario{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.fila-formulario select{flex:1;min-width:12rem;padding:10px 12px;border:1px solid var(--linea);border-radius:var(--r-s);background:#fff;font:inherit;color:var(--tinta)}
.lista-catalogo{margin:0;padding:6px 22px;list-style:none}
.lista-catalogo > li{padding:12px 0;border-bottom:1px solid var(--linea-suave)}
.lista-catalogo > li:last-child{border-bottom:0}
.catalogo-fila{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;font-size:var(--t-s)}
.catalogo-fila small{display:block;font-size:var(--t-xs);color:var(--apagado)}
.catalogo-fila .texto-apagado{margin:0;white-space:nowrap}
.filtros-registro{grid-template-columns:repeat(2,minmax(0,1fr)) auto}
.lista-politicas{display:grid;gap:14px}
.politica{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,15rem);gap:20px;align-items:center;padding:18px 22px}
.politica h2{font-size:var(--t-m);margin-bottom:4px}
.politica p{font-size:var(--t-s);color:var(--tinta)}
.politica small{display:block;margin-top:6px;font-size:var(--t-xs);color:var(--apagado)}
.politica-apagada{background:#F2F2EA}
.politica-plazo{display:flex;flex-direction:column;align-items:flex-end;gap:6px;text-align:right}
.politica-form{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;width:100%}
.politica-form label[for]{grid-column:1/-1;font-size:var(--t-xs);color:var(--apagado);text-align:left}
.politica-form input[type=number]{width:100%;padding:8px 10px;border:1px solid var(--linea);border-radius:var(--r-s);background:#fff;font:inherit}
.politica-form .casilla{margin:0}
.politica-form .boton{grid-column:1/-1;justify-self:end}

@media (max-width:1600px){
  .innovacion{position:static;width:auto;max-width:520px;margin:0 clamp(18px,3vw,40px) 32px auto}
  .contenido{padding-bottom:48px}
}
@media (max-width:1100px){
  .rejilla-negocios{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tablero{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ficha-columnas{grid-template-columns:1fr}
  .rejilla-informes,.rejilla-panel,.rejilla-dos,.lista-alertas{grid-template-columns:1fr}
  .politica{grid-template-columns:1fr}
  .politica-plazo{align-items:flex-start;text-align:left}
  .filtros-informe{grid-template-columns:repeat(3,minmax(0,1fr))}
  .filtros-informe-botones{grid-column:1/-1}
  .cifras{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}
  .dos-columnas{grid-template-columns:1fr}
}
@media (max-width:960px){
  .app{grid-template-columns:1fr}
  .lateral{position:fixed;inset:0 auto 0 0;z-index:60;width:var(--lateral);transform:translateX(-102%);transition:transform .25s ease}
  .lateral:target,.lateral.abierta{transform:none;box-shadow:24px 0 60px rgba(0,0,0,.2)}
  .lateral:target ~ .velo,.lateral.abierta ~ .velo{display:block;position:fixed;inset:0;z-index:55;background:rgba(51,61,44,.42)}
  .cerrar-menu{display:grid;place-items:center;position:absolute;right:10px;top:10px;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff}
  .boton-menu{display:inline-grid;place-items:center}
  .portada{grid-template-columns:1fr;min-height:0}
  .portada-lamina{max-width:520px;margin:-10px auto 0;order:-1;aspect-ratio:2/1}
  .portada-hoja{top:8%;left:22%;width:56%}
  .siluetas-tarjetas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .siluetas-graficos{grid-template-columns:1fr}
  .siluetas-chat{grid-template-columns:1fr}
  .silueta-lista{display:none}
  .innovacion{margin:0 clamp(18px,3vw,40px) 28px}
}
@media (max-width:640px){
  .barra{gap:10px;padding:10px 14px}
  .buscador{display:none}
  .miga small{display:none}
  .acciones .boton{padding:9px 14px}
  .cifras{gap:10px}
  .cifra strong{font-size:1.75rem}
  .siluetas-tarjetas{grid-template-columns:1fr}
  .siluetas-tabla .silueta-fila{grid-template-columns:32px 1fr 70px}
  .siluetas-tabla .silueta-fila > :nth-child(3),.siluetas-tabla .silueta-fila > :nth-child(4){display:none}
  .candado-tarjeta{padding:28px 22px 24px}
  .invitacion{padding:22px}
  .invitacion-botones{align-items:flex-start}
  .rejilla-campos,.rejilla-campos-3,.grupo-tipos-3,.filtros-informe{grid-template-columns:1fr}
  .barras-h li{grid-template-columns:minmax(0,8rem) minmax(0,1fr) 3ch}
  .catalogo-fila{grid-template-columns:1fr}
  .filtros-registro{grid-template-columns:1fr}
  .barras-v .g-etiqueta{font-size:9px}
  .barra-secundaria{flex-direction:column;align-items:flex-start}
  .filtros-deslizables{flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:6px;scrollbar-width:thin}
  .filtros-deslizables .chip{flex:none}
  .rejilla-negocios,.siluetas-ficha,.galeria{grid-template-columns:1fr}
  .galeria-edicion{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tablero,.grupo-servicios,.casillas{grid-template-columns:1fr}
  .mensaje{max-width:92%}
  .bandeja a{grid-template-columns:1fr auto}
  .hilo-icono{display:none}
  .hilo-mensajes,.hilo-cabecera,.hilo-responder{padding-left:16px;padding-right:16px}
  .linea-fases{grid-template-columns:1fr 1fr;gap:12px}
  .linea-fases li::after{display:none}
  .indice-ficha{top:62px}
  .directorio-cabecera,.ficha-cabecera{padding:24px 20px}
  .persona-nombre{display:none}
  .codigos-recuperacion{grid-template-columns:1fr}
  .ficha-datos div{grid-template-columns:1fr;gap:2px}
  .tarjeta-formulario{padding:22px 18px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print{
  .lateral,.barra,.innovacion,.velo{display:none!important}
  .app{display:block}
  body{background:#fff}
}

/* Lote 14 · Reuniones por convocatoria */
.historico-cabecera{padding:20px 20px 8px}
.historico-cabecera h2{margin:0 0 4px}
.sin-salto{white-space:nowrap}
.lista-trabajo{list-style:none;margin:0;padding:0 20px 12px}
.lista-trabajo li{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--linea-suave)}
.lista-trabajo li:last-child{border-bottom:0}
.lista-trabajo li>svg{flex:none;width:18px;height:18px;align-self:center;color:var(--musgo,currentColor)}
.aviso-historico p{margin:0;padding:16px 20px}
/* Indicadores (lote 14) */
.tabla-indicadores td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.tabla-indicadores tbody th[scope=row]{white-space:normal;min-width:16ch;letter-spacing:0}
.tabla-indicadores thead th{text-align:right}
.tabla-indicadores thead th:first-child{text-align:left}
.tabla-indicadores th,.tabla-indicadores td{padding-left:12px;padding-right:12px}
.tabla-sub{display:block;font-weight:400;letter-spacing:0}
.tabla-indicadores .columna-total{background:var(--trigo-suave)}
.tabla-indicadores tbody th[scope=row]{font-weight:500}
.lista-notas{margin:0;padding-left:20px;font-size:var(--t-s);line-height:1.6;color:var(--apagado)}
.lista-notas li+li{margin-top:8px}
.rejilla-informes+.bloque{margin-top:24px}
.buscador-hueco{flex:1}
.rejilla-aula{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:end}
.rejilla-aula .campo{margin:0}
.aula-total{margin:16px 0 0}
@media (max-width:760px){.rejilla-aula{grid-template-columns:1fr}}

/* ==================================================================
   Línea 1.1 · más aire y manejo de aplicación
   Superficies blancas sobre fondo claro, menú claro con lo principal
   arriba, barra inferior en el móvil y cambio de página suave.
   La hoja del logo sigue siendo el único adorno; la acuarela se retira
   de menús, cifras y cabeceras para que mande el contenido.
   ================================================================== */

/* ---------- Cambio de página suave (sin JavaScript) ---------- */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.16s;animation-timing-function:ease}
.lateral{view-transition-name:lateral}
.barra{view-transition-name:barra}
.barra-app{view-transition-name:barra-app}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* ---------- Tipografía ---------- */
h1,h2,h3,h4{color:var(--olivo-hondo)}
h1{font-weight:700}

/* ---------- Menú lateral, claro ---------- */
.lateral{background:var(--lino);color:var(--tinta);border-right:1px solid var(--linea)}
.lateral::after{content:none}
.marca{margin:16px 16px 4px;padding:6px 10px;background:none;border-radius:var(--r-s)}
.nav{padding:4px 12px 24px;scrollbar-color:var(--linea) transparent}
.nav-grupo{margin:18px 12px 6px;color:var(--apagado);letter-spacing:.2em}
.nav-item{padding:10px 12px;border-radius:12px;font-size:14.5px;font-weight:500;color:var(--tinta)}
.nav-item .ico{opacity:1;color:var(--olivo)}
.nav-item:hover{background:var(--verde-suave);color:var(--olivo-hondo)}
.nav-item[aria-current="page"]{background:var(--olivo-hondo);color:#fff;font-weight:600}
.nav-item[aria-current="page"] .ico{color:var(--verde)}
.nav-item[aria-current="page"] .nav-contador{background:var(--verde);color:var(--olivo-hondo)}
.nav-candado{opacity:.45}
.lateral-pie{border-top:1px solid var(--linea);padding:14px 26px 18px}
.lateral-pie small{color:var(--apagado)}
.lateral-pie strong{color:var(--olivo-hondo)}

/* Lo principal de cada perfil, arriba del todo */
.nav-accion{
  display:flex;align-items:center;gap:12px;margin:12px 14px 2px;padding:12px 14px;border-radius:16px;
  background:var(--olivo-hondo);color:#fff;box-shadow:0 10px 22px -14px rgba(44,55,37,.7);transition:background-color .15s;
}
.nav-accion:hover,.nav-accion[aria-current="page"]{background:#1F281A}
.nav-accion-icono{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.14);color:var(--verde)}
.nav-accion-icono .ico{width:20px;height:20px}
.nav-accion-icono .ico[class]{stroke-width:inherit}
.nav-accion-texto{min-width:0;line-height:1.25}
.nav-accion-texto strong{display:block;font-size:14.5px;font-weight:600}
.nav-accion-texto small{display:block;margin-top:2px;font-size:11.5px;color:#C9D6BC}

/* ---------- Barra superior ---------- */
.barra{background:rgba(255,255,255,.92);border-bottom:1px solid var(--linea)}
.miga strong{font-weight:700}
.buscador{background:var(--papel);border-color:transparent}
.buscador:focus-within{background:var(--lino)}

/* ---------- Botones: esquinas de aplicación, peso firme ---------- */
.boton{padding:11px 18px;border-radius:12px;font-weight:600}
.boton-solido{background:var(--olivo-hondo)}
.boton-solido:hover{background:#1F281A}
.boton-borde{color:var(--olivo-hondo);border-color:var(--linea);background:var(--lino)}
.boton-borde:hover{border-color:var(--olivo);background:var(--verde-suave)}
.boton-grande{padding:14px 24px;border-radius:14px}
.boton-claro{background:#fff;color:var(--olivo-hondo)}
.boton-claro:hover{background:var(--verde-suave)}
.boton-fantasma{color:#fff;border-color:rgba(255,255,255,.4)}
.boton-fantasma:hover{background:rgba(255,255,255,.1);border-color:#fff}

/* ---------- Bloques y tarjetas ---------- */
.bloque{border-radius:var(--r-m)}
.bloque-cab{padding:22px 26px 0}
.bloque-cab h2{font-size:1.1875rem;font-weight:600}
.bloque-cuerpo{padding:16px 26px 26px}

/* ---------- Portada: un panel con la hoja ---------- */
.portada{
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;min-height:0;margin-bottom:28px;
  padding:clamp(28px,4.2vw,56px);border-radius:var(--r-l);background:var(--olivo-hondo);color:#E6ECDD;overflow:hidden;
}
.portada .lema{color:var(--verde)}
.portada h1{margin:14px 0 16px;color:#fff;font-weight:700;font-size:clamp(2rem,4vw,3.1rem);line-height:1.06}
.portada p{color:#D5DDC9;font-weight:400;font-size:1.0625rem;line-height:1.6}
.portada-botones{margin-top:28px}
.portada-hoja{
  position:absolute;left:auto;right:-5%;top:auto;bottom:-16%;width:58%;max-width:620px;height:auto;aspect-ratio:7/5;z-index:0;
  color:var(--verde);opacity:.13;pointer-events:none;
}
.portada-texto,.cifras-portada{position:relative;z-index:1}
.cifras-portada{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;align-self:center}
.cifras-portada .cifra{padding:18px 18px 16px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
.cifras-portada .cifra strong{color:#fff;font-weight:700}
.cifras-portada .cifra span{color:#C9D6BC;margin-top:8px}

/* ---------- Cifras: fichas limpias ---------- */
.cifra::before{content:none}
.cifras{gap:14px;margin-bottom:36px}
.cifras-panel .cifra{background:var(--lino);border:1px solid var(--linea);border-radius:16px;box-shadow:var(--sombra)}
.cifras-panel .cifra a{padding:20px 20px 18px;border-radius:16px}
.cifras-panel .cifra:not(:has(a)){padding:20px 20px 18px}
.cifra strong{font-weight:700}

/* ---------- Cabecera de sección: icono y título en línea, sin acuarela ---------- */
.cabecera{margin:0 0 24px;padding:6px 0 4px}
.cabecera::before{content:none}
.cabecera:has(> .cabecera-icono){display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:16px;align-items:center}
.cabecera:has(> .cabecera-icono) > *{grid-column:2}
.cabecera > .cabecera-icono{grid-column:1;grid-row:1 / span 2;align-self:start;margin:0;width:52px;height:52px;border-radius:16px;background:var(--verde-suave);border:0;color:var(--olivo-hondo)}
.cabecera-icono .ico{width:24px;height:24px}
.cabecera h1{font-size:clamp(1.6rem,2.6vw,2rem)}
.cabecera p{margin-top:6px}
.bienvenida{margin:4px 0 26px}
.bienvenida h1{font-weight:700}
.mi-negocio{margin:0 0 28px;border:0;background:var(--verde-suave)}

/* Cabeceras oscuras (directorio, ficha de negocio, invitación): la hoja en vez de la acuarela */
.directorio-cabecera::after,.ficha-cabecera::after,.invitacion::before{
  content:"";position:absolute;inset:auto -40px -70px auto;width:min(46%,420px);aspect-ratio:7/5;height:auto;
  background:url("../img/hoja.svg") center/contain no-repeat;opacity:.14;mix-blend-mode:normal;pointer-events:none;
}

/* ---------- Candado e invitación ---------- */
.candado{background:linear-gradient(to bottom,rgba(243,245,238,.3),rgba(243,245,238,.88) 60%)}
.candado-tarjeta::before{content:none}
.candado-otra{display:block;margin-top:16px;font-size:var(--t-s);font-weight:500;color:var(--olivo);text-decoration:underline;text-underline-offset:3px}
.invitacion{border-radius:var(--r-m)}
.invitacion .boton{background:#fff}

/* ---------- Barra inferior del móvil ---------- */
.barra-app{display:none}
@media (max-width:960px){
  .boton-menu{display:none}
  .cerrar-menu{background:var(--papel);color:var(--olivo-hondo)}
  .lateral{width:min(86vw,320px);padding-bottom:calc(var(--barra-app) + env(safe-area-inset-bottom))}
  .principal{padding-bottom:calc(var(--barra-app) + 20px + env(safe-area-inset-bottom))}
  .barra-app{
    position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:end;
    min-height:var(--barra-app);padding:0 4px env(safe-area-inset-bottom);
    background:var(--lino);border-top:1px solid var(--linea);box-shadow:0 -6px 20px -14px rgba(38,47,32,.35);
  }
  .barra-app-item,.barra-app-accion{
    position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;min-width:0;
    padding:9px 2px 8px;font-size:11.5px;font-weight:500;line-height:1.2;color:var(--apagado);
  }
  .barra-app-item .ico{width:25px;height:25px}
  .barra-app-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .barra-app-accion > span:last-child{white-space:nowrap;font-size:11px}
  .barra-app-item[aria-current="page"],.barra-app-item[aria-expanded="true"]{color:var(--olivo-hondo);font-weight:700}
  .barra-app-accion{color:var(--olivo-hondo);font-weight:700}
  .barra-app-boton{
    display:grid;place-items:center;width:58px;height:58px;margin-top:-26px;border-radius:50%;
    background:var(--olivo-hondo);color:var(--verde);box-shadow:0 0 0 5px var(--lino),0 10px 18px -8px rgba(44,55,37,.6);
  }
  .barra-app-boton .ico{width:26px;height:26px}
  .barra-app-accion[aria-current="page"] .barra-app-boton{background:#1F281A}
  .barra-app-punto{position:absolute;top:8px;left:calc(50% + 9px);width:9px;height:9px;border-radius:50%;background:var(--tierra);box-shadow:0 0 0 2px var(--lino)}
  .portada{grid-template-columns:1fr;gap:28px}
  .portada-hoja{right:-18%;bottom:-8%;width:90%}
  .innovacion{margin-bottom:12px}
}
@media (max-width:640px){
  .portada{padding:26px 22px 24px;border-radius:22px}
  .portada-botones .boton{flex:1 1 100%}
  .cifras-portada .cifra{padding:14px 14px 12px}
  .cabecera > .cabecera-icono{width:44px;height:44px;border-radius:14px}
  .bloque-cab{padding:18px 18px 0}
  .bloque-cuerpo{padding:14px 18px 20px}
}
@media print{.barra-app{display:none!important}}

