/* Kortavia · Resultados. Teal de marca, Roboto, tarjetas limpias.
   Arriba el candidato sobre el teal de la marca; debajo cobertura, resultado por
   dignidad y el detalle por recinto. */
:root{
  --teal:#009A9A; --teal2:#00737A; --tealOsc:#00585D; --tealTinte:rgba(0,154,154,.10); --tealBorde:rgba(0,154,154,.35);
  --fondo:#F2F5F7; --panel:#FFFFFF; --panel2:#F7F9FA; --borde:#E2E8EC; --bordeCampo:#D3DBE1;
  --texto:#0E1A24; --suave:#5E6E7A; --tenue:#8C9AA4; --pista:#E8EDF0;
  --ok:#13804C; --okF:#E5F3EB; --mal:#C0392B; --malF:#FBECEA; --aviso:#9A5800; --avisoF:#FBF1DF;
  --sombra:0 1px 2px rgba(14,26,36,.05),0 8px 24px rgba(14,26,36,.06);
  --sombraAlta:0 2px 6px rgba(14,26,36,.06),0 24px 48px rgba(0,60,64,.14);
  --letra:"Roboto",-apple-system,"Segoe UI",Arial,sans-serif;
  --radio:20px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --teal:#2BB8B4; --teal2:#6FD6D2; --tealOsc:#0B4F53; --tealTinte:rgba(43,184,180,.14); --tealBorde:rgba(43,184,180,.45);
  --fondo:#0B1216; --panel:#131D23; --panel2:#18242B; --borde:#22313A; --bordeCampo:#2E3E48;
  --texto:#E6EEF2; --suave:#9AAAB5; --tenue:#6F818C; --pista:#22303A;
  --ok:#4CC383; --okF:#123124; --mal:#F07A6E; --malF:#341A17; --aviso:#E0A54B; --avisoF:#33260F;
  --sombra:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25); --sombraAlta:0 24px 48px rgba(0,0,0,.45); color-scheme:dark;
}}
:root[data-theme="dark"]{
  --teal:#2BB8B4; --teal2:#6FD6D2; --tealOsc:#0B4F53; --tealTinte:rgba(43,184,180,.14); --tealBorde:rgba(43,184,180,.45);
  --fondo:#0B1216; --panel:#131D23; --panel2:#18242B; --borde:#22313A; --bordeCampo:#2E3E48;
  --texto:#E6EEF2; --suave:#9AAAB5; --tenue:#6F818C; --pista:#22303A;
  --ok:#4CC383; --okF:#123124; --mal:#F07A6E; --malF:#341A17; --aviso:#E0A54B; --avisoF:#33260F;
  --sombra:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25); --sombraAlta:0 24px 48px rgba(0,0,0,.45); color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--fondo);color:var(--texto);font:15px/1.5 var(--letra);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
[hidden]{display:none!important}
.envoltura{max-width:1120px;margin:0 auto;padding:0 16px 56px}
.num,.v,.vt,.pc,td.n{font-variant-numeric:tabular-nums}

/* ---------- barra superior ---------- */
.barra{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--fondo) 86%,transparent);
  backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--borde);
  padding-top:env(safe-area-inset-top,0px)}
.barra-in{max-width:1120px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;gap:12px}
.logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#00B2AE,#007F82);flex:none;overflow:hidden;box-shadow:0 2px 8px rgba(0,128,130,.3)}
.logo svg{display:block;width:100%;height:100%}
.marca{min-width:0}
.marca b{font-size:17px;font-weight:700;letter-spacing:-.3px;display:block;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marca span{font-size:12.5px;color:var(--suave);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.estado{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--suave);
  background:var(--panel);border:1px solid var(--borde);border-radius:999px;padding:7px 13px;white-space:nowrap;flex:none}
.punto{width:8px;height:8px;border-radius:50%;background:var(--tenue);flex:none}
.punto.vivo{background:var(--ok);box-shadow:0 0 0 3px var(--okF);animation:latido 2s ease-in-out infinite}
.punto.malo{background:var(--mal);box-shadow:0 0 0 3px var(--malF)}
@keyframes latido{50%{box-shadow:0 0 0 6px var(--okF)}}
@media(max-width:560px){.marca span{display:none}.estado{font-size:12px;padding:6px 11px}.estado .largo{display:none}}

/* ---------- encabezados ---------- */
.cabeza{padding:28px 0 4px}
.cabeza h1{margin:0;font-size:clamp(26px,4.4vw,36px);line-height:1.1;font-weight:700;letter-spacing:-1px}
.sub{color:var(--suave);font-size:15px;margin-top:6px}
.seccion{margin:40px 2px 14px;display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap}
.seccion h2{margin:0;font-size:21px;font-weight:700;letter-spacing:-.4px;line-height:1.2}
.seccion p{margin:0;color:var(--suave);font-size:14px}
.panel{background:var(--panel);border:1px solid var(--borde);border-radius:var(--radio);box-shadow:var(--sombra)}

/* ---------- héroe del candidato ---------- */
.heroe{position:relative;isolation:isolate;overflow:hidden;margin-top:20px;border-radius:28px;color:#fff;
  background:
    radial-gradient(620px 520px at 78% 30%,rgba(120,255,240,.28),transparent 62%),
    radial-gradient(500px 400px at 0% 100%,rgba(0,40,44,.55),transparent 70%),
    linear-gradient(135deg,#00494E 0%,#006E72 42%,#00A09C 100%);
  box-shadow:var(--sombraAlta);
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-rows:1fr auto;min-height:540px}
.heroe-deco{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.heroe-deco::before{content:"";position:absolute;inset:0;opacity:.07;
  background-image:linear-gradient(rgba(255,255,255,1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,1) 1px,transparent 1px);
  background-size:44px 44px;-webkit-mask-image:linear-gradient(110deg,transparent 30%,#000 75%);mask-image:linear-gradient(110deg,transparent 30%,#000 75%)}
.heroe-deco span{position:absolute;right:-2%;bottom:-14%;font-weight:900;font-size:min(46vw,440px);line-height:.8;letter-spacing:-.06em;
  color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.16);user-select:none}
.heroe .texto{grid-column:1;grid-row:1;padding:52px 44px 26px;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;min-width:0}
.heroe .cargo{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);color:#fff;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.heroe .cargo::before{content:"";width:7px;height:7px;border-radius:50%;background:#7CF3E6;box-shadow:0 0 0 3px rgba(124,243,230,.25)}
.heroe .nombre{margin:0;font-size:clamp(42px,6.6vw,76px);line-height:.98;font-weight:900;letter-spacing:-2px;text-wrap:balance}
.heroe .org{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:500;color:rgba(255,255,255,.88)}
.heroe .org .n{display:inline-grid;place-items:center;min-width:44px;height:34px;padding:0 9px;border-radius:10px;background:#fff;color:#00666B;font-weight:900;font-size:19px;letter-spacing:-.5px}
.heroe .foto{grid-column:2;grid-row:1/3;position:relative;display:flex;align-items:flex-end;justify-content:center;min-width:0}
.heroe .foto::before{content:"";position:absolute;left:50%;bottom:8%;width:78%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(160,255,245,.35),transparent 66%)}
.heroe .foto img{position:relative;display:block;width:auto;height:580px;max-height:calc(100% + 20px);max-width:125%;object-fit:contain;object-position:bottom;
  filter:drop-shadow(0 18px 30px rgba(0,30,34,.35))}
.heroe.sin-recorte .foto img{height:auto;width:78%;max-width:340px;margin:0 auto 40px;border-radius:24px;border:4px solid rgba(255,255,255,.85);filter:none;object-fit:cover;aspect-ratio:3/4}

.marcador{grid-column:1;grid-row:2;margin:0 0 28px 28px;background:var(--panel);color:var(--texto);border-radius:22px;padding:18px 20px;
  box-shadow:0 20px 40px rgba(0,30,34,.25);display:grid;gap:14px;position:relative;z-index:2}
.marcador .vivo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.marcador .vivo:empty{display:none}
.dato{padding:0 16px;border-left:1px solid var(--borde);min-width:0}
.dato:first-child{padding-left:2px;border-left:0}
.dato small{display:block;font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--tenue);white-space:nowrap}
.dato b{display:block;font-size:clamp(24px,3vw,32px);font-weight:900;letter-spacing:-1px;line-height:1.1;margin-top:4px;color:var(--teal2);font-variant-numeric:tabular-nums;white-space:nowrap}
.dato b small{display:inline;font-size:14px;font-weight:500;letter-spacing:0;color:var(--suave);text-transform:none}
.dato.mal b{color:var(--mal)}
.carrera:empty{display:none}
.carrera{display:grid;gap:9px;padding-top:14px;border-top:1px solid var(--borde)}
.carril{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13.5px}
.carril .q{min-width:34px;height:24px;padding:0 6px;border-radius:7px;color:#fff;font-weight:700;font-size:12.5px;display:grid;place-items:center}
.carril .t{height:10px;border-radius:999px;background:var(--pista);overflow:hidden}
.carril .t i{display:block;height:100%;border-radius:999px;transition:width .8s cubic-bezier(.16,.84,.24,1)}
.carril .p{font-weight:700;min-width:58px;text-align:right;font-variant-numeric:tabular-nums}
.carril.yo .p{color:var(--teal2)}
.nota-h{font-size:13.5px;color:var(--suave);font-weight:500}
.nota-h b{color:var(--texto)}

@media(max-width:760px){
  .heroe{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;min-height:0;border-radius:24px;margin-top:14px;
    background:radial-gradient(360px 300px at 50% 20%,rgba(120,255,240,.3),transparent 70%),linear-gradient(170deg,#00494E 0%,#006E72 50%,#00A09C 100%)}
  .heroe-deco span{right:auto;left:50%;transform:translateX(-50%);bottom:auto;top:-4%;font-size:76vw}
  .heroe .foto{grid-column:1;grid-row:1;height:290px;margin-top:18px}
  .heroe .foto img{height:100%;max-height:none;max-width:100%;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
  .heroe .foto::before{width:250px;bottom:0}
  .heroe .texto{grid-column:1;grid-row:2;padding:18px 20px 6px;align-items:center;text-align:center;gap:12px}
  .heroe .cargo{align-self:center;font-size:11px;padding:6px 12px;letter-spacing:.5px}
  .heroe .nombre{font-size:clamp(36px,11vw,48px);letter-spacing:-1.4px}
  .heroe .org{font-size:15px;justify-content:center;flex-wrap:wrap}
  .heroe .org .n{min-width:38px;height:30px;font-size:17px}
  .marcador{grid-column:1;grid-row:3;margin:14px 12px 12px;padding:16px;border-radius:18px}
  .dato{padding:0 10px}.dato b{font-size:22px}.dato b small{font-size:12px}
  .heroe.sin-recorte .foto{height:auto}.heroe.sin-recorte .foto img{width:200px;margin:0 auto}
}

/* ---------- cifras ---------- */
.cifras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.cifras.cinco{grid-template-columns:repeat(5,minmax(0,1fr))}
.cifras>div{background:var(--panel);border:1px solid var(--borde);border-radius:18px;box-shadow:var(--sombra);padding:16px 18px;min-width:0}
.cifras .r{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--tenue);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cifras .v{font-size:30px;font-weight:900;letter-spacing:-1px;line-height:1.15;margin-top:6px}
.cifras .mal{border-color:color-mix(in srgb,var(--mal) 40%,var(--borde));background:var(--malF)}
.cifras .mal .v,.cifras .mal .r{color:var(--mal)}
@media(max-width:760px){.cifras,.cifras.cinco{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cifras.cinco>div:last-child{grid-column:1/-1}.cifras>div{padding:14px 16px}.cifras .v{font-size:26px}}

/* ---------- dignidades ---------- */
.fichas{display:flex;gap:4px;overflow-x:auto;padding:4px;margin:0 0 14px;background:var(--panel);border:1px solid var(--borde);
  border-radius:16px;box-shadow:var(--sombra);scrollbar-width:none;-webkit-overflow-scrolling:touch;width:fit-content;max-width:100%}
.fichas::-webkit-scrollbar{display:none}
.ficha{border:0;background:transparent;color:var(--suave);border-radius:12px;padding:10px 16px;font:500 14.5px var(--letra);white-space:nowrap;cursor:pointer;flex:none;transition:background .15s,color .15s}
.ficha:hover{background:var(--panel2);color:var(--texto)}
.ficha[aria-pressed="true"]{background:var(--teal);color:#fff;font-weight:700;box-shadow:0 2px 8px color-mix(in srgb,var(--teal) 35%,transparent)}
.ficha .mio{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);margin-left:7px;vertical-align:middle}
.ficha[aria-pressed="true"] .mio{background:#fff}

/* ---------- resultado ---------- */
.rejilla{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:14px}
@media(max-width:860px){.rejilla{grid-template-columns:minmax(0,1fr)}}
.puntero{padding:24px;display:flex;flex-direction:column;gap:20px;justify-content:center}
.dona{position:relative;width:min(230px,64vw);aspect-ratio:1;margin:0 auto}
.dona svg{width:100%;height:100%;transform:rotate(-90deg)}
.dona .centro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.dona .centro b{font-size:36px;font-weight:900;letter-spacing:-1.2px;line-height:1}
.dona .centro span{font-size:13px;color:var(--suave);margin-top:6px;font-weight:500}
.etq{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700;white-space:nowrap}
.etq i{width:7px;height:7px;border-radius:50%;display:block}
.etq.ok{background:var(--okF);color:var(--ok)} .etq.ok i{background:var(--ok)}
.etq.mal{background:var(--malF);color:var(--mal)} .etq.mal i{background:var(--mal)}
.etq.te{background:var(--tealTinte);color:var(--teal2)} .etq.te i{background:var(--teal)}
.lider{text-align:center}
.lider .nom{font-size:21px;font-weight:700;letter-spacing:-.4px;margin-top:10px;line-height:1.2}
.lider .vent{font-size:14px;color:var(--suave);margin-top:4px}

.lista{padding:8px;display:flex;flex-direction:column}
.fila{padding:12px 12px 12px;border-radius:14px;position:relative}
.fila+.fila{margin-top:2px}
.fila .cab{display:flex;align-items:center;gap:12px}
.cuad{min-width:38px;height:30px;padding:0 7px;border-radius:9px;color:#fff;font-weight:900;font-size:14px;display:grid;place-items:center;flex:none;letter-spacing:-.3px}
.fila .nm{flex:1;font-weight:500;min-width:0;line-height:1.3}
.fila .nm b{font-weight:700}
.fila .vt{font-weight:700;font-size:16px;text-align:right}
.fila .pc{color:var(--suave);width:62px;text-align:right;font-size:14px}
.barrita{height:8px;border-radius:999px;background:var(--pista);margin:10px 0 0 50px;overflow:hidden}
.barrita i{display:block;height:100%;border-radius:999px;transition:width .8s cubic-bezier(.16,.84,.24,1)}
.fila.nuestro{background:var(--tealTinte);box-shadow:inset 0 0 0 1px var(--tealBorde)}
.fila.nuestro .barrita{background:color-mix(in srgb,var(--teal) 14%,var(--panel))}
.fila .yo{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#fff;background:var(--teal);border-radius:999px;padding:2px 8px;margin-left:8px;vertical-align:2px;white-space:nowrap}
.mini{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:50% 12%;background:#E9F6F5;border:2px solid var(--teal);flex:none}
.fila.nuestro .barrita{margin-left:96px}
.resumen{margin:8px 4px 4px;padding:12px 8px 4px;border-top:1px solid var(--borde);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.resumen div{min-width:0}
.resumen small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--tenue)}
.resumen b{display:block;font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}
.resumen b span{font-size:13px;font-weight:500;color:var(--suave)}
@media(max-width:560px){
  .fila .cab{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;align-items:center}
  .fila .mini{display:none}
  .fila .cuad{grid-row:1/3}
  .fila .nm{grid-row:1/3;font-size:14.5px}
  .fila .vt{grid-column:3;grid-row:1;font-size:15.5px;line-height:1.2}
  .fila .pc{grid-column:3;grid-row:2;width:auto;font-size:13px;line-height:1.2}
  .fila .yo{display:table;margin:4px 0 0}
  .barrita,.fila.nuestro .barrita{margin-left:0}
  .puntero{padding:20px 16px}
}

/* ---------- tablas ---------- */
.envuelto{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th{text-align:left;font-size:11.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--tenue);font-weight:700;padding:14px 16px;border-bottom:1px solid var(--borde);white-space:nowrap;background:var(--panel2)}
th:first-child{border-top-left-radius:var(--radio)} th:last-child{border-top-right-radius:var(--radio)}
td{padding:13px 16px;border-bottom:1px solid var(--borde);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover td{background:color-mix(in srgb,var(--panel2) 70%,transparent)}
td.n,th.n{text-align:right}
td.rec{font-weight:700}
.gana{display:inline-flex;align-items:center;gap:8px;font-weight:500;white-space:nowrap}
.gana .q{min-width:30px;height:22px;padding:0 6px;border-radius:6px;color:#fff;font-weight:700;font-size:12px;display:grid;place-items:center}
.medidor{display:flex;align-items:center;gap:10px;justify-content:flex-end}
.medidor .t{width:70px;height:6px;border-radius:999px;background:var(--pista);overflow:hidden}
.medidor .t i{display:block;height:100%;background:var(--teal);border-radius:999px}
.medidor b{min-width:52px;text-align:right}
/* en celular cada recinto es una tarjeta */
@media(max-width:700px){
  .tarjetas table,.tarjetas tbody,.tarjetas tr,.tarjetas td{display:block}
  .tarjetas thead{display:none}
  .tarjetas tr{padding:14px 16px;border-bottom:1px solid var(--borde);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
  .tarjetas tbody tr:last-child{border-bottom:0}
  .tarjetas tbody tr:hover td{background:none}
  .tarjetas td{padding:0;border:0;text-align:left!important;min-width:0}
  .tarjetas td[data-r]::before{content:attr(data-r);display:block;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--tenue);margin-bottom:2px}
  .tarjetas td.rec{grid-column:1/-1;font-size:16px}
  .tarjetas td.ancho{grid-column:1/-1;order:9}
  .tarjetas td.acc{order:10}
  .tarjetas td.doble{grid-column:span 2}
  .tarjetas .medidor{justify-content:flex-start}.tarjetas .medidor .t{flex:1;max-width:none}
  .tarjetas td.acc{grid-column:1/-1}
}

/* inconsistencias (en la página pública van plegadas) */
.plegable{margin-top:14px}
.plegable>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:14px 18px;font-weight:700;font-size:14.5px;color:var(--suave)}
.plegable>summary::-webkit-details-marker{display:none}
.plegable>summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s;flex:none}
.plegable[open]>summary::after{transform:rotate(225deg)}
.plegable>summary .cuenta{background:var(--avisoF);color:var(--aviso);border-radius:999px;padding:2px 10px;font-size:12.5px}
.plegable .cuerpo{border-top:1px solid var(--borde)}
.plegable .nota{padding:0 18px 16px}

.vacio{padding:44px 22px;text-align:center}
.vacio .ico{width:52px;height:52px;border-radius:16px;margin:0 auto 14px;display:grid;place-items:center;background:var(--tealTinte);color:var(--teal)}
.vacio h3{margin:0 0 6px;font-size:18px;font-weight:700}
.vacio p{margin:0 auto;max-width:46ch;color:var(--suave)}

/* ---------- administración ---------- */
.caja{padding:22px}
.caja-t{font-weight:700;font-size:18px;letter-spacing:-.3px}
.acceso{max-width:440px;margin-top:22px}
.carga{margin-top:22px}
.carga-cab{display:flex;align-items:flex-start;gap:12px;justify-content:space-between}
.soltar{margin-top:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;cursor:pointer;
  border:2px dashed var(--tealBorde);background:var(--tealTinte);border-radius:18px;padding:30px 18px;color:var(--teal2);transition:background .15s,border-color .15s}
.soltar:hover,.soltar.encima{border-color:var(--teal);background:color-mix(in srgb,var(--teal) 16%,var(--panel))}
.soltar b{font-size:16px;color:var(--texto)}
.soltar span{font-size:13.5px;color:var(--suave)}
.pegar{margin-top:14px}
.pegar summary{cursor:pointer;color:var(--suave);font-size:13.5px}
.campo{display:block;margin-top:14px}
.campo span{display:block;font-size:13px;font-weight:500;color:var(--suave);margin:0 0 6px 2px}
.campo input,textarea{width:100%;border:1.5px solid var(--bordeCampo);border-radius:12px;background:var(--panel);color:var(--texto);padding:12px 14px;font:15px var(--letra)}
.campo input:focus,textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px var(--tealTinte)}
textarea{min-height:110px;resize:vertical;font:13px ui-monospace,Menlo,monospace;margin-top:12px}
.acciones{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center}
.pri{background:var(--teal);color:#fff;border:0;border-radius:12px;padding:12px 22px;font:700 15px var(--letra);cursor:pointer;box-shadow:0 2px 8px color-mix(in srgb,var(--teal) 35%,transparent)}
.pri:hover{filter:brightness(1.06)}
.sec{background:var(--panel);color:var(--texto);border:1.5px solid var(--bordeCampo);border-radius:12px;padding:11px 16px;font:600 14px var(--letra);cursor:pointer;display:inline-flex;align-items:center}
.sec.chico{padding:7px 12px;font-size:13px}
.lig{background:none;border:1px solid transparent;border-radius:10px;color:var(--mal);font:700 13px var(--letra);cursor:pointer;padding:6px 10px}
.lig:hover{background:var(--malF)}
button:disabled{opacity:.5;cursor:default}
button:focus-visible,.ficha:focus-visible,.soltar:focus-within,summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.nota{color:var(--suave);font-size:13.5px;margin-top:6px}
.aviso{font-size:14px;margin-top:14px;font-weight:500}
.aviso:empty{display:none}
.aviso.ok{color:var(--ok)} .aviso.mal{color:var(--mal)}

/* ---------- pie ---------- */
footer{margin-top:48px;padding-top:22px;border-top:1px solid var(--borde);color:var(--tenue);font-size:13px;display:grid;gap:10px}
footer p{margin:0;max-width:80ch;line-height:1.55}
.pie-marca{display:flex;align-items:center;gap:8px;color:var(--suave)}
.pie-marca .logo{width:24px;height:24px;border-radius:7px;box-shadow:none}
.pie-marca b{color:var(--texto);font-size:14px}
.pie-marca span{font-size:13px}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===================== capa de campaña ===================== */
/* entrada de la portada */
@keyframes subeFoto{from{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:none}}
@keyframes aparece{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.heroe .foto img{animation:subeFoto 1s cubic-bezier(.16,.84,.24,1) both .1s}
.heroe .texto>*{animation:aparece .7s cubic-bezier(.16,.84,.24,1) both}
.heroe .texto>:nth-child(2){animation-delay:.08s}.heroe .texto>:nth-child(3){animation-delay:.16s}.heroe .texto>:nth-child(4){animation-delay:.24s}
.marcador{animation:aparece .8s cubic-bezier(.16,.84,.24,1) both .3s}
.heroe-deco span{animation:aparece 1.4s ease both}

/* botones para compartir */
.compartir{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.boton{display:inline-flex;align-items:center;gap:9px;border-radius:14px;padding:12px 18px;font:700 15px var(--letra);text-decoration:none;cursor:pointer;border:0;transition:transform .15s,box-shadow .15s,background .15s}
.boton:hover{transform:translateY(-1px)}
.boton.wa{background:#25D366;color:#06341C;box-shadow:0 8px 20px rgba(0,0,0,.18)}
.boton.wa:hover{box-shadow:0 12px 26px rgba(0,0,0,.24)}
.boton.vid{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.boton.vid:hover{background:rgba(255,255,255,.2)}
.boton.vid.ok{background:#fff;color:#00666B}
.boton:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:760px){.compartir{justify-content:center}.boton{padding:11px 15px;font-size:14px}}

/* avance del escrutinio dentro del marcador */
.avance{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;font-size:12.5px;font-weight:700;color:var(--suave)}
.avance .t{height:6px;border-radius:999px;background:var(--pista);overflow:hidden}
.avance .t i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--teal),#3FD3C9);transition:width 1s cubic-bezier(.16,.84,.24,1)}
.cifras .v small{font-size:15px;font-weight:500;color:var(--suave);letter-spacing:0}

/* cinta de última hora */
.ultima{display:flex;align-items:stretch;margin-top:14px;background:var(--panel);border:1px solid var(--borde);border-radius:16px;box-shadow:var(--sombra);overflow:hidden;height:48px}
.ultima .et{flex:none;display:flex;align-items:center;gap:8px;padding:0 16px;background:linear-gradient(135deg,#00585D,#008C8C);color:#fff;font-size:12.5px;font-weight:900;letter-spacing:.9px;text-transform:uppercase;position:relative;z-index:1}
.ultima .et i{width:8px;height:8px;border-radius:50%;background:#FF5A4E;box-shadow:0 0 0 0 rgba(255,90,78,.6);animation:alerta 1.6s infinite}
@keyframes alerta{70%{box-shadow:0 0 0 7px rgba(255,90,78,0)}100%{box-shadow:0 0 0 0 rgba(255,90,78,0)}}
.ultima .cinta{flex:1;min-width:0;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 40px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 40px),transparent)}
.ultima .pista{display:flex;width:max-content;height:100%;animation:cinta 40s linear infinite}
.ultima:hover .pista{animation-play-state:paused}
.ultima .grupo{display:flex;align-items:center;flex:none}
@keyframes cinta{to{transform:translateX(-50%)}}
.ultima .it{display:inline-flex;align-items:center;gap:9px;padding:0 22px;white-space:nowrap;font-size:14px;border-right:1px solid var(--borde);height:24px}
.ultima .it em{font-style:normal;font-weight:700;color:var(--teal2);font-variant-numeric:tabular-nums}
.ultima .it b{font-weight:700}
.ultima .it .q{min-width:28px;height:20px;padding:0 5px;border-radius:6px;color:#fff;font-weight:700;font-size:11.5px;display:inline-grid;place-items:center}
@media(max-width:560px){.ultima{height:44px}.ultima .et{padding:0 12px;font-size:11px}.ultima .it{font-size:13px;padding:0 16px}}
@media (prefers-reduced-motion:reduce){.ultima .cinta{overflow-x:auto}.ultima .grupo[aria-hidden]{display:none}}

/* aviso flotante cuando llega un recinto */
.flotante{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:40;transform:translate(-50%,140%);opacity:0;
  display:flex;align-items:center;gap:12px;max-width:min(520px,calc(100vw - 32px));padding:12px 18px 12px 14px;border-radius:16px;
  background:#0E1A24;color:#fff;box-shadow:0 18px 40px rgba(0,0,0,.3);font-size:14px;transition:transform .45s cubic-bezier(.16,.84,.24,1),opacity .3s;pointer-events:none}
.flotante.ver{transform:translate(-50%,0);opacity:1}
.flotante i{width:10px;height:10px;border-radius:50%;background:#3FD3C9;flex:none;box-shadow:0 0 0 4px rgba(63,211,201,.25)}
.flotante span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.flotante b{margin-right:8px;color:#7CF3E6}

/* botón flotante de WhatsApp (aparece al bajar) */
.wa-flot{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;background:#25D366;color:#06341C;box-shadow:0 10px 26px rgba(0,0,0,.25);animation:aparece .4s both}
.wa-flot:hover{transform:scale(1.05)}

/* fila del candidato con brillo suave */
.fila.nuestro{overflow:hidden}
.fila.nuestro::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
  transform:translateX(-100%);animation:brillo 5s ease-in-out 1.2s infinite;pointer-events:none}
@keyframes brillo{0%,60%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@media (prefers-color-scheme:dark){.fila.nuestro::after{background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.07) 50%,transparent 70%)}}
@media(max-width:560px){
  .heroe .foto{height:250px}
  .compartir{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;max-width:340px}
  .boton{justify-content:center}
  .boton.vid span{display:none}
  .boton.vid{padding:11px 14px}
}

/* ===================== colores de la campaña (solo página pública) =====================
   Verdes de la campaña "Somos Manabas": #068C40, #1DAE32 y #34CF23. */
body[data-modo="publico"]{--camp1:#068C40;--camp2:#34CF23;--camp3:#04612C;
  --teal:#0A8F3E;--teal2:#06702F;--tealOsc:#04502A;--tealTinte:rgba(6,140,64,.10);--tealBorde:rgba(6,140,64,.36);--fondo:#F1F7F3}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body[data-modo="publico"]{
  --teal:#3DCB64;--teal2:#8BE6A3;--tealTinte:rgba(61,203,100,.14);--tealBorde:rgba(61,203,100,.45);--fondo:#09130D}}
:root[data-theme="dark"] body[data-modo="publico"]{--teal:#3DCB64;--teal2:#8BE6A3;--tealTinte:rgba(61,203,100,.14);--tealBorde:rgba(61,203,100,.45);--fondo:#09130D}

/* cabecera con el logo de campaña */
.logo-cab{display:block;flex:none;line-height:0}
.logo-cab img{height:44px;width:auto;display:block}
body[data-modo="publico"] .marca{padding-left:12px;border-left:1px solid var(--borde)}
@media(max-width:560px){.logo-cab img{height:36px}body[data-modo="publico"] .marca{padding-left:10px}}

/* portada en azul de campaña */
body[data-modo="publico"] .heroe{
  background:
    radial-gradient(620px 520px at 78% 32%,rgba(190,255,150,.34),transparent 62%),
    radial-gradient(520px 420px at 0% 100%,rgba(0,50,20,.5),transparent 70%),
    linear-gradient(135deg,#04702F 0%,#068C40 40%,#1DAE32 75%,#34CF23 100%);
  box-shadow:0 2px 6px rgba(0,60,25,.08),0 24px 48px rgba(0,110,40,.22)}
body[data-modo="publico"] .heroe .foto::before{background:radial-gradient(circle,rgba(210,255,180,.40),transparent 66%)}
body[data-modo="publico"] .heroe .cargo::before{background:#C8FF6A;box-shadow:0 0 0 3px rgba(200,255,106,.30)}
body[data-modo="publico"] .heroe .org .n{color:#06702F}
.heroe.con-logo .nombre{line-height:0}
.logo-camp{display:block;width:min(100%,440px);height:auto;filter:drop-shadow(0 6px 18px rgba(0,50,20,.28))}
.heroe .ola{position:absolute;left:0;right:0;bottom:0;width:100%;height:60px;z-index:0;pointer-events:none;opacity:.95}
@media(max-width:760px){.logo-camp{width:min(86vw,360px);margin:0 auto}.heroe .ola{height:36px}}

/* cinta, avisos y detalles con los colores de campaña */
body[data-modo="publico"] .ultima .et{background:linear-gradient(135deg,#04702F,#1DAE32)}
body[data-modo="publico"] .avance .t i{background:linear-gradient(90deg,var(--camp1),var(--camp2))}
body[data-modo="publico"] .flotante i{background:var(--camp2);box-shadow:0 0 0 4px rgba(0,170,82,.25)}
body[data-modo="publico"] .flotante b{color:#9BF07F}
body[data-modo="publico"] .boton.vid.ok{color:#06702F}
body[data-modo="publico"] .seccion h2{position:relative;padding-left:14px}
body[data-modo="publico"] .seccion h2::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:5px;border-radius:3px;background:linear-gradient(var(--camp1),var(--camp2))}
.hecho{font-size:12px;color:var(--tenue);margin-right:2px}
@media(max-width:560px){body[data-modo="publico"] .marca b{font-size:14.5px;white-space:normal;line-height:1.15}}

/* ===================== panel de administración ===================== */
.sesion{display:flex;align-items:center;gap:10px;flex:none}
.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#00B2AE,#007F82);color:#fff;font-weight:700;font-size:15px}
@media(max-width:560px){body[data-modo="admin"] .estado{display:none}}

/* pantalla de entrada */
.acceso-pant{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:0;margin:40px auto 0;max-width:900px;border-radius:28px;overflow:hidden;
  background:var(--panel);border:1px solid var(--borde);box-shadow:var(--sombraAlta)}
.acceso-arte{position:relative;overflow:hidden;color:#fff;padding:40px 36px;display:flex;flex-direction:column;gap:10px;
  background:radial-gradient(420px 360px at 85% 15%,rgba(120,255,240,.3),transparent 65%),linear-gradient(150deg,#00494E,#007F82 55%,#00A09C)}
.acceso-arte::after{content:"";position:absolute;inset:0;opacity:.08;background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px);background-size:40px 40px}
.acceso-arte .logo.grande{width:56px;height:56px;border-radius:16px;background:rgba(255,255,255,.16);box-shadow:none;margin-bottom:18px}
.acceso-arte b{font-size:28px;font-weight:900;letter-spacing:-.8px;line-height:1.1}
.acceso-arte span{font-size:15px;opacity:.85}
.acceso-arte ul{list-style:none;margin:auto 0 0;padding:28px 0 0;display:grid;gap:12px;position:relative;z-index:1}
.acceso-arte li{display:flex;gap:10px;align-items:center;font-size:14.5px;font-weight:500}
.acceso-arte li::before{content:"";width:20px;height:20px;border-radius:50%;flex:none;background:rgba(255,255,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.acceso{max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;padding:40px 36px;display:flex;flex-direction:column}
.acceso .caja-t{font-size:24px;font-weight:900;letter-spacing:-.6px}
.con-ojo{position:relative;display:block}
.con-ojo input{padding-right:48px}
.ojo{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:10px;border:0;background:transparent;color:var(--suave);cursor:pointer;display:grid;place-items:center}
.ojo:hover{background:var(--panel2);color:var(--texto)}
.ojo[aria-pressed="true"]{color:var(--teal)}
.mayus{margin-top:8px;font-size:13px;font-weight:700;color:var(--aviso);background:var(--avisoF);border-radius:10px;padding:7px 11px}
.pri.ancho{width:100%;margin-top:20px;padding:14px}
.pista-clave{margin-top:18px;font-size:12.5px;color:var(--tenue)}
@media(max-width:760px){.acceso-pant{grid-template-columns:minmax(0,1fr);margin-top:18px;border-radius:22px}
  .acceso-arte{padding:26px 22px}.acceso-arte ul{display:none}.acceso-arte .logo.grande{margin-bottom:6px;width:46px;height:46px}
  .acceso-arte b{font-size:22px}.acceso{padding:24px 22px}}

/* tablero */
.admin-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.admin-cab .sec{text-decoration:none;gap:8px}
.tablero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px;margin-top:20px;align-items:start}
@media(max-width:900px){.tablero{grid-template-columns:minmax(0,1fr)}}
.lateral{display:grid;gap:14px}
.caja-t.chica{font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--tenue)}
.estado-pub .ep-fila{display:flex;align-items:center;gap:9px;margin-top:10px;font-size:17px}
.estado-pub dl{margin:14px 0 0;display:grid;gap:10px}
.estado-pub dl div{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--borde);padding-top:10px}
.estado-pub dt{color:var(--suave);font-size:13.5px}
.estado-pub dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.historial ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px;max-height:260px;overflow:auto}
.historial li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;font-size:13.5px;align-items:baseline}
.historial li em{font-style:normal;font-weight:700;color:var(--tenue);font-variant-numeric:tabular-nums;font-size:12.5px}
.historial li.ok span::before{content:"● ";color:var(--ok)}
.historial li.mal span::before{content:"● ";color:var(--mal)}
.historial li.nada{display:block;color:var(--tenue)}

/* revisión antes de publicar */
.revision{margin-top:16px;border:1.5px solid var(--tealBorde);border-radius:18px;padding:16px;background:color-mix(in srgb,var(--tealTinte) 60%,var(--panel));animation:aparece .3s both}
.rev-cab{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.rev-cab b{font-size:16px}
.rev-cab .nota{margin:0}
.rev-lista{display:grid;gap:8px;margin-top:12px}
.rev-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--borde);border-radius:14px;padding:11px 13px}
.rev-item.malo{border-color:color-mix(in srgb,var(--mal) 40%,var(--borde))}
.rev-ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:900;font-size:17px}
.rev-ic.nue{background:var(--okF);color:var(--ok)}
.rev-ic.rem{background:var(--tealTinte);color:var(--teal2)}
.rev-ic.mal{background:var(--malF);color:var(--mal)}
.rev-txt{min-width:0}
.rev-txt b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rev-txt span{display:block;font-size:13px;color:var(--suave);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rev-et{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:560px){.rev-item{grid-template-columns:auto minmax(0,1fr)}.rev-et{grid-column:2;justify-content:flex-start}}
.seccion.entre{justify-content:space-between;align-items:flex-end}
.seccion.entre>div{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap}
.solo-movil{display:none}
@media(max-width:560px){.solo-pc{display:none}.solo-movil{display:inline}.sesion{margin-left:auto}}
.soltar b span,.soltar>span span{display:inline;font-size:inherit;color:inherit}

/* ---------- llegando por internet ---------- */
.linea{display:grid;gap:10px}
.linea-rec{padding:14px 16px}
.lr-cab{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lr-txt{flex:1;min-width:200px}
.lr-txt b{display:block;font-size:16px}
.lr-txt span{display:block;font-size:13px;color:var(--suave);margin-top:2px}
.lr-acc{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pri.chico{padding:8px 14px;font-size:13.5px;border-radius:10px}
.etq.neutra{background:var(--panel2);color:var(--suave)} .etq.neutra i{background:var(--tenue)}
.lr-juntas{margin-top:12px;border-top:1px solid var(--borde);display:grid}
.lr-j{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:10px 2px;border-bottom:1px solid var(--borde)}
.lr-j:last-child{border-bottom:0}
.lr-j b{display:block;font-size:14.5px}
.lr-j span{font-size:13px;color:var(--suave)}
.lr-j em.malo{font-style:normal;color:var(--mal);font-weight:700}
.lig.neutro{color:var(--teal2)}
.lig.neutro:hover{background:var(--tealTinte)}
.lr-fotos{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap}
.lr-fotos:empty{display:none}
.lr-fotos a{display:flex;flex-direction:column;gap:4px;width:120px;text-decoration:none;color:var(--suave);font-size:12px}
.lr-fotos img{width:120px;height:160px;object-fit:cover;border-radius:10px;border:1px solid var(--borde);background:var(--panel2)}
/* textos distintos para computadora y celular en la zona de subida */
.soltar .solo-movil{display:none}
@media(max-width:560px){.soltar .solo-pc{display:none}.soltar .solo-movil{display:inline}}


/* ===================== Alejandro Zamora · Somos Manabas ===================== */
/* nombre como en sus artes: nombre grande y apellido en caja blanca */
.nombre .n-arriba{display:block;font-weight:900;letter-spacing:-1px;line-height:.95;text-transform:uppercase}
.nombre .n-caja{display:inline-block;margin-top:10px;background:#fff;color:#06702F;font-weight:800;font-size:.55em;
  letter-spacing:.42em;padding:.12em .2em .12em .62em;border-radius:6px;line-height:1.1;text-transform:uppercase;box-shadow:0 8px 22px rgba(0,50,20,.22)}
.logo-cab img{height:40px;background:#fff;border-radius:10px;padding:3px 6px}
.alianza{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:6px 10px;margin-top:2px;box-shadow:0 6px 18px rgba(0,50,20,.18);align-self:flex-start}
.alianza img{height:38px;width:auto;display:block}
.alianza span{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:#06702F;white-space:nowrap}
@media(max-width:760px){.alianza{align-self:center}.alianza img{height:32px}.nombre .n-caja{margin-top:8px}}
.heroe .foto img{max-width:115%}

/* ---------- fondo ilustrado "Somos Bolívar" detrás de la página ----------
   La ilustración ocupa todo el ancho arriba y se funde con el fondo al bajar. */
body[data-modo="publico"]{
  background:
    linear-gradient(to bottom, rgba(241,247,243,.10) 0%, rgba(241,247,243,.35) 45%, var(--fondo) 96%) top center / 100% auto no-repeat,
    url("fondo_bolivar.webp") top center / 100% auto no-repeat,
    var(--fondo);
}
@media (max-width:760px){
  body[data-modo="publico"]{
    background:
      linear-gradient(to bottom, rgba(241,247,243,.05) 0%, var(--fondo) 100%) top center / 100% auto no-repeat,
      url("fondo_bolivar.webp") top center / 100% auto no-repeat,
      var(--fondo);
  }
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body[data-modo="publico"]{
  background:
    linear-gradient(to bottom, rgba(9,19,13,.78) 0%, rgba(9,19,13,.9) 50%, var(--fondo) 96%) top center / 100% auto no-repeat,
    url("fondo_bolivar.webp") top center / 100% auto no-repeat,
    var(--fondo);
}}
/* la barra de arriba deja ver un poco el dibujo */
body[data-modo="publico"] .barra{background:color-mix(in srgb,var(--fondo) 72%,transparent)}


/* ===================== Bolívar · segunda pasada de diseño ===================== */
/* estrella de la campaña (la del arte) detrás de la portada */
body[data-modo="publico"] .heroe-deco::after{content:"";position:absolute;width:min(62vw,620px);aspect-ratio:1;left:-8%;top:-18%;opacity:.10;transform:rotate(-14deg);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='white' d='M50 3l13.6 30.8 33.4 3.2-25.2 22.2 7.4 32.8L50 75 20.8 92l7.4-32.8L3 37l33.4-3.2z'/%3E%3C/svg%3E") center/contain no-repeat}
@media(max-width:760px){body[data-modo="publico"] .heroe-deco::after{width:90vw;left:5%;top:-6%}}
/* franja verde de la base, como en el arte */
body[data-modo="publico"] .heroe::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:linear-gradient(90deg,#04612C,#0A8F3E 50%,#34CF23);z-index:3}
/* línea de marca bajo la cabecera */
body[data-modo="publico"] .barra{border-bottom:0;box-shadow:inset 0 -3px 0 0 transparent}
body[data-modo="publico"] .barra::after{content:"";display:block;height:3px;background:linear-gradient(90deg,#04612C,#1DAE32,#C8FF6A,#1DAE32,#04612C)}
/* títulos de sección con estrella */
body[data-modo="publico"] .seccion h2{padding-left:30px}
body[data-modo="publico"] .seccion h2::before{width:22px;height:22px;top:50%;bottom:auto;transform:translateY(-50%);border-radius:0;
  background:var(--teal);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 3l13.6 30.8 33.4 3.2-25.2 22.2 7.4 32.8L50 75 20.8 92l7.4-32.8L3 37l33.4-3.2z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 3l13.6 30.8 33.4 3.2-25.2 22.2 7.4 32.8L50 75 20.8 92l7.4-32.8L3 37l33.4-3.2z'/%3E%3C/svg%3E") center/contain no-repeat}
/* tarjetas de cobertura con icono y filo verde */
body[data-modo="publico"] .cifras>div{position:relative;overflow:hidden;padding-left:64px}
body[data-modo="publico"] .cifras>div::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--camp1),var(--camp2))}
body[data-modo="publico"] .cifras .ic{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:7px;border-radius:12px;background:var(--tealTinte);color:var(--teal)}
@media(max-width:760px){body[data-modo="publico"] .cifras>div{padding-left:16px;padding-top:56px}
  body[data-modo="publico"] .cifras .ic{top:14px;transform:none}}
/* cinta de última hora y pestañas con el verde de campaña */
body[data-modo="publico"] .ficha[aria-pressed="true"]{background:linear-gradient(135deg,#068C40,#1DAE32)}
body[data-modo="publico"] .fila.nuestro{background:linear-gradient(90deg,rgba(6,140,64,.12),rgba(52,207,35,.06))}
/* postal final con el arte de Bolívar */
.postal{margin-top:48px;position:relative;border-radius:28px;overflow:hidden;background:#F4F8F2;border:1px solid var(--borde);box-shadow:var(--sombra)}
.postal img{display:block;width:100%;height:auto}
.postal-pie{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:16px 22px;color:#fff;
  background:linear-gradient(90deg,#04702F,#068C40 45%,#1DAE32)}
.postal-pie b{display:block;font-size:18px;font-weight:800;letter-spacing:-.2px}
.postal-pie span{display:block;font-size:13.5px;opacity:.9}
.postal-pie .boton.wa{padding:11px 18px}
@media(max-width:560px){.postal{border-radius:22px}.postal-pie{justify-content:center;text-align:center}}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .postal img{filter:brightness(.92)}}
