/* Carrusel de pantalla completa para el Modo Visualizador CBK. */
#cbk-visualizador-overlay #cbk-vz-content.cbk-vz-carousel {
  display: flex !important;
  flex-direction: column;
  gap: clamp(10px, 1.4vh, 18px);
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  padding: 0;
}

#cbk-visualizador-overlay .cvz-carousel-top {
  flex: 0 0 auto;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
  padding: 0 4px;
}

#cbk-visualizador-overlay .cvz-current-title { color:#d8eaf3; font-size:12px; font-weight:800; letter-spacing:.08em; text-align:center; text-transform:uppercase; white-space:nowrap; }
#cbk-visualizador-overlay .cvz-carousel-nav { display:flex; align-items:center; gap:7px; }
#cbk-visualizador-overlay .cvz-carousel-nav button {
  position:relative; width:40px; height:36px; padding:0; display:grid; place-items:center;
  border:1px solid rgba(130,174,197,.24); border-radius:9px; color:#a9c0cf;
  background:rgba(7,18,30,.48); cursor:pointer; transition:color .18s ease,background .18s ease,border-color .18s ease;
}
#cbk-visualizador-overlay .cvz-carousel-nav button span { font-size:11px; font-weight:800; }
#cbk-visualizador-overlay .cvz-carousel-nav button i { position:absolute; inset:auto 5px 3px; height:2px; border-radius:2px; background:transparent; }
#cbk-visualizador-overlay .cvz-carousel-nav button:hover,
#cbk-visualizador-overlay .cvz-carousel-nav button.is-active { color:#e7fbff; background:#0d5970; border-color:#29bbd5; }
#cbk-visualizador-overlay .cvz-carousel-nav button.is-active i { background:#75edfa; box-shadow:0 0 9px #42d8ef; }

#cbk-visualizador-overlay .cvz-page { display:none; flex:1 1 auto; min-height:0; overflow:hidden; }
#cbk-visualizador-overlay .cvz-page.is-active { display:flex; }
#cbk-visualizador-overlay .cvz-page--dashboard { min-height:0; }
#cbk-visualizador-overlay .cvz-dashboard-frame { display:block; flex:1 1 auto; width:100%; height:100%; min-width:0; min-height:0; overflow:hidden; }
#cbk-visualizador-overlay .cvz-page,
#cbk-visualizador-overlay .cvz-dashboard-frame,
#cbk-visualizador-overlay .cvz-dashboard-frame > .cbk-vz-grid,
#cbk-visualizador-overlay .cvz-page-content { background:transparent !important; }
#cbk-visualizador-overlay .cvz-dashboard-frame > .cbk-vz-grid {
  display:grid !important;
  flex:none !important;
  width:100% !important;
  height:100% !important;
  min-width:0;
  min-height:0;
  box-sizing:border-box;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:minmax(0,1fr) !important;
  align-content:stretch;
  justify-content:stretch;
  gap:clamp(10px,1vw,16px);
  overflow:auto;
}
#cbk-visualizador-overlay .cvz-page-content { display:flex; flex:1 1 auto; min-width:0; min-height:0; overflow:hidden; }

#cbk-visualizador-overlay .cvz-shot-layout {
  display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr); gap:clamp(18px,3vw,48px);
  width:100%; min-width:0; min-height:0; align-items:stretch; padding:clamp(8px,1.5vw,22px);
}
#cbk-visualizador-overlay .cvz-shot-art,
#cbk-visualizador-overlay .cvz-shot-table-wrap,
#cbk-visualizador-overlay .cvz-front-screen,
#cbk-visualizador-overlay .cvz-escort-screen {
  min-width:0; min-height:0; border:1px solid rgba(113,183,209,.2); border-radius:18px;
  background:linear-gradient(145deg,rgba(20,34,48,.82),rgba(11,23,35,.62));
  box-shadow:0 18px 45px rgba(0,0,0,.16),inset 0 1px rgba(231,248,255,.035);
}
#cbk-visualizador-overlay .cvz-shot-art { display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; overflow:hidden; padding:18px; }
#cbk-visualizador-overlay .cvz-shot-art::before { content:""; position:absolute; inset:10% 10%; border:1px solid rgba(24,192,222,.11); border-radius:50%; box-shadow:0 0 55px rgba(0,174,216,.08); pointer-events:none; }
#cbk-visualizador-overlay .cvz-shot-art-label { position:absolute; top:18px; left:20px; right:20px; display:flex; align-items:center; justify-content:space-between; z-index:1; }
#cbk-visualizador-overlay .cvz-shot-art img { position:relative; z-index:1; display:block; width:100%; height:calc(100% - 18px); max-height:100%; object-fit:contain; filter:drop-shadow(0 0 18px rgba(8,194,229,.18)); }
#cbk-visualizador-overlay .cvz-pulse { width:7px; height:7px; border-radius:50%; background:#46d8eb; box-shadow:0 0 0 5px rgba(70,216,235,.12),0 0 14px #46d8eb; }
#cbk-visualizador-overlay .cvz-shot-table-wrap,
#cbk-visualizador-overlay .cvz-escort-screen { display:flex; flex-direction:column; padding:clamp(16px,2vw,28px); }
#cbk-visualizador-overlay .cvz-slide-heading { display:flex; flex:0 0 auto; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
#cbk-visualizador-overlay .cvz-kicker { display:block; color:#6bd8ed; font-size:10px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
#cbk-visualizador-overlay .cvz-slide-heading h2 { margin:7px 0 5px; color:#f0f7fb; font-size:clamp(22px,2.2vw,34px); line-height:1.05; font-weight:850; letter-spacing:-.025em; }
#cbk-visualizador-overlay .cvz-slide-heading p { margin:0; color:#97adbb; font-size:clamp(11px,.95vw,14px); }
#cbk-visualizador-overlay .cvz-big-number { flex:0 0 auto; min-width:86px; color:#e8fbff; font-size:clamp(30px,4vw,54px); line-height:.9; font-weight:900; text-align:right; font-variant-numeric:tabular-nums; }
#cbk-visualizador-overlay .cvz-big-number small { display:block; margin-top:8px; color:#7ea0b4; font-size:9px; letter-spacing:.14em; }
#cbk-visualizador-overlay .cvz-data-table-wrap { flex:1 1 auto; min-width:0; min-height:0; overflow:auto; border:1px solid rgba(132,173,192,.24); border-radius:12px; background:rgba(8,18,29,.42); }
#cbk-visualizador-overlay .cvz-data-table { width:100%; border-collapse:separate; border-spacing:0; table-layout:auto; color:#e7f1f7; font-size:clamp(11px,.95vw,15px); }
#cbk-visualizador-overlay .cvz-data-table th { position:sticky; top:0; z-index:2; padding:13px 14px; background:#e7edf2; color:#14222d; font-size:clamp(10px,.85vw,13px); font-weight:850; text-align:left; text-transform:uppercase; letter-spacing:.035em; }
#cbk-visualizador-overlay .cvz-data-table th:first-child { border-radius:10px 0 0; }
#cbk-visualizador-overlay .cvz-data-table th:last-child { border-radius:0 10px 0 0; }
#cbk-visualizador-overlay .cvz-data-table td { padding:14px; border-bottom:1px solid rgba(127,162,180,.16); vertical-align:middle; }
#cbk-visualizador-overlay .cvz-data-table tbody tr:nth-child(even) { background:rgba(97,145,168,.075); }
#cbk-visualizador-overlay .cvz-data-table tbody tr:last-child td { border-bottom:0; }
#cbk-visualizador-overlay .cvz-data-table .cvz-num { color:#89efff; font-weight:850; white-space:nowrap; }
#cbk-visualizador-overlay .cvz-empty-row { padding:30px 16px !important; color:#9bb0bc; text-align:center; }
#cbk-visualizador-overlay .cvz-source-note { flex:0 0 auto; margin-top:12px; color:#718a99; font-size:10px; }

#cbk-visualizador-overlay .cvz-front-screen { display:flex; flex-direction:column; flex:1 1 auto; overflow:hidden; padding:clamp(18px,2.4vw,34px); }
#cbk-visualizador-overlay .cvz-front-heading { margin-bottom:22px; }
#cbk-visualizador-overlay .cvz-front-summary { display:flex; flex:0 0 auto; gap:clamp(15px,2vw,30px); }
#cbk-visualizador-overlay .cvz-front-summary div { display:grid; gap:4px; padding-left:14px; border-left:1px solid rgba(117,170,190,.22); }
#cbk-visualizador-overlay .cvz-front-summary strong { color:#e9f8fc; font-size:clamp(20px,2.2vw,31px); line-height:1; }
#cbk-visualizador-overlay .cvz-front-summary span { color:#7796a8; font-size:9px; font-weight:800; letter-spacing:.1em; white-space:nowrap; }
#cbk-visualizador-overlay .cvz-front-grid { display:grid; flex:1 1 auto; min-height:0; overflow:auto; grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr)); align-content:start; gap:14px; padding:2px 4px 8px 2px; }
#cbk-visualizador-overlay .cvz-front-card { min-width:0; padding:17px 18px; border:1px solid rgba(110,180,204,.2); border-radius:14px; background:linear-gradient(145deg,rgba(28,48,62,.74),rgba(11,25,38,.72)); }
#cbk-visualizador-overlay .cvz-front-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
#cbk-visualizador-overlay .cvz-front-status { display:flex; align-items:center; gap:7px; color:#9be6c0; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
#cbk-visualizador-overlay .cvz-front-status i { width:7px; height:7px; border-radius:50%; background:#42d392; box-shadow:0 0 10px rgba(66,211,146,.6); }
#cbk-visualizador-overlay .cvz-front-task-count { color:#7995a5; font-size:10px; }
#cbk-visualizador-overlay .cvz-front-card h3 { margin:17px 0 4px; color:#f0f7fa; font-size:clamp(17px,1.4vw,23px); font-weight:800; }
#cbk-visualizador-overlay .cvz-front-sector { margin:0; color:#86cadd; font-size:12px; }
#cbk-visualizador-overlay .cvz-front-stage { display:grid; gap:5px; margin-top:17px; padding-top:13px; border-top:1px solid rgba(125,165,183,.15); }
#cbk-visualizador-overlay .cvz-front-stage span { color:#7792a1; font-size:9px; font-weight:800; letter-spacing:.1em; }
#cbk-visualizador-overlay .cvz-front-stage strong { color:#d9eaf0; font-size:13px; }
#cbk-visualizador-overlay .cvz-progress-row { display:flex; justify-content:space-between; gap:10px; margin:17px 0 7px; color:#94aab7; font-size:11px; }
#cbk-visualizador-overlay .cvz-progress-row strong { color:#85ecf7; }
#cbk-visualizador-overlay .cvz-progress-track { height:6px; overflow:hidden; border-radius:9px; background:rgba(125,165,183,.14); }
#cbk-visualizador-overlay .cvz-progress-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#0aaac7,#73ebf1); box-shadow:0 0 12px rgba(57,218,235,.35); }
#cbk-visualizador-overlay .cvz-empty-state { grid-column:1/-1; display:grid; min-height:180px; place-items:center; border:1px dashed rgba(130,173,193,.25); border-radius:14px; color:#98adbb; font-size:14px; }

#cbk-visualizador-overlay .cvz-escort-screen { flex:1 1 auto; }
#cbk-visualizador-overlay .cvz-escort-table { font-size:clamp(10px,.88vw,14px); }
#cbk-visualizador-overlay .cvz-escort-table td { padding:clamp(10px,1.1vh,16px) clamp(8px,.95vw,15px); }
#cbk-visualizador-overlay .cvz-escort-table tbody tr:nth-child(odd) { background:rgba(35,157,193,.12); }
#cbk-visualizador-overlay .cvz-escort-table tbody tr:nth-child(even) { background:rgba(225,241,247,.025); }
#cbk-visualizador-overlay .cvz-escort-table .cvz-camioneta { color:#83eafa; font-weight:800; white-space:nowrap; }

#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-shot-art,
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-shot-table-wrap,
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-front-screen,
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-escort-screen { background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(236,245,249,.94)); border-color:rgba(77,126,147,.24); }
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-slide-heading h2,
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-front-card h3 { color:#14222d; }
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-slide-heading p,
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-front-task-count,
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-front-progress { color:#526b7a; }
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-big-number,
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-front-summary strong { color:#152b3a; }
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-front-card { background:#f7fbfd; border-color:#c7dce5; }
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-front-stage strong { color:#1c3443; }
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-data-table { color:#192d3a; }
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-data-table td { border-color:rgba(53,100,122,.14); }
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-data-table tbody tr:nth-child(even) { background:rgba(22,135,171,.07); }
#cbk-visualizador-overlay:not(.cbk-vz-dark) .cvz-data-table-wrap { background:rgba(247,251,253,.8); border-color:#cbdce4; }

@media (max-width:1400px) {
  #cbk-visualizador-overlay .cvz-dashboard-frame > .cbk-vz-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; grid-auto-rows:minmax(230px,auto) !important; }
}
@media (max-width:980px) {
  #cbk-visualizador-overlay .cvz-dashboard-frame > .cbk-vz-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width:900px) {
  #cbk-visualizador-overlay .cvz-current-title { display:none; }
  #cbk-visualizador-overlay .cvz-shot-layout { grid-template-columns:minmax(190px,.75fr) minmax(0,1.25fr); gap:12px; padding:4px; }
  #cbk-visualizador-overlay .cvz-shot-art { padding:10px; }
  #cbk-visualizador-overlay .cvz-shot-table-wrap,
  #cbk-visualizador-overlay .cvz-escort-screen,
  #cbk-visualizador-overlay .cvz-front-screen { padding:14px; }
  #cbk-visualizador-overlay .cvz-front-summary { gap:10px; }
  #cbk-visualizador-overlay .cvz-front-summary div { padding-left:8px; }
}
@media (max-width:620px) {
  #cbk-visualizador-overlay .cvz-carousel-top { min-height:38px; gap:6px; }
  #cbk-visualizador-overlay .cvz-dashboard-frame > .cbk-vz-grid { grid-template-columns:1fr !important; grid-auto-rows:minmax(220px,auto) !important; }
  #cbk-visualizador-overlay .cvz-carousel-nav { gap:3px; }
  #cbk-visualizador-overlay .cvz-carousel-nav button { width:30px; height:31px; }
  #cbk-visualizador-overlay .cvz-shot-layout { grid-template-columns:1fr; grid-template-rows:minmax(100px,.36fr) minmax(0,1fr); gap:8px; }
  #cbk-visualizador-overlay .cvz-shot-art { min-height:0; }
  #cbk-visualizador-overlay .cvz-shot-art img { width:auto; max-width:90%; height:100%; }
  #cbk-visualizador-overlay .cvz-shot-art-label { top:8px; left:12px; }
  #cbk-visualizador-overlay .cvz-slide-heading { margin-bottom:10px; gap:8px; }
  #cbk-visualizador-overlay .cvz-slide-heading h2 { font-size:20px; }
  #cbk-visualizador-overlay .cvz-slide-heading p { font-size:10px; }
  #cbk-visualizador-overlay .cvz-big-number { min-width:45px; font-size:28px; }
  #cbk-visualizador-overlay .cvz-data-table th,
  #cbk-visualizador-overlay .cvz-data-table td { padding:8px 7px; }
  #cbk-visualizador-overlay .cvz-front-heading { align-items:flex-start; flex-direction:column; }
  #cbk-visualizador-overlay .cvz-front-summary { width:100%; justify-content:space-between; }
  #cbk-visualizador-overlay .cvz-escort-table { min-width:700px; }
}
