/* Muro en vivo del portafolio (COM-80) — usa los tokens de site.css */
.muro-hero{padding:56px 0 24px}
.muro-hero h1{font-family:var(--font-head);font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:.3em 0}
.live-dot{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--brand-dark);font-size:.9rem}
.live-dot::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(152,195,43,.6);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(152,195,43,0)}100%{box-shadow:0 0 0 0 rgba(152,195,43,0)}}
.kpis{display:grid;gap:16px;grid-template-columns:repeat(2,1fr);margin:28px 0}
@media(min-width:860px){.kpis{grid-template-columns:repeat(4,1fr)}}
.kpi{background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius);padding:20px 22px}
.kpi b{display:block;font-family:var(--font-head);font-size:clamp(1.9rem,3.4vw,2.8rem);color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.1}
.kpi span{color:var(--gray-700);font-size:.95rem}
.kpi small{display:block;color:var(--gray-500);font-size:.8rem;margin-top:4px}
.day-chart{background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius);padding:20px 22px;position:relative}
.day-chart h3{font-size:1rem;margin:0 0 4px}
.day-chart p{margin:0 0 12px;color:var(--gray-500);font-size:.85rem}
.day-chart svg{width:100%;height:auto;display:block;overflow:visible}
.day-chart .axis{fill:var(--gray-500);font-size:11px;font-family:var(--font-body)}
.day-chart .grid-line{stroke:var(--gray-100);stroke-width:1}
.day-chart .bar{fill:var(--brand)}
.day-chart .bar.future{fill:var(--gray-100)}
.day-chart .hit{fill:transparent;cursor:pointer}
.day-chart .hit:hover+.bar,.day-chart .bar.hover{fill:var(--brand-ink)}
.tip{position:absolute;pointer-events:none;background:var(--ink);color:#fff;border-radius:8px;padding:6px 10px;font-size:.8rem;white-space:nowrap;transform:translate(-50%,-110%);opacity:0;transition:opacity .12s}
.tip.on{opacity:1}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 16px}
.filters button{border:1px solid var(--gray-300);background:var(--white);border-radius:999px;padding:7px 14px;font:500 .9rem var(--font-body);color:var(--gray-700);cursor:pointer}
.filters button[aria-pressed="true"]{background:var(--brand-ink);border-color:var(--brand-ink);color:#fff}
.apps{display:grid;gap:14px;grid-template-columns:1fr}
@media(min-width:640px){.apps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.apps{grid-template-columns:repeat(3,1fr)}}
.app{all:unset;box-sizing:border-box;cursor:pointer;background:var(--white);border:1px solid var(--gray-300);border-radius:var(--radius);padding:18px 20px;display:flex;flex-direction:column;gap:6px;transition:box-shadow .15s,transform .15s}
.app:hover,.app:focus-visible{box-shadow:var(--shadow-lg);transform:translateY(-2px);outline:2px solid var(--brand);outline-offset:2px}
.app .sector{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-dark);font-weight:600}
.app h3{font-size:1.08rem;margin:0;line-height:1.25}
.app .row{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:auto;padding-top:8px}
.app .num{font-family:var(--font-head);font-size:1.4rem;font-variant-numeric:tabular-nums}
.app .num small{display:block;font:400 .75rem var(--font-body);color:var(--gray-500)}
.app svg{width:110px;height:34px}
.spark-bar{fill:var(--brand)}.spark-hoy{fill:var(--brand-ink)}
.estado{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--gray-700)}
.estado i{width:9px;height:9px;border-radius:50%;display:inline-block}
.estado.verde i{background:#3aa655}.estado.amarillo i{background:#e0a800}.estado.rojo i{background:#d64545}
.app .ver{font-size:.85rem;color:var(--brand-dark);font-weight:600}
/* Ficha */
.ficha{margin:auto;max-height:calc(100vh - 32px);overflow:auto;border:0;padding:0;border-radius:20px;max-width:880px;width:calc(100% - 24px);box-shadow:var(--shadow-lg)}
.ficha::backdrop{background:rgba(15,79,76,.55);backdrop-filter:blur(2px)}
.ficha-in{padding:28px clamp(18px,4vw,40px) 32px}
.ficha .cerrar{position:absolute;top:14px;right:16px;border:0;background:var(--gray-100);width:36px;height:36px;border-radius:50%;font-size:1.3rem;cursor:pointer}
.ficha h2{margin:.2em 0 .3em;font-size:clamp(1.4rem,3vw,1.9rem)}
.ficha-stats{display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin:18px 0}
@media(min-width:640px){.ficha-stats{grid-template-columns:repeat(4,1fr)}}
.ficha-stats div{background:var(--gray-100);border-radius:var(--radius-sm);padding:12px 14px}
.ficha-stats b{display:block;font-family:var(--font-head);font-size:1.35rem;font-variant-numeric:tabular-nums}
.ficha-stats span{font-size:.8rem;color:var(--gray-700)}
.mapa{margin:22px 0 8px}
.mapa h3,.integ h3{font-size:1rem;margin:0 0 10px}
.mapa-grid{display:grid;gap:10px;grid-template-columns:1fr}
@media(min-width:640px){.mapa-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:860px){.mapa-grid{grid-template-columns:repeat(3,1fr)}}
.mod{border:1px solid var(--gray-300);border-left:4px solid var(--brand);border-radius:var(--radius-sm);padding:10px 12px;opacity:0;transform:translateY(6px);animation:encender .35s ease forwards}
.mod b{display:block;font-size:.95rem}
.mod span{font-size:.83rem;color:var(--gray-700)}
@keyframes encender{to{opacity:1;transform:none}}
.integ{margin:18px 0}
.integ .chip{margin:0 6px 6px 0}
.ficha .nota{font-size:.8rem;color:var(--gray-500);margin-top:16px}
.ficha .actions{margin-top:20px}
/* Tira compacta para la home */
.muro-strip .kpis{margin:20px 0 8px}
/* Modo reunión: pantalla completa, sin navegación, letra grande */
body.reunion .nav,body.reunion .nav-mobile,body.reunion footer,body.reunion .cta-final,body.reunion .solo-web{display:none!important}
body.reunion{background:var(--gray-100)}
body.reunion .muro-hero{padding-top:28px}
body.reunion .container{max-width:1500px}
body.reunion .kpi b{font-size:clamp(2.4rem,4.5vw,4rem)}
body.reunion .apps{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.tabla-sr{position:absolute;left:-9999px}
/* Recorrido dentro de la ficha */
.ficha.probando{max-width:1180px}
.ficha .volver{display:block;border:0;background:none;color:var(--brand-dark);font:600 .9rem var(--font-body);cursor:pointer;padding:0;margin-bottom:8px}
.rc-frame{display:block;width:100%;height:min(640px,calc(100vh - 150px));border:1px solid var(--gray-300);border-radius:var(--radius-sm);margin-top:10px}
