/* Modo TV · somente na apresentação dos rankings, sem tocar nas outras telas */
.tv-auto-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  height: 36px;
  padding: 0 13px;
  border: 1px solid rgba(89, 230, 198, .5);
  border-radius: 11px;
  color: #9ff5df;
  background: linear-gradient(135deg, rgba(30, 122, 118, .22), rgba(6, 32, 46, .9));
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .015em;
  cursor: pointer;
  transition: border-color .18s, box-shadow .18s, transform .18s;
}
.tv-auto-trigger:hover {
  border-color: #5af4cc;
  box-shadow: 0 0 16px rgba(43, 220, 183, .22);
  transform: translateY(-1px);
}
.tv-auto-trigger[hidden], .tv-auto-status[hidden], .tv-auto-dialog[hidden] {
  display: none !important;
}
body:not(.is-data-sale-share-mode) .tv-auto-trigger,
body:not(.is-data-sale-share-mode) .tv-auto-status,
body:not(.is-data-sale-share-mode) .tv-auto-dialog {
  display: none !important;
}
.data-sale-ranking-shell { position: relative; }
.tv-auto-status {
  position: absolute;
  z-index: 25;
  top: 93px;
  right: 24px;
  display: flex;
  align-items: center;
  gap: 8px;
  max-width: min(720px, calc(100% - 48px));
  padding: 6px 9px 6px 13px;
  border: 1px solid rgba(82, 211, 196, .24);
  border-radius: 0 0 11px 11px;
  color: #c1f6eb;
  background: rgba(2, 22, 36, .91);
  box-shadow: 0 8px 24px rgba(0, 7, 17, .3);
  backdrop-filter: blur(12px);
}
.tv-auto-status [data-tv-copy] {
  min-width: 145px;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}
.tv-auto-progress {
  width: 78px;
  min-width: 46px;
  height: 4px;
  overflow: hidden;
  border-radius: 9px;
  background: #254657;
}
.tv-auto-progress i {
  display: block;
  height: 100%;
  width: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #47bcff, #52efc7);
  transition: width .2s linear;
}
.tv-auto-status button {
  min-height: 25px;
  padding: 3px 9px;
  border: 1px solid rgba(98, 177, 189, .27);
  border-radius: 7px;
  color: #e1f9ff;
  background: rgba(28, 75, 88, .37);
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}
.tv-auto-status button:hover { border-color: rgba(80, 236, 208, .76); }
.tv-auto-status [data-tv-stop] {
  border-color: rgba(255, 128, 140, .25);
  color: #ffbdc5;
}
.tv-auto-dialog {
  position: absolute;
  inset: 0;
  z-index: 110;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(1, 9, 21, .78);
  backdrop-filter: blur(10px);
}
.tv-auto-panel {
  width: min(560px, 100%);
  max-height: min(92vh, 830px);
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid rgba(77, 202, 229, .38);
  border-radius: 20px;
  color: #e7f8ff;
  background: radial-gradient(circle at 96% 0%, rgba(28, 156, 181, .18), transparent 50%),
    linear-gradient(150deg, #102b41, #061729);
  box-shadow: 0 22px 70px rgba(0, 0, 0, .52);
}
.tv-auto-panel-title {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 18px;
}
.tv-auto-panel-title > span {
  display: grid;
  place-items: center;
  width: 45px;
  height: 45px;
  border-radius: 13px;
  color: #80eed7;
  background: rgba(66, 220, 188, .1);
  font-size: 25px;
}
.tv-auto-panel-title h3 {
  margin: 0;
  color: #e7fcff;
  font-size: 21px;
  font-weight: 900;
}
.tv-auto-panel-title small {
  color: #9bbdca;
  font-size: 11px;
}
.tv-auto-config {
  display: grid;
  gap: 9px;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
}
.tv-auto-config label {
  display: grid;
  grid-template-columns: 22px 1fr minmax(115px, 145px);
  align-items: center;
  gap: 10px;
  min-height: 53px;
  padding: 9px 12px;
  border: 1px solid rgba(99, 166, 190, .28);
  border-radius: 12px;
  background: rgba(7, 30, 48, .63);
}
.tv-auto-config label:has(input:not(:checked)) { opacity: .65; }
.tv-auto-config input { accent-color: #52e8bb; width: 17px; height: 17px; cursor: pointer; }
.tv-auto-config strong { font-size: 13px; }
.tv-auto-config select {
  width: 100%;
  min-height: 35px;
  padding: 0 8px;
  border: 1px solid rgba(112, 177, 204, .4);
  border-radius: 8px;
  color: #e6fbff;
  background: #123346;
  font-size: 11px;
  cursor: pointer;
}
#tv-auto-summary {
  margin: 15px 0;
  color: #a1d8d6;
  font-size: 12px;
}
.tv-auto-actions { display: flex; gap: 10px; justify-content: flex-end; }
.tv-auto-actions button {
  min-height: 40px;
  padding: 0 17px;
  border: 1px solid rgba(116, 184, 210, .3);
  border-radius: 10px;
  background: #153447;
  color: #e5f8ff;
  font-weight: 800;
  font-size: 12px;
  cursor: pointer;
}
#tv-auto-start {
  background: linear-gradient(125deg, #22b89b, #177db0);
  border-color: rgba(118, 248, 217, .65);
  color: white;
}
.tv-auto-actions button:disabled { opacity: .5; cursor: not-allowed; }
.tv-auto-new-slide .data-sale-ranking-track,
.tv-auto-new-slide .data-sale-tv-latest-contract {
  animation: tvAutoSoftEntrance .35s ease both;
}
@keyframes tvAutoSoftEntrance {
  from { opacity: .62; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media(max-width:920px) {
  .tv-auto-status { top: 74px; right: 8px; max-width: calc(100% - 16px); }
  .tv-auto-progress { width: 40px; }
  .tv-auto-status [data-tv-copy] { min-width: 0; }
  .tv-auto-status button { padding-inline: 6px; }
}
@media(max-width:600px) {
  .tv-auto-status { flex-wrap: wrap; }
  .tv-auto-panel { padding: 17px; }
  .tv-auto-config label { grid-template-columns: 18px 1fr minmax(105px, 125px); gap: 7px; }
}
@media(prefers-reduced-motion:reduce) {
  .tv-auto-new-slide .data-sale-ranking-track,
  .tv-auto-new-slide .data-sale-tv-latest-contract { animation: none; }
}

.tv-auto-config [hidden] {display:none !important;}
.tv-auto-campaign-list { display: grid; gap: 9px; }
.tv-auto-campaign-heading {
  margin: 7px 2px 1px;
  color: #96d9d5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}
.tv-auto-campaign-empty {
  padding: 11px 12px;
  color: #9bbdca;
  border: 1px dashed rgba(99, 166, 190, .28);
  border-radius: 10px;
}
body.is-tv-auto-campaign #tv-auto-campaign-host {
  display:flex;position:absolute;inset:8px 10px 48px;z-index:10;min-height:0;
}
body.is-tv-auto-campaign #campaign-tv-stage {min-height:0;height:100%;}
body.is-tv-auto-campaign .data-sale-ranking-shell > :not(.data-sale-ranking-head):not(#tv-auto-campaign-host):not(#tv-auto-dock):not(#tv-auto-dialog) {visibility:hidden !important;}
body.is-tv-auto-campaign .data-sale-ranking-head > :not(.data-sale-ranking-controls) {visibility:hidden !important;}
body.is-tv-auto-campaign .data-sale-ranking-head {display:none !important;}
html[data-report-window] body.is-standalone-report-window.is-data-sale-share-mode.is-tv-auto-campaign #tv-auto-status:not([hidden]) {
  top:auto !important;bottom:4px !important;right:12px !important;height:auto !important;
  border-color:rgba(82,211,196,.24) !important;
}
body.is-tv-auto-campaign .data-sale-ranking-controls > :is(#data-sale-rank-auto-label,#data-sale-rank-prev,#data-sale-rank-next) {display:none !important;}
body.is-tv-auto-campaign #campaign-tv-fullscreen {display:none !important;}

/* Presentation controls share one compact footer, leaving the stage clear. */
#tv-auto-dock {display:none;}
body.is-data-sale-share-mode #tv-auto-dock {
  display:flex;align-items:center;justify-content:flex-end;gap:7px;
  position:absolute;bottom:4px;right:12px;z-index:40;max-width:calc(100% - 24px);
}
html[data-report-window] body.is-standalone-report-window.is-data-sale-share-mode .data-sale-ranking-shell {
  padding-bottom:42px !important;box-sizing:border-box;
}
#tv-auto-tools {display:flex;align-items:center;gap:5px;flex-shrink:0;}
body.is-data-sale-share-mode #tv-auto-tools > button {
  height:30px !important;min-height:30px !important;min-width:30px !important;
  width:auto !important;padding:0 9px !important;border-radius:8px;font-size:10px;
}
html[data-report-window] body.is-standalone-report-window.is-data-sale-share-mode #tv-auto-dock #tv-auto-status:not([hidden]) {
  position:static !important;top:auto !important;right:auto !important;bottom:auto !important;
  max-width:none;padding:5px 7px;gap:6px;border-radius:8px;
}
body.is-tv-auto-active .data-sale-ranking-controls > :is(#data-sale-rank-auto-label,#data-sale-rank-prev,#data-sale-rank-next) {display:none !important;}
body.is-tv-auto-active #campaign-tv-ranking,
body.is-tv-auto-active #campaign-tv-stage .campaign-tv-member-list {scrollbar-width:none;}
body.is-tv-auto-active #campaign-tv-ranking::-webkit-scrollbar,
body.is-tv-auto-active #campaign-tv-stage .campaign-tv-member-list::-webkit-scrollbar {display:none;}
@media(max-width:600px) {
  body.is-data-sale-share-mode #tv-auto-dock {right:6px;max-width:calc(100% - 12px);gap:4px;}
  #tv-auto-dock .tv-auto-progress {display:none;}
  #tv-auto-dock .tv-auto-status [data-tv-copy] {font-size:8px;white-space:normal;}
}

/* The selected phase captions cannot overlap the centered total. */
body.is-tv-auto-detailed .data-sale-ranking-title {
  min-width:0!important;max-width:min(35vw,540px)!important;
}
body.is-tv-auto-detailed #data-sale-ranking-title {
  display:block!important;max-width:100%!important;min-width:0!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}

/* Only rotating Detailed TV with multiple phases: smaller, multiline title. */
body.is-tv-auto-detailed #data-sale-ranking-title.is-multiple-phases {
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  max-height:3.9em!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-overflow:clip!important;
  font-size:clamp(14px,1.2vw,18px)!important;
  line-height:1.3!important;
  letter-spacing:0!important;
}
body.is-tv-auto-detailed #data-sale-ranking-title.is-multiple-phases.is-many-phases {
  font-size:clamp(12px,1.05vw,15px)!important;
}
