.tv-55-panel .tv-source-health{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 9px}
.tv-55-panel .tv-source-health article{display:grid;grid-template-columns:9px minmax(0,1fr) auto auto;align-items:center;gap:7px;min-width:0;padding:8px 10px;border:1px solid rgba(45,212,191,.24);border-radius:9px;background:rgba(8,29,42,.94)}
.tv-55-panel .tv-source-health article.connected{border-color:rgba(45,212,191,.28);background:linear-gradient(135deg,rgba(13,52,58,.94),rgba(8,29,42,.96))}
.tv-55-panel .tv-source-health article.empty{border-color:rgba(251,191,36,.32);background:linear-gradient(135deg,rgba(63,48,18,.9),rgba(24,31,39,.96))}
.tv-55-panel .tv-source-health article.error{border-color:rgba(251,113,133,.38);background:linear-gradient(135deg,rgba(69,25,38,.92),rgba(31,24,34,.96))}
.tv-55-panel .tv-source-health i{width:8px;height:8px;border-radius:50%;background:#2dd4bf;box-shadow:0 0 0 3px rgba(45,212,191,.12)}
.tv-55-panel .tv-source-health article.error i{background:#fb7185;box-shadow:0 0 0 3px rgba(251,113,133,.13)}
.tv-55-panel .tv-source-health article.empty i{background:#fbbf24;box-shadow:0 0 0 3px rgba(251,191,36,.13)}
.tv-55-panel .tv-tabs button.empty span{background:#64748b;box-shadow:none}
.tv-55-panel .tv-tabs button.review span{background:#fbbf24;box-shadow:0 0 9px rgba(251,191,36,.7)}
.tv-55-panel .tv-tabs button.live span{background:#22c55e;box-shadow:0 0 9px rgba(34,197,94,.65)}
.tv-55-panel .tv-tabs button.active span{background:#38bdf8;box-shadow:0 0 12px rgba(56,189,248,.85)}
.tv-55-panel .tv-data-badge{padding:5px 9px;border:1px solid rgba(34,197,94,.25);border-radius:999px;color:#86efac;background:rgba(34,197,94,.08);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.tv-55-panel .tv-data-badge.empty{border-color:rgba(100,116,139,.3);color:#94a3b8;background:rgba(100,116,139,.1)}
.tv-55-panel .tv-data-badge.review{border-color:rgba(251,191,36,.3);color:#fde68a;background:rgba(251,191,36,.09)}
.tv-55-panel .tv-source-health span{overflow:hidden;color:#d6e4ec;font-size:clamp(9px,.6vw,12px);font-weight:760;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap}
.tv-55-panel .tv-source-health em{padding:2px 6px;border-radius:999px;color:#99f6e4;background:rgba(45,212,191,.1);font-size:clamp(7px,.46vw,9px);font-style:normal;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.tv-55-panel .tv-source-health article.empty em{color:#fde68a;background:rgba(251,191,36,.1)}
.tv-55-panel .tv-source-health article.error em{color:#fecdd3;background:rgba(251,113,133,.11)}
.tv-55-panel .tv-source-health strong{color:#f8fafc;font-size:clamp(10px,.68vw,14px);font-variant-numeric:tabular-nums}
.tv-55-panel .tv-broadcast-strip{grid-template-columns:repeat(6,minmax(0,1fr))}
.tv-55-panel #tvFreshness{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.07)}
.tv-55-panel #tvFreshness strong{color:#86efac}
.tv-55-panel #tvFreshness.review{border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.08)}
.tv-55-panel #tvFreshness.review strong{color:#fde68a}
.tv-55-panel #tvFreshness.stale{border-color:rgba(251,113,133,.38);background:rgba(127,29,29,.2);animation:tvFreshnessPulse 1.8s ease-in-out infinite}
.tv-55-panel #tvFreshness.stale strong{color:#fda4af}
.tv-55-panel #tvRotationStatus{border-color:rgba(56,189,248,.24);background:rgba(14,116,144,.08)}
.tv-55-panel #tvRotationStatus strong{color:#7dd3fc}
.tv-55-panel #tvRotationStatus.paused{border-color:rgba(251,191,36,.3);background:rgba(251,191,36,.08)}
.tv-55-panel #tvRotationStatus.paused strong{color:#fde68a}
@keyframes tvFreshnessPulse{50%{box-shadow:0 0 18px rgba(251,113,133,.18)}}
.tv-55-panel .tv-network-banner{display:none;align-items:center;gap:14px;margin:0 0 8px;padding:10px 14px;border:1px solid rgba(251,113,133,.45);border-radius:10px;color:#fecdd3;background:linear-gradient(90deg,rgba(127,29,29,.88),rgba(76,5,25,.84));box-shadow:0 0 22px rgba(251,113,133,.13)}
.tv-55-panel .tv-network-banner.active{display:flex}
.tv-55-panel .tv-network-banner strong{font-size:clamp(13px,.9vw,18px);white-space:nowrap}
.tv-55-panel .tv-network-banner span{font-size:clamp(11px,.72vw,15px);font-weight:650}
.tv-55-panel .tv-stage.tv-offline .tv-live-dot{color:#fecdd3;border-color:rgba(251,113,133,.5);background:rgba(127,29,29,.35)}
body.dashboard-tv-active .tv-55-panel .tv-stage{background:radial-gradient(circle at 14% 4%,rgba(14,116,144,.18),transparent 31%),radial-gradient(circle at 88% 18%,rgba(45,212,191,.09),transparent 28%),linear-gradient(145deg,#06121d 0%,#081a28 52%,#0a1722 100%);color:#e7f1f6}
body.dashboard-tv-active .tv-55-panel .tv-grid-bg{opacity:.42;background-image:linear-gradient(rgba(125,211,252,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(125,211,252,.035) 1px,transparent 1px);background-size:32px 32px}
body.dashboard-tv-active .tv-55-panel .tv-energy-field{opacity:.28}
body.dashboard-tv-active .tv-55-panel .tv-slide{border-color:rgba(125,211,252,.16);background:linear-gradient(145deg,rgba(9,27,40,.94),rgba(7,20,31,.97));box-shadow:0 18px 45px rgba(0,0,0,.25)}
body.dashboard-tv-active .tv-55-panel .tv-chart,body.dashboard-tv-active .tv-55-panel .tv-count-card,body.dashboard-tv-active .tv-55-panel .tv-list{border-color:rgba(148,163,184,.16);background:rgba(10,31,45,.88)}
.tv-55-panel .tv-stage:fullscreen .tv-source-health{gap:.35vw}
.tv-55-panel .tv-stage:fullscreen .tv-source-health article{padding:.35vw .5vw}
.tv-55-panel .tv-stage:fullscreen .tv-control-actions{opacity:.22;transition:opacity .2s ease}
.tv-55-panel .tv-stage:fullscreen .tv-control-bar:hover .tv-control-actions,.tv-55-panel .tv-stage:fullscreen .tv-control-actions:focus-within{opacity:1}
.tv-55-panel .tv-chart h4{margin-bottom:3px;letter-spacing:-.015em}
.tv-55-panel .tv-chart-subtitle{margin:0 0 12px;color:#7895a8;font-size:clamp(9px,.58vw,12px);font-weight:650;line-height:1.25}
.tv-55-panel .tv-chart header>div{min-width:0}
.tv-55-panel .tv-bar strong{display:flex;align-items:center;justify-content:flex-end;gap:7px;font-variant-numeric:tabular-nums}
.tv-55-panel .tv-bar strong small{min-width:34px;color:#7895a8;font-size:.72em;font-weight:750;text-align:right}
.tv-55-panel .tv-chart-empty{display:grid;min-height:90px;place-items:center;color:#7895a8;border:1px dashed rgba(125,211,252,.18);border-radius:10px}
.tv-55-panel .tv-count-card strong{font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.tv-55-panel .tv-branded-title{display:flex;align-items:center;gap:12px}
.tv-55-panel .tv-branded-title>.brand-logo-pill{flex:0 0 auto;min-width:54px;height:34px;padding:4px 9px;background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.35)}
.tv-55-panel .tv-branded-title>.brand-logo-pill img{width:auto;max-width:54px;height:22px;object-fit:contain}
.tv-55-panel .tv-branded-title>.brand-logo-pill em{display:none}
.tv-55-panel .brand-label{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}
.tv-55-panel .brand-label>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tv-55-panel .brand-logo-pill.compact{flex:0 0 auto;min-width:24px;height:20px;padding:2px 4px;background:rgba(255,255,255,.94)}
.tv-55-panel .brand-logo-pill.compact img{width:auto;max-width:30px;height:14px;object-fit:contain}
.tv-55-panel .brand-logo-pill.compact em{display:none}
.tv-55-panel .tv-count-card>span .brand-label{justify-content:center}
.tv-55-panel .tv-count-card>strong>.brand-label{justify-content:center}
.tv-55-panel .tv-count-card>strong>.brand-label .brand-logo-pill{height:30px;padding:3px 8px}
.tv-55-panel .tv-count-card>strong>.brand-label .brand-logo-pill img{max-width:48px;height:21px}
.tv-55-panel .tv-count-card>strong>.brand-label>b{font-size:.58em;letter-spacing:-.015em}
.tv-55-panel .tv-density-focus .tv-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.tv-55-panel .tv-density-focus .tv-chart{min-height:220px}
.tv-55-panel .tv-density-balanced .tv-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tv-55-panel .tv-density-balanced .tv-chart{min-height:176px}
.tv-55-panel .tv-density-dense .tv-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tv-55-panel .tv-density-dense .tv-chart{min-height:148px;padding:12px}
.tv-55-panel .tv-density-dense .tv-chart-subtitle{margin-bottom:7px}
.tv-55-panel .tv-density-dense .tv-bar{gap:7px}
.tv-55-panel .tv-stage:fullscreen .tv-density-focus .tv-chart{min-height:26vh}
.tv-55-panel .tv-stage:fullscreen .tv-density-balanced .tv-chart{min-height:19vh}
@media(min-width:1500px) and (min-aspect-ratio:16/10){.tv-55-panel .tv-stage:fullscreen .tv-density-dense .tv-content-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tv-55-panel .tv-stage:fullscreen .tv-density-dense .tv-chart{min-height:17vh}}
@media(max-width:900px){.tv-55-panel .tv-density-focus .tv-content-grid,.tv-55-panel .tv-density-balanced .tv-content-grid,.tv-55-panel .tv-density-dense .tv-content-grid{grid-template-columns:1fr}.tv-55-panel .tv-density-focus .tv-chart,.tv-55-panel .tv-density-balanced .tv-chart,.tv-55-panel .tv-density-dense .tv-chart{min-height:150px}}
@media(max-width:1100px){.tv-55-panel .tv-source-health{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-55-panel .tv-broadcast-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.tv-55-panel .tv-source-health{grid-template-columns:repeat(2,minmax(0,1fr))}.tv-55-panel .tv-broadcast-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tv-control-actions #tvAudioButton.active {
  color: #052e2b;
  background: #5eead4;
  border-color: #99f6e4;
  box-shadow: 0 0 0 1px rgba(153, 246, 228, 0.35), 0 8px 24px rgba(45, 212, 191, 0.24);
}

/* Jerarquía de lectura para sala de control y TV de 55 pulgadas. */
body.dashboard-tv-active .tv-55-panel .tv-slide-head h2{color:#f8fbff;font-size:clamp(25px,2.15vw,46px);font-weight:850;letter-spacing:-.035em;line-height:1.04}
body.dashboard-tv-active .tv-55-panel .tv-slide-head p{max-width:92ch;color:#b8ccd8;font-size:clamp(12px,.83vw,18px);font-weight:620;line-height:1.35}
body.dashboard-tv-active .tv-55-panel .tv-count-card{display:flex;min-height:92px;flex-direction:column;align-items:center;justify-content:center;padding:14px 12px}
body.dashboard-tv-active .tv-55-panel .tv-count-card strong{color:#f8fafc;font-size:clamp(25px,2.05vw,44px);font-weight:880;line-height:1}
body.dashboard-tv-active .tv-55-panel .tv-count-card strong[title="N/D"]{color:#fbbf24;font-size:clamp(22px,1.7vw,36px)}
body.dashboard-tv-active .tv-55-panel .tv-count-card span{margin-top:8px;color:#c6d8e2;font-size:clamp(10px,.67vw,14px);font-weight:760;line-height:1.2;text-align:center}
body.dashboard-tv-active .tv-55-panel .tv-chart h4{color:#f1f7fa;font-size:clamp(15px,1vw,21px);font-weight:820}
body.dashboard-tv-active .tv-55-panel .tv-chart-subtitle{color:#a8c0ce;font-size:clamp(10px,.66vw,14px);line-height:1.35}
body.dashboard-tv-active .tv-55-panel .tv-bar span{color:#d9e6ed;font-weight:720}
body.dashboard-tv-active .tv-55-panel .tv-bar strong{color:#f8fafc;font-size:clamp(12px,.78vw,17px)}
body.dashboard-tv-active .tv-55-panel .tv-list article{grid-template-columns:minmax(180px,1.2fr) minmax(220px,1.8fr) auto;gap:14px;padding:12px 14px}
body.dashboard-tv-active .tv-55-panel .tv-list article strong{color:#f1f7fa;font-size:clamp(12px,.78vw,17px)}
body.dashboard-tv-active .tv-55-panel .tv-list article span{color:#a9c0cd;font-size:clamp(10px,.66vw,14px);line-height:1.3}
body.dashboard-tv-active .tv-55-panel .tv-list article em{color:#7dd3fc;font-size:clamp(12px,.82vw,18px);font-weight:850;font-variant-numeric:tabular-nums;white-space:nowrap}
.tv-55-panel .tv-stage:fullscreen .tv-density-balanced .tv-content-grid{grid-auto-rows:minmax(19vh,auto)}
@media(max-width:900px){body.dashboard-tv-active .tv-55-panel .tv-list article{grid-template-columns:1fr auto}body.dashboard-tv-active .tv-55-panel .tv-list article span{grid-column:1/-1}.tv-55-panel .tv-stage:fullscreen .tv-density-balanced .tv-content-grid{grid-auto-rows:auto}}
