/* ============================================================
   DANGOFE OS · TALLER · EL CLIENTE DECLINA PORQUE COMPRA UN INVERSOR NUEVO (prefijo tvt-) · 2026-10-16 · chat de Diseño
   Karla: «a veces cuando un cliente declina es porque se le va a vender un inversor nuevo… pasa a una factura del
   módulo del sistema en general». Lo pinta taller-venta.js (DangofeOS.tallerVenta). Sin sombras; claro y Noche.
   Tres versiones (data-v): A · Hoja (sube desde abajo) · B · En la ficha (se despliega debajo) · C · Diálogo (centrado, cabecera azul)
   ============================================================ */
.tvt-cta, .tvt-franja, .tvt-hoja, .tvt-dialogo, .tvt-inline {
  --tvt-az: 11, 61, 214; --tvt-cel: 59, 130, 246; --tvt-ver: 22, 163, 74; --tvt-rojo: 220, 38, 38; --tvt-tinta: var(--text-primary, #0b1540); --tvt-tenue: var(--text-secondary, #4a5680);
  --tvt-borde: var(--glass-border, rgba(3, 38, 155, .12)); --tvt-vidrio: var(--glass-bg-strong, rgba(255, 255, 255, .86)); --tvt-campo: var(--glass-bg-input, rgba(255, 255, 255, .9)); --tvt-linea: rgba(10, 22, 51, .09); --tvt-azul-txt: #0b3dd6; --tvt-ver-txt: #15803d;
  font-family: var(--font-family-ui, 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif); color: var(--tvt-tinta);
}
[data-theme='dark'] .tvt-cta, [data-theme='dark'] .tvt-franja, [data-theme='dark'] .tvt-inline, .tvt-velo.is-noche .tvt-hoja, .tvt-velo.is-noche .tvt-dialogo, .tvt-inline.is-noche { --tvt-linea: rgba(255, 255, 255, .1); --tvt-vidrio: rgba(12, 22, 60, .96); --tvt-campo: rgba(255, 255, 255, .07); --tvt-borde: rgba(140, 170, 255, .28); --tvt-azul-txt: #8db0ff; --tvt-ver-txt: #86efac; }
.tvt-cta *, .tvt-franja *, .tvt-hoja *, .tvt-dialogo *, .tvt-inline * { box-sizing: border-box; }
.tvt-cta button, .tvt-franja button, .tvt-hoja button, .tvt-dialogo button, .tvt-inline button { font: inherit; color: inherit; cursor: pointer; -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.tvt-hoja [hidden], .tvt-dialogo [hidden], .tvt-inline [hidden], .tvt-franja [hidden] { display: none !important; }

/* ---------- el botón en la ficha ---------- */
.tvt-cta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 10px 0; }
.tvt-btn { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 7px 13px; border-radius: 999px; border: 1px solid rgba(var(--tvt-az), .35); background: rgba(var(--tvt-cel), .1); color: var(--tvt-azul-txt); font-weight: 800; font-size: .84rem; white-space: nowrap; }
.tvt-btn svg { width: 15px; height: 15px; }
.tvt-btn:hover { background: rgba(var(--tvt-cel), .16); }
.tvt-cta__h { font-size: .8rem; color: var(--tvt-tenue); }
.tvt-cta.is-abierta .tvt-btn, .tvt-franja.is-abierta .tvt-b--sut { background: rgb(var(--tvt-az)); color: #fff; border-color: transparent; }

/* ---------- la franja cuando ya declinó ---------- */
.tvt-franja { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 6px 12px; align-items: start; margin: 10px 0; padding: 12px 14px; border-radius: 14px; background: rgba(var(--tvt-cel), .08); border: 1px solid rgba(var(--tvt-az), .25); }
.tvt-franja.is-norep { background: var(--tvt-campo); border-color: var(--tvt-borde); }
.tvt-franja[data-v='A'] { border-left: 5px solid rgb(var(--tvt-az)); }
.tvt-franja[data-v='A'].is-norep { border-left-color: var(--tvt-tenue); }
.tvt-franja[data-v='B'] { background: rgba(var(--tvt-cel), .12); }
.tvt-franja[data-v='C'] { border-top: 4px solid rgb(var(--tvt-az)); border-radius: 10px 10px 14px 14px; }
.tvt-franja[data-v='C'].is-norep { border-top-color: var(--tvt-tenue); }
.tvt-franja > svg { width: 22px; height: 22px; color: var(--tvt-azul-txt); margin-top: 1px; }
.tvt-franja.is-norep > svg { color: var(--tvt-tenue); }
.tvt-franja__t { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.tvt-franja__t b { font-size: .95rem; color: var(--tvt-azul-txt); }
.tvt-franja.is-norep .tvt-franja__t b { color: var(--tvt-tinta); }
.tvt-franja__t p { margin: 2px 0; font-size: .9rem; line-height: 1.4; color: var(--tvt-tenue); white-space: pre-wrap; }
.tvt-franja__l { display: inline-flex; align-items: center; gap: 6px; font-size: .82rem; color: var(--tvt-tenue); }
.tvt-franja__l svg { width: 14px; height: 14px; flex: none; }
.tvt-franja__acc { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 4px; }
.tvt-cot__m { font-size: .8rem; color: var(--tvt-tenue); }

/* ---------- botones ---------- */
.tvt-b { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--tvt-linea); background: var(--tvt-campo); color: var(--tvt-tinta); font-weight: 800; font-size: .86rem; white-space: nowrap; text-decoration: none; }
.tvt-b svg { width: 15px; height: 15px; }
.tvt-b--pri { background: rgb(var(--tvt-az)); color: #fff; border-color: transparent; }
.tvt-b--sut { background: transparent; border-color: transparent; color: var(--tvt-tenue); }
.tvt-b[disabled] { opacity: .6; cursor: default; }
.tvt-gira { width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; animation: tvt-gira .8s linear infinite; display: inline-block; }
@keyframes tvt-gira { to { transform: rotate(360deg); } }
@keyframes tvt-aparece { from { opacity: 0; } }
@keyframes tvt-sube { from { transform: translateY(24px); opacity: 0; } }
@keyframes tvt-crece { from { transform: scale(.96); opacity: 0; } }

/* ---------- velo + hoja (A), diálogo (C), en la ficha (B) ---------- */
.tvt-velo { position: fixed; inset: 0; z-index: 10040; display: flex; align-items: flex-end; justify-content: center; background: rgba(10, 22, 51, .42); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); animation: tvt-aparece .2s ease both; }
.tvt-velo.is-noche { background: rgba(2, 6, 24, .6); }
.tvt-velo[data-v='C'] { align-items: center; padding: 16px; }
.tvt-velo.is-saliendo { opacity: 0; transition: opacity .2s ease; }
.tvt-hoja, .tvt-dialogo, .tvt-inline { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px; background: var(--tvt-vidrio); border: 1px solid var(--tvt-borde); -webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5); }
.tvt-hoja { width: 100%; max-width: 560px; max-height: calc(100dvh - 24px); overflow: auto; border-radius: 22px 22px 0 0; padding-bottom: max(16px, env(safe-area-inset-bottom, 0px)); animation: tvt-sube .28s cubic-bezier(.2, .8, .2, 1) both; }
.tvt-hoja::before { content: ''; display: block; width: 40px; height: 4px; border-radius: 999px; background: var(--tvt-linea); margin: -4px auto 2px; }
@media (min-width: 700px) { .tvt-velo { align-items: center; padding: 16px; } .tvt-hoja { border-radius: 22px; max-height: calc(100dvh - 32px); padding-bottom: 16px; } .tvt-hoja::before { display: none; } }
.tvt-dialogo { width: 100%; max-width: 540px; max-height: calc(100dvh - 32px); overflow: auto; border-radius: 20px; border-top: 5px solid rgb(var(--tvt-az)); animation: tvt-crece .22s cubic-bezier(.2, .8, .2, 1) both; }
.tvt-inline { margin: 6px 0 10px; border-radius: 16px; border-left: 4px solid rgb(var(--tvt-az)); animation: tvt-aparece .2s ease both; }
.tvt-inline.is-hecha { border-left-color: rgb(var(--tvt-ver)); }
html.tvt-bloqueo { overflow: hidden; }
.tvt-cab { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.tvt-ojal { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--tvt-azul-txt); }
.tvt-ojal svg { width: 13px; height: 13px; }
.tvt-x { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--tvt-linea); background: var(--tvt-campo); color: var(--tvt-tenue); display: grid; place-items: center; padding: 0; }
.tvt-x svg { width: 15px; height: 15px; }
.tvt-tit { margin: 0; font-size: 1.1rem; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; }
.tvt-sub { margin: 0; font-size: .88rem; color: var(--tvt-tenue); line-height: 1.4; }
/* las opciones (tarjetas con círculo) */
.tvt-q, .tvt-paso2 { display: flex; flex-direction: column; gap: 8px; }
.tvt-paso2 { padding-top: 4px; }
.tvt-op { display: grid; grid-template-columns: 38px minmax(0, 1fr) 22px; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--tvt-linea); background: var(--tvt-campo); cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.tvt-op input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tvt-op__i { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: rgba(var(--tvt-cel), .1); color: var(--tvt-azul-txt); }
.tvt-op__i svg { width: 18px; height: 18px; }
.tvt-op__t { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.tvt-op__t b { font-size: .92rem; line-height: 1.2; }
.tvt-op__t small { font-size: .78rem; color: var(--tvt-tenue); line-height: 1.3; }
.tvt-op__r { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--tvt-linea); position: relative; }
.tvt-op.is-on { border-color: rgb(var(--tvt-az)); background: rgba(var(--tvt-cel), .09); }
.tvt-op.is-on .tvt-op__r { border-color: rgb(var(--tvt-az)); }
.tvt-op.is-on .tvt-op__r::after { content: ''; position: absolute; inset: 4px; border-radius: 50%; background: rgb(var(--tvt-az)); }
.tvt-op input:focus-visible ~ .tvt-op__r { box-shadow: 0 0 0 3px rgba(var(--tvt-cel), .35); }
.tvt-q.is-mal .tvt-op, .tvt-paso2.is-mal .tvt-op { border-color: rgba(var(--tvt-rojo), .5); }
.tvt-err { font-size: .8rem; font-weight: 700; color: #b91c1c; }
[data-theme='dark'] .tvt-err, .is-noche .tvt-err { color: #fca5a5; }
.tvt-nota { margin: 0; display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: var(--tvt-campo); border: 1px dashed var(--tvt-borde); font-size: .84rem; color: var(--tvt-tenue); line-height: 1.35; }
.tvt-nota svg { width: 16px; height: 16px; flex: none; margin-top: 1px; }
.tvt-que { padding: 10px 12px; border-radius: 12px; background: var(--tvt-campo); border: 1px solid var(--tvt-linea); font-size: .84rem; }
.tvt-que > b { display: block; margin-bottom: 4px; }
.tvt-que ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 5px; }
.tvt-que li { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; align-items: start; color: var(--tvt-tenue); line-height: 1.35; }
.tvt-que li svg { width: 16px; height: 16px; color: var(--tvt-azul-txt); margin-top: 1px; }
.tvt-que li b { color: var(--tvt-tinta); }
.tvt-aviso { padding: 10px 12px; border-radius: 12px; background: rgba(217, 119, 6, .12); border: 1px solid rgba(217, 119, 6, .35); font-size: .86rem; line-height: 1.4; }
.tvt-pie { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.tvt-pie--col { flex-direction: column; align-items: stretch; }
.tvt-pie--col .tvt-b { width: 100%; min-height: 44px; }
.tvt-ok { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 8px 0 4px; }
.tvt-ok__i { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; background: rgba(var(--tvt-ver), .14); color: var(--tvt-ver-txt); }
.tvt-ok__i svg { width: 26px; height: 26px; }
.is-ocupada .tvt-op, .is-ocupada .tvt-que { opacity: .7; }
@media (max-width: 700px) { .tvt-pie:not(.tvt-pie--col) .tvt-b { flex: 1 1 auto; } .tvt-franja__acc .tvt-b { flex: 1 1 auto; } }
@media (prefers-reduced-motion: reduce) { .tvt-velo, .tvt-hoja, .tvt-dialogo, .tvt-inline, .tvt-gira { animation: none !important; } }
