/* Programações TV: visual isolado, não modifica rankings, Esteira ou Workers. */
.tv-program-overlay[hidden],.tv-program-slide-editor[hidden],.tv-program-fields[hidden],
.tv-program-checks[hidden],#tvps-filters[hidden],#tvps-campaign[hidden]{display:none!important}
.tv-program-overlay{position:fixed;inset:0;z-index:30000;background:rgba(6,15,28,.80);display:flex;justify-content:center;align-items:center;padding:24px;backdrop-filter:blur(7px);overflow:auto}
.tv-program-panel{width:min(900px,96vw);max-height:92vh;overflow:auto;color:#e8f2ff;background:linear-gradient(145deg,#14253a,#091522);border:1px solid #315473;border-radius:20px;box-shadow:0 20px 85px #0008;padding:22px;display:grid;gap:15px}
.tv-program-panel header{display:flex;align-items:start;justify-content:space-between;gap:15px;border-bottom:1px solid #304961;padding-bottom:14px}
.tv-program-panel h2{font-size:23px;letter-spacing:-.02em;margin:0 0 5px}.tv-program-panel h3{margin:0 0 8px;font-size:17px}
.tv-program-panel p{margin:0;color:#a9c2d7;font-size:13px}
.tv-program-panel button{appearance:none;border:1px solid #49677d;border-radius:9px;background:#1d354c;color:#ecf5ff;padding:9px 13px;font-size:12px;font-weight:700;cursor:pointer}
.tv-program-panel button:hover:not(:disabled){background:#305272;border-color:#60b6e8}.tv-program-panel button:disabled{opacity:.42;cursor:not-allowed}
.tv-program-panel input,.tv-program-panel select{width:100%;min-width:0;border:1px solid #47667d;border-radius:9px;background:#0c2236;color:#eaf4ff;font-size:13px;padding:11px 10px;min-height:40px}
.tv-program-panel label{color:#b9d5e9;display:grid;gap:5px;font-size:12px;font-weight:650}
.tv-program-top{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.tv-program-top label{flex:1;min-width:170px}
.tv-program-name{width:100%}.tv-program-section-head{display:flex;justify-content:space-between;align-items:center}.tv-program-section-head strong{font-size:15px}
.tv-program-section-head small{color:#9bbbd1}
#tv-program-editor-slides{display:grid;gap:8px;max-height:35vh;overflow:auto;padding-right:4px}
.tv-program-item{display:flex;align-items:center;gap:12px;border:1px solid #29475e;border-radius:12px;background:#122a40;padding:10px}
.tv-program-position{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border-radius:8px;color:#9cd7ff;background:#174264;font-weight:900}
.tv-program-item-main{flex:1;min-width:0;display:grid;gap:4px}.tv-program-item-main strong{overflow-wrap:anywhere;font-size:13px}.tv-program-item-main small{font-size:11px;color:#9ab7ca}
.tv-program-item-tools{display:flex;gap:5px;flex-wrap:wrap;justify-content:end}.tv-program-item-tools button{padding:6px 9px}
.tv-program-empty{padding:18px;text-align:center;border:1px dashed #31536b;border-radius:12px}
.tv-program-add-row{display:flex;gap:9px;align-items:end;border-top:1px solid #31495d;padding-top:13px}.tv-program-add-row label{min-width:190px;flex:1}
.tv-program-slide-editor{border:1px solid #35648a;border-radius:13px;background:#122d43;padding:15px;display:grid;gap:13px}
.tv-program-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;align-items:end}
.tv-program-checks{display:grid;gap:6px}.tv-program-checks>strong{font-size:12px;color:#cae4f7}
.tv-program-checks>div{border:1px solid #31516c;background:#0a2135;border-radius:10px;max-height:145px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:3px;padding:8px}
.tv-program-checks label{display:flex;align-items:center;gap:8px;padding:5px 3px;color:#c5d7e5;cursor:pointer}
.tv-program-checks input{width:16px;min-height:16px;height:16px;accent-color:#39aeef}
.tv-program-editor-actions,.tv-program-panel footer{display:flex;justify-content:end;gap:9px;flex-wrap:wrap}
#tv-program-save,#tvps-apply{background:#147db5;border-color:#269ddd}#tv-program-save:hover:not(:disabled),#tvps-apply:hover:not(:disabled){background:#269fdc}
.tv-programs-launcher{position:fixed;right:18px;bottom:18px;z-index:420;margin:0;display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:calc(100vw - 36px);box-sizing:border-box;padding:8px 12px;min-height:36px;background:#173d5c;color:#daf2ff;border:1px solid #348ebd;border-radius:10px;font-size:11px;font-weight:750;line-height:1.2;cursor:pointer}
.tv-program-quick-add{position:fixed;bottom:20px;right:20px;z-index:430;border:1px solid #44a5dc;border-radius:999px;padding:10px 17px;background:#0f577f;color:#fff;font-size:12px;font-weight:750;box-shadow:0 7px 24px #0006;cursor:pointer}
body.is-data-sale-share-mode .tv-program-quick-add,body.is-tv-auto-active .tv-program-quick-add,
#reports-campaign.is-tv .tv-program-quick-add{display:none!important}
.tv-auto-program-picker{padding:13px;border:1px solid rgba(75,159,222,.45);border-radius:12px;margin:12px 0;background:rgba(15,53,83,.30);display:grid;gap:7px}
.tv-auto-program-picker strong{font-size:13px;color:#e9f4ff}.tv-auto-program-picker small{font-size:11px;color:#a9c1d4}
.tv-auto-program-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tv-auto-program-actions select{flex:1;min-width:140px;min-height:38px;background:#112a42;color:#eef6ff;border:1px solid #48748e;border-radius:7px;padding:5px}
.tv-auto-program-actions button{min-height:38px;padding:7px 10px;border:1px solid #467d9f;border-radius:7px;color:#e7f6ff;background:#205374;cursor:pointer}
@media(max-width:640px){.tv-program-overlay{padding:5px}.tv-program-panel{padding:14px;max-height:98vh}.tv-program-item{flex-wrap:wrap}.tv-program-item-tools{width:100%;justify-content:start}.tv-program-top>*{flex:1}.tv-program-quick-add{bottom:12px;right:12px}.tv-program-fields{grid-template-columns:1fr}}

.tv-program-pending[hidden]{display:none!important}
.tv-program-pending{display:flex;gap:10px;align-items:center;justify-content:space-between;border:1px solid #258bc0;border-radius:11px;padding:12px;background:#113a5a;flex-wrap:wrap}
.tv-program-pending strong{color:#d8f0ff;font-size:13px}


/* Refinamento da tela de programação (escopo restrito ao gerenciador). */
.tv-program-overlay{background:rgba(4,11,22,.82);backdrop-filter:blur(10px)}
.tv-program-panel{
  width:min(970px,96vw);gap:18px;padding:26px;
  background:radial-gradient(ellipse at 96% 0%,rgba(41,134,194,.13),transparent 50%),linear-gradient(150deg,#14283c,#0b1929 62%,#091522);
  border:1px solid #375975;border-radius:22px;box-shadow:0 26px 94px rgba(0,0,0,.62);
  scrollbar-color:#3b5e75 #102435;
}
.tv-program-panel header{padding-bottom:17px;align-items:center;border-color:rgba(105,163,200,.2)}
.tv-program-panel header h2{font-size:24px;font-weight:850;letter-spacing:-.55px}
.tv-program-panel header p{font-size:12px;color:#9dbad0}
.tv-program-panel #tv-program-close{width:34px;height:34px;padding:0;flex-shrink:0;
  border-radius:10px;font-size:23px;font-weight:400;line-height:1;background:#223c53}
.tv-program-panel label{font-size:12px;font-weight:700;letter-spacing:.01em;color:#bdd6e9;gap:7px}
.tv-program-panel input:not([type=checkbox]):not([type=radio]){
  min-height:43px;background:#0d253a;border:1px solid #3b617b;color:#eaf5ff;
  border-radius:11px;transition:border-color .18s,box-shadow .18s,background .18s;
}
.tv-program-panel input:not([type=checkbox]):not([type=radio]):focus{
  outline:none;border-color:#46b5ee;box-shadow:0 0 0 3px rgba(39,157,224,.15);background:#112d46;
}
.tv-program-panel input::placeholder{color:#7694a9}
.tv-program-panel button{border-color:#40647d;border-radius:10px;min-height:38px;transition:background .18s,border-color .18s,transform .16s}
.tv-program-panel button:focus-visible{outline:2px solid #70cfff;outline-offset:2px}
.tv-program-panel button:active:not(:disabled){transform:translateY(1px)}
.tv-program-top{display:grid;gap:12px;padding:16px;border:1px solid #2e4e67;
  border-radius:15px;background:rgba(19,50,76,.42)}
.tv-program-identity{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:end;
  gap:14px;
}
.tv-program-identity > label{min-width:0;width:100%}
.tv-program-top-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.tv-program-top-actions button{min-height:35px;padding:7px 12px}
.tv-program-name{padding:0 1px}
@media(max-width:680px){
  .tv-program-identity{grid-template-columns:minmax(0,1fr)}
  .tv-program-top-actions{justify-content:flex-start}
}
.tv-program-section-head{padding:3px 2px;gap:12px}
.tv-program-section-head strong{font-size:15px;letter-spacing:.01em}
#tv-program-editor-slides{gap:9px;max-height:34vh;padding:2px 5px 2px 1px}
.tv-program-item{padding:13px 14px;background:linear-gradient(110deg,#152f46,#10283c);
  border-color:#31546d;border-radius:13px;transition:border-color .18s,background .18s}
.tv-program-item:hover{border-color:#4a85a9;background:linear-gradient(110deg,#173952,#12314a)}
.tv-program-position{width:31px;height:31px;border:1px solid #2c719a;background:#16415e;color:#92dfff}
.tv-program-item-main strong{font-size:13px;font-weight:800}
.tv-program-item-main small{font-size:11px;color:#9bbace}
.tv-program-item-tools{gap:6px}
.tv-program-item-tools button{min-height:32px;padding:7px 10px;font-size:11px;border-radius:8px}
.tv-program-item-tools button[data-action=remove]{color:#ffb2b2;border-color:#805166;background:rgba(127,53,62,.16)}
.tv-program-item-tools button[data-action=remove]:hover{background:#813a4d;border-color:#ac6177}
.tv-program-add-row{border-top:1px solid rgba(102,158,198,.25);padding-top:17px;gap:12px}
#tv-program-add,#tv-program-new{background:linear-gradient(135deg,#165f89,#1b779f);border-color:#318fb9;color:#ebf8ff}
#tv-program-save,#tvps-apply{background:linear-gradient(120deg,#1288c4,#1376b4);border-color:#2aa3dd;
  box-shadow:0 4px 15px rgba(5,122,184,.2)}
#tv-program-remove{color:#ffc5c5;border-color:#804958;background:#402b3b}
#tv-program-remove:hover:not(:disabled){background:#713548;border-color:#aa506a}
.tv-program-slide-editor{padding:20px;background:linear-gradient(155deg,#17384f,#0f273b 75%);
  border:1px solid #3b7295;border-radius:15px;gap:15px;box-shadow:inset 0 1px 0 #ffffff0a}
.tv-program-slide-editor h3{font-size:17px;font-weight:800;letter-spacing:-.25px}
.tv-program-checks>div{border-radius:11px;max-height:165px;gap:6px;padding:10px}
.tv-program-checks label{border-radius:7px;padding:6px;transition:background .15s}
.tv-program-checks label:hover{background:#214762}
.tv-program-editor-actions{padding-top:12px;border-top:1px solid #31546f}
.tv-program-panel footer{position:sticky;bottom:-26px;z-index:2;gap:10px;padding:17px 0 0;
  border-top:1px solid #426078;background:linear-gradient(0deg,#0a1929 72%,rgba(10,25,41,.95));
}
.tv-program-panel footer button{min-height:42px;padding:9px 18px;font-size:12px}
.tv-program-pending{border-radius:13px;border-color:#3897ca;background:linear-gradient(90deg,#123b5b,#17496b)}
.tv-program-empty{padding:25px 18px;border-color:#40647e;background:#11283b}
.tv-program-panel .tvp-select-shell{display:block;position:relative;width:100%;min-width:0}
.tv-program-panel select.tvp-native-select{
  position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;
  padding:0!important;border:0!important;opacity:0!important;pointer-events:none!important;
  overflow:hidden!important;clip-path:inset(50%)!important;
}
.tv-program-panel .tvp-select-trigger{
  width:100%;min-height:43px;padding:0 12px;text-align:left;display:flex;align-items:center;justify-content:space-between;
  gap:12px;background:#0e293e;color:#edf6ff;border:1px solid #436a82;border-radius:11px;
  font-size:13px;font-weight:600;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
  transition:border-color .17s,box-shadow .17s,background .17s;
}
.tv-program-panel .tvp-select-trigger:hover:not(:disabled){background:#15364f;border-color:#55a2ce}
.tv-program-panel .tvp-select-trigger:focus-visible,
.tv-program-panel .tvp-select-shell.is-open .tvp-select-trigger{
  outline:none;border-color:#4dc4fa;background:#173a55;box-shadow:0 0 0 3px rgba(25,156,226,.17);
}
.tv-program-panel .tvp-select-trigger:disabled{cursor:not-allowed;opacity:.48}
.tvp-select-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tvp-select-chevron{width:8px;height:8px;flex:none;border-right:2px solid #7cc4ec;
  border-bottom:2px solid #7cc4ec;transform:rotate(45deg) translateY(-2px);
  transition:transform .15s}
.tv-program-panel .is-open .tvp-select-chevron{transform:rotate(225deg) translate(-2px,-1px)}
.tv-program-overlay .tvp-select-menu{
  position:fixed;z-index:100;overflow:auto;padding:6px;display:grid;gap:3px;align-content:start;
  border:1px solid #427b9e;border-radius:12px;background:#122c43;
  box-shadow:0 18px 45px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.04);
  scrollbar-color:#416c88 #142e44;overscroll-behavior:contain;
}
.tv-program-overlay .tvp-select-menu .tvp-select-option{
  display:flex;align-items:center;width:100%;min-height:36px;padding:9px 11px;
  text-align:left;line-height:1.25;font-size:12px;font-weight:600;
  border:1px solid transparent;border-radius:8px;color:#d8ebf8;background:transparent;
  white-space:normal;word-break:break-word;cursor:pointer;
}
.tv-program-overlay .tvp-select-option:hover:not(:disabled),
.tv-program-overlay .tvp-select-option:focus-visible{
  outline:none;background:#254f6f;color:#fff;border-color:#356d91;
}
.tv-program-overlay .tvp-select-option[aria-selected=true]{
  background:#1b4768;color:#8fe1ff;border-color:#2b769f;
}
.tv-program-overlay .tvp-select-option[aria-selected=true]::after{
  content:"✓";margin-left:auto;padding-left:9px;color:#7ce4bd;font-weight:900;
}
.tv-program-overlay .tvp-select-option:disabled{opacity:.42;cursor:not-allowed}
@media(max-width:640px){
  .tv-program-panel{padding:16px;gap:14px}
  .tv-program-top{padding:12px}
  .tv-program-panel footer{bottom:-16px}
  .tv-program-slide-editor{padding:14px}
}


/* Um painel de filtros compartilhado: período e equipes no topo, sem cartões altos e vazios. */
.tvps-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:22px;
  align-items:start;
  padding:17px 18px;
  border:1px solid #355f7b;
  border-radius:13px;
  background:#0e293f;
}
.tvps-overview-grid:not(.tvps-overview-grid--with-team){
  grid-template-columns:minmax(0,1fr);
}
#tv-program-slide-editor .tvps-overview-grid > .tvps-native-section{
  display:grid;
  align-content:start;
  grid-auto-rows:max-content;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  gap:12px;
}
#tv-program-slide-editor .tvps-overview-grid--with-team > #tvps-team-section{
  border-left:1px solid #355f7b;
  padding-left:21px;
  gap:10px;
}
#tv-program-slide-editor .tvps-overview-grid #tvps-sales-period-group{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  align-items:start;
}
.tvps-team-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.tvps-team-toolbar h4{flex-shrink:0}
.tvps-team-caption{align-items:center;gap:6px}
#tv-program-slide-editor .tvps-overview-grid #tvps-team-options{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));
  max-height:154px;
}
#tv-program-slide-editor .tvps-overview-grid #tvps-team-note{
  display:block;
  margin-top:1px;
}
@media(max-width:820px){
  .tvps-overview-grid.tvps-overview-grid--with-team{
    grid-template-columns:minmax(0,1fr);
    gap:15px;
  }
  #tv-program-slide-editor .tvps-overview-grid--with-team > #tvps-team-section{
    border-left:0;
    border-top:1px solid #355f7b;
    padding-left:0;
    padding-top:15px;
  }
}
@media(max-width:640px){
  .tvps-overview-grid{padding:14px}
  .tvps-team-toolbar{align-items:flex-start}
}

/* Filtros fiéis aos relatórios: Vendas, Assinaturas, Integrado, Detalhado e Campanha. */
#tv-program-slide-editor [hidden]{display:none!important}
#tv-program-slide-editor{gap:14px}
.tvps-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.tvps-editor-heading h3{margin-bottom:4px}
.tvps-editor-heading small{font-size:11px;color:#9fbdd4}
.tvps-native-section{display:grid;gap:12px;padding:15px 16px;border:1px solid #355f7b;border-radius:13px;background:#0e293f}
.tvps-native-section h4{margin:0;color:#e0f3ff;font-size:13px;font-weight:850}
.tvps-native-section p{margin:0;color:#99b9ce;font-size:12px;line-height:1.5}
.tvps-team-mode-actions{display:flex;gap:7px;flex-wrap:wrap}
.tv-program-panel .tvps-team-mode-actions button{padding:8px 13px;min-height:35px;border:1px solid #365e79;border-radius:8px;background:#15364e;color:#aac5d8;font-weight:700}
.tv-program-panel .tvps-team-mode-actions button.is-active{color:#74f4c2;border-color:#009c78;background:#063d37;box-shadow:inset 0 0 0 1px #008e70}
.tvps-team-caption{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 12px}
.tvps-team-caption strong{font-size:12px;font-weight:750;color:#cfeaff}
.tvps-team-caption small,.tvps-help{font-size:11px;color:#8cabbf;line-height:1.45}
.tvps-native-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:6px;max-height:155px;overflow:auto;padding:7px;background:#0b2031;border:1px solid #2a506b;border-radius:11px;scrollbar-color:#416d88 #0b2031}
.tv-program-panel label.tvps-check-item{display:flex!important;flex-direction:row;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;background:#102b40;border:1px solid transparent;cursor:pointer;color:#d0e3f1;font-size:12px;font-weight:650;line-height:1.25}
.tv-program-panel label.tvps-check-item:hover{background:#1c415b;border-color:#2f698e}
.tv-program-panel label.tvps-check-item:has(input:checked){background:#153f51;border-color:#3188a4}
.tv-program-panel .tvps-check-item input{width:17px;height:17px;min-height:17px;flex-shrink:0;accent-color:#22c49f;cursor:pointer}
.tv-program-panel .tvps-check-item span{min-width:0;overflow-wrap:anywhere}
.tvps-multi{border:1px solid #3d6680;border-radius:10px;background:#0f2a40;min-width:0}
.tvps-multi[open]{border-color:#4d92b5}
.tvps-multi summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:13px;padding:12px 13px;font-size:12px;font-weight:750;color:#d0e6f5}
.tvps-multi summary::-webkit-details-marker{display:none}
.tvps-multi summary::after{content:"⌄";font-size:18px;color:#75c8e9;line-height:1;transition:transform .16s}
.tvps-multi[open] summary::after{transform:rotate(180deg)}
.tvps-multi summary strong{margin-left:auto;color:#93b7ca;font-size:11px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}
.tvps-multi-options{margin:0 8px 8px;padding:7px;max-height:170px}
.tvps-native-multis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.tvps-basis{display:grid;gap:8px}
.tvps-basis>strong{color:#bfdaeb;font-size:12px}
.tvps-basis-choices{display:flex;flex-wrap:wrap;gap:8px}
.tv-program-panel .tvps-basis-choices label{display:flex!important;gap:7px;align-items:center;padding:10px 12px;border:1px solid #395e77;border-radius:10px;background:#112f46;cursor:pointer}
.tv-program-panel .tvps-basis-choices label:has(input:checked){border-color:#3ca7d9;background:#1a4d6c;color:#fff}
.tv-program-panel .tvps-basis-choices input{width:15px;height:15px;min-height:15px;accent-color:#3bbcf0}
@media(max-width:640px){.tvps-native-section{padding:12px}.tvps-native-multis{grid-template-columns:1fr}.tvps-basis-choices{flex-direction:column}.tvps-native-checks{grid-template-columns:1fr}}
