/* ==========================================================
   AUSAPE V9.1 · Dashboard Ejecutivo TV Jefa Pro
   Blanco premium, responsive real, números sin truncar y CCAA completas.
   ========================================================== */
:root{
  --v90-blue:#009fe3;
  --v90-blue-2:#0076b6;
  --v90-navy:#003b5c;
  --v90-ink:#082f49;
  --v90-muted:#64788c;
  --v90-soft:#f3fbff;
  --v90-line:#d4f0ff;
  --v90-card:#ffffff;
  --v90-gold:#f2b544;
  --v90-green:#16a34a;
  --v90-red:#ef4444;
  --v90-shadow:0 22px 70px rgba(0,76,120,.12);
}
#executiveTv.v90-enabled,
#executiveTv.v91-enabled{
  background:linear-gradient(180deg,#fff 0%,#f6fcff 56%,#fff 100%)!important;
  color:var(--v90-ink)!important;
}
#executiveTv.v90-enabled .v88-tv-stage-wrap,
#executiveTv.v90-enabled #v89TvEditor,
#executiveTv.v90-enabled .v88-tv-config,
#executiveTv.v91-enabled .v88-tv-stage-wrap,
#executiveTv.v91-enabled #v89TvEditor,
#executiveTv.v91-enabled .v88-tv-config{display:none!important;}
#executiveTv.v90-enabled .v88-tv-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:start!important;
  gap:14px!important;
  background:linear-gradient(135deg,#fff 0%,#fbfeff 52%,#eefaff 100%)!important;
  border:1px solid var(--v90-line)!important;
  border-radius:28px!important;
  box-shadow:var(--v90-shadow)!important;
  overflow:visible!important;
}
#executiveTv.v90-enabled .v88-tv-title h3{color:var(--v90-ink)!important;line-height:1.08!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
#executiveTv.v90-enabled .v88-tv-title p{color:var(--v90-muted)!important;max-width:100ch!important;}
#executiveTv.v90-enabled .v88-tv-actions{display:none!important;}
.nav .v90-tv-nav{position:relative;}
.nav .v90-tv-nav::after{content:"TV";margin-left:auto;background:#e7f8ff;color:#0076b6;border:1px solid #b9eaff;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:950;}
.v90-control-panel{display:grid;gap:14px;background:linear-gradient(135deg,#fff,#f8fdff);border:1px solid var(--v90-line);border-radius:28px;padding:18px;box-shadow:0 18px 52px rgba(0,95,150,.10);margin:16px 0;min-width:0;}
.v90-control-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-width:0;}
.v90-control-head h4{margin:0;color:var(--v90-ink);font-size:clamp(18px,1.5vw,25px);letter-spacing:-.02em;}
.v90-control-head p{margin:4px 0 0;color:var(--v90-muted);font-weight:750;line-height:1.35;}
.v90-control-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.v90-btn{border:1px solid #bdeaff;background:#fff;color:var(--v90-blue-2);border-radius:999px;padding:11px 15px;font-weight:950;cursor:pointer;box-shadow:0 10px 24px rgba(0,95,150,.08);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;}
.v90-btn:hover{transform:translateY(-1px);box-shadow:0 16px 30px rgba(0,95,150,.13);}
.v90-btn.primary{background:linear-gradient(135deg,var(--v90-blue),var(--v90-blue-2));color:#fff;border-color:var(--v90-blue);}
.v90-config-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;min-width:0;}
.v90-config-grid label{display:grid;gap:6px;color:var(--v90-ink);font-size:11px;text-transform:uppercase;letter-spacing:.055em;font-weight:950;min-width:0;}
.v90-config-grid label.wide{grid-column:span 2;}
.v90-config-grid input,.v90-config-grid select,.v90-config-grid textarea{width:100%;min-width:0;border:1px solid #ccecff;border-radius:15px;background:#fff;color:#073653;font-weight:800;padding:11px 12px;outline:none;}
.v90-config-grid textarea{min-height:66px;resize:vertical;text-transform:none;letter-spacing:0;font-weight:750;}
.v90-config-grid input:focus,.v90-config-grid select:focus,.v90-config-grid textarea:focus{border-color:var(--v90-blue);box-shadow:0 0 0 4px rgba(0,159,227,.12);}
.v90-tv-shell{display:grid;gap:18px;margin-top:18px;min-width:0;}
.v90-stage-card{border-radius:34px;padding:clamp(10px,1.2vw,18px);background:linear-gradient(145deg,#eefaff,#fff);border:1px solid #bfeaff;box-shadow:0 28px 90px rgba(0,82,130,.14);min-width:0;}
.v90-stage{position:relative;width:100%;aspect-ratio:16/9;min-height:640px;max-height:calc(100vh - 230px);border-radius:28px;overflow:hidden;background:radial-gradient(circle at 8% 10%,rgba(0,159,227,.10),transparent 25%),radial-gradient(circle at 94% 9%,rgba(242,181,68,.14),transparent 20%),radial-gradient(circle at 88% 94%,rgba(0,159,227,.08),transparent 28%),linear-gradient(135deg,#fff 0%,#fbfeff 47%,#eefaff 100%);border:1px solid #d6f2ff;color:var(--v90-ink);isolation:isolate;contain:layout paint;}
.v90-stage::before{content:"";position:absolute;inset:-35%;background:conic-gradient(from 100deg,transparent,rgba(0,159,227,.065),transparent 22%,rgba(242,181,68,.10),transparent 45%);animation:v90-orbit 32s linear infinite;z-index:-1;}
.v90-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.22),transparent 60%,rgba(0,159,227,.035));pointer-events:none;}
@keyframes v90-orbit{to{transform:rotate(360deg)}}
.v90-top{position:absolute;left:clamp(22px,2.35vw,44px);right:clamp(22px,2.35vw,44px);top:clamp(16px,1.75vw,30px);height:clamp(66px,6.9vw,96px);display:flex;align-items:center;justify-content:space-between;gap:18px;z-index:5;min-width:0;}
.v90-brand{display:flex;align-items:center;gap:clamp(12px,1.2vw,18px);min-width:0;}
.v90-brand img{width:clamp(128px,12vw,210px);height:auto;background:#fff;border:1px solid #d7f2ff;border-radius:18px;padding:7px;box-shadow:0 14px 38px rgba(0,95,150,.11);flex:0 0 auto;}
.v90-brand-text{min-width:0;}
.v90-brand b{display:block;font-size:clamp(18px,1.95vw,34px);line-height:1.04;letter-spacing:-.04em;color:var(--v90-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw;}
.v90-brand span{display:block;margin-top:4px;color:var(--v90-muted);font-weight:850;font-size:clamp(11px,.88vw,14px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw;}
.v90-live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--v90-green);box-shadow:0 0 0 0 rgba(22,163,74,.55);animation:v90-pulse 1.6s infinite;margin-right:7px;vertical-align:middle;}
@keyframes v90-pulse{70%{box-shadow:0 0 0 11px rgba(22,163,74,0)}}
.v90-clock{flex:0 0 auto;text-align:right;background:#fff;border:1px solid #ccecff;border-radius:20px;padding:clamp(10px,.9vw,15px);box-shadow:0 14px 40px rgba(0,95,150,.10);min-width:126px;}
.v90-clock b{display:block;font-size:clamp(22px,2.45vw,42px);line-height:1;color:var(--v90-ink);letter-spacing:-.05em;}
.v90-clock span{display:block;color:var(--v90-blue-2);font-size:clamp(10px,.72vw,12px);font-weight:950;text-transform:uppercase;letter-spacing:.045em;}
.v90-slide{position:absolute;inset:calc(clamp(16px,1.75vw,30px) + clamp(74px,7vw,102px)) clamp(22px,2.35vw,44px) clamp(28px,2.25vw,44px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:clamp(12px,1.15vw,20px);opacity:0;transform:translateY(14px) scale(.994);pointer-events:none;transition:opacity .42s ease,transform .42s ease;min-height:0;overflow:hidden;z-index:3;}
.v90-slide.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.v90-slide-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;min-width:0;}
.v90-slide-title{min-width:0;}
.v90-slide-title h2{margin:0;color:var(--v90-ink);font-size:clamp(25px,3vw,52px);line-height:1.02;letter-spacing:-.055em;white-space:normal;overflow-wrap:normal;word-break:normal;}
.v90-slide-title p{margin:7px 0 0;color:var(--v90-muted);font-size:clamp(12px,1vw,18px);font-weight:800;line-height:1.28;max-width:95ch;}
.v90-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #ccecff;border-radius:999px;color:var(--v90-blue-2);font-size:clamp(10px,.78vw,12px);font-weight:950;text-transform:uppercase;letter-spacing:.045em;padding:8px 12px;box-shadow:0 10px 24px rgba(0,95,150,.08);white-space:nowrap;}
.v90-grid{display:grid;gap:clamp(11px,1.15vw,18px);min-height:0;min-width:0;}
.v90-grid.summary{grid-template-columns:minmax(0,1.34fr) minmax(300px,.66fr);}
.v90-grid.monthly,.v90-grid.forum,.v90-grid.geo{grid-template-columns:minmax(0,1fr) minmax(300px,.34fr);}
.v91-geo-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.46fr)!important;}
.v90-kpi-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1vw,16px);min-width:0;min-height:0;}
.v91-forum-kpis{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;}
.v90-kpi{background:rgba(255,255,255,.92);border:1px solid #d8f3ff;border-radius:clamp(18px,1.2vw,24px);padding:clamp(13px,1.15vw,20px);box-shadow:0 16px 44px rgba(0,82,130,.095);min-width:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;}
.v90-kpi small{display:block;color:#50677c;font-size:clamp(10px,.73vw,12px);font-weight:950;text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v90-kpi b{display:block;color:var(--v90-ink);font-size:clamp(34px,4.25vw,74px);line-height:.92;letter-spacing:-.07em;margin:7px 0 4px;white-space:nowrap;overflow:visible;text-overflow:clip;font-variant-numeric:tabular-nums;}
.v90-kpi[data-digits="5"] b,.v90-kpi[data-digits="6"] b,.v90-kpi[data-digits="7"] b{font-size:clamp(28px,3.5vw,62px);letter-spacing:-.065em;}
.v90-kpi span{display:block;color:var(--v90-muted);font-weight:850;font-size:clamp(11px,.82vw,14px);line-height:1.25;}
.v90-kpi.hero{background:linear-gradient(145deg,#fff,#f3fbff);border-color:#bfeaff;}
.v90-card{background:rgba(255,255,255,.90);border:1px solid #d8f3ff;border-radius:clamp(20px,1.3vw,26px);padding:clamp(14px,1.25vw,22px);box-shadow:0 16px 48px rgba(0,82,130,.095);min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column;}
.v90-card h3{margin:0 0 10px;color:var(--v90-ink);font-size:clamp(17px,1.2vw,22px);letter-spacing:-.02em;}
.v90-card p,.v91-note{color:var(--v90-muted);font-weight:800;line-height:1.35;margin:10px 0 0;font-size:clamp(12px,.88vw,14px);}
.v90-chart{flex:1;min-height:0;display:grid;align-items:end;gap:8px;}
.v91-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px;min-width:0;}
.v91-chart-head b{color:var(--v90-ink);font-size:clamp(15px,1.05vw,21px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v91-chart-head span{color:var(--v90-muted);font-weight:900;font-size:clamp(10px,.72vw,12px);text-transform:uppercase;letter-spacing:.045em;white-space:nowrap;}
.v90-column-chart{height:100%;min-height:0;display:grid;grid-template-columns:repeat(var(--cols,8),minmax(0,1fr));gap:clamp(5px,.55vw,10px);align-items:end;padding:clamp(8px,.8vw,14px) 5px 4px;border-radius:20px;background:linear-gradient(180deg,#fbfeff,#f5fbff);border:1px solid #e1f4ff;overflow:hidden;}
.v91-ccaa-all{gap:clamp(3px,.35vw,7px);}
.v90-col{display:grid;grid-template-rows:minmax(76px,1fr) auto auto;gap:6px;align-items:end;min-width:0;height:100%;}
.v90-col-bars{height:100%;min-height:80px;display:flex;align-items:flex-end;justify-content:center;gap:4px;border-radius:15px;background:linear-gradient(180deg,rgba(0,159,227,.045),rgba(0,159,227,.012));padding:7px 4px;position:relative;overflow:hidden;}
.v90-col-bars::before{content:"";position:absolute;left:0;right:0;top:25%;height:1px;background:#d9f1fb;box-shadow:0 36px 0 #d9f1fb,0 72px 0 #d9f1fb;opacity:.75;}
.v90-bar{width:48%;min-width:5px;max-width:24px;border-radius:999px 999px 7px 7px;position:relative;z-index:1;min-height:4px;animation:v90-rise .55s cubic-bezier(.2,.8,.2,1) both;}
.v90-bar.total{background:linear-gradient(180deg,var(--v90-blue),#5bd5ff);box-shadow:0 8px 18px rgba(0,159,227,.22);}
.v90-bar.apd{background:linear-gradient(180deg,#006fa9,var(--v90-blue));}
.v90-bar.esp{background:linear-gradient(180deg,var(--v90-gold),#ffd977);}
@keyframes v90-rise{from{height:0!important;opacity:.25}to{opacity:1}}
.v90-col b{font-size:clamp(10px,.78vw,13px);color:var(--v90-ink);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;}
.v90-col span{font-size:clamp(8px,.58vw,10px);color:var(--v90-muted);font-weight:950;text-transform:uppercase;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v90-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;color:var(--v90-muted);font-weight:950;font-size:clamp(9px,.68vw,11px);text-transform:uppercase;letter-spacing:.04em;}
.v90-legend i{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:6px;vertical-align:middle;}
.v90-list{display:grid;gap:8px;min-height:0;overflow:auto;padding-right:2px;}
.v90-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #e1f4ff;border-radius:14px;background:#fff;padding:8px 10px;min-width:0;}
.v90-list-row b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--v90-ink);font-size:clamp(11px,.8vw,13px);}
.v90-list-row span{font-weight:950;color:var(--v90-blue-2);font-size:clamp(12px,.9vw,14px);}
.v90-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;}
.v91-status-compact{grid-template-columns:repeat(3,minmax(0,1fr));}
.v90-status{background:#fff;border:1px solid #d8f3ff;border-radius:18px;padding:13px;min-width:0;box-shadow:0 12px 32px rgba(0,82,130,.075);}
.v90-status b{display:block;color:var(--v90-ink);font-size:clamp(24px,2.7vw,46px);line-height:.95;letter-spacing:-.055em;white-space:nowrap;overflow:visible;text-overflow:clip;font-variant-numeric:tabular-nums;}
.v90-status span{display:block;color:var(--v90-muted);font-size:clamp(9px,.68vw,11px);font-weight:950;text-transform:uppercase;letter-spacing:.06em;line-height:1.2;margin-top:5px;}
.v91-ccaa-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px;overflow:auto;min-height:0;}
.v91-ccaa-chip{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"abbr num" "name name" "meta meta";align-items:center;gap:2px 8px;background:#fff;border:1px solid #e1f4ff;border-radius:14px;padding:7px 9px;min-width:0;}
.v91-ccaa-chip.has-data{border-color:#bdeaff;background:linear-gradient(135deg,#fff,#f4fbff);}
.v91-ccaa-chip.empty{opacity:.72;}
.v91-ccaa-chip b{grid-area:abbr;color:var(--v90-blue-2);font-weight:950;font-size:11px;}
.v91-ccaa-chip span{grid-area:num;justify-self:end;color:var(--v90-ink);font-size:17px;font-weight:950;line-height:1;font-variant-numeric:tabular-nums;}
.v91-ccaa-chip small{grid-area:name;color:#50677c;font-size:10px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v91-ccaa-chip em{grid-area:meta;color:#7a8ca0;font-size:9px;font-style:normal;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v90-foot{position:absolute;left:clamp(22px,2.35vw,44px);right:clamp(22px,2.35vw,44px);bottom:clamp(12px,1.1vw,20px);display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--v90-muted);font-size:clamp(10px,.68vw,12px);font-weight:850;z-index:6;pointer-events:none;}
.v90-progress{height:5px;flex:1;max-width:48%;background:rgba(0,118,182,.12);border-radius:999px;overflow:hidden;}
.v90-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--v90-blue),#5bd5ff,var(--v90-gold));border-radius:inherit;animation:v90-progress var(--v90-cycle,14s) linear infinite;}
@keyframes v90-progress{to{width:100%}}
.v90-kiosk-exit{display:none;position:fixed;right:24px;top:24px;z-index:10000;border:1px solid #d8f3ff;background:#fff;color:var(--v90-blue-2);border-radius:999px;padding:12px 16px;font-weight:950;box-shadow:0 14px 34px rgba(0,82,130,.16);cursor:pointer;}
body.v90-tv-kiosk .sidebar,body.v90-tv-kiosk .topbar,body.v90-tv-kiosk footer,body.v90-tv-kiosk #executiveTv .v88-tv-header,body.v90-tv-kiosk #executiveTv .v90-control-panel{display:none!important;}
body.v90-tv-kiosk .app{display:block!important;height:100vh!important;overflow:hidden!important;}
body.v90-tv-kiosk .main{margin:0!important;padding:0!important;width:100vw!important;max-width:none!important;height:100vh!important;overflow:hidden!important;}
body.v90-tv-kiosk #executiveTv.section{position:fixed!important;display:block!important;inset:0!important;z-index:9998!important;background:#fff!important;padding:0!important;margin:0!important;overflow:hidden!important;}
body.v90-tv-kiosk .v90-tv-shell,body.v90-tv-kiosk .v90-stage-card{height:100%!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;}
body.v90-tv-kiosk .v90-stage{height:100vh!important;width:100vw!important;max-height:none!important;min-height:0!important;aspect-ratio:auto!important;border-radius:0!important;border:0!important;}
body.v90-tv-kiosk .v90-kiosk-exit{display:block;}
body.v90-tv-kiosk .v90-slide{inset:calc(clamp(16px,1.75vw,30px) + clamp(74px,7vw,102px)) clamp(28px,2.6vw,52px) clamp(32px,2.4vw,48px);}
body.v90-tv-kiosk .v90-grid.summary{grid-template-columns:minmax(0,1.32fr) minmax(330px,.68fr);}
body.v90-tv-kiosk .v90-kpi b{font-size:clamp(40px,4.4vw,82px);}
body.v90-tv-kiosk .v90-kpi[data-digits="5"] b,body.v90-tv-kiosk .v90-kpi[data-digits="6"] b{font-size:clamp(34px,3.6vw,66px);}
body.v90-tv-kiosk .v90-column-chart{gap:clamp(4px,.45vw,8px);}
@media(max-width:1540px){
  .v90-grid.summary,.v90-grid.monthly,.v90-grid.forum,.v90-grid.geo,.v91-geo-grid{grid-template-columns:1fr!important;overflow:auto;}
  .v90-stage{min-height:820px;max-height:none;aspect-ratio:auto;}
  .v90-slide{position:relative;inset:auto;padding:clamp(22px,2.4vw,38px);display:none;overflow:visible;}
  .v90-slide.active{display:grid;}
  .v90-top{position:relative;left:auto;right:auto;top:auto;padding:22px 28px 0;height:auto;}
  .v90-foot{position:relative;left:auto;right:auto;bottom:auto;padding:0 28px 22px;}
  .v91-ccaa-board{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:1100px){
  .v90-config-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  .v90-config-grid label.wide{grid-column:span 3;}
  .v90-kpi-grid,.v91-forum-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}
  .v90-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .v90-brand b,.v90-brand span{max-width:100%;white-space:normal;}
}
@media(max-width:760px){
  .v90-control-head{align-items:flex-start;}
  .v90-config-grid{grid-template-columns:1fr;}
  .v90-config-grid label.wide{grid-column:auto;}
  .v90-kpi-grid,.v91-forum-kpis,.v90-status-grid,.v91-status-compact{grid-template-columns:1fr;}
  .v91-ccaa-board{grid-template-columns:1fr;}
  .v90-top{align-items:flex-start;flex-direction:column;}
  .v90-clock{text-align:left;}
  .v90-brand{align-items:flex-start;flex-direction:column;}
  .v90-slide-head{display:grid;align-items:start;}
  .v90-column-chart{overflow-x:auto;grid-template-columns:repeat(var(--cols,8),minmax(42px,1fr));}
  .v90-stage{border-radius:22px;min-height:760px;}
  .v90-stage-card{border-radius:24px;}
}
@media(prefers-reduced-motion:reduce){.v90-stage::before,.v90-live-dot,.v90-progress i,.v90-bar{animation:none!important}.v90-slide{transition:none!important}}
