/* ═══════════════════════════════════════════════════════════════════════
   trazer_ficha_v1.css — «Trazer uma ficha» · Jean · 22/10/2026 (quinta)
   .tf-* é a peça nova, colável. Tela cheia no celular (vive dentro de .tm-screen, a casca da tela Treinos);
   painel no Mac (.tf-mac = armário 380 + painel). Toda janela é .rnj-* v2 — aqui só o miolo.
   Copiados do armário SEM renomear: .ts-voltar/.ts-btn, .tm-etq, .tm-bloco__hd, .tg2-pasta/.tg2-div/.tg2-tile, .tq-past.
   Fonte só por token (--fs-*), brilho só por token (--text*), borda por --card-line-*. Topo seguro: --topo-seguro.
   Herói: o ouro só no «Guardar nos Treinos salvos» (e no estado .sel, que é estado). Roxo só no selo «lido pela IA».
   Pílula de gesto (19/10): tracejado champanhe .32, texto --text, ícone champanhe; pressionada = sólida .5.
   ═══════════════════════════════════════════════════════════════════════ */
.tf-screen{gap:16px}
.tf-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
/* MARCADOR do «?» da casa: no porte entra o rn-ajuda (forma A, 24px) copiado de rn_ajuda.html. Classe própria pra não colidir. */
.tf-ajuda-marcador{position:relative;flex:none;display:inline-grid;place-items:center;width:24px;height:24px;border:1px solid var(--card-line-1);border-radius:9px 9px 9px 4px;background:var(--fill);color:var(--text2);font-size:var(--fs-md);font-weight:600;line-height:1;cursor:pointer}
.tf-ajuda-marcador::before{content:"";position:absolute;inset:-10px}
.tf-head{display:flex;flex-direction:column;gap:6px}
.tf-eyebrow{display:flex;align-items:center;gap:8px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--text3)}
.tf-h1{margin:0;font-family:var(--font-display);font-weight:600;font-size:var(--fs-xl);line-height:1.15;letter-spacing:-.01em;color:var(--text);text-wrap:balance}
.tf-sub{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--text2);text-wrap:pretty}
.tf-sub b{color:var(--text);font-weight:500}
.tf-origem{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:var(--fs-xs);line-height:1.4;color:var(--text2)}
.tf-origem svg{width:14px;height:14px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tf-origem .tm-tempo{color:var(--text2)}
.tf-ia{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border:1px solid rgba(157,92,255,.45);border-radius:6px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#c7a6f5;white-space:nowrap}
.tf-ia i{width:6px;height:6px;border-radius:50%;background:var(--purple);box-shadow:0 0 6px rgba(157,92,255,.6)}
.tf-leitor{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border:1px solid var(--line);border-radius:6px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text2);white-space:nowrap}
/* ── a entrada: três formas ── */
.tf-vias{display:flex;flex-direction:column;gap:8px}
.tf-via{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;padding:12px 12px 12px 14px;border:1px solid var(--card-line-1);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text);text-align:left;cursor:pointer}
.tf-via__ic{flex:none;width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.26)}
.tf-via__ic svg{width:22px;height:22px;stroke:var(--text2);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tf-via__t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.tf-via__nm{font-size:var(--fs-md);font-weight:600;line-height:1.25}
.tf-via__sub{font-size:var(--fs-xs);line-height:1.4;color:var(--text2)}
.tf-via .ts-card__go{color:var(--text3);font-size:var(--fs-lg);line-height:1}
/* o vazio clicável da casa — UM valor só: tracejado .16 sobre preto .26 */
.tf-solta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:200px;padding:24px;border:1px dashed rgba(255,255,255,.16);border-radius:var(--radius-lg);background:rgba(0,0,0,.26);color:var(--text2);font-size:var(--fs-sm);line-height:1.5;text-align:center;transition:border-color var(--dur-micro) var(--ease),background var(--dur-micro) var(--ease)}
.tf-solta b{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;color:var(--text);white-space:nowrap}
.tf-solta>svg{width:28px;height:28px;stroke:var(--text2);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tf-solta--sobre{border-style:solid;border-color:var(--card-line-ouro);background:rgba(201,162,39,.06)}
.tf-solta__acoes{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}
.tf-nota{margin:0;padding-top:10px;border-top:1px dashed rgba(238,231,218,.17);font:italic 400 var(--fs-xs)/1.5 var(--font-ui);color:var(--text2)}
/* ── lendo ── */
.tf-arq{display:flex;align-items:center;gap:12px;min-height:64px;padding:10px 12px;border:1px solid var(--card-line-1);border-radius:var(--radius-md);background:var(--surface-card)}
.tf-arq__ic{flex:none;width:34px;height:42px;display:grid;place-items:center;border:1px solid var(--card-line-1);border-radius:6px 6px 6px 3px;background:rgba(0,0,0,.26);font-size:var(--fs-micro);font-weight:700;letter-spacing:.1em;color:var(--text2)}
.tf-arq__t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.tf-arq__nm{font-size:var(--fs-sm);font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tf-arq__st{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:var(--fs-xs);line-height:1.4;color:var(--text2)}
.tf-arq__st svg{width:14px;height:14px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tf-arq__x{flex:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--card-line-1);border-radius:9px 9px 9px 4px;background:var(--fill);color:var(--text2);cursor:pointer}
.tf-arq__x svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round}
/* a espera: shimmer honesto NO TEXTO (1,9s). Nunca barra de progresso. */
.tf-shimmer{background:linear-gradient(90deg,var(--text2) 30%,var(--text) 50%,var(--text2) 70%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:tfShimmer 1.9s linear infinite}
.tf-paginas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.tf-pag{position:relative;aspect-ratio:3/4;display:grid;place-items:center;border:1px solid var(--card-line-1);border-radius:6px;background:rgba(0,0,0,.26);font-size:var(--fs-xs);font-weight:600;color:var(--text2)}
/* ── a conferência: o resumo é a PASTA do armário, já aqui ── */
.tf-resumo{display:flex;flex-direction:column;gap:8px}
.tf-resumo .tg2-pasta{margin-top:0}
.tf-resumo__leg{margin:0;font-size:var(--fs-xs);line-height:1.45;color:var(--text2);text-align:center}
/* ── etiquetas ── */
.tf-bloco{display:flex;flex-direction:column;gap:12px}
.tf-campo{display:flex;flex-direction:column;gap:7px}
.tf-rot{display:flex;align-items:center;gap:8px;font-size:var(--fs-micro);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text3)}
.tf-rot small{font-size:var(--fs-xs);font-weight:400;letter-spacing:0;text-transform:none;color:var(--text2)}
.tf-chips{display:flex;flex-wrap:wrap;gap:6px}
.tf-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border:1px solid var(--card-line-1);border-radius:var(--radius-chip);background:var(--fill);color:var(--text2);font-size:var(--fs-sm);font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer;transition:border-color var(--dur-micro) var(--ease),background var(--dur-micro) var(--ease)}
.tf-chip svg{display:none;width:14px;height:14px;flex:none;stroke:var(--gold);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.tf-chip.sel{border-color:var(--card-line-ouro);background:var(--gold-a08);color:var(--text)}
.tf-chip.sel svg{display:block}
.tf-chip--n{min-width:44px;padding:0 12px;justify-content:center}
.tf-veio{font-size:var(--fs-xs);line-height:1.45;color:var(--text2)}
.tf-veio q{quotes:"«" "»";color:var(--text)}
.tf-gaveta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:var(--fs-xs);color:var(--text2)}
.tf-etq--vazia{border-style:dashed;border-color:rgba(236,214,170,.32);background:none;box-shadow:none;color:var(--text2)}
.tf-input{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 12px 0 14px;border:1px solid var(--card-line-1);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.26);color:var(--text);font-size:var(--fs-md);text-align:left;cursor:text}
.tf-input span{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:500;font-variant-numeric:tabular-nums}
.tf-input span i{font-style:normal;color:var(--text3)}
.tf-input svg{flex:none;width:16px;height:16px;stroke:var(--text3);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tf-input.foco{border-color:var(--gold);background:rgba(201,162,39,.07);box-shadow:0 0 0 1px rgba(201,162,39,.3)}
.tf-hint{margin:0;font-size:var(--fs-xs);line-height:1.45;color:var(--text2)}
.tf-hint q{quotes:"«" "»";color:var(--text)}
.tf-aviso{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.18);font-size:var(--fs-xs);line-height:1.45;color:var(--text2)}
.tf-aviso svg{flex:none;width:15px;height:15px;margin-top:1px;stroke:var(--blue);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tf-aviso b{color:var(--text);font-weight:500}
/* ── pílula de gesto (regra 19/10) ── */
.tf-pill{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 13px;border:1px dashed rgba(236,214,170,.32);border-radius:var(--radius-chip);background:transparent;color:var(--text);font-size:var(--fs-sm);font-weight:500;line-height:1.2;white-space:nowrap;cursor:pointer;transition:background var(--dur-micro) var(--ease),border-color var(--dur-micro) var(--ease)}
.tf-pill svg{width:15px;height:15px;flex:none;stroke:rgb(236,214,170);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tf-pill:hover,.tf-pill:active,.tf-pill.is-ligado{border-style:solid;border-color:rgba(236,214,170,.5);background:rgba(255,255,255,.05)}
.tf-pill:focus-visible{outline:2px solid rgba(236,214,170,.6);outline-offset:2px}
.tf-pill small{font-size:var(--fs-xs);font-weight:400;color:var(--text2)}
/* ── a lista: abas por treino, nunca os 44 de uma vez ── */
.tf-abas{display:flex;gap:6px}
.tf-aba{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:6px 8px;border:1px solid var(--card-line-1);border-radius:var(--radius-tab);background:var(--fill);color:var(--text2);text-align:center;cursor:pointer}
.tf-aba__lt{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:600;line-height:1;color:var(--text)}
.tf-aba__ct{font-size:var(--fs-xs);line-height:1.2;white-space:nowrap}
.tf-aba__ct b{color:var(--text);font-weight:600}
.tf-aba.sel{border-color:var(--card-line-ouro);background:var(--gold-a08);color:var(--text)}
.tf-lista__hd{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px}
.tf-lista__ttl{flex:1;min-width:0;font-size:var(--fs-sm);font-weight:600;line-height:1.3;color:var(--text)}
.tf-lista__ttl small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--text2)}
.tf-exs{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.tf-ex{position:relative;display:flex;align-items:flex-start;gap:10px;padding:10px 2px 10px 0;border-top:1px solid var(--line-soft)}
.tf-ex:first-child{border-top:0}
.tf-ex__i{flex:none;width:22px;padding-top:2px;text-align:right;font-size:var(--fs-xs);line-height:1.4;color:var(--text3);font-variant-numeric:tabular-nums}
.tf-ex__c{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.tf-ex__r1{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tf-ex__nm{flex:1;min-width:0;font-size:var(--fs-sm);font-weight:500;line-height:1.35;color:var(--text);text-wrap:pretty}
.tf-ex__nm.mud::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin:0 6px 2px 0;background:rgb(236,214,170)}
.tf-ex--prov .tf-ex__nm,.tf-ex--sem .tf-ex__nm{color:var(--text2);font-weight:400}
.tf-ex__dose{flex:none;font-size:var(--fs-sm);font-weight:500;line-height:1.35;color:var(--text);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.tf-ex__dose small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--text2)}
.tf-ex__dose .q{color:var(--yellow)}
/* o que veio: o nome cru e a carga, apagados (--text3 = o mais apagado que ainda se lê) */
.tf-ex__veio{font-size:var(--fs-xs);line-height:1.4;color:var(--text3)}
.tf-ex__veio q{quotes:"«" "»"}
.tf-ex__linha{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px}
.tf-obs{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:transparent;font-size:var(--fs-xs);line-height:1.2;color:var(--text2);text-align:left;cursor:pointer}
.tf-obs svg{width:12px;height:12px;flex:none;stroke:var(--text3);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tf-obs em{font-style:italic;color:var(--text)}
.tf-tec{display:inline-flex;align-items:center;height:22px;padding:0 7px;border:1px solid rgba(236,214,170,.32);border-radius:6px;font-size:var(--fs-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text)}
/* bi-set já juntado: um traço champanhe liga as duas linhas */
.tf-ex--par::before{content:"";position:absolute;left:27px;width:2px;border-radius:1px;background:rgba(236,214,170,.45)}
.tf-ex--par-ini::before{top:12px;bottom:-1px}
.tf-ex--par-fim::before{top:-1px;bottom:12px}
.tf-opts{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.tf-opt{flex:0 0 auto;max-width:100%;display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-height:44px;padding:5px 12px;border:1px solid var(--card-line-1);border-radius:var(--radius-chip);background:var(--fill);color:var(--text);font-size:var(--fs-sm);font-weight:500;line-height:1.2;text-align:left;white-space:nowrap;cursor:pointer}
.tf-opt small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--text2)}
.tf-opt.sel{border-color:var(--card-line-ouro);background:var(--gold-a08)}
.tf-status{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-xs);font-weight:600;line-height:1.3;white-space:nowrap}
.tf-status svg{width:15px;height:15px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tf-status--atencao{color:var(--yellow)}
.tf-status--ok{color:var(--green)}
.tf-status--risco{color:var(--red)}
/* ── o pé: conta e leva · o ouro só aqui ── */
.tf-bar{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;gap:12px;margin:auto -16px 0;padding:12px 16px calc(var(--safe-bottom) + 12px);background:linear-gradient(180deg,rgba(10,8,6,0),rgba(10,8,6,.94) 28%);backdrop-filter:blur(16px)}
.tf-falta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;padding:0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer}
.tf-falta b{font-size:var(--fs-sm);font-weight:600;line-height:1.3}
.tf-falta small{font-size:var(--fs-xs);line-height:1.3;color:var(--text2)}
.tf-guardar{position:relative;flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:48px;padding:0 18px;border:1px solid transparent;border-radius:12px 12px 6px 12px;background:var(--gold);color:#0a0806;font-size:var(--fs-md);font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.22);cursor:pointer;transition:filter var(--dur-micro) var(--ease)}
.tf-guardar:hover{filter:brightness(1.06)}
.tf-guardar>span{display:inline-flex;align-items:center;gap:8px}
.tf-guardar svg{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tf-guardar small{font-size:var(--fs-xs);font-weight:400;line-height:1.1;opacity:.78}
.tf-guardar[disabled]{opacity:.45;pointer-events:none}
.tf-guardar.salvando,.tf-guardar.subindo{pointer-events:none}
.tf-guardar.salvando .tf-shimmer{background-image:linear-gradient(90deg,#0a0806 30%,rgba(10,8,6,.35) 50%,#0a0806 70%)}
.tf-guardar.subindo{background:var(--fill);color:var(--text);border-color:rgba(91,141,239,.45);box-shadow:none}
.tf-guardar.subindo::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:1px;background:linear-gradient(90deg,transparent,var(--blue) 50%,transparent);background-size:45% 100%;background-repeat:no-repeat;animation:tfCorre 1.1s var(--ease) infinite}
.tf-guardar.nuvem{background:var(--fill);color:var(--text);border-color:var(--green);box-shadow:0 0 0 1px rgba(61,220,151,.22)}
.tf-guardar.nuvem svg{stroke:var(--green)}
.tf-guardar.local{background:var(--fill);color:var(--text);border-color:var(--card-line-1);box-shadow:none}
.tf-guardar.local svg{stroke:var(--yellow)}
.tf-guardar.sinal{background:var(--fill);color:var(--text);border-color:var(--card-line-1);box-shadow:none}
.tf-guardar.sinal svg{stroke:var(--text2)}
/* ── selo «não conferido» no cartão do armário (regra 15): só isto entra no cartão ── */
.tf-selo{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border:1px solid rgba(253,224,71,.42);border-radius:6px;background:rgba(253,224,71,.08);font-size:var(--fs-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text);white-space:nowrap}
.tf-selo svg{width:12px;height:12px;flex:none;stroke:var(--yellow);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* ── a entrada no armário: pílula de gesto, 44px ── */
.tf-entrada{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 12px;border:1px dashed rgba(236,214,170,.32);border-radius:var(--radius-chip);background:transparent;color:var(--text);font-size:var(--fs-sm);font-weight:500;line-height:1.2;text-align:left;cursor:pointer;transition:background var(--dur-micro) var(--ease),border-color var(--dur-micro) var(--ease)}
.tf-entrada svg{width:16px;height:16px;flex:none;stroke:rgb(236,214,170);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tf-entrada small{flex:1;min-width:0;font-size:var(--fs-xs);font-weight:400;color:var(--text2);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tf-entrada:hover,.tf-entrada:active{border-style:solid;border-color:rgba(236,214,170,.5);background:rgba(255,255,255,.05)}
/* ── Mac ≥1024: o Hub (1280) = armário 380 + painel ── */
.tf-mac{display:grid;grid-template-columns:380px minmax(0,1fr);width:1280px;min-height:820px;background:var(--bg-app);font-family:var(--font-ui);font-size:var(--fs-sm);color:var(--text);line-height:1.45;font-variant-numeric:tabular-nums}
.tf-mac *{box-sizing:border-box}
.tf-mac button{font:inherit;color:inherit;cursor:pointer}
.tf-mac .ts-bar{position:static;margin:0;padding:0;background:none;backdrop-filter:none}
.tf-mac .ts-bar .ts-btn{flex:0 0 auto;padding:0 16px}
.tf-painel{display:flex;flex-direction:column;min-width:0;border-left:1px solid var(--line)}
.tf-painel__hd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:28px 24px 16px;border-bottom:1px solid var(--line)}
.tf-painel__hd .tf-head{flex:1;min-width:0}
.tf-painel__hd>.tf-top{flex:none;align-items:flex-start;gap:12px}
.tf-painel__corpo{flex:1;display:grid;grid-template-columns:360px minmax(0,1fr);min-height:0}
.tf-painel__lado{display:flex;flex-direction:column;gap:18px;padding:18px 20px 22px 24px;border-right:1px solid var(--line)}
.tf-painel__lista{display:flex;flex-direction:column;gap:12px;min-width:0;padding:18px 24px 22px 20px}
.tf-painel__pe{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px 22px;border-top:1px solid var(--line)}
.tf-painel__solta{flex:1;display:flex;flex-direction:column;gap:16px;padding:22px 24px 24px}
.tf-painel__solta .tf-solta{flex:1;min-height:360px}
.tf-mac .tf-ex{gap:12px;padding:10px 4px 10px 0}
.tf-mac .tf-ex__i{width:26px}
.tf-mac .tf-ex--par::before{left:33px}
@keyframes tfShimmer{from{background-position:120% 0}to{background-position:-80% 0}}
@keyframes tfCorre{from{background-position:-60% 0}to{background-position:160% 0}}
@media (prefers-reduced-motion:reduce){.tf-shimmer,.tf-guardar.subindo::after{animation:none}}
