
/* === Bloque CSS original 1  === */

:root{
      --bg:#090712;
      --bg2:#130b25;
      --panel:rgba(255,255,255,.075);
      --panel2:rgba(255,255,255,.105);
      --line:rgba(255,255,255,.13);
      --line2:rgba(184,119,255,.36);
      --text:#f8f5ff;
      --muted:#bcb3d6;
      --soft:#8f83ad;
      --purple:#8a35ff;
      --purple2:#b56cff;
      --cyan:#50e7ff;
      --green:#4df2a4;
      --yellow:#ffd86b;
      --red:#ff5d7d;
      --orange:#ff9f43;
      --black:#050308;
      --shadow: 0 24px 80px rgba(0,0,0,.46);
      --radius: 26px;
      --radius2: 18px;
      --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      font-family:var(--font);
      color:var(--text);
      background:
        radial-gradient(circle at 10% -5%, rgba(170,74,255,.35), transparent 36%),
        radial-gradient(circle at 88% 5%, rgba(80,231,255,.18), transparent 30%),
        radial-gradient(circle at 50% 105%, rgba(138,53,255,.22), transparent 40%),
        linear-gradient(140deg, #07050e 0%, #0c0717 42%, #120725 100%);
      overflow-x:hidden;
    }

    body::before{
      content:"";
      position:fixed; inset:0;
      pointer-events:none;
      opacity:.32;
      background-image:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
      background-size:44px 44px;
      mask-image: radial-gradient(circle at center, black, transparent 85%);
    }

    .app{
      width:min(1840px, calc(100% - 36px));
      margin:0 auto;
      padding:24px 0 56px;
    }

    .topbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      padding:18px 20px;
      border:1px solid var(--line);
      border-radius:30px;
      background:linear-gradient(135deg, rgba(255,255,255,.09), rgba(255,255,255,.045));
      box-shadow:var(--shadow);
      backdrop-filter: blur(24px);
      position:sticky;
      top:14px;
      z-index:20;
    }

    .brand{
      display:flex; align-items:center; gap:14px;
      min-width:260px;
    }
    .brand-mark{
      width:48px;height:48px;
      border-radius:16px;
      display:grid; place-items:center;
      background:linear-gradient(145deg, #fff, #ded6f5);
      color:#111;
      font-weight:950;
      letter-spacing:-1px;
      position:relative;
      box-shadow:0 12px 34px rgba(138,53,255,.28);
    }
    .brand-mark::after{
      content:"";
      position:absolute;
      width:9px;height:9px;border-radius:50%;
      background:var(--purple);
      top:8px; right:10px;
      box-shadow:0 0 18px var(--purple2);
    }
    .brand small{display:block;color:var(--muted);font-size:12px;margin-top:1px}
    .brand strong{font-size:17px;letter-spacing:.2px}

    .nav-pills{
      display:flex; gap:8px; flex-wrap:wrap; justify-content:center;
    }
    .nav-pills a{
      color:var(--muted);
      text-decoration:none;
      font-size:12px;
      padding:9px 12px;
      border:1px solid transparent;
      border-radius:999px;
      background:rgba(255,255,255,.045);
      transition:.2s;
    }
    .nav-pills a:hover{color:#fff;border-color:var(--line2);background:rgba(138,53,255,.18)}

    .header{
      margin-top:24px;
      padding:34px;
      border:1px solid var(--line);
      border-radius:36px;
      background:
        linear-gradient(135deg, rgba(138,53,255,.24), rgba(255,255,255,.055) 44%, rgba(80,231,255,.08)),
        radial-gradient(circle at 15% 22%, rgba(181,108,255,.26), transparent 38%);
      box-shadow:var(--shadow);
      overflow:hidden;
      position:relative;
    }
    .header::after{
      content:"";
      position:absolute;
      width:560px;height:560px;
      right:-180px;top:-230px;
      background:radial-gradient(circle, rgba(181,108,255,.30), transparent 60%);
      filter:blur(2px);
    }
    .hero-grid{
      display:grid;
      grid-template-columns: 1.25fr .75fr;
      gap:24px;
      position:relative; z-index:1;
    }
    .eyebrow{
      display:inline-flex;
      gap:8px;
      align-items:center;
      padding:8px 12px;
      border-radius:999px;
      color:#f2eaff;
      border:1px solid rgba(181,108,255,.35);
      background:rgba(138,53,255,.17);
      font-size:12px;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.08em;
    }
    .pulse{
      width:9px;height:9px;border-radius:50%;
      background:var(--green);
      box-shadow:0 0 20px var(--green);
    }
    h1{
      font-size:clamp(34px, 4vw, 68px);
      line-height:.95;
      margin:18px 0 14px;
      letter-spacing:-2.6px;
    }
    .subtitle{
      color:#ded7ef;
      font-size:clamp(15px, 1.15vw, 19px);
      line-height:1.55;
      max-width:970px;
      margin:0;
    }
    .hero-actions{
      display:flex; gap:12px; flex-wrap:wrap; margin-top:24px;
    }
    .btn{
      border:0;
      color:#fff;
      border-radius:16px;
      padding:12px 15px;
      font-weight:800;
      letter-spacing:.1px;
      background:linear-gradient(135deg, var(--purple), #6020d4);
      box-shadow:0 14px 36px rgba(138,53,255,.35);
      cursor:pointer;
      transition:.18s ease;
      display:inline-flex;
      align-items:center;
      gap:9px;
      text-decoration:none;
      font-size:13px;
    }
    .btn:hover{transform:translateY(-1px);filter:brightness(1.08)}
    .btn.secondary{
      background:rgba(255,255,255,.08);
      border:1px solid var(--line);
      box-shadow:none;
      color:#f6f0ff;
    }
    .btn.warning{background:linear-gradient(135deg, #ff9f43, #e0632d)}
    .file-input{
      display:none;
    }
    .executive-summary{
      padding:22px;
      border:1px solid var(--line);
      border-radius:26px;
      background:rgba(0,0,0,.25);
      backdrop-filter: blur(20px);
      min-height:100%;
    }
    .summary-title{
      display:flex;justify-content:space-between;gap:12px;align-items:center;
      margin-bottom:14px;
    }
    .badge{
      display:inline-flex;align-items:center;gap:7px;
      padding:7px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.065);
      color:var(--muted);
      font-size:12px;
      font-weight:700;
      white-space:nowrap;
    }
    .badge.ok{color:var(--green);border-color:rgba(77,242,164,.28);background:rgba(77,242,164,.08)}
    .badge.risk{color:var(--red);border-color:rgba(255,93,125,.32);background:rgba(255,93,125,.08)}
    .badge.warn{color:var(--yellow);border-color:rgba(255,216,107,.32);background:rgba(255,216,107,.08)}
    .badge.neutral{color:var(--cyan);border-color:rgba(80,231,255,.26);background:rgba(80,231,255,.07)}
    .summary-title h3,.section-title h2,.card h3{margin:0}
    .summary-text{
      color:#ddd5ef;
      line-height:1.55;
      margin:0 0 16px;
      font-size:14px;
    }
    .meta-grid{
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap:10px;
    }
    .meta-item{
      padding:12px;
      border-radius:18px;
      background:rgba(255,255,255,.055);
      border:1px solid rgba(255,255,255,.08);
      min-width:0;
    }
    .meta-item span{display:block;color:var(--soft);font-size:11px;margin-bottom:4px}
    .meta-item strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}

    .section{
      margin-top:22px;
      padding:24px;
      border:1px solid var(--line);
      border-radius:32px;
      background:linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.04));
      box-shadow:0 18px 70px rgba(0,0,0,.28);
      backdrop-filter: blur(22px);
    }
    .section-title{
      display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap:18px;
      margin-bottom:18px;
    }
    .section-title p{
      margin:6px 0 0;
      color:var(--muted);
      font-size:13px;
    }
    .section-title h2{
      font-size:24px;
      letter-spacing:-.5px;
    }
    .tools{
      display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:flex-end;
    }
    .input-control{
      border:1px solid var(--line);
      background:rgba(0,0,0,.22);
      color:var(--text);
      border-radius:14px;
      padding:11px 12px;
      outline:none;
      min-width:150px;
    }
    .input-control::placeholder{color:#7c719c}


    /* Filtros tipo slicer ejecutivo */
    .filter-section{
      border-color:rgba(181,108,255,.26);
      background:
        linear-gradient(135deg, rgba(138,53,255,.13), rgba(255,255,255,.045)),
        radial-gradient(circle at 100% 0%, rgba(80,231,255,.09), transparent 35%);
    }
    .filter-toolbar{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      margin-bottom:14px;
      flex-wrap:wrap;
    }
    .filter-chip-panel{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      min-height:34px;
      align-items:center;
    }
    .filter-chip{
      display:inline-flex;
      align-items:center;
      gap:7px;
      padding:8px 10px;
      border-radius:999px;
      border:1px solid rgba(181,108,255,.30);
      background:rgba(138,53,255,.11);
      color:#efe8ff;
      font-size:12px;
      font-weight:750;
    }
    .filter-chip.muted{
      color:var(--muted);
      background:rgba(255,255,255,.045);
      border-color:var(--line);
      font-weight:650;
    }
    .filter-grid{
      display:grid;
      grid-template-columns: repeat(7, minmax(160px, 1fr));
      gap:12px;
    }
    .filter-card{
      min-width:0;
      border:1px solid var(--line);
      border-radius:22px;
      padding:12px;
      background:rgba(0,0,0,.20);
      box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
    }
    .filter-card-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:8px;
      margin-bottom:9px;
    }
    .filter-card-title{
      display:flex;
      flex-direction:column;
      gap:2px;
      font-weight:950;
      letter-spacing:.04em;
      font-size:12px;
      text-transform:uppercase;
    }
    .filter-card-title small{
      color:var(--muted);
      text-transform:none;
      letter-spacing:0;
      font-weight:600;
      font-size:10.5px;
    }
    .filter-mini-actions{
      display:flex;
      gap:5px;
      flex:0 0 auto;
    }
    .filter-mini-actions button{
      width:26px;
      height:26px;
      border-radius:9px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.065);
      color:#fff;
      cursor:pointer;
      font-size:12px;
      line-height:1;
    }
    .filter-search{
      width:100%;
      border:1px solid rgba(255,255,255,.10);
      background:rgba(255,255,255,.055);
      color:var(--text);
      border-radius:13px;
      padding:9px 10px;
      outline:none;
      font-size:12px;
      margin-bottom:9px;
    }
    .filter-search::placeholder{color:#84769f}
    .filter-options{
      display:grid;
      gap:7px;
      max-height:172px;
      overflow:auto;
      padding-right:4px;
    }
    .filter-options::-webkit-scrollbar{width:7px}
    .filter-options::-webkit-scrollbar-thumb{background:rgba(181,108,255,.35);border-radius:999px}
    .filter-option{
      display:grid;
      grid-template-columns:auto 1fr auto;
      align-items:center;
      gap:7px;
      width:100%;
      padding:8px 9px;
      border-radius:13px;
      border:1px solid rgba(255,255,255,.075);
      background:rgba(255,255,255,.045);
      color:#eee7ff;
      cursor:pointer;
      font-size:11.5px;
      min-height:34px;
      transition:.16s ease;
    }
    .filter-option:hover{border-color:rgba(181,108,255,.34);background:rgba(138,53,255,.11)}
    .filter-option.active{background:rgba(105,185,74,.20);border-color:rgba(77,242,164,.36)}
    .filter-option input{accent-color:#6ab04a; margin:0;}
    .filter-option span{
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .filter-option em{
      color:var(--muted);
      font-style:normal;
      font-size:10px;
      padding:2px 5px;
      border-radius:999px;
      background:rgba(0,0,0,.22);
    }
    .filter-empty{
      padding:12px;
      border-radius:14px;
      border:1px dashed rgba(255,255,255,.12);
      color:var(--muted);
      font-size:12px;
      text-align:center;
    }

    .source-grid{
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap:16px;
    }
    .status-list{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:12px;
    }
    .stat-tile{
      padding:15px;
      border-radius:22px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.18);
      min-width:0;
    }
    .stat-tile span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}
    .stat-tile strong{font-size:18px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .alerts{
      display:grid;
      gap:10px;
    }
    .alert{
      display:flex; gap:10px; align-items:flex-start;
      padding:12px 13px;
      border-radius:18px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.052);
      color:#e9e1ff;
      font-size:13px;
      line-height:1.35;
    }
    .alert i{
      width:10px; height:10px; border-radius:50%;
      margin-top:4px; flex:0 0 auto;
      background:var(--cyan);
      box-shadow:0 0 14px currentColor;
    }
    .alert.risk i{background:var(--red)}
    .alert.warn i{background:var(--yellow)}
    .alert.ok i{background:var(--green)}

    .kpi-grid{
      display:grid;
      grid-template-columns: repeat(5, minmax(190px, 1fr));
      gap:14px;
    }
    .kpi{
      position:relative;
      overflow:hidden;
      padding:18px;
      border-radius:26px;
      border:1px solid rgba(255,255,255,.11);
      background:
        linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.04)),
        radial-gradient(circle at 15% 0%, rgba(181,108,255,.22), transparent 48%);
      min-height:170px;
    }
    .kpi::after{
      content:"";
      position:absolute;inset:auto -35px -55px auto;
      width:150px;height:150px;border-radius:50%;
      background:rgba(138,53,255,.16);
      filter:blur(4px);
    }
    .kpi-head{
      display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
      margin-bottom:14px; position:relative; z-index:1;
    }
    .kpi-title{
      color:var(--muted);
      font-size:12px;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.06em;
    }
    .kpi-icon{
      width:36px;height:36px;border-radius:14px;
      display:grid;place-items:center;
      background:rgba(138,53,255,.18);
      border:1px solid rgba(181,108,255,.28);
    }
    .kpi-value{
      font-size:30px;
      font-weight:950;
      letter-spacing:-1.2px;
      margin-bottom:8px;
      position:relative;z-index:1;
    }
    .kpi-sub{
      color:#cfc6e8;
      font-size:12.5px;
      line-height:1.35;
      min-height:34px;
      position:relative;z-index:1;
    }
    .spark{
      width:100%;
      height:42px;
      margin-top:12px;
      position:relative;z-index:1;
      opacity:.95;
    }
    .spark svg{width:100%;height:100%;display:block}
    .spark .area{fill:rgba(181,108,255,.16)}
    .spark .line{fill:none;stroke:var(--cyan);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
    .spark .bar{fill:rgba(80,231,255,.62)}

    .dashboard-grid{
      display:grid;
      grid-template-columns: 1.35fr .65fr;
      gap:16px;
    }
    .chart-grid{
      display:grid;
      grid-template-columns: repeat(2, minmax(320px, 1fr));
      gap:16px;
    }
    .card{
      border:1px solid var(--line);
      border-radius:26px;
      background:rgba(0,0,0,.18);
      padding:18px;
      min-height:360px;
      overflow:hidden;
    }
    .card.compact{min-height:270px}
    .chart{
      width:100%;
      height:310px;
    }
    .chart.sm{height:225px}
    .card-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:12px;
      margin-bottom:10px;
    }
    .card h3{
      font-size:16px;
      letter-spacing:-.2px;
    }
    .card p.note{
      color:var(--muted);
      margin:5px 0 0;
      font-size:12px;
      line-height:1.4;
    }

    .insight-panel{
      display:grid;
      gap:12px;
    }
    .insight{
      padding:15px;
      border-radius:22px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.052);
      display:grid;
      grid-template-columns:auto 1fr;
      gap:11px;
      align-items:flex-start;
    }
    .insight .num{
      width:28px;height:28px;border-radius:10px;
      display:grid;place-items:center;
      background:linear-gradient(135deg, var(--purple), #5224b7);
      font-size:12px;font-weight:900;
    }
    .insight strong{display:block;margin-bottom:4px}
    .insight span{color:#d0c8df;font-size:13px;line-height:1.38}

    .table-wrap{
      overflow:auto;
      border-radius:22px;
      border:1px solid var(--line);
      background:rgba(0,0,0,.18);
    }
    table{
      width:100%;
      border-collapse:separate;
      border-spacing:0;
      min-width:1280px;
      font-size:13px;
    }
    th,td{
      padding:13px 12px;
      border-bottom:1px solid rgba(255,255,255,.075);
      text-align:left;
      vertical-align:middle;
      white-space:nowrap;
    }
    td small{color:var(--muted);font-size:11px;}
    th{
      position:sticky;top:0;
      background:#160e27;
      color:#e9dfff;
      text-transform:uppercase;
      font-size:11px;
      letter-spacing:.05em;
      z-index:1;
    }
    tr:hover td{background:rgba(138,53,255,.075)}
    .progress{
      height:9px;
      width:130px;
      background:rgba(255,255,255,.09);
      border-radius:999px;
      overflow:hidden;
    }
    .progress span{
      display:block;height:100%;
      width:0%;
      background:linear-gradient(90deg, var(--purple), var(--cyan));
      border-radius:999px;
    }
    .semaforo{
      display:inline-flex;align-items:center;gap:7px;
      font-weight:800;
    }
    .dot{width:10px;height:10px;border-radius:50%;display:inline-block}
    .dot.green{background:var(--green);box-shadow:0 0 13px var(--green)}
    .dot.yellow{background:var(--yellow);box-shadow:0 0 13px var(--yellow)}
    .dot.red{background:var(--red);box-shadow:0 0 13px var(--red)}
    .dot.cyan{background:var(--cyan);box-shadow:0 0 13px var(--cyan)}

    .columns-list{
      display:flex;flex-wrap:wrap;gap:8px;
    }
    .col-chip{
      padding:8px 10px;
      border-radius:999px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.052);
      color:#e9e2ff;
      font-size:12px;
    }
    .col-chip.missing{color:#ffb6c3;border-color:rgba(255,93,125,.35);background:rgba(255,93,125,.08)}

    .footer{
      text-align:center;
      color:var(--soft);
      font-size:12px;
      padding:24px 0 0;
    }
    .empty-state{
      display:grid;
      place-items:center;
      min-height:230px;
      color:var(--muted);
      text-align:center;
      padding:24px;
    }
    .empty-state strong{color:#fff;display:block;margin-bottom:6px}

    @media(max-width:1360px){
      .filter-grid{grid-template-columns:repeat(3, minmax(190px, 1fr))}
      .kpi-grid{grid-template-columns: repeat(3, minmax(190px, 1fr))}
      .dashboard-grid,.hero-grid,.source-grid{grid-template-columns:1fr}
    }
    @media(max-width:900px){
      .app{width:min(100% - 20px, 1840px)}
      .topbar{position:relative;top:auto;align-items:flex-start;flex-direction:column}
      .nav-pills{justify-content:flex-start}
      .header,.section{padding:18px;border-radius:26px}
      .chart-grid{grid-template-columns:1fr}
      .kpi-grid{grid-template-columns:1fr}
      .status-list,.meta-grid,.filter-grid{grid-template-columns:1fr}
      h1{letter-spacing:-1.4px}
      .tools{justify-content:flex-start}
    }

    
  
/* === AJUSTE VISUAL ESTILO REFERENCIA CUIK === */
:root{
  --bg:#041220;
  --bg2:#091b2e;
  --panel:rgba(5,18,35,.86);
  --panel2:rgba(10,26,47,.94);
  --line:rgba(57,115,180,.28);
  --line2:rgba(149,92,255,.42);
  --text:#f5f8ff;
  --muted:#9aa7c4;
  --soft:#6f80a4;
  --purple:#8b3dff;
  --purple2:#b35cff;
  --cyan:#1f7bff;
  --green:#16d26f;
  --yellow:#ffb020;
  --red:#ff4343;
  --orange:#ff8a26;
  --shadow:0 14px 36px rgba(0,0,0,.34);
  --radius:22px;
  --radius2:14px;
}
body{
  background:
    radial-gradient(circle at 0% 0%, rgba(0,122,255,.10), transparent 22%),
    radial-gradient(circle at 100% 0%, rgba(139,61,255,.16), transparent 22%),
    linear-gradient(160deg, #020b15 0%, #041120 48%, #05192b 100%);
}
body::before{
  opacity:.18;
  background-image:
    linear-gradient(rgba(93,133,193,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(93,133,193,.04) 1px, transparent 1px);
  background-size:32px 32px;
}
.app{width:min(1850px, calc(100% - 18px)); padding:14px 0 36px;}
.topbar, .header, .section, .card, .table-wrap, .executive-summary, .filter-card, .stat-tile, .meta-item, .kpi, .alert{
  background:linear-gradient(180deg, rgba(4,20,37,.96), rgba(3,16,31,.90));
  border-color:rgba(32,104,181,.35) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.28);
}
.topbar{padding:12px 16px; border-radius:18px; backdrop-filter:blur(10px);}
.header{padding:20px 22px; border-radius:22px;}
.header::after{display:none}
.hero-grid{grid-template-columns:1.2fr .8fr; gap:16px;}
.eyebrow{background:rgba(139,61,255,.16); border-color:rgba(139,61,255,.36)}
.brand-mark{background:linear-gradient(145deg,#fff,#dbe8ff);}
.nav-pills a{background:rgba(255,255,255,.03); border:1px solid rgba(32,104,181,.22);}
.nav-pills a:hover{background:rgba(31,123,255,.18); border-color:rgba(31,123,255,.36)}
.btn{border-radius:12px; background:linear-gradient(135deg,#8b3dff,#5c29d6); box-shadow:none;}
.btn.secondary{background:rgba(255,255,255,.04)}
.btn.warning{background:linear-gradient(135deg,#ff8a26,#ff5c35)}
.summary-text,.subtitle,.section-title p,.card p.note,.meta-item span,.stat-tile span{color:#a6b3cf}
.meta-item strong,.stat-tile strong,.brand small,.brand strong{color:#f5f8ff}
.section{margin-top:16px; padding:18px; border-radius:22px; background:linear-gradient(180deg, rgba(3,18,34,.92), rgba(3,14,28,.90));}
.section-title{margin-bottom:14px;}
.section-title h2{font-size:22px;}
.input-control{background:rgba(255,255,255,.04); border-color:rgba(32,104,181,.35); color:#f5f8ff;}
.input-control::placeholder{color:#8493b4}
.filter-section{background:linear-gradient(180deg, rgba(4,20,37,.94), rgba(4,17,32,.94));}
.filter-grid{grid-template-columns:repeat(8, minmax(150px, 1fr)); gap:10px;}
.filter-card{border-radius:14px; padding:10px;}
.filter-card-title{font-size:11px;}
.filter-mini-actions button,.filter-search{border-radius:10px;}
.filter-option{border-radius:10px; min-height:32px;}
.filter-option.active{background:rgba(31,123,255,.14); border-color:rgba(31,123,255,.44)}
.badge{background:rgba(255,255,255,.04)}
.kpi-grid{grid-template-columns:repeat(5, minmax(180px, 1fr)); gap:12px;}
.kpi{min-height:154px; border-radius:18px;}
.kpi-icon{background:rgba(139,61,255,.18); border-color:rgba(139,61,255,.28)}
.kpi-value{font-size:28px;}
.dashboard-grid{grid-template-columns:1.6fr .75fr; gap:12px;}
.chart-grid{grid-template-columns:repeat(2, minmax(320px,1fr)); gap:12px;}
.card{min-height:320px; border-radius:20px; padding:16px;}
.card.compact{min-height:250px}
.chart{height:300px;}
.table-wrap{overflow:auto; border-radius:18px;}
.table-wrap table{min-width:1000px;}
thead th{position:sticky; top:0; background:#081829; z-index:1;}
.progress{background:#10253e;} .progress span{background:linear-gradient(90deg,#15d26f,#8b3dff);}
.insight{background:rgba(255,255,255,.03);}
.dot.green{background:#15d26f} .dot.yellow{background:#ffb020} .dot.cyan{background:#1f7bff} .dot.red{background:#ff4343}
/* Tarjeta de ranking más alta y gráfica de barras más legible */
#ranking .dashboard-grid{grid-template-columns:1.55fr .75fr;}
.card:has(#chartRanking){min-height:520px;}
#chartRanking{height:470px !important;}
/* Colocación diaria destacada en grande */
#comercial .chart-grid > .card:has(#chartTrend){grid-column:1 / -1; min-height:500px;}
#chartTrend{height:430px !important;}
/* ranking de grupos mediano */
.card:has(#chartGroups){min-height:420px;}
#chartGroups{height:340px !important;}
@media (max-width:1400px){
  .filter-grid{grid-template-columns:repeat(4,minmax(160px,1fr));}
}
@media (max-width:1080px){
  .hero-grid,.dashboard-grid,.source-grid{grid-template-columns:1fr;}
  .filter-grid,.kpi-grid,.chart-grid{grid-template-columns:repeat(2,minmax(180px,1fr));}
  #comercial .chart-grid > .card:has(#chartTrend){grid-column:auto;}
}
@media (max-width:700px){
  .filter-grid,.kpi-grid,.chart-grid{grid-template-columns:1fr;}
}
/* === FIN AJUSTE VISUAL ESTILO REFERENCIA CUIK === */


/* === AJUSTES BOTONES MORADOS + IMPRESIÓN DETALLE INCENTIVOS === */
.btn.purple-action,
.btn.secondary.purple-action{
  background:linear-gradient(135deg,#8b3dff,#6a2ee8) !important;
  border-color:rgba(179,92,255,.60) !important;
  color:#fff !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.04), 0 12px 28px rgba(139,61,255,.22) !important;
}
.filter-mini-actions button{
  background:linear-gradient(135deg,#8b3dff,#6a2ee8) !important;
  border-color:rgba(179,92,255,.65) !important;
  color:#fff !important;
}
.filter-option input,
input[type="checkbox"],
input[type="radio"]{
  accent-color:#8b3dff !important;
}
.filter-option.active,
.filter-option:has(input:checked){
  background:linear-gradient(135deg,rgba(139,61,255,.34),rgba(31,123,255,.18)) !important;
  border-color:rgba(179,92,255,.74) !important;
}
.filter-chip{
  background:rgba(139,61,255,.22) !important;
  border-color:rgba(179,92,255,.45) !important;
}
select.input-control,
input.input-control{
  border-color:rgba(139,61,255,.45) !important;
}
.print-incentive-only{
  display:none;
}

/* === FIN AJUSTES BOTONES MORADOS + IMPRESIÓN DETALLE INCENTIVOS === */


/* === ADAPTACIÓN VISUAL COREUI DARK ADMIN === */
:root{
  --cui-body-bg:#212631;
  --cui-sidebar-bg:#1d222b;
  --cui-card-bg:#2a303d;
  --cui-card-bg-2:#262c37;
  --cui-border:#323a49;
  --cui-border-soft:rgba(255,255,255,.075);
  --cui-text:#e7eaee;
  --cui-muted:#a7b1c2;
  --cui-blue:#3399ff;
  --cui-indigo:#6610f2;
  --cui-purple:#6f42c1;
  --cui-cyan:#39f;
  --cui-green:#2eb85c;
  --cui-yellow:#f9b115;
  --cui-red:#e55353;
  --cui-orange:#f6960b;
  --purple:#8b3dff;
  --purple2:#a66cff;
  --cyan:#3399ff;
  --green:#2eb85c;
  --yellow:#f9b115;
  --red:#e55353;
  --orange:#f6960b;
  --text:#e7eaee;
  --muted:#a7b1c2;
  --soft:#8792a5;
  --line:#323a49;
  --line2:rgba(139,61,255,.45);
  --shadow:0 .5rem 1rem rgba(0,0,0,.20);
}
html,body{
  background:#212631 !important;
}
body{
  color:var(--cui-text);
  background:
    radial-gradient(circle at 0 0, rgba(51,153,255,.10), transparent 28%),
    radial-gradient(circle at 100% 0, rgba(111,66,193,.12), transparent 26%),
    linear-gradient(180deg,#212631 0%,#1f242e 100%) !important;
}
body::before{
  opacity:.11 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);
  background-size:28px 28px;
  mask-image:none;
}
.app{
  width:min(1880px, calc(100% - 24px));
  padding:14px 0 34px;
}

/* Barra superior tipo admin */
.topbar{
  background:#2a303d !important;
  border:1px solid #323a49 !important;
  border-radius:10px !important;
  box-shadow:var(--shadow) !important;
  padding:10px 14px !important;
  top:8px !important;
}
.brand{
  min-width:230px;
}
.brand-mark{
  border-radius:8px !important;
  background:#fff !important;
  color:#1d222b !important;
  box-shadow:none !important;
}
.brand strong{
  color:#fff !important;
  font-size:16px;
}
.brand small{
  color:#a7b1c2 !important;
}
.nav-pills{
  gap:6px;
}
.nav-pills a{
  border-radius:8px !important;
  background:#212631 !important;
  border:1px solid #323a49 !important;
  color:#c7ced9 !important;
  padding:8px 10px !important;
}
.nav-pills a:hover{
  background:#3399ff !important;
  border-color:#3399ff !important;
  color:#fff !important;
}

/* Hero más compacto tipo dashboard */
.header{
  margin-top:14px !important;
  padding:18px !important;
  border-radius:12px !important;
  background:#2a303d !important;
  border:1px solid #323a49 !important;
  box-shadow:var(--shadow) !important;
}
.header::after{
  display:none !important;
}
.hero-grid{
  grid-template-columns:1.25fr .75fr !important;
  gap:14px !important;
}
.eyebrow{
  border-radius:6px !important;
  background:rgba(51,153,255,.16) !important;
  border-color:rgba(51,153,255,.35) !important;
  color:#b9dcff !important;
}
h1{
  font-size:clamp(28px,2.8vw,48px) !important;
  letter-spacing:-1.3px !important;
  color:#fff !important;
}
.subtitle,.summary-text{
  color:#c7ced9 !important;
}
.executive-summary{
  background:#262c37 !important;
  border:1px solid #323a49 !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
.meta-item{
  background:#212631 !important;
  border:1px solid #323a49 !important;
  border-radius:8px !important;
}
.meta-item span{color:#a7b1c2 !important;}
.meta-item strong{color:#fff !important;}

/* Botones CoreUI + Cuik */
.btn{
  border-radius:6px !important;
  background:#6f42c1 !important;
  border:1px solid #6f42c1 !important;
  color:#fff !important;
  box-shadow:none !important;
  padding:10px 12px !important;
}
.btn:hover{
  filter:brightness(1.08);
}
.btn.secondary{
  background:#323a49 !important;
  border-color:#424b5c !important;
  color:#e7eaee !important;
}
.btn.warning{
  background:#f6960b !important;
  border-color:#f6960b !important;
}
.btn.purple-action,
.btn.secondary.purple-action{
  background:#6f42c1 !important;
  border-color:#8252d3 !important;
}

/* Secciones y cards */
.section{
  margin-top:14px !important;
  padding:16px !important;
  border-radius:12px !important;
  background:#2a303d !important;
  border:1px solid #323a49 !important;
  box-shadow:var(--shadow) !important;
  backdrop-filter:none !important;
}
.section-title{
  margin-bottom:12px !important;
}
.section-title h2{
  font-size:21px !important;
  color:#fff !important;
}
.section-title p,.card p.note{
  color:#a7b1c2 !important;
}
.card,
.table-wrap,
.source-card,
.stat-tile,
.kpi,
.alert,
.insight{
  background:#262c37 !important;
  border:1px solid #323a49 !important;
  border-radius:12px !important;
  box-shadow:none !important;
}
.card{
  padding:14px !important;
}
.card-head{
  border-bottom:1px solid rgba(255,255,255,.06);
  padding-bottom:8px;
}
.card h3{
  color:#fff !important;
  font-size:17px !important;
}
.chart{
  background:#212631 !important;
  border:1px solid rgba(255,255,255,.045);
  border-radius:10px;
  padding:4px;
}
.stat-tile{
  padding:12px !important;
}
.stat-tile span{color:#a7b1c2 !important;}
.stat-tile strong{color:#fff !important;}

/* KPIs estilo CoreUI widget */
.kpi-grid{
  grid-template-columns:repeat(5,minmax(180px,1fr)) !important;
  gap:12px !important;
}
.kpi{
  min-height:150px !important;
  padding:14px !important;
  background:
    linear-gradient(180deg,#2a303d,#262c37) !important;
}
.kpi::after{display:none !important;}
.kpi-title{color:#a7b1c2 !important;}
.kpi-value{color:#fff !important;font-size:28px !important;}
.kpi-sub{color:#a7b1c2 !important;}
.kpi-icon{
  background:rgba(111,66,193,.18) !important;
  border:1px solid rgba(111,66,193,.38) !important;
  border-radius:8px !important;
}
.spark .line{stroke:#3399ff !important;}
.spark .area{fill:rgba(51,153,255,.15) !important;}
.spark .bar{fill:#3399ff !important;}

/* Filtros tipo CoreUI cards */
.filter-section{
  background:#2a303d !important;
}
.filter-grid{
  grid-template-columns:repeat(8,minmax(145px,1fr)) !important;
  gap:10px !important;
}
.filter-card{
  background:#212631 !important;
  border:1px solid #323a49 !important;
  border-radius:10px !important;
  padding:10px !important;
}
.filter-card-title{
  color:#e7eaee !important;
}
.filter-card-title small{
  color:#8e9aab !important;
}
.filter-search,
.input-control{
  background:#2a303d !important;
  border:1px solid #3b4454 !important;
  color:#fff !important;
  border-radius:6px !important;
}
.filter-mini-actions button{
  background:#6f42c1 !important;
  border-color:#8252d3 !important;
  color:#fff !important;
  border-radius:6px !important;
}
.filter-option{
  background:#2a303d !important;
  border:1px solid #323a49 !important;
  border-radius:8px !important;
  color:#e7eaee !important;
}
.filter-option.active,
.filter-option:has(input:checked){
  background:rgba(111,66,193,.28) !important;
  border-color:#8252d3 !important;
}
.filter-option input,
input[type="checkbox"],
input[type="radio"]{
  accent-color:#6f42c1 !important;
}
.filter-option em{
  background:#212631 !important;
  color:#a7b1c2 !important;
}
.filter-chip{
  background:rgba(111,66,193,.22) !important;
  border-color:rgba(111,66,193,.45) !important;
  color:#e7d9ff !important;
}

/* Tablas */
table{
  color:#e7eaee !important;
}
thead th{
  background:#212631 !important;
  color:#c7ced9 !important;
  border-bottom:1px solid #323a49 !important;
}
tbody tr{
  background:#262c37 !important;
}
tbody tr:nth-child(even){
  background:#2a303d !important;
}
tbody td{
  color:#e7eaee !important;
  border-bottom:1px solid rgba(255,255,255,.06) !important;
}
.progress{
  background:#3b4454 !important;
}
.progress span{
  background:linear-gradient(90deg,#3399ff,#6f42c1) !important;
}

/* Insights */
.insight{
  background:#212631 !important;
}
.insight .num{
  background:#6f42c1 !important;
  border-radius:6px !important;
}
.insight strong{color:#fff !important;}
.insight span{color:#a7b1c2 !important;}
.alert{
  color:#c7ced9 !important;
}
.alert strong{color:#fff !important;}

/* Ranking y colocación diaria destacados */
#ranking .dashboard-grid{
  grid-template-columns:1.65fr .65fr !important;
}
.card:has(#chartRanking){
  min-height:560px !important;
}
#chartRanking{
  height:500px !important;
}
#comercial .chart-grid > .card:has(#chartTrend){
  grid-column:1 / -1 !important;
  min-height:510px !important;
}
#chartTrend{
  height:440px !important;
}
.card:has(#chartGroups){
  min-height:430px !important;
}
#chartGroups{
  height:350px !important;
}

@media (max-width:1450px){
  .filter-grid{grid-template-columns:repeat(4,minmax(160px,1fr)) !important;}
  .kpi-grid{grid-template-columns:repeat(3,minmax(180px,1fr)) !important;}
}
@media (max-width:1050px){
  .hero-grid,.dashboard-grid,.source-grid{grid-template-columns:1fr !important;}
  .filter-grid,.kpi-grid,.chart-grid{grid-template-columns:repeat(2,minmax(180px,1fr)) !important;}
}
@media (max-width:680px){
  .filter-grid,.kpi-grid,.chart-grid{grid-template-columns:1fr !important;}
}
/* === FIN ADAPTACIÓN VISUAL COREUI DARK ADMIN === */


/* === AJUSTES V2: KPIS 3 POR LINEA + SEMAFORO GIF === */
.kpi-grid{
  grid-template-columns:repeat(3, minmax(320px, 1fr)) !important;
  justify-content:center !important;
  max-width:1380px !important;
  margin:0 auto !important;
  gap:18px !important;
}
.kpi{
  min-height:190px !important;
  padding:22px !important;
}
.kpi-value{
  font-size:38px !important;
}
.kpi-sub{
  font-size:13.5px !important;
}
.kpi-icon{
  width:44px !important;
  height:44px !important;
  font-size:20px !important;
}
.spark{
  height:52px !important;
}

.group-member-list{
  display:flex;
  flex-direction:column;
  gap:4px;
  line-height:1.32;
}
.group-member-list span{
  display:block;
}
@media (max-width:1250px){
  .kpi-grid{
    grid-template-columns:repeat(2, minmax(280px, 1fr)) !important;
  }
}
@media (max-width:760px){
  .kpi-grid{
    grid-template-columns:1fr !important;
  }
}
/* === FIN AJUSTES V2 === */


/* === AJUSTES V3: NOMBRES CORTOS, PUNTOS, BACK TOP Y KPI MODAL === */
.kpi-grid{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.kpi{
  min-height:205px !important;
  padding:24px !important;
  cursor:pointer !important;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}
.kpi:hover{
  transform:translateY(-2px);
  border-color:rgba(111,66,193,.72) !important;
  box-shadow:0 18px 34px rgba(0,0,0,.26) !important;
}
.kpi:focus-visible{
  outline:3px solid rgba(111,66,193,.55);
  outline-offset:3px;
}
.kpi-value{
  font-size:40px !important;
}
.kpi-sub{
  font-size:14px !important;
  min-height:44px !important;
}
.kpi-icon{
  width:46px !important;
  height:46px !important;
  font-size:21px !important;
}
.spark{
  height:58px !important;
}
.status-point{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.status-point .point{
  width:14px;
  height:14px;
  border-radius:50%;
  display:inline-block;
  box-shadow:0 0 0 3px rgba(255,255,255,.06);
}
.status-point .point.green{background:#2eb85c;}
.status-point .point.yellow{background:#f9b115;}
.status-point .point.red{background:#e55353;}
.status-point .point.cyan{background:#3399ff;}
.group-member-list{
  display:flex;
  flex-direction:column;
  gap:4px;
  line-height:1.32;
}
.group-member-list span{
  display:block;
}
.back-top-btn{
  position:fixed;
  right:22px;
  bottom:22px;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(111,66,193,.65);
  background:linear-gradient(135deg,#6f42c1,#8b3dff);
  color:#fff;
  font-size:24px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 16px 32px rgba(0,0,0,.38);
  opacity:0;
  transform:translateY(18px) scale(.92);
  pointer-events:none;
  transition:.22s ease;
  z-index:80;
}
.back-top-btn.show{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}
.back-top-btn:hover{
  filter:brightness(1.12);
}
.kpi-modal{
  position:fixed;
  inset:0;
  display:none;
  place-items:center;
  padding:24px;
  background:rgba(0,0,0,.64);
  backdrop-filter:blur(10px);
  z-index:100;
}
.kpi-modal.show{
  display:grid;
}
.kpi-modal-card{
  width:min(820px, 100%);
  border:1px solid rgba(111,66,193,.55);
  border-radius:22px;
  background:linear-gradient(180deg,#2a303d,#212631);
  box-shadow:0 28px 80px rgba(0,0,0,.48);
  padding:28px;
  position:relative;
  color:#e7eaee;
}
.kpi-modal-close{
  position:absolute;
  right:16px;
  top:14px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid #424b5c;
  background:#323a49;
  color:#fff;
  font-size:22px;
  cursor:pointer;
}
.kpi-modal-title{
  color:#a7b1c2;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:13px;
  font-weight:900;
  margin-bottom:10px;
}
.kpi-modal-value{
  font-size:clamp(46px, 7vw, 86px);
  line-height:1;
  font-weight:950;
  color:#fff;
  letter-spacing:-2px;
  margin-bottom:14px;
}
.kpi-modal-sub{
  color:#c7ced9;
  font-size:17px;
  line-height:1.55;
  margin-bottom:18px;
}
.kpi-modal-spark{
  height:130px;
  border:1px solid #323a49;
  border-radius:16px;
  background:#212631;
  padding:14px;
}
.kpi-modal-spark svg{
  width:100%;
  height:100%;
}
.kpi-modal-spark .line{stroke:#3399ff; stroke-width:3;}
.kpi-modal-spark .area{fill:rgba(51,153,255,.18);}
.kpi-modal-spark .bar{fill:#6f42c1;}
@media (max-width:1180px){
  .kpi-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width:720px){
  .kpi-grid{
    grid-template-columns:1fr !important;
  }
  .kpi-modal-card{
    padding:22px;
  }
}
/* === FIN AJUSTES V3 === */


/* === AJUSTES V4: KPI MODAL FIX, BACKTOP, SEMAFORO REGLAS Y TENDENCIA HISTORICA === */
.kpi{
  cursor:pointer !important;
}
.kpi-modal{
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  place-items:center !important;
  padding:24px !important;
  background:rgba(0,0,0,.70) !important;
  backdrop-filter:blur(10px) !important;
  z-index:9999 !important;
}
.kpi-modal.show{
  display:grid !important;
}
.kpi-modal-card{
  width:min(920px, calc(100vw - 32px)) !important;
  max-height:calc(100vh - 40px) !important;
  overflow:auto !important;
  border:1px solid rgba(111,66,193,.65) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,#2a303d,#212631) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.56) !important;
  padding:30px !important;
  position:relative !important;
  color:#e7eaee !important;
}
.kpi-modal-close{
  position:absolute !important;
  right:16px !important;
  top:14px !important;
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  border:1px solid #424b5c !important;
  background:#323a49 !important;
  color:#fff !important;
  font-size:24px !important;
  cursor:pointer !important;
  z-index:2 !important;
}
.kpi-modal-title{
  color:#a7b1c2 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:14px !important;
  font-weight:900 !important;
  margin-bottom:12px !important;
  padding-right:46px !important;
}
.kpi-modal-value{
  font-size:clamp(48px, 8vw, 92px) !important;
  line-height:1 !important;
  font-weight:950 !important;
  color:#fff !important;
  letter-spacing:-2px !important;
  margin-bottom:16px !important;
}
.kpi-modal-sub{
  color:#c7ced9 !important;
  font-size:18px !important;
  line-height:1.55 !important;
  margin-bottom:20px !important;
}
.kpi-modal-spark{
  height:150px !important;
  border:1px solid #323a49 !important;
  border-radius:16px !important;
  background:#212631 !important;
  padding:16px !important;
}
.kpi-modal-spark svg{
  width:100% !important;
  height:100% !important;
}
.back-top-btn{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  width:52px !important;
  height:52px !important;
  border-radius:50% !important;
  border:1px solid rgba(111,66,193,.78) !important;
  background:linear-gradient(135deg,#6f42c1,#8b3dff) !important;
  color:#fff !important;
  font-size:26px !important;
  font-weight:950 !important;
  cursor:pointer !important;
  box-shadow:0 16px 34px rgba(0,0,0,.48) !important;
  opacity:0 !important;
  transform:translateY(18px) scale(.92) !important;
  pointer-events:none !important;
  transition:.22s ease !important;
  z-index:9998 !important;
}
.back-top-btn.show{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  pointer-events:auto !important;
}
.status-point{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.status-point .point{
  width:14px;
  height:14px;
  border-radius:50%;
  display:inline-block;
  box-shadow:0 0 0 3px rgba(255,255,255,.06);
}
.status-point .point.green{background:#2eb85c;}
.status-point .point.orange{background:#f6960b;}
.status-point .point.red{background:#e55353;}
.status-point .point.cyan{background:#3399ff;}
.status-star{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  font-weight:800;
  color:#ffd64d;
}
.status-star img{
  width:30px;
  height:30px;
  object-fit:contain;
}
.trend-insight{
  align-items:stretch !important;
}
.year-trend-chart{
  margin-top:10px;
  height:132px;
  width:100%;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:#212631;
  padding:8px;
}
.year-trend-chart svg{
  width:100%;
  height:100%;
  display:block;
}
.year-trend-chart .grid{
  stroke:rgba(255,255,255,.08);
  stroke-width:1;
}
.year-trend-chart .line{
  fill:none;
  stroke:#3399ff;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.year-trend-chart .area{
  fill:rgba(51,153,255,.14);
}
.year-trend-chart .dot{
  fill:#6f42c1;
  stroke:#fff;
  stroke-width:2;
}
.year-trend-chart text{
  fill:#c7ced9;
  font-size:10px;
  font-family:Inter, system-ui, sans-serif;
}
.year-trend-chart .value{
  fill:#fff;
  font-weight:800;
  font-size:11px;
}
@media (max-width:720px){
  .kpi-modal-card{
    padding:22px !important;
  }
  .kpi-modal-value{
    font-size:44px !important;
  }
}
/* === FIN AJUSTES V4 === */


/* === AJUSTES V5: GRAFICA HISTORICA NORMAL + FILTROS ORDENABLES === */
.year-trend-chart{
  margin:12px auto 0 !important;
  height:190px !important;
  width:min(720px, 100%) !important;
  max-width:100% !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:16px !important;
  background:#212631 !important;
  padding:10px !important;
  overflow:hidden !important;
}
.year-trend-chart svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
}
.year-trend-chart .grid{
  stroke:rgba(255,255,255,.08);
  stroke-width:1;
}
.year-trend-chart .line{
  fill:none;
  stroke:#3399ff;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.year-trend-chart .area{
  fill:rgba(51,153,255,.14);
}
.year-trend-chart .dot{
  fill:#6f42c1;
  stroke:#fff;
  stroke-width:2;
}
.year-trend-chart text{
  fill:#c7ced9;
  font-size:10px;
  font-family:Inter, system-ui, sans-serif;
}
.year-trend-chart .value{
  fill:#fff;
  font-weight:800;
  font-size:11px;
}
.filter-card{
  cursor:grab !important;
  user-select:none;
}
.filter-card:active{
  cursor:grabbing !important;
}
.filter-card.dragging{
  opacity:.45 !important;
  transform:scale(.985) !important;
  border-color:rgba(111,66,193,.82) !important;
}
.filter-card.drag-over{
  outline:2px dashed rgba(111,66,193,.85) !important;
  outline-offset:3px !important;
}
.filter-card-head::before{
  content:"⋮⋮";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:24px;
  margin-right:4px;
  color:#a7b1c2;
  letter-spacing:-2px;
  cursor:grab;
}
.filter-card-head{
  cursor:grab;
}
.filter-toolbar::after{
  content:"Arrastra los filtros para ordenarlos";
  color:#8e9aab;
  font-size:11px;
  margin-left:auto;
}
/* === FIN AJUSTES V5 === */


/* === AJUSTES V6: KPI MODAL CON GRAFICA REAL + BONO GRUPAL TOTAL === */
.kpi-modal-chart{
  height:320px !important;
  width:100% !important;
  border:1px solid #323a49 !important;
  border-radius:16px !important;
  background:#212631 !important;
  padding:8px !important;
}
.group-bonus-detail{
  display:flex;
  flex-direction:column;
  gap:3px;
  line-height:1.25;
}
.group-bonus-detail strong{
  color:#fff;
}
.group-bonus-detail small{
  color:#a7b1c2;
}
/* === FIN AJUSTES V6 === */


/* === AJUSTES V7: RECIBO INCENTIVOS + PERIODO DE PRUEBA === */
.trial-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  margin-top:2px;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(249,177,21,.12);
  border:1px solid rgba(249,177,21,.35);
  color:#f9b115;
  font-size:10px;
  font-weight:800;
}
.participant-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  margin-top:2px;
  padding:2px 6px;
  border-radius:999px;
  background:rgba(46,184,92,.12);
  border:1px solid rgba(46,184,92,.35);
  color:#2eb85c;
  font-size:10px;
  font-weight:800;
}
.receipt-doc .receipt-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  border-bottom:2px solid #2b1748;
  padding-bottom:10px;
  margin-bottom:12px;
}
.receipt-doc .receipt-title{
  font-size:24px;
  font-weight:950;
  letter-spacing:.04em;
  color:#111;
  margin:0;
}
.receipt-doc .receipt-subtitle{
  font-size:16px;
  font-weight:800;
  color:#2b1748;
  margin:4px 0 0;
}
.receipt-doc .receipt-period{
  text-align:right;
  font-size:12px;
  color:#333;
}
.receipt-doc .receipt-total{
  margin:12px 0;
  border:2px solid #2b1748;
  border-radius:8px;
  padding:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:15px;
}
.receipt-doc .receipt-total strong{
  font-size:22px;
  color:#2b1748;
}
.receipt-doc .blank-line{
  display:block;
  min-height:22px;
  border-bottom:1px solid #777;
}
.receipt-doc .notes-box{
  min-height:88px;
  border:1px solid #aaa;
  border-radius:8px;
  padding:8px;
  margin-top:8px;
}
.receipt-doc .manager-signature{
  margin-top:36px;
  display:flex;
  justify-content:flex-end;
}
.receipt-doc .signature-box{
  width:320px;
  text-align:center;
}
.receipt-doc .signature-line{
  border-top:1px solid #111;
  padding-top:6px;
  font-weight:800;
}
.receipt-doc .signature-role{
  font-size:11px;
  color:#444;
}

/* === FIN AJUSTES V7 === */


/* === AJUSTES V8: RECIBO COLUMNAS AMPLIAS + KPI MODAL LABELS === */
.receipt-doc table{
  table-layout:auto !important;
}
.receipt-doc th:nth-child(2),
.receipt-doc td:nth-child(2){
  min-width:260px !important;
  width:32% !important;
  white-space:normal !important;
}
.receipt-doc th:nth-child(7),
.receipt-doc td:nth-child(7){
  min-width:190px !important;
  width:20% !important;
}
.receipt-doc th:nth-child(8),
.receipt-doc td:nth-child(8){
  min-width:240px !important;
  width:24% !important;
}
.receipt-doc .blank-line{
  min-height:34px !important;
  border-bottom:1.5px solid #444 !important;
}
.receipt-doc td:nth-child(7) .blank-line{
  min-height:46px !important;
}
.receipt-doc td:nth-child(8) .blank-line{
  min-height:50px !important;
}
.kpi-modal-value.long-text{
  font-size:clamp(26px, 4.8vw, 48px) !important;
  line-height:1.12 !important;
  letter-spacing:-.8px !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}
.kpi-modal-chart{
  height:360px !important;
}

/* === FIN AJUSTES V8 === */


/* === AJUSTES V9: RECIBO VERTICAL, CRECIMIENTO TRIMESTRAL Y RESUMEN BI === */
.growth-badge{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-weight:800;
}
.growth-badge .trend-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  display:inline-block;
}
.growth-badge.up{color:#2eb85c;}
.growth-badge.down{color:#e55353;}
.growth-badge.flat{color:#f9b115;}
.growth-badge.up .trend-dot{background:#2eb85c;}
.growth-badge.down .trend-dot{background:#e55353;}
.growth-badge.flat .trend-dot{background:#f9b115;}
.medal-star{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:900;
}
.medal-star.first{color:#ffd64d;}
.medal-star.second{color:#c7ced9;}
.medal-star.third{color:#f6960b;}
.medal-star .star{
  font-size:18px;
  filter:drop-shadow(0 0 6px currentColor);
}
.print-summary-doc{
  color:#111 !important;
}
.print-summary-doc .summary-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  border-bottom:2px solid #2b1748;
  padding-bottom:8px;
  margin-bottom:10px;
}
.print-summary-doc h1{
  font-size:20px;
  margin:0;
  color:#111;
  letter-spacing:.02em;
}
.print-summary-doc h2{
  font-size:13px;
  margin:8px 0 5px;
  color:#2b1748;
}
.print-summary-doc .summary-meta{
  font-size:10px;
  color:#444;
  text-align:right;
}
.print-summary-doc .summary-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  margin:8px 0;
}
.print-summary-doc .summary-tile{
  border:1px solid #bbb;
  border-radius:8px;
  padding:7px;
}
.print-summary-doc .summary-tile span{
  display:block;
  font-size:9px;
  color:#555;
}
.print-summary-doc .summary-tile strong{
  display:block;
  font-size:15px;
  color:#111;
}
.print-summary-doc .summary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.print-summary-doc .summary-box{
  border:1px solid #bbb;
  border-radius:8px;
  padding:7px;
  min-height:108px;
}
.print-summary-doc ul{
  margin:4px 0 0 16px;
  padding:0;
  font-size:10px;
  line-height:1.35;
}
.print-summary-doc table{
  width:100%;
  border-collapse:collapse;
  font-size:9.5px;
}
.print-summary-doc th{
  background:#2b1748 !important;
  color:#fff !important;
  border:1px solid #2b1748;
  padding:4px;
  text-align:left;
}
.print-summary-doc td{
  border:1px solid #c8c8c8;
  padding:4px;
  color:#111;
}

/* === FIN AJUSTES V9 === */


/* === AJUSTES V11: SPARKLINES TRIMESTRALES + RESUMEN BI CON GRAFICAS === */
.quarter-spark-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  padding:4px;
}
.quarter-spark-card{
  border:1px solid var(--border);
  border-radius:16px;
  background:rgba(255,255,255,.025);
  padding:12px;
  min-height:130px;
}
.quarter-spark-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.quarter-spark-head strong{
  color:var(--text);
  font-size:13px;
}
.quarter-spark-head small{
  color:var(--muted);
  display:block;
  margin-top:2px;
}
.quarter-spark-value{
  font-size:20px;
  font-weight:950;
  color:#fff;
}
.quarter-spark-svg{
  height:58px;
  width:100%;
  margin-top:6px;
}
.quarter-spark-svg svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.quarter-spark-svg .spark-area.up{fill:rgba(46,184,92,.15);}
.quarter-spark-svg .spark-area.down{fill:rgba(229,83,83,.14);}
.quarter-spark-svg .spark-area.flat{fill:rgba(249,177,21,.14);}
.quarter-spark-svg .spark-line.up{stroke:#2eb85c;}
.quarter-spark-svg .spark-line.down{stroke:#e55353;}
.quarter-spark-svg .spark-line.flat{stroke:#f9b115;}
.quarter-spark-svg .spark-line{
  fill:none;
  stroke-width:3;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quarter-spark-svg .spark-dot{
  fill:#fff;
  stroke-width:2;
}
.quarter-spark-months{
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-size:10px;
  margin-top:4px;
}
.quarter-mini-inline{
  min-width:160px;
  width:190px;
  height:44px;
}
.quarter-mini-inline svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.summary-chart{
  width:100%;
  height:124px;
  border:1px solid #c8c8c8;
  border-radius:8px;
  background:#fff;
  padding:4px;
  box-sizing:border-box;
  margin-top:4px;
}
.summary-chart svg{
  width:100%;
  height:100%;
  display:block;
}
.summary-chart text{
  font-family:Arial, sans-serif;
  font-size:8px;
  fill:#333;
}
.summary-chart .axis{stroke:#ddd;stroke-width:1;}
.summary-chart .line{fill:none;stroke:#5b2abf;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.summary-chart .area{fill:rgba(91,42,191,.12);}
.summary-chart .bar{fill:#5b2abf;}
.summary-chart .bar2{fill:#3399ff;}
.summary-chart .bar3{fill:#2eb85c;}
.summary-chart .risk{fill:#e55353;}
.summary-chart .warn{fill:#f9b115;}
.summary-chart .ok{fill:#2eb85c;}
.summary-chart .dot{fill:#fff;stroke:#5b2abf;stroke-width:2;}
.print-summary-doc .summary-grid{
  grid-template-columns:1fr 1fr !important;
  gap:7px !important;
}
.print-summary-doc .summary-box{
  min-height:auto !important;
  break-inside:avoid;
}
.print-summary-doc .summary-kpis{
  grid-template-columns:repeat(5,1fr) !important;
}
.print-summary-doc .summary-tile strong{
  font-size:13px !important;
}
.print-summary-doc .summary-tile span{
  font-size:8px !important;
}
.print-summary-doc .summary-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:7px;
}
@media (max-width:900px){
  .quarter-spark-grid{
    grid-template-columns:1fr;
  }
}

/* === FIN AJUSTES V11 === */


/* === AJUSTES V12: SPARKLINES TIPO LISTA COMPACTA === */
.quarter-market-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.quarter-market-item{
  display:grid;
  grid-template-columns: 1.1fr 1.35fr auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
}
.quarter-market-left{
  min-width:0;
}
.quarter-market-name{
  color:var(--text);
  font-size:13px;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:3px;
}
.quarter-market-sub{
  color:var(--muted);
  font-size:11px;
}
.quarter-market-spark{
  min-width:0;
  height:56px;
}
.quarter-market-spark svg{
  width:100%;
  height:100%;
  overflow:visible;
  display:block;
}
.quarter-market-spark .bg-line{
  stroke:rgba(255,255,255,.16);
  stroke-width:1;
  stroke-dasharray:4 4;
}
.quarter-market-spark .spark-area.up{fill:rgba(46,184,92,.10);}
.quarter-market-spark .spark-area.down{fill:rgba(229,83,83,.10);}
.quarter-market-spark .spark-area.flat{fill:rgba(249,177,21,.10);}
.quarter-market-spark .spark-line.up{stroke:#2eb85c;}
.quarter-market-spark .spark-line.down{stroke:#e55353;}
.quarter-market-spark .spark-line.flat{stroke:#f9b115;}
.quarter-market-spark .spark-line{
  fill:none;
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quarter-market-spark .spark-dot{
  fill:#fff;
  stroke-width:2;
}
.quarter-market-right{
  text-align:right;
  min-width:116px;
}
.quarter-market-total{
  color:#fff;
  font-size:22px;
  line-height:1;
  font-weight:950;
  margin-bottom:4px;
}
.quarter-market-change{
  font-size:12px;
  font-weight:900;
}
.quarter-market-change.up{color:#2eb85c;}
.quarter-market-change.down{color:#e55353;}
.quarter-market-change.flat{color:#f9b115;}
.quarter-market-months{
  margin-top:4px;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
  color:var(--muted);
  font-size:10px;
}
.quarter-market-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  color:var(--muted);
  font-size:12px;
}
.quarter-market-summary strong{
  color:var(--text);
}
.quarter-mini-inline{
  min-width:170px;
  width:200px;
  height:44px;
}
.quarter-mini-inline svg{
  width:100%;
  height:100%;
  overflow:visible;
}
@media (max-width:900px){
  .quarter-market-item{
    grid-template-columns: 1fr;
  }
  .quarter-market-right{
    text-align:left;
  }
  .quarter-market-months{
    justify-content:flex-start;
  }
}
/* === FIN AJUSTES V12: SPARKLINES TIPO LISTA COMPACTA === */


/* === AJUSTES V13: CRECIMIENTO TRIMESTRAL INDEPENDIENTE Y SPARKLINES MERCADO === */
.quarter-market-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.quarter-market-item{
  display:grid;
  grid-template-columns: 1.1fr 1.35fr auto;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(6,12,24,.45);
}
.quarter-market-item:first-child{
  border-top:0;
}
.quarter-market-left{
  min-width:0;
}
.quarter-market-name{
  color:#f4f6fb;
  font-size:13px;
  font-weight:800;
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:2px;
}
.quarter-market-sub{
  color:var(--muted);
  font-size:10px;
}
.quarter-market-spark{
  min-width:0;
  height:56px;
}
.quarter-market-spark svg{
  width:100%;
  height:100%;
  overflow:visible;
  display:block;
}
.quarter-market-spark .bg-line{
  stroke:rgba(255,255,255,.28);
  stroke-width:1;
  stroke-dasharray:5 5;
}
.quarter-market-spark .spark-area.up{fill:rgba(46,184,92,.08);}
.quarter-market-spark .spark-area.down{fill:rgba(229,83,83,.08);}
.quarter-market-spark .spark-area.flat{fill:rgba(249,177,21,.08);}
.quarter-market-spark .spark-line.up{stroke:#24d26a;}
.quarter-market-spark .spark-line.down{stroke:#ff6b4a;}
.quarter-market-spark .spark-line.flat{stroke:#ffcc4d;}
.quarter-market-spark .spark-line{
  fill:none;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quarter-market-spark .spark-dot{
  fill:#fff;
  stroke-width:1.8;
}
.quarter-market-right{
  text-align:right;
  min-width:120px;
}
.quarter-market-total{
  color:#fff;
  font-size:24px;
  line-height:1;
  font-weight:950;
  margin-bottom:4px;
}
.quarter-market-change{
  font-size:12px;
  font-weight:900;
}
.quarter-market-change.up{color:#24d26a;}
.quarter-market-change.down{color:#ff6b4a;}
.quarter-market-change.flat{color:#ffcc4d;}
.quarter-market-months{
  margin-top:4px;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
  color:var(--muted);
  font-size:10px;
}
.quarter-market-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  color:var(--muted);
  font-size:12px;
}
.quarter-market-summary strong{
  color:var(--text);
}
.quarter-mini-inline{
  min-width:185px;
  width:210px;
  height:46px;
}
.quarter-mini-inline svg{
  width:100%;
  height:100%;
  overflow:visible;
}
@media (max-width:900px){
  .quarter-market-item{
    grid-template-columns:1fr;
  }
  .quarter-market-right{
    text-align:left;
  }
  .quarter-market-months{
    justify-content:flex-start;
  }
}
/* === FIN AJUSTES V13 === */


/* === AJUSTES V14: CRECIMIENTO FILTRADO POR AÑO/CANAL CON LINEAS === */
#chartQuarterGrowth.chart{
  min-height:520px !important;
}
.quarter-filter-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  color:var(--muted);
  font-size:12px;
}
.quarter-filter-note strong{
  color:var(--text);
}
.quarter-mini-inline{
  min-width:190px;
  width:220px;
  height:48px;
}
.quarter-mini-inline svg{
  width:100%;
  height:100%;
  overflow:visible;
}
.quarter-mini-inline .bg-line{
  stroke:rgba(255,255,255,.25);
  stroke-width:1;
  stroke-dasharray:5 5;
}
.quarter-mini-inline .spark-line.up{stroke:#24d26a;}
.quarter-mini-inline .spark-line.down{stroke:#ff6b4a;}
.quarter-mini-inline .spark-line.flat{stroke:#ffcc4d;}
.quarter-mini-inline .spark-line{
  fill:none;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.quarter-mini-inline .spark-area.up{fill:rgba(36,210,106,.08);}
.quarter-mini-inline .spark-area.down{fill:rgba(255,107,74,.08);}
.quarter-mini-inline .spark-area.flat{fill:rgba(255,204,77,.08);}
.quarter-mini-inline .spark-dot{
  fill:#fff;
  stroke-width:1.8;
}
/* === FIN AJUSTES V14 === */


/* === AJUSTES V15: TOP 3 TRIMESTRAL VISIBLE === */
#chartQuarterGrowth .quarter-chart-host{height:430px; width:100%;}
#chartQuarterGrowth .quarter-empty-wrap{padding:18px 8px;}
/* === FIN AJUSTES V15 === */


/* === AJUSTES V16: RESUMEN BI TIPO COMO VAMOS A LA FECHA === */
.bi-pdf-report{
  page: summaryPage;
  width:100%;
  color:#161616 !important;
  background:#f2f2f2 !important;
  font-family:Arial, Helvetica, sans-serif !important;
}
.bi-pdf-report *{
  box-sizing:border-box;
}
.bi-topbar{
  background:linear-gradient(90deg,#6b26a8,#802bbd,#6b26a8);
  color:#fff;
  border-radius:0;
  padding:8px 12px;
  display:grid;
  grid-template-columns:105px 1fr 88px;
  align-items:center;
  gap:10px;
}
.bi-brand{
  display:flex;
  align-items:center;
  gap:7px;
  font-weight:900;
}
.bi-logo-mark{
  width:44px;
  height:44px;
  border-radius:12px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);
  display:grid;
  place-items:center;
  font-size:23px;
  font-weight:950;
}
.bi-title{
  text-align:center;
}
.bi-title h1{
  font-size:17px;
  line-height:1.05;
  margin:0;
  color:#fff;
  letter-spacing:.04em;
}
.bi-title h2{
  font-size:12px;
  line-height:1.1;
  margin:3px 0 0;
  color:#fff;
  letter-spacing:.08em;
}
.bi-btn-fake{
  background:linear-gradient(180deg,#fff,#d9d9d9);
  color:#222;
  font-weight:800;
  font-size:8px;
  border-radius:5px;
  text-align:center;
  padding:5px;
  border:1px solid rgba(0,0,0,.25);
}
.bi-kpi-strip{
  background:#6b26a8;
  color:#fff;
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:0;
  padding:0 8px 8px;
}
.bi-kpi-mini{
  text-align:center;
  border-left:1px solid rgba(255,255,255,.18);
  padding:4px 4px 2px;
}
.bi-kpi-mini:first-child{border-left:0;}
.bi-kpi-mini span{
  display:block;
  font-size:6.5px;
  text-transform:uppercase;
  line-height:1.05;
  opacity:.9;
  min-height:14px;
}
.bi-kpi-mini strong{
  display:block;
  font-size:12px;
  margin-top:2px;
}
.bi-page-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:7px;
  padding:7px;
}
.bi-panel{
  background:#fff;
  border:1px solid #ddd;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.bi-panel h3{
  margin:0;
  padding:5px 8px;
  font-size:9.5px;
  color:#111;
  text-align:center;
  border-bottom:1px solid #ddd;
}
.bi-chart{
  height:130px;
  padding:4px;
}
.bi-chart svg{
  width:100%;
  height:100%;
  display:block;
}
.bi-chart text{
  font-family:Arial, Helvetica, sans-serif;
  fill:#222;
  font-size:8px;
}
.bi-chart .grid{stroke:#ddd;stroke-width:1;}
.bi-chart .line{fill:none;stroke:#6b26a8;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.bi-chart .line2{fill:none;stroke:#3399ff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.bi-chart .area{fill:rgba(107,38,168,.14);}
.bi-chart .bar{fill:url(#biGrad);}
.bi-chart .bar-alt{fill:#b88ae0;}
.bi-chart .bar-ok{fill:#2eb85c;}
.bi-chart .bar-warn{fill:#f9b115;}
.bi-chart .bar-risk{fill:#e55353;}
.bi-chart .dot{fill:#fff;stroke:#6b26a8;stroke-width:2;}
.bi-mid-layout{
  display:grid;
  grid-template-columns:2.1fr .9fr;
  gap:7px;
  padding:0 7px 7px;
}
.bi-panel-ranking .bi-chart{
  height:188px;
}
.bi-panel-gauge .bi-chart{
  height:188px;
}
.bi-bottom-layout{
  display:grid;
  grid-template-columns:2.1fr .9fr;
  gap:7px;
  padding:0 7px 7px;
}
.bi-panel-daily .bi-chart{
  height:112px;
}
.bi-mini-table{
  width:100%;
  border-collapse:collapse;
  font-size:7.4px;
}
.bi-mini-table th{
  background:#6b26a8;
  color:#fff;
  padding:3px;
  text-align:left;
}
.bi-mini-table td{
  border:1px solid #ddd;
  padding:3px;
  color:#111;
}
.bi-insight-layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  padding:0 7px 7px;
}
.bi-note-box{
  background:#fff;
  border:1px solid #ddd;
  border-radius:10px;
  padding:7px 10px;
  min-height:68px;
}
.bi-note-box h3{
  font-size:10px;
  margin:0 0 4px;
  color:#6b26a8;
}
.bi-note-box ul{
  margin:0 0 0 15px;
  padding:0;
  font-size:8px;
  line-height:1.26;
  color:#222;
}
.bi-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  font-size:8px;
  color:#111;
  padding:3px 8px 0;
}
.bi-footer strong{
  font-weight:900;
}
.bi-gauge-text{
  font-size:22px !important;
  fill:#6b26a8 !important;
  font-weight:900;
}
.bi-gauge-sub{
  font-size:8px !important;
  fill:#111 !important;
  font-weight:800;
}

/* === FIN AJUSTES V16 === */


/* === AJUSTES V17: MULTIARCHIVO === */
.file-list-mini{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
.file-pill{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(111,66,193,.14);
  border:1px solid rgba(111,66,193,.35);
  color:#d9d2ff;
  font-size:11px;
  font-weight:700;
}
.file-pill small{
  color:#a7b1c2;
  font-weight:600;
}
.multi-source-note{
  margin-top:8px;
  color:#a7b1c2;
  font-size:12px;
  line-height:1.35;
}
/* === FIN AJUSTES V17 === */


/* === AJUSTES V18: ZIP COMPLETO Y MULTIARCHIVO ROBUSTO === */
.file-list-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.file-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(111,66,193,.14);border:1px solid rgba(111,66,193,.35);color:#d9d2ff;font-size:11px;font-weight:700;}
.file-pill small{color:#a7b1c2;font-weight:600;}
.multi-source-note{margin-top:8px;color:#a7b1c2;font-size:12px;line-height:1.35;}
/* === FIN AJUSTES V18 === */


/* === AJUSTES V21: MULTIARCHIVO ESTABLE === */
.file-list-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.file-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(111,66,193,.14);border:1px solid rgba(111,66,193,.35);color:#d9d2ff;font-size:11px;font-weight:700}
.file-pill small{color:#a7b1c2;font-weight:600}
/* === FIN AJUSTES V21 === */


/* === AJUSTES V22: CARGA ARCHIVOS PROBADA === */
.file-list-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.file-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(111,66,193,.14);border:1px solid rgba(111,66,193,.35);color:#d9d2ff;font-size:11px;font-weight:700}
.file-pill small{color:#a7b1c2;font-weight:600}
/* === FIN AJUSTES V22 === */


/* === AJUSTES V23: CARGA MULTIARCHIVO FUNCIONAL === */
.file-list-mini{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.file-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(111,66,193,.14);border:1px solid rgba(111,66,193,.35);color:#d9d2ff;font-size:11px;font-weight:700}
.file-pill small{color:#a7b1c2;font-weight:600}
/* === FIN AJUSTES V23 === */


/* === AJUSTES V24: MODAL KPI CERRABLE + PDF BI MARGEN 0 === */
.kpi-modal.show{
  pointer-events:auto !important;
}
.kpi-modal-card{
  pointer-events:auto !important;
}
.kpi-modal-close,
.kpi-modal-close-inline{
  pointer-events:auto !important;
  z-index:10050 !important;
}
.kpi-modal-close-inline{
  position:absolute !important;
  right:16px !important;
  top:14px !important;
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  border:1px solid #424b5c !important;
  background:#323a49 !important;
  color:#fff !important;
  font-size:24px !important;
  cursor:pointer !important;
  line-height:1 !important;
}
body.kpi-modal-open{
  overflow:hidden;
}

/* === FIN AJUSTES V24 === */


/* === AJUSTES V25: CIERRE KPI FORZADO + PDF BI MARGEN 0 === */
.kpi-modal{
  display:none !important;
  pointer-events:none !important;
}
.kpi-modal.show{
  display:grid !important;
  pointer-events:auto !important;
}
.kpi-modal-card{
  position:relative !important;
  pointer-events:auto !important;
}
.kpi-modal-close,
.kpi-modal-close-inline{
  position:absolute !important;
  right:16px !important;
  top:14px !important;
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  border:1px solid #5d6678 !important;
  background:#111827 !important;
  color:#ffffff !important;
  font-size:28px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
  line-height:36px !important;
  display:grid !important;
  place-items:center !important;
  box-shadow:0 10px 25px rgba(0,0,0,.45) !important;
}
.kpi-modal-close:hover,
.kpi-modal-close-inline:hover{
  background:#6f42c1 !important;
}
body.kpi-modal-open{
  overflow:hidden !important;
}

/* === FIN AJUSTES V25 === */


/* === AJUSTES V26: INTELIGENCIA AVANZADA CUIK === */
.ai-intelligence-section .section-title h2::after{
  content:" IA";
  display:inline-flex;
  margin-left:8px;
  padding:3px 8px;
  border-radius:999px;
  font-size:11px;
  letter-spacing:.08em;
  color:#fff;
  background:linear-gradient(135deg,#6f42c1,#3399ff);
  vertical-align:middle;
}
.ai-score-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:16px;
}
.ai-score-card{
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  border-radius:18px;
  padding:16px;
  min-height:122px;
  box-shadow:0 18px 38px rgba(0,0,0,.22);
  position:relative;
  overflow:hidden;
}
.ai-score-card::before{
  content:"";
  position:absolute;
  inset:-45% -30% auto auto;
  width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(111,66,193,.28),transparent 65%);
}
.ai-score-card .label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.ai-score-card .value{font-size:31px;line-height:1.02;color:#fff;font-weight:950;margin-top:9px;letter-spacing:-.04em}
.ai-score-card .sub{color:#a7b1c2;font-size:12px;margin-top:7px;line-height:1.35}
.ai-score-card.ok{border-color:rgba(46,184,92,.36)}
.ai-score-card.warn{border-color:rgba(249,177,21,.38)}
.ai-score-card.risk{border-color:rgba(229,83,83,.38)}
.ai-grid{grid-template-columns:1.35fr 1fr !important;}
.ai-chart-large{height:430px !important;}
.ai-chart-medium{height:320px !important;}
.whatif-box{padding:12px 4px 4px;display:flex;flex-direction:column;gap:14px}
.whatif-box label{font-size:13px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.whatif-box input[type=range]{width:100%;accent-color:#6f42c1}
.whatif-result{border:1px solid rgba(111,66,193,.38);border-radius:16px;padding:16px;background:rgba(111,66,193,.1);font-size:14px;line-height:1.5;color:#e7eaee}
.whatif-result strong{font-size:28px;color:#fff;display:block;margin-bottom:4px}
.ai-table-wrap td:nth-child(3),.ai-table-wrap td:nth-child(5){min-width:230px;white-space:normal}
.ai-priority{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-weight:900;font-size:11px}
.ai-priority.high{background:rgba(229,83,83,.13);color:#ff8b8b;border:1px solid rgba(229,83,83,.35)}
.ai-priority.medium{background:rgba(249,177,21,.13);color:#ffd372;border:1px solid rgba(249,177,21,.35)}
.ai-priority.low{background:rgba(46,184,92,.13);color:#75e39a;border:1px solid rgba(46,184,92,.35)}
.ai-prescriptions{margin-top:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ai-prescriptions .insight{height:100%}
@media(max-width:1100px){.ai-score-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.ai-grid{grid-template-columns:1fr !important;}.ai-prescriptions{grid-template-columns:1fr}}
@media(max-width:680px){.ai-score-grid{grid-template-columns:1fr}}
/* === FIN AJUSTES V26 === */



/* === AJUSTES V28: MODO CLARO/OSCURO + SCROLL PREMIUM === */
html[data-theme="light"]{
  --bg:#f6f3ff;
  --bg2:#ffffff;
  --panel:rgba(255,255,255,.82);
  --panel2:rgba(255,255,255,.94);
  --line:rgba(59,39,99,.16);
  --line2:rgba(138,53,255,.32);
  --text:#171326;
  --muted:#5f5575;
  --soft:#746a86;
  --black:#ffffff;
  --shadow:0 24px 70px rgba(45,26,82,.16);
}
html[data-theme="light"] body{
  color:var(--text);
  background:
    radial-gradient(circle at 10% -5%, rgba(138,53,255,.16), transparent 34%),
    radial-gradient(circle at 88% 5%, rgba(80,231,255,.16), transparent 30%),
    radial-gradient(circle at 50% 105%, rgba(181,108,255,.12), transparent 40%),
    linear-gradient(140deg, #fbfaff 0%, #f5f0ff 46%, #eef9ff 100%) !important;
}
html[data-theme="light"] body::before{
  opacity:.44;
  background-image:
    linear-gradient(rgba(55,35,95,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(55,35,95,.055) 1px, transparent 1px);
}
html[data-theme="light"] .topbar,
html[data-theme="light"] .header,
html[data-theme="light"] .section,
html[data-theme="light"] .card,
html[data-theme="light"] .executive-summary,
html[data-theme="light"] .stat-tile,
html[data-theme="light"] .kpi,
html[data-theme="light"] .filter-card,
html[data-theme="light"] .meta-item,
html[data-theme="light"] .alert,
html[data-theme="light"] .insight-panel,
html[data-theme="light"] .ai-score-card,
html[data-theme="light"] .ai-prescriptions,
html[data-theme="light"] .whatif-box,
html[data-theme="light"] .table-wrap,
html[data-theme="light"] .chart{
  background-color:rgba(255,255,255,.76);
  border-color:var(--line);
  color:var(--text);
  box-shadow:var(--shadow);
}
html[data-theme="light"] .topbar,
html[data-theme="light"] .header{
  background:
    linear-gradient(135deg, rgba(255,255,255,.86), rgba(244,235,255,.74)),
    radial-gradient(circle at 18% 20%, rgba(138,53,255,.12), transparent 38%) !important;
  backdrop-filter:blur(24px);
}
html[data-theme="light"] .executive-summary{
  background:rgba(255,255,255,.68) !important;
}
html[data-theme="light"] .nav-pills a,
html[data-theme="light"] .summary-text,
html[data-theme="light"] .subtitle,
html[data-theme="light"] .section-title p,
html[data-theme="light"] .note,
html[data-theme="light"] .meta-item span,
html[data-theme="light"] .kpi-sub,
html[data-theme="light"] .kpi-title,
html[data-theme="light"] .footer{
  color:var(--muted) !important;
}
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] .brand strong,
html[data-theme="light"] .kpi-value,
html[data-theme="light"] .meta-item strong,
html[data-theme="light"] .stat-tile strong{
  color:var(--text) !important;
}
html[data-theme="light"] .btn.secondary,
html[data-theme="light"] .badge,
html[data-theme="light"] .input-control,
html[data-theme="light"] select,
html[data-theme="light"] input{
  background:rgba(255,255,255,.76) !important;
  color:var(--text) !important;
  border-color:var(--line) !important;
}
html[data-theme="light"] .brand-mark{
  background:linear-gradient(145deg, #ffffff, #efe8ff);
  color:#12101c;
}
html[data-theme="light"] .kpi-modal-card{
  background:#ffffff !important;
  color:#171326 !important;
}
.theme-toggle-premium{
  position:fixed;
  top:18px;
  right:18px;
  z-index:10040;
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:42px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(181,108,255,.36);
  color:#fff;
  background:linear-gradient(135deg, rgba(138,53,255,.92), rgba(80,45,180,.92));
  box-shadow:0 16px 42px rgba(80,23,155,.38);
  backdrop-filter:blur(18px);
  cursor:pointer;
  font-weight:900;
  font-size:12px;
  letter-spacing:.02em;
  transition:transform .22s cubic-bezier(.16,1,.3,1), filter .22s ease, background .22s ease;
}
.theme-toggle-premium:hover{transform:translateY(-2px);filter:brightness(1.08)}
.theme-toggle-icon{font-size:15px;line-height:1}
html[data-theme="light"] .theme-toggle-premium{
  color:#171326;
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(239,232,255,.94));
  border-color:rgba(138,53,255,.24);
  box-shadow:0 18px 46px rgba(45,26,82,.18);
}
.cuik-reveal{
  will-change:opacity, transform, filter;
}
body.reveal-active .cuik-reveal:not(.cuik-reveal-visible){
  opacity:0;
  transform:translateY(38px) scale(.985);
  filter:blur(7px);
}
body.reveal-active .cuik-reveal.cuik-reveal-visible{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
  transition:
    opacity .82s cubic-bezier(.16,1,.3,1),
    transform .82s cubic-bezier(.16,1,.3,1),
    filter .82s cubic-bezier(.16,1,.3,1),
    box-shadow .28s ease,
    border-color .28s ease;
}
@media (hover:hover){
  body.reveal-active .cuik-reveal.cuik-reveal-visible:is(.card,.kpi,.stat-tile,.filter-card,.ai-score-card):hover{
    transform:translateY(-4px) scale(1.003);
    border-color:rgba(181,108,255,.42);
  }
}
@media (prefers-reduced-motion: reduce){
  .cuik-reveal,
  body.reveal-active .cuik-reveal,
  body.reveal-active .cuik-reveal.cuik-reveal-visible{
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}
@media (max-width: 760px){
  .theme-toggle-premium{
    top:12px;
    right:12px;
    height:38px;
    padding:0 11px;
  }
  .theme-toggle-text{display:none}
}

/* === FIN AJUSTES V28 === */

  
/* === AJUSTES V29: THEME REAL, SCROLL REVEAL, BACKTOP E HISTÓRICO MENSUAL === */
.topbar-actions-v29{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  margin-left:auto !important;
  flex:0 0 auto !important;
}
.theme-toggle-premium{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  z-index:2 !important;
  height:36px !important;
  min-width:96px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  border:1px solid rgba(181,108,255,.42) !important;
  background:linear-gradient(135deg, rgba(138,53,255,.95), rgba(31,123,255,.76)) !important;
  color:#fff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.02em !important;
  box-shadow:none !important;
  cursor:pointer !important;
  flex-shrink:0 !important;
}
.theme-toggle-premium:hover{filter:brightness(1.12); transform:translateY(-1px)}
html[data-theme="light"], html[data-cuik-theme="light"]{
  --bg:#f6f3ff !important;
  --bg2:#ffffff !important;
  --panel:rgba(255,255,255,.86) !important;
  --panel2:rgba(255,255,255,.96) !important;
  --line:rgba(55,35,95,.18) !important;
  --line2:rgba(138,53,255,.32) !important;
  --text:#171326 !important;
  --muted:#5f5575 !important;
  --soft:#746a86 !important;
  --black:#ffffff !important;
  --shadow:0 22px 60px rgba(45,26,82,.15) !important;
  --cui-bg:#f6f3ff !important;
  --cui-panel:#ffffff !important;
  --cui-card:#ffffff !important;
  --cui-card2:#f8f6ff !important;
  --cui-text:#171326 !important;
}
html[data-theme="light"] body,
body.theme-light{
  color:#171326 !important;
  background:radial-gradient(circle at 10% -5%, rgba(138,53,255,.16), transparent 34%),radial-gradient(circle at 88% 5%, rgba(80,231,255,.16), transparent 30%),linear-gradient(140deg,#fbfaff 0%,#f5f0ff 48%,#eef9ff 100%) !important;
}
html[data-theme="light"] body::before{opacity:.32 !important; background-image:linear-gradient(rgba(55,35,95,.055) 1px, transparent 1px),linear-gradient(90deg, rgba(55,35,95,.055) 1px, transparent 1px) !important;}
html[data-theme="light"] .topbar,
html[data-theme="light"] .header,
html[data-theme="light"] .section,
html[data-theme="light"] .card,
html[data-theme="light"] .executive-summary,
html[data-theme="light"] .stat-tile,
html[data-theme="light"] .kpi,
html[data-theme="light"] .filter-card,
html[data-theme="light"] .meta-item,
html[data-theme="light"] .alert,
html[data-theme="light"] .insight-panel,
html[data-theme="light"] .ai-score-card,
html[data-theme="light"] .ai-prescriptions,
html[data-theme="light"] .whatif-box,
html[data-theme="light"] .table-wrap,
html[data-theme="light"] .chart{
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(246,242,255,.80)) !important;
  border-color:rgba(55,35,95,.16) !important;
  color:#171326 !important;
  box-shadow:0 18px 46px rgba(45,26,82,.12) !important;
}
html[data-theme="light"] .nav-pills a,
html[data-theme="light"] .btn.secondary,
html[data-theme="light"] .badge,
html[data-theme="light"] .input-control,
html[data-theme="light"] select,
html[data-theme="light"] input,
html[data-theme="light"] .filter-option{
  background:rgba(255,255,255,.78) !important;
  color:#171326 !important;
  border-color:rgba(55,35,95,.16) !important;
}
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] .brand strong,
html[data-theme="light"] .kpi-value,
html[data-theme="light"] td,
html[data-theme="light"] th,
html[data-theme="light"] .meta-item strong,
html[data-theme="light"] .stat-tile strong{color:#171326 !important;}
html[data-theme="light"] .subtitle,
html[data-theme="light"] .note,
html[data-theme="light"] .brand small,
html[data-theme="light"] .kpi-sub,
html[data-theme="light"] .kpi-title{color:#5f5575 !important;}
html[data-theme="light"] .theme-toggle-premium{
  background:linear-gradient(135deg,#ffffff,#efe8ff) !important;
  color:#171326 !important;
  border-color:rgba(138,53,255,.30) !important;
}
.cuik-reveal{will-change:opacity,transform,filter;}
body.reveal-active .cuik-reveal:not(.cuik-reveal-visible){
  opacity:0 !important;
  transform:translateY(42px) scale(.985) !important;
  filter:blur(7px) !important;
}
body.reveal-active .cuik-reveal.cuik-reveal-visible{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  filter:blur(0) !important;
  transition:opacity .78s cubic-bezier(.16,1,.3,1),transform .78s cubic-bezier(.16,1,.3,1),filter .78s cubic-bezier(.16,1,.3,1),box-shadow .26s ease,border-color .26s ease !important;
}
.back-top-btn{
  position:fixed !important;
  right:22px !important;
  bottom:22px !important;
  width:54px !important;
  height:54px !important;
  border-radius:50% !important;
  border:1px solid rgba(181,108,255,.68) !important;
  background:linear-gradient(135deg,#6f42c1,#1f7bff) !important;
  color:#fff !important;
  font-size:28px !important;
  font-weight:950 !important;
  opacity:0 !important;
  transform:translateY(18px) scale(.90) !important;
  pointer-events:none !important;
  z-index:10030 !important;
  box-shadow:0 18px 42px rgba(0,0,0,.42) !important;
  transition:.22s cubic-bezier(.16,1,.3,1) !important;
}
.back-top-btn.show{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  pointer-events:auto !important;
}
@media(max-width:980px){
  .topbar{align-items:flex-start !important;}
  .topbar-actions-v29{width:100% !important; justify-content:space-between !important; margin-left:0 !important;}
  .theme-toggle-premium{min-width:86px !important;}
}

/* === FIN AJUSTES V29 === */


/* === V30 TEMA ICONO OFFLINE + FILTROS SECCIONALES + SCROLL REVEAL === */
:root{
  --v30-ease: cubic-bezier(0.16, 1, 0.3, 1);
}
html[data-theme="light"], body.theme-light{
  --bg:#f4f2fb !important;
  --bg2:#ffffff !important;
  --card:#ffffff !important;
  --card2:#f8f7ff !important;
  --text:#14111f !important;
  --muted:#5f6473 !important;
  --line:rgba(62,42,102,.16) !important;
  --purple:#6f42c1 !important;
  --purple2:#8b5cf6 !important;
  --green:#06a66b !important;
  --red:#d9366e !important;
  --yellow:#b77900 !important;
}
html[data-theme="light"] body,
body.theme-light{
  background:
    radial-gradient(circle at top left, rgba(111,66,193,.14), transparent 34%),
    linear-gradient(180deg,#fbfaff 0%, #f1eefb 100%) !important;
  color:var(--text) !important;
}
html[data-theme="light"] .app,
body.theme-light .app{
  background:transparent !important;
}
html[data-theme="light"] .card,
html[data-theme="light"] .panel,
html[data-theme="light"] .kpi-card,
html[data-theme="light"] .source-card,
html[data-theme="light"] .filter-card,
html[data-theme="light"] section,
body.theme-light .card,
body.theme-light .panel,
body.theme-light .kpi-card,
body.theme-light .source-card,
body.theme-light .filter-card,
body.theme-light section{
  background:rgba(255,255,255,.88) !important;
  color:var(--text) !important;
  border-color:rgba(62,42,102,.15) !important;
  box-shadow:0 18px 45px rgba(45,26,84,.10) !important;
}
html[data-theme="light"] .muted,
html[data-theme="light"] .sub,
html[data-theme="light"] .small,
body.theme-light .muted,
body.theme-light .sub,
body.theme-light .small{
  color:var(--muted) !important;
}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
body.theme-light input,
body.theme-light select,
body.theme-light textarea{
  background:#ffffff !important;
  color:#151225 !important;
  border-color:rgba(62,42,102,.22) !important;
}
.theme-icon-toggle{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  display:inline-grid !important;
  place-items:center !important;
  padding:0 !important;
  margin:0 6px !important;
  font-size:15px !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 10px 28px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(12px) !important;
  z-index:50 !important;
}
.theme-icon-toggle:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(139,92,246,.65) !important;
}
.theme-icon-floating{
  position:fixed !important;
  right:16px !important;
  top:14px !important;
  z-index:2000 !important;
}
html[data-theme="light"] .theme-icon-toggle,
body.theme-light .theme-icon-toggle{
  background:#ffffff !important;
  color:#29194b !important;
  border-color:rgba(62,42,102,.18) !important;
}
.v30-section-tools{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  margin:4px 0 12px;
  padding:8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.035);
}
.v30-section-tools select,
.v30-section-tools button{
  min-height:30px;
  border-radius:10px;
  font-size:11px;
  font-weight:800;
}
.v30-section-tools button{
  border:1px solid rgba(139,92,246,.35);
  background:rgba(139,92,246,.18);
  color:#fff;
  padding:0 10px;
  cursor:pointer;
}
html[data-theme="light"] .v30-section-tools,
body.theme-light .v30-section-tools{
  background:rgba(111,66,193,.055);
  border-color:rgba(111,66,193,.16);
}
html[data-theme="light"] .v30-section-tools button,
body.theme-light .v30-section-tools button{
  color:#29194b;
  background:rgba(111,66,193,.10);
}
.reveal-premium{
  opacity:0;
  transform:translateY(34px);
  filter:blur(8px);
  transition:
    opacity .82s var(--v30-ease),
    transform .82s var(--v30-ease),
    filter .82s var(--v30-ease);
  will-change:opacity, transform, filter;
}
.reveal-premium.reveal-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
@media (max-width:768px){
  .reveal-premium{transform:translateY(18px); filter:blur(3px);}
}

/* === FIN V30 === */


/* === V30 RESUMEN BI UNA PÁGINA CARTA HORIZONTAL === */

@media screen{
  .bi-print-onepage{display:none;}
}
/* === FIN V30 PRINT === */


/* === V34 CHART FALLBACK OFFLINE === */
.chart-fallback{width:100%;height:100%;min-height:260px;display:flex;align-items:stretch;justify-content:stretch;color:var(--text,#e7eaee);}
.chart-fallback svg{width:100%;height:100%;min-height:260px;display:block;overflow:visible;}
.chart-fallback text{font-family:Inter,system-ui,sans-serif;fill:var(--muted,#a7b1c2);font-size:11px;}
.chart-fallback .axis{stroke:rgba(167,177,194,.28);stroke-width:1;}
.chart-fallback .grid{stroke:rgba(167,177,194,.12);stroke-width:1;}
.chart-fallback .bar{fill:#8b5cf6;rx:7;ry:7;}
.chart-fallback .bar2{fill:#1f7bff;}
.chart-fallback .line{fill:none;stroke:#8b5cf6;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.chart-fallback .line2{stroke:#1f7bff;}
.chart-fallback .area{fill:rgba(139,92,246,.18);}
.chart-fallback .dot{fill:#8b5cf6;stroke:#fff;stroke-width:1.5;}
.chart-fallback .label{fill:var(--text,#e7eaee);font-weight:800;font-size:11px;}
.chart-fallback-list{display:grid;gap:8px;width:100%;padding:10px;align-content:start;}
.chart-fallback-row{display:grid;grid-template-columns:minmax(80px,160px) 1fr auto;gap:8px;align-items:center;font-size:12px;color:var(--text,#e7eaee);}
.chart-fallback-track{height:12px;background:rgba(167,177,194,.14);border-radius:999px;overflow:hidden;}
.chart-fallback-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6f42c1,#3399ff);}
html[data-theme="light"] .chart-fallback-track, body.theme-light .chart-fallback-track{background:rgba(62,42,102,.13);}
/* === FIN V34 CHART FALLBACK === */












/* Los contenedores de impresión v39 permanecen ocultos en pantalla. */
@media screen{.v39-receipt-page,.v39-summary-page{display:none;}}

/* === V40 CORRECCIONES COMERCIALES, RECIBO Y RESUMEN BI === */
#comercial .chart-grid > .card:has(#chartTrend){
  grid-column:auto !important;
  min-height:420px !important;
}
#chartTrend{height:340px !important;}
#chartDailyPlacement{height:340px !important;}
#comercial .v40-daily-card{grid-column:1 / 2; min-height:420px !important;}
@media (max-width:1080px){
  #comercial .v40-daily-card{grid-column:auto;}
}
@media screen{
  .v40-receipt-page,.v40-summary-page{display:none;}
}

/* === FIN V40 === */


/* === V41 PRINT + DAILY AREA FIX === */
#comercial .v40-daily-card,
#comercial .v41-daily-card{
  grid-column:1 / -1 !important;
  min-height:460px !important;
}
#chartDailyPlacement{
  height:390px !important;
  min-height:390px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg, rgba(224,247,250,.98), rgba(236,251,252,.98)) !important;
  border:1px solid rgba(0,105,92,.14) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.48), 0 10px 26px rgba(0,0,0,.10) !important;
}
body.theme-light #chartDailyPlacement,
html[data-theme="light"] #chartDailyPlacement{
  background:linear-gradient(180deg, rgba(224,247,250,1), rgba(240,251,252,1)) !important;
}
.v41-chart-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;color:#1e293b;font-size:12px;}
.v41-chart-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(0,105,92,.11);color:#00695C;font-weight:800;border:1px solid rgba(0,105,92,.18);}
.v41-up-btn{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#00897B;color:#fff;font-weight:900;box-shadow:0 10px 22px rgba(0,105,92,.28);}
.v41-print-page,.v41-receipt-page{display:none;}

body.v41-receipt-mode .v41-receipt-page{display:block !important;}
.v41-receipt-page{box-sizing:border-box; width:8.5in; min-height:11in; margin:0 auto; padding:.28in .26in; background:#fff; color:#111; font-family:Arial, sans-serif;}
.v41-receipt-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:2px solid #2b1748;padding-bottom:10px;margin-bottom:10px;}
.v41-receipt-head h1{margin:0;font-size:22px;line-height:1.1;color:#111;}
.v41-receipt-head p{margin:3px 0 0;color:#2b1748;font-weight:700;}
.v41-receipt-meta{font-size:11px;color:#333;margin-bottom:10px;}
.v41-receipt-table{width:100%;border-collapse:collapse;font-size:10px;color:#111;table-layout:fixed;}
.v41-receipt-table th{background:#2b1748;color:#fff;border:1px solid #2b1748;padding:6px;text-align:left;}
.v41-receipt-table td{border:1px solid #c9c9c9;padding:6px;vertical-align:top;word-break:break-word;}
.v41-receipt-table .right{text-align:right;}
.v41-receipt-blank{display:block;min-height:34px;border-bottom:1px solid #777;}
.v41-receipt-total{margin-top:10px;border:2px solid #2b1748;border-radius:8px;padding:10px;display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;}
.v41-receipt-total strong{font-size:22px;color:#2b1748;}
.v41-receipt-notes{margin-top:10px;font-size:12px;font-weight:800;}
.v41-receipt-notes-box{min-height:88px;border:1px solid #aaa;border-radius:8px;margin-top:6px;}
.v41-receipt-sign{margin-top:34px;display:flex;justify-content:flex-end;}
.v41-receipt-sign div{width:340px;text-align:center;border-top:1px solid #111;padding-top:6px;font-weight:800;}
.v41-receipt-sign small{font-weight:600;color:#444;}
body.v41-summary-mode .v41-print-page{display:block !important;}
.v41-print-page{box-sizing:border-box; width:11in; height:8.5in; margin:0 auto; padding:.12in; background:#fff; color:#111; font-family:Arial, sans-serif; overflow:hidden; -webkit-print-color-adjust:exact; print-color-adjust:exact;}
.v41-summary-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;}
.v41-summary-head h1{margin:0;font-size:20px;line-height:1.05;color:#111;}
.v41-summary-head p{margin:4px 0 0;color:#444;font-size:10px;}
.v41-summary-pill{padding:7px 12px;border-radius:999px;background:#2b1748;color:#fff;font-size:10px;font-weight:800;}
.v41-grid-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:8px;margin-bottom:8px;}
.v41-grid-mid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:8px;margin-bottom:8px;}
.v41-print-card{border:1px solid #d8d8e4;border-radius:10px;background:#faf8ff;padding:8px;overflow:hidden;}
.v41-print-card h3{margin:0 0 6px;font-size:11px;color:#2b1748;}
.v41-kpis{display:grid;grid-template-columns:repeat(6, 1fr);gap:6px;margin-bottom:8px;}
.v41-kpis div{border:1px solid #ddd;border-radius:10px;background:#fff;padding:6px;min-height:48px;}
.v41-kpis span{display:block;font-size:8px;color:#666;text-transform:uppercase;letter-spacing:.03em;}
.v41-kpis strong{display:block;font-size:16px;color:#111;line-height:1.05;}
.v41-kpis small{display:block;font-size:8px;color:#666;}
.v41-mini-bars div{display:grid;grid-template-columns:58px 1fr 28px;gap:4px;align-items:center;margin:2px 0;}
.v41-mini-bars label{font-size:6.9px;color:#2b2140;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v41-mini-bars span{height:6px;border-radius:999px;background:#ebe7f7;overflow:hidden;}
.v41-mini-bars i{display:block;height:100%;background:#8b5cf6;border-radius:999px;}
.v41-mini-bars b{font-size:6.8px;color:#2b2140;text-align:right;}
.v41-tiny-list{display:grid;gap:4px;}
.v41-tiny-list div{display:flex;justify-content:space-between;gap:8px;padding:4px 6px;border-radius:8px;background:#fff;border:1px solid #ece8f8;font-size:8px;}
.v41-gauge strong{font-size:18px;display:block;color:#111;}
.v41-gauge span{font-size:9px;color:#555;display:block;margin-bottom:6px;}
.v41-gauge i{display:block;height:10px;border-radius:999px;background:#ece7f8;overflow:hidden;}
.v41-gauge b{display:block;height:100%;background:linear-gradient(90deg,#8b5cf6,#6f42c1);border-radius:999px;}
.v41-bottom{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;}
.v41-bottom > div{border:1px solid #ddd;border-radius:10px;background:#fff;padding:8px;min-height:92px;}
.v41-bottom h3{margin:0 0 6px;font-size:11px;color:#2b1748;}
.v41-bottom p,.v41-bottom li,.v41-bottom ol{font-size:8.8px;color:#333;line-height:1.35;}
.v41-bottom ol{padding-left:16px;margin:0;}
.v41-print-page svg{width:100%;height:72px;}
.v41-print-page svg text{fill:#222;}
/* === END V41 PRINT + DAILY AREA FIX === */


/* === V42 AJUSTE VISUAL, MODO CLARO Y PRINT LIVIANO === */
#comercial .chart-grid{
  grid-template-columns: minmax(360px,.82fr) minmax(520px,1.18fr) !important;
  align-items:stretch !important;
}
#comercial .v42-heatmap-card{
  grid-column:1 / 2 !important;
  min-height:430px !important;
}
#comercial .v42-monthly-card{
  grid-column:2 / 3 !important;
  min-height:430px !important;
}
#comercial .v40-daily-card,
#comercial .v41-daily-card{
  grid-column:1 / -1 !important;
  min-height:430px !important;
}
#chartDailyPlacement{
  height:360px !important;
  min-height:360px !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.v41-chart-caption{
  background:transparent !important;
  color:var(--muted) !important;
}
.v41-chart-pill{
  background:rgba(139,61,255,.12) !important;
  color:var(--text) !important;
  border-color:rgba(139,61,255,.25) !important;
}
.v41-up-btn{
  background:linear-gradient(135deg,var(--purple),var(--purple2)) !important;
  color:#fff !important;
}

/* Modo claro total: evitar textos blancos invisibles y fondos oscuros residuales */
html[data-theme="light"],
html[data-theme="light"] body,
body.theme-light{
  background:#f4f6fb !important;
  color:#111827 !important;
}
html[data-theme="light"] body{
  background:linear-gradient(180deg,#fbfaff 0%,#eef2f7 100%) !important;
}
html[data-theme="light"] :where(.section-title,.card-title,.panel-title,.kpi-value,.meta-value,.stat-value),
body.theme-light :where(.section-title,.card-title,.panel-title,.kpi-value,.meta-value,.stat-value){
  color:#111827;
}
html[data-theme="light"] .app,
html[data-theme="light"] .topbar,
html[data-theme="light"] .header,
html[data-theme="light"] .section,
html[data-theme="light"] .card,
html[data-theme="light"] .chart,
html[data-theme="light"] .chart-card,
html[data-theme="light"] .filter-card,
html[data-theme="light"] .source-card,
html[data-theme="light"] .executive-summary,
html[data-theme="light"] .kpi,
html[data-theme="light"] .kpi-card,
html[data-theme="light"] .table-wrap,
html[data-theme="light"] .meta-item,
html[data-theme="light"] .stat-tile,
html[data-theme="light"] .alert,
html[data-theme="light"] .v30-section-tools,
body.theme-light .app,
body.theme-light .topbar,
body.theme-light .header,
body.theme-light .section,
body.theme-light .card,
body.theme-light .chart,
body.theme-light .chart-card,
body.theme-light .filter-card,
body.theme-light .source-card,
body.theme-light .executive-summary,
body.theme-light .kpi,
body.theme-light .kpi-card,
body.theme-light .table-wrap,
body.theme-light .meta-item,
body.theme-light .stat-tile,
body.theme-light .alert,
body.theme-light .v30-section-tools{
  background:#ffffff !important;
  color:#111827 !important;
  border-color:rgba(88,64,140,.16) !important;
  box-shadow:0 12px 32px rgba(40,31,73,.08) !important;
}
html[data-theme="light"] .muted,
html[data-theme="light"] .note,
html[data-theme="light"] .sub,
html[data-theme="light"] .small,
html[data-theme="light"] .summary-text,
body.theme-light .muted,
body.theme-light .note,
body.theme-light .sub,
body.theme-light .small,
body.theme-light .summary-text{
  color:#4b5563 !important;
}
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
body.theme-light input,
body.theme-light select,
body.theme-light textarea{
  background:#ffffff !important;
  color:#111827 !important;
  border-color:rgba(88,64,140,.28) !important;
}
html[data-theme="light"] .btn,
body.theme-light .btn{
  color:#fff !important;
}
html[data-theme="light"] .btn.secondary,
body.theme-light .btn.secondary{
  background:#f3f0fb !important;
  color:#2b1748 !important;
  border-color:rgba(88,64,140,.22) !important;
}
html[data-theme="light"] .purple-action,
body.theme-light .purple-action{
  background:#6f42c1 !important;
  color:#fff !important;
}

/* Print V42 más compacto y estable */

@media(max-width:1100px){
  #comercial .chart-grid{grid-template-columns:1fr !important;}
  #comercial .v42-heatmap-card,
  #comercial .v42-monthly-card{grid-column:1 / -1 !important;}
}
/* === FIN V42 === */


/* === V43: timestamp visible, modo claro legible y badges preservados === */
html[data-theme="light"] body,
body.theme-light{
  color:#111827 !important;
}
html[data-theme="light"] :where(.subtitle,.note,.muted,.sub,.small,.summary-text,.kpi-sub,.kpi-title,.brand small,.section-title p,.meta-item span,.file-pill small),
body.theme-light :where(.subtitle,.note,.muted,.sub,.small,.summary-text,.kpi-sub,.kpi-title,.brand small,.section-title p,.meta-item span,.file-pill small){
  color:#4b5563 !important;
}
html[data-theme="light"] :where(input,select,textarea,.input-control,.filter-control),
body.theme-light :where(input,select,textarea,.input-control,.filter-control){
  background:#ffffff !important;
  color:#111827 !important;
  border-color:rgba(88,64,140,.28) !important;
}
html[data-theme="light"] option,
body.theme-light option{
  background:#ffffff !important;
  color:#111827 !important;
}
html[data-theme="light"] .btn,
body.theme-light .btn,
html[data-theme="light"] .purple-action,
body.theme-light .purple-action{
  color:#ffffff !important;
}
html[data-theme="light"] .btn.secondary:not(.purple-action),
body.theme-light .btn.secondary:not(.purple-action){
  background:#f3f0fb !important;
  color:#2b1748 !important;
  border-color:rgba(88,64,140,.22) !important;
}
html[data-theme="light"] .brand-mark,
body.theme-light .brand-mark,
html[data-theme="light"] .insight .num,
body.theme-light .insight .num,
html[data-theme="light"] .v41-up-btn,
body.theme-light .v41-up-btn{
  color:#ffffff !important;
}
/* Mantener arte semafórico de badges/píldoras, sin convertirlos a texto oscuro genérico */
html[data-theme="light"] .badge.ok, body.theme-light .badge.ok{color:#087a3f !important;background:rgba(22,163,74,.12) !important;border-color:rgba(22,163,74,.30) !important;}
html[data-theme="light"] .badge.warn, body.theme-light .badge.warn{color:#8a5b00 !important;background:rgba(255,176,32,.16) !important;border-color:rgba(255,176,32,.34) !important;}
html[data-theme="light"] .badge.risk, body.theme-light .badge.risk{color:#b4233c !important;background:rgba(255,67,67,.12) !important;border-color:rgba(255,67,67,.32) !important;}
html[data-theme="light"] .badge.neutral, body.theme-light .badge.neutral{color:#075985 !important;background:rgba(31,123,255,.11) !important;border-color:rgba(31,123,255,.28) !important;}
html[data-theme="light"] .badge *, body.theme-light .badge *{color:inherit !important;}
html[data-theme="light"] .pulse, body.theme-light .pulse{color:transparent !important;}
html[data-theme="light"] .filter-chip, body.theme-light .filter-chip{background:#ffffff !important;color:#111827 !important;border-color:rgba(88,64,140,.22) !important;}
html[data-theme="light"] .filter-chip.muted, body.theme-light .filter-chip.muted{background:#f4f1fb !important;color:#4b5563 !important;}
html[data-theme="light"] .file-pill, body.theme-light .file-pill{background:rgba(111,66,193,.10) !important;border-color:rgba(111,66,193,.24) !important;color:#2b1748 !important;}
html[data-theme="light"] .file-pill small, body.theme-light .file-pill small{color:#5b6472 !important;}
html[data-theme="light"] .file-pill-time, body.theme-light .file-pill-time{background:rgba(22,163,74,.11) !important;border-color:rgba(22,163,74,.25) !important;color:#087a3f !important;}
html[data-theme="dark"] body,
body.theme-dark{
  color:#f8f5ff !important;
}
/* V44: se conserva el punto 6 de comparación histórica; solo se elimina la micrográfica interna. */
/* === FIN V44 === */


/* === Bloque CSS original 2  === */

/* === V45: exportación, responsive smartphone, modo claro y botón inicio === */
html[data-theme="light"],
html[data-theme="light"] body,
body.theme-light{
  color:#000000 !important;
}
html[data-theme="light"] body,
body.theme-light{
  background:#f8fbff !important;
}
html[data-theme="light"] .brand-mark,
body.theme-light .brand-mark,
html[data-theme="light"] .insight .num,
body.theme-light .insight .num,
html[data-theme="light"] .btn:not(.secondary),
body.theme-light .btn:not(.secondary),
html[data-theme="light"] .purple-action,
body.theme-light .purple-action,
html[data-theme="light"] .v41-up-btn,
body.theme-light .v41-up-btn{
  color:#ffffff !important;
}
html[data-theme="light"] .pulse,
body.theme-light .pulse{
  color:transparent !important;
}
html[data-theme="light"] .filter-card,
body.theme-light .filter-card,
html[data-theme="light"] .filter-search,
body.theme-light .filter-search,
html[data-theme="light"] .filter-option,
body.theme-light .filter-option,
html[data-theme="light"] .filter-option em,
body.theme-light .filter-option em,
html[data-theme="light"] .filter-mini-actions button,
body.theme-light .filter-mini-actions button,
html[data-theme="light"] .filter-chip,
body.theme-light .filter-chip,
html[data-theme="light"] .input-control,
body.theme-light .input-control,
html[data-theme="light"] select,
body.theme-light select,
html[data-theme="light"] input,
body.theme-light input{
  background:#ffffff !important;
  color:#000000 !important;
  border-color:rgba(17,24,39,.18) !important;
}
html[data-theme="light"] .filter-option.active,
body.theme-light .filter-option.active{
  background:#ffffff !important;
  color:#000000 !important;
  border-color:rgba(22,163,74,.55) !important;
  box-shadow:0 0 0 2px rgba(22,163,74,.08) inset !important;
}
html[data-theme="light"] .filter-option input,
body.theme-light .filter-option input{
  accent-color:#111827 !important;
}
html[data-theme="light"] .btn.secondary:not(.purple-action),
body.theme-light .btn.secondary:not(.purple-action){
  background:#ffffff !important;
  color:#000000 !important;
  border-color:rgba(17,24,39,.18) !important;
}
html[data-theme="light"] .badge,
body.theme-light .badge{
  color:#000000 !important;
}
html[data-theme="light"] .badge *,
body.theme-light .badge *{
  color:inherit !important;
}
html[data-theme="light"] .file-pill,
body.theme-light .file-pill,
html[data-theme="light"] .file-pill-time,
body.theme-light .file-pill-time{
  color:#000000 !important;
  background:#ffffff !important;
}
html[data-theme="light"] th,
body.theme-light th{
  background:#ffffff !important;
  color:#000000 !important;
}
html[data-theme="light"] svg text,
body.theme-light svg text{
  fill:#000000 !important;
  color:#000000 !important;
}
html[data-theme="light"] .echarts-for-react,
body.theme-light .echarts-for-react{
  color:#000000 !important;
}
#btnBackTop.v45-show,
.back-top-btn.v45-show{
  display:grid !important;
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  pointer-events:auto !important;
  place-items:center !important;
}
@media (max-width: 860px){
  html, body{width:100% !important; max-width:100% !important; overflow-x:hidden !important;}
  .app{width:100% !important; max-width:100% !important; padding:10px 10px 46px !important; margin:0 !important;}
  .topbar{position:relative !important; top:auto !important; display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:12px !important; padding:14px !important; border-radius:22px !important;}
  .brand{min-width:0 !important; width:100% !important;}
  .brand strong{font-size:15px !important;}
  .brand small{font-size:11px !important;}
  .brand-mark{width:44px !important; height:44px !important; flex:0 0 44px !important;}
  .nav-pills{display:flex !important; flex-wrap:nowrap !important; overflow-x:auto !important; justify-content:flex-start !important; gap:7px !important; padding-bottom:4px !important; -webkit-overflow-scrolling:touch !important;}
  .nav-pills a{flex:0 0 auto !important; font-size:11px !important; padding:8px 10px !important;}
  .topbar-actions-v29{width:100% !important; justify-content:space-between !important; gap:10px !important;}
  .header,.section{width:100% !important; padding:16px !important; border-radius:24px !important; margin-top:14px !important;}
  .hero-grid,.dashboard-grid,.source-grid,.chart-grid,.kpi-grid,.filter-grid,.meta-grid,.status-list{display:grid !important; grid-template-columns:1fr !important; gap:12px !important;}
  .hero-actions,.tools,.section-title,.filter-toolbar{display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:10px !important;}
  .hero-actions .btn,.tools .btn,.hero-actions label.btn{width:100% !important; justify-content:center !important; min-height:44px !important;}
  h1{font-size:clamp(30px, 10vw, 42px) !important; line-height:1.02 !important; letter-spacing:-1.1px !important;}
  .subtitle{font-size:14px !important; line-height:1.45 !important;}
  .summary-title{align-items:flex-start !important; flex-direction:column !important;}
  .card{min-height:auto !important; padding:14px !important; border-radius:22px !important;}
  .chart{height:280px !important; min-height:260px !important;}
  .chart.sm{height:230px !important; min-height:220px !important;}
  #chartTrend,#chartDailyPlacement{height:320px !important; min-height:300px !important;}
  #comercial .chart-grid > .card:has(#chartTrend),
  #comercial .chart-grid > .card:has(#chartDailyPlacement){grid-column:auto !important; min-height:360px !important;}
  .kpi{min-height:150px !important; padding:16px !important;}
  .kpi-value{font-size:26px !important;}
  .filter-card{border-radius:18px !important; padding:11px !important;}
  .filter-options{max-height:210px !important;}
  .filter-option{grid-template-columns:auto minmax(0,1fr) auto !important;}
  .table-wrap{width:100% !important; overflow-x:auto !important; -webkit-overflow-scrolling:touch !important;}
  table{min-width:900px !important; font-size:12px !important;}
  th,td{padding:10px 9px !important;}
  .executive-summary{padding:16px !important; border-radius:22px !important;}
  .meta-item strong{white-space:normal !important; overflow:visible !important; text-overflow:clip !important; word-break:break-word !important;}
  #btnBackTop{right:14px !important; bottom:14px !important; width:48px !important; height:48px !important; z-index:20000 !important;}
}
@media (max-width: 430px){
  .app{padding-left:8px !important; padding-right:8px !important;}
  .header,.section{padding:13px !important; border-radius:20px !important;}
  .btn{font-size:12px !important; padding:11px 12px !important; border-radius:14px !important;}
  .chart{height:250px !important; min-height:235px !important;}
  #chartTrend,#chartDailyPlacement{height:300px !important; min-height:280px !important;}
}
/* === FIN V45 === */


/* === Bloque CSS original 3  === */

/* === V46: corrección final solicitada - impresión 1 página, modo claro e insights === */
html[data-theme="light"],
html[data-theme="light"] body,
body.theme-light{
  --text:#000000 !important;
  --muted:#000000 !important;
  --line:rgba(17,24,39,.14) !important;
  color:#000000 !important;
  background:#f8fbff !important;
}
html[data-theme="light"] .insight,
body.theme-light .insight,
html[data-theme="light"] .insight-panel .insight,
body.theme-light .insight-panel .insight,
html[data-theme="light"] .ai-prescriptions .insight,
body.theme-light .ai-prescriptions .insight{
  background:#ffffff !important;
  color:#000000 !important;
  border-color:rgba(17,24,39,.14) !important;
  box-shadow:0 12px 26px rgba(17,24,39,.06) !important;
}
html[data-theme="light"] .insight strong,
html[data-theme="light"] .insight span,
html[data-theme="light"] .insight p,
body.theme-light .insight strong,
body.theme-light .insight span,
body.theme-light .insight p{
  color:#000000 !important;
}
html[data-theme="light"] .insight .num,
body.theme-light .insight .num,
html[data-theme="light"] .badge.ok,
html[data-theme="light"] .badge.warn,
html[data-theme="light"] .badge.danger,
html[data-theme="light"] .badge.neutral,
body.theme-light .badge.ok,
body.theme-light .badge.warn,
body.theme-light .badge.danger,
body.theme-light .badge.neutral{
  color:#ffffff !important;
}
html[data-theme="light"] .filter-card,
body.theme-light .filter-card,
html[data-theme="light"] .filter-card *,
body.theme-light .filter-card *{
  color:#000000 !important;
}
html[data-theme="light"] .filter-mini-actions button,
body.theme-light .filter-mini-actions button,
html[data-theme="light"] .filter-option,
body.theme-light .filter-option,
html[data-theme="light"] .filter-chip,
body.theme-light .filter-chip,
html[data-theme="light"] .input-control,
body.theme-light .input-control,
html[data-theme="light"] select,
body.theme-light select{
  background:#ffffff !important;
  color:#000000 !important;
  border-color:rgba(17,24,39,.18) !important;
}
html[data-theme="light"] .echarts-for-react,
html[data-theme="light"] .chart,
body.theme-light .echarts-for-react,
body.theme-light .chart{
  color:#000000 !important;
}
html[data-theme="light"] canvas,
body.theme-light canvas{ color:#000000 !important; }





.v46-summary-page,
.v46-incentive-page{
  background:#ffffff;
  color:#000000;
  font-family:Inter,Arial,Helvetica,sans-serif;
  overflow:hidden;
  box-sizing:border-box;
}
.v46-summary-page{width:10.68in;height:8.18in;padding:.16in;}
.v46-incentive-page{width:8.18in;height:10.68in;padding:.16in;}
.v46-print-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:2px solid #6f35d3;padding-bottom:8px;margin-bottom:8px;}
.v46-print-header h1{font-size:21px;line-height:1.05;margin:0;color:#000!important;letter-spacing:-.4px;}
.v46-print-header p{margin:3px 0 0;font-size:9px;color:#000!important;}
.v46-pill{font-size:10px;font-weight:900;color:#fff!important;background:#6f35d3;border-radius:999px;padding:7px 10px;white-space:nowrap;}
.v46-summary-grid{display:grid;grid-template-columns:1.05fr .95fr .95fr;gap:8px;margin-bottom:7px;}
.v46-card{border:1px solid #d9d8e6;border-radius:12px;background:#fff;padding:8px;min-height:72px;overflow:hidden;}
.v46-card h3{font-size:10px;margin:0 0 5px;text-transform:uppercase;letter-spacing:.04em;color:#000!important;}
.v46-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:7px;}
.v46-kpis div{border:1px solid #d9d8e6;border-radius:11px;padding:7px;background:#fafafa;min-height:54px;}
.v46-kpis span{display:block;font-size:8px;font-weight:800;text-transform:uppercase;color:#000!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v46-kpis strong{display:block;font-size:15px;margin-top:3px;color:#000!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v46-kpis small{display:block;font-size:7px;margin-top:2px;color:#000!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v46-mid-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:7px;}
.v46-bottom-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:8px;}
.v46-bars{display:grid;gap:4px;}
.v46-bar-row{display:grid;grid-template-columns:86px 1fr 32px;gap:5px;align-items:center;font-size:8px;}
.v46-bar-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#000!important;}
.v46-bar-track{height:8px;background:#eceaf5;border-radius:999px;overflow:hidden;}
.v46-bar-fill{height:100%;background:linear-gradient(90deg,#6f35d3,#278dff);border-radius:999px;}
.v46-line{height:86px;display:block;width:100%;}
.v46-line polyline{fill:none;stroke:#278dff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.v46-line polygon{fill:rgba(39,141,255,.16);}
.v46-line text{fill:#000!important;font-size:8px;font-weight:700;}
.v46-summary-page p,.v46-summary-page li{font-size:9px;line-height:1.32;margin:0;color:#000!important;}
.v46-summary-page ol{margin:0;padding-left:15px;}
.v46-incentive-page .v46-print-header h1{font-size:19px;}
.v46-incentive-meta{font-size:8.2px;border:1px solid #d9d8e6;background:#fafafa;border-radius:10px;padding:6px;margin-bottom:6px;color:#000!important;}
.v46-incentive-table{width:100%;border-collapse:collapse;font-size:7.7px;table-layout:fixed;}
.v46-incentive-table th,.v46-incentive-table td{border:1px solid #cfcddd;padding:3px 3px;vertical-align:middle;color:#000!important;line-height:1.15;}
.v46-incentive-table th{background:#f0eef9;font-weight:900;text-transform:uppercase;font-size:7px;}
.v46-incentive-table .right{text-align:right;}
.v46-total{display:flex;justify-content:flex-end;gap:16px;align-items:center;margin-top:7px;border:1px solid #d9d8e6;border-radius:10px;padding:7px;background:#fafafa;font-size:11px;font-weight:900;color:#000!important;}
.v46-notes{display:grid;grid-template-columns:1.3fr .7fr;gap:8px;margin-top:7px;}
.v46-notebox{height:.82in;border:1px solid #d9d8e6;border-radius:10px;background:#fff;}
.v46-sign{height:.82in;border:1px solid #d9d8e6;border-radius:10px;background:#fff;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;font-size:9px;color:#000!important;}
.v46-sign span{display:block;width:70%;border-top:1px solid #000;text-align:center;padding-top:4px;font-weight:900;}


/* === Bloque CSS original 4  === */

/* === V48 PATCH SEGURO: restaura gráficas y elimina barra visualMap sin tocar paletas === */
html[data-theme="light"] .insight,
body.theme-light .insight,
html[data-theme="light"] .insight-panel,
body.theme-light .insight-panel,
html[data-theme="light"] .ai-score-card,
body.theme-light .ai-score-card,
html[data-theme="light"] .whatif-result,
body.theme-light .whatif-result,
html[data-theme="light"] .quarter-market-item,
body.theme-light .quarter-market-item,
html[data-theme="light"] .quarter-spark-card,
body.theme-light .quarter-spark-card,
html[data-theme="light"] .year-trend-chart,
body.theme-light .year-trend-chart{
  background:#ffffff !important;
  background-image:none !important;
  color:#000000 !important;
  border-color:rgba(17,24,39,.14) !important;
}
html[data-theme="light"] .insight :where(strong,span,p,small,div),
body.theme-light .insight :where(strong,span,p,small,div),
html[data-theme="light"] .insight-panel :where(strong,span,p,small,div,h1,h2,h3,h4),
body.theme-light .insight-panel :where(strong,span,p,small,div,h1,h2,h3,h4),
html[data-theme="light"] .ai-score-card :where(strong,span,p,small,div,h1,h2,h3,h4,.label,.value,.sub),
body.theme-light .ai-score-card :where(strong,span,p,small,div,h1,h2,h3,h4,.label,.value,.sub),
html[data-theme="light"] .whatif-result :where(strong,span,p,small,div,h1,h2,h3,h4),
body.theme-light .whatif-result :where(strong,span,p,small,div,h1,h2,h3,h4),
html[data-theme="light"] .quarter-market-item :where(strong,span,p,small,div,h1,h2,h3,h4),
body.theme-light .quarter-market-item :where(strong,span,p,small,div,h1,h2,h3,h4){
  color:#000000 !important;
}
/* Mantener arte de badges/semáforos y números morados */
html[data-theme="light"] .insight .num,
body.theme-light .insight .num{
  background:#6f42c1 !important;
  color:#ffffff !important;
}
html[data-theme="light"] .badge.ok, body.theme-light .badge.ok{color:#087a3f !important;background:rgba(22,163,74,.12) !important;border-color:rgba(22,163,74,.30) !important;}
html[data-theme="light"] .badge.warn, body.theme-light .badge.warn{color:#8a5b00 !important;background:rgba(255,176,32,.16) !important;border-color:rgba(255,176,32,.34) !important;}
html[data-theme="light"] .badge.risk, body.theme-light .badge.risk{color:#b4233c !important;background:rgba(255,67,67,.12) !important;border-color:rgba(255,67,67,.32) !important;}
html[data-theme="light"] .badge.neutral, body.theme-light .badge.neutral{color:#075985 !important;background:rgba(31,123,255,.11) !important;border-color:rgba(31,123,255,.28) !important;}
html[data-theme="light"] .badge *, body.theme-light .badge *{color:inherit !important;}
/* === FIN V48 PATCH SEGURO === */


/* === Bloque CSS original 5  === */

/* === V49: inteligencia comercial y rediseño impresión solicitado === */
#comercial .v49-chart-card{min-height:380px;}
#comercial .v49-chart-card .chart{height:320px;min-height:300px;}
#comercial .v49-chart-card .card-head p.note{max-width:92%;}
@media (max-width:860px){
  #comercial .v49-chart-card{min-height:auto;}
  #comercial .v49-chart-card .chart{height:300px;min-height:280px;}
}





.v49-page{display:block; background:#fff; color:#000; font-family:Inter,Arial,Helvetica,sans-serif; overflow:hidden; box-sizing:border-box;}
.v49-summary-page{width:11in;height:8.5in;padding:.10in;}
.v49-receipt-page{width:8.5in;height:11in;padding:.15in;}
.v49-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:6px;border-bottom:2px solid #8b5cf6;padding-bottom:6px;}
.v49-head h1{margin:0;font-size:18px;line-height:1.04;color:#111;letter-spacing:-.5px;}
.v49-head p{margin:2px 0 0;font-size:8.3px;color:#333;}
.v49-pill{background:#6f35d3;color:#fff;border-radius:999px;padding:7px 11px;font-size:10px;font-weight:900;white-space:nowrap;}
.v49-filterline{font-size:8px;color:#333;margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v49-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-bottom:6px;}
.v49-kpis .tile{border:1px solid #dcd6ef;background:#fff;border-radius:10px;padding:6px;min-height:.62in;overflow:hidden;}
.v49-kpis .tile span{display:block;font-size:7px;font-weight:900;text-transform:uppercase;color:#4a4360;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v49-kpis .tile strong{display:block;font-size:14px;color:#111;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v49-kpis .tile small{display:block;font-size:6.7px;color:#58546a;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v49-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.v49-card{border:1px solid #ddd8ee;border-radius:10px;background:#fff;padding:6px;min-height:1.78in;overflow:hidden;}
.v49-card h3{margin:0 0 4px;font-size:9px;font-weight:900;color:#28194a;text-transform:uppercase;letter-spacing:.03em;}
.v49-card .sub{font-size:7px;color:#666;display:block;margin-top:-2px;margin-bottom:4px;}
.v49-bars{display:grid;gap:3px;}
.v49-bars .row{display:grid;grid-template-columns:92px 1fr 28px;gap:4px;align-items:center;}
.v49-bars .lbl{font-size:7px;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v49-bars .trk{height:8px;background:#efedf7;border-radius:999px;overflow:hidden;}
.v49-bars .bar{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#2d8cff);}
.v49-bars .val{font-size:7px;color:#111;text-align:right;font-weight:800;white-space:nowrap;}
.v49-svg{width:100%;height:86px;display:block;}
.v49-svg text{fill:#111;font-size:7px;font-weight:700;}
.v49-svg .axis{stroke:#d0cadd;stroke-width:1;}
.v49-svg .line{fill:none;stroke:#2d8cff;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;}
.v49-svg .area{fill:rgba(45,140,255,.16);}
.v49-svg .dot{fill:#8b5cf6;stroke:#fff;stroke-width:1;}
.v49-svg .barrect{fill:url(#gradBarV49);}
.v49-svg .heat0{fill:#f2effb;} .v49-svg .heat1{fill:#d7cbfb;} .v49-svg .heat2{fill:#b79cff;} .v49-svg .heat3{fill:#8b5cf6;} .v49-svg .heat4{fill:#5a35b1;}
.v49-svg .hmtext{font-size:6.4px;fill:#111;}
.v49-insightline{font-size:7.2px;line-height:1.24;color:#222;}
.v49-actions{margin:0;padding-left:13px;}
.v49-actions li{font-size:7px;line-height:1.25;color:#222;margin:0 0 2px;}

.v49-receipt-page .v49-head{margin-bottom:8px;}
.v49-receipt-page .v49-head h1{font-size:18px;}
.v49-r-meta{font-size:8px;color:#111;background:#fff;border:1px solid #d6d2e3;border-radius:10px;padding:7px 8px;margin-bottom:7px;}
.v49-r-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:7.5px;}
.v49-r-table th,.v49-r-table td{border:1px solid #d6d2e3;padding:4px 4px;vertical-align:middle;color:#111;background:#fff;line-height:1.18;}
.v49-r-table th{font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;background:#fff;}
.v49-r-table .right{text-align:right;}
.v49-r-total{display:flex;justify-content:flex-end;gap:14px;align-items:center;border:1px solid #d6d2e3;border-radius:10px;padding:8px 10px;background:#fff;font-weight:900;color:#111;margin-top:8px;}
.v49-r-footer{display:grid;grid-template-columns:1.2fr .64fr;gap:8px;margin-top:8px;}
.v49-r-box{border:1px solid #d6d2e3;border-radius:10px;background:#fff;padding:8px;min-height:1.0in;}
.v49-r-box h3{margin:0 0 6px;font-size:10px;color:#111;}
.v49-r-sign{display:flex;align-items:flex-end;justify-content:center;height:100%;text-align:center;}
.v49-r-sign .line{width:88%;border-top:1px solid #111;padding-top:6px;font-size:8px;font-weight:800;color:#111;}
/* === FIN V49 === */


/* === Bloque CSS original 6  === */

/* === V50: corrección márgenes impresión + texto negro + stacked giro/segmento === */



.v50-page{display:block;background:#fff;color:#000;font-family:Inter,Arial,Helvetica,sans-serif;box-sizing:border-box;overflow:hidden;}
.v50-summary-page{width:10.62in;height:7.95in;padding:.08in;}
.v50-receipt-page{width:7.96in;height:10.58in;padding:.10in;}
.v50-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;border-bottom:2px solid #8b5cf6;padding-bottom:5px;margin-bottom:4px;}
.v50-head h1{margin:0;font-size:16px;line-height:1.02;letter-spacing:-.35px;color:#000 !important;}
.v50-head p{margin:2px 0 0;font-size:7.5px;line-height:1.15;color:#000 !important;}
.v50-pill{font-size:9px;font-weight:900;background:#6f35d3;color:#fff !important;padding:6px 10px;border-radius:999px;white-space:nowrap;}
.v50-filterline{font-size:7px;line-height:1.15;color:#000;margin:0 0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v50-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:5px;}
.v50-kpi{border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:5px;min-height:.60in;overflow:hidden;}
.v50-kpi span{display:block;font-size:6.4px;font-weight:900;text-transform:uppercase;color:#000 !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v50-kpi strong{display:block;font-size:13px;line-height:1.05;color:#000 !important;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v50-kpi small{display:block;font-size:6.2px;line-height:1.15;color:#000 !important;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v50-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;}
.v50-card{border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:5px;min-height:1.44in;overflow:hidden;}
.v50-card h3{margin:0 0 3px;font-size:8px;line-height:1.1;font-weight:900;text-transform:uppercase;color:#000 !important;}
.v50-svg{width:100%;height:78px;display:block;}
.v50-svg text{fill:#000 !important;font-size:6.2px;font-weight:700;}
.v50-svg .axis{stroke:#d2cde0;stroke-width:1;}
.v50-svg .line{fill:none;stroke:#2d8cff;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;}
.v50-svg .area{fill:rgba(45,140,255,.16);}
.v50-svg .dot{fill:#8b5cf6;stroke:#fff;stroke-width:1;}
.v50-svg .hm0{fill:#f3efff;} .v50-svg .hm1{fill:#dacdfd;} .v50-svg .hm2{fill:#b89efd;} .v50-svg .hm3{fill:#8b5cf6;} .v50-svg .hm4{fill:#5c33b0;}
.v50-bars{display:grid;gap:3px;}
.v50-bars .row{display:grid;grid-template-columns:70px 1fr 24px;gap:4px;align-items:center;}
.v50-bars .lbl{font-size:6.2px;line-height:1.1;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v50-bars .trk{height:7px;background:#efedf7;border-radius:999px;overflow:hidden;}
.v50-bars .bar{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#2d8cff);}
.v50-bars .val{font-size:6.2px;line-height:1.1;color:#000;text-align:right;font-weight:800;}
.v50-stacked-list{display:grid;gap:4px;}
.v50-stack-row{display:grid;grid-template-columns:66px 1fr 22px;gap:4px;align-items:center;}
.v50-stack-row .name{font-size:6.1px;line-height:1.05;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v50-stack-track{height:8px;background:#efedf7;border-radius:999px;overflow:hidden;display:flex;}
.v50-stack-track i{display:block;height:100%;}
.v50-stack-total{font-size:6.1px;line-height:1.1;color:#000;text-align:right;font-weight:800;}
.v50-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.v50-legend span{display:inline-flex;align-items:center;gap:4px;font-size:6.1px;color:#000;}
.v50-legend i{display:inline-block;width:8px;height:8px;border-radius:2px;}
.v50-bottom{display:grid;grid-template-columns:1.15fr .85fr;gap:5px;margin-top:5px;}
.v50-bottom .box{border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:5px;min-height:.72in;overflow:hidden;}
.v50-bottom .box h3{margin:0 0 3px;font-size:8px;line-height:1.1;font-weight:900;text-transform:uppercase;color:#000 !important;}
.v50-bottom .box p,.v50-bottom .box li{font-size:6.6px;line-height:1.2;color:#000 !important;margin:0;}
.v50-bottom .box ol{margin:0;padding-left:12px;}

.v50-receipt-page .v50-head h1{font-size:17px;}
.v50-receipt-meta{font-size:7.3px;line-height:1.15;border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:6px 7px;margin-bottom:5px;color:#000 !important;}
.v50-r-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:7px;}
.v50-r-table th,.v50-r-table td{border:1px solid #d8d2ea;padding:4px 4px;vertical-align:middle;line-height:1.14;background:#fff;color:#000 !important;}
.v50-r-table th{font-size:6.5px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;}
.v50-r-table .right{text-align:right;}
.v50-r-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:7px 9px;margin-top:6px;font-size:11px;font-weight:900;color:#000 !important;}
.v50-r-footer{display:grid;grid-template-columns:1fr .45fr;gap:6px;margin-top:6px;}
.v50-r-box{border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:7px;min-height:.95in;}
.v50-r-box h3{margin:0 0 6px;font-size:9px;font-weight:900;color:#000 !important;}
.v50-r-sign{height:100%;display:flex;align-items:flex-end;justify-content:center;text-align:center;}
.v50-r-sign .line{width:90%;border-top:1px solid #000;padding-top:5px;font-size:7px;font-weight:900;color:#000 !important;}
/* === FIN V50 === */


/* === Bloque CSS original 7  === */

/* === V51: ajustes puntuales solicitados, sin tocar lo demás === */



.v51-page{display:block;background:#fff;color:#000;font-family:Inter,Arial,Helvetica,sans-serif;box-sizing:border-box;overflow:hidden;}
.v51-summary-page{width:10.62in;height:7.95in;padding:.08in;}
.v51-receipt-page{width:7.82in;height:10.72in;padding:.08in;}
.v51-head{display:flex;justify-content:flex-start;align-items:flex-start;gap:10px;border-bottom:2px solid #8b5cf6;padding-bottom:5px;margin-bottom:4px;}
.v51-head h1{margin:0;font-size:15px;line-height:1.02;letter-spacing:-.32px;color:#000 !important;}
.v51-head p{margin:2px 0 0;font-size:7.2px;line-height:1.15;color:#000 !important;}
.v51-filterline{font-size:6.8px;line-height:1.12;color:#000;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v51-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-bottom:4px;}
.v51-kpi{border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:4px 5px;min-height:.56in;overflow:hidden;}
.v51-kpi span{display:block;font-size:6.2px;font-weight:900;text-transform:uppercase;color:#000 !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v51-kpi strong{display:block;font-size:12px;line-height:1.04;color:#000 !important;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v51-kpi small{display:block;font-size:6px;line-height:1.12;color:#000 !important;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v51-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;}
.v51-card{border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:5px;min-height:1.18in;overflow:hidden;}
.v51-card.hTall{min-height:1.46in;}
.v51-card h3{margin:0 0 3px;font-size:7.6px;line-height:1.08;font-weight:900;text-transform:uppercase;color:#000 !important;}
.v51-svg{width:100%;height:66px;display:block;}
.v51-svg text{fill:#000 !important;font-size:5.8px;font-weight:700;}
.v51-svg .axis{stroke:#d2cde0;stroke-width:1;}
.v51-svg .line{fill:none;stroke:#2d8cff;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;}
.v51-svg .area{fill:rgba(45,140,255,.16);}
.v51-svg .dot{fill:#8b5cf6;stroke:#fff;stroke-width:1;}
.v51-svg .hm0{fill:#f3efff;} .v51-svg .hm1{fill:#dacdfd;} .v51-svg .hm2{fill:#b89efd;} .v51-svg .hm3{fill:#8b5cf6;} .v51-svg .hm4{fill:#5c33b0;}
.v51-bars{display:grid;gap:3px;}
.v51-bars .row{display:grid;grid-template-columns:63px 1fr 22px;gap:4px;align-items:center;}
.v51-bars .lbl{font-size:5.9px;line-height:1.08;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v51-bars .trk{height:6px;background:#efedf7;border-radius:999px;overflow:hidden;}
.v51-bars .bar{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#2d8cff);}
.v51-bars .val{font-size:5.9px;line-height:1.08;color:#000;text-align:right;font-weight:800;}
.v51-stack-list{display:grid;gap:4px;}
.v51-stack-row{display:grid;grid-template-columns:56px 1fr 18px;gap:4px;align-items:center;}
.v51-stack-row .name{font-size:5.7px;line-height:1.05;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v51-stack-track{height:7px;background:#efedf7;border-radius:999px;overflow:hidden;display:flex;}
.v51-stack-track i{display:block;height:100%;}
.v51-stack-total{font-size:5.7px;line-height:1.06;color:#000;text-align:right;font-weight:800;}
.v51-legend{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px;}
.v51-legend span{display:inline-flex;align-items:center;gap:4px;font-size:5.7px;color:#000;}
.v51-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;}
.v51-text{font-size:6.2px;line-height:1.18;color:#000 !important;margin:0;}
.v51-list{margin:0;padding-left:11px;}
.v51-list li{font-size:6.1px;line-height:1.17;color:#000 !important;margin:0 0 1px;}

.v51-receipt-page .v51-head h1{font-size:17px;}
.v51-receipt-meta{font-size:7px;line-height:1.15;border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:5px 7px;margin-bottom:4px;color:#000 !important;}
.v51-r-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:6.9px;}
.v51-r-table th,.v51-r-table td{border:1px solid #d8d2ea;padding:4px 4px;vertical-align:middle;line-height:1.12;background:#fff;color:#000 !important;}
.v51-r-table th{font-size:6.2px;font-weight:900;text-transform:uppercase;letter-spacing:.02em;background:#1f2937 !important;color:#ffffff !important;}
.v51-r-table .right{text-align:right;}
.v51-r-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:7px 8px;margin-top:5px;font-size:10px;font-weight:900;color:#000 !important;}
.v51-r-footer{display:grid;grid-template-columns:1fr .44fr;gap:6px;margin-top:5px;}
.v51-r-box{border:1px solid #d8d2ea;border-radius:9px;background:#fff;padding:7px;min-height:.92in;}
.v51-r-box h3{margin:0 0 6px;font-size:8.6px;font-weight:900;color:#000 !important;}
.v51-r-sign{height:100%;display:flex;align-items:flex-end;justify-content:center;text-align:center;}
.v51-r-sign .line{width:90%;border-top:1px solid #000;padding-top:5px;font-size:6.8px;font-weight:900;color:#000 !important;}
/* === FIN V51 === */


/* === Bloque CSS original 8  === */

/* === V53: recibo incentivos restaurado y ajustado a carta vertical === */




.v53-receipt-page{
  width:7.95in;
  height:10.55in;
  padding:.11in .12in;
  margin:0 auto;
  background:#ffffff;
  color:#000000;
  font-family:Inter, Arial, Helvetica, sans-serif;
  box-sizing:border-box;
  overflow:hidden;
}

.v53-r-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  border-bottom:2px solid #8b5cf6;
  padding-bottom:6px;
  margin-bottom:7px;
}

.v53-r-head h1{
  margin:0;
  font-size:24px;
  line-height:1.02;
  letter-spacing:-.55px;
  color:#000000;
  font-weight:900;
}

.v53-r-head p{
  margin:3px 0 0;
  color:#000000;
  font-size:7.8px;
  line-height:1.15;
}

.v53-r-badge{
  background:#6f35d3;
  color:#ffffff;
  border-radius:999px;
  padding:7px 11px;
  font-size:8.5px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}

.v53-r-meta{
  border:1px solid #d8d2ea;
  border-radius:9px;
  background:#ffffff;
  color:#000000;
  font-size:7.2px;
  line-height:1.18;
  padding:6px 8px;
  margin-bottom:7px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v53-r-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  color:#000000;
  font-size:7.35px;
  line-height:1.15;
}

.v53-r-table th,
.v53-r-table td{
  border:1px solid #d8d2ea;
  padding:4px 4px;
  vertical-align:middle;
  background:#ffffff;
  color:#000000;
  overflow:hidden;
}

.v53-r-table th{
  background:#1f2937;
  color:#ffffff;
  font-size:6.15px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.018em;
  line-height:1.08;
  text-align:center;
}

.v53-r-table td:first-child{
  text-align:center;
}

.v53-r-table .right{
  text-align:right;
  white-space:nowrap;
}

.v53-r-table .signature-cell{
  height:24px;
}

.v53-r-total{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:14px;
  border:1px solid #d8d2ea;
  border-radius:9px;
  background:#ffffff;
  color:#000000;
  padding:7px 9px;
  margin-top:7px;
  font-size:10px;
  line-height:1.1;
  font-weight:900;
}

.v53-r-footer{
  display:grid;
  grid-template-columns:1fr .45fr;
  gap:7px;
  margin-top:7px;
}

.v53-r-box{
  border:1px solid #d8d2ea;
  border-radius:9px;
  background:#ffffff;
  min-height:.92in;
  padding:7px;
  color:#000000;
}

.v53-r-box h3{
  margin:0 0 6px;
  color:#000000;
  font-size:8.7px;
  line-height:1.1;
  font-weight:900;
}

.v53-r-sign{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height:calc(.92in - 24px);
  text-align:center;
}

.v53-r-sign-line{
  width:88%;
  border-top:1px solid #000000;
  padding-top:5px;
  color:#000000;
  font-size:6.8px;
  line-height:1.15;
  font-weight:900;
}

.v53-r-sign-line small{
  color:#000000;
  font-size:5.8px;
  font-weight:800;
}
/* === FIN V53 === */


/* === Bloque CSS original 9  === */

/* === V54: ajuste puntual recibo - texto negro, firma visible, sin botón === */




.v54-receipt-page{
  width:7.82in;
  height:10.55in;
  padding:.10in .11in;
  margin:0 auto;
  background:#ffffff;
  color:#000000;
  font-family:Inter, Arial, Helvetica, sans-serif;
  box-sizing:border-box;
  overflow:hidden;
}

.v54-r-head{
  display:block;
  border-bottom:2px solid #8b5cf6;
  padding-bottom:6px;
  margin-bottom:7px;
}

.v54-r-head h1{
  margin:0;
  font-size:22px;
  line-height:1.02;
  letter-spacing:-.45px;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  font-weight:900;
}

.v54-r-head p{
  margin:3px 0 0;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  font-size:7.4px;
  line-height:1.15;
}

.v54-r-meta{
  border:1px solid #d8d2ea;
  border-radius:9px;
  background:#ffffff;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  font-size:6.9px;
  line-height:1.16;
  padding:5px 7px;
  margin-bottom:7px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v54-r-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  font-size:6.65px;
  line-height:1.1;
}

.v54-r-table th,
.v54-r-table td{
  border:1px solid #d8d2ea;
  padding:3.6px 3px;
  vertical-align:middle;
  background:#ffffff;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  opacity:1 !important;
  overflow:hidden;
}

.v54-r-table th{
  background:#1f2937;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-size:5.55px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.012em;
  line-height:1.05;
  text-align:center;
}

.v54-r-table td:first-child{
  text-align:center;
}

.v54-r-table .right{
  text-align:right;
  white-space:nowrap;
}

.v54-r-table .signature-cell{
  height:22px;
}

.v54-r-total{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:12px;
  border:1px solid #d8d2ea;
  border-radius:9px;
  background:#ffffff;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  padding:6px 8px;
  margin-top:7px;
  font-size:9.4px;
  line-height:1.1;
  font-weight:900;
}

.v54-r-footer{
  display:grid;
  grid-template-columns:1fr .43fr;
  gap:7px;
  margin-top:7px;
}

.v54-r-box{
  border:1px solid #d8d2ea;
  border-radius:9px;
  background:#ffffff;
  min-height:.88in;
  padding:7px;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
}

.v54-r-box h3{
  margin:0 0 6px;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  font-size:8.4px;
  line-height:1.1;
  font-weight:900;
}

.v54-r-sign{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  height:calc(.88in - 24px);
  text-align:center;
}

.v54-r-sign-line{
  width:88%;
  border-top:1px solid #000000;
  padding-top:5px;
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  font-size:6.5px;
  line-height:1.15;
  font-weight:900;
}

.v54-r-sign-line small{
  color:#000000 !important;
  -webkit-text-fill-color:#000000 !important;
  font-size:5.6px;
  font-weight:800;
}

















/* === FIN V55 === */


/* === Bloque CSS original 11  === */

/* === V56: ajuste final de impresión para que nada quede fuera de márgenes === */

/* Presentar / imprimir — hoja carta horizontal */


/* Recibo incentivos — hoja carta vertical u horizontal según opción V55 */




/* === FIN V56 === */


/* === Bloque CSS original 12  === */



.receipt-incentive-page{width:7.88in;height:10.55in;padding:.11in .12in;margin:0 auto;background:#fff;color:#000;font-family:Inter,Arial,Helvetica,sans-serif;box-sizing:border-box;overflow:hidden;}
.receipt-incentive-header{border-bottom:2px solid #8b5cf6;padding-bottom:6px;margin-bottom:7px;}
.receipt-incentive-header h1{margin:0;font-size:20px;line-height:1.02;letter-spacing:-.35px;font-weight:900;color:#000;-webkit-text-fill-color:#000;}
.receipt-incentive-header p{margin:3px 0 0;font-size:7.2px;line-height:1.15;color:#000;-webkit-text-fill-color:#000;}
.receipt-incentive-meta{border:1px solid #d8d2ea;border-radius:9px;background:#f4f4f5;color:#000;-webkit-text-fill-color:#000;font-size:7.4px;line-height:1.16;padding:6px 8px;margin-bottom:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.receipt-incentive-table{width:100%;max-width:100%;border-collapse:collapse;table-layout:fixed;font-size:6.5px;line-height:1.08;color:#000;-webkit-text-fill-color:#000;}
.receipt-incentive-table th,.receipt-incentive-table td{border:1px solid #d8d2ea;padding:3.2px 3px;vertical-align:middle;background:#fff;color:#000;-webkit-text-fill-color:#000;text-align:left;overflow:hidden;text-overflow:clip;}
.receipt-incentive-table th{background:#1f2937;color:#fff;-webkit-text-fill-color:#fff;font-size:5.45px;line-height:1.04;font-weight:900;text-transform:none;letter-spacing:.01em;text-align:left;}
.receipt-incentive-table td.total-cell{font-weight:900;}
.receipt-incentive-table .signature-guide{white-space:nowrap;font-size:6px;color:#000;-webkit-text-fill-color:#000;}
.receipt-incentive-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;border:1px solid #d8d2ea;border-radius:9px;background:#fff;color:#000;-webkit-text-fill-color:#000;padding:6px 8px;margin-top:7px;font-size:9.2px;line-height:1.1;font-weight:900;}
.receipt-incentive-footer{display:grid;grid-template-columns:1fr .43fr;gap:7px;margin-top:7px;}
.receipt-incentive-rule{border:1px solid #ef4444;border-radius:9px;background:#fff7f7;min-height:.86in;padding:7px;color:#000;-webkit-text-fill-color:#000;}
.receipt-incentive-auth{border:1px solid #d8d2ea;border-radius:9px;background:#fff;min-height:.86in;padding:7px;color:#000;-webkit-text-fill-color:#000;}
.receipt-incentive-rule h3,.receipt-incentive-auth h3{margin:0 0 5px;color:#000;-webkit-text-fill-color:#000;font-size:8.2px;line-height:1.08;font-weight:900;}
.receipt-incentive-rule p{margin:0;color:#000;-webkit-text-fill-color:#000;font-size:7px;line-height:1.18;font-weight:700;}
.receipt-incentive-auth-sign{display:flex;align-items:flex-end;justify-content:center;height:calc(.86in - 24px);text-align:center;}
.receipt-incentive-auth-line{width:90%;border-top:1px solid #000;padding-top:5px;color:#000;-webkit-text-fill-color:#000;font-size:6.6px;line-height:1.15;font-weight:900;}
.receipt-incentive-auth-line small{display:block;margin-top:1px;color:#000;-webkit-text-fill-color:#000;font-size:5.7px;font-weight:800;}


/* === Bloque CSS original 13  === */

/* === V59: Presentar / imprimir premium dark mode ejecutivo === */




.v59-bi-page{
  width:10.72in;
  height:8.22in;
  margin:0 auto;
  padding:.12in;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 0%, rgba(124,77,255,.30), transparent 26%),
    radial-gradient(circle at 85% 12%, rgba(0,229,255,.16), transparent 30%),
    linear-gradient(135deg,#0B0F19 0%,#121824 48%,#0B0F19 100%);
  color:#FFFFFF;
  font-family:Inter, Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

.v59-bi-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(124,77,255,.38);
  border-radius:16px;
  background:linear-gradient(135deg, rgba(30,38,64,.92), rgba(26,32,53,.78));
  box-shadow:0 0 24px rgba(124,77,255,.18);
  margin-bottom:8px;
}

.v59-bi-head h1{
  margin:0;
  color:#FFFFFF;
  font-size:20px;
  line-height:1.04;
  font-weight:950;
  letter-spacing:-.45px;
}

.v59-bi-head p{
  margin:4px 0 0;
  color:#94A3B8;
  font-size:7.6px;
  line-height:1.18;
  max-width:8.2in;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v59-bi-mark{
  min-width:1.05in;
  text-align:center;
  border:1px solid rgba(0,229,255,.36);
  border-radius:999px;
  padding:7px 9px;
  color:#FFFFFF;
  background:linear-gradient(90deg,rgba(124,77,255,.35),rgba(0,229,255,.18));
  font-size:8px;
  font-weight:900;
  box-shadow:0 0 18px rgba(0,229,255,.14);
}

.v59-section-label{
  display:flex;
  align-items:center;
  gap:8px;
  margin:6px 0 5px;
  color:#FFFFFF;
  font-size:8.2px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.v59-section-label::before{
  content:"";
  width:16px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 12px rgba(124,77,255,.65);
}

.v59-filterbar{
  display:flex;
  flex-wrap:nowrap;
  gap:5px;
  overflow:hidden;
  padding:6px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:14px;
  background:rgba(11,15,25,.60);
  margin-bottom:7px;
}

.v59-chip{
  flex:0 0 auto;
  max-width:1.55in;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  border:1px solid rgba(124,77,255,.35);
  background:rgba(124,77,255,.12);
  color:#FFFFFF;
  border-radius:999px;
  padding:5px 8px;
  font-size:6.9px;
  font-weight:800;
}

.v59-chip span{
  color:#00E5FF;
  font-weight:950;
}

.v59-kpis{
  display:grid;
  grid-template-columns:repeat(6, minmax(0,1fr));
  gap:6px;
  margin-bottom:8px;
}

.v59-kpi{
  min-height:.76in;
  border:1px solid rgba(124,77,255,.28);
  border-radius:15px;
  padding:8px;
  background:linear-gradient(145deg,rgba(30,38,64,.95),rgba(26,32,53,.92));
  box-shadow:0 9px 22px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.04);
  position:relative;
  overflow:hidden;
}

.v59-kpi::after{
  content:"";
  position:absolute;
  inset:auto 8px 7px 8px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  opacity:.78;
}

.v59-kpi label{
  display:block;
  color:#94A3B8;
  font-size:6.7px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.045em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v59-kpi strong{
  display:block;
  color:#FFFFFF;
  font-size:17px;
  line-height:1.05;
  font-weight:950;
  margin-top:4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v59-kpi small{
  display:block;
  color:#94A3B8;
  font-size:6.3px;
  line-height:1.1;
  margin-top:3px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v59-grid{
  display:grid;
  grid-template-columns:1.15fr .92fr .92fr;
  gap:8px;
  margin-bottom:8px;
}

.v59-panel{
  border:1px solid rgba(124,77,255,.26);
  border-radius:18px;
  padding:9px;
  min-height:2.45in;
  overflow:hidden;
  background:linear-gradient(145deg,rgba(30,38,64,.92),rgba(26,32,53,.86));
  box-shadow:0 16px 32px rgba(0,0,0,.22), 0 0 20px rgba(124,77,255,.07);
}

.v59-panel h2{
  margin:0 0 7px;
  color:#FFFFFF;
  font-size:11px;
  line-height:1.05;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.v59-subgrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.v59-chartbox{
  border:1px solid rgba(148,163,184,.14);
  border-radius:13px;
  background:rgba(11,15,25,.38);
  padding:7px;
  min-height:1.86in;
  overflow:hidden;
}

.v59-chartbox h3{
  margin:0 0 5px;
  color:#FFFFFF;
  font-size:7.8px;
  line-height:1.05;
  font-weight:950;
  text-transform:uppercase;
}

.v59-svg{
  width:100%;
  height:1.35in;
  display:block;
  overflow:hidden;
}

.v59-svg text{
  fill:#94A3B8;
  font-size:6px;
  font-weight:800;
}

.v59-svg .axis{stroke:rgba(148,163,184,.24);stroke-width:1;}
.v59-svg .line{fill:none;stroke:#00E5FF;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.v59-svg .area{fill:rgba(0,229,255,.13);}
.v59-svg .dot{fill:#7C4DFF;stroke:#FFFFFF;stroke-width:.8;}
.v59-svg .heat0{fill:rgba(148,163,184,.13);}
.v59-svg .heat1{fill:rgba(124,77,255,.30);}
.v59-svg .heat2{fill:rgba(124,77,255,.52);}
.v59-svg .heat3{fill:rgba(0,229,255,.48);}
.v59-svg .heat4{fill:rgba(0,229,255,.75);}

.v59-bars{
  display:grid;
  gap:4px;
}

.v59-bars .row{
  display:grid;
  grid-template-columns:68px minmax(0,1fr) 24px;
  gap:5px;
  align-items:center;
}

.v59-bars .lbl{
  color:#FFFFFF;
  font-size:6.4px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-weight:750;
}

.v59-bars .trk{
  height:7px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(148,163,184,.16);
}

.v59-bars .bar{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 10px rgba(0,229,255,.20);
}

.v59-bars .val{
  color:#FFFFFF;
  text-align:right;
  font-size:6.3px;
  line-height:1.05;
  font-weight:950;
}

.v59-stack-list{display:grid;gap:5px;}
.v59-stack-row{display:grid;grid-template-columns:64px minmax(0,1fr) 22px;gap:5px;align-items:center;}
.v59-stack-row .name{font-size:6.4px;color:#FFFFFF;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v59-stack-track{height:8px;background:rgba(148,163,184,.16);border-radius:999px;overflow:hidden;display:flex;}
.v59-stack-track i{display:block;height:100%;}
.v59-stack-total{font-size:6.3px;color:#FFFFFF;font-weight:950;text-align:right;}
.v59-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.v59-legend span{display:inline-flex;align-items:center;gap:4px;color:#94A3B8;font-size:6.2px;}
.v59-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;}

.v59-insights{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-bottom:8px;
}

.v59-textbox{
  border:1px solid rgba(124,77,255,.24);
  border-radius:16px;
  padding:9px;
  min-height:.98in;
  background:linear-gradient(145deg,rgba(30,38,64,.92),rgba(26,32,53,.86));
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}

.v59-textbox h2{
  margin:0 0 5px;
  color:#FFFFFF;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.v59-textbox p,
.v59-textbox li{
  color:#94A3B8;
  margin:0;
  font-size:7.1px;
  line-height:1.28;
  font-weight:650;
}

.v59-textbox ol{
  margin:0;
  padding-left:14px;
}

.v59-conclusion{
  border:1px solid rgba(0,229,255,.30);
  border-radius:16px;
  padding:9px 11px;
  min-height:.65in;
  background:
    linear-gradient(90deg,rgba(124,77,255,.18),rgba(0,229,255,.10)),
    rgba(30,38,64,.84);
  box-shadow:0 0 26px rgba(0,229,255,.08);
}

.v59-conclusion h2{
  margin:0 0 4px;
  color:#FFFFFF;
  font-size:10px;
  font-weight:950;
  text-transform:uppercase;
}

.v59-conclusion p{
  margin:0;
  color:#94A3B8;
  font-size:7.4px;
  line-height:1.25;
  font-weight:700;
}
/* === FIN V59 === */


/* === Bloque CSS original 14  === */

/* === V60: Presentar / imprimir dark premium asimétrico === */




.v60-exec{
  width:10.76in;
  height:8.26in;
  overflow:hidden;
  margin:0 auto;
  padding:.11in;
  font-family:Inter, Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:#FFFFFF;
  background:
    radial-gradient(circle at 12% 4%, rgba(124,77,255,.32), transparent 20%),
    radial-gradient(circle at 84% 5%, rgba(0,229,255,.18), transparent 24%),
    radial-gradient(circle at 45% 96%, rgba(124,77,255,.16), transparent 25%),
    linear-gradient(135deg,#080C14 0%,#0B0F19 48%,#121824 100%);
}

.v60-exec *{box-sizing:border-box;}

.v60-title{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:9px 11px;
  border:1px solid rgba(124,77,255,.32);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(17,24,39,.94),rgba(30,38,64,.72));
  box-shadow:0 0 28px rgba(124,77,255,.16), inset 0 1px 0 rgba(255,255,255,.04);
  margin-bottom:7px;
}

.v60-title h1{
  margin:0;
  color:#FFFFFF;
  font-size:18px;
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.38px;
}

.v60-title small{
  display:block;
  margin-top:3px;
  color:#9CA3AF;
  font-size:7.2px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v60-status{
  color:#FFFFFF;
  border:1px solid rgba(0,229,255,.28);
  border-radius:999px;
  padding:7px 10px;
  background:linear-gradient(90deg,rgba(124,77,255,.32),rgba(0,229,255,.14));
  font-size:7px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.v60-meta{
  display:flex;
  gap:5px;
  overflow:hidden;
  padding:5px;
  border:1px solid rgba(45,55,72,.72);
  border-radius:14px;
  background:rgba(8,12,20,.68);
  margin-bottom:7px;
}

.v60-chip{
  flex:0 0 auto;
  max-width:2.1in;
  padding:5px 8px;
  border:1px solid rgba(124,77,255,.34);
  border-radius:999px;
  background:rgba(124,77,255,.12);
  color:#FFFFFF;
  font-size:6.6px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v60-chip b{color:#00E5FF;font-weight:950;}

.v60-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:6px;
  margin-bottom:7px;
}

.v60-kpi{
  min-height:.68in;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(45,55,72,.95);
  border-radius:16px;
  padding:7px 8px;
  background:linear-gradient(145deg,rgba(17,24,39,.96),rgba(30,38,64,.83));
  box-shadow:0 10px 22px rgba(0,0,0,.24), 0 0 14px rgba(124,77,255,.06);
}

.v60-kpi:after{
  content:"";
  position:absolute;
  inset:auto 8px 7px 8px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 12px rgba(0,229,255,.28);
}

.v60-kpi span{
  display:block;
  color:#9CA3AF;
  font-size:6.2px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v60-kpi strong{
  display:block;
  margin-top:4px;
  color:#FFFFFF;
  font-size:15px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v60-kpi small{
  display:block;
  margin-top:3px;
  color:#9CA3AF;
  font-size:5.8px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v60-label{
  display:flex;
  align-items:center;
  gap:6px;
  margin:4px 0 5px;
  color:#FFFFFF;
  font-size:7px;
  line-height:1;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.v60-label:before{
  content:"";
  width:14px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 12px rgba(124,77,255,.58);
}

.v60-layout{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:minmax(.86in,auto);
  gap:6px;
}

.v60-card{
  border:1px solid rgba(45,55,72,.92);
  border-radius:17px;
  padding:8px;
  background:
    linear-gradient(145deg,rgba(17,24,39,.96),rgba(30,38,64,.78));
  box-shadow:0 12px 26px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
  animation:v60Fade .5s ease both;
}

.v60-card:hover{transform:translateY(-1px);border-color:rgba(124,77,255,.48);}

@keyframes v60Fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

.v60-card h2,
.v60-card h3{
  margin:0 0 6px;
  color:#FFFFFF;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.045em;
  line-height:1.05;
}

.v60-card h2{font-size:9px;}
.v60-card h3{font-size:7.6px;}

.v60-card p,
.v60-card li{
  color:#9CA3AF;
  font-size:6.35px;
  line-height:1.25;
  margin:0;
  font-weight:650;
}

.v60-wide{grid-column:span 7;min-height:1.76in;}
.v60-month{grid-column:span 5;min-height:1.76in;}
.v60-rank{grid-column:span 7;min-height:1.55in;border-color:rgba(124,77,255,.42);box-shadow:0 0 26px rgba(124,77,255,.12), 0 16px 30px rgba(0,0,0,.24);}
.v60-top3{grid-column:span 5;min-height:1.55in;}
.v60-groups{grid-column:span 3;min-height:1.28in;}
.v60-fin1{grid-column:span 5;min-height:1.28in;}
.v60-fin2{grid-column:span 4;min-height:1.28in;}
.v60-int{grid-column:span 4;min-height:1.20in;}
.v60-insight{grid-column:span 6;min-height:.86in;}
.v60-conclusion{grid-column:span 12;min-height:.56in;border-color:rgba(0,229,255,.30);background:linear-gradient(90deg,rgba(124,77,255,.19),rgba(0,229,255,.10)),rgba(17,24,39,.92);}

.v60-svg{
  width:100%;
  height:1.28in;
  display:block;
  overflow:hidden;
}

.v60-wide .v60-svg{height:1.34in;}
.v60-month .v60-svg{height:1.30in;}

.v60-svg text{
  fill:#9CA3AF;
  font-size:5.8px;
  font-weight:800;
}

.v60-svg .axis{stroke:rgba(156,163,175,.24);stroke-width:1;}
.v60-svg .line{fill:none;stroke:#00E5FF;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;}
.v60-svg .area{fill:rgba(0,229,255,.14);}
.v60-svg .line2{stroke:#7C4DFF;}
.v60-svg .area2{fill:rgba(124,77,255,.17);}
.v60-svg .dot{fill:#7C4DFF;stroke:#FFFFFF;stroke-width:.8;}
.v60-svg .heat0{fill:rgba(156,163,175,.14);}
.v60-svg .heat1{fill:rgba(124,77,255,.30);}
.v60-svg .heat2{fill:rgba(124,77,255,.54);}
.v60-svg .heat3{fill:rgba(0,229,255,.46);}
.v60-svg .heat4{fill:rgba(0,229,255,.75);}

.v60-bars{display:grid;gap:4px;}
.v60-row{
  display:grid;
  grid-template-columns:76px minmax(0,1fr) 24px;
  gap:5px;
  align-items:center;
}
.v60-row .name{
  color:#FFFFFF;
  font-size:6.4px;
  line-height:1.05;
  font-weight:760;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v60-row .track{
  height:7px;
  border-radius:999px;
  background:rgba(156,163,175,.16);
  overflow:hidden;
}
.v60-row .bar{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 12px rgba(0,229,255,.24);
}
.v60-row .val{
  color:#FFFFFF;
  text-align:right;
  font-size:6.2px;
  line-height:1.05;
  font-weight:950;
}

.v60-rank .v60-row{
  grid-template-columns:92px minmax(0,1fr) 30px;
  gap:7px;
}
.v60-rank .v60-row .track{height:11px;}
.v60-rank .v60-row .name{font-size:7.2px;}
.v60-rank .v60-row .val{font-size:7px;}

.v60-stack-list{display:grid;gap:5px;}
.v60-stack-row{display:grid;grid-template-columns:74px minmax(0,1fr) 24px;gap:5px;align-items:center;}
.v60-stack-row .name{color:#FFFFFF;font-size:6.3px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v60-stack-track{height:8px;background:rgba(156,163,175,.16);border-radius:999px;overflow:hidden;display:flex;}
.v60-stack-track i{display:block;height:100%;}
.v60-stack-total{color:#FFFFFF;font-size:6.1px;text-align:right;font-weight:950;}
.v60-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.v60-legend span{display:inline-flex;align-items:center;gap:4px;color:#9CA3AF;font-size:5.8px;}
.v60-legend i{display:inline-block;width:7px;height:7px;border-radius:2px;}

.v60-list{
  margin:0;
  padding-left:13px;
}

.v60-pillline{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}

.v60-mini{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:1px solid rgba(124,77,255,.26);
  background:rgba(124,77,255,.10);
  color:#FFFFFF;
  border-radius:999px;
  padding:5px 7px;
  font-size:6.2px;
  font-weight:800;
}
/* === FIN V60 === */


/* === Bloque CSS original 15  === */

/* === V61: Presentar / imprimir dark premium completo, sin cortes === */




.v61-exec{
  width:10.80in;
  height:8.30in;
  overflow:hidden;
  margin:0 auto;
  padding:.09in;
  font-family:Inter, Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:#FFFFFF;
  background:
    radial-gradient(circle at 11% 3%, rgba(124,77,255,.34), transparent 18%),
    radial-gradient(circle at 88% 9%, rgba(0,229,255,.18), transparent 22%),
    radial-gradient(circle at 50% 96%, rgba(124,77,255,.16), transparent 24%),
    linear-gradient(135deg,#080C14 0%,#0B0F19 52%,#121824 100%);
}

.v61-exec *{box-sizing:border-box;}

.v61-title{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:7px 10px;
  border:1px solid rgba(124,77,255,.36);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(17,24,39,.94),rgba(30,38,64,.72));
  box-shadow:0 0 25px rgba(124,77,255,.16), inset 0 1px 0 rgba(255,255,255,.04);
  margin-bottom:5px;
}

.v61-title h1{
  margin:0;
  color:#FFFFFF;
  font-size:17px;
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.38px;
}

.v61-title small{
  display:block;
  margin-top:3px;
  color:#9CA3AF;
  font-size:6.7px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v61-status{
  color:#FFFFFF;
  border:1px solid rgba(0,229,255,.34);
  border-radius:999px;
  padding:6px 9px;
  background:linear-gradient(90deg,rgba(124,77,255,.34),rgba(0,229,255,.14));
  font-size:6.4px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.v61-meta{
  display:flex;
  gap:5px;
  overflow:hidden;
  padding:4px;
  border:1px solid rgba(45,55,72,.72);
  border-radius:13px;
  background:rgba(8,12,20,.70);
  margin-bottom:5px;
}

.v61-chip{
  flex:0 0 auto;
  max-width:2.1in;
  padding:4px 7px;
  border:1px solid rgba(124,77,255,.35);
  border-radius:999px;
  background:rgba(124,77,255,.13);
  color:#FFFFFF;
  font-size:5.9px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v61-chip b{color:#00E5FF;font-weight:950;}

.v61-label{
  display:flex;
  align-items:center;
  gap:6px;
  margin:3px 0 4px;
  color:#FFFFFF;
  font-size:6.4px;
  line-height:1;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.v61-label:before{
  content:"";
  width:14px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 10px rgba(124,77,255,.62);
}

.v61-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
  margin-bottom:5px;
}

.v61-kpi{
  min-height:.52in;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(45,55,72,.95);
  border-radius:14px;
  padding:6px 7px;
  background:linear-gradient(145deg,rgba(17,24,39,.96),rgba(30,38,64,.83));
  box-shadow:0 8px 18px rgba(0,0,0,.22), 0 0 12px rgba(124,77,255,.06);
}

.v61-kpi:after{
  content:"";
  position:absolute;
  inset:auto 7px 5px 7px;
  height:2.5px;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 10px rgba(0,229,255,.24);
}

.v61-kpi span{
  display:block;
  color:#9CA3AF;
  font-size:5.4px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v61-kpi strong{
  display:block;
  margin-top:3px;
  color:#FFFFFF;
  font-size:12.4px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v61-kpi small{
  display:block;
  margin-top:2px;
  color:#9CA3AF;
  font-size:5px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v61-layout{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:1.38in 1.24in 1.10in .88in .58in;
  gap:5px;
}

.v61-card{
  border:1px solid rgba(45,55,72,.92);
  border-radius:15px;
  padding:6px;
  background:linear-gradient(145deg,rgba(17,24,39,.96),rgba(30,38,64,.80));
  box-shadow:0 10px 20px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}

.v61-card h2{
  margin:0 0 5px;
  color:#FFFFFF;
  font-size:7.4px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.045em;
  line-height:1.05;
}

.v61-card p,
.v61-card li{
  color:#9CA3AF;
  font-size:5.6px;
  line-height:1.22;
  margin:0;
  font-weight:650;
}

.v61-wide{grid-column:span 7;grid-row:span 1;border-color:rgba(124,77,255,.38);}
.v61-month{grid-column:span 5;grid-row:span 1;}
.v61-rank{grid-column:span 7;grid-row:span 1;border-color:rgba(124,77,255,.44);box-shadow:0 0 22px rgba(124,77,255,.12),0 12px 22px rgba(0,0,0,.22);}
.v61-top3{grid-column:span 5;grid-row:span 1;}
.v61-groups{grid-column:span 3;grid-row:span 1;}
.v61-fin1{grid-column:span 5;grid-row:span 1;}
.v61-fin2{grid-column:span 4;grid-row:span 1;}
.v61-int{grid-column:span 4;grid-row:span 1;}
.v61-insight{grid-column:span 6;grid-row:span 1;}
.v61-conclusion{grid-column:span 12;grid-row:span 1;border-color:rgba(0,229,255,.32);background:linear-gradient(90deg,rgba(124,77,255,.18),rgba(0,229,255,.10)),rgba(17,24,39,.94);}

.v61-svg{
  width:100%;
  height:.98in;
  display:block;
  overflow:hidden;
}

.v61-wide .v61-svg{height:1.04in;}
.v61-month .v61-svg{height:1.04in;}
.v61-int .v61-svg{height:.74in;}

.v61-svg text{
  fill:#9CA3AF;
  font-size:5px;
  font-weight:800;
}

.v61-svg .axis{stroke:rgba(156,163,175,.24);stroke-width:1;}
.v61-svg .line{fill:none;stroke:#00E5FF;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.v61-svg .area{fill:rgba(0,229,255,.14);}
.v61-svg .line2{stroke:#7C4DFF;}
.v61-svg .area2{fill:rgba(124,77,255,.17);}
.v61-svg .dot{fill:#7C4DFF;stroke:#FFFFFF;stroke-width:.7;}
.v61-svg .heat0{fill:rgba(156,163,175,.14);}
.v61-svg .heat1{fill:rgba(124,77,255,.30);}
.v61-svg .heat2{fill:rgba(124,77,255,.54);}
.v61-svg .heat3{fill:rgba(0,229,255,.46);}
.v61-svg .heat4{fill:rgba(0,229,255,.75);}

.v61-bars{display:grid;gap:3px;}
.v61-row{
  display:grid;
  grid-template-columns:68px minmax(0,1fr) 22px;
  gap:5px;
  align-items:center;
}
.v61-row .name{
  color:#FFFFFF;
  font-size:5.6px;
  line-height:1.05;
  font-weight:760;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v61-row .track{
  height:6px;
  border-radius:999px;
  background:rgba(156,163,175,.16);
  overflow:hidden;
}
.v61-row .bar{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 10px rgba(0,229,255,.22);
}
.v61-row .val{
  color:#FFFFFF;
  text-align:right;
  font-size:5.4px;
  line-height:1.05;
  font-weight:950;
}

.v61-rank .v61-row{grid-template-columns:86px minmax(0,1fr) 28px;gap:6px;}
.v61-rank .v61-row .track{height:9px;}
.v61-rank .v61-row .name{font-size:6.4px;}
.v61-rank .v61-row .val{font-size:6px;}

.v61-stack-list{display:grid;gap:4px;}
.v61-stack-row{display:grid;grid-template-columns:68px minmax(0,1fr) 22px;gap:5px;align-items:center;}
.v61-stack-row .name{color:#FFFFFF;font-size:5.6px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v61-stack-track{height:7px;background:rgba(156,163,175,.16);border-radius:999px;overflow:hidden;display:flex;}
.v61-stack-track i{display:block;height:100%;}
.v61-stack-total{color:#FFFFFF;font-size:5.4px;text-align:right;font-weight:950;}
.v61-legend{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px;}
.v61-legend span{display:inline-flex;align-items:center;gap:4px;color:#9CA3AF;font-size:5.1px;}
.v61-legend i{display:inline-block;width:6px;height:6px;border-radius:2px;}

.v61-list{margin:0;padding-left:12px;}

.v61-pillline{display:flex;flex-wrap:wrap;gap:5px;}
.v61-mini{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:1px solid rgba(124,77,255,.28);
  background:rgba(124,77,255,.12);
  color:#FFFFFF;
  border-radius:999px;
  padding:4px 6px;
  font-size:5.5px;
  font-weight:850;
}
/* === FIN V61 === */


/* === Bloque CSS original 16  === */

/* === V62: impresión Presentar / Imprimir en carta vertical premium dark dashboard completo === */




.v62-print-dashboard{
  width:100%;
  max-width:100%;
  min-height:9.50in;
  overflow:hidden;
  margin:0 auto;
  padding:.12in;
  font-family:Inter, Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:#FFFFFF;
  background:
    radial-gradient(circle at 16% 1%, rgba(124,77,255,.32), transparent 22%),
    radial-gradient(circle at 86% 8%, rgba(0,229,255,.18), transparent 22%),
    radial-gradient(circle at 50% 100%, rgba(124,77,255,.14), transparent 27%),
    linear-gradient(135deg,#080C14 0%,#0B0F19 48%,#111827 100%);
}

.v62-print-dashboard *{box-sizing:border-box;}

.v62-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px 11px;
  border:1px solid rgba(124,77,255,.38);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(17,24,39,.98),rgba(30,38,64,.72));
  box-shadow:0 0 28px rgba(124,77,255,.16), inset 0 1px 0 rgba(255,255,255,.04);
  margin-bottom:8px;
}

.v62-header h1{
  margin:0;
  color:#FFFFFF;
  font-size:17px;
  line-height:1.06;
  font-weight:950;
  letter-spacing:-.34px;
}

.v62-header p{
  margin:4px 0 0;
  color:#9CA3AF;
  font-size:7.2px;
  line-height:1.16;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v62-badge{
  color:#FFFFFF;
  border:1px solid rgba(0,229,255,.34);
  border-radius:999px;
  padding:7px 10px;
  background:linear-gradient(90deg,rgba(124,77,255,.34),rgba(0,229,255,.14));
  font-size:6.6px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.v62-meta{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  padding:6px;
  border:1px solid rgba(45,55,72,.72);
  border-radius:14px;
  background:rgba(8,12,20,.70);
  margin-bottom:8px;
}

.v62-chip{
  flex:0 1 auto;
  max-width:100%;
  padding:5px 8px;
  border:1px solid rgba(124,77,255,.36);
  border-radius:999px;
  background:rgba(124,77,255,.12);
  color:#FFFFFF;
  font-size:6.6px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v62-chip b{color:#00E5FF;font-weight:950;}

.v62-section{
  display:flex;
  align-items:center;
  gap:6px;
  margin:6px 0 6px;
  color:#FFFFFF;
  font-size:7.3px;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.v62-section::before{
  content:"";
  width:15px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 11px rgba(124,77,255,.64);
}

.v62-kpis{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-bottom:8px;
}

.v62-kpi{
  min-height:.68in;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(45,55,72,.95);
  border-radius:15px;
  padding:8px;
  background:linear-gradient(145deg,rgba(17,24,39,.98),rgba(30,38,64,.84));
  box-shadow:0 8px 18px rgba(0,0,0,.24), 0 0 12px rgba(124,77,255,.08);
}

.v62-kpi::after{
  content:"";
  position:absolute;
  inset:auto 8px 6px 8px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 10px rgba(0,229,255,.24);
}

.v62-kpi span{
  display:block;
  color:#9CA3AF;
  font-size:6.5px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v62-kpi strong{
  display:block;
  margin-top:4px;
  color:#FFFFFF;
  font-size:15px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v62-kpi small{
  display:block;
  margin-top:3px;
  color:#9CA3AF;
  font-size:5.9px;
  line-height:1.12;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v62-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:7px;
}

.v62-card{
  border:1px solid rgba(45,55,72,.92);
  border-radius:16px;
  padding:8px;
  background:linear-gradient(145deg,rgba(17,24,39,.98),rgba(30,38,64,.80));
  box-shadow:0 10px 20px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}

.v62-card h2{
  margin:0 0 6px;
  color:#FFFFFF;
  font-size:7.9px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1.1;
}

.v62-card p,
.v62-card li{
  color:#9CA3AF;
  font-size:6.2px;
  line-height:1.28;
  margin:0;
  font-weight:650;
}

.v62-daily{grid-column:span 6;min-height:1.60in;border-color:rgba(124,77,255,.44);box-shadow:0 0 24px rgba(124,77,255,.14),0 12px 24px rgba(0,0,0,.24);}
.v62-month{grid-column:span 3;min-height:1.30in;}
.v62-rank{grid-column:span 3;min-height:1.30in;border-color:rgba(124,77,255,.44);box-shadow:0 0 22px rgba(124,77,255,.13),0 12px 22px rgba(0,0,0,.22);}
.v62-top3{grid-column:span 3;min-height:1.02in;}
.v62-groups{grid-column:span 3;min-height:1.02in;}
.v62-financial{grid-column:span 6;min-height:1.26in;}
.v62-intelligence{grid-column:span 2;min-height:1.14in;}
.v62-insights{grid-column:span 6;min-height:1.08in;}
.v62-conclusion{grid-column:span 6;min-height:.72in;border-color:rgba(0,229,255,.32);background:linear-gradient(90deg,rgba(124,77,255,.18),rgba(0,229,255,.10)),rgba(17,24,39,.94);}

.v62-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}

.v62-svg{
  width:100%;
  height:1.12in;
  display:block;
  overflow:hidden;
}

.v62-daily .v62-svg{height:1.28in;}
.v62-month .v62-svg{height:1.03in;}
.v62-intelligence .v62-svg{height:.86in;}

.v62-svg text{
  fill:#9CA3AF;
  font-size:5.5px;
  font-weight:800;
}

.v62-svg .axis{stroke:rgba(156,163,175,.24);stroke-width:1;}
.v62-svg .line{fill:none;stroke:#00E5FF;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.v62-svg .area{fill:rgba(0,229,255,.13);}
.v62-svg .line2{stroke:#7C4DFF;}
.v62-svg .area2{fill:rgba(124,77,255,.16);}
.v62-svg .dot{fill:#7C4DFF;stroke:#FFFFFF;stroke-width:.75;}
.v62-svg .heat0{fill:rgba(156,163,175,.14);}
.v62-svg .heat1{fill:rgba(124,77,255,.30);}
.v62-svg .heat2{fill:rgba(124,77,255,.54);}
.v62-svg .heat3{fill:rgba(0,229,255,.46);}
.v62-svg .heat4{fill:rgba(0,229,255,.75);}

.v62-bars{display:grid;gap:4px;}
.v62-row{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 24px;
  gap:6px;
  align-items:center;
}
.v62-row .name{
  color:#FFFFFF;
  font-size:6.2px;
  line-height:1.05;
  font-weight:780;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v62-row .track{
  height:7px;
  border-radius:999px;
  background:rgba(156,163,175,.16);
  overflow:hidden;
}
.v62-row .bar{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 11px rgba(0,229,255,.22);
}
.v62-row .val{
  color:#FFFFFF;
  text-align:right;
  font-size:5.9px;
  line-height:1.05;
  font-weight:950;
}

.v62-rank .v62-row{
  grid-template-columns:82px minmax(0,1fr) 28px;
  gap:7px;
}
.v62-rank .v62-row .track{height:10px;}
.v62-rank .v62-row .name{font-size:6.8px;}
.v62-rank .v62-row .val{font-size:6.3px;}

.v62-stack-list{display:grid;gap:5px;}
.v62-stack-row{
  display:grid;
  grid-template-columns:76px minmax(0,1fr) 24px;
  gap:6px;
  align-items:center;
}
.v62-stack-row .name{
  color:#FFFFFF;
  font-size:6px;
  font-weight:750;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v62-stack-track{
  height:8px;
  background:rgba(156,163,175,.16);
  border-radius:999px;
  overflow:hidden;
  display:flex;
}
.v62-stack-track i{display:block;height:100%;}
.v62-stack-total{
  color:#FFFFFF;
  font-size:5.8px;
  text-align:right;
  font-weight:950;
}
.v62-legend{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
}
.v62-legend span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#9CA3AF;
  font-size:5.7px;
}
.v62-legend i{
  display:inline-block;
  width:7px;
  height:7px;
  border-radius:2px;
}

.v62-pills{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.v62-pill{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:1px solid rgba(124,77,255,.30);
  background:rgba(124,77,255,.12);
  color:#FFFFFF;
  border-radius:999px;
  padding:5px 7px;
  font-size:6px;
  font-weight:850;
}

.v62-list{margin:0;padding-left:13px;}
/* === FIN V62 === */


/* === Bloque CSS original 17  === */

/* === V63: restaurar diseño anterior premium dark horizontal de Presentar / Imprimir === */




.v63-exec{
  width:10.80in;
  height:8.30in;
  overflow:hidden;
  margin:0 auto;
  padding:.09in;
  font-family:Inter, Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:#FFFFFF;
  background:
    radial-gradient(circle at 11% 3%, rgba(124,77,255,.34), transparent 18%),
    radial-gradient(circle at 88% 9%, rgba(0,229,255,.18), transparent 22%),
    radial-gradient(circle at 50% 96%, rgba(124,77,255,.16), transparent 24%),
    linear-gradient(135deg,#080C14 0%,#0B0F19 52%,#121824 100%);
}

.v63-exec *{box-sizing:border-box;}

.v63-title{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:7px 10px;
  border:1px solid rgba(124,77,255,.36);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(17,24,39,.94),rgba(30,38,64,.72));
  box-shadow:0 0 25px rgba(124,77,255,.16), inset 0 1px 0 rgba(255,255,255,.04);
  margin-bottom:5px;
}

.v63-title h1{
  margin:0;
  color:#FFFFFF;
  font-size:17px;
  line-height:1.02;
  font-weight:950;
  letter-spacing:-.38px;
}

.v63-title small{
  display:block;
  margin-top:3px;
  color:#9CA3AF;
  font-size:6.7px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v63-status{
  color:#FFFFFF;
  border:1px solid rgba(0,229,255,.34);
  border-radius:999px;
  padding:6px 9px;
  background:linear-gradient(90deg,rgba(124,77,255,.34),rgba(0,229,255,.14));
  font-size:6.4px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.v63-meta{
  display:flex;
  gap:5px;
  overflow:hidden;
  padding:4px;
  border:1px solid rgba(45,55,72,.72);
  border-radius:13px;
  background:rgba(8,12,20,.70);
  margin-bottom:5px;
}

.v63-chip{
  flex:0 0 auto;
  max-width:2.1in;
  padding:4px 7px;
  border:1px solid rgba(124,77,255,.35);
  border-radius:999px;
  background:rgba(124,77,255,.13);
  color:#FFFFFF;
  font-size:5.9px;
  line-height:1;
  font-weight:800;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v63-chip b{color:#00E5FF;font-weight:950;}

.v63-label{
  display:flex;
  align-items:center;
  gap:6px;
  margin:3px 0 4px;
  color:#FFFFFF;
  font-size:6.4px;
  line-height:1;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.v63-label:before{
  content:"";
  width:14px;
  height:3px;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 10px rgba(124,77,255,.62);
}

.v63-kpis{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:5px;
  margin-bottom:5px;
}

.v63-kpi{
  min-height:.52in;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(45,55,72,.95);
  border-radius:14px;
  padding:6px 7px;
  background:linear-gradient(145deg,rgba(17,24,39,.96),rgba(30,38,64,.83));
  box-shadow:0 8px 18px rgba(0,0,0,.22), 0 0 12px rgba(124,77,255,.06);
}

.v63-kpi:after{
  content:"";
  position:absolute;
  inset:auto 7px 5px 7px;
  height:2.5px;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 10px rgba(0,229,255,.24);
}

.v63-kpi span{
  display:block;
  color:#9CA3AF;
  font-size:5.4px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v63-kpi strong{
  display:block;
  margin-top:3px;
  color:#FFFFFF;
  font-size:12.4px;
  line-height:1;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v63-kpi small{
  display:block;
  margin-top:2px;
  color:#9CA3AF;
  font-size:5px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.v63-layout{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:1.38in 1.24in 1.10in .88in .58in;
  gap:5px;
}

.v63-card{
  border:1px solid rgba(45,55,72,.92);
  border-radius:15px;
  padding:6px;
  background:linear-gradient(145deg,rgba(17,24,39,.96),rgba(30,38,64,.80));
  box-shadow:0 10px 20px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.035);
  overflow:hidden;
}

.v63-card h2{
  margin:0 0 5px;
  color:#FFFFFF;
  font-size:7.4px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.045em;
  line-height:1.05;
}

.v63-card p,
.v63-card li{
  color:#9CA3AF;
  font-size:5.6px;
  line-height:1.22;
  margin:0;
  font-weight:650;
}

.v63-wide{grid-column:span 7;grid-row:span 1;border-color:rgba(124,77,255,.38);}
.v63-month{grid-column:span 5;grid-row:span 1;}
.v63-rank{grid-column:span 7;grid-row:span 1;border-color:rgba(124,77,255,.44);box-shadow:0 0 22px rgba(124,77,255,.12),0 12px 22px rgba(0,0,0,.22);}
.v63-top3{grid-column:span 5;grid-row:span 1;}
.v63-groups{grid-column:span 3;grid-row:span 1;}
.v63-fin1{grid-column:span 5;grid-row:span 1;}
.v63-fin2{grid-column:span 4;grid-row:span 1;}
.v63-int{grid-column:span 4;grid-row:span 1;}
.v63-insight{grid-column:span 6;grid-row:span 1;}
.v63-conclusion{grid-column:span 12;grid-row:span 1;border-color:rgba(0,229,255,.32);background:linear-gradient(90deg,rgba(124,77,255,.18),rgba(0,229,255,.10)),rgba(17,24,39,.94);}

.v63-svg{
  width:100%;
  height:.98in;
  display:block;
  overflow:hidden;
}

.v63-wide .v63-svg{height:1.04in;}
.v63-month .v63-svg{height:1.04in;}
.v63-int .v63-svg{height:.74in;}

.v63-svg text{
  fill:#9CA3AF;
  font-size:5px;
  font-weight:800;
}

.v63-svg .axis{stroke:rgba(156,163,175,.24);stroke-width:1;}
.v63-svg .line{fill:none;stroke:#00E5FF;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
.v63-svg .area{fill:rgba(0,229,255,.14);}
.v63-svg .line2{stroke:#7C4DFF;}
.v63-svg .area2{fill:rgba(124,77,255,.17);}
.v63-svg .dot{fill:#7C4DFF;stroke:#FFFFFF;stroke-width:.7;}
.v63-svg .heat0{fill:rgba(156,163,175,.14);}
.v63-svg .heat1{fill:rgba(124,77,255,.30);}
.v63-svg .heat2{fill:rgba(124,77,255,.54);}
.v63-svg .heat3{fill:rgba(0,229,255,.46);}
.v63-svg .heat4{fill:rgba(0,229,255,.75);}

.v63-bars{display:grid;gap:3px;}
.v63-row{
  display:grid;
  grid-template-columns:68px minmax(0,1fr) 22px;
  gap:5px;
  align-items:center;
}
.v63-row .name{
  color:#FFFFFF;
  font-size:5.6px;
  line-height:1.05;
  font-weight:760;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v63-row .track{
  height:6px;
  border-radius:999px;
  background:rgba(156,163,175,.16);
  overflow:hidden;
}
.v63-row .bar{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 0 10px rgba(0,229,255,.22);
}
.v63-row .val{
  color:#FFFFFF;
  text-align:right;
  font-size:5.4px;
  line-height:1.05;
  font-weight:950;
}

.v63-rank .v63-row{grid-template-columns:86px minmax(0,1fr) 28px;gap:6px;}
.v63-rank .v63-row .track{height:9px;}
.v63-rank .v63-row .name{font-size:6.4px;}
.v63-rank .v63-row .val{font-size:6px;}

.v63-stack-list{display:grid;gap:4px;}
.v63-stack-row{display:grid;grid-template-columns:68px minmax(0,1fr) 22px;gap:5px;align-items:center;}
.v63-stack-row .name{color:#FFFFFF;font-size:5.6px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.v63-stack-track{height:7px;background:rgba(156,163,175,.16);border-radius:999px;overflow:hidden;display:flex;}
.v63-stack-track i{display:block;height:100%;}
.v63-stack-total{color:#FFFFFF;font-size:5.4px;text-align:right;font-weight:950;}
.v63-legend{display:flex;gap:7px;flex-wrap:wrap;margin-top:4px;}
.v63-legend span{display:inline-flex;align-items:center;gap:4px;color:#9CA3AF;font-size:5.1px;}
.v63-legend i{display:inline-block;width:6px;height:6px;border-radius:2px;}

.v63-list{margin:0;padding-left:12px;}
.v63-pillline{display:flex;flex-wrap:wrap;gap:5px;}
.v63-mini{
  display:inline-flex;
  align-items:center;
  gap:4px;
  border:1px solid rgba(124,77,255,.28);
  background:rgba(124,77,255,.12);
  color:#FFFFFF;
  border-radius:999px;
  padding:4px 6px;
  font-size:5.5px;
  font-weight:850;
}
/* === FIN V63 === */


/* === Bloque CSS original 18  === */

/* === V64: Autenticación, RBAC y configuración de usuarios === */
body.cuik-auth-locked .app{
  filter:blur(10px);
  pointer-events:none;
  user-select:none;
}
/* El login vigente se define únicamente en css/core-shell.css. */
.cuik-login-card{
  width:min(460px, 94vw);
  border:1px solid rgba(124,77,255,.38);
  border-radius:28px;
  background:
    linear-gradient(145deg, rgba(17,24,39,.96), rgba(30,38,64,.86)),
    radial-gradient(circle at 50% 0%, rgba(124,77,255,.20), transparent 46%);
  box-shadow:0 28px 80px rgba(0,0,0,.48), 0 0 34px rgba(124,77,255,.15);
  padding:28px;
  position:relative;
  overflow:hidden;
}
.cuik-login-card::before{
  content:"";
  position:absolute;
  left:22px;
  right:22px;
  top:0;
  height:3px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  border-radius:0 0 999px 999px;
  box-shadow:0 0 18px rgba(0,229,255,.55);
}
.cuik-login-card h1{
  margin:0;
  font-size:25px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.5px;
}
.cuik-login-card p{
  margin:8px 0 20px;
  color:#9CA3AF;
  font-size:13px;
  line-height:1.45;
}
.cuik-auth-field{
  margin-bottom:13px;
}
.cuik-auth-field label{
  display:block;
  margin-bottom:7px;
  color:#FFFFFF;
  font-size:12px;
  font-weight:850;
}
.cuik-auth-input{
  width:100%;
  border:1px solid rgba(124,77,255,.34);
  background:rgba(8,12,20,.72);
  color:#FFFFFF;
  border-radius:16px;
  padding:13px 14px;
  outline:none;
  font-size:14px;
  transition:.2s;
}
.cuik-auth-input:focus{
  border-color:rgba(0,229,255,.70);
  box-shadow:0 0 0 4px rgba(0,229,255,.08), 0 0 18px rgba(124,77,255,.16);
}
.cuik-captcha-box{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid rgba(0,229,255,.22);
  background:rgba(0,229,255,.06);
  border-radius:16px;
  padding:10px 12px;
  margin-bottom:10px;
}
#cuikCaptchaText{
  color:#FFFFFF;
  font-size:14px;
  font-weight:900;
}
.cuik-small-btn{
  border:1px solid rgba(124,77,255,.42);
  background:rgba(124,77,255,.18);
  color:#FFFFFF;
  border-radius:12px;
  padding:8px 10px;
  cursor:pointer;
  font-weight:850;
}
.cuik-login-btn{
  width:100%;
  border:0;
  border-radius:16px;
  padding:13px 16px;
  margin-top:8px;
  cursor:pointer;
  color:#FFFFFF;
  font-weight:950;
  letter-spacing:.2px;
  background:linear-gradient(90deg,#7C4DFF,#00E5FF);
  box-shadow:0 12px 28px rgba(124,77,255,.25);
}
#cuikAuthError{
  min-height:18px;
  margin:8px 0 0;
  color:#ff4d7d;
  font-size:12px;
  font-weight:850;
  text-shadow:0 0 10px rgba(255,77,125,.35);
}
.cuik-session-pill{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#fff;
  border:1px solid rgba(0,229,255,.28);
  border-radius:999px;
  padding:8px 10px;
  background:rgba(0,229,255,.08);
  font-size:12px;
  font-weight:850;
}
.cuik-admin-btn,
.cuik-logout-btn{
  border:1px solid rgba(124,77,255,.34);
  background:rgba(124,77,255,.16);
  color:#FFFFFF;
  border-radius:14px;
  padding:9px 11px;
  cursor:pointer;
  font-weight:850;
}
.cuik-logout-btn{
  background:rgba(255,77,125,.12);
  border-color:rgba(255,77,125,.26);
}
.cuik-rbac-hidden{
  display:none !important;
}
#userConfigSection{
  border-color:rgba(0,229,255,.22);
  background:
    linear-gradient(135deg, rgba(17,24,39,.94), rgba(30,38,64,.78)),
    radial-gradient(circle at 100% 0%, rgba(0,229,255,.12), transparent 35%);
}
.cuik-user-admin-grid{
  display:grid;
  grid-template-columns: minmax(280px,.78fr) minmax(420px,1.22fr);
  gap:18px;
}
.cuik-user-form,
.cuik-user-list{
  border:1px solid var(--line);
  background:rgba(0,0,0,.18);
  border-radius:22px;
  padding:18px;
}
.cuik-user-form h3,
.cuik-user-list h3{
  margin:0 0 14px;
  color:var(--text);
}
.cuik-user-form .input-control{
  width:100%;
  margin-bottom:10px;
}
.cuik-user-table{
  width:100%;
  border-collapse:collapse;
}
.cuik-user-table th,
.cuik-user-table td{
  border-bottom:1px solid var(--line);
  padding:10px 8px;
  text-align:left;
  font-size:13px;
}
.cuik-user-table th{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.cuik-delete-user{
  border:1px solid rgba(255,77,125,.38);
  background:rgba(255,77,125,.13);
  color:#fff;
  border-radius:12px;
  padding:7px 9px;
  cursor:pointer;
  font-weight:850;
}
@media(max-width:900px){
  .cuik-user-admin-grid{grid-template-columns:1fr;}
}
.bi-chart .bar{
  fill:url(#biGrad) !important;
}
/* === FIN V64 === */


/* === Bloque CSS original 19  === */

/* === V66: FIX mínimo - Admin ve todas las tarjetas sin tocar login ni motores === */
body.cuik-admin-full #comercial,
body.cuik-admin-full #comercial.section{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.cuik-admin-full #comercial .card,
body.cuik-admin-full #comercial .v49-chart-card,
body.cuik-admin-full #chartGiroCommercial,
body.cuik-admin-full #chartTopCommerces{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.cuik-admin-full .nav-pills a[href="#comercial"]{
  display:inline-flex !important;
}
/* === FIN V66 === */


/* === Bloque CSS original 20  === */

/* === V67: traer al frente tarjetas comerciales de admin sin tocar login ni lógica === */
body.cuik-admin-full #comercial{
  position:relative !important;
  z-index:30 !important;
  overflow:visible !important;
}
body.cuik-admin-full #comercial .chart-grid{
  position:relative !important;
  z-index:31 !important;
  overflow:visible !important;
  align-items:stretch !important;
}
body.cuik-admin-full #comercial .card,
body.cuik-admin-full #comercial .v49-chart-card{
  position:relative !important;
  z-index:32 !important;
  overflow:hidden !important;
  transform:none !important;
  filter:none !important;
}
body.cuik-admin-full #chartGiroCommercial,
body.cuik-admin-full #chartTopCommerces{
  position:relative !important;
  z-index:33 !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
}
body.cuik-admin-full #comercial + .section{
  position:relative !important;
  z-index:1 !important;
}
/* === FIN V67 === */


/* === Bloque CSS original 21  === */

/* === V68: mantener menú flotante siempre al frente sobre zona comercial === */
.topbar,
body.cuik-admin-full .topbar{
  position:sticky !important;
  top:14px !important;
  z-index:9999 !important;
}
.topbar .nav-pills,
.topbar .topbar-actions-v29,
.topbar .brand{
  position:relative !important;
  z-index:10000 !important;
}
/* === FIN V68 === */


/* === Bloque CSS original 22  === */

/* === V73: Modal premium RBAC, permisos, contraseñas y auditoría local === */
#userConfigSection{
  display:none !important;
}
.cuik-rbac-modal.hidden,
.cuik-rbac-view.hidden{
  display:none !important;
}
.cuik-rbac-modal{
  position:fixed;
  inset:0;
  z-index:1000000;
  display:grid;
  place-items:center;
  padding:24px;
  color:var(--text,#fff);
  font-family:Inter, Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
.cuik-rbac-backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 8%, rgba(124,77,255,.24), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(0,229,255,.14), transparent 28%),
    rgba(8,12,20,.86);
  backdrop-filter:blur(18px);
}
.cuik-rbac-panel{
  position:relative;
  width:min(1220px,96vw);
  max-height:92vh;
  overflow:auto;
  border:1px solid rgba(124,77,255,.32);
  border-radius:28px;
  background:
    linear-gradient(145deg, rgba(17,24,39,.97), rgba(30,38,64,.84)),
    radial-gradient(circle at 100% 0%, rgba(0,229,255,.10), transparent 35%);
  box-shadow:0 30px 90px rgba(0,0,0,.58), 0 0 36px rgba(124,77,255,.16);
  padding:24px;
}
.cuik-rbac-panel.small{
  width:min(540px,94vw);
}
.cuik-rbac-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:16px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.10);
}
.cuik-rbac-head h2{
  margin:0;
  font-size:26px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:-.5px;
  color:var(--text,#fff);
}
.cuik-rbac-head p{
  margin:6px 0 0;
  color:var(--muted,#9CA3AF);
  font-size:13px;
}
.cuik-rbac-close{
  width:42px;
  height:42px;
  border:1px solid rgba(124,77,255,.34);
  border-radius:14px;
  background:rgba(124,77,255,.14);
  color:#fff;
  font-size:24px;
  cursor:pointer;
}
.cuik-rbac-grid{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:18px;
}
.cuik-rbac-card{
  border:1px solid rgba(255,255,255,.105);
  border-radius:22px;
  background:rgba(0,0,0,.18);
  padding:18px;
  margin-bottom:18px;
}
.cuik-rbac-card h3{
  margin:0 0 14px;
  color:var(--text,#fff);
  font-size:17px;
  font-weight:900;
}
.cuik-rbac-form{
  display:grid;
  gap:10px;
  margin-bottom:14px;
}
.cuik-rbac-permissions{
  display:grid;
  grid-template-columns:repeat(2,minmax(150px,1fr));
  gap:8px;
  margin:12px 0;
}
.cuik-rbac-permission{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  padding:9px 10px;
  color:var(--text,#fff);
  font-size:12px;
  font-weight:750;
}
.cuik-rbac-permission input{
  accent-color:#8b3dff;
}
.cuik-rbac-permission.disabled{
  opacity:.82;
  pointer-events:none;
}
.cuik-rbac-tablewrap{
  overflow:auto;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.09);
}
.cuik-rbac-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:820px;
  font-size:13px;
}
.cuik-rbac-table th,
.cuik-rbac-table td{
  padding:11px 9px;
  border-bottom:1px solid rgba(255,255,255,.085);
  text-align:left;
  vertical-align:top;
}
.cuik-rbac-table th{
  color:var(--muted,#9CA3AF);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.06em;
  background:rgba(0,0,0,.20);
}
.cuik-rbac-action{
  border:1px solid rgba(124,77,255,.34);
  border-radius:12px;
  background:rgba(124,77,255,.14);
  color:#fff;
  padding:8px 10px;
  cursor:pointer;
  font-weight:850;
  margin:0 5px 6px 0;
}
.cuik-rbac-action.danger{
  border-color:rgba(255,77,125,.38);
  background:rgba(255,77,125,.13);
}
.cuik-rbac-badges{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.cuik-rbac-badge{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(0,229,255,.26);
  background:rgba(0,229,255,.08);
  color:#fff;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:800;
}
.cuik-rbac-msg{
  min-height:18px;
  margin-top:8px;
  color:#50e7ff;
  font-size:12px;
  font-weight:800;
}
.cuik-rbac-warning{
  color:#ff4d7d !important;
}
body.cuik-force-password-active .app{
  pointer-events:none;
  user-select:none;
}
@media(max-width:980px){
  .cuik-rbac-grid{grid-template-columns:1fr;}
  .cuik-rbac-permissions{grid-template-columns:1fr;}
}
/* === FIN V73 CSS === */


/* === Bloque CSS original 23  === */

/* === V77: carga y filtros según rol, sin tocar login base === */
body.cuik-role-supervisor label[for="fileInput"],
body.cuik-role-supervisor #fileInput,
body.cuik-role-supervisor #btnAuto,
body.cuik-role-ejecutivo label[for="fileInput"],
body.cuik-role-ejecutivo #fileInput,
body.cuik-role-ejecutivo #btnAuto{
  display:none !important;
}
body:not(.cuik-role-admin):not(.cuik-role-gerente) #filtros,
body:not(.cuik-role-admin):not(.cuik-role-gerente) .nav-pills a[href="#filtros"]{
  display:none !important;
}
body.cuik-role-admin #filtros,
body.cuik-role-gerente #filtros{
  display:block !important;
}
body.cuik-role-admin .nav-pills a[href="#filtros"],
body.cuik-role-gerente .nav-pills a[href="#filtros"]{
  display:inline-flex !important;
}
/* === FIN V77 CSS === */


/* === Bloque CSS original 24  === */

/* Login legado V79 retirado: la implementación unificada vive en core-shell.css. */


/* === Bloque CSS original 25  === */

/* === V83: RBAC final completo - filtros visibles para Admin y Gerente === */
html body.cuik-role-admin #filtros,
html body.cuik-role-gerente #filtros{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
html body.cuik-role-admin .nav-pills a[href="#filtros"],
html body.cuik-role-gerente .nav-pills a[href="#filtros"]{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
html body.cuik-role-supervisor #filtros,
html body.cuik-role-ejecutivo #filtros,
html body.cuik-role-supervisor .nav-pills a[href="#filtros"],
html body.cuik-role-ejecutivo .nav-pills a[href="#filtros"]{
  display:none !important;
}
html body.cuik-role-admin label[for="fileInput"],
html body.cuik-role-admin #btnAuto,
html body.cuik-role-gerente label[for="fileInput"],
html body.cuik-role-gerente #btnAuto{
  display:inline-flex !important;
}
html body.cuik-role-supervisor label[for="fileInput"],
html body.cuik-role-supervisor #btnAuto,
html body.cuik-role-ejecutivo label[for="fileInput"],
html body.cuik-role-ejecutivo #btnAuto{
  display:none !important;
}
html body.cuik-role-admin #fileInput,
html body.cuik-role-gerente #fileInput{
  display:none !important;
}
/* === FIN V83 CSS === */


/* === Bloque CSS original 26  === */

/* === V84: Gerente visualiza inteligencia comercial y distribución por giro === */
body.cuik-role-gerente #comercial,
body.cuik-role-gerente #comercial.section,
body.cuik-role-gerente #comercial .v49-chart-card,
body.cuik-role-gerente #chartGiroCommercial,
body.cuik-role-gerente #chartTopCommerces{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.cuik-role-gerente #comercial .v49-chart-card .chart{
  min-height:320px !important;
}
body.cuik-role-gerente .nav-pills a[href="#comercial"]{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
/* === FIN V84 === */


/* === Bloque CSS original 27  === */

/* === V85: Gerente - traer tarjetas comerciales avanzadas al frente sin difuminado === */
body.cuik-role-gerente #comercial{
  position:relative !important;
  z-index:80 !important;
  overflow:visible !important;
  filter:none !important;
  transform:none !important;
}
body.cuik-role-gerente #comercial .chart-grid{
  position:relative !important;
  z-index:81 !important;
  overflow:visible !important;
}
body.cuik-role-gerente #comercial .v49-chart-card{
  position:relative !important;
  z-index:90 !important;
  filter:none !important;
  transform:none !important;
  opacity:1 !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  overflow:hidden !important;
}
body.cuik-role-gerente #chartGiroCommercial,
body.cuik-role-gerente #chartTopCommerces,
body.cuik-role-gerente #chartGiroCommercial canvas,
body.cuik-role-gerente #chartTopCommerces canvas,
body.cuik-role-gerente #chartGiroCommercial svg,
body.cuik-role-gerente #chartTopCommerces svg{
  position:relative !important;
  z-index:95 !important;
  filter:none !important;
  transform:none !important;
  opacity:1 !important;
  visibility:visible !important;
}
/* === FIN V85 === */


/* === Bloque CSS original 28  === */

/* === V88: Fix estable sin bloqueos - usuarios, auditoría, modal y estado de personal === */
body.cuik-rbac-modal-open{
  overflow:hidden !important;
}
.cuik-rbac-modal:not(.hidden){
  padding:16px !important;
  overflow:hidden !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-panel{
  width:min(1320px, calc(100vw - 32px)) !important;
  max-height:calc(100vh - 32px) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-head{
  flex:0 0 auto !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-view:not(.hidden){
  display:block !important;
  overflow:auto !important;
  max-height:calc(100vh - 145px) !important;
  padding-right:6px !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-tablewrap{
  max-height:46vh !important;
  overflow:auto !important;
}
.cuik-staff-status-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:640px;
  font-size:13px;
}
.cuik-staff-status-table th,
.cuik-staff-status-table td{
  padding:10px 9px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
}
.cuik-staff-status-table th{
  color:var(--muted,#9CA3AF);
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.06em;
}
.cuik-staff-select{
  min-width:140px;
}
.cuik-status-suspended{
  color:#ffb020;
  font-weight:900;
}
.cuik-status-active{
  color:#4DF2A4;
  font-weight:900;
}
/* === FIN V88 CSS === */


/* === Bloque CSS original 29  === */

/* === V89: anti-freeze al volver de otra pestaña, sin cambiar diseño ni lógica === */
.cuik-rbac-modal.hidden,
#cuikRbacModal.hidden,
#cuikForcePasswordModal.hidden{
  pointer-events:none !important;
}
body:not(.cuik-auth-locked):not(.cuik-rbac-modal-open) .app{
  pointer-events:auto !important;
  user-select:auto !important;
}
/* === FIN V89 CSS === */


/* === Bloque CSS original 30  === */

/* === V90: Vista Ejecutivo - afiliaciones propias, reglas, timer y exportación === */
#executiveOwnPanel{
  margin-top:18px;
}
.executive-ticker-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
  border:1px solid rgba(139,61,255,.28);
  background:
    radial-gradient(circle at 10% 0%, rgba(139,61,255,.16), transparent 38%),
    rgba(255,255,255,.035);
  border-radius:20px;
  padding:16px;
  margin-bottom:16px;
}
.executive-ticker-title{
  font-size:14px;
  color:var(--muted,#97a6c4);
  font-weight:800;
  margin:0 0 4px;
}
.executive-ticker-deadline{
  margin:0;
  color:var(--text,#f5f8ff);
  font-size:13px;
}
.executive-ticker{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.executive-ticker span{
  min-width:76px;
  text-align:center;
  border:1px solid rgba(80,231,255,.28);
  background:rgba(80,231,255,.07);
  border-radius:14px;
  padding:9px 10px;
  color:#fff;
  font-weight:950;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.executive-ticker small{
  display:block;
  margin-top:3px;
  color:var(--muted,#97a6c4);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.executive-rules-box{
  border:1px solid rgba(255,176,32,.32);
  background:rgba(255,176,32,.08);
  border-radius:18px;
  padding:14px 16px;
  margin-bottom:16px;
  color:var(--text,#f5f8ff);
}
.executive-rules-box strong{
  color:#ffcf70;
}
.executive-rules-box p{
  margin:6px 0 0;
  color:var(--muted,#97a6c4);
  line-height:1.45;
}
.executive-own-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:12px;
}
.executive-own-head h3{
  margin:0;
}
.executive-own-head .note{
  margin-top:4px;
}
.executive-export-btn{
  border:1px solid rgba(80,231,255,.28);
  background:linear-gradient(135deg, rgba(139,61,255,.88), rgba(31,123,255,.82));
  color:#fff;
  border-radius:14px;
  padding:10px 13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(0,0,0,.22);
}
.executive-own-table-wrap{
  max-height:440px;
  overflow:auto;
}
.executive-own-table{
  width:100%;
  min-width:980px;
  border-collapse:separate;
  border-spacing:0;
  font-size:12.5px;
}
.executive-own-table th,
.executive-own-table td{
  padding:10px 9px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
  vertical-align:top;
}
.executive-own-table th{
  position:sticky;
  top:0;
  z-index:2;
  background:rgba(15,22,38,.96);
  color:var(--muted,#97a6c4);
  text-transform:uppercase;
  font-size:10.5px;
  letter-spacing:.06em;
}
.executive-own-table td{
  color:var(--text,#f5f8ff);
}
.executive-own-empty{
  padding:18px;
  border:1px dashed rgba(255,255,255,.18);
  border-radius:16px;
  color:var(--muted,#97a6c4);
}
body:not(.cuik-role-ejecutivo) #executiveOwnPanel{
  display:none !important;
}
@media(max-width:840px){
  .executive-ticker-card{
    grid-template-columns:1fr;
  }
  .executive-ticker{
    justify-content:flex-start;
  }
}
/* === FIN V90 CSS === */


/* === Bloque CSS original 31  === */

/* === V92: modales fullscreen, sin scroll de fondo, cierre estable === */
html.modal-open,
body.modal-open,
body.cuik-rbac-modal-open,
body.kpi-modal-open{
  overflow:hidden !important;
}

/* Modal RBAC / Configuración de usuarios */
.cuik-rbac-modal:not(.hidden){
  position:fixed !important;
  inset:0 !important;
  z-index:1000000 !important;
  display:block !important;
  padding:12px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.cuik-rbac-modal .cuik-rbac-backdrop{
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
  cursor:pointer !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-panel{
  position:relative !important;
  z-index:2 !important;
  width:calc(100vw - 24px) !important;
  height:calc(100dvh - 24px) !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  border-radius:22px !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  box-sizing:border-box !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-panel.small{
  width:min(620px, calc(100vw - 24px)) !important;
  height:auto !important;
  max-height:calc(100dvh - 24px) !important;
  margin:0 auto !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-head{
  flex:0 0 auto !important;
  position:sticky !important;
  top:0 !important;
  z-index:5 !important;
  background:inherit !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-view:not(.hidden){
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow:auto !important;
  max-height:none !important;
  padding-right:8px !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-tablewrap{
  max-height:none !important;
  overflow:auto !important;
}
.cuik-rbac-close{
  position:relative !important;
  z-index:10 !important;
  pointer-events:auto !important;
}

/* Modal KPI / gráficas */
#kpiModal.kpi-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  padding:12px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
#kpiModal.kpi-modal.is-open,
#kpiModal.kpi-modal.show,
#kpiModal.kpi-modal[aria-hidden="false"]{
  display:block !important;
}
#kpiModal .kpi-modal-card{
  width:calc(100vw - 24px) !important;
  height:calc(100dvh - 24px) !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  overflow:auto !important;
  border-radius:22px !important;
  box-sizing:border-box !important;
}
#kpiModalClose,
.kpi-modal-close{
  position:sticky !important;
  top:12px !important;
  z-index:20 !important;
  pointer-events:auto !important;
}
/* === FIN V92 CSS === */


/* === Bloque CSS original 32  === */

/* === V93: scroll real con mouse dentro de modales fullscreen === */
.cuik-rbac-modal:not(.hidden){
  pointer-events:auto !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-panel{
  pointer-events:auto !important;
  overscroll-behavior:contain !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-view:not(.hidden),
.cuik-rbac-modal:not(.hidden) .cuik-rbac-tablewrap,
#kpiModal .kpi-modal-card{
  overflow-y:auto !important;
  overflow-x:auto !important;
  overscroll-behavior:contain !important;
  scroll-behavior:auto !important;
  touch-action:pan-y !important;
  pointer-events:auto !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-view:not(.hidden){
  height:100% !important;
  min-height:0 !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-tablewrap{
  max-height:calc(100dvh - 260px) !important;
}
.cuik-rbac-modal:not(.hidden) #cuikAdminView{
  max-height:calc(100dvh - 145px) !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-panel::-webkit-scrollbar,
.cuik-rbac-modal:not(.hidden) .cuik-rbac-view::-webkit-scrollbar,
.cuik-rbac-modal:not(.hidden) .cuik-rbac-tablewrap::-webkit-scrollbar{
  width:12px !important;
  height:12px !important;
}
.cuik-rbac-modal:not(.hidden) .cuik-rbac-panel::-webkit-scrollbar-thumb,
.cuik-rbac-modal:not(.hidden) .cuik-rbac-view::-webkit-scrollbar-thumb,
.cuik-rbac-modal:not(.hidden) .cuik-rbac-tablewrap::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.42) !important;
  border-radius:999px !important;
}
/* === FIN V93 CSS === */


/* === Bloque CSS original 33  === */

/* === V94: KPI modal - dejar un solo botón de cierre === */
#kpiModal .kpi-modal-close-inline,
#kpiModal .kpi-modal-card .kpi-modal-close:not(#kpiModalClose){
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
#kpiModalClose{
  display:flex !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
/* === FIN V94 CSS === */


/* === Bloque CSS original 34  === */

/* === V95: KPI modal tamaño normal + botón cierre estilo Admin === */
#kpiModal.kpi-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  display:none;
  place-items:center !important;
  padding:24px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 18% 8%, rgba(124,77,255,.24), transparent 30%),
    radial-gradient(circle at 82% 18%, rgba(0,229,255,.14), transparent 28%),
    rgba(8,12,20,.86) !important;
  backdrop-filter:blur(18px) !important;
}
#kpiModal.kpi-modal[aria-hidden="false"],
#kpiModal.kpi-modal.is-open,
#kpiModal.kpi-modal.show,
#kpiModal.kpi-modal.open,
#kpiModal.kpi-modal.active{
  display:grid !important;
}
#kpiModal .kpi-modal-card{
  position:relative !important;
  width:min(1180px, 92vw) !important;
  height:auto !important;
  max-height:88vh !important;
  min-height:420px !important;
  max-width:1180px !important;
  margin:auto !important;
  overflow:auto !important;
  border:1px solid rgba(124,77,255,.32) !important;
  border-radius:28px !important;
  background:
    linear-gradient(145deg, rgba(17,24,39,.97), rgba(30,38,64,.84)),
    radial-gradient(circle at 100% 0%, rgba(0,229,255,.10), transparent 35%) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.58), 0 0 36px rgba(124,77,255,.16) !important;
  padding:24px !important;
  box-sizing:border-box !important;
}
#kpiModalClose{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  z-index:30 !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(124,77,255,.34) !important;
  border-radius:14px !important;
  background:rgba(124,77,255,.14) !important;
  color:#fff !important;
  font-size:24px !important;
  font-weight:900 !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 12px 30px rgba(0,0,0,.28) !important;
}
#kpiModalClose:hover{
  background:rgba(124,77,255,.26) !important;
  transform:translateY(-1px);
}
#kpiModal .kpi-modal-close-inline,
#kpiModal .kpi-modal-card .kpi-modal-close:not(#kpiModalClose){
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}
#kpiModal #kpiModalContent{
  padding-top:8px !important;
}
@media(max-width:860px){
  #kpiModal.kpi-modal{
    padding:14px !important;
  }
  #kpiModal .kpi-modal-card{
    width:calc(100vw - 28px) !important;
    max-height:calc(100dvh - 28px) !important;
    min-height:360px !important;
    border-radius:22px !important;
  }
}
/* === FIN V95 === */


/* === Bloque CSS original 35  === */

/* === V98: Ejecutivo - ranking mensual propio/general, incentivo y privacidad === */
body.cuik-role-ejecutivo .executive-summary,
body.cuik-role-ejecutivo #btnPrintSummary{
  display:none !important;
}
body.cuik-role-ejecutivo #ranking .v98-self-row{
  background:rgba(80,231,255,.10) !important;
  box-shadow:inset 4px 0 0 rgba(80,231,255,.85);
}
.v98-exec-incentive-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
  border:1px solid rgba(21,210,111,.32);
  background:
    radial-gradient(circle at 0% 0%, rgba(21,210,111,.16), transparent 38%),
    rgba(21,210,111,.065);
  border-radius:20px;
  padding:16px;
  margin:0 0 16px;
}
.v98-exec-incentive-card h3{
  margin:0 0 5px;
  color:var(--text,#f5f8ff);
  font-size:17px;
  font-weight:950;
}
.v98-exec-incentive-card p{
  margin:0;
  color:var(--muted,#97a6c4);
  font-size:13px;
}
.v98-exec-incentive-value{
  text-align:right;
  min-width:160px;
}
.v98-exec-incentive-value strong{
  display:block;
  font-size:28px;
  line-height:1;
  color:#4DF2A4;
}
.v98-exec-incentive-value small{
  display:block;
  margin-top:5px;
  color:var(--muted,#97a6c4);
  font-weight:800;
}
.v98-rank-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(80,231,255,.28);
  background:rgba(80,231,255,.08);
  color:#fff;
  border-radius:999px;
  padding:6px 9px;
  font-size:11px;
  font-weight:900;
}
@media(max-width:760px){
  .v98-exec-incentive-card{
    grid-template-columns:1fr;
  }
  .v98-exec-incentive-value{
    text-align:left;
  }
}
/* === FIN V98 CSS === */


/* === Bloque CSS original 36  === */

/* ============================================================
   CUIK SAFE ROLE PATCH V123
   Capa final aislada por rol
   ============================================================ */

/* Admin/Gerente: dashboard completo, filtros completos y navegación completa */
body.cuik-safe-admin #filtros,
body.cuik-safe-admin #fuente,
body.cuik-safe-admin #kpis,
body.cuik-safe-admin #ranking,
body.cuik-safe-admin #grupos,
body.cuik-safe-admin #crecimiento,
body.cuik-safe-admin #comercial,
body.cuik-safe-admin #financiero,
body.cuik-safe-admin #inteligencia,
body.cuik-safe-admin #insights,
body.cuik-safe-gerente #filtros,
body.cuik-safe-gerente #fuente,
body.cuik-safe-gerente #kpis,
body.cuik-safe-gerente #ranking,
body.cuik-safe-gerente #grupos,
body.cuik-safe-gerente #crecimiento,
body.cuik-safe-gerente #comercial,
body.cuik-safe-gerente #financiero,
body.cuik-safe-gerente #inteligencia,
body.cuik-safe-gerente #insights {
  display: block !important;
}

body.cuik-safe-admin .nav-pills a,
body.cuik-safe-gerente .nav-pills a {
  display: inline-flex !important;
}

body.cuik-safe-admin #filterGrid .filter-card,
body.cuik-safe-admin #filterGrid [data-filter-card],
body.cuik-safe-gerente #filterGrid .filter-card,
body.cuik-safe-gerente #filterGrid [data-filter-card] {
  display: block !important;
}

body.cuik-safe-admin label[for="fileInput"],
body.cuik-safe-admin #fileInput,
body.cuik-safe-admin #btnAuto,
body.cuik-safe-admin #btnRefresh,
body.cuik-safe-admin #btnApplyFilters,
body.cuik-safe-admin #btnClearFilters,
body.cuik-safe-gerente label[for="fileInput"],
body.cuik-safe-gerente #fileInput,
body.cuik-safe-gerente #btnAuto,
body.cuik-safe-gerente #btnRefresh,
body.cuik-safe-gerente #btnApplyFilters,
body.cuik-safe-gerente #btnClearFilters {
  display: inline-flex !important;
}

/* Supervisor */
body.cuik-safe-supervisor #filtros,
body.cuik-safe-supervisor #kpis,
body.cuik-safe-supervisor #ranking,
body.cuik-safe-supervisor #grupos,
body.cuik-safe-supervisor #crecimiento,
body.cuik-safe-supervisor #comercial {
  display: block !important;
}

body.cuik-safe-supervisor .nav-pills a[href="#filtros"],
body.cuik-safe-supervisor .nav-pills a[href="#kpis"],
body.cuik-safe-supervisor .nav-pills a[href="#ranking"],
body.cuik-safe-supervisor .nav-pills a[href="#grupos"],
body.cuik-safe-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-safe-supervisor .nav-pills a[href="#comercial"] {
  display: inline-flex !important;
}

body.cuik-safe-supervisor #fuente,
body.cuik-safe-supervisor #financiero,
body.cuik-safe-supervisor #inteligencia,
body.cuik-safe-supervisor #insights,
body.cuik-safe-supervisor .nav-pills a[href="#fuente"],
body.cuik-safe-supervisor .nav-pills a[href="#financiero"],
body.cuik-safe-supervisor .nav-pills a[href="#inteligencia"],
body.cuik-safe-supervisor .nav-pills a[href="#insights"] {
  display: none !important;
}

body.cuik-safe-supervisor label[for="fileInput"],
body.cuik-safe-supervisor #fileInput,
body.cuik-safe-supervisor #btnAuto {
  display: none !important;
}

/* Ejecutivo */
body.cuik-safe-ejecutivo #kpis,
body.cuik-safe-ejecutivo #ranking {
  display: block !important;
}

body.cuik-safe-ejecutivo .nav-pills a[href="#kpis"],
body.cuik-safe-ejecutivo .nav-pills a[href="#ranking"] {
  display: inline-flex !important;
}

body.cuik-safe-ejecutivo #filtros,
body.cuik-safe-ejecutivo #fuente,
body.cuik-safe-ejecutivo #grupos,
body.cuik-safe-ejecutivo #crecimiento,
body.cuik-safe-ejecutivo #comercial,
body.cuik-safe-ejecutivo #financiero,
body.cuik-safe-ejecutivo #inteligencia,
body.cuik-safe-ejecutivo #insights,
body.cuik-safe-ejecutivo .nav-pills a[href="#filtros"],
body.cuik-safe-ejecutivo .nav-pills a[href="#fuente"],
body.cuik-safe-ejecutivo .nav-pills a[href="#grupos"],
body.cuik-safe-ejecutivo .nav-pills a[href="#crecimiento"],
body.cuik-safe-ejecutivo .nav-pills a[href="#comercial"],
body.cuik-safe-ejecutivo .nav-pills a[href="#financiero"],
body.cuik-safe-ejecutivo .nav-pills a[href="#inteligencia"],
body.cuik-safe-ejecutivo .nav-pills a[href="#insights"],
body.cuik-safe-ejecutivo .executive-summary,
body.cuik-safe-ejecutivo #btnPrintSummary,
body.cuik-safe-ejecutivo label[for="fileInput"],
body.cuik-safe-ejecutivo #fileInput,
body.cuik-safe-ejecutivo #btnAuto {
  display: none !important;
}

body.cuik-safe-ejecutivo #v98ExecutiveIncentive,
body.cuik-safe-ejecutivo .v98-exec-incentive-card {
  display: none !important;
}

/* Modal configuración sin scroll de fondo */
.cuik-rbac-modal:not(.hidden) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000000 !important;
  padding: 12px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.cuik-rbac-modal:not(.hidden) .cuik-rbac-panel {
  width: calc(100vw - 24px) !important;
  height: calc(100dvh - 24px) !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.cuik-rbac-modal:not(.hidden) .cuik-rbac-view:not(.hidden) {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
  max-height: none !important;
}

body.cuik-rbac-modal-open,
html.cuik-rbac-modal-open {
  overflow: hidden !important;
}

/* Filtros Supervisor propios */
.cuik-v112-filter-empty {
  padding: 12px;
  border: 1px dashed rgba(255,255,255,.14);
  border-radius: 14px;
  color: var(--muted,#97a6c4);
  font-size: 12px;
}

#cuikSupervisorFilterDock {
  display: none;
}

body.cuik-safe-supervisor #cuikSupervisorFilterDock {
  display: block !important;
}

#cuikSupervisorFilterDock .section-title {
  margin-bottom: 12px;
}

#cuikSupervisorFilterDock .filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(170px, 1fr));
  gap: 12px;
}

@media (max-width: 1200px){
  #cuikSupervisorFilterDock .filter-grid {
    grid-template-columns: repeat(2, minmax(170px, 1fr));
  }
}

@media (max-width: 680px){
  #cuikSupervisorFilterDock .filter-grid {
    grid-template-columns: 1fr;
  }
}

body.cuik-safe-supervisor #cuikSupervisorFilterDock .filter-card {
  display: block !important;
}

.cuik-v119-supervisor-commercial-note {
  border: 1px solid rgba(80,231,255,.18);
  background: rgba(80,231,255,.06);
  border-radius: 14px;
  padding: 10px 12px;
  margin-bottom: 12px;
  color: var(--muted,#97a6c4);
  font-size: 12px;
  font-weight: 800;
}

.cuik-v112-filter-option {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 7px;
  width: 100%;
  padding: 8px 9px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.075);
  background: rgba(255,255,255,.045);
  color: #eee7ff;
  cursor: pointer;
  font-size: 11.5px;
  min-height: 34px;
}

.cuik-v112-filter-option.active {
  background: rgba(105,185,74,.20);
  border-color: rgba(77,242,164,.36);
}

.cuik-v112-filter-option span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cuik-v112-filter-option em {
  color: var(--muted,#97a6c4);
  font-style: normal;
  font-size: 10px;
  padding: 2px 5px;
  border-radius: 999px;
  background: rgba(0,0,0,.22);
}


body.cuik-safe-supervisor #cuikSupervisorFilterDock {
  margin-top: 18px !important;
  margin-bottom: 18px !important;
}

body.cuik-safe-supervisor #cuikSupervisorFilterDock .section-title h2::after {
  content: " · antes del análisis comercial";
  color: var(--muted,#97a6c4);
  font-size: 12px;
  font-weight: 800;
}

body.cuik-safe-supervisor .cuik-v120-supervisor-commercial-card {
  display: block !important;
  min-height: 360px !important;
}

body.cuik-safe-supervisor #cuikSupervisorDailyPlacement,
body.cuik-safe-supervisor #cuikSupervisorChartGiro,
body.cuik-safe-supervisor #cuikSupervisorChartStacked {
  display: block !important;
  height: 340px !important;
}

body.cuik-safe-supervisor #cuikSupervisorDailyPlacement {
  height: 380px !important;
}

/* Componentes Ejecutivo */
.cuik-v112-card {
  border: 1px solid rgba(80,231,255,.24);
  background: rgba(80,231,255,.07);
  border-radius: 18px;
  padding: 14px 16px;
  margin: 0 0 16px;
  color: var(--muted, #a7b1c2);
  font-size: 13px;
  font-weight: 800;
}

.cuik-v112-incentive {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: center;
  border: 1px solid rgba(21,210,111,.35);
  background:
    radial-gradient(circle at 0% 0%, rgba(21,210,111,.18), transparent 42%),
    rgba(21,210,111,.07);
  border-radius: 22px;
  padding: 18px;
  margin: 0 0 16px;
}

.cuik-v112-incentive h3 {
  margin: 0 0 6px;
  color: var(--text, #f5f8ff);
  font-size: 18px;
  font-weight: 950;
}

.cuik-v112-incentive p {
  margin: 0;
  color: var(--muted, #97a6c4);
}

.cuik-v112-incentive strong {
  display: block;
  color: #4DF2A4;
  font-size: 30px;
  line-height: 1;
  text-align: right;
}

.cuik-v112-incentive small {
  display: block;
  margin-top: 6px;
  text-align: right;
  color: var(--muted, #97a6c4);
  font-weight: 800;
}

.cuik-v112-countdown {
  border: 1px solid rgba(255,176,32,.35);
  background: rgba(255,176,32,.08);
  border-radius: 18px;
  padding: 14px 16px;
  margin: 0 0 16px;
  color: #fff;
  font-weight: 900;
}

.cuik-v112-self-row {
  background: rgba(80,231,255,.10) !important;
  box-shadow: inset 4px 0 0 rgba(80,231,255,.9);
}

.cuik-v112-table-wrap {
  overflow: auto;
  max-height: 520px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
}

.cuik-v112-export-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(124,77,255,.42);
  background: rgba(124,77,255,.18);
  color: #fff;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 900;
  cursor: pointer;
  margin-bottom: 12px;
}

/* === V122: Diseño nativo consistente por rol === */
body.cuik-safe-supervisor #cuikSupervisorFilterDock {
  display: none !important;
}

body.cuik-safe-supervisor .cuik-v120-supervisor-commercial-card,
body.cuik-safe-supervisor .v119-supervisor-commercial-card,
body.cuik-safe-supervisor .v120-daily-card {
  display: none !important;
}

body.cuik-safe-supervisor #filtros {
  display: block !important;
}

body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card] {
  display: block !important;
}


/* === V129: Supervisor ve todas las opciones de filtrado, data restringida por inteligencia === */
body.cuik-safe-supervisor #filtros,
body.cuik-role-supervisor #filtros {
  display:block !important;
}

body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid [data-filter-card]{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* === V135 Supervisor limpio: filtros y módulos visibles === */
body.cuik-safe-supervisor #filtros,
body.cuik-safe-supervisor #kpis,
body.cuik-safe-supervisor #ranking,
body.cuik-safe-supervisor #grupos,
body.cuik-safe-supervisor #crecimiento,
body.cuik-safe-supervisor #comercial,
body.cuik-role-supervisor #filtros,
body.cuik-role-supervisor #kpis,
body.cuik-role-supervisor #ranking,
body.cuik-role-supervisor #grupos,
body.cuik-role-supervisor #crecimiento,
body.cuik-role-supervisor #comercial {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.cuik-safe-supervisor .nav-pills a[href="#filtros"],
body.cuik-safe-supervisor .nav-pills a[href="#kpis"],
body.cuik-safe-supervisor .nav-pills a[href="#ranking"],
body.cuik-safe-supervisor .nav-pills a[href="#grupos"],
body.cuik-safe-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-safe-supervisor .nav-pills a[href="#comercial"],
body.cuik-role-supervisor .nav-pills a[href="#filtros"],
body.cuik-role-supervisor .nav-pills a[href="#kpis"],
body.cuik-role-supervisor .nav-pills a[href="#ranking"],
body.cuik-role-supervisor .nav-pills a[href="#grupos"],
body.cuik-role-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-role-supervisor .nav-pills a[href="#comercial"] {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid [data-filter-card] {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* === V136 Supervisor filtros visibles: corrige ocultamiento heredado V64/RBAC === */
body.cuik-safe-supervisor #filtros,
body.cuik-role-supervisor #filtros,
body.cuik-safe-supervisor #kpis,
body.cuik-role-supervisor #kpis,
body.cuik-safe-supervisor #ranking,
body.cuik-role-supervisor #ranking,
body.cuik-safe-supervisor #grupos,
body.cuik-role-supervisor #grupos,
body.cuik-safe-supervisor #crecimiento,
body.cuik-role-supervisor #crecimiento,
body.cuik-safe-supervisor #comercial,
body.cuik-role-supervisor #comercial {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.cuik-safe-supervisor .nav-pills a[href="#filtros"],
body.cuik-role-supervisor .nav-pills a[href="#filtros"],
body.cuik-safe-supervisor .nav-pills a[href="#kpis"],
body.cuik-role-supervisor .nav-pills a[href="#kpis"],
body.cuik-safe-supervisor .nav-pills a[href="#ranking"],
body.cuik-role-supervisor .nav-pills a[href="#ranking"],
body.cuik-safe-supervisor .nav-pills a[href="#grupos"],
body.cuik-role-supervisor .nav-pills a[href="#grupos"],
body.cuik-safe-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-role-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-safe-supervisor .nav-pills a[href="#comercial"],
body.cuik-role-supervisor .nav-pills a[href="#comercial"] {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid [data-filter-card] {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* === V137 Supervisor Final: estabilidad de filtros y gráficas comerciales en dark/light === */
body.cuik-safe-supervisor #filtros,
body.cuik-safe-supervisor #kpis,
body.cuik-safe-supervisor #ranking,
body.cuik-safe-supervisor #grupos,
body.cuik-safe-supervisor #crecimiento,
body.cuik-safe-supervisor #comercial,
body.cuik-role-supervisor #filtros,
body.cuik-role-supervisor #kpis,
body.cuik-role-supervisor #ranking,
body.cuik-role-supervisor #grupos,
body.cuik-role-supervisor #crecimiento,
body.cuik-role-supervisor #comercial {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.cuik-safe-supervisor .nav-pills a[href="#filtros"],
body.cuik-safe-supervisor .nav-pills a[href="#kpis"],
body.cuik-safe-supervisor .nav-pills a[href="#ranking"],
body.cuik-safe-supervisor .nav-pills a[href="#grupos"],
body.cuik-safe-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-safe-supervisor .nav-pills a[href="#comercial"],
body.cuik-role-supervisor .nav-pills a[href="#filtros"],
body.cuik-role-supervisor .nav-pills a[href="#kpis"],
body.cuik-role-supervisor .nav-pills a[href="#ranking"],
body.cuik-role-supervisor .nav-pills a[href="#grupos"],
body.cuik-role-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-role-supervisor .nav-pills a[href="#comercial"] {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid [data-filter-card] {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.cuik-safe-supervisor #comercial .card,
body.cuik-safe-supervisor #comercial .v49-chart-card,
body.cuik-safe-supervisor #chartGiroCommercial,
body.cuik-safe-supervisor #chartTopCommerces,
body.cuik-role-supervisor #comercial .card,
body.cuik-role-supervisor #comercial .v49-chart-card,
body.cuik-role-supervisor #chartGiroCommercial,
body.cuik-role-supervisor #chartTopCommerces {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* === V138 FIX GLOBAL: nunca dejar tarjetas o gráficas borrosas ===
   Motivo: los efectos reveal-premium/cuik-reveal podían quedarse en blur si el observer
   no marcaba visible una tarjeta luego de carga, cambio de tema o scroll. */
.reveal-premium,
.reveal-premium.reveal-visible,
.cuik-reveal,
.cuik-reveal.cuik-reveal-visible,
body.reveal-active .cuik-reveal,
body.reveal-active .cuik-reveal:not(.cuik-reveal-visible),
body.reveal-active .cuik-reveal.cuik-reveal-visible,
.card.reveal-premium,
.panel.reveal-premium,
.chart-card.reveal-premium,
.filter-card.reveal-premium,
.kpi-card.reveal-premium,
.source-card.reveal-premium,
.insight-card.reveal-premium,
.ranking-row.reveal-premium,
.ai-card.reveal-premium {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  visibility: visible !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
  will-change: auto !important;
}

body.reveal-active {
  /* Mantiene compatibilidad con clases antiguas, pero sin ocultar nada */
}

/* Supervisor: estabilizar filtros y tarjetas comerciales en ambos temas */
body.cuik-safe-supervisor #filtros,
body.cuik-safe-supervisor #kpis,
body.cuik-safe-supervisor #ranking,
body.cuik-safe-supervisor #grupos,
body.cuik-safe-supervisor #crecimiento,
body.cuik-safe-supervisor #comercial,
body.cuik-role-supervisor #filtros,
body.cuik-role-supervisor #kpis,
body.cuik-role-supervisor #ranking,
body.cuik-role-supervisor #grupos,
body.cuik-role-supervisor #crecimiento,
body.cuik-role-supervisor #comercial {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

body.cuik-safe-supervisor .nav-pills a[href="#filtros"],
body.cuik-safe-supervisor .nav-pills a[href="#kpis"],
body.cuik-safe-supervisor .nav-pills a[href="#ranking"],
body.cuik-safe-supervisor .nav-pills a[href="#grupos"],
body.cuik-safe-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-safe-supervisor .nav-pills a[href="#comercial"],
body.cuik-role-supervisor .nav-pills a[href="#filtros"],
body.cuik-role-supervisor .nav-pills a[href="#kpis"],
body.cuik-role-supervisor .nav-pills a[href="#ranking"],
body.cuik-role-supervisor .nav-pills a[href="#grupos"],
body.cuik-role-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-role-supervisor .nav-pills a[href="#comercial"] {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
}

body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid [data-filter-card] {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

body.cuik-safe-supervisor #comercial .card,
body.cuik-safe-supervisor #comercial .v49-chart-card,
body.cuik-safe-supervisor #comercial .chart-card,
body.cuik-safe-supervisor #chartGiroCommercial,
body.cuik-safe-supervisor #chartTopCommerces,
body.cuik-safe-supervisor #chartGiro,
body.cuik-safe-supervisor #chartGiroSegment,
body.cuik-role-supervisor #comercial .card,
body.cuik-role-supervisor #comercial .v49-chart-card,
body.cuik-role-supervisor #comercial .chart-card,
body.cuik-role-supervisor #chartGiroCommercial,
body.cuik-role-supervisor #chartTopCommerces,
body.cuik-role-supervisor #chartGiro,
body.cuik-role-supervisor #chartGiroSegment {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}


/* === V139 Supervisor: filtros siempre visibles y sin filtro inicial forzado === */
.reveal-premium,
.reveal-premium.reveal-visible,
.cuik-reveal,
.cuik-reveal.cuik-reveal-visible,
body.reveal-active .cuik-reveal,
body.reveal-active .cuik-reveal:not(.cuik-reveal-visible),
body.reveal-active .cuik-reveal.cuik-reveal-visible,
.card.reveal-premium,
.panel.reveal-premium,
.chart-card.reveal-premium,
.filter-card.reveal-premium,
.kpi-card.reveal-premium,
.source-card.reveal-premium,
.insight-card.reveal-premium,
.ranking-row.reveal-premium,
.ai-card.reveal-premium {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  visibility: visible !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
  will-change: auto !important;
}

body.cuik-safe-supervisor #filtros,
body.cuik-safe-supervisor #kpis,
body.cuik-safe-supervisor #ranking,
body.cuik-safe-supervisor #grupos,
body.cuik-safe-supervisor #crecimiento,
body.cuik-safe-supervisor #comercial,
body.cuik-role-supervisor #filtros,
body.cuik-role-supervisor #kpis,
body.cuik-role-supervisor #ranking,
body.cuik-role-supervisor #grupos,
body.cuik-role-supervisor #crecimiento,
body.cuik-role-supervisor #comercial {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

body.cuik-safe-supervisor .nav-pills a[href="#filtros"],
body.cuik-safe-supervisor .nav-pills a[href="#kpis"],
body.cuik-safe-supervisor .nav-pills a[href="#ranking"],
body.cuik-safe-supervisor .nav-pills a[href="#grupos"],
body.cuik-safe-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-safe-supervisor .nav-pills a[href="#comercial"],
body.cuik-role-supervisor .nav-pills a[href="#filtros"],
body.cuik-role-supervisor .nav-pills a[href="#kpis"],
body.cuik-role-supervisor .nav-pills a[href="#ranking"],
body.cuik-role-supervisor .nav-pills a[href="#grupos"],
body.cuik-role-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-role-supervisor .nav-pills a[href="#comercial"] {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
}

body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid [data-filter-card] {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

body.cuik-safe-supervisor #comercial .card,
body.cuik-safe-supervisor #comercial .v49-chart-card,
body.cuik-safe-supervisor #comercial .chart-card,
body.cuik-safe-supervisor #chartGiroCommercial,
body.cuik-safe-supervisor #chartTopCommerces,
body.cuik-safe-supervisor #chartGiro,
body.cuik-safe-supervisor #chartGiroSegment,
body.cuik-role-supervisor #comercial .card,
body.cuik-role-supervisor #comercial .v49-chart-card,
body.cuik-role-supervisor #comercial .chart-card,
body.cuik-role-supervisor #chartGiroCommercial,
body.cuik-role-supervisor #chartTopCommerces,
body.cuik-role-supervisor #chartGiro,
body.cuik-role-supervisor #chartGiroSegment {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}


/* === V140 Supervisor: filtros visibles desde login en modo oscuro y claro === */
.reveal-premium,
.reveal-premium.reveal-visible,
.cuik-reveal,
.cuik-reveal.cuik-reveal-visible,
body.reveal-active .cuik-reveal,
body.reveal-active .cuik-reveal:not(.cuik-reveal-visible),
body.reveal-active .cuik-reveal.cuik-reveal-visible,
.card.reveal-premium,
.panel.reveal-premium,
.chart-card.reveal-premium,
.filter-card.reveal-premium,
.kpi-card.reveal-premium,
.source-card.reveal-premium,
.insight-card.reveal-premium,
.ranking-row.reveal-premium,
.ai-card.reveal-premium {
  opacity:1 !important;
  transform:none !important;
  filter:none !important;
  visibility:visible !important;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
  will-change:auto !important;
}

body.cuik-safe-supervisor #filtros,
body.cuik-safe-supervisor #kpis,
body.cuik-safe-supervisor #ranking,
body.cuik-safe-supervisor #grupos,
body.cuik-safe-supervisor #crecimiento,
body.cuik-safe-supervisor #comercial,
body.cuik-role-supervisor #filtros,
body.cuik-role-supervisor #kpis,
body.cuik-role-supervisor #ranking,
body.cuik-role-supervisor #grupos,
body.cuik-role-supervisor #crecimiento,
body.cuik-role-supervisor #comercial {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

body.cuik-safe-supervisor .nav-pills a[href="#filtros"],
body.cuik-safe-supervisor .nav-pills a[href="#kpis"],
body.cuik-safe-supervisor .nav-pills a[href="#ranking"],
body.cuik-safe-supervisor .nav-pills a[href="#grupos"],
body.cuik-safe-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-safe-supervisor .nav-pills a[href="#comercial"],
body.cuik-role-supervisor .nav-pills a[href="#filtros"],
body.cuik-role-supervisor .nav-pills a[href="#kpis"],
body.cuik-role-supervisor .nav-pills a[href="#ranking"],
body.cuik-role-supervisor .nav-pills a[href="#grupos"],
body.cuik-role-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-role-supervisor .nav-pills a[href="#comercial"] {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
}

body.cuik-safe-supervisor #filterGrid,
body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid,
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid [data-filter-card] {
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}
body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid [data-filter-card] {
  display:block !important;
}

body.cuik-safe-supervisor #comercial .card,
body.cuik-safe-supervisor #comercial .v49-chart-card,
body.cuik-safe-supervisor #comercial .chart-card,
body.cuik-safe-supervisor #chartGiroCommercial,
body.cuik-safe-supervisor #chartTopCommerces,
body.cuik-safe-supervisor #chartGiro,
body.cuik-safe-supervisor #chartGiroSegment,
body.cuik-role-supervisor #comercial .card,
body.cuik-role-supervisor #comercial .v49-chart-card,
body.cuik-role-supervisor #comercial .chart-card,
body.cuik-role-supervisor #chartGiroCommercial,
body.cuik-role-supervisor #chartTopCommerces,
body.cuik-role-supervisor #chartGiro,
body.cuik-role-supervisor #chartGiroSegment {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}


/* === V141 Supervisor: estabilizar hosts de Evolución Anual e Incentivos Grupales === */
body.cuik-safe-supervisor #chartTrend,
body.cuik-safe-supervisor #chartGroups,
body.cuik-role-supervisor #chartTrend,
body.cuik-role-supervisor #chartGroups {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  min-height:360px !important;
}

body.cuik-safe-supervisor #chartTrend *,
body.cuik-safe-supervisor #chartGroups *,
body.cuik-role-supervisor #chartTrend *,
body.cuik-role-supervisor #chartGroups * {
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
}


/* === V142 Supervisor: hosts de gráficas completos y filtros estables === */
body.cuik-safe-supervisor #filtros,
body.cuik-safe-supervisor #kpis,
body.cuik-safe-supervisor #ranking,
body.cuik-safe-supervisor #grupos,
body.cuik-safe-supervisor #crecimiento,
body.cuik-safe-supervisor #comercial,
body.cuik-role-supervisor #filtros,
body.cuik-role-supervisor #kpis,
body.cuik-role-supervisor #ranking,
body.cuik-role-supervisor #grupos,
body.cuik-role-supervisor #crecimiento,
body.cuik-role-supervisor #comercial {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

body.cuik-safe-supervisor .nav-pills a[href="#filtros"],
body.cuik-safe-supervisor .nav-pills a[href="#kpis"],
body.cuik-safe-supervisor .nav-pills a[href="#ranking"],
body.cuik-safe-supervisor .nav-pills a[href="#grupos"],
body.cuik-safe-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-safe-supervisor .nav-pills a[href="#comercial"],
body.cuik-role-supervisor .nav-pills a[href="#filtros"],
body.cuik-role-supervisor .nav-pills a[href="#kpis"],
body.cuik-role-supervisor .nav-pills a[href="#ranking"],
body.cuik-role-supervisor .nav-pills a[href="#grupos"],
body.cuik-role-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-role-supervisor .nav-pills a[href="#comercial"] {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
}

body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid [data-filter-card] {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

body.cuik-safe-supervisor #chartHeatmap,
body.cuik-safe-supervisor #chartTrend,
body.cuik-safe-supervisor #chartDailyPlacement,
body.cuik-safe-supervisor #chartSegment,
body.cuik-safe-supervisor #chartChannel,
body.cuik-safe-supervisor #chartStatus,
body.cuik-safe-supervisor #chartYear,
body.cuik-safe-supervisor #chartRanking,
body.cuik-safe-supervisor #chartGroups,
body.cuik-safe-supervisor #chartQuarterGrowth,
body.cuik-role-supervisor #chartHeatmap,
body.cuik-role-supervisor #chartTrend,
body.cuik-role-supervisor #chartDailyPlacement,
body.cuik-role-supervisor #chartSegment,
body.cuik-role-supervisor #chartChannel,
body.cuik-role-supervisor #chartStatus,
body.cuik-role-supervisor #chartYear,
body.cuik-role-supervisor #chartRanking,
body.cuik-role-supervisor #chartGroups,
body.cuik-role-supervisor #chartQuarterGrowth {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  min-height:360px !important;
}


/* === V143 Supervisor definitivo: filtros y gráficas estables === */
body.cuik-safe-supervisor #filtros,
body.cuik-safe-supervisor #kpis,
body.cuik-safe-supervisor #ranking,
body.cuik-safe-supervisor #grupos,
body.cuik-safe-supervisor #crecimiento,
body.cuik-safe-supervisor #comercial,
body.cuik-role-supervisor #filtros,
body.cuik-role-supervisor #kpis,
body.cuik-role-supervisor #ranking,
body.cuik-role-supervisor #grupos,
body.cuik-role-supervisor #crecimiento,
body.cuik-role-supervisor #comercial{display:block!important;visibility:visible!important;opacity:1!important;filter:none!important;transform:none!important;}
body.cuik-safe-supervisor .nav-pills a[href="#filtros"],
body.cuik-safe-supervisor .nav-pills a[href="#kpis"],
body.cuik-safe-supervisor .nav-pills a[href="#ranking"],
body.cuik-safe-supervisor .nav-pills a[href="#grupos"],
body.cuik-safe-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-safe-supervisor .nav-pills a[href="#comercial"],
body.cuik-role-supervisor .nav-pills a[href="#filtros"],
body.cuik-role-supervisor .nav-pills a[href="#kpis"],
body.cuik-role-supervisor .nav-pills a[href="#ranking"],
body.cuik-role-supervisor .nav-pills a[href="#grupos"],
body.cuik-role-supervisor .nav-pills a[href="#crecimiento"],
body.cuik-role-supervisor .nav-pills a[href="#comercial"]{display:inline-flex!important;visibility:visible!important;opacity:1!important;filter:none!important;}
body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid [data-filter-card]{display:block!important;visibility:visible!important;opacity:1!important;filter:none!important;transform:none!important;}
body.cuik-safe-supervisor .reveal-premium,
body.cuik-safe-supervisor .cuik-reveal,
body.cuik-role-supervisor .reveal-premium,
body.cuik-role-supervisor .cuik-reveal{opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;}
body.cuik-safe-supervisor #chartTrend,
body.cuik-safe-supervisor #chartGroups,
body.cuik-safe-supervisor #chartRanking,
body.cuik-safe-supervisor #chartHeatmap,
body.cuik-safe-supervisor #chartDailyPlacement,
body.cuik-role-supervisor #chartTrend,
body.cuik-role-supervisor #chartGroups,
body.cuik-role-supervisor #chartRanking,
body.cuik-role-supervisor #chartHeatmap,
body.cuik-role-supervisor #chartDailyPlacement{display:block!important;visibility:visible!important;opacity:1!important;min-height:340px!important;filter:none!important;}


/* === V144: filtros persistentes + password reset obligatorio === */
body.cuik-auth-must-change main,
body.cuik-auth-must-change .dashboard-main,
body.cuik-auth-must-change .container,
body.cuik-auth-must-change section:not(#cuikForcePasswordModal section){
  pointer-events:none !important;
  user-select:none !important;
}
body.cuik-auth-must-change #cuikForcePasswordModal{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:999999 !important;
}
body.cuik-auth-must-change #cuikForcePasswordModal.hidden{
  display:flex !important;
}
#cuikForcePasswordModal .cuik-force-panel,
#cuikForcePasswordModal .cuik-rbac-panel{
  max-width:560px !important;
}
.filter-option input[data-filter-key]:checked + span,
.filter-option.active span{
  font-weight:900 !important;
}
.filter-option.active{
  border-color:rgba(139,61,255,.65) !important;
  background:rgba(139,61,255,.18) !important;
}


/* === V145: coherencia RBAC y password reset obligatorio === */
body.cuik-role-administrador #filtros,
body.cuik-role-administrador #fuente,
body.cuik-role-administrador #kpis,
body.cuik-role-administrador #ranking,
body.cuik-role-administrador #grupos,
body.cuik-role-administrador #crecimiento,
body.cuik-role-administrador #comercial,
body.cuik-role-administrador #financiero,
body.cuik-role-administrador #inteligencia,
body.cuik-role-administrador #insights,
body.cuik-role-gerente #filtros,
body.cuik-role-gerente #fuente,
body.cuik-role-gerente #kpis,
body.cuik-role-gerente #ranking,
body.cuik-role-gerente #grupos,
body.cuik-role-gerente #crecimiento,
body.cuik-role-gerente #comercial,
body.cuik-role-gerente #financiero,
body.cuik-role-gerente #inteligencia,
body.cuik-role-gerente #insights {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.cuik-role-administrador .nav-pills a,
body.cuik-role-gerente .nav-pills a {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.cuik-auth-must-change #cuikForcePasswordModal {
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  z-index:999999 !important;
}

body.cuik-auth-must-change #fuente,
body.cuik-auth-must-change #filtros,
body.cuik-auth-must-change #kpis,
body.cuik-auth-must-change #ranking,
body.cuik-auth-must-change #grupos,
body.cuik-auth-must-change #crecimiento,
body.cuik-auth-must-change #comercial,
body.cuik-auth-must-change #financiero,
body.cuik-auth-must-change #inteligencia,
body.cuik-auth-must-change #insights {
  pointer-events:none !important;
  filter:blur(3px) !important;
}


/* === V146: bloqueo obligatorio para cambio de contraseña temporal === */
body.cuik-force-password-active {
  overflow: hidden !important;
}

body.cuik-force-password-active .app-shell,
body.cuik-force-password-active main,
body.cuik-force-password-active header.topbar,
body.cuik-force-password-active .container {
  pointer-events: none !important;
  user-select: none !important;
}

#cuikForcePasswordModal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
  place-items: center !important;
}

body.cuik-force-password-active #cuikForcePasswordModal:not(.hidden) {
  display: grid !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.cuik-force-password-active #cuikForcePasswordModal .cuik-rbac-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(3, 6, 18, .82) !important;
  backdrop-filter: blur(10px) !important;
}

body.cuik-force-password-active #cuikForcePasswordModal .cuik-rbac-panel {
  position: relative !important;
  z-index: 1 !important;
  width: min(520px, calc(100vw - 32px)) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.55) !important;
  border: 1px solid rgba(139, 92, 246, .55) !important;
}


/* === V147: contraseña temporal fácil de copiar === */
.cuik-temp-pass-modal.hidden {
  display: none !important;
}

.cuik-temp-pass-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000000 !important;
  display: grid !important;
  place-items: center !important;
}

.cuik-temp-pass-backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(3, 6, 18, .78) !important;
  backdrop-filter: blur(10px) !important;
}

.cuik-temp-pass-card {
  position: relative !important;
  z-index: 1 !important;
  width: min(560px, calc(100vw - 32px)) !important;
  border: 1px solid rgba(139, 92, 246, .55) !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(124, 92, 255, .20), transparent 38%),
    rgba(16, 23, 41, .98) !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.55) !important;
  color: #fff !important;
  padding: 22px !important;
}

.cuik-temp-pass-head {
  display: flex !important;
  justify-content: space-between !important;
  gap: 16px !important;
  align-items: flex-start !important;
  margin-bottom: 18px !important;
}

.cuik-temp-pass-head h2 {
  margin: 0 0 6px !important;
  font-size: 22px !important;
}

.cuik-temp-pass-head p {
  margin: 0 !important;
  color: #b8c4dd !important;
  line-height: 1.45 !important;
}

.cuik-temp-pass-close {
  width: 36px !important;
  height: 36px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  font-size: 22px !important;
  cursor: pointer !important;
}

.cuik-temp-pass-body label {
  display: block !important;
  font-weight: 900 !important;
  margin-bottom: 8px !important;
}

.cuik-temp-pass-input {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 16px 18px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(80, 231, 255, .48) !important;
  background: rgba(7, 14, 30, .95) !important;
  color: #ffffff !important;
  font-size: 24px !important;
  font-weight: 1000 !important;
  letter-spacing: 1.2px !important;
  outline: none !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  cursor: text !important;
}

.cuik-temp-pass-input::selection {
  background: rgba(80, 231, 255, .40) !important;
  color: #ffffff !important;
}

.cuik-temp-pass-body small {
  display: block !important;
  margin-top: 8px !important;
  color: #9fb0cc !important;
}

.cuik-temp-pass-actions {
  display: flex !important;
  gap: 12px !important;
  margin-top: 18px !important;
  flex-wrap: wrap !important;
}

.cuik-temp-pass-msg {
  margin-top: 12px !important;
  color: #15d26f !important;
  font-weight: 800 !important;
}

.cuik-temp-pass-msg.warn {
  color: #ffd166 !important;
}


/* === V148: estabilidad RBAC y filtros sin alterar diseño === */
body.cuik-role-administrador #filtros,
body.cuik-role-gerente #filtros,
body.cuik-role-supervisor #filtros,
body.cuik-safe-supervisor #filtros {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

body.cuik-role-administrador .nav-pills a[href="#filtros"],
body.cuik-role-gerente .nav-pills a[href="#filtros"],
body.cuik-role-supervisor .nav-pills a[href="#filtros"],
body.cuik-safe-supervisor .nav-pills a[href="#filtros"] {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

body.cuik-role-administrador #filterGrid .filter-card,
body.cuik-role-gerente #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid .filter-card,
body.cuik-role-administrador #filterGrid [data-filter-card],
body.cuik-role-gerente #filterGrid [data-filter-card],
body.cuik-role-supervisor #filterGrid [data-filter-card],
body.cuik-safe-supervisor #filterGrid [data-filter-card] {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}

.reveal-premium,
.cuik-reveal,
.reveal-premium.reveal-visible,
.cuik-reveal.cuik-reveal-visible {
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
  visibility:visible !important;
}


/* === V150: estado de sincronización LAN para login móvil === */
#cuikLoginForm button[disabled],
#cuikLoginForm input[disabled] {
  opacity: .72 !important;
  cursor: wait !important;
}


/* === V151: login LAN móvil sin mensaje rojo permanente === */
#cuikAuthError:empty {
  display: none !important;
}

#cuikLoginForm button[disabled] {
  opacity: .72 !important;
  cursor: wait !important;
}


/* === V152: estado validación servidor auth === */
#cuikLoginForm button[disabled] { opacity:.72 !important; cursor:wait !important; }
#cuikAuthError:empty { display:none !important; }


/* === V156: recuperación de filtros visibles sin tocar diseño === */
body.cuik-role-administrador #filtros,
body.cuik-role-gerente #filtros,
body.cuik-role-supervisor #filtros,
body.cuik-safe-supervisor #filtros {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.cuik-role-administrador #filterGrid .filter-card,
body.cuik-role-gerente #filterGrid .filter-card,
body.cuik-role-supervisor #filterGrid .filter-card,
body.cuik-safe-supervisor #filterGrid .filter-card {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* === V158: estabilidad visual de panel ejecutivo sin alterar diseño base === */
#executiveOwnPanel {
  margin-top: 18px;
}

#executiveOwnTableWrap {
  max-height: 420px;
  overflow: auto;
}


/* === V159: estabilidad de campo Equipo/Grupo en usuarios === */
#rbacNewTeam {
  min-width: 100%;
}

#executiveOwnTableWrap {
  max-height: 420px;
  overflow: auto;
}


/* === V160: semáforo ejecutivo; estilos de login consolidados en core-shell.css === */
.executive-incentive-meter {
  margin-bottom: 14px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.14);
  font-weight: 900;
}

.executive-incentive-meter span {
  display: block;
  margin-top: 4px;
  font-weight: 700;
  opacity: .88;
}

.executive-incentive-meter.incentive-red,
.insight.incentive-red {
  border-color: rgba(255,67,67,.45) !important;
  box-shadow: 0 0 0 1px rgba(255,67,67,.14) inset !important;
}

.executive-incentive-meter.incentive-yellow,
.insight.incentive-yellow {
  border-color: rgba(255,176,32,.55) !important;
  box-shadow: 0 0 0 1px rgba(255,176,32,.16) inset !important;
}

.executive-incentive-meter.incentive-green,
.insight.incentive-green {
  border-color: rgba(21,210,111,.55) !important;
  box-shadow: 0 0 0 1px rgba(21,210,111,.16) inset !important;
}


/* === V161: semáforo ejecutivo y filtros por alcance === */
.executive-incentive-meter.incentive-red,
.insight.incentive-red {
  border-color: rgba(255,67,67,.50) !important;
  box-shadow: 0 0 0 1px rgba(255,67,67,.16) inset !important;
}

.executive-incentive-meter.incentive-yellow,
.insight.incentive-yellow {
  border-color: rgba(255,176,32,.58) !important;
  box-shadow: 0 0 0 1px rgba(255,176,32,.18) inset !important;
}

.executive-incentive-meter.incentive-green,
.insight.incentive-green {
  border-color: rgba(21,210,111,.58) !important;
  box-shadow: 0 0 0 1px rgba(21,210,111,.18) inset !important;
}


/* === V163: estabilidad de gráficas Supervisor === */
#chartRanking,
#chartGroups,
#chartQuarterGrowth,
#chartQuarterGrowthInner {
  min-height: 360px;
}

.executive-incentive-meter.incentive-red,
.insight.incentive-red {
  border-color: rgba(255,67,67,.50) !important;
  box-shadow: 0 0 0 1px rgba(255,67,67,.16) inset !important;
}

.executive-incentive-meter.incentive-yellow,
.insight.incentive-yellow {
  border-color: rgba(255,176,32,.58) !important;
  box-shadow: 0 0 0 1px rgba(255,176,32,.18) inset !important;
}

.executive-incentive-meter.incentive-green,
.insight.incentive-green {
  border-color: rgba(21,210,111,.58) !important;
  box-shadow: 0 0 0 1px rgba(21,210,111,.18) inset !important;
}


/* === V164: incentivo estimado supervisor === */
#rankingTable td small {
  opacity: .82;
}


/* === V166: Responsivo smartphone sin alterar estructura visual === */
*, *::before, *::after {
  box-sizing: border-box;
}

html {
  width: 100%;
  max-width: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

img, svg, canvas, video, iframe {
  max-width: 100%;
}

.card, .section, .kpi, .filter-card, .executive-summary, .hero-grid, .dashboard-grid, .chart-grid, .source-grid, .kpi-grid, .filter-grid {
  min-width: 0;
}

.chart, [id^="chart"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.table-wrap, .cuik-rbac-tablewrap, .executive-own-table-wrap, .quarter-table-wrap, .data-table-wrap, .table-scroll, .ranking-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table {
  max-width: 100%;
}

@media (max-width: 900px) {
  .app {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: max(12px, env(safe-area-inset-left)) !important;
    padding-right: max(12px, env(safe-area-inset-right)) !important;
  }

  .topbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-radius: 0 0 18px 18px !important;
  }

  .brand {
    flex: 1 1 210px !important;
    min-width: 0 !important;
  }

  .brand strong,
  .brand small {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .brand-mark {
    flex: 0 0 auto !important;
  }

  .topbar-actions-v29 {
    flex: 0 0 auto !important;
    margin-left: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .nav-pills {
    order: 10 !important;
    width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    gap: 8px !important;
    padding: 4px 0 2px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thin;
  }

  .nav-pills a {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    padding: 8px 12px !important;
  }

  .header,
  .section {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .hero-grid,
  .dashboard-grid,
  .chart-grid,
  .source-grid,
  .meta-grid,
  .filter-grid,
  .kpi-grid,
  #ranking .dashboard-grid {
    grid-template-columns: 1fr !important;
  }

  .hero-grid {
    gap: 14px !important;
  }

  h1 {
    font-size: clamp(28px, 8vw, 42px) !important;
    line-height: 1.08 !important;
  }

  h2 {
    font-size: clamp(21px, 6vw, 28px) !important;
    line-height: 1.15 !important;
  }

  .subtitle,
  .summary-text,
  .section-title p,
  .note {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  .hero-actions,
  .tools {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .btn,
  button.btn,
  label.btn,
  .input-control,
  select.input-control,
  input.input-control {
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
    font-size: 15px !important;
  }

  .section-title {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    align-items: start !important;
  }

  .filter-toolbar {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .filter-chip-panel,
  #activeFilterChips {
    width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    gap: 8px !important;
    padding-bottom: 4px !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .filter-chip {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .filter-card {
    padding: 12px !important;
  }

  .filter-card-head {
    gap: 8px !important;
    align-items: flex-start !important;
  }

  .filter-card-title small {
    display: block !important;
    margin-top: 2px !important;
  }

  .filter-mini-actions {
    flex: 0 0 auto !important;
  }

  .filter-mini-actions button {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 !important;
  }

  .filter-search {
    min-height: 42px !important;
    font-size: 15px !important;
  }

  .filter-options {
    max-height: 260px !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding-right: 2px !important;
  }

  .filter-option {
    min-height: 42px !important;
    gap: 8px !important;
    align-items: center !important;
  }

  .kpi-grid {
    max-width: none !important;
    margin: 0 !important;
    gap: 12px !important;
  }

  .kpi {
    min-height: 148px !important;
    padding: 16px !important;
  }

  .kpi-value {
    font-size: clamp(25px, 8vw, 34px) !important;
    word-break: break-word !important;
  }

  .chart {
    min-height: 280px !important;
    height: 300px !important;
    padding: 2px !important;
  }

  #chartRanking,
  #chartTrend,
  #chartGroups,
  #chartQuarterGrowth,
  #chartQuarterGrowthInner {
    min-height: 330px !important;
    height: 360px !important;
  }

  .card:has(#chartRanking),
  .card:has(#chartGroups),
  .card:has(#chartTrend) {
    min-height: auto !important;
  }

  .card {
    padding: 14px !important;
    border-radius: 16px !important;
  }

  .executive-summary,
  .meta-item,
  .stat-tile,
  .insight {
    border-radius: 14px !important;
  }

  .meta-grid {
    gap: 10px !important;
  }

  .meta-item,
  .stat-tile {
    padding: 12px !important;
  }

  .insight {
    grid-template-columns: auto 1fr !important;
    padding: 12px !important;
  }

  table {
    min-width: 720px;
  }

  .executive-own-table,
  .cuik-rbac-tablewrap table {
    min-width: 760px;
  }

  .cuik-rbac-modal,
  #cuikRbacModal,
  #cuikForcePasswordModal {
    padding: 10px !important;
  }

  .cuik-rbac-box,
  .cuik-login-card {
    width: min(100%, 520px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .cuik-rbac-form {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .app {
    padding-left: max(10px, env(safe-area-inset-left)) !important;
    padding-right: max(10px, env(safe-area-inset-right)) !important;
  }

  .topbar {
    padding: 9px 10px !important;
    gap: 8px !important;
  }

  .brand {
    flex-basis: 170px !important;
  }

  .brand-mark {
    transform: scale(.92) !important;
    transform-origin: left center !important;
  }

  .brand small {
    display: none !important;
  }

  .theme-icon-toggle {
    width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }

  .nav-pills a {
    min-height: 36px !important;
    font-size: 12px !important;
    padding: 7px 10px !important;
  }

  .header,
  .section {
    padding: 14px 0 !important;
  }

  .hero-actions,
  .tools {
    gap: 8px !important;
  }

  .btn,
  button.btn,
  label.btn,
  .input-control {
    min-height: 42px !important;
    font-size: 14px !important;
  }

  .card,
  .filter-card,
  .kpi,
  .executive-summary {
    padding: 12px !important;
  }

  .filter-options {
    max-height: 230px !important;
  }

  .kpi {
    min-height: 136px !important;
  }

  .spark {
    max-height: 42px !important;
    overflow: hidden !important;
  }

  .chart {
    height: 280px !important;
    min-height: 260px !important;
  }

  #chartRanking,
  #chartTrend,
  #chartGroups,
  #chartQuarterGrowth,
  #chartQuarterGrowthInner {
    height: 320px !important;
    min-height: 300px !important;
  }

  .summary-title,
  .kpi-head,
  .executive-own-head {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .badge {
    width: fit-content !important;
    max-width: 100% !important;
  }

  table {
    font-size: 12px !important;
  }

  thead th,
  tbody td {
    padding: 8px 10px !important;
  }
}

@media (max-width: 380px) {
  .app {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .brand strong {
    font-size: 13px !important;
  }

  h1 {
    font-size: 26px !important;
  }

  .chart,
  #chartRanking,
  #chartTrend,
  #chartGroups,
  #chartQuarterGrowth,
  #chartQuarterGrowthInner {
    height: 290px !important;
    min-height: 280px !important;
  }
}

@media (orientation: landscape) and (max-height: 540px) {
  .cuik-login-card,
  .cuik-rbac-box {
    max-height: calc(100dvh - 12px) !important;
  }

  .chart,
  #chartRanking,
  #chartTrend,
  #chartGroups,
  #chartQuarterGrowth,
  #chartQuarterGrowthInner {
    height: 300px !important;
    min-height: 280px !important;
  }
}
/* === FIN V166 === */




/* === V168: Estado de personal para incentivos grupales === */
.cuik-staff-select {
  min-width: 240px;
  max-width: 100%;
}

@media (max-width: 720px) {
  .cuik-staff-select {
    min-width: 210px;
  }
}


/* === V169: selector de trimestre en crecimiento trimestral === */
.quarter-filter-note-v169 {
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.quarter-select-wrap-v169 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 12px;
  color: var(--muted);
}

.quarter-select-v169 {
  min-width: 150px;
  height: 36px;
  padding: 0 12px;
}

@media (max-width: 720px) {
  .quarter-filter-note-v169 {
    align-items: stretch;
  }

  .quarter-select-wrap-v169 {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }

  .quarter-select-v169 {
    width: 100%;
  }
}


/* === V170: acceso trimestral Admin/Gerente/Supervisor === */
.quarter-filter-note-v170 {
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.quarter-select-wrap-v170 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 720px) {
  .quarter-select-wrap-v170 {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }
}


/* === V172: badge de gobierno comercial === */
#commercialGovernanceBadgeV172 {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
}


/* === V173: Análisis Comercial total y filtrable === */
#commercialGovernanceBadgeV173 {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
}


/* === V174: Comercial finalizadas e incentivos === */
#commercialGovernanceBadgeV174 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}
.kpi-modal-chart {
  min-height: 360px;
}


/* === V175: Heatmap por segmentos y trimestre finalizado === */
.quarter-filter-note-v175 {
  align-items: center;
  gap: 12px;
}
#commercialGovernanceBadgeV175 {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
}


/* === V176: Corrección comercial y trimestral === */
#commercialGovernanceBadgeV176 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}


/* === V177: gráfico trimestral restaurado === */
.quarter-chart-host-v177,
#chartQuarterGrowthInner.quarter-chart-host-v177 {
  height: 430px !important;
  min-height: 430px !important;
  width: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.quarter-mini-svg-v177 {
  width: 170px;
  height: 42px;
  display: block;
}

.quarter-mini-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 185px;
}


/* === V178: gráficos comerciales finales === */
#commercialGovernanceBadgeV178 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}


/* === V179: estabilidad visual comercial === */
#commercialGovernanceBadgeV178,
#commercialGovernanceBadgeV179 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}


/* === V180: estabilidad sin auto-refresh === */
#commercialGovernanceBadgeV180 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}


/* === V181: Crecimiento trimestral estable === */
.quarter-chart-host-v181,
#chartQuarterGrowthInner.quarter-chart-host-v181 {
  height: 430px !important;
  min-height: 430px !important;
  width: 100% !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.quarter-mini-svg-v181 {
  width: 170px;
  height: 42px;
  display: block;
}

.quarter-mini-inline {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:185px;
}


/* === V182: núcleo estable sin stack overflow === */
#commercialGovernanceBadgeV182 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}

.quarter-chart-host-v182,
#chartQuarterGrowthInner.quarter-chart-host-v182 {
  height:430px !important;
  min-height:430px !important;
  width:100% !important;
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

.quarter-filter-note-v182 {
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.quarter-mini-svg-v182 {
  width:170px;
  height:42px;
  display:block;
}

.quarter-mini-inline {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:185px;
}


/* === V183: puente comercial estable === */
#commercialGovernanceBadgeV182,
#commercialGovernanceBadgeV183 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}


/* === V184: limpieza estable === */
#commercialGovernanceBadgeV182,
#commercialGovernanceBadgeV183,
#commercialGovernanceBadgeV184 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}


/* === V185: año actual sin filtros === */
#commercialGovernanceBadgeV182,
#commercialGovernanceBadgeV183,
#commercialGovernanceBadgeV184,
#commercialGovernanceBadgeV185 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}


/* === V186: análisis comercial limpio funcional === */
#commercialGovernanceBadgeV182,
#commercialGovernanceBadgeV183,
#commercialGovernanceBadgeV184,
#commercialGovernanceBadgeV185,
#commercialGovernanceBadgeV186 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}


/* === V187: Análisis Comercial restaurado === */
#commercialGovernanceBadgeV187 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}

.v187-commercial-card .chart {
  min-height:390px;
}


/* === V188: arte premium estable === */
#commercialGovernanceBadgeV188 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}

.v188-commercial-card .chart,
#chartQuarterGrowthInner.quarter-chart-host-v188 {
  min-height:390px;
}

#chartQuarterGrowthInner.quarter-chart-host-v188 {
  height:430px !important;
  min-height:430px !important;
  width:100% !important;
  display:block !important;
}

.quarter-filter-note-v188 {
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.quarter-mini-svg-v188 {
  width:170px;
  height:42px;
  display:block;
}

.quarter-mini-inline {
  display:flex;
  align-items:center;
  gap:8px;
  min-width:185px;
}


/* === V189: filtro de equipo trimestral === */
.quarter-filter-note-v189 {
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.quarter-team-select-wrap-v189 {
  min-width:230px;
}

.quarter-team-select-v189 {
  min-width:230px;
}

#chartQuarterGrowthInner.quarter-chart-host-v189 {
  height:430px !important;
  min-height:430px !important;
  width:100% !important;
  display:block !important;
}

.quarter-mini-svg-v189 {
  width:170px;
  height:42px;
  display:block;
}


/* === V190: evolución mensual filtrada === */
#chartTrend {
  min-height: 430px;
}


/* === V191: evolución mensual exacta por filtros === */
#monthlyGovernanceBadgeV191 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}
#chartTrend {
  min-height:430px;
}


/* === V192: evolución mensual YTD comparativa === */
#monthlyGovernanceBadgeV192 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}
#chartTrend {
  min-height:430px;
}


/* === V193: Opción A evolución mensual === */
#monthlyGovernanceBadgeV193 {
  display:inline-flex;
  width:fit-content;
  max-width:100%;
}
#chartTrend {
  min-height:430px;
}


/* === V194: KPIs incentivos oficiales Cuik === */
.v194-incentive-rules {
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(168, 91, 255, .35);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(111,66,193,.16), rgba(8,13,24,.42));
  color: var(--text);
  box-shadow: 0 0 22px rgba(168,91,255,.12);
}

.v194-incentive-table-wrap {
  margin-top: 14px;
  max-height: 260px;
  overflow: auto;
}

.v194-incentive-table-wrap table {
  width: 100%;
}


/* === V197: KPI brecha a incentivo === */
.kpi .kpi-title {
  letter-spacing:.03em;
}


/* === V199: Supervisor Visibility Engine === */
.supervisor-scope-banner-v199 {
  margin: 14px 0 18px;
  padding: 12px 16px;
  border-radius: 16px;
  border: 1px solid rgba(139, 61, 255, .35);
  background: linear-gradient(135deg, rgba(139,61,255,.13), rgba(13,18,32,.72));
  color: var(--text);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: center;
  box-shadow: 0 14px 32px rgba(0,0,0,.18);
}

.supervisor-scope-banner-v199 strong {
  text-transform: uppercase;
  letter-spacing: .05em;
}

.supervisor-scope-banner-v199.ok {
  border-color: rgba(21,210,111,.35);
}

.supervisor-scope-banner-v199.risk {
  border-color: rgba(255,77,125,.45);
  background: linear-gradient(135deg, rgba(255,77,125,.13), rgba(13,18,32,.72));
}

.supervisor-groups-box-v199,
.v199-supervisor-panel {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid rgba(139,61,255,.28);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
}

.supervisor-groups-title-v199,
.v199-supervisor-panel h3 {
  margin: 0 0 6px;
  font-weight: 900;
  color: var(--text);
}

.supervisor-groups-box-v199 p,
.v199-supervisor-panel p {
  margin: 0 0 10px;
  font-size: 12px;
  color: var(--muted);
}

.supervisor-groups-grid-v199,
.v199-supervisor-checks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.supervisor-groups-grid-v199 label,
.v199-supervisor-checks label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
  color: var(--text);
  font-size: 12px;
}

.v199-supervisor-row {
  display: grid;
  grid-template-columns: minmax(190px, 260px) 1fr;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}

.v199-supervisor-row small {
  display:block;
  margin-top:4px;
  color: var(--muted);
}

@media (max-width: 760px) {
  .v199-supervisor-row {
    grid-template-columns: 1fr;
  }
}


/* === V200: Core limpio roles performance ===
   Diagnóstico interno oculto en producción: la lógica sigue activa
   (detección de rol, badge en memoria), solo se oculta el texto de debug. */
.cuik-core-clean-badge-v200 {
  display: none !important;
}


/* === V201: rescate gráficas y KPIs roles (texto de debug oculto) === */
.cuik-chart-rescue-badge-v201 {
  display: none !important;
}

#kpis,
#kpiGrid {
  visibility: visible;
}

.chart,
.chart-host,
#chartRanking,
#chartTrend,
#chartDistribution,
#chartHeatmap,
#chartQuarterGrowth,
#chartQuarterGrowthInner,
#chartFinancial,
#chartGroups {
  min-width: 0;
}


/* === V202: diagnóstico real rol/updateDashboard (texto de debug oculto) === */
.cuik-v202-role-status {
  display: none !important;
}

body.cuik-role-ejecutivo #kpis,
body.cuik-role-supervisor #kpis,
body.cuik-role-gerente #kpis,
body.cuik-role-admin #kpis,
body.cuik-role-administrador #kpis {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}


/* ===== Cuik Core Unificado v1: autenticación y administración ===== */
.core-form-message { min-height:18px; color:#ffcc4d; font-size:12px; }
.core-session-pill, .core-topbar-button {
  border:1px solid rgba(139,61,255,.28); background:rgba(139,61,255,.08);
  color:var(--text); border-radius:999px; padding:9px 13px; font-size:12px; font-weight:800;
}
.core-topbar-button { cursor:pointer; }
.core-topbar-button.danger { border-color:rgba(255,93,125,.35); }
.core-modal { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:24px; }
.core-modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.72); }
.core-modal-panel {
  position:relative; z-index:1; width:min(1100px,96vw); max-height:88vh; overflow:auto;
  background:var(--surface,#151b2a); color:var(--text); border:1px solid rgba(139,61,255,.42);
  border-radius:22px; padding:24px; box-shadow:0 30px 90px rgba(0,0,0,.48);
}
.core-modal-close { position:absolute; right:16px; top:14px; border:0; background:transparent; color:var(--text); font-size:28px; cursor:pointer; }
.core-user-form { display:grid; grid-template-columns:repeat(4,minmax(140px,1fr)); gap:10px; margin:18px 0; }
.core-user-form .btn, .core-user-form .core-form-message, .core-group-picker { grid-column:1/-1; }
.core-group-picker { display:flex; gap:8px; flex-wrap:wrap; padding:12px; border-radius:14px; background:rgba(255,255,255,.035); }
.core-group-picker strong { width:100%; }
.core-group-picker label, .core-inline-check { display:inline-flex; align-items:center; gap:5px; font-size:12px; margin:3px 7px 3px 0; }
.core-delete-user { border:1px solid rgba(255,93,125,.35); background:rgba(255,93,125,.08); color:var(--text); border-radius:9px; padding:7px 10px; }
.core-user-summary { display:grid; gap:8px; padding:16px; border-radius:14px; background:rgba(255,255,255,.035); }
@media (max-width:760px) { .core-user-form { grid-template-columns:1fr; } }


/* ===== Ajustes funcionales del Core Unificado v1 ===== */
.filter-card {
  min-height: 300px;
}
.filter-card-title {
  display:flex;
  flex-direction:column;
  gap:3px;
}
.filter-card-title small {
  display:block;
  color:var(--muted);
  font-size:11px;
  font-weight:600;
}
.filter-option {
  grid-template-columns: 20px minmax(0,1fr) auto;
}
.filter-option em {
  color:var(--muted);
  font-style:normal;
  font-size:11px;
  font-weight:800;
}
.filter-option.active {
  border-color:rgba(139,61,255,.55);
  background:rgba(139,61,255,.12);
}
.quarter-tool-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,1fr));
  gap:14px;
  margin:12px 0 14px;
}
.quarter-tool-grid label {
  display:grid;
  gap:7px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
}
.quarter-chart-host {
  width:100%;
  height:430px;
  min-height:430px;
}
.quarter-filter-note {
  display:grid;
  gap:8px;
  margin-bottom:12px;
  padding:12px 14px;
  border:1px solid rgba(139,61,255,.28);
  border-radius:14px;
  background:rgba(255,255,255,.025);
  color:var(--muted);
}
.quarter-filter-note strong { color:var(--text); }
.quarter-mini-inline {
  width:150px;
  height:38px;
}
.quarter-mini-inline svg { width:100%; height:100%; }
.growth-badge {
  display:inline-flex;
  margin-top:4px;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
}
.growth-badge.up { color:#24d26a; background:rgba(36,210,106,.12); }
.growth-badge.down { color:#ff5d7d; background:rgba(255,93,125,.12); }
.growth-badge.flat { color:#ffcc4d; background:rgba(255,204,77,.12); }

#btnBackTop.back-top-btn {
  position:fixed !important;
  right:24px !important;
  bottom:24px !important;
  z-index:9999 !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  border-radius:50%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(14px);
  transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
}
#btnBackTop.back-top-btn.show,
#btnBackTop.back-top-btn.v45-show {
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}

@media (max-width:760px) {
  .quarter-tool-grid { grid-template-columns:1fr; }
  .filter-card { min-height:auto; }
  #btnBackTop.back-top-btn { right:14px !important; bottom:14px !important; }
}


/* ===== Configuración completa e Inteligencia avanzada restaurada ===== */
.core-config-panel {
  width: min(1280px, 97vw);
}
.core-config-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-right:42px;
}
.core-config-heading h2 {
  margin:6px 0 4px;
}
.core-config-heading p {
  margin:0;
  color:var(--muted);
}
.core-config-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:20px 0 16px;
  padding:8px;
  border:1px solid rgba(139,61,255,.22);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
.core-config-tabs button {
  border:1px solid transparent;
  border-radius:12px;
  padding:10px 14px;
  background:transparent;
  color:var(--muted);
  font-weight:800;
  cursor:pointer;
}
.core-config-tabs button:hover,
.core-config-tabs button.active {
  color:var(--text);
  border-color:rgba(139,61,255,.42);
  background:linear-gradient(135deg,rgba(139,61,255,.18),rgba(51,153,255,.08));
}
.core-config-tab {
  display:none;
  animation:coreConfigIn .18s ease;
}
.core-config-tab.active {
  display:block;
}
@keyframes coreConfigIn {
  from { opacity:0; transform:translateY(5px); }
  to { opacity:1; transform:translateY(0); }
}
.core-config-section-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.core-config-section-head h3 {
  margin:0 0 4px;
}
.core-config-section-head p {
  margin:0;
  color:var(--muted);
  font-size:12px;
}
.core-config-section-head .tools {
  display:flex;
  gap:8px;
}
.core-role-pill,
.core-log-result,
.ai-priority {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:5px 9px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.core-role-pill {
  color:#cbb8ff;
  border:1px solid rgba(139,61,255,.32);
  background:rgba(139,61,255,.10);
}
.core-log-result.ok {
  color:#24d26a;
  background:rgba(36,210,106,.10);
}
.core-log-result.risk {
  color:#ff5d7d;
  background:rgba(255,93,125,.10);
}
.core-reset-password {
  border:1px solid rgba(255,204,77,.30);
  background:rgba(255,204,77,.08);
  color:var(--text);
  border-radius:9px;
  padding:7px 9px;
  margin-right:5px;
  cursor:pointer;
}
.core-staff-search {
  width:min(440px,100%);
  margin-bottom:12px;
}
.core-staff-table select,
.core-staff-table input {
  min-width:145px;
}
.core-executive-link {
  grid-column:1/-1;
}
.core-users-table small,
.core-log-table small {
  color:var(--muted);
}
.ai-score-card {
  position:relative;
  overflow:hidden;
  min-height:150px;
  border:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 90% 10%,rgba(139,61,255,.16),transparent 42%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
}
.ai-score-card::after {
  content:"";
  position:absolute;
  inset:auto -20% -55% 35%;
  height:130px;
  border-radius:50%;
  background:rgba(139,61,255,.09);
  filter:blur(8px);
  pointer-events:none;
}
.ai-score-card.ai-score-ok { border-color:rgba(36,210,106,.24); }
.ai-score-card.ai-score-warn { border-color:rgba(255,204,77,.28); }
.ai-score-card.ai-score-risk { border-color:rgba(255,93,125,.30); }
.ai-score-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.ai-score-head i {
  font-style:normal;
  font-size:24px;
}
.ai-score-card strong {
  display:block;
  margin:16px 0 7px;
  font-size:32px;
  letter-spacing:-.04em;
}
.ai-score-meter {
  height:5px;
  margin-top:13px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}
.ai-score-meter span {
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#8b3dff,#3399ff,#24d26a);
}
.ai-priority.p1 {
  color:#ff5d7d;
  background:rgba(255,93,125,.12);
}
.ai-priority.p2 {
  color:#ffcc4d;
  background:rgba(255,204,77,.12);
}
.ai-priority.p3 {
  color:#24d26a;
  background:rgba(36,210,106,.12);
}
.ai-opportunity-table td {
  vertical-align:top;
}
@media (max-width:760px) {
  .core-config-heading,
  .core-config-section-head {
    display:grid;
  }
  .core-config-tabs {
    display:grid;
    grid-template-columns:1fr 1fr;
  }
}


/* ===== Giro comercial, tema adaptativo y modales KPI premium ===== */
.business-type-card { min-height:430px; }
#chartGiroCommercial,
#chartGiroSegments { height:360px; min-height:340px; }

#kpiModal.kpi-modal {
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
  display:none;
  place-items:center !important;
  padding:24px !important;
  background:
    radial-gradient(circle at 18% 8%,rgba(124,77,255,.24),transparent 30%),
    radial-gradient(circle at 82% 18%,rgba(0,229,255,.14),transparent 28%),
    rgba(8,12,20,.88) !important;
  backdrop-filter:blur(18px);
}
#kpiModal.kpi-modal.show,
#kpiModal.kpi-modal[aria-hidden="false"] { display:grid !important; }
#kpiModal .kpi-modal-card {
  position:relative !important;
  width:min(1180px,92vw) !important;
  max-width:1180px !important;
  max-height:88vh !important;
  overflow:auto !important;
  border:1px solid rgba(124,77,255,.36) !important;
  border-radius:28px !important;
  padding:28px 28px 24px !important;
  background:
    linear-gradient(145deg,rgba(17,24,39,.98),rgba(30,38,64,.90)),
    radial-gradient(circle at 100% 0%,rgba(0,229,255,.10),transparent 35%) !important;
  box-shadow:0 30px 90px rgba(0,0,0,.60),0 0 38px rgba(124,77,255,.18) !important;
}
#kpiModalClose {
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  z-index:20 !important;
  width:42px !important;
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid rgba(124,77,255,.36) !important;
  border-radius:14px !important;
  background:rgba(124,77,255,.16) !important;
  color:#fff !important;
  font-size:24px !important;
  font-weight:900 !important;
  cursor:pointer !important;
}
#kpiModal .kpi-modal-title {
  color:#aeb9cc;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
#kpiModal .kpi-modal-value {
  margin:12px 0 6px;
  color:#fff;
  font-size:clamp(44px,6vw,82px);
  line-height:.98;
  font-weight:950;
  letter-spacing:-.055em;
}
#kpiModal .kpi-modal-sub { color:#c3cada; font-size:16px; }
#kpiModal .kpi-modal-chart {
  height:360px !important;
  min-height:360px !important;
  margin-top:18px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:18px;
  background:rgba(255,255,255,.035);
  overflow:hidden;
}

html[data-theme="light"] #kpiModal.kpi-modal,
body.theme-light #kpiModal.kpi-modal {
  background:
    radial-gradient(circle at 18% 8%,rgba(124,77,255,.16),transparent 30%),
    radial-gradient(circle at 82% 18%,rgba(0,180,210,.10),transparent 28%),
    rgba(230,235,245,.78) !important;
}
html[data-theme="light"] #kpiModal .kpi-modal-card,
body.theme-light #kpiModal .kpi-modal-card {
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(244,247,253,.97)) !important;
  border-color:rgba(124,77,255,.25) !important;
  box-shadow:0 30px 80px rgba(28,39,64,.22),0 0 30px rgba(124,77,255,.09) !important;
}
html[data-theme="light"] #kpiModal .kpi-modal-title,
body.theme-light #kpiModal .kpi-modal-title { color:#58657a; }
html[data-theme="light"] #kpiModal .kpi-modal-value,
body.theme-light #kpiModal .kpi-modal-value { color:#111827; }
html[data-theme="light"] #kpiModal .kpi-modal-sub,
body.theme-light #kpiModal .kpi-modal-sub { color:#4b5870; }
html[data-theme="light"] #kpiModal .kpi-modal-chart,
body.theme-light #kpiModal .kpi-modal-chart {
  background:#fff;
  border-color:rgba(15,23,42,.10);
}

@media(max-width:760px) {
  #kpiModal.kpi-modal { padding:12px !important; }
  #kpiModal .kpi-modal-card {
    width:calc(100vw - 24px) !important;
    max-height:calc(100dvh - 24px) !important;
    border-radius:22px !important;
    padding:22px 16px 18px !important;
  }
  #kpiModal .kpi-modal-chart { height:310px !important; min-height:310px !important; }
  #chartGiroCommercial,
  #chartGiroSegments { height:320px; min-height:300px; }
}


/* ===== FILTROS SIEMPRE VISIBLES EN CORE UNIFICADO ===== */
body #filtros,
body.cuik-role-admin #filtros,
body.cuik-role-administrador #filtros,
body.cuik-role-gerente #filtros,
body.cuik-role-supervisor #filtros,
body.cuik-role-ejecutivo #filtros,
body.cuik-safe-admin #filtros,
body.cuik-safe-gerente #filtros,
body.cuik-safe-supervisor #filtros,
body.cuik-safe-ejecutivo #filtros {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}
body .nav-pills a[href="#filtros"],
body.cuik-role-admin .nav-pills a[href="#filtros"],
body.cuik-role-administrador .nav-pills a[href="#filtros"],
body.cuik-role-gerente .nav-pills a[href="#filtros"],
body.cuik-role-supervisor .nav-pills a[href="#filtros"],
body.cuik-role-ejecutivo .nav-pills a[href="#filtros"] {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
body #filterGrid {
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr)) !important;
  gap:14px !important;
  min-height:220px !important;
}
body #filterGrid .filter-card,
body #filterGrid [data-filter-card] {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  filter:none !important;
  transform:none !important;
}


/* ===== Orden manual de filtros ===== */
#filterGrid .filter-card {
  cursor:grab;
  user-select:none;
  transition:transform .16s ease, opacity .16s ease, box-shadow .16s ease;
}
#filterGrid .filter-card:active {
  cursor:grabbing;
}
#filterGrid .filter-card.dragging {
  opacity:.55;
  transform:scale(.985);
  box-shadow:0 18px 45px rgba(0,0,0,.28);
}
#filterGrid .filter-card .filter-options,
#filterGrid .filter-card input,
#filterGrid .filter-card button,
#filterGrid .filter-card label {
  cursor:default;
}


/* ===== Correcciones: filtros, giro, usuarios, personal y financiero ===== */
.business-type-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  margin-top: 16px;
}
.business-type-grid .business-type-card {
  min-width: 0;
  height: 100%;
}
.filter-option.disabled-option {
  opacity: .56;
}
.core-user-actions {
  min-width: 210px;
}
.core-user-actions button {
  margin: 3px;
}
.core-delete-user:disabled {
  opacity: .42;
  cursor: not-allowed;
}
.core-staff-table tr.staff-active {
  background: rgba(36,210,106,.045);
  box-shadow: inset 4px 0 0 rgba(36,210,106,.8);
}
.core-staff-table tr.staff-suspended {
  background: rgba(255,93,125,.06);
  box-shadow: inset 4px 0 0 rgba(255,93,125,.9);
}
.core-staff-table tr.staff-no-participa {
  background: rgba(148,163,184,.07);
  box-shadow: inset 4px 0 0 rgba(148,163,184,.9);
}
.core-staff-table tr.staff-trial {
  background: rgba(255,204,77,.07);
  box-shadow: inset 4px 0 0 rgba(255,204,77,.9);
}
.staff-status-badge {
  display: inline-flex;
  align-items: center;
  margin: 3px 5px 3px 0;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
}
.staff-status-badge.staff-active {
  color: #24d26a;
  background: rgba(36,210,106,.12);
  border: 1px solid rgba(36,210,106,.24);
}
.staff-status-badge.staff-suspended {
  color: #ff5d7d;
  background: rgba(255,93,125,.12);
  border: 1px solid rgba(255,93,125,.26);
}
.staff-status-badge.staff-no-participa {
  color: var(--muted);
  background: rgba(148,163,184,.12);
  border: 1px solid rgba(148,163,184,.24);
}
.staff-status-badge.staff-trial {
  color: #ffcc4d;
  background: rgba(255,204,77,.12);
  border: 1px solid rgba(255,204,77,.26);
}
.group-status-list {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  margin-top: 7px;
}
.group-eligibility {
  display: inline-flex;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}
.group-eligibility.eligible {
  color: #24d26a;
  background: rgba(36,210,106,.11);
}
.group-eligibility.not-eligible {
  color: #ff5d7d;
  background: rgba(255,93,125,.11);
}
#chartFinancialTrend,
#chartTicker {
  min-height: 330px;
}
@media (max-width: 900px) {
  .business-type-grid {
    grid-template-columns: 1fr;
  }
}


/* ===== Fecha creada, clave temporal y evolución mensual comparativa ===== */
.core-password-modal {
  position: fixed;
  inset: 0;
  z-index: 1000000;
  display: grid;
  place-items: center;
  padding: 20px;
}
.core-password-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7,11,20,.78);
  backdrop-filter: blur(12px);
}
.core-password-card {
  position: relative;
  z-index: 1;
  width: min(500px, 94vw);
  padding: 28px;
  border: 1px solid rgba(139,61,255,.42);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%,rgba(51,153,255,.13),transparent 35%),
    linear-gradient(145deg,rgba(18,24,40,.99),rgba(29,36,57,.98));
  color: #fff;
  box-shadow: 0 32px 90px rgba(0,0,0,.58);
}
.core-password-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(139,61,255,.34);
  border-radius: 13px;
  background: rgba(139,61,255,.14);
  color: #fff;
  font-size: 24px;
  font-weight: 900;
  cursor: pointer;
}
.core-password-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin-bottom: 12px;
  border-radius: 18px;
  background: linear-gradient(135deg,rgba(139,61,255,.26),rgba(51,153,255,.18));
  font-size: 27px;
}
.core-password-card h3 {
  margin: 6px 0 8px;
  font-size: 28px;
}
.core-password-card p {
  margin: 0 0 18px;
  color: #c3cada;
}
.core-password-field {
  display: grid;
  gap: 7px;
}
.core-password-field span {
  color: #aeb9cc;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.core-password-field input {
  width: 100%;
  box-sizing: border-box;
  padding: 15px 16px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: .04em;
}
.core-password-copy-status {
  min-height: 19px;
  margin: 10px 0 16px;
  color: #9fb0c8;
  font-size: 12px;
}
.core-password-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
html[data-theme="light"] .core-password-card,
body.theme-light .core-password-card {
  background: linear-gradient(145deg,#fff,#f4f7fd);
  color: #172033;
  border-color: rgba(139,61,255,.24);
}
html[data-theme="light"] .core-password-card p,
body.theme-light .core-password-card p,
html[data-theme="light"] .core-password-copy-status,
body.theme-light .core-password-copy-status {
  color: #526078;
}
html[data-theme="light"] .core-password-field input,
body.theme-light .core-password-field input {
  background: #fff;
  border-color: rgba(15,23,42,.13);
  color: #172033;
}
.monthly-comparison-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 4px 0 12px;
  padding: 10px 14px;
  border: 1px solid rgba(139,61,255,.26);
  border-radius: 14px;
  background: linear-gradient(135deg,rgba(139,61,255,.10),rgba(51,153,255,.05));
  color: var(--muted);
  font-size: 12px;
}
.monthly-comparison-note strong {
  color: var(--text);
}
@media (max-width: 680px) {
  .core-password-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .monthly-comparison-note {
    display: grid;
  }
}


/* ===== Mes actual, coaching, estrella e impresión ejecutiva clara ===== */
.coaching-note {
  display: block;
  max-width: 380px;
  margin-top: 5px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
}
.ranking-semaphore {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.ranking-star-gif {
  width: 28px;
  height: 28px;
  object-fit: contain;
  vertical-align: middle;
  filter: drop-shadow(0 0 6px rgba(255,204,77,.55));
}

/* Recibo claro */



.receipt-premium-page {
  width: 7.85in;
  min-height: 10.3in;
  margin: 0 auto;
  padding: .18in;
  background: #fff;
  color: #111827;
  font-family: Inter, Arial, sans-serif;
}
.receipt-premium-header {
  display: grid;
  grid-template-columns: 1fr 2.2fr;
  gap: 14px;
  align-items: stretch;
  margin-bottom: 12px;
}
.receipt-premium-header > div:first-child {
  padding: 14px;
  border: 1px solid #ddd6fe;
  border-radius: 18px;
  background: linear-gradient(135deg,#faf7ff,#f7fbff);
}
.receipt-kicker {
  display: block;
  color: #6d28d9;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.receipt-premium-header h1 {
  margin: 6px 0 5px;
  color: #111827 !important;
  font-size: 22px;
  line-height: 1;
  letter-spacing: -.04em;
}
.receipt-premium-header p {
  margin: 0;
  color: #526078;
  font-size: 9px;
}
.receipt-total-box {
  padding: 14px 16px;
  border-radius: 18px;
  background: linear-gradient(135deg,#2b1748,#432179 58%,#2358a4);
  color: #fff;
}
.receipt-total-box span {
  display: block;
  color: #d8d6e5;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}
.receipt-total-box strong {
  display: block;
  margin: 5px 0;
  color: #fff !important;
  font-size: 35px;
  line-height: 1;
  letter-spacing: -.05em;
}
.receipt-total-box small {
  color: #f4f1ff;
  font-size: 9px;
}
.receipt-summary-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 8px;
  margin-bottom: 12px;
}
.receipt-summary-grid > div {
  padding: 9px 10px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}
.receipt-summary-grid span {
  display: block;
  color: #64748b;
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}
.receipt-summary-grid strong {
  display: block;
  margin-top: 3px;
  color: #111827 !important;
  font-size: 16px;
}
.receipt-premium-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: #111827;
  font-size: 7.1px;
}
.receipt-premium-table th {
  padding: 6px 5px;
  border: 1px solid #312e81;
  background: #312e81 !important;
  color: #fff !important;
  text-align: left;
  font-size: 6.5px;
}
.receipt-premium-table td {
  padding: 5px;
  border: 1px solid #dfe3ea;
  background: #fff !important;
  color: #111827 !important;
  vertical-align: top;
}
.receipt-premium-table tbody tr:nth-child(even) td {
  background: #f8fafc !important;
}
.receipt-premium-table tfoot td {
  background: #eef2ff !important;
  color: #111827 !important;
  font-weight: 900;
}
.receipt-notes-signature {
  display: grid;
  grid-template-columns: 1.6fr .8fr;
  gap: 14px;
  margin-top: 14px;
}
.receipt-notes,
.receipt-signature {
  min-height: 1.15in;
  padding: 12px;
  border: 1px solid #dfe3ea;
  border-radius: 14px;
  background: #fff;
}
.receipt-notes h3 {
  margin: 0 0 8px;
  color: #111827;
  font-size: 10px;
}
.receipt-note-line {
  height: 20px;
  border-bottom: 1px solid #cbd5e1;
}
.receipt-signature {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  text-align: center;
}
.receipt-sign-line {
  margin-bottom: 6px;
  border-top: 1px solid #111827;
}
.receipt-signature strong {
  color: #111827;
  font-size: 10px;
}
.receipt-signature span {
  color: #64748b;
  font-size: 8px;
}
.receipt-premium-footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
  padding-top: 7px;
  border-top: 1px solid #dfe3ea;
  color: #64748b;
  font-size: 7.5px;
}

/* Resumen horizontal claro */


.print-dashboard-page {
  width: 10.45in;
  height: 7.55in;
  margin: 0 auto;
  padding: .14in;
  overflow: hidden;
  background: #fff;
  color: #111827;
  font-family: Inter, Arial, sans-serif;
}
.print-dashboard-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid #ddd6fe;
  border-radius: 15px;
  background: linear-gradient(135deg,#f7f3ff,#f4f9ff);
}
.print-dashboard-header span {
  color: #6d28d9;
  font-size: 7px;
  font-weight: 900;
  text-transform: uppercase;
}
.print-dashboard-header h1 {
  margin: 3px 0;
  color: #111827 !important;
  font-size: 18px;
  line-height: 1;
}
.print-dashboard-header p {
  margin: 0;
  color: #526078;
  font-size: 7px;
}
.print-dashboard-user {
  min-width: 150px;
  padding: 8px 10px;
  border-radius: 12px;
  background: #312e81;
  color: #fff;
  text-align: right;
  font-size: 8px;
  font-weight: 900;
}
.print-dashboard-user small {
  display: block;
  color: #dbeafe;
  font-size: 7px;
}
.print-dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(6,1fr);
  gap: 6px;
  margin: 7px 0;
}
.print-dashboard-kpis > div {
  padding: 7px;
  border: 1px solid #e5e7eb;
  border-radius: 11px;
  background: #fff;
}
.print-dashboard-kpis span {
  display: block;
  color: #64748b;
  font-size: 6px;
  font-weight: 900;
  text-transform: uppercase;
}
.print-dashboard-kpis strong {
  display: block;
  margin: 2px 0;
  color: #111827 !important;
  font-size: 13px;
}
.print-dashboard-kpis small {
  color: #64748b;
  font-size: 5.8px;
}
.print-dashboard-main-grid {
  display: grid;
  grid-template-columns: 1.55fr .85fr .85fr;
  gap: 7px;
  height: 3.05in;
}
.print-dashboard-chart-card {
  min-width: 0;
  padding: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.print-dashboard-chart-card h2,
.print-dashboard-bottom-grid h2 {
  margin: 0 0 5px;
  color: #111827 !important;
  font-size: 8px;
  text-transform: uppercase;
}
.print-inline-chart {
  width: 100%;
  height: 2.45in;
}
.print-bars {
  display: grid;
  gap: 6px;
}
.print-bar-row {
  display: grid;
  grid-template-columns: 18px 78px 1fr 24px;
  gap: 4px;
  align-items: center;
  font-size: 6.2px;
}
.print-bar-rank {
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ede9fe;
  color: #5b21b6;
  font-weight: 900;
}
.print-bar-name {
  overflow: hidden;
  color: #334155;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.print-bar-track {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #e2e8f0;
}
.print-bar-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#6d28d9,#3b82f6);
}
.print-bar-row strong {
  color: #111827;
  font-size: 6.5px;
}
.print-dashboard-bottom-grid {
  display: grid;
  grid-template-columns: 1.25fr 1.35fr .8fr;
  gap: 7px;
  margin-top: 7px;
}
.print-dashboard-bottom-grid > div {
  height: 1.22in;
  padding: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #f8fafc;
  overflow: hidden;
}
.print-dashboard-bottom-grid p,
.print-dashboard-bottom-grid li {
  margin: 0;
  color: #334155;
  font-size: 6.6px;
  line-height: 1.28;
}
.print-dashboard-bottom-grid ol {
  margin: 0;
  padding-left: 14px;
}
.print-dashboard-bottom-grid strong {
  color: #312e81 !important;
  font-size: 16px;
}
.print-dashboard-footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 6px;
  padding-top: 5px;
  border-top: 1px solid #e5e7eb;
  color: #64748b;
  font-size: 5.8px;
}


/* ===== Ajustes finales de impresión y permisos por rol ===== */
body.cuik-role-ejecutivo #filtros,
body.cuik-role-ejecutivo .nav-pills a[href="#filtros"] {
  display: none !important;
}
body.cuik-role-supervisor #btnReceiptIncentives,
body.cuik-role-supervisor #btnPrintSummary,
body.cuik-role-ejecutivo #btnReceiptIncentives,
body.cuik-role-ejecutivo #btnPrintSummary {
  display: none !important;
}

/* Recibo tamaño carta, margen físico 0 */

.receipt-premium-page {
  width: 8.5in;
  min-height: 11in;
  margin: 0 auto;
  padding: .14in;
}
.receipt-premium-header {
  grid-template-columns: 1.65fr .85fr;
  align-items: start;
  gap: 9px;
  margin-bottom: 8px;
}
.receipt-premium-header > div:first-child {
  padding: 10px 12px;
  border-radius: 14px;
}
.receipt-premium-header h1 {
  font-size: 20px;
}
.receipt-total-box {
  align-self: start;
  padding: 9px 11px;
  border-radius: 14px;
}
.receipt-total-box strong {
  margin: 3px 0;
  font-size: 27px;
}
.receipt-total-box small {
  display: block;
  line-height: 1.22;
  font-size: 7.5px;
}
.receipt-summary-grid {
  gap: 6px;
  margin-bottom: 8px;
}
.receipt-summary-grid > div {
  padding: 7px 8px;
}
.receipt-premium-table {
  table-layout: auto;
  width: 100%;
  font-size: 7px;
}
.receipt-premium-table th,
.receipt-premium-table td {
  width: auto !important;
  padding: 4px 4px;
}
.receipt-premium-table th:nth-child(1),
.receipt-premium-table td:nth-child(1),
.receipt-premium-table th:nth-child(3),
.receipt-premium-table td:nth-child(3),
.receipt-premium-table th:nth-child(5),
.receipt-premium-table td:nth-child(5),
.receipt-premium-table th:nth-child(7),
.receipt-premium-table td:nth-child(7),
.receipt-premium-table th:nth-child(8),
.receipt-premium-table td:nth-child(8) {
  white-space: nowrap;
}
.receipt-premium-table th:nth-child(2),
.receipt-premium-table td:nth-child(2) {
  min-width: .9in;
  white-space: nowrap;
}
.receipt-notes-signature {
  margin-top: 9px;
}
.receipt-notes,
.receipt-signature {
  min-height: .95in;
}

/* Presentación horizontal carta, margen físico 0 */

.print-dashboard-page {
  width: 11in;
  height: 8.5in;
  margin: 0 auto;
  padding: .10in;
}
.print-dashboard-header {
  padding: 7px 10px;
}
.print-dashboard-header h1 {
  font-size: 16px;
}
.print-dashboard-kpis {
  gap: 4px;
  margin: 5px 0;
}
.print-dashboard-kpis > div {
  padding: 5px 6px;
}
.print-dashboard-kpis strong {
  font-size: 11px;
}
.print-dashboard-layout {
  display: grid;
  grid-template-columns: .86fr 1.34fr;
  gap: 6px;
  height: 6.65in;
}
.print-dashboard-left {
  display: grid;
  grid-template-rows: 3.8in 1fr;
  gap: 6px;
  min-width: 0;
}
.print-dashboard-chart-card {
  padding: 6px;
}
.print-inline-chart {
  height: 3.25in;
}
.print-dashboard-insight-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.print-dashboard-insight-grid > div,
.print-dashboard-executives {
  padding: 6px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  background: #f8fafc;
  overflow: hidden;
}
.print-dashboard-insight-grid h2,
.print-dashboard-executives h2 {
  margin: 0 0 4px;
  color: #111827 !important;
  font-size: 7px;
  text-transform: uppercase;
}
.print-dashboard-insight-grid p,
.print-dashboard-insight-grid li {
  margin: 0;
  color: #334155;
  font-size: 6px;
  line-height: 1.24;
}
.print-dashboard-insight-grid ol {
  margin: 0;
  padding-left: 12px;
}
.print-executive-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.print-all-executives-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  font-size: 6.1px;
  color: #111827;
}
.print-all-executives-table th {
  padding: 3px 2px;
  border: 1px solid #4338ca;
  background: #4338ca !important;
  color: #fff !important;
  text-align: left;
  white-space: nowrap;
}
.print-all-executives-table td {
  padding: 2.7px 2px;
  border: 1px solid #dbe1ea;
  background: #fff !important;
  color: #111827 !important;
  white-space: nowrap;
}
.print-all-executives-table tbody tr:nth-child(even) td {
  background: #f8fafc !important;
}
.print-all-executives-table td:nth-child(2) {
  font-weight: 800;
}
.print-dashboard-footer {
  margin-top: 4px;
  padding-top: 3px;
}


/* ===== Ajustes de recibo, personal, clave y presentación ===== */

/* Los títulos sobre fondos oscuros siempre deben ser blancos. */
body.receipt-incentive-template .receipt-total-box,
body.receipt-incentive-template .receipt-total-box span,
body.receipt-incentive-template .receipt-total-box strong,
body.receipt-incentive-template .receipt-total-box small,
.receipt-total-box,
.receipt-total-box span,
.receipt-total-box strong,
.receipt-total-box small {
  color: #ffffff !important;
}
body.receipt-incentive-template .receipt-premium-table thead th,
.receipt-premium-table thead th {
  background: #312e81 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Proporción exacta para que la columna Total nunca quede fuera. */
.receipt-premium-table {
  width: 100% !important;
  table-layout: fixed !important;
  font-size: 6.55px !important;
}
.receipt-premium-table col.receipt-col-index { width: 3.5%; }
.receipt-premium-table col.receipt-col-executive { width: 13.5%; }
.receipt-premium-table col.receipt-col-count { width: 7.5%; }
.receipt-premium-table col.receipt-col-individual-description { width: 18%; }
.receipt-premium-table col.receipt-col-individual { width: 10.5%; }
.receipt-premium-table col.receipt-col-group-description { width: 21%; }
.receipt-premium-table col.receipt-col-group { width: 10%; }
.receipt-premium-table col.receipt-col-total { width: 16%; }

.receipt-premium-table th,
.receipt-premium-table td {
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.18;
}
.receipt-premium-table td:nth-child(1),
.receipt-premium-table td:nth-child(3),
.receipt-premium-table td:nth-child(5),
.receipt-premium-table td:nth-child(7),
.receipt-premium-table td:nth-child(8) {
  white-space: nowrap;
}
.receipt-premium-table td:nth-child(8),
.receipt-premium-table th:nth-child(8) {
  text-align: right;
  font-weight: 900;
}
.receipt-total-box {
  min-height: 0 !important;
  padding: 8px 10px !important;
}
.receipt-total-box strong {
  font-size: 25px !important;
}

/* Nueva clave escrita por el administrador. */
.core-password-field input {
  user-select: text;
}
.core-password-actions {
  align-items: center;
}

/* Presentación carta horizontal: tres tarjetas de gráficas y detalle total. */
.print-dashboard-page {
  width: 11in !important;
  height: 8.5in !important;
  padding: .08in !important;
}
.print-dashboard-three-charts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  height: 2.62in;
}
.print-dashboard-three-charts .print-dashboard-chart-card {
  min-width: 0;
  padding: 6px;
  overflow: hidden;
}
.print-dashboard-three-charts .print-bars {
  gap: 3px;
}
.print-dashboard-three-charts .print-bar-row {
  grid-template-columns: 14px 74px 1fr 21px;
  gap: 3px;
  font-size: 5.8px;
}
.print-dashboard-three-charts .print-bar-rank {
  width: 13px;
  height: 13px;
  font-size: 5.7px;
}
.print-dashboard-three-charts .print-bar-track {
  height: 7px;
}
.print-dashboard-executives-full {
  height: 3.58in;
  margin-top: 5px;
  padding: 5px;
}
.print-dashboard-executives-full h2 {
  margin-bottom: 3px;
}
.print-dashboard-executives-full .print-all-executives-table {
  font-size: 5.65px;
}
.print-dashboard-executives-full .print-all-executives-table th {
  padding: 2.4px 1.8px;
}
.print-dashboard-executives-full .print-all-executives-table td {
  padding: 2.2px 1.8px;
}
.print-dashboard-footer {
  margin-top: 3px !important;
}




/* ===== Ejecutivo sin filtros + cambio obligatorio + recibo de referencia ===== */
body.cuik-role-ejecutivo #filtros,
body.cuik-safe-ejecutivo #filtros,
body.cuik-role-ejecutivo .nav-pills a[href="#filtros"],
body.cuik-safe-ejecutivo .nav-pills a[href="#filtros"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}
.core-force-password-modal {
  position: fixed;
  inset: 0;
  z-index: 1000005;
  display: grid;
  place-items: center;
  padding: 18px;
}
.core-force-password-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6,10,18,.86);
  backdrop-filter: blur(15px);
}
.core-force-password-card {
  position: relative;
  z-index: 1;
  width: min(510px, 95vw);
  padding: 28px;
  border: 1px solid rgba(139,61,255,.44);
  border-radius: 25px;
  background: radial-gradient(circle at 100% 0%,rgba(51,153,255,.15),transparent 35%), linear-gradient(145deg,#121827,#202942);
  color: #fff;
  box-shadow: 0 34px 100px rgba(0,0,0,.62);
}
.core-force-password-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  margin-bottom: 12px;
  border-radius: 18px;
  background: linear-gradient(135deg,rgba(139,61,255,.28),rgba(51,153,255,.18));
  font-size: 28px;
}
.core-force-password-card h2 { margin: 6px 0 8px; color: #fff; font-size: 29px; }
.core-force-password-card p { margin: 0 0 18px; color: #c5cede; line-height: 1.45; }
.core-force-password-card label { display: grid; gap: 7px; margin-top: 12px; }
.core-force-password-card label span { color: #aeb9cc; font-size: 12px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.core-force-password-card input { width: 100%; box-sizing: border-box; padding: 14px 15px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(255,255,255,.06); color: #fff; font-size: 16px; outline: none; }
.core-force-password-card input:focus { border-color: rgba(139,61,255,.75); box-shadow: 0 0 0 3px rgba(139,61,255,.14); }
.core-force-password-status { min-height: 20px; margin: 12px 0 16px; color: #aeb9cc; font-size: 12px; }
.core-force-password-actions { display: flex; justify-content: flex-end; gap: 9px; flex-wrap: wrap; }
html[data-theme="light"] .core-force-password-card,
body.theme-light .core-force-password-card { background: linear-gradient(145deg,#fff,#f3f6fc); color: #172033; border-color: rgba(139,61,255,.25); }
html[data-theme="light"] .core-force-password-card h2,
body.theme-light .core-force-password-card h2 { color: #172033; }
html[data-theme="light"] .core-force-password-card p,
html[data-theme="light"] .core-force-password-status,
body.theme-light .core-force-password-card p,
body.theme-light .core-force-password-status { color: #526078; }
html[data-theme="light"] .core-force-password-card input,
body.theme-light .core-force-password-card input { background: #fff; color: #172033; border-color: rgba(15,23,42,.14); }


.receipt-reference-page {
  width: 8.5in;
  min-height: 11in;
  box-sizing: border-box;
  margin: 0 auto;
  padding: .62in .34in .26in;
  overflow: hidden;
  background: #fff;
  color: #111;
  font-family: Arial, Helvetica, sans-serif;
}
.receipt-reference-header { display: grid; grid-template-columns: 1.35fr 1fr; min-height: .72in; background: #edc7ef !important; }
.receipt-reference-left, .receipt-reference-right { padding: 5px 4px; }
.receipt-reference-left > strong { display: block; font-size: 8px; font-weight: 900; }
.receipt-reference-left h1 { margin: 5px 0 2px; color: #111 !important; font-size: 12px; line-height: 1; }
.receipt-reference-left h2 { margin: 0 0 5px; color: #111 !important; font-size: 9px; }
.receipt-reference-left p { max-width: 3.2in; margin: 0; color: #111 !important; font-size: 8px; font-weight: 700; line-height: 1.45; }
.receipt-reference-right { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; text-align: right; }
.receipt-reference-right span { color: #111 !important; font-size: 8px; font-weight: 900; }
.receipt-reference-right strong { margin: 3px 0; color: #111 !important; font-size: 9px; }
.receipt-reference-right small { max-width: 3.2in; color: #111 !important; font-size: 7.4px; font-weight: 800; line-height: 1.25; }
.receipt-reference-strip { height: 16px; display: grid; place-items: center; border: 1px solid #111; border-bottom: 0; background: #f6cf00 !important; color: #111 !important; font-size: 8px; font-weight: 900; }
.receipt-reference-table { width: 100%; border-collapse: collapse; table-layout: fixed; color: #111; font-size: 7.3px; }
.receipt-reference-table col.receipt-ref-no { width: 6%; }
.receipt-reference-table col.receipt-ref-executive { width: 25%; }
.receipt-reference-table col.receipt-ref-signature { width: 28%; }
.receipt-reference-table col.receipt-ref-finalized { width: 11%; }
.receipt-reference-table col.receipt-ref-individual { width: 10%; }
.receipt-reference-table col.receipt-ref-group { width: 9%; }
.receipt-reference-table col.receipt-ref-total { width: 11%; }
.receipt-reference-table th, .receipt-reference-table td { border: 1px solid #111; padding: 4px 3px; background: #fff !important; color: #111 !important; line-height: 1.18; }
.receipt-reference-table thead th { background: #6f2da8 !important; color: #fff !important; -webkit-text-fill-color: #fff !important; text-align: center; font-size: 8.2px; font-weight: 900; }
.receipt-reference-table tbody td:nth-child(1), .receipt-reference-table tbody td:nth-child(4), .receipt-reference-table tbody td:nth-child(5), .receipt-reference-table tbody td:nth-child(6), .receipt-reference-table tbody td:nth-child(7) { text-align: center; white-space: nowrap; }
.receipt-reference-table tbody td:nth-child(2) { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.receipt-reference-table tbody tr { height: 27px; }
.receipt-reference-table tfoot td { background: #fff !important; color: #111 !important; font-weight: 900; text-align: center; white-space: nowrap; }
.receipt-reference-table tfoot td:first-child { text-align: left; }
.receipt-reference-bottom { display: grid; grid-template-columns: 1.55fr .65fr; gap: .55in; margin-top: .24in; padding: 0 .08in; }
.receipt-reference-notes h3 { margin: 0 0 7px; color: #111 !important; font-size: 8px; font-weight: 500; }
.receipt-reference-notes div { height: 27px; border-bottom: 1px solid #777; }
.receipt-reference-manager { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; min-height: 1.25in; color: #111; text-align: center; }
.receipt-manager-line { width: 1.25in; margin-bottom: 10px; border-top: 1px solid #111; }
.receipt-reference-manager strong { color: #111 !important; font-size: 8px; font-weight: 500; }
.receipt-reference-manager span { margin-top: 14px; color: #111 !important; font-size: 8px; }
.receipt-reference-footer { display: flex; justify-content: center; gap: 1.15in; margin-top: .72in; color: #111; font-size: 7px; font-weight: 900; }
.receipt-reference-footer span, .receipt-reference-footer strong { color: #111 !important; }

@media (max-width: 680px) { .core-force-password-actions { display: grid; grid-template-columns: 1fr; } }



.receipt-reference-page {
  width: 8.24in !important;
  max-width: 8.24in !important;
  min-height: 10.84in !important;
  margin: 0 auto !important;
  padding: .30in .10in .16in !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}
.receipt-reference-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  font-size: 6.7px !important;
}
.receipt-reference-table col.receipt-ref-no { width: 5% !important; }
.receipt-reference-table col.receipt-ref-executive { width: 25% !important; }
.receipt-reference-table col.receipt-ref-signature { width: 25% !important; }
.receipt-reference-table col.receipt-ref-finalized { width: 10% !important; }
.receipt-reference-table col.receipt-ref-individual { width: 10% !important; }
.receipt-reference-table col.receipt-ref-group { width: 9% !important; }
.receipt-reference-table col.receipt-ref-total { width: 16% !important; }
.receipt-reference-table th,
.receipt-reference-table td {
  padding: 3.5px 2.5px !important;
  box-sizing: border-box !important;
}
.receipt-reference-table th:last-child,
.receipt-reference-table td:last-child {
  padding-right: 4px !important;
  text-align: right !important;
  white-space: nowrap !important;
}
.receipt-reference-table tbody td:nth-child(2) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Simulador reactivo. */
.whatif-label {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
#whatIfExtraValue {
  min-width: 34px;
  padding: 5px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg,#8b3dff,#5e72e4);
  color: #fff;
  text-align: center;
  font-weight: 900;
}
.whatif-result {
  display: grid;
  gap: 8px;
}
.whatif-result-main {
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.whatif-result-main strong {
  font-size: 30px;
  line-height: 1;
}
.whatif-result-main span,
.whatif-result-detail,
.whatif-result-gap {
  color: var(--muted);
  font-size: 12px;
}
.whatif-progress {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148,163,184,.18);
}
.whatif-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#8b3dff,#3399ff,#24d26a);
  transition: width .2s ease;
}

/* Equipo y Grupo para Ejecutivo. */
.core-executive-scope {
  display: none;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
  grid-column: 1 / -1;
}
.core-executive-scope label {
  display: grid;
  gap: 5px;
}
.core-executive-scope label span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.core-config-tab:not(.active) {
  content-visibility: hidden;
  contain: layout style paint;
}

/* Presentar / imprimir con imágenes reales de las gráficas actuales. */
.print-current-chart {
  width: 100%;
  height: 2.18in;
  display: block;
  object-fit: contain;
  object-position: center;
  border-radius: 7px;
  background: #202734;
}
.print-dashboard-three-charts {
  height: 2.72in !important;
}
.print-dashboard-three-charts .print-dashboard-chart-card {
  height: 2.72in !important;
}
.print-dashboard-executives-full {
  height: 3.44in !important;
}




body.receipt-incentive-template .receipt-reference-page {
  width: 8.5in !important;
  max-width: 8.5in !important;
  min-height: 11in !important;
  margin: 0 !important;
  padding: .20in .14in .16in !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.receipt-incentive-template .receipt-reference-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  font-size: 6.5px !important;
  line-height: 1.12 !important;
  box-sizing: border-box !important;
}

/* Distribución compacta para que se vea también la columna TOTAL. */
body.receipt-incentive-template .receipt-reference-table col.receipt-ref-no {
  width: 4.5% !important;
}
body.receipt-incentive-template .receipt-reference-table col.receipt-ref-executive {
  width: 20.5% !important;
}
body.receipt-incentive-template .receipt-reference-table col.receipt-ref-signature {
  width: 27% !important;
}
body.receipt-incentive-template .receipt-reference-table col.receipt-ref-finalized {
  width: 10% !important;
}
body.receipt-incentive-template .receipt-reference-table col.receipt-ref-individual {
  width: 12% !important;
}
body.receipt-incentive-template .receipt-reference-table col.receipt-ref-group {
  width: 10% !important;
}
body.receipt-incentive-template .receipt-reference-table col.receipt-ref-total {
  width: 16% !important;
}

/* Líneas visibles en toda la tabla. */
body.receipt-incentive-template .receipt-reference-table,
body.receipt-incentive-template .receipt-reference-table thead,
body.receipt-incentive-template .receipt-reference-table tbody,
body.receipt-incentive-template .receipt-reference-table tfoot,
body.receipt-incentive-template .receipt-reference-table tr,
body.receipt-incentive-template .receipt-reference-table th,
body.receipt-incentive-template .receipt-reference-table td {
  border: 1px solid #111111 !important;
}

body.receipt-incentive-template .receipt-reference-table th,
body.receipt-incentive-template .receipt-reference-table td {
  padding: 3px 2px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  vertical-align: middle !important;
}

body.receipt-incentive-template .receipt-reference-table thead th {
  background: #6f2da8 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-align: center !important;
  font-size: 6.6px !important;
  font-weight: 900 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.receipt-incentive-template .receipt-reference-table tbody td:nth-child(1),
body.receipt-incentive-template .receipt-reference-table tbody td:nth-child(4),
body.receipt-incentive-template .receipt-reference-table tbody td:nth-child(5),
body.receipt-incentive-template .receipt-reference-table tbody td:nth-child(6),
body.receipt-incentive-template .receipt-reference-table tbody td:nth-child(7),
body.receipt-incentive-template .receipt-reference-table tfoot td {
  white-space: nowrap !important;
}

body.receipt-incentive-template .receipt-reference-table tbody td:nth-child(2) {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-overflow: clip !important;
}

body.receipt-incentive-template .receipt-reference-table tbody td:nth-child(3) {
  min-height: 23px !important;
}

body.receipt-incentive-template .receipt-reference-table tbody td:nth-child(5),
body.receipt-incentive-template .receipt-reference-table tbody td:nth-child(6),
body.receipt-incentive-template .receipt-reference-table tbody td:nth-child(7),
body.receipt-incentive-template .receipt-reference-table tfoot td:nth-last-child(-n+3) {
  text-align: right !important;
  padding-right: 3px !important;
}

body.receipt-incentive-template .receipt-reference-table th:last-child,
body.receipt-incentive-template .receipt-reference-table td:last-child {
  border-right: 1px solid #111111 !important;
}

body.receipt-incentive-template .receipt-reference-table tbody tr {
  height: 24px !important;
}



/* ===== V202: AJUSTE EXCLUSIVO RECIBO DE INCENTIVOS ===== */
.summary-title-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.header-receipt-button {
  min-height: 34px;
  padding: 8px 11px !important;
  border-radius: 8px !important;
  white-space: nowrap;
  box-shadow: 0 8px 20px rgba(111, 66, 193, .22) !important;
}
@media (max-width: 860px) {
  .summary-title-actions {
    width: 100%;
    justify-content: space-between;
  }
  .header-receipt-button {
    flex: 1 1 210px;
    justify-content: center;
  }
}



body.receipt-incentive-template .receipt-reference-page {
  width: 8.5in !important;
  max-width: 8.5in !important;
  min-height: 11in !important;
  margin: 0 auto !important;
  padding: .24in .24in .18in !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
body.receipt-incentive-template .receipt-reference-table-frame {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
body.receipt-incentive-template .receipt-reference-table {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  table-layout: auto !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  box-sizing: border-box !important;
  font-size: 7.1px !important;
  line-height: 1.15 !important;
}
body.receipt-incentive-template .receipt-reference-table th,
body.receipt-incentive-template .receipt-reference-table td {
  border: 1px solid #172033 !important;
  padding: 4px 4px !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
  overflow: visible !important;
}
body.receipt-incentive-template .receipt-reference-table thead th {
  background: #0b2d4d !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 7px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
body.receipt-incentive-template .receipt-reference-table thead th:nth-child(1),
body.receipt-incentive-template .receipt-reference-table thead th:nth-child(n+4) {
  text-align: right !important;
}
body.receipt-incentive-template .receipt-reference-table thead th,
body.receipt-incentive-template .receipt-reference-table thead th span,
body.receipt-incentive-template .receipt-reference-table thead th small {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}
body.receipt-incentive-template .receipt-total-heading span,
body.receipt-incentive-template .receipt-total-heading small {
  display: block !important;
  white-space: nowrap !important;
}
body.receipt-incentive-template .receipt-total-heading small {
  margin-top: 2px !important;
  font-size: 5.8px !important;
  font-weight: 700 !important;
  opacity: .9 !important;
}
body.receipt-incentive-template .receipt-reference-table tbody td,
body.receipt-incentive-template .receipt-reference-table tfoot td {
  background: #ffffff !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
  text-align: left !important;
}
body.receipt-incentive-template .receipt-reference-table th:nth-child(1),
body.receipt-incentive-template .receipt-reference-table td:nth-child(1) {
  width: 1% !important;
  white-space: nowrap !important;
}
body.receipt-incentive-template .receipt-reference-table th:nth-child(2),
body.receipt-incentive-template .receipt-reference-table td:nth-child(2) {
  width: auto !important;
  min-width: 1.18in !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
}
body.receipt-incentive-template .receipt-reference-table th:nth-child(3),
body.receipt-incentive-template .receipt-reference-table td:nth-child(3) {
  width: 28% !important;
  min-width: 1.55in !important;
}
body.receipt-incentive-template .receipt-reference-table th:nth-child(4),
body.receipt-incentive-template .receipt-reference-table td:nth-child(4),
body.receipt-incentive-template .receipt-reference-table th:nth-child(5),
body.receipt-incentive-template .receipt-reference-table td:nth-child(5),
body.receipt-incentive-template .receipt-reference-table th:nth-child(6),
body.receipt-incentive-template .receipt-reference-table td:nth-child(6),
body.receipt-incentive-template .receipt-reference-table th:nth-child(7),
body.receipt-incentive-template .receipt-reference-table td:nth-child(7) {
  width: 1% !important;
  white-space: nowrap !important;
}
body.receipt-incentive-template .receipt-reference-table th:nth-child(7),
body.receipt-incentive-template .receipt-reference-table td:nth-child(7) {
  min-width: 1.02in !important;
  border-right: 1px solid #172033 !important;
}
body.receipt-incentive-template .receipt-number-cell,
body.receipt-incentive-template .receipt-money-cell {
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}
body.receipt-incentive-template .receipt-text-cell,
body.receipt-incentive-template .receipt-signature-cell,
body.receipt-incentive-template .receipt-total-label,
body.receipt-incentive-template .receipt-empty-cell {
  text-align: left !important;
}
body.receipt-incentive-template .receipt-signature-cell {
  height: 26px !important;
}
body.receipt-incentive-template .receipt-total-cell {
  background: #eef5fb !important;
  font-weight: 900 !important;
}
body.receipt-incentive-template .receipt-reference-table tfoot td {
  background: #e8eef5 !important;
  font-weight: 900 !important;
}
body.receipt-incentive-template .receipt-reference-table tbody tr,
body.receipt-incentive-template .receipt-reference-table tfoot tr {
  break-inside: avoid !important;
  page-break-inside: avoid !important;
}
body.receipt-incentive-template .receipt-reference-strip {
  background: #f6cf00 !important;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}








/* ===== V203: REPORTE EJECUTIVO HORIZONTAL DE UNA SOLA PÁGINA ===== */


@media screen {
  .print-executive-report-page {
    display: none !important;
  }
}



.print-executive-report-page {
  width: 11in;
  height: 8.5in;
  grid-template-rows: .64in .79in 2.06in 1.58in 2.34in .15in;
  gap: .055in;
  margin: 0;
  padding: .12in;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 4%, rgba(124,58,237,.10), transparent 24%),
    radial-gradient(circle at 94% 4%, rgba(37,99,235,.10), transparent 23%),
    #f5f7ff;
  color: #111827;
  font-family: Inter, Arial, Helvetica, sans-serif;
}

.print-executive-report-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .16in;
  min-width: 0;
  padding: .08in .14in;
  overflow: hidden;
  border-radius: 14px;
  background: linear-gradient(112deg, #25104f 0%, #4c1d95 48%, #1d4ed8 100%);
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(49,46,129,.20);
}
.print-executive-report-heading {
  min-width: 0;
}
.print-executive-report-brand {
  display: block;
  margin-bottom: 2px;
  color: #d8b4fe !important;
  font-size: 7.6px;
  font-weight: 900;
  letter-spacing: .14em;
}
.print-executive-report-header h1 {
  margin: 0;
  color: #ffffff !important;
  font-size: 20px;
  line-height: 1.03;
  letter-spacing: -.035em;
}
.print-executive-report-header p {
  margin: 3px 0 0;
  color: #e0e7ff !important;
  font-size: 7.8px;
  font-weight: 600;
}
.print-executive-report-profile {
  flex: 0 0 1.72in;
  min-width: 0;
  padding: .055in .10in;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 11px;
  background: rgba(255,255,255,.11);
  text-align: right;
}
.print-executive-report-profile span,
.print-executive-report-profile strong,
.print-executive-report-profile small {
  display: block;
  overflow: hidden;
  color: #ffffff !important;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.print-executive-report-profile span {
  color: #c4b5fd !important;
  font-size: 6.2px;
  font-weight: 900;
  letter-spacing: .10em;
}
.print-executive-report-profile strong {
  margin-top: 2px;
  font-size: 9.4px;
}
.print-executive-report-profile small {
  margin-top: 1px;
  color: #dbeafe !important;
  font-size: 7px;
}

.print-executive-report-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .055in;
  min-width: 0;
}
.print-executive-kpi {
  position: relative;
  min-width: 0;
  padding: .09in .09in .065in;
  overflow: hidden;
  border: 1px solid #e0e7ff;
  border-radius: 12px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 4px 14px rgba(51,65,85,.07);
}
.print-executive-kpi::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: #7c3aed;
}
.print-executive-kpi-2::before { background: #2563eb; }
.print-executive-kpi-3::before { background: #06b6d4; }
.print-executive-kpi-4::before { background: #f59e0b; }
.print-executive-kpi-5::before { background: #ec4899; }
.print-executive-kpi-6::before { background: #16a34a; }
.print-executive-kpi span,
.print-executive-kpi strong,
.print-executive-kpi small {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.print-executive-kpi span {
  color: #64748b;
  font-size: 6.8px;
  font-weight: 900;
  letter-spacing: .055em;
}
.print-executive-kpi strong {
  margin-top: 4px;
  color: #172033 !important;
  font-size: 15.2px;
  line-height: 1;
  letter-spacing: -.035em;
}
.print-executive-kpi small {
  margin-top: 4px;
  color: #64748b;
  font-size: 6.8px;
  font-weight: 700;
}

.print-executive-report-middle,
.print-executive-report-advanced {
  display: grid;
  min-width: 0;
  gap: .055in;
}
.print-executive-report-middle {
  grid-template-columns: 1.08fr .92fr 1fr;
}
.print-executive-report-advanced {
  grid-template-columns: .86fr 1.40fr;
}
.print-executive-chart-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 0;
  padding: .065in .075in .045in;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 5px 16px rgba(51,65,85,.065);
}
.print-executive-card-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  min-height: 16px;
  margin-bottom: 2px;
  border-bottom: 1px solid #eef2f7;
}
.print-executive-card-title h2 {
  margin: 0;
  color: #1e293b !important;
  font-size: 8.4px;
  line-height: 1.15;
  text-transform: none;
}
.print-executive-card-title span {
  max-width: 46%;
  overflow: hidden;
  color: #94a3b8;
  font-size: 6.1px;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.print-report-svg {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: visible;
}
.print-executive-report-daily {
  min-width: 0;
  min-height: 0;
}
.print-executive-report-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .12in;
  min-width: 0;
  padding: 0 .03in;
  overflow: hidden;
  color: #64748b;
  font-size: 6.1px;
  font-weight: 700;
}
.print-executive-report-footer span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
/* ===== FIN V203 ===== */


/* V203.1: asigna la página horizontal al nodo raíz del reporte para Chromium. */



/* =========================================================
   CUIK ADICIONALES · MÓDULO AISLADO DE PRODUCTIVIDAD
   ========================================================= */
.additional-service-section{position:relative;}
.additional-service-tools{align-items:center;flex-wrap:wrap;}
.additional-upload-button{background:linear-gradient(135deg,#6d28d9,#8b3dff 58%,#2563eb);box-shadow:0 12px 26px rgba(109,40,217,.24);}
.additional-load-panel{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(280px,1.4fr);gap:14px 20px;align-items:center;padding:16px 18px;margin-bottom:16px;border:1px solid rgba(139,61,255,.24);border-radius:16px;background:linear-gradient(145deg,rgba(139,61,255,.09),rgba(37,99,235,.055));box-shadow:var(--shadow);}
.additional-load-panel>div:first-child strong{display:block;margin-bottom:4px;font-size:14px;}
.additional-files-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.additional-file-invalid{border-color:rgba(244,63,94,.42)!important;background:rgba(244,63,94,.12)!important;color:#fecdd3!important;}
.additional-filter-context{grid-column:1/-1;padding-top:10px;border-top:1px solid rgba(148,163,184,.17);font-size:12px;color:var(--muted);}
.additional-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin:0 0 16px;}
.additional-kpi{position:relative;min-height:116px;padding:16px;border:1px solid rgba(139,61,255,.21);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(139,61,255,.045));box-shadow:var(--shadow);overflow:hidden;}
.additional-kpi::after{content:"";position:absolute;right:-24px;bottom:-34px;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(139,61,255,.26),transparent 68%);}
.additional-kpi-icon{position:absolute;right:14px;top:13px;font-size:19px;opacity:.85;}
.additional-kpi span{display:block;padding-right:28px;color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.additional-kpi strong{display:block;margin:9px 0 4px;font-size:27px;line-height:1;font-weight:950;color:var(--text);}
.additional-kpi small{display:block;color:var(--muted);font-size:10px;line-height:1.35;}
.additional-service-grid{grid-template-columns:minmax(0,1.5fr) minmax(320px,.8fr);}
.additional-table-wrap table{min-width:1160px;}
.additional-team-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:rgba(37,99,235,.12);border:1px solid rgba(37,99,235,.28);font-size:11px;font-weight:850;color:#93c5fd;white-space:nowrap;}
.additional-unique-value{display:inline-flex;min-width:34px;justify-content:center;padding:5px 10px;border-radius:10px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.27);color:var(--green);}
.additional-tie-note{display:block;margin-top:3px;font-size:9px;color:var(--muted);white-space:nowrap;}
.additional-tie-note.winner{color:var(--green);font-weight:900;}

html[data-theme="light"] .additional-load-panel,body.theme-light .additional-load-panel{background:linear-gradient(145deg,rgba(109,40,217,.065),rgba(37,99,235,.04));border-color:rgba(109,40,217,.18);}
html[data-theme="light"] .additional-kpi,body.theme-light .additional-kpi{background:#fff;border-color:rgba(109,40,217,.16);}
html[data-theme="light"] .additional-team-badge,body.theme-light .additional-team-badge{color:#1d4ed8;background:rgba(37,99,235,.08);}

@media(max-width:1180px){.additional-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.additional-service-grid{grid-template-columns:1fr;}}
@media(max-width:760px){.additional-load-panel{grid-template-columns:1fr;}.additional-files-list{justify-content:flex-start;}.additional-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){.additional-kpi-grid{grid-template-columns:1fr;}}



/* Controles de persistencia y eliminación por rol */
.additional-delete-button,
.primary-delete-button{
  color:var(--red);
  border-color:color-mix(in srgb, var(--red) 42%, transparent);
  background:color-mix(in srgb, var(--red) 9%, transparent);
}
.additional-delete-button:hover,
.primary-delete-button:hover{
  border-color:color-mix(in srgb, var(--red) 72%, transparent);
  background:color-mix(in srgb, var(--red) 15%, transparent);
}

/* ===== Marca blanca administrable ===== */
.brand-mark {
  overflow: hidden;
  display: grid;
  place-items: center;
}
.brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5px;
  box-sizing: border-box;
}
.brand-mark.has-custom-logo {
  background: rgba(255,255,255,.96) !important;
}
.core-branding-layout {
  display: grid;
  grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr);
  gap: 20px;
  align-items: start;
}
.core-branding-form {
  display: grid;
  gap: 14px;
}
.core-branding-field,
.core-branding-upload {
  display: grid;
  gap: 7px;
  padding: 15px;
  border-radius: 15px;
  border: 1px solid rgba(139,61,255,.22);
  background: rgba(255,255,255,.025);
}
.core-branding-field > span,
.core-branding-upload > span {
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
}
.core-branding-field small,
.core-branding-upload small,
.core-branding-meta {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}
.core-branding-upload input[type="file"] {
  width: 100%;
  box-sizing: border-box;
  padding: 10px;
  border-radius: 12px;
  border: 1px dashed rgba(139,61,255,.42);
  background: rgba(139,61,255,.06);
  color: var(--text);
}
.core-branding-control-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 12px;
}
.core-branding-range-wrap {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 10px;
}
.core-branding-range-wrap input[type="range"] { width: 100%; accent-color: var(--purple,#8b3dff); }
.core-branding-range-wrap output {
  min-width: 48px;
  padding: 6px 8px;
  border-radius: 9px;
  text-align: center;
  color: #fff;
  background: rgba(139,61,255,.18);
  border: 1px solid rgba(139,61,255,.30);
  font-size: 11px;
  font-weight: 900;
}
.core-branding-file-status {
  display: block;
  min-height: 16px;
  color: var(--green,#24d26a) !important;
}

.core-branding-colors {
  display: grid;
  gap: 13px;
  padding: 15px;
  border-radius: 15px;
  border: 1px solid rgba(139,61,255,.22);
  background: rgba(255,255,255,.025);
}
.core-branding-colors-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.core-branding-colors-head > div { min-width: 0; display: grid; gap: 4px; }
.core-branding-colors-head strong { color: var(--text); font-size: 13px; }
.core-branding-colors-head small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.core-branding-color-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 10px;
}
.core-branding-color-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.core-branding-color-field > span { color: var(--text); font-size: 11px; font-weight: 850; }
.core-branding-color-field > div {
  display: grid;
  grid-template-columns: 42px minmax(0,1fr) 38px;
  gap: 7px;
  align-items: center;
}
.core-branding-color-field input[type="color"] {
  width: 42px;
  height: 38px;
  padding: 2px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: transparent;
  cursor: pointer;
}
.core-branding-color-field .input-control { min-height: 38px; padding: 8px 9px; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; text-transform: uppercase; }
.core-branding-color-field button {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(139,61,255,.32);
  border-radius: 10px;
  background: rgba(139,61,255,.10);
  color: var(--text);
  cursor: pointer;
  font-size: 18px;
}
.core-branding-color-field button:hover { background: rgba(139,61,255,.18); }
.core-branding-contrast,
.core-branding-version { display: block; min-height: 17px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.core-branding-contrast.ok,
.core-branding-version.ok { color: var(--green,#24d26a); }
.core-branding-contrast.risk,
.core-branding-version.risk { color: var(--red,#ff5d7d); }
.core-branding-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.core-branding-actions .btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.core-branding-message {
  min-height: 20px;
  padding: 0 2px;
}
.core-branding-message.ok { color: var(--green,#24d26a); }
.core-branding-message.risk { color: var(--red,#ff5d7d); }
.core-branding-message.warn { color: var(--yellow,#ffcc4d); }
.core-branding-preview-card {
  position: sticky;
  top: 0;
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(139,61,255,.34);
  background: linear-gradient(145deg, rgba(139,61,255,.10), rgba(255,255,255,.025));
  box-shadow: 0 20px 50px rgba(0,0,0,.18);
}
.core-branding-preview-card > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.core-branding-preview-header {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 74px;
  padding: 13px;
  border-radius: 15px;
  background: rgba(10,15,28,.48);
  border: 1px solid rgba(255,255,255,.08);
}
.core-branding-preview-header > div:last-child {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.core-branding-preview-header strong {
  overflow: hidden;
  color: #fff;
  font-size: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.core-branding-preview-header small {
  color: rgba(255,255,255,.66);
  line-height: 1.35;
}
.core-branding-logo-preview {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 15px;
  background: #fff;
  color: #5a24b8;
  font-weight: 950;
}
.core-branding-logo-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5px;
  box-sizing: border-box;
}
.core-branding-browser-preview {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 13px;
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.08);
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
}
.core-branding-favicon-preview {
  width: 23px;
  height: 23px;
  flex: 0 0 23px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 6px;
  background: rgba(255,255,255,.92);
  color: #5a24b8;
  font-size: 11px;
}
.core-branding-favicon-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.core-branding-login-preview {
  position: relative;
  min-height: 230px;
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding: 14px;
  border-radius: 16px;
  background-color: #080a13;
  background-image: var(--branding-preview-background, none);
  background-position: var(--branding-preview-position, center center);
  background-size: cover;
  background-repeat: no-repeat;
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.10);
}
.core-branding-login-preview::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 88% 0, color-mix(in srgb, var(--branding-preview-primary,#9b5cf6) 28%, transparent), transparent 38%),
    rgb(6 8 16 / var(--branding-preview-overlay, .58));
}
.core-branding-login-mini-shell {
  position: relative;
  z-index: 1;
  width: min(174px, 76%);
  display: grid;
  gap: 9px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--branding-preview-primary,#9b5cf6) 42%, transparent);
  background: color-mix(in srgb, var(--branding-preview-panel,#14182a) 94%, transparent);
  color: var(--branding-preview-text,#f7f8ff);
  box-shadow: 0 14px 34px rgba(0,0,0,.34);
  backdrop-filter: blur(10px);
}
.core-branding-login-mini-brand {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.core-branding-login-mini-brand > span {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 7px;
  background: linear-gradient(135deg,var(--branding-preview-primary,#9b5cf6),var(--branding-preview-secondary,#6d28d9));
}
.core-branding-login-mini-brand > div { min-width: 0; display: grid; gap: 2px; }
.core-branding-login-mini-brand strong,
.core-branding-login-mini-brand small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.core-branding-login-mini-brand strong { color: var(--branding-preview-text,#f7f8ff); font-size: 9px; }
.core-branding-login-mini-brand small { color: color-mix(in srgb,var(--branding-preview-text,#f7f8ff) 62%,transparent); font-size: 6px; }
.core-branding-login-mini-form { display: grid; gap: 6px; }
.core-branding-login-mini-form b { color: var(--branding-preview-text,#f7f8ff); font-size: 10px; }
.core-branding-login-mini-form i {
  display: block;
  height: 17px;
  border-radius: 5px;
  background: color-mix(in srgb,var(--branding-preview-panel,#14182a) 76%,black);
  border: 1px solid color-mix(in srgb,var(--branding-preview-text,#f7f8ff) 14%,transparent);
}
.core-branding-login-mini-form i:last-child {
  background: linear-gradient(135deg,var(--branding-preview-primary,#9b5cf6),var(--branding-preview-secondary,#6d28d9));
  border: 0;
}
@media (max-width: 860px) {
  .core-branding-layout { grid-template-columns: 1fr; }
  .core-branding-preview-card { position: static; }
}
@media (max-width: 620px) {
  .core-branding-control-row,
  .core-branding-color-grid { grid-template-columns: 1fr; }
  .core-branding-colors-head { flex-direction: column; }
  .core-branding-login-mini-shell { width: min(174px, 86%); }
}


.brand-mark::after{
  display:none !important;
}
/* ===== V1.7: Modal de aprobación del recibo consolidado mensual ===== */
body.receipt-modal-open {
  overflow: hidden !important;
}
.receipt-approval-modal {
  position: fixed;
  inset: 0;
  z-index: 1000015;
  display: grid;
  place-items: center;
  padding: 20px;
}
.receipt-approval-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 7, 15, .82);
  backdrop-filter: blur(12px);
}
.receipt-approval-panel {
  position: relative;
  z-index: 1;
  width: min(560px, 96vw);
  max-height: min(92vh, 760px);
  overflow: auto;
  padding: 28px;
  border: 1px solid rgba(139, 61, 255, .42);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(38, 208, 164, .13), transparent 32%),
    radial-gradient(circle at 0% 100%, rgba(139, 61, 255, .17), transparent 38%),
    linear-gradient(145deg, #121827, #1d2538);
  color: #fff;
  box-shadow: 0 34px 110px rgba(0, 0, 0, .62);
}
.receipt-approval-close {
  position: absolute;
  top: 13px;
  right: 14px;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.receipt-approval-close:hover {
  background: rgba(255,255,255,.12);
}
.receipt-approval-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  margin-bottom: 13px;
  border: 1px solid rgba(38, 208, 164, .24);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(38, 208, 164, .2), rgba(139, 61, 255, .18));
  font-size: 28px;
}
.receipt-approval-heading > span {
  display: block;
  color: #a991ff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}
.receipt-approval-heading h2 {
  margin: 7px 42px 7px 0;
  color: #fff;
  font-size: clamp(23px, 4vw, 31px);
  line-height: 1.08;
}
.receipt-approval-heading p {
  margin: 0 0 20px;
  color: #bdc7d8;
  font-size: 13px;
  line-height: 1.45;
}
.receipt-approval-field {
  display: grid;
  gap: 7px;
  margin-top: 14px;
}
.receipt-approval-field > span {
  color: #b9c3d5;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.receipt-approval-field input {
  width: 100%;
  box-sizing: border-box;
  padding: 14px 15px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background: rgba(255,255,255,.06);
  color: #fff;
  font: inherit;
  font-size: 15px;
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.receipt-approval-field input:focus {
  border-color: rgba(139,61,255,.82);
  background: rgba(255,255,255,.085);
  box-shadow: 0 0 0 3px rgba(139,61,255,.15);
}
.receipt-approval-remember {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-top: 16px;
  color: #c6cfdd;
  font-size: 12px;
  cursor: pointer;
}
.receipt-approval-remember input {
  width: 17px;
  height: 17px;
  accent-color: #8b3dff;
}
.receipt-approval-message {
  min-height: 20px;
  margin-top: 11px;
  color: #ffcf62;
  font-size: 12px;
  font-weight: 700;
}
.receipt-approval-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 8px;
}
html[data-theme="light"] .receipt-approval-panel,
body.theme-light .receipt-approval-panel {
  border-color: rgba(139,61,255,.24);
  background:
    radial-gradient(circle at 100% 0%, rgba(38,208,164,.10), transparent 32%),
    radial-gradient(circle at 0% 100%, rgba(139,61,255,.10), transparent 38%),
    linear-gradient(145deg, #fff, #f3f6fc);
  color: #172033;
  box-shadow: 0 34px 100px rgba(15,23,42,.22);
}
html[data-theme="light"] .receipt-approval-heading h2,
body.theme-light .receipt-approval-heading h2 {
  color: #172033;
}
html[data-theme="light"] .receipt-approval-heading p,
html[data-theme="light"] .receipt-approval-field > span,
html[data-theme="light"] .receipt-approval-remember,
body.theme-light .receipt-approval-heading p,
body.theme-light .receipt-approval-field > span,
body.theme-light .receipt-approval-remember {
  color: #526078;
}
html[data-theme="light"] .receipt-approval-field input,
body.theme-light .receipt-approval-field input {
  border-color: rgba(15,23,42,.14);
  background: #fff;
  color: #172033;
}
html[data-theme="light"] .receipt-approval-close,
body.theme-light .receipt-approval-close {
  border-color: rgba(15,23,42,.12);
  background: rgba(15,23,42,.05);
  color: #172033;
}
@media (max-width: 620px) {
  .receipt-approval-modal { align-items: end; padding: 10px; }
  .receipt-approval-panel {
    width: 100%;
    max-height: 94vh;
    padding: 24px 18px calc(18px + env(safe-area-inset-bottom));
    border-radius: 22px 22px 14px 14px;
  }
  .receipt-approval-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .receipt-approval-actions .btn { width: 100%; }
}

/* Administración central: navegación y modal responsivos. */
@media (max-width:760px) {
  .core-modal {
    padding:10px;
  }
  .core-modal-panel,
  .core-config-panel {
    width:100%;
    max-width:100%;
    max-height:calc(100dvh - 20px);
    padding:18px;
    border-radius:18px;
  }
  .core-config-heading {
    padding-right:34px;
  }
  .core-config-tabs {
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
  }
  .core-config-tabs button {
    flex:0 0 auto;
  }
  .core-config-section-head {
    align-items:flex-start;
    flex-direction:column;
  }
  .core-config-section-head .tools {
    width:100%;
    flex-wrap:wrap;
  }
}


/* === V4.7.4 · Rol Ejecutivo: heatmap personal y exportación segura === */
body:not(.cuik-role-ejecutivo) #misEtapas,
body:not(.cuik-role-ejecutivo) .core-shell-nav a[href="#misEtapas"] {
  display: none !important;
}
.executive-stage-title {
  align-items: flex-end;
}
.executive-stage-actions {
  justify-content: flex-end;
}
.executive-export-button {
  border-color: rgba(34,211,238,.34) !important;
  background: linear-gradient(135deg,rgba(34,211,238,.18),rgba(139,92,246,.24)) !important;
  color: var(--text,#f5f8ff) !important;
  box-shadow: 0 12px 32px rgba(79,70,229,.16);
}
.executive-export-button:disabled {
  cursor: not-allowed;
  filter: grayscale(.6);
  opacity: .52;
  transform: none !important;
}
.executive-stage-card {
  min-height: 390px;
  overflow: hidden;
  border-color: rgba(139,92,246,.26);
  background:
    radial-gradient(circle at 4% 0%,rgba(34,211,238,.09),transparent 30%),
    radial-gradient(circle at 96% 5%,rgba(181,92,255,.14),transparent 34%),
    var(--card,#151b2a);
}
.executive-stage-chart {
  width: 100%;
  min-height: 320px;
}
.executive-export-note {
  margin: 0;
  padding: 0 18px 16px;
  color: var(--muted,#97a6c4);
}
@media (max-width: 760px) {
  .executive-stage-title,
  .executive-stage-actions {
    align-items: stretch;
  }
  .executive-stage-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .executive-stage-actions .badge,
  .executive-export-button {
    width: 100%;
    justify-content: center;
  }
  .executive-stage-card {
    min-height: 360px;
  }
}

/* === v4.9.0 · Intérprete inteligente de datos === */
.semantic-ai-card {
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid rgba(139,92,246,.28);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0 0, rgba(53,210,232,.09), transparent 34%),
    radial-gradient(circle at 100% 0, rgba(181,92,255,.13), transparent 38%),
    rgba(20,26,41,.78);
  box-shadow: 0 20px 55px rgba(5,8,18,.22);
  backdrop-filter: blur(14px);
}
.semantic-ai-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.semantic-ai-head h3 { margin: 5px 0 6px; font-size: 1.18rem; }
.semantic-ai-head p { margin: 0; max-width: 850px; color: var(--muted,#a8b3c9); line-height: 1.55; }
.semantic-ai-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.semantic-ai-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.semantic-ai-grid > div {
  min-height: 78px;
  padding: 13px 14px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(7,11,22,.38);
}
.semantic-ai-grid span { display: block; color: var(--muted,#a8b3c9); font-size: .73rem; letter-spacing: .04em; text-transform: uppercase; }
.semantic-ai-grid strong { display: block; margin-top: 7px; color: var(--text,#f6f8fc); font-size: .94rem; line-height: 1.25; }
.semantic-file-profiles { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.semantic-profile-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  border: 1px solid rgba(139,92,246,.22);
  border-radius: 999px;
  background: rgba(139,92,246,.08);
  color: var(--text,#f6f8fc);
  font-size: .82rem;
}
.semantic-profile-pill small { color: var(--muted,#a8b3c9); }

.semantic-review-open { overflow: hidden; }
.semantic-review-modal { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: 20px; }
.semantic-review-backdrop { position: absolute; inset: 0; background: rgba(3,5,12,.82); backdrop-filter: blur(9px); }
.semantic-review-panel {
  position: relative;
  width: min(1180px, 100%);
  max-height: calc(100dvh - 40px);
  overflow: auto;
  padding: 25px;
  border: 1px solid rgba(139,92,246,.32);
  border-radius: 22px;
  background: linear-gradient(160deg,#171d2d,#0e1320 72%);
  box-shadow: 0 32px 100px rgba(0,0,0,.52);
  color: var(--text,#f6f8fc);
}
.semantic-review-close {
  position: absolute; top: 15px; right: 16px; width: 38px; height: 38px;
  border: 1px solid rgba(255,255,255,.12); border-radius: 12px;
  background: rgba(255,255,255,.06); color: inherit; font-size: 1.35rem; cursor: pointer;
}
.semantic-review-heading { padding-right: 48px; }
.semantic-review-heading h2 { margin: 8px 0 6px; }
.semantic-review-heading p { margin: 0; color: var(--muted,#a8b3c9); }
.semantic-review-controls {
  display: grid; grid-template-columns: 1fr 1fr minmax(240px,1.2fr); gap: 12px; margin: 20px 0 14px;
}
.semantic-review-controls label { display: grid; gap: 7px; color: var(--muted,#a8b3c9); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.semantic-review-model { padding: 12px 14px; border: 1px solid rgba(53,210,232,.18); border-radius: 14px; background: rgba(53,210,232,.06); }
.semantic-review-model span,.semantic-review-model small { display: block; color: var(--muted,#a8b3c9); }
.semantic-review-model strong { display: block; margin: 4px 0; }
.semantic-review-alerts { margin: 12px 0; padding: 13px 15px; border: 1px solid rgba(255,204,77,.2); border-radius: 14px; background: rgba(255,204,77,.06); }
.semantic-review-alerts ul { margin: 8px 0 0 18px; padding: 0; color: var(--muted,#c4ccda); }
.semantic-review-alerts li + li { margin-top: 5px; }
.semantic-review-table-wrap { overflow: auto; border: 1px solid rgba(255,255,255,.08); border-radius: 16px; }
.semantic-review-table { width: 100%; border-collapse: collapse; min-width: 820px; }
.semantic-review-table th,.semantic-review-table td { padding: 12px 13px; border-bottom: 1px solid rgba(255,255,255,.07); text-align: left; vertical-align: top; }
.semantic-review-table th { position: sticky; top: 0; z-index: 2; background: #151b29; color: var(--muted,#a8b3c9); font-size: .76rem; text-transform: uppercase; }
.semantic-review-table td:first-child { width: 230px; }
.semantic-review-table td:nth-child(2) { width: 300px; }
.semantic-review-table td small { display: block; margin-top: 5px; color: var(--muted,#a8b3c9); line-height: 1.35; }
.semantic-review-message { min-height: 24px; margin-top: 12px; color: #ffcc4d; font-weight: 700; }
.semantic-review-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 10px; }

html[data-theme="light"] .semantic-ai-card,
body.theme-light .semantic-ai-card { background: linear-gradient(160deg,rgba(255,255,255,.98),rgba(244,247,255,.94)); border-color: rgba(109,40,217,.18); }
html[data-theme="light"] .semantic-ai-grid > div,
body.theme-light .semantic-ai-grid > div { background: rgba(15,23,42,.035); border-color: rgba(15,23,42,.08); }
html[data-theme="light"] .semantic-review-panel,
body.theme-light .semantic-review-panel { background: linear-gradient(160deg,#fff,#f4f7ff); color: #172033; border-color: rgba(109,40,217,.18); }
html[data-theme="light"] .semantic-review-table th,
body.theme-light .semantic-review-table th { background: #eef2fb; color: #526078; }
html[data-theme="light"] .semantic-review-table th,
html[data-theme="light"] .semantic-review-table td,
body.theme-light .semantic-review-table th,
body.theme-light .semantic-review-table td { border-color: rgba(15,23,42,.09); }

@media (max-width: 1050px) {
  .semantic-ai-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .semantic-review-controls { grid-template-columns: 1fr 1fr; }
  .semantic-review-model { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .semantic-ai-card { padding: 16px; }
  .semantic-ai-head { flex-direction: column; }
  .semantic-ai-actions,.semantic-ai-actions .btn { width: 100%; }
  .semantic-ai-actions .btn { justify-content: center; }
  .semantic-ai-grid { grid-template-columns: 1fr 1fr; }
  .semantic-review-modal { align-items: end; padding: 8px; }
  .semantic-review-panel { width: 100%; max-height: 96dvh; padding: 20px 15px calc(16px + env(safe-area-inset-bottom)); border-radius: 22px 22px 12px 12px; }
  .semantic-review-controls { grid-template-columns: 1fr; }
  .semantic-review-model { grid-column: auto; }
  .semantic-review-actions { display: grid; grid-template-columns: 1fr; }
  .semantic-review-actions .btn { width: 100%; }
}


/* v4.9.2 · Pantalla completa responsive */
html[data-theme="light"] .card.cuik-fullscreen-ready:fullscreen,html[data-cuik-theme="light"] .card.cuik-fullscreen-ready:fullscreen,body.theme-light .card.cuik-fullscreen-ready:fullscreen { background:#f6f3ff!important; color:#171326!important; }
.card.cuik-fullscreen-ready[data-cuik-fullscreen-layout="daily-placement"]:fullscreen .card-head { align-self:stretch; }
