/* El tablero de las cuentas: el lobby desde el 25/09/2026 (mockup aprobado).

   Una columna por cuenta conectada, iguales. En cada una, el celular con el perfil
   real (el marco, la isla y la vista de perfil son los de flora-cinematic,
   src/styles/global.css, que estaban sin usar) y al lado las tarjetas de vidrio de
   la piel Ancestra. Los números van en Newsreader, adentro de frases o con su
   palabra debajo.

   v2 (25/09/2026): las columnas comparten filas (subgrid), así la franja de las
   pestañas, el celular y cada tarjeta arrancan a la misma altura en todas; y abajo
   del celular, los gráficos (tablero-graficos.js), en el mismo orden en cada columna. */

/* ── El lobby cuando hay tablero ── */
.lobby.con-tablero .lobby-caja{max-width:1800px}
.lobby.con-tablero .lobby-cuerpo{grid-template-columns:1fr}
.lobby.con-tablero .lobby-cuerpo > .lobby-tarjetas,
.lobby.con-tablero .carta-acciones,
.lobby.con-tablero .carta-filosofia{display:none}
.lobby.con-tablero .carta{padding:18px 24px;gap:12px}

/* La carta corta: una frase por marca, en fila. */
.tb-carta{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px 32px;margin:0}
.tb-carta button{display:flex;gap:10px;align-items:baseline;text-align:left;padding:4px 0;font-size:1.02rem;line-height:1.45;color:var(--ink2)}
.tb-carta button .punto{transform:translateY(-2px)}
.tb-carta b{font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--ink);white-space:nowrap}
.tb-carta button:hover b{color:var(--acc)}

/* ── La cabecera del tablero ── */
.tablero{display:grid;gap:30px}
.tablero[hidden]{display:none}
.tb-cab{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.tb-cab > div:first-child{display:grid;gap:8px}
.tb-cab .lab{color:var(--brote)}
.tb-cab h2{font-size:clamp(2.2rem,2.8vw,3.25rem);line-height:1.05}
.tb-cab h2 em{font-style:italic;color:var(--brote)}
.tb-cab p{font-size:1.06rem;color:var(--ink2);max-width:52em}
.tb-periodo{display:flex;gap:4px;padding:4px;border:1px solid var(--line3);border-radius:999px}
.tb-periodo button{border-radius:999px;padding:8px 14px;font-size:.87rem;color:var(--mute)}
.tb-periodo button[aria-pressed="true"]{background:rgba(243,244,238,.1);color:var(--ink)}
.tb-periodo button:hover{color:var(--ink)}

.tb-cols{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr));column-gap:48px;row-gap:18px;align-items:stretch}
@media (max-width:1180px){.tb-cols{grid-template-columns:1fr}}

/* ── Una columna: un subgrid de las filas de .tb-cols ── */
.tb-col{display:grid;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr);row-gap:18px;min-width:0}
.tb-col > *{min-width:0}
.tb-col-cab{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.tb-col-cab h3{font-size:2.5rem;line-height:1.05}
.tb-col-cab h3 i,.tb-col-cab h3 span{font-style:italic;color:var(--acc)}
.tb-col-cab h3 span{font-style:normal}
.tb-col-cab .u{font-size:.87rem;color:var(--mute)}

/* La franja de arriba del celular: existe siempre y mide lo mismo con o sin pestañas. */
.tb-franja{min-height:38px;display:flex;align-items:center;justify-content:flex-start}

/* Filas 3 y 4: el celular ocupa las dos; a la derecha, los KPI y el trabajo. */
.tb-cuerpo{grid-row:span 2;display:grid;grid-template-rows:subgrid;grid-template-columns:clamp(236px,16.5vw,300px) minmax(0,1fr);column-gap:22px;row-gap:18px}
.tb-cuerpo > .tb-tel{grid-row:1 / span 2;grid-column:1}
.tb-cuerpo > .tb-kpis-caja{grid-row:1;grid-column:2;display:flex}
.tb-cuerpo > .tb-tarjeta{grid-row:2;grid-column:2}
@media (max-width:640px){
  .tb-cuerpo{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .tb-cuerpo > .tb-tel,.tb-cuerpo > .tb-kpis-caja,.tb-cuerpo > .tb-tarjeta{grid-column:1;grid-row:auto}
}
.tb-par{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.tb-par > *{min-width:0}
/* Once filas por columna; bajo 1500 px los pares se apilan y cada mitad pasa a ser
   una fila propia del subgrid (catorce), para que siga alineado entre columnas. */
.tb-col{grid-row:span 11}
@media (max-width:1500px){
  .tb-col{grid-row:span 14}
  .tb-par{grid-row:span 2;grid-template-rows:subgrid;grid-template-columns:minmax(0,1fr)}
}

/* Las pestañas de idioma, en la franja. */
.tb-tel{display:flex;flex-direction:column;align-items:center;min-width:0}
.tb-pestanas{display:flex;gap:6px;flex-wrap:wrap}
.tb-pestanas button{border:1px solid rgba(243,244,238,.3);border-radius:999px;padding:6px 14px;font-size:.8rem;color:var(--ink2)}
.tb-pestanas button[aria-selected="true"]{background:var(--acc);border-color:var(--acc);color:var(--tinta);font-weight:600}
.tb-leyenda{display:flex;gap:6px 14px;flex-wrap:wrap;justify-content:center;padding-top:12px;font-size:.8rem;color:var(--mute);max-width:300px}
.tb-leyenda i{display:inline-block;width:10px;height:10px;border:1.5px dashed var(--ocre);vertical-align:-1px;margin-right:4px}
.tb-leyenda i.prog{border-color:var(--brote)}
.tb-leyenda i.sobre{border:0;background:var(--acc)}
.tb-leyenda i.bajo{border:0;background:var(--serie-gris)}

/* ── El celular (de flora-cinematic, sin cambiar las medidas) ── */
.tablero .ig-phone{position:relative;width:100%;max-width:300px}
.tablero .ig-phone-frame{position:relative;padding:10px;border-radius:38px;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,0) 34%) border-box,linear-gradient(145deg,#0e0d12,#2a2431 56%,#0d0c10);
  box-shadow:0 42px 80px -38px rgba(0,0,0,.8),0 16px 34px -28px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,255,255,.10)}
.tablero .ig-phone-frame::before,.tablero .ig-phone-frame::after{content:"";position:absolute;width:3px;border-radius:999px;background:#1b1720;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.tablero .ig-phone-frame::before{left:-3px;top:92px;height:56px}
.tablero .ig-phone-frame::after{right:-3px;top:130px;height:78px}
.tablero .ig-phone-island{position:absolute;left:50%;top:19px;z-index:8;width:76px;height:22px;transform:translateX(-50%);border-radius:999px;background:#07070a;box-shadow:inset 0 -1px 0 rgba(255,255,255,.08)}
.tablero .ig-phone-screen{position:relative;aspect-ratio:9/19.35;overflow:hidden;border-radius:29px;background:#fff;color:#111;
  display:flex;flex-direction:column;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Hanken Grotesk",system-ui,sans-serif;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.tablero .ig-phone-gloss{pointer-events:none;position:absolute;inset:10px;z-index:9;overflow:hidden;border-radius:29px}
.tablero .ig-phone-gloss::before{content:"";position:absolute;inset:-20% 50% 10% -28%;transform:rotate(16deg);background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,0));opacity:.6}
.tablero .ig-status{height:40px;flex:none;padding:11px 14px 0;display:flex;align-items:center;justify-content:space-between;font-size:11.5px;font-weight:800;letter-spacing:-.02em;color:#111}
.tablero .ig-status-time{padding-left:6px}
.tablero .ig-status-icons{display:inline-flex;align-items:center;gap:5px}
.tablero .ig-status-icons svg{width:14px;height:14px;display:block;fill:currentColor}
.tablero .ig-status-icons svg:last-child{width:20px}
.tablero .ig-ui-bar{display:grid;grid-template-columns:1fr 20px;align-items:center;gap:8px;min-height:30px;padding:0 13px 4px;flex:none}
.tablero .ig-ui-handle{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800}
.tablero .ig-ui-dots{justify-self:end;font-size:17px;line-height:1}
.tablero .ig-ui-profile{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:12px;padding:6px 13px 8px;flex:none}
.tablero .ig-ui-avatar{width:62px;height:62px;border-radius:999px;overflow:hidden;background:#e5e5e5;display:grid;place-items:center;color:#999;font-size:9px;border:1px solid #ddd}
.tablero .ig-ui-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.tablero .ig-ui-stats{display:grid;grid-template-columns:repeat(3,1fr);text-align:center;gap:4px;font-size:8.5px;line-height:1.15;color:rgba(17,17,17,.58)}
.tablero .ig-ui-stats b{display:block;margin-bottom:1px;font-size:13px;color:#111}
.tablero .ig-ui-bio{display:grid;gap:2px;padding:0 13px 9px;font-size:9.5px;line-height:1.3;color:rgba(17,17,17,.74);flex:none}
.tablero .ig-ui-bio b{color:#111}
.tablero .ig-ui-bio .falta{color:rgba(17,17,17,.38);font-style:italic}
.tablero .ig-ui-bio span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tablero .ig-ui-link{color:#1b5c9e;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tablero .ig-ui-pactions{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 13px 10px;flex:none}
.tablero .ig-ui-btn{display:grid;place-items:center;min-height:26px;border-radius:8px;background:#efefef;font-size:10px;font-weight:800}
.tablero .ig-ui-tabs{display:grid;grid-template-columns:repeat(3,1fr);height:30px;flex:none;border-top:1px solid rgba(17,17,17,.08)}
.tablero .ig-ui-tabs span{display:grid;place-items:center;color:rgba(17,17,17,.45)}
.tablero .ig-ui-tabs span.is-active{color:#111;box-shadow:inset 0 -1.5px 0 #111}
.tablero .ig-ui-tabs svg{width:15px;height:15px}
.tablero .ig-ui-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;flex:1;min-height:0;align-content:start;grid-auto-rows:max-content;overflow:hidden}
.tablero .ig-ui-cell{position:relative;display:block;align-self:start;width:100%;aspect-ratio:4/5;overflow:hidden;background:#efefef;padding:0}
.tablero .ig-ui-cell img{width:100%;height:100%;object-fit:cover;display:block}
.tablero .ig-ui-cell.espera{outline:2px dashed var(--ocre,#C8983A);outline-offset:-2px}
.tablero .ig-ui-cell.programada{outline:2px dashed #2E9E4F;outline-offset:-2px}
.tablero .ig-ui-cell.espera img,.tablero .ig-ui-cell.programada img{opacity:.92}
.tablero .ig-ui-cell .chip{position:absolute;left:4px;top:4px;padding:2px 6px;border-radius:999px;background:#C8983A;color:#111;font-size:7.5px;font-weight:700;line-height:1.3}
.tablero .ig-ui-cell.programada .chip{background:#9FE39A}
.tablero .ig-ui-cell .tb-mas{position:absolute;right:4px;bottom:4px;padding:2px 6px;border-radius:999px;background:rgba(17,17,17,.78);color:#fff;font-size:8px;font-weight:700}
.tablero .ig-ui-cell .reel{position:absolute;right:5px;top:5px;width:12px;height:12px;fill:#fff;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}
.tablero .ig-ui-cell .cifra{position:absolute;left:4px;bottom:4px;padding:1px 6px;border-radius:999px;background:rgba(17,17,17,.72);color:#fff;font-family:var(--serif);font-size:11px;line-height:1.35}
.tablero .ig-ui-cell.tono-sobre{box-shadow:inset 0 0 0 3px var(--acc)}
.tablero .ig-ui-cell.tono-sobre .cifra{background:var(--acc);color:#111}
.tablero .ig-ui-cell.tono-bajo img{filter:grayscale(.85) brightness(.8)}
.tablero .ig-ui-cell .sin{display:grid;place-items:center;height:100%;font-size:8px;color:#999;padding:4px;text-align:center}
.tablero .ig-ui-nav{display:flex;justify-content:space-around;align-items:center;padding:9px 0 14px;border-top:1px solid #eee;background:#fff;flex:none}
.tablero .ig-ui-nav svg{width:17px;height:17px}
.tablero .ig-ui-nav .yo{width:18px;height:18px;border-radius:50%;background:#ddd;overflow:hidden}
.tablero .ig-ui-nav .yo img{width:100%;height:100%;object-fit:cover}
.tablero .ig-aviso{position:absolute;left:12px;right:12px;bottom:60px;z-index:4;padding:8px 10px;border-radius:10px;background:rgba(200,152,58,.95);color:#111;font-size:10.5px;line-height:1.3}

/* ── Las tarjetas ── */
.tb-tarjeta{padding:22px 24px;display:flex;flex-direction:column;gap:14px;min-width:0}
.tb-tarjeta .cab-grupo{margin:0}
.tb-cifras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.tb-cifra{display:flex;flex-direction:column;gap:2px;min-width:0}
.tb-cifra .v{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,2.2vw,2.5rem);line-height:1;color:var(--ink)}
.tb-cifra .v.acc{color:var(--acc)}
.tb-cifra .v.ocre{color:var(--ocre)}
.tb-cifra .v.nada{font-size:1.05rem;line-height:2.4;color:var(--ink3);font-style:italic}
.tb-cifra .e{font-size:.87rem;color:var(--ink2)}
.tb-cifra .s{font-size:.82rem;color:var(--mute)}
.tb-frase{font-size:1rem;line-height:1.5;color:var(--ink2);text-wrap:pretty}
.tb-num{font-family:var(--serif);font-size:1.18em;color:var(--ink)}
.tb-frase em{font-family:var(--serif);font-style:italic;color:var(--acc);font-size:1.08em}
.tb-nota{font-size:.8rem;color:var(--mute)}


.tb-anillo{--p:0%;width:84px;height:84px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--acc) 0 var(--p),rgba(243,244,238,.1) var(--p) 100%)}
.tb-anillo span{width:62px;height:62px;border-radius:50%;background:#0b1a10;display:grid;place-items:center;font-family:var(--serif);font-size:1.3rem;color:var(--ink)}
.tb-quien{display:flex;gap:16px;align-items:center}

.tb-pasos{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}
.tb-pasos li{display:flex;gap:10px;align-items:center;font-size:.94rem;color:var(--ink2)}
.tb-pasos li::before{content:"";width:18px;height:18px;flex:none;border-radius:5px;border:1.5px solid var(--mute)}
.tb-pasos li.ok::before{content:"✓";display:grid;place-items:center;border-color:var(--brote);color:var(--brote);font-size:11px}
.tb-acciones{display:flex;gap:10px;flex-wrap:wrap}

.tb-filosofia{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--ink3)}
.tb-vacio{font-size:1rem;color:var(--ink2)}

:root[data-theme="light"] .tb-anillo span{background:var(--bg)}
:root[data-theme="light"] .tb-pestanas button{border-color:var(--line3)}
@media (prefers-reduced-motion:no-preference){
  .tb-col{animation:entra .9s var(--curva) both}
  .tb-col:nth-child(2){animation-delay:.08s}
  .tb-col:nth-child(3){animation-delay:.16s}
}
.tablero .ig-ui-cell.vacia{aspect-ratio:auto;height:0;padding-bottom:125%}

/* ── Tablero v2: los gráficos ── */
.tablero{--serie-gris:#8A8778;--ref:rgba(243,244,238,.62)}
:root[data-theme="light"] .tablero{--serie-gris:#9AA39C;--ref:rgba(19,26,21,.55)}
.tb-graf{gap:12px}
.tb-graf .tb-frase{margin-top:auto}

/* Las tarjetas KPI: número, variación y minigráfico. Alto fijo por línea para que
   las filas midan lo mismo en todas las columnas. */
.tb-kpis-caja{min-width:0}
.tb-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.tb-kpi{padding:16px 18px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.tb-kpi .v{font-family:var(--serif);font-size:clamp(2rem,2.1vw,2.5rem);line-height:1.05;color:var(--ink)}
.tb-kpi .e{font-size:.87rem;color:var(--ink2)}
.tb-kpi .d{font-size:.8rem;line-height:1.35;color:var(--mute);min-height:2.7em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tb-kpi .d.sube{color:var(--ink2)}
.tb-chispa{height:30px;margin-top:6px}

/* Lienzos SVG */
.tb-lienzo{position:relative;width:100%}
.tb-lienzo svg{display:block;overflow:visible}
.tb-lienzo svg:focus-visible{outline:2px solid var(--acc);outline-offset:4px;border-radius:6px}
.tb-base{stroke:var(--line3);stroke-width:1}
.tb-eje{fill:var(--mute);font-family:var(--sans);font-size:12px}
.tb-valor{fill:var(--ink);font-family:var(--serif);font-size:15px}
.tb-valor.chico{font-size:13px}
.tb-linea{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.tb-linea.fina{stroke-width:1.6}
.tb-linea.acc{stroke:var(--acc)}
.tb-linea.gris{stroke:var(--serie-gris)}
.tb-punto{stroke:var(--tinta);stroke-width:2}
.tb-punto.acc{fill:var(--acc)}
.tb-punto.gris{fill:var(--serie-gris)}
.tb-barra.acc{fill:var(--acc)}
.tb-barra.gris{fill:var(--serie-gris)}
.tb-pub{fill:var(--hueso);opacity:.8}
.tb-ref{stroke:var(--ref);stroke-width:1.5;stroke-dasharray:4 4}
.tb-cruz{stroke:var(--ink3);stroke-width:1;pointer-events:none}

/* La leyenda y el tooltip */
.tb-ley{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:.8rem;color:var(--mute)}
.tb-ley i,.tb-tip .k{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:var(--serie-gris)}
.tb-ley i.acc,.tb-tip .k.acc{background:var(--acc)}
.tb-ley i.linea,.tb-tip .k.linea{height:2px;width:14px;border-radius:2px;vertical-align:3px}
.tb-ley i.pub,.tb-tip .k.pub{width:7px;height:7px;border-radius:50%;background:var(--hueso);opacity:.8}
.tb-ley i.prom,.tb-ley i.ref,.tb-tip .k.ref{height:0;width:16px;border-radius:0;background:none;border-top:1.5px dashed var(--ref);vertical-align:3px}
.tb-ley i.nada,.tb-tip .k.nada{background:none;border:1px solid var(--line3)}
.tb-ley i.cal{width:12px;height:12px;border-radius:3px;background:none}
.tb-ley i.cal.pub{background:var(--acc);opacity:1}
.tb-ley i.cal.cub{border:1.5px dashed var(--acc)}
.tb-ley i.cal.hoy{border:1.5px solid var(--ink)}
.tb-tip{position:fixed;z-index:60;pointer-events:none;display:grid;gap:3px;min-width:150px;padding:10px 12px;border-radius:10px;
  background:var(--paper2);border:1px solid var(--line3);box-shadow:var(--sombra);font-size:.8rem;color:var(--ink2);backdrop-filter:var(--vidrio)}
.tb-tip[hidden]{display:none}
.tb-tip .tt{font-size:.8rem;color:var(--mute);margin-bottom:2px}
.tb-tip .tf{display:flex;align-items:center;gap:6px}
.tb-tip .tf b{font-family:var(--serif);font-weight:400;font-size:1.05rem;color:var(--ink)}
.tb-tip .k{margin-right:0}

/* La tabla de los números */
.tb-tabla summary{cursor:pointer;font-size:.8rem;color:var(--mute);list-style:none}
.tb-tabla summary::-webkit-details-marker{display:none}
.tb-tabla summary::before{content:"+ "}
.tb-tabla[open] summary::before{content:"− "}
.tb-tabla table{width:100%;margin-top:8px;border-collapse:collapse;font-size:.8rem;color:var(--ink2);font-variant-numeric:tabular-nums}
.tb-tabla th{font-weight:500;color:var(--mute);text-align:right;padding:4px 6px}
.tb-tabla td{text-align:right;padding:3px 6px;border-top:1px solid var(--line2)}
.tb-tabla th:first-child,.tb-tabla td:first-child{text-align:left}
.tb-tabla tbody{display:block;max-height:220px;overflow:auto}
.tb-tabla thead,.tb-tabla tbody tr{display:table;width:100%;table-layout:fixed}

/* Rendimiento por pieza */
.tb-rend{display:grid;gap:8px}
.tb-rend-fila{display:grid;grid-template-columns:40px minmax(0,1.3fr) minmax(0,1fr);gap:14px;align-items:center}
.tb-rend-fila.cab{font-size:.8rem;color:var(--mute)}
.tb-mini{display:block;width:40px;height:50px;border-radius:6px;overflow:hidden;background:var(--campo);border:1px solid var(--line)}
.tb-mini img{width:100%;height:100%;object-fit:cover;display:block}
.tb-mini.grande{width:64px;height:80px;flex:none}
.pista{position:relative;height:10px;border-radius:0 4px 4px 0;background:var(--campo)}
.pista .b{position:absolute;left:0;top:0;bottom:0;border-radius:0 4px 4px 0;background:var(--serie-gris)}
.pista .b.acc{background:var(--acc)}
.pista .b.suave{opacity:.62}
.pista .prom{position:absolute;top:-5px;bottom:-5px;width:0;border-left:1.5px dashed var(--ref)}
.tb-rend-a,.tb-rend-t{display:grid;gap:4px;min-width:0}
.tb-rend-a .tx,.tb-rend-t > b{font-size:.8rem;color:var(--mute)}
.tb-rend-a .tx b,.tb-rend-t > b{font-family:var(--serif);font-weight:400;font-size:1rem;color:var(--ink)}

/* Embudo y formato */
.tb-embudo{display:grid;gap:12px}
.tb-emb-fila{display:grid;gap:5px}
.tb-emb-fila .cab{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-size:.87rem;color:var(--ink2)}
.tb-emb-fila .cab b{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--ink)}
.tb-emb-fila .cab .pc{margin-left:auto;font-size:.8rem;color:var(--mute)}
.tb-emb-fila .pista{height:12px}

/* Descubrimiento */
.tb-desc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tb-desc .v{font-family:var(--serif);font-size:clamp(1.8rem,2vw,2.3rem);line-height:1.05;color:var(--ink)}
.tb-desc .v.nada{font-size:1.05rem;line-height:2.2;color:var(--ink3);font-style:italic}
.tb-desc .e{font-size:.87rem;color:var(--ink2)}
.tb-parte{display:flex;gap:2px;height:14px}
.tb-parte i{display:block;min-width:2px;background:var(--serie-gris)}
.tb-parte i:first-child{border-radius:4px 0 0 4px}
.tb-parte i:last-child{border-radius:0 4px 4px 0}
.tb-parte i.acc{background:var(--acc)}

/* Los tres mejores */
.tb-top{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:top}
.tb-top li{display:flex;gap:12px;align-items:center}
.tb-top li > div{display:flex;flex-direction:column;gap:3px;min-width:0}
.tb-top .q{font-size:.8rem;color:var(--mute)}
.tb-top .cita{font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.25;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tb-top .ns{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:.8rem;color:var(--mute)}
.tb-top .ns b{font-family:var(--serif);font-weight:400;font-size:.98rem;color:var(--ink)}

/* El calendario de constancia */
.tb-cal{display:grid;gap:5px;max-width:420px}
.tb-cal-sem{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.tb-cal-sem.cab span{font-size:.75rem;color:var(--mute);text-align:center}
.tb-cal .tb-dia{display:grid;place-items:center;aspect-ratio:1;border-radius:6px;background:var(--campo);font-size:.75rem;color:var(--ink3);font-variant-numeric:tabular-nums}
.tb-cal .tb-dia.fut{background:transparent;border:1px solid var(--line2)}
.tb-cal .tb-dia.pub{background:var(--acc);color:var(--tinta);font-weight:600}
.tb-cal .tb-dia.cub{border:1.5px dashed var(--acc);color:var(--ink)}
.tb-cal .tb-dia.hoy{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}

.tb-vacio-graf{display:grid;place-items:center;min-height:90px;border:1px dashed var(--line3);border-radius:var(--r2);font-size:.87rem;color:var(--mute)}
