/* =====================================================================
   Evaluaciones en vivo (pantalla del docente): sala de espera con QR, tablero en vivo, resultados e historial.
   Usa la paleta de Tiza (variables --tiza-* de index.php). Todas las clases empiezan con tv-.
   ===================================================================== */
:root{
  --tv-o0:#1470E0; --tv-o1:#D9680F; --tv-o2:#148A5E; --tv-o3:#7B4AE2; --tv-o4:#D63A73; --tv-o5:#0E8FA3; --tv-o6:#8A6D0B; --tv-o7:#5B6B82;
  --tv-ok:#1e8e5a; --tv-ok-bg:#E6F6EE; --tv-mal:#c8452f; --tv-mal-bg:#FDECE8; --tv-medio:#b7791f; --tv-medio-bg:#FFF4DC;
  --tv-fondo:linear-gradient(160deg,#0F2D5B 0%,#124AA6 52%,#1E88FF 100%);
}

/* ---------- Pantalla de historial (dentro de la aplicación) ---------- */
#pantalla-vivo .tv-intro{display:flex;gap:18px;align-items:center;background:var(--tiza-degradado);color:#fff;border-radius:18px;padding:20px 24px;margin-bottom:18px;box-shadow:0 8px 24px rgba(30,136,255,.25)}
#pantalla-vivo .tv-intro i{font-size:2.2rem;opacity:.95}
#pantalla-vivo .tv-intro h2{margin:0 0 4px;font-size:1.25rem;font-weight:700}
#pantalla-vivo .tv-intro p{margin:0;opacity:.95;line-height:1.45;font-size:.95rem}
.tv-abierta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between;background:#fff;border:2px solid var(--tiza-azul);border-radius:16px;padding:14px 18px;margin-bottom:14px;box-shadow:0 6px 18px rgba(30,136,255,.15)}
.tv-abierta .tv-pulso{display:inline-block;width:11px;height:11px;border-radius:50%;background:#22B07D;margin-right:8px;box-shadow:0 0 0 0 rgba(34,176,125,.6);animation:tv-latido 1.6s infinite}
@keyframes tv-latido{0%{box-shadow:0 0 0 0 rgba(34,176,125,.55)}70%{box-shadow:0 0 0 12px rgba(34,176,125,0)}100%{box-shadow:0 0 0 0 rgba(34,176,125,0)}}
.tv-lista{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.tv-fila{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 16px}
.tv-fila h4{margin:0 0 4px;font-size:1rem;color:var(--tiza-profundo);overflow-wrap:anywhere}
.tv-fila .tv-meta,.tv-abierta .tv-meta{color:var(--muted);font-size:.84rem;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center}
.tv-fila .tv-acciones,.tv-abierta .tv-acciones{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.tv-abierta .tv-acciones{gap:8px}
.tv-fila .tv-acciones .btn{padding:6px 11px;font-size:.8rem;border-radius:8px;font-weight:600}
@media (max-width:760px){.tv-fila{grid-template-columns:1fr}.tv-fila .tv-acciones,.tv-abierta .tv-acciones{justify-content:flex-start}}
.tv-estado{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--tiza-azul-10);color:var(--tiza-accion-osc);white-space:nowrap}
.tv-estado.espera{background:#FFF4DC;color:#8a5a00}
.tv-estado.jugando{background:#E6F6EE;color:#14774a}
.tv-estado.pausa{background:#FFF4DC;color:#8a5a00}
.tv-estado.cerrada{background:#EEF1F6;color:#5A6A82}
.tv-vacio{text-align:center;color:var(--muted);padding:34px 18px;background:#fff;border:1px dashed var(--tiza-azul-borde);border-radius:16px}
.tv-vacio i{font-size:2rem;color:var(--tiza-azul);margin-bottom:8px;display:block}
.tv-pasos{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0 0;padding:0;list-style:none;text-align:left}
.tv-pasos li{background:var(--tiza-claro);border-radius:12px;padding:10px 12px;font-size:.88rem;color:var(--ink)}
.tv-pasos b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--tiza-azul);color:#fff;font-size:.8rem;margin-right:6px}

/* ---------- Ventana para abrir una sala ---------- */
.tv-conf-resumen{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.tv-conf-resumen .tv-dato{background:var(--tiza-azul-10);color:var(--tiza-profundo);border-radius:12px;padding:8px 12px;font-size:.88rem}
.tv-conf-resumen .tv-dato b{font-size:1.15rem}
.tv-conf-aviso{background:#FFF8E6;border:1px solid #F1D79A;color:#6a4a00;border-radius:10px;padding:8px 12px;font-size:.84rem;margin:6px 0;line-height:1.4}
.tv-conf-fila{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.tv-conf-fila{grid-template-columns:1fr}}
.tv-switch{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border:1px solid var(--line);border-radius:12px;margin:8px 0;cursor:pointer;background:#fff}
.tv-switch input{margin-top:3px;width:18px;height:18px;flex:0 0 auto}
.tv-switch b{display:block;font-size:.92rem;color:var(--tiza-profundo)}
.tv-switch span span{display:block;font-size:.8rem;color:var(--muted);line-height:1.35;margin-top:2px}
.tv-aviso-orden{margin:-2px 0 8px 12px}

/* ---------- Elegir y ordenar las preguntas de la sala ---------- */
.tv-q-resumen{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;background:var(--tiza-claro);border:1px solid var(--tiza-azul-borde);border-radius:14px;padding:12px 14px;margin:0 0 12px;font-size:.92rem;color:var(--ink)}
.tv-q-resumen > div{flex:1 1 240px;min-width:0}
.tv-q-resumen .tv-conf-resumen .tv-dato{background:#fff}
.tv-q-resumen .btn{white-space:nowrap}
.tv-q-valen{margin:8px 0 0;font-size:.82rem;color:var(--muted);line-height:1.4}
.tv-q-barra{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;padding:4px 0 10px;margin:0;border-bottom:1px solid var(--line)}
.tv-q-contador{font-size:.9rem;color:var(--ink);min-width:0}
.tv-q-atajos{display:flex;flex-wrap:wrap;gap:6px}
.tv-q-atajos .btn{padding:6px 11px;font-size:.8rem;border-radius:8px;font-weight:600}
.tv-q-lista{list-style:none;margin:8px 0 0;padding:2px 4px 2px 0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;max-height:min(50vh,460px);overflow-y:auto;overscroll-behavior:contain}
.tv-q-fila{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"marca txt pts mov";gap:6px 10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.tv-q-fila.sel{border-color:var(--tiza-azul-borde);background:#F7FAFF}
.tv-q-marca{grid-area:marca;display:flex;align-items:center;gap:8px;cursor:pointer;min-height:40px}
.tv-q-marca input{width:18px;height:18px;flex:0 0 auto}
.tv-q-n{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:50%;background:var(--tiza-azul-10);color:var(--tiza-profundo);font-size:.8rem;font-weight:700}
.tv-q-fila:not(.sel) .tv-q-n{background:#EEF1F6;color:#6b7890}
.tv-q-fila:not(.sel) .tv-q-txt{opacity:.7}
.tv-q-txt{grid-area:txt;min-width:0}
.tv-q-meta{display:flex;flex-wrap:wrap;gap:4px 6px;font-size:.72rem;margin-bottom:3px}
.tv-q-meta span{padding:1px 8px;border-radius:99px;background:#EEF1F6;color:#46556e;font-weight:600}
.tv-q-meta .tv-q-tipo{background:var(--tiza-azul-10);color:var(--tiza-accion-osc)}
.tv-q-cab{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere;line-height:1.3}
.tv-q-enun{font-size:.88rem;color:var(--ink);overflow-wrap:anywhere;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tv-q-pts{grid-area:pts;font-size:.82rem;font-weight:700;color:var(--tiza-profundo);white-space:nowrap;text-align:right;min-width:54px}
.tv-q-mov{grid-area:mov;display:flex;flex-direction:column;gap:4px}
.tv-q-flecha{display:inline-grid;place-items:center;border:1px solid var(--line);background:#fff;border-radius:8px;width:36px;height:30px;padding:0;cursor:pointer;color:var(--tiza-profundo)}
.tv-q-flecha:hover:not(:disabled){background:var(--tiza-azul-10)}
.tv-q-flecha:disabled{opacity:.35;cursor:default}
@media (max-width:560px){
  .tv-q-fila{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"marca txt mov" "marca pts mov"}
  .tv-q-pts{text-align:left}
  #tv-q-raiz > p.ayuda{font-size:.84rem;line-height:1.4}
  .tv-q-lista{max-height:min(46vh,420px)}
  .tv-q-atajos{gap:5px}
  .tv-q-atajos .btn{padding:5px 8px;font-size:.76rem}
}

/* ---------- Pantalla completa (sala de espera, tablero y resultados) ---------- */
#tv-overlay{position:fixed;inset:0;z-index:200;display:none;flex-direction:column;background:var(--tv-fondo);color:#fff;font-family:'Outfit',system-ui,sans-serif;overflow:hidden}
#tv-overlay.visible{display:flex}
#tv-overlay *{box-sizing:border-box}
.tv-burbujas-fondo{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.tv-burbujas-fondo i{position:absolute;display:block;border:3px solid rgba(255,255,255,.14);border-radius:50%;animation:tv-flota 18s ease-in-out infinite}
.tv-burbujas-fondo i:nth-child(1){width:220px;height:220px;left:-60px;top:14%}
.tv-burbujas-fondo i:nth-child(2){width:90px;height:90px;right:8%;top:12%;animation-delay:-4s;border-radius:22px}
.tv-burbujas-fondo i:nth-child(3){width:340px;height:340px;right:-120px;top:48%;animation-delay:-8s}
.tv-burbujas-fondo i:nth-child(4){width:70px;height:70px;left:18%;bottom:10%;animation-delay:-12s;border-radius:18px}
@keyframes tv-flota{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(14deg)}}
.tv-top{position:relative;z-index:2;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 22px;background:rgba(15,45,91,.35);backdrop-filter:blur(6px)}
.tv-top img{width:34px;height:auto;border-radius:9px;background:#fff;padding:3px}
.tv-top .tv-titulo{flex:1 1 220px;min-width:0}
.tv-top .tv-titulo b{display:block;font-size:1.15rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-top .tv-titulo span{display:block;font-size:.82rem;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-top .tv-barra{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tv-btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:12px;padding:10px 16px;font-weight:700;font-size:.92rem;cursor:pointer;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);transition:transform .08s,background .15s}
.tv-btn:hover{background:rgba(255,255,255,.26)}
.tv-btn:active{transform:translateY(2px)}
.tv-btn[disabled]{opacity:.5;cursor:default}
.tv-btn.tv-claro{background:#fff;color:var(--tiza-accion-osc);border-color:#fff;box-shadow:0 4px 0 rgba(0,0,0,.18)}
.tv-btn.tv-claro:hover{background:#f2f7ff}
.tv-btn.tv-grande{font-size:1.15rem;padding:14px 26px;border-radius:16px}
.tv-btn.tv-mus[aria-pressed="false"]{opacity:.78;border-style:dashed}
.tv-btn.tv-mus:focus-visible{outline:3px solid #fff;outline-offset:2px}
.tv-btn.tv-peligro{background:rgba(200,69,47,.9);border-color:rgba(255,255,255,.35)}
.tv-btn.tv-peligro:hover{background:rgba(214,80,58,1)}
.tv-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;background:rgba(255,255,255,.16);font-weight:700;font-size:.85rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.tv-chip.tv-verde{background:rgba(34,176,125,.9)}
.tv-chip.tv-ambar{background:rgba(255,176,32,.95);color:#4a3200}
.tv-chip.tv-rojo{background:rgba(255,107,87,.95)}
.tv-cuerpo{position:relative;z-index:1;flex:1 1 auto;overflow:auto;padding:18px 22px 30px}
/* Pantalla chica (celular del docente): barra de arriba más baja y más ancho para el contenido */
@media (max-width:640px){
.tv-top{padding:8px 12px;gap:8px}
.tv-top .tv-titulo{flex:1 1 150px}
.tv-top .tv-titulo b{font-size:1rem}
.tv-top .tv-barra{gap:6px}
.tv-top .tv-btn{padding:7px 11px;font-size:.82rem;border-radius:10px;gap:6px}
.tv-top .tv-chip{padding:4px 10px;font-size:.78rem}
.tv-cuerpo{padding:14px 12px 28px}
}
.tv-sin-red{position:absolute;z-index:5;left:50%;transform:translateX(-50%);top:62px;background:#FFB020;color:#4a3200;font-weight:700;padding:6px 16px;border-radius:99px;box-shadow:0 6px 18px rgba(0,0,0,.25);font-size:.85rem}

/* Sala de espera */
.tv-lobby{display:grid;grid-template-columns:minmax(280px,480px) minmax(0,1fr);gap:28px;align-items:start;max-width:1280px;margin:0 auto}
@media (max-width:900px){.tv-lobby{grid-template-columns:1fr}}
.tv-qr-card{background:#fff;color:var(--tiza-profundo);border-radius:28px;padding:22px 22px 20px;text-align:center;box-shadow:0 18px 50px rgba(0,0,0,.28);animation:tv-entra .5s cubic-bezier(.2,.9,.3,1.2)}
@keyframes tv-entra{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.tv-qr-card .tv-paso{font-size:.9rem;color:var(--muted);font-weight:600;margin-bottom:8px}
.tv-qr{width:min(100%,56vh);aspect-ratio:1;margin:0 auto;background:#fff;border-radius:12px}
.tv-qr svg{display:block;width:100%;height:100%}
.tv-codigo-rotulo{margin-top:12px;font-size:.85rem;color:var(--muted);font-weight:600}
.tv-codigo{font-size:clamp(2.2rem,6.2vw,3.8rem);font-weight:800;letter-spacing:.14em;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--tiza-profundo)}
.tv-enlace{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:10px;background:var(--tiza-claro);border:1px solid var(--line);border-radius:12px;padding:8px 10px;text-align:center}
.tv-enlace code{flex:1 1 220px;min-width:0;font-size:.9rem;font-weight:600;color:var(--tiza-profundo);overflow-wrap:anywhere}
.tv-enlace button{flex:0 0 auto;border:0;background:var(--tiza-accion);color:#fff;border-radius:9px;padding:7px 12px;font-weight:700;cursor:pointer;font-size:.8rem}
.tv-lobby-der h2{margin:0 0 4px;font-size:1.5rem;font-weight:800}
.tv-lobby-der .tv-sub{opacity:.9;margin:0 0 14px;font-size:.95rem}
.tv-contador{display:inline-flex;align-items:baseline;gap:10px;margin-bottom:14px}
.tv-contador b{font-size:3.2rem;line-height:1;font-weight:800;font-variant-numeric:tabular-nums}
.tv-contador span{font-size:1.1rem;opacity:.9}
.tv-burbujas{display:flex;flex-wrap:wrap;gap:10px;min-height:60px}
.tv-burbuja{position:relative;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.17);border:1px solid rgba(255,255,255,.34);border-radius:99px;padding:8px 14px 8px 16px;font-weight:700;animation:tv-pop .55s cubic-bezier(.2,1.4,.4,1)}
.tv-burbuja button{border:0;background:rgba(255,255,255,.2);color:#fff;border-radius:50%;width:22px;height:22px;line-height:20px;text-align:center;cursor:pointer;font-size:.8rem;padding:0}
.tv-burbuja button:hover{background:rgba(200,69,47,.95)}
.tv-burbuja.tv-desc{opacity:.55}
@keyframes tv-pop{0%{transform:scale(.3);opacity:0}70%{transform:scale(1.12);opacity:1}100%{transform:scale(1)}}
.tv-espera-msg{display:flex;align-items:center;gap:10px;opacity:.92;font-weight:600;margin:6px 0 16px}
.tv-espera-msg i{display:inline-block;width:9px;height:9px;border-radius:50%;background:#fff;margin-right:3px;animation:tv-salta 1.2s ease-in-out infinite}
.tv-espera-msg i:nth-child(2){animation-delay:.15s}.tv-espera-msg i:nth-child(3){animation-delay:.3s}
@keyframes tv-salta{0%,80%,100%{transform:translateY(0);opacity:.5}40%{transform:translateY(-7px);opacity:1}}
.tv-acciones-lobby{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;align-items:center}

/* Tablero en vivo */
.tv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:0 auto 16px;max-width:1500px}
.tv-kpi{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);border-radius:18px;padding:12px 16px}
.tv-kpi span{display:block;font-size:.8rem;font-weight:600;opacity:.9}
.tv-kpi b{display:block;font-size:2rem;line-height:1.15;font-weight:800;font-variant-numeric:tabular-nums}
.tv-kpi small{font-size:.85rem;font-weight:600;opacity:.85}
.tv-principal{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;max-width:1500px;margin:0 auto;align-items:start}
@media (max-width:1000px){.tv-principal{grid-template-columns:1fr}}
.tv-panel{background:#fff;color:var(--ink);border-radius:22px;padding:16px 18px;box-shadow:0 12px 34px rgba(0,0,0,.2)}
.tv-panel h3{margin:0 0 10px;font-size:1.05rem;color:var(--tiza-profundo);display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:space-between}
.tv-orden{display:inline-flex;gap:4px;background:var(--tiza-claro);padding:3px;border-radius:99px}
.tv-orden button{border:0;background:transparent;border-radius:99px;padding:4px 11px;font-size:.78rem;font-weight:700;color:var(--muted);cursor:pointer}
.tv-orden button.on{background:#fff;color:var(--tiza-accion-osc);box-shadow:0 1px 4px rgba(15,45,91,.15)}
.tv-est-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:10px}
.tv-est{position:relative;border:1px solid var(--line);border-radius:16px;padding:10px 12px 10px;background:#fff;transition:box-shadow .2s,border-color .2s}
.tv-est:hover{box-shadow:0 6px 18px rgba(15,45,91,.12);border-color:var(--tiza-azul-borde)}
.tv-est .tv-e-cab{display:flex;align-items:center;gap:8px}
.tv-est .tv-e-pos{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--tiza-azul-10);color:var(--tiza-accion-osc);font-weight:800;font-size:.8rem}
.tv-est.tv-tres .tv-e-pos{background:#FFE9A8;color:#6a4a00}
.tv-est .tv-e-nombre{flex:1 1 auto;min-width:0;font-weight:700;color:var(--tiza-profundo);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-punto{flex:0 0 auto;width:9px;height:9px;border-radius:50%;background:#C4CCD9}
.tv-punto.on{background:#22B07D;box-shadow:0 0 0 3px rgba(34,176,125,.2)}
.tv-est .tv-e-x{flex:0 0 auto;border:0;background:transparent;color:#9aa6b8;cursor:pointer;font-size:.9rem;padding:2px 4px;border-radius:6px;opacity:0;transition:opacity .15s}
.tv-est:hover .tv-e-x,.tv-est:focus-within .tv-e-x{opacity:1}
.tv-est .tv-e-x:hover{background:var(--tv-mal-bg);color:var(--tv-mal)}
.tv-prog{height:8px;background:var(--tiza-azul-10);border-radius:99px;margin:8px 0 6px;overflow:hidden;display:flex}
.tv-prog b{display:block;height:100%;transition:width .6s ease}
.tv-prog .p-ok{background:#22B07D}.tv-prog .p-med{background:#FFB020}.tv-prog .p-mal{background:#FF6B57}
.tv-e-fila{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}
.tv-e-fila .tv-pts{font-weight:800;color:var(--tiza-profundo);font-size:.95rem}
.tv-e-fila .tv-fuego{color:#E5483A;font-weight:800}
.tv-est.tv-fin{background:linear-gradient(180deg,#fff,#F3FBF7);border-color:#BFE6D2}
.tv-est.tv-fin .tv-e-fin{color:#14774a;font-weight:700}
.tv-est.tv-lejos{opacity:.7}
.tv-preg-lista{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.tv-pq{min-width:0;border:1px solid var(--line);border-radius:14px;padding:9px 12px;cursor:pointer;background:#fff;transition:border-color .15s,box-shadow .15s}
.tv-pq:hover{border-color:var(--tiza-azul-borde);box-shadow:0 4px 14px rgba(15,45,91,.1)}
.tv-pq.sel{border-color:var(--tiza-azul);box-shadow:0 0 0 3px rgba(30,136,255,.15)}
.tv-pq .tv-pq-cab{display:flex;align-items:center;gap:8px;font-size:.86rem}
.tv-pq .tv-pq-n{flex:0 0 auto;display:grid;place-items:center;min-width:26px;height:26px;padding:0 6px;border-radius:8px;background:var(--tiza-claro);color:var(--tiza-profundo);font-weight:800;font-size:.8rem}
.tv-pq .tv-pq-t{flex:1 1 auto;min-width:0;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-pq .tv-pq-pct{flex:0 0 auto;font-weight:800;font-variant-numeric:tabular-nums;font-size:.9rem}
.tv-barra-pct{height:8px;border-radius:99px;background:#EEF1F6;margin-top:7px;overflow:hidden}
.tv-barra-pct b{display:block;height:100%;border-radius:99px;transition:width .6s ease,background .3s}
.tv-detalle-q{margin-top:10px;padding-top:10px;border-top:1px dashed var(--line);font-size:.88rem}
.tv-detalle-q .tv-q-texto{color:var(--tiza-profundo);font-weight:600;line-height:1.4;margin-bottom:8px;overflow-wrap:anywhere;white-space:pre-line}
.tv-op{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;margin:4px 0}
.tv-op .tv-l{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;color:#fff;font-weight:800;font-size:.8rem;background:var(--c,#5B6B82)}
.tv-op .tv-ot{position:relative;border-radius:8px;background:#F4F7FB;padding:5px 9px;overflow:hidden;font-size:.84rem;line-height:1.3;min-height:28px;display:flex;align-items:center}
.tv-op .tv-ot i{position:absolute;left:0;top:0;bottom:0;background:rgba(30,136,255,.16);transition:width .6s ease}
.tv-op .tv-ot span{position:relative;overflow-wrap:anywhere}
.tv-op.ok .tv-ot{background:var(--tv-ok-bg);outline:2px solid var(--tv-ok)}
.tv-op.ok .tv-ot i{background:rgba(30,142,90,.22)}
.tv-op .tv-n{font-weight:800;font-variant-numeric:tabular-nums;font-size:.82rem;color:var(--tiza-profundo)}
.tv-nota-q{margin:6px 0 0;font-size:.8rem;color:var(--muted)}

/* Resultados */
.tv-res{max-width:1280px;margin:0 auto}
.tv-podio{display:flex;align-items:flex-end;justify-content:center;gap:14px;margin:6px auto 22px;max-width:720px;min-height:220px}
.tv-podio .tv-pd{flex:1 1 0;text-align:center;max-width:220px}
.tv-podio .tv-pd .tv-pd-n{font-weight:800;font-size:1.05rem;margin-bottom:2px;overflow-wrap:anywhere;line-height:1.15}
.tv-podio .tv-pd .tv-pd-p{font-size:.85rem;opacity:.9;margin-bottom:6px;font-variant-numeric:tabular-nums}
.tv-podio .tv-pd .tv-pd-b{border-radius:18px 18px 0 0;display:grid;place-items:center;font-size:2.2rem;font-weight:900;color:#fff;animation:tv-sube .9s cubic-bezier(.2,.9,.3,1.1) both;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.tv-pd.p1 .tv-pd-b{height:150px;background:linear-gradient(#FFC83D,#E8A200)}
.tv-pd.p2 .tv-pd-b{height:112px;background:linear-gradient(#C3CEDF,#8C9BB3);animation-delay:.15s}
.tv-pd.p3 .tv-pd-b{height:84px;background:linear-gradient(#E6AA7B,#B97A47);animation-delay:.3s}
@keyframes tv-sube{from{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1);transform-origin:bottom}}
.tv-res-cifras{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.tv-bandas{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:6px}
.tv-banda{border-radius:14px;padding:10px 12px;color:#fff;font-weight:700}
.tv-banda b{display:block;font-size:1.6rem;line-height:1.1}
.tv-banda small{opacity:.92;font-weight:600;font-size:.74rem}
.tv-banda.DAR{background:#1e8e5a}.tv-banda.AAR{background:#1470E0}.tv-banda.PAAR{background:#C98410}.tv-banda.NAAR{background:#c8452f}
@media (max-width:640px){.tv-bandas{grid-template-columns:repeat(2,1fr)}}
.tv-pestanas{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 12px}
.tv-pestanas button{border:0;border-radius:99px;padding:8px 16px;font-weight:700;font-size:.88rem;cursor:pointer;color:var(--tiza-profundo);background:var(--tiza-claro)}
.tv-pestanas button.on{background:var(--tiza-accion);color:#fff}
.tv-tabla-w{overflow:auto;max-width:100%;border-radius:12px;border:1px solid var(--line)}
.tv-tabla{width:100%;border-collapse:collapse;font-size:.88rem;background:#fff}
.tv-tabla th,.tv-tabla td{padding:8px 10px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}
.tv-tabla th{position:sticky;top:0;background:var(--tiza-claro);color:var(--tiza-profundo);font-size:.78rem;cursor:pointer;user-select:none;z-index:1}
.tv-tabla th.izq,.tv-tabla td.izq{text-align:left}
.tv-tabla td.izq{white-space:normal;min-width:180px;font-weight:600;color:var(--tiza-profundo)}
.tv-tabla tr:hover td{background:#F8FBFF}
.tv-escala{display:inline-block;min-width:46px;padding:2px 8px;border-radius:99px;color:#fff;font-weight:800;font-size:.76rem}
.tv-escala.DAR{background:#1e8e5a}.tv-escala.AAR{background:#1470E0}.tv-escala.PAAR{background:#C98410}.tv-escala.NAAR{background:#c8452f}
.tv-nota{font-weight:800;font-variant-numeric:tabular-nums}
.tv-mapa{border-collapse:separate;border-spacing:3px;font-size:.78rem;background:#fff}
.tv-mapa th{font-size:.72rem;color:var(--muted);padding:2px 4px;cursor:default;background:#fff;position:sticky;top:0}
.tv-mapa td.nom{text-align:left;font-weight:600;color:var(--tiza-profundo);padding:2px 10px 2px 4px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:sticky;left:0;background:#fff}
.tv-mapa td.c{width:26px;height:24px;border-radius:6px;min-width:26px;text-align:center;color:#fff;font-weight:800;font-size:.7rem}
.tv-mapa td.c.c1{background:#22B07D}.tv-mapa td.c.c5{background:#FFB020}.tv-mapa td.c.c0{background:#FF6B57}.tv-mapa td.c.cn{background:#E3E8F0}
.tv-leyenda{display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--muted);margin:8px 0 0}
.tv-leyenda i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:5px;vertical-align:-1px}
.tv-dz{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.tv-dz-f{border:1px solid var(--line);border-radius:12px;padding:9px 12px}
.tv-dz-f .tv-dz-t{font-size:.86rem;color:var(--ink);line-height:1.35;margin-bottom:5px}
.tv-dz-f .tv-dz-t b{color:var(--tiza-profundo)}
.tv-barra-fila{display:flex;align-items:center;gap:10px}
.tv-barra-fila .tv-barra-pct{flex:1 1 auto;margin:0}
.tv-barra-fila span{font-weight:800;font-variant-numeric:tabular-nums;font-size:.86rem;min-width:46px;text-align:right}
.tv-vinculo{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;background:var(--tiza-azul-10);border:1px solid var(--tiza-azul-borde);border-radius:14px;padding:10px 14px;margin-bottom:12px;color:var(--tiza-profundo);font-size:.9rem}
#tv-confeti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:210}

/* Pastilla cuando la sala sigue abierta y el tablero está minimizado */
#tv-pildora{position:fixed;right:18px;bottom:18px;z-index:150;display:none;align-items:center;gap:10px;background:var(--tiza-profundo);color:#fff;border:0;border-radius:99px;padding:11px 18px;font-weight:700;cursor:pointer;box-shadow:0 10px 28px rgba(15,45,91,.4);font-family:inherit;font-size:.9rem}
#tv-pildora.visible{display:inline-flex}
#tv-pildora .tv-pulso{width:10px;height:10px;border-radius:50%;background:#22B07D;animation:tv-latido 1.6s infinite}

/* Guardar en Calificaciones */
.tv-cal-tabla{width:100%;border-collapse:collapse;font-size:.88rem}
.tv-cal-tabla th{background:var(--tiza-claro);padding:6px 8px;text-align:left;font-size:.76rem;color:var(--tiza-profundo);position:sticky;top:0}
.tv-cal-tabla td{padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.tv-cal-tabla tr.rep td{background:#FDECE8}
.tv-cal-tabla tr.dud td{background:#FFFBEF}
.tv-cal-tabla select{width:100%;max-width:280px;padding:6px 8px;font-size:.85rem}
.tv-cal-scroll{max-height:42vh;overflow:auto;border:1px solid var(--line);border-radius:12px}
.tv-cal-chip{display:inline-block;padding:2px 9px;border-radius:99px;font-size:.72rem;font-weight:700}
.tv-cal-chip.seguro{background:#E6F6EE;color:#14774a}.tv-cal-chip.dudoso{background:#FFF4DC;color:#8a5a00}.tv-cal-chip.ninguno{background:#EEF1F6;color:#5A6A82}
.tv-cal-sug{border:0;background:#FFF4DC;color:#6a4a00;border-radius:8px;padding:3px 8px;font-size:.76rem;font-weight:700;cursor:pointer;margin-left:6px}
.tv-cal-sug:hover{background:#FFE9A8}
.tv-cal-resumen{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.tv-cal-resumen span{background:var(--tiza-azul-10);color:var(--tiza-profundo);border-radius:10px;padding:5px 10px;font-size:.82rem;font-weight:600}
.tv-cal-resumen span.alerta{background:#FDECE8;color:#9b2f1d}
.tv-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:420;background:var(--tiza-profundo);color:#fff;padding:10px 18px;border-radius:99px;font-weight:600;box-shadow:0 10px 28px rgba(15,45,91,.4);font-size:.9rem;max-width:90vw;text-align:center}
@media (prefers-reduced-motion:reduce){#tv-overlay *,.tv-abierta *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
