/* ==========================================================
   AUSAPE V8.9 · Dashboard Ejecutivo TV Premium White
   - Tema blanco premium para pantalla permanente
   - Gráficas verticales, editor visual y mejoras responsive
   ========================================================== */
:root{
  --v89-bg:#f5fbff;
  --v89-card:#ffffff;
  --v89-ink:#073653;
  --v89-muted:#55718a;
  --v89-blue:#009fe3;
  --v89-blue2:#0076b6;
  --v89-cyan:#6dd8ff;
  --v89-gold:#f2b544;
  --v89-line:#cceeff;
  --v89-shadow:0 26px 70px rgba(2,75,120,.13);
  --v89-radius:32px;
}
#executiveTv .v88-tv-module{gap:22px!important;}
#executiveTv .v88-tv-header{
  background:
    radial-gradient(circle at 8% 12%,rgba(0,159,227,.13),transparent 30%),
    radial-gradient(circle at 92% 10%,rgba(242,181,68,.16),transparent 22%),
    linear-gradient(135deg,#ffffff 0%,#f8fdff 54%,#eefaff 100%)!important;
  border:1px solid var(--v89-line)!important;
  box-shadow:var(--v89-shadow)!important;
  border-radius:32px!important;
  color:var(--v89-ink)!important;
}
#executiveTv .v88-tv-title h3{color:var(--v89-ink)!important;font-weight:950!important;}
#executiveTv .v88-tv-title p{color:var(--v89-muted)!important;}
#executiveTv .v88-tv-actions button{
  background:#fff!important;color:var(--v89-blue2)!important;border-color:#bfeaff!important;
  box-shadow:0 14px 30px rgba(0,120,190,.10)!important;
}
#executiveTv .v88-tv-actions button.primary,
#executiveTv .v88-tv-actions button:hover{
  background:linear-gradient(135deg,var(--v89-blue),var(--v89-blue2))!important;color:#fff!important;border-color:var(--v89-blue)!important;
}
#executiveTv .v88-tv-config,
#executiveTv .v89-tv-editor{
  background:rgba(255,255,255,.92)!important;
  border:1px solid var(--v89-line)!important;
  border-radius:28px!important;
  box-shadow:0 20px 55px rgba(0,95,150,.10)!important;
  backdrop-filter:blur(18px);
}
#executiveTv .v89-tv-editor{padding:18px;display:grid;gap:14px;}
#executiveTv .v89-tv-editor-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
#executiveTv .v89-tv-editor-head h4{margin:0;color:var(--v89-ink);font-size:20px;letter-spacing:-.02em;}
#executiveTv .v89-tv-editor-head p{margin:4px 0 0;color:var(--v89-muted);font-weight:750;}
#executiveTv .v89-tv-editor-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
#executiveTv .v89-tv-editor label{display:grid;gap:6px;color:var(--v89-ink);font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;}
#executiveTv .v89-tv-editor label.wide{grid-column:span 2;}
#executiveTv .v89-tv-editor input,
#executiveTv .v89-tv-editor select,
#executiveTv .v89-tv-editor textarea{min-width:0;width:100%;border:1px solid #cceeff;border-radius:16px;background:#fff;color:#073653;font-weight:800;padding:12px 13px;outline:none;}
#executiveTv .v89-tv-editor textarea{min-height:76px;resize:vertical;text-transform:none;letter-spacing:0;font-weight:750;}
#executiveTv .v89-tv-editor input:focus,
#executiveTv .v89-tv-editor select:focus,
#executiveTv .v89-tv-editor textarea:focus{border-color:var(--v89-blue);box-shadow:0 0 0 4px rgba(0,159,227,.13);}
#executiveTv .v89-tv-editor-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
#executiveTv .v89-tv-editor-actions button{border:1px solid #bfeaff;border-radius:999px;background:#fff;color:var(--v89-blue2);padding:10px 14px;font-weight:950;box-shadow:0 10px 24px rgba(0,95,150,.08);}
#executiveTv .v89-tv-editor-actions button.v89-primary{background:linear-gradient(135deg,var(--v89-blue),var(--v89-blue2));color:#fff;}
#executiveTv .v88-tv-stage-wrap{
  background:linear-gradient(145deg,#e8f8ff,#ffffff)!important;
  border:1px solid #bfeaff!important;
  box-shadow:0 30px 85px rgba(0,82,130,.18)!important;
  border-radius:34px!important;
}
#executiveTv .v88-tv-stage{
  background:
    radial-gradient(circle at 8% 8%,rgba(0,159,227,.14),transparent 27%),
    radial-gradient(circle at 90% 10%,rgba(242,181,68,.16),transparent 20%),
    radial-gradient(circle at 95% 90%,rgba(0,159,227,.10),transparent 26%),
    linear-gradient(135deg,#ffffff 0%,#f8fdff 45%,#eefaff 100%)!important;
  color:var(--v89-ink)!important;
  border:1px solid #d7f2ff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
}
#executiveTv .v88-tv-stage::before{
  background:conic-gradient(from 120deg,transparent,rgba(0,159,227,.10),transparent 22%,rgba(242,181,68,.12),transparent 42%)!important;
  opacity:.75;
}
#executiveTv .v88-tv-stage::after{
  background:linear-gradient(180deg,rgba(255,255,255,.25),transparent 50%,rgba(0,159,227,.04))!important;
}
#executiveTv .v88-tv-brand img{background:#fff!important;border:1px solid #d7f2ff!important;box-shadow:0 16px 44px rgba(0,95,150,.14)!important;}
#executiveTv .v88-tv-brand b{color:var(--v89-ink)!important;}
#executiveTv .v88-tv-brand span{color:var(--v89-muted)!important;}
#executiveTv .v88-tv-clock{background:#fff!important;border:1px solid #cceeff!important;color:var(--v89-ink)!important;box-shadow:0 16px 44px rgba(0,95,150,.12)!important;}
#executiveTv .v88-tv-clock span{color:var(--v89-blue2)!important;}
#executiveTv .v88-tv-slide h2{color:var(--v89-ink)!important;text-shadow:none!important;}
#executiveTv .v88-tv-sub{color:var(--v89-muted)!important;}
#executiveTv .v88-tv-kpi,
#executiveTv .v88-tv-panel,
#executiveTv .v88-tv-status{
  background:rgba(255,255,255,.88)!important;
  border:1px solid #cceeff!important;
  color:var(--v89-ink)!important;
  box-shadow:0 18px 50px rgba(0,82,130,.12)!important;
  backdrop-filter:blur(16px);
}
#executiveTv .v88-tv-kpi small,
#executiveTv .v88-tv-panel h4,
#executiveTv .v88-tv-table th,
#executiveTv .v88-tv-status span{color:var(--v89-blue2)!important;}
#executiveTv .v88-tv-kpi b,
#executiveTv .v88-tv-status b{color:var(--v89-ink)!important;}
#executiveTv .v88-tv-kpi span{color:var(--v89-muted)!important;}
#executiveTv .v88-tv-table{color:var(--v89-ink)!important;}
#executiveTv .v88-tv-table th,
#executiveTv .v88-tv-table td{border-bottom:1px solid #e5f6ff!important;}
#executiveTv .v88-tv-progress{background:rgba(0,118,182,.12)!important;}
#executiveTv .v88-tv-progress i{background:linear-gradient(90deg,var(--v89-blue),var(--v89-cyan),var(--v89-gold))!important;}
#executiveTv .v88-tv-footnote{color:var(--v89-muted)!important;}
#executiveTv .v88-tv-live-dot{background:#16a34a!important;}
#executiveTv .v88-tv-ring .ring{background:conic-gradient(var(--v89-blue) var(--p),#e8f7ff 0)!important;}
#executiveTv .v88-tv-ring .ring::before{background:#fff!important;box-shadow:inset 0 0 0 1px #d7f2ff;}
#executiveTv .v88-tv-ring b{color:var(--v89-ink)!important;}
/* Gráficas verticales premium */
#executiveTv .v89-column-chart{height:100%;min-height:245px;display:grid;grid-template-columns:repeat(var(--cols,12),minmax(28px,1fr));gap:12px;align-items:end;padding:16px 8px 4px;border-radius:22px;background:linear-gradient(180deg,#fbfeff,#f4fbff);border:1px solid #e1f4ff;overflow:hidden;}
#executiveTv .v89-col{display:grid;grid-template-rows:minmax(130px,1fr) auto auto;gap:8px;align-items:end;min-width:0;}
#executiveTv .v89-col-bars{height:150px;display:flex;align-items:flex-end;justify-content:center;gap:4px;border-radius:16px;background:linear-gradient(180deg,rgba(0,159,227,.05),rgba(0,159,227,.015));padding:8px 5px;position:relative;overflow:hidden;}
#executiveTv .v89-col-bars::before{content:"";position:absolute;inset:25% 0 auto;height:1px;background:#d9f1fb;box-shadow:0 37px 0 #d9f1fb,0 74px 0 #d9f1fb;}
#executiveTv .v89-col-bar{width:42%;min-width:7px;border-radius:999px 999px 7px 7px;position:relative;z-index:1;min-height:4px;animation:v89-rise .65s cubic-bezier(.2,.8,.2,1) both;}
#executiveTv .v89-col-bar.total{background:linear-gradient(180deg,var(--v89-blue),#5bd5ff);box-shadow:0 8px 18px rgba(0,159,227,.24);}
#executiveTv .v89-col-bar.apd{background:linear-gradient(180deg,#006fa9,var(--v89-blue));}
#executiveTv .v89-col-bar.esp{background:linear-gradient(180deg,var(--v89-gold),#ffd977);}
#executiveTv .v89-col b{font-size:14px;color:var(--v89-ink);text-align:center;white-space:nowrap;}
#executiveTv .v89-col span{font-size:11px;color:var(--v89-muted);font-weight:900;text-transform:uppercase;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@keyframes v89-rise{from{height:0!important;opacity:.35}to{opacity:1}}
#executiveTv .v89-chart-legend{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0 0;color:var(--v89-muted);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.04em;}
#executiveTv .v89-chart-legend i{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px;vertical-align:middle;}
#executiveTv .v89-chart-legend .apd i{background:var(--v89-blue2)}
#executiveTv .v89-chart-legend .esp i{background:var(--v89-gold)}
#executiveTv .v89-chart-legend .total i{background:var(--v89-blue)}
#executiveTv .v89-data-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;}
#executiveTv .v89-mini-card{border:1px solid #d7f2ff;background:#fff;border-radius:22px;padding:16px;box-shadow:0 14px 36px rgba(0,82,130,.08);min-width:0;}
#executiveTv .v89-mini-card small{display:block;color:var(--v89-blue2);font-weight:950;text-transform:uppercase;letter-spacing:.06em;}
#executiveTv .v89-mini-card b{font-size:clamp(26px,3vw,48px);color:var(--v89-ink);display:block;letter-spacing:-.05em;}
#executiveTv .v89-mini-card span{color:var(--v89-muted);font-weight:800;}
#executiveTv .v89-slide-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid #cceeff;border-radius:999px;background:#fff;color:var(--v89-blue2);font-weight:950;padding:8px 12px;box-shadow:0 10px 28px rgba(0,95,150,.08);width:max-content;}
body.v88-tv-kiosk #executiveTv .v88-tv-stage-wrap{background:#fff!important;}
body.v88-tv-kiosk #executiveTv .v88-tv-stage{height:100vh;width:100vw;background:linear-gradient(135deg,#fff 0%,#f7fdff 48%,#eaf8ff 100%)!important;}
@media(max-width:1350px){#executiveTv .v89-tv-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));}#executiveTv .v89-data-strip{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:780px){#executiveTv .v89-tv-editor label.wide{grid-column:auto;}#executiveTv .v89-tv-editor-grid{grid-template-columns:1fr;}#executiveTv .v89-column-chart{grid-template-columns:repeat(6,minmax(32px,1fr));overflow-x:auto;}#executiveTv .v89-data-strip{grid-template-columns:1fr;}#executiveTv .v88-tv-stage{min-height:980px!important;}}
@media(prefers-reduced-motion:reduce){#executiveTv .v89-col-bar{animation:none!important}}
