
/* ============================================================
   V12 · Panel de obra
   ============================================================ */
.v12-panel{background:var(--obsidiana);color:#fff;position:relative;overflow:hidden}
.v12-panel::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:38px 38px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 88%);
  mask-image:linear-gradient(180deg,#000,transparent 88%)}
.v12-panel::after{content:"";position:absolute;left:-10%;right:-10%;top:-40%;height:70%;
  pointer-events:none;background:radial-gradient(50% 50% at 50% 50%,rgba(14,156,106,.16),transparent 70%)}
.v12-panel>.wrap{position:relative;z-index:2}
.v12-panel .titulo{color:#fff}

.v12-cab{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-end;justify-content:space-between;
  margin-bottom:34px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.1)}
.v12-cab .titulo{margin-bottom:0}
.v12-vivo{display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;
  border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 14px;
  font:700 .68rem 'Poppins',sans-serif;letter-spacing:.16em;background:rgba(255,255,255,.04)}
.v12-vivo i{font-style:normal;font-weight:500;letter-spacing:.04em;color:rgba(255,255,255,.4)}
.v12-led{width:8px;height:8px;border-radius:50%;background:#3DDC97;flex:none;
  box-shadow:0 0 0 0 rgba(61,220,151,.7);animation:v12Led 1.9s ease-out infinite}
@keyframes v12Led{0%{box-shadow:0 0 0 0 rgba(61,220,151,.65)}70%{box-shadow:0 0 0 10px rgba(61,220,151,0)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0)}}

/* ---- cifras grandes ---- */
.v12-cifras{display:grid;gap:1px;grid-template-columns:repeat(2,1fr);
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.09);border-radius:16px;overflow:hidden}
@media(min-width:900px){.v12-cifras{grid-template-columns:repeat(4,1fr)}}
.v12-cifra{background:#14181A;padding:24px 18px 22px;position:relative}
.v12-cifra.destacada{background:linear-gradient(160deg,rgba(14,156,106,.16),rgba(20,24,26,1) 70%)}
.v12-num{display:block;font:700 clamp(2.6rem,9vw,3.9rem) 'Poppins',sans-serif;
  letter-spacing:-.055em;line-height:.92;font-variant-numeric:tabular-nums;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.62));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.v12-cifra.destacada .v12-num{background:linear-gradient(180deg,#7BE0BC,var(--destello));
  -webkit-background-clip:text;background-clip:text}
.v12-cifra>span{display:block;font:600 .84rem 'Poppins',sans-serif;margin-top:12px;letter-spacing:-.01em}
.v12-cifra small{display:block;font-size:.76rem;color:rgba(255,255,255,.42);margin-top:5px;line-height:1.4}

/* ---- barra de los cinco lugares ---- */
.v12-barra-grande{margin-top:22px}
.v12-segmentos{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.v12-seg{height:12px;border-radius:4px;background:rgba(255,255,255,.09);position:relative;overflow:hidden}
.v12-seg::after{content:"";position:absolute;inset:0;transform:scaleX(0);transform-origin:left;
  transition:transform .7s cubic-bezier(.16,.86,.24,1);transition-delay:calc(var(--k) * .11s)}
.v12-seg.lleno::after{transform:scaleX(1);background:var(--destello)}
.v12-seg.obra::after{transform:scaleX(1);
  background:repeating-linear-gradient(115deg,rgba(14,156,106,.9) 0 8px,rgba(14,156,106,.32) 8px 16px);
  animation:v12Rayas 1s linear infinite}
@keyframes v12Rayas{to{background-position:16px 0}}
.v12-barra-pie{display:flex;justify-content:space-between;gap:12px;margin-top:11px;
  font-size:.83rem;color:rgba(255,255,255,.5)}
.v12-barra-pie b{color:rgba(255,255,255,.8);font:600 .83rem 'Poppins',sans-serif}

/* ---- fichas de obra ---- */
.v12-obras{display:grid;gap:14px;margin-top:30px;grid-template-columns:1fr}
@media(min-width:780px){.v12-obras{grid-template-columns:repeat(2,1fr)}}
.v12-obra{display:grid;grid-template-columns:64px 1fr;gap:16px;align-items:start;
  background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:18px;position:relative;overflow:hidden;
  transition:border-color .25s ease,transform .25s ease}
@media(hover:hover){.v12-obra:hover{border-color:rgba(14,156,106,.45);transform:translateY(-3px)}}
.v12-obra::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:rgba(14,156,106,.5)}
.v12-obra.publicado::before{background:var(--destello)}
.v12-obra-logo{width:64px;height:64px;border-radius:14px;background:#fff;
  display:grid;place-items:center;overflow:hidden;flex:none;padding:6px}
.v12-obra-logo img{width:100%;height:100%;object-fit:contain}
.v12-obra-logo .mono{font:700 1.3rem 'Poppins',sans-serif;color:var(--obsidiana);letter-spacing:-.03em}
.v12-obra h4{font-family:'Poppins',sans-serif;font-size:1.06rem;font-weight:600;
  letter-spacing:-.02em;margin-bottom:3px}
.v12-obra .giro{display:block;font-size:.85rem;color:rgba(255,255,255,.55);margin-bottom:3px}
.v12-obra .nota{display:block;font-size:.79rem;color:rgba(255,255,255,.36);line-height:1.4;margin-bottom:12px}
.v12-obra-estado{display:inline-flex;align-items:center;gap:7px;
  font:700 .66rem 'Poppins',sans-serif;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.6)}
.v12-obra.publicado .v12-obra-estado{color:#7BE0BC}
.v12-obra-estado::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.v12-pasos{display:flex;gap:5px;margin-top:11px}
.v12-paso{flex:1;height:3px;border-radius:99px;background:rgba(255,255,255,.13)}
.v12-paso.on{background:var(--destello)}
.v12-paso-txt{display:flex;justify-content:space-between;margin-top:7px;
  font:600 .6rem 'Poppins',sans-serif;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.3);gap:6px}
.v12-paso-txt span.on{color:rgba(255,255,255,.7)}

@media(prefers-reduced-motion:reduce){
  .v12-led,.v12-seg.obra::after{animation:none!important}
  .v12-seg::after{transition:none!important}
}


.v10-lug-logo{width:46px;height:46px;border-radius:11px;background:#fff;display:grid;place-items:center;
  overflow:hidden;padding:4px;box-shadow:inset 0 0 0 1px var(--filo);margin-bottom:2px}
.v10-lug-logo img{width:100%;height:100%;object-fit:contain}
.v10-lug.publicado .v10-lug-logo{box-shadow:none}
