/* ==========================================================
   AUSAPE V9.3 · Dashboard TV Pro + Control APP
   Objetivo: TV 16:9 sin scroll, datos legibles, sin barra progreso
   ========================================================== */
:root{
  --v93-blue:#009fda;
  --v93-blue-2:#0076b6;
  --v93-navy:#063a5d;
  --v93-ink:#06263d;
  --v93-muted:#60758c;
  --v93-line:#d7ecfa;
  --v93-soft:#f4fbff;
  --v93-card:#ffffff;
  --v93-apd:#0076b6;
  --v93-esp:#00a8d8;
  --v93-csna:#f5a623;
  --v93-ok:#17a673;
  --v93-shadow:0 20px 55px rgba(4,72,115,.12);
}
#executiveTv.v93-ready{
  background:linear-gradient(135deg,#f8fdff 0%,#eef8ff 52%,#ffffff 100%) !important;
  color:var(--v93-ink);
}
#executiveTv.v93-ready > :not(#v93Root){display:none!important;}
.v88-tv-stage-wrap,.v88-tv-header,.v88-tv-module,.v90-tv-shell,#v90TvShell,#v92Root{display:none!important;}
.v92-progress,.v90-progress,.v88-progress,.v93-progress{display:none!important;}
.v93-module{display:grid;gap:18px;max-width:100%;}
.v93-editor{background:#fff;border:1px solid var(--v93-line);box-shadow:var(--v93-shadow);border-radius:26px;padding:20px;display:grid;gap:16px;}
.v93-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.v93-editor h3{margin:0;color:var(--v93-navy);font-size:22px;letter-spacing:-.02em;}
.v93-editor p{margin:4px 0 0;color:var(--v93-muted);font-weight:700;line-height:1.45;}
.v93-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;}
.v93-btn{border:1px solid #bfe4f8;background:#fff;color:#006a9f;border-radius:14px;padding:11px 15px;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(0,159,218,.08);transition:.18s ease;white-space:nowrap;}
.v93-btn:hover{transform:translateY(-1px);border-color:var(--v93-blue);box-shadow:0 12px 28px rgba(0,159,218,.16);}
.v93-btn.primary{background:linear-gradient(135deg,var(--v93-blue),var(--v93-blue-2));color:#fff;border-color:transparent;}
.v93-btn.danger{background:#fff5f5;color:#b42318;border-color:#ffd0ce;}
.v93-config{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;}
.v93-config label{display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#587089;}
.v93-config label.wide{grid-column:span 3;}
.v93-config input,.v93-config select,.v93-config textarea{width:100%;border:1px solid #cfe8f8;border-radius:14px;padding:11px 12px;background:#fff;color:var(--v93-ink);font-weight:800;outline:none;}
.v93-config textarea{min-height:76px;resize:vertical;}
.v93-config input:focus,.v93-config select:focus,.v93-config textarea:focus{border-color:var(--v93-blue);box-shadow:0 0 0 4px rgba(0,159,218,.12);}
.v93-stage-card{background:#fff;border:1px solid var(--v93-line);border-radius:30px;box-shadow:var(--v93-shadow);padding:18px;overflow:hidden;}
.v93-stage{position:relative;aspect-ratio:16/9;width:min(100%,1600px);margin:0 auto;background:radial-gradient(circle at 8% 8%,rgba(0,159,218,.13),transparent 28%),radial-gradient(circle at 93% 92%,rgba(0,118,182,.12),transparent 30%),linear-gradient(135deg,#fff 0%,#f6fcff 58%,#eef8ff 100%);border:1px solid #d8edf9;border-radius:28px;overflow:hidden;box-shadow:0 35px 80px rgba(6,58,93,.16);font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--v93-ink);}
.v93-stage:before{content:"";position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.6) 38%,transparent 62%);transform:translateX(-65%);animation:v93Sheen 9s ease-in-out infinite;pointer-events:none;}
@keyframes v93Sheen{0%,55%{transform:translateX(-70%)}80%,100%{transform:translateX(70%)}}
.v93-top{position:absolute;left:3%;right:3%;top:2.7%;height:9.5%;display:flex;align-items:center;justify-content:space-between;gap:18px;z-index:5;}
.v93-brand{display:flex;align-items:center;gap:18px;min-width:0;}
.v93-brand img{height:54px;max-width:230px;object-fit:contain;}
.v93-brand-text{display:grid;gap:2px;min-width:0;}
.v93-brand-text b{font-size:clamp(20px,2vw,36px);line-height:1;color:var(--v93-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v93-brand-text span{font-size:clamp(10px,.9vw,16px);color:var(--v93-muted);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v93-clock{background:rgba(255,255,255,.86);border:1px solid #d4ecfb;border-radius:18px;padding:9px 14px;text-align:right;box-shadow:0 14px 30px rgba(0,118,182,.1);}
.v93-clock b{display:block;font-size:clamp(20px,2vw,34px);line-height:1;color:var(--v93-blue-2);}
.v93-clock span{display:block;font-size:clamp(10px,.75vw,13px);font-weight:900;color:var(--v93-muted);text-transform:uppercase;}
.v93-slide{position:absolute;left:3%;right:3%;top:14%;bottom:8.5%;opacity:0;transform:translateY(14px) scale(.992);transition:opacity .42s ease,transform .42s ease;pointer-events:none;display:grid;gap:1.5vh;grid-template-rows:auto 1fr;}
.v93-slide.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;}
.v93-slide-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;min-height:0;}
.v93-slide-title h2{margin:0;color:var(--v93-navy);font-size:clamp(23px,2.15vw,42px);letter-spacing:-.04em;line-height:1.02;}
.v93-slide-title p{margin:.4vh 0 0;color:var(--v93-muted);font-weight:800;font-size:clamp(11px,.9vw,17px);line-height:1.25;max-width:1050px;}
.v93-pill{align-self:flex-start;border:1px solid #bde8fb;background:#fff;border-radius:999px;padding:9px 15px;color:#006a9f;font-weight:1000;font-size:clamp(10px,.8vw,14px);box-shadow:0 10px 26px rgba(0,159,218,.1);white-space:nowrap;}
.v93-body{min-height:0;display:grid;gap:1.4vh;}
.v93-card{background:rgba(255,255,255,.88);border:1px solid #d6eefb;border-radius:24px;box-shadow:0 18px 40px rgba(6,58,93,.08);padding:clamp(14px,1.3vw,26px);min-width:0;min-height:0;overflow:hidden;}
.v93-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4vw;height:100%;}
.v93-kpi{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.8vh;min-height:0;}
.v93-kpi small{font-weight:1000;letter-spacing:.08em;text-transform:uppercase;color:#60758c;font-size:clamp(10px,.85vw,15px);}
.v93-kpi b{font-size:clamp(44px,6.4vw,110px);line-height:.9;letter-spacing:-.08em;color:var(--v93-ink);white-space:nowrap;max-width:100%;}
.v93-kpi span{font-size:clamp(11px,1vw,17px);font-weight:900;color:#60758c;line-height:1.15;}
.v93-kpi.apd b{color:var(--v93-apd)} .v93-kpi.esp b{color:var(--v93-esp)} .v93-kpi.ok b{color:var(--v93-ok)}
.v93-summary-grid{grid-template-rows:auto 1fr;}
.v93-status-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1vw;}
.v93-status{background:#fff;border:1px solid #d5eefb;border-radius:18px;padding:1.1vh 1vw;box-shadow:0 12px 24px rgba(6,58,93,.06);}
.v93-status small{display:block;font-size:clamp(9px,.75vw,12px);color:#60758c;font-weight:1000;text-transform:uppercase;letter-spacing:.07em;}
.v93-status b{font-size:clamp(18px,1.7vw,30px);line-height:1.05;color:var(--v93-navy);}
.v93-chart-layout{display:grid;grid-template-columns:1fr 310px;gap:1.3vw;min-height:0;height:100%;}
.v93-chart-box{position:relative;display:grid;grid-template-rows:auto 1fr;gap:1vh;}
.v93-chart-box h3{margin:0;color:var(--v93-navy);font-size:clamp(16px,1.2vw,22px);}
.v93-bars{height:100%;display:flex;align-items:end;gap:clamp(8px,.75vw,18px);padding:1vh .6vw 0;min-height:0;}
.v93-bar{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.55vh;position:relative;}
.v93-bar .bar{width:80%;max-width:54px;border-radius:12px 12px 4px 4px;background:#dceff8;min-height:10px;position:relative;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);}
.v93-bar .bar .apd{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#009fda,#0076b6);}
.v93-bar .bar .esp{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#77d8ff,#00a8d8);}
.v93-bar .bar .csna{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#ffd98f,#f5a623);}
.v93-bar .nums{font-size:clamp(9px,.72vw,13px);font-weight:1000;color:#063a5d;text-align:center;line-height:1.1;min-height:2.4em;display:flex;flex-direction:column;justify-content:end;}
.v93-bar .nums span{display:block;white-space:nowrap;}
.v93-bar label{font-size:clamp(8px,.7vw,12px);font-weight:1000;color:#60758c;text-transform:uppercase;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.v93-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#60758c;font-size:clamp(10px,.75vw,13px);font-weight:900;}
.v93-dot{width:10px;height:10px;border-radius:999px;background:var(--v93-blue);display:inline-block;margin-right:5px;}
.v93-dot.apd{background:var(--v93-apd)}.v93-dot.esp{background:var(--v93-esp)}.v93-dot.csna{background:var(--v93-csna)}.v93-dot.cum{background:var(--v93-ok)}
.v93-side-table{display:grid;gap:.55vh;align-content:start;min-height:0;overflow:hidden;}
.v93-side-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;background:#fff;border:1px solid #e0f2fb;border-radius:14px;padding:.7vh .75vw;font-size:clamp(10px,.75vw,13px);font-weight:900;color:#324a62;}
.v93-side-row b{color:var(--v93-navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.v93-side-row .apd{color:var(--v93-apd)}.v93-side-row .esp{color:var(--v93-esp)}
.v93-years-layout{display:grid;grid-template-columns:1fr 340px;gap:1.4vw;height:100%;min-height:0;}
.v93-curve{position:relative;height:100%;min-height:0;}
.v93-curve svg{width:100%;height:100%;display:block;overflow:visible;}
.v93-curve .axis{stroke:#d5e9f4;stroke-width:1}.v93-curve .line{fill:none;stroke:var(--v93-ok);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.v93-curve .apd-line{fill:none;stroke:var(--v93-apd);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.v93-curve .esp-line{fill:none;stroke:var(--v93-esp);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.v93-curve text{font-family:Inter,Segoe UI,Arial,sans-serif;font-weight:900;fill:#60758c;font-size:12px}.v93-curve .point-label{fill:var(--v93-navy);font-size:14px}.v93-curve .total-label{fill:var(--v93-ok);font-size:16px}.v93-curve circle{fill:#fff;stroke:var(--v93-ok);stroke-width:3}.v93-curve .area{fill:url(#v93Area);opacity:.48}
.v93-province-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:.75vh .9vw;height:100%;}
.v93-prov-row{background:#fff;border:1px solid #d9eef9;border-radius:15px;padding:.55vh .75vw;display:grid;grid-template-columns:1.05fr 2fr auto;align-items:center;gap:.7vw;min-width:0;}
.v93-prov-row strong{font-size:clamp(10px,.8vw,14px);color:var(--v93-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v93-prov-bars{height:20px;background:#eef8fd;border-radius:999px;overflow:hidden;display:flex;min-width:0;}
.v93-prov-bars i{display:block;height:100%;}.v93-prov-bars .apd{background:linear-gradient(90deg,#0076b6,#009fda)}.v93-prov-bars .esp{background:linear-gradient(90deg,#77d8ff,#00a8d8)}
.v93-prov-row span{font-size:clamp(9px,.72vw,12px);font-weight:1000;color:#60758c;white-space:nowrap;}
.v93-ccaa-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8vh .8vw;height:100%;}
.v93-ccaa-tile{background:#fff;border:1px solid #d9eef9;border-radius:16px;padding:.65vh .7vw;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;box-shadow:0 10px 22px rgba(6,58,93,.04);}
.v93-ccaa-tile b{font-size:clamp(9px,.75vw,13px);color:var(--v93-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.v93-ccaa-tile span{font-size:clamp(14px,1.15vw,20px);font-weight:1000;color:var(--v93-blue-2);}
.v93-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2vw;height:100%;}
.v93-content-card{display:grid;grid-template-rows:auto 1fr auto;gap:.8vh;background:#fff;border:1px solid #d9eef9;border-radius:22px;padding:1.2vw;overflow:hidden;}
.v93-content-card img{width:100%;height:100%;object-fit:contain;border-radius:14px;background:#f6fbff;min-height:0;}.v93-content-card h4{margin:0;color:var(--v93-navy);font-size:clamp(15px,1vw,22px);}.v93-content-card p{margin:0;color:#60758c;font-weight:800;font-size:clamp(10px,.75vw,13px);line-height:1.3;}
.v93-foot{position:absolute;left:3%;right:3%;bottom:2.4%;height:4.7%;display:flex;align-items:center;justify-content:space-between;gap:14px;z-index:5;color:#60758c;font-weight:900;font-size:clamp(10px,.8vw,14px);}
.v93-page{background:#fff;border:1px solid #d4ecfb;border-radius:999px;padding:6px 12px;color:var(--v93-blue-2);font-weight:1000;}
.v93-kiosk-exit{display:none;position:fixed;right:18px;top:18px;z-index:99999;border:1px solid #d3ecf9;border-radius:999px;background:#fff;color:#006a9f;padding:10px 15px;font-weight:1000;box-shadow:0 20px 45px rgba(0,0,0,.18);}
body.v93-tv-kiosk{overflow:hidden!important;background:#fff!important;}body.v93-tv-kiosk .app{display:block!important;}body.v93-tv-kiosk .sidebar,body.v93-tv-kiosk .topbar,body.v93-tv-kiosk .v93-editor{display:none!important;}body.v93-tv-kiosk .main{padding:0!important;margin:0!important;max-width:none!important;width:100vw!important;height:100vh!important;overflow:hidden!important;}body.v93-tv-kiosk .section{display:none!important;}body.v93-tv-kiosk #executiveTv{display:block!important;position:fixed!important;inset:0!important;padding:0!important;margin:0!important;background:#fff!important;z-index:9999!important;overflow:hidden!important;}body.v93-tv-kiosk #executiveTv.v93-ready > :not(#v93Root){display:none!important;}body.v93-tv-kiosk #v93Root,body.v93-tv-kiosk .v93-module,body.v93-tv-kiosk .v93-stage-card{width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;}body.v93-tv-kiosk .v93-stage{width:100vw!important;height:100vh!important;aspect-ratio:auto!important;border:0!important;border-radius:0!important;box-shadow:none!important;}body.v93-tv-kiosk .v93-kiosk-exit{display:block!important;}.v93-preview-wrap{display:grid;gap:12px;}
/* Control APP */
#appcontrol.section.active{display:block!important;}
.appcontrol-wrap{display:grid;gap:18px;}
.appcontrol-hero{background:linear-gradient(135deg,#fff,#f3fbff);border:1px solid #d6eefb;border-radius:26px;padding:22px;box-shadow:var(--v93-shadow);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.appcontrol-hero h3{margin:0;color:var(--v93-navy);font-size:28px}.appcontrol-hero p{margin:5px 0 0;color:#60758c;font-weight:800;max-width:900px;}.appcontrol-grid{display:grid;grid-template-columns:390px 1fr;gap:18px;align-items:start;}.appcontrol-panel{background:#fff;border:1px solid #d6eefb;border-radius:24px;padding:18px;box-shadow:var(--v93-shadow);display:grid;gap:12px}.appcontrol-panel label{display:grid;gap:6px;color:#60758c;font-size:11px;letter-spacing:.06em;text-transform:uppercase;font-weight:1000}.appcontrol-panel input,.appcontrol-panel select,.appcontrol-panel textarea{border:1px solid #d6eefb;border-radius:14px;padding:11px 12px;outline:none;font-weight:800;color:var(--v93-ink);}.appcontrol-panel textarea{min-height:94px;resize:vertical}.appcontrol-list{display:grid;gap:12px}.appcontent-card{background:#fff;border:1px solid #d6eefb;border-radius:20px;padding:14px;display:grid;grid-template-columns:90px 1fr auto;gap:14px;align-items:center;box-shadow:0 12px 28px rgba(6,58,93,.06);}.appcontent-card .thumb{height:64px;border-radius:14px;background:#eef8ff;display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden}.appcontent-card img{width:100%;height:100%;object-fit:cover}.appcontent-card h4{margin:0;color:var(--v93-navy)}.appcontent-card p{margin:3px 0;color:#60758c;font-weight:700}.appcontent-card small{color:#60758c;font-weight:900}.appcontent-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.appcontrol-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.appcontrol-kpi{background:#fff;border:1px solid #d6eefb;border-radius:20px;padding:16px;box-shadow:0 12px 28px rgba(6,58,93,.06)}.appcontrol-kpi small{display:block;color:#60758c;font-weight:1000;text-transform:uppercase;letter-spacing:.06em}.appcontrol-kpi b{font-size:32px;color:var(--v93-navy)}
@media(max-width:1100px){.v93-config{grid-template-columns:repeat(2,minmax(0,1fr));}.v93-config label.wide{grid-column:span 2}.appcontrol-grid{grid-template-columns:1fr}.appcontrol-kpis{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){.v93-editor-head{display:grid}.v93-actions{justify-content:start}.v93-config{grid-template-columns:1fr}.v93-config label.wide{grid-column:span 1}.v93-kpi-grid,.v93-status-row,.v93-chart-layout,.v93-years-layout,.v93-content-grid{grid-template-columns:1fr}.appcontent-card{grid-template-columns:1fr}.appcontrol-kpis{grid-template-columns:1fr}}
@media(max-aspect-ratio:4/3){body.v93-tv-kiosk .v93-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}body.v93-tv-kiosk .v93-chart-layout,body.v93-tv-kiosk .v93-years-layout{grid-template-columns:1fr;}body.v93-tv-kiosk .v93-side-table{display:none;}body.v93-tv-kiosk .v93-ccaa-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
