/* ====== /report (scoped) ====== */
body.report-page {
  font-family: 'Open Sans', sans-serif;
  margin: 0;
  background-color: #0a0a0d;
  color: #f1f1f1;
}

/* ---------- Header / Nav ---------- */

body.report-page nav {
  background: #111;
  padding: 10px 0;
  text-align: center;
}

body.report-page nav a {
  color: #00e5ff;
  margin: 0 12px;
  text-decoration: none;
  font-weight: bold;
}

body.report-page nav a:hover {
  text-decoration: underline;
}

/* ---------- Título ---------- */

body.report-page h1 {
  font-size: 16px;
  font-weight: 600;
  margin: 10px 0 8px;
  letter-spacing: .5px;
  text-transform: uppercase;
  text-align: center;
}

/* ---------- Botón exportar ---------- */

body.report-page .contenedor-exportar {
  margin: 8px 0 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 15px;
}

body.report-page .boton-excel-verde {
  background: #00b74a;
  color: #fff;
  border: none;
  padding: 10px 18px;
  border-radius: 6px;
  font-size: 15px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.3s ease;
}

body.report-page .boton-excel-verde:hover {
  background: #009b3c;
}

body.report-page .mensaje-confirmacion {
  display: none;
  color: #00e5ff;
  font-weight: bold;
}

/* ---------- Cards ---------- */

body.report-page .report-card,
body.report-page .card-notes {

  background: linear-gradient(
    180deg,
    rgba(12,18,26,0.96) 0%,
    rgba(10,10,13,0.96) 100%
  );

  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 14px;
  box-shadow: 0 6px 20px rgba(0,0,0,0.35);
  padding: 14px 14px 10px;
  margin: 10px auto 18px;
  max-width: 1600px;
  width: 95%;

  transition:
  border-color .2s ease,
  box-shadow .2s ease,
  transform .1s ease;
}

body.report-page .report-card:hover,
body.report-page .card-notes:hover {

  border-color: rgba(0,229,255,0.45);
  box-shadow: 0 0 18px rgba(0,229,255,0.20);
  transform: scale(1.002);

}

/* ---------- Tabla ---------- */

.report-card table {
  width: 100%;
}

body.report-page #tabla-indicadores {
  table-layout: auto;
}

/* encabezado */

body.report-page #tabla-indicadores thead th {
  background:#0f141b;
  color:#cfefff;
  border-bottom:2px solid rgba(255,255,255,0.22);
}

/* celdas */

body.report-page #tabla-indicadores th,
body.report-page #tabla-indicadores td {

  padding: 5px 8px;
  border-bottom: 1px solid rgba(255,255,255,0.16);
  border-right: 1px solid rgba(255,255,255,0.10);
  font-variant-numeric: tabular-nums;

  overflow: hidden;
  text-overflow: ellipsis;
}

/* evitar nowrap para empresa/sector */

body.report-page #tabla-indicadores th:nth-child(2),
body.report-page #tabla-indicadores td:nth-child(2),
body.report-page #tabla-indicadores th:nth-child(3),
body.report-page #tabla-indicadores td:nth-child(3) {

  white-space: normal;
  word-break: break-word;
  line-height: 1.3;
  max-width: 200px;

}

/* demás columnas nowrap */

table.dataTable td:not(:nth-child(2)):not(:nth-child(3)) {
  white-space: nowrap;
}

/* ---------- Hover ---------- */

body.report-page #tabla-indicadores tbody tr {
  transition: background .25s ease, box-shadow .25s ease;
}

body.report-page #tabla-indicadores tbody tr:hover td:not(:nth-child(8)):not(:nth-child(9)):not(:nth-child(10)):not(:nth-child(11)){

  background: linear-gradient(
    90deg,
    rgba(0,229,255,0.08) 0%,
    rgba(0,229,255,0.03) 100%
  );

}

/* ---------- Resaltado columnas 8–11 ---------- */

body.report-page #tabla-indicadores thead th:nth-child(8),
body.report-page #tabla-indicadores tbody td:nth-child(8),
body.report-page #tabla-indicadores thead th:nth-child(9),
body.report-page #tabla-indicadores tbody td:nth-child(9),
body.report-page #tabla-indicadores thead th:nth-child(10),
body.report-page #tabla-indicadores tbody td:nth-child(10),
body.report-page #tabla-indicadores thead th:nth-child(11),
body.report-page #tabla-indicadores tbody td:nth-child(11){

  background: linear-gradient(
    180deg,
    rgba(0,191,255,0.12) 0%,
    rgba(0,0,0,0) 100%
  );

  box-shadow:
  inset 1px 0 0 rgba(0,229,255,0.35),
  inset -1px 0 0 rgba(0,229,255,0.35);

  color:#e3f8ff;
}

/* ---------- DataTables UI ---------- */

body.report-page .dataTables_wrapper .dataTables_filter input{

  background:#222;
  color:#fff;
  border:1px solid #444;
  padding:6px 8px;
  border-radius:6px;

}

body.report-page .dataTables_wrapper .dataTables_paginate .paginate_button{

  color:#cfefff !important;
  border:1px solid #223;
  background:#111;
  border-radius:6px;
  margin:0 2px;

}

body.report-page .dataTables_wrapper .dataTables_paginate .paginate_button.current{

  background:#0b2230 !important;
  border-color:#00e5ff !important;

}

body.report-page .dataTables_wrapper .dataTables_paginate .paginate_button:hover{

  background:#0e2a3a !important;
  border-color:#27d1ff !important;

}

body.report-page .dataTables_wrapper .dataTables_info{
  color:#9ad4ff;
}

/* ---------- Nota fuente ---------- */

body.report-page .data-source-note {

  margin: 10px 0 24px;
  font-size: 12.5px;
  color: #9ad4ff;

  background: #151a1f;
  border: 1px solid #223;

  padding: 8px 12px;
  border-radius: 6px;

  display: inline-block;
  text-align: center;

}

/* ---------- Animación ---------- */

@keyframes bounce {

  0%,100% {transform:translateY(0)}
  50% {transform:translateY(4px)}

}

.bounce {
  animation: bounce 1.5s infinite;
}

/* ---------- Texto detalle ---------- */

body.report-page .report-notes strong {
  color:#00e5ff;
  font-weight:700;
}

/* ---------- Mobile ---------- */

@media (max-width:768px){

body.report-page #tabla-indicadores thead{
display:none;
}

body.report-page #tabla-indicadores,
body.report-page #tabla-indicadores tbody,
body.report-page #tabla-indicadores tr,
body.report-page #tabla-indicadores td{

display:block;
width:100%;

}

body.report-page #tabla-indicadores tbody tr{

background:#101826;
border:1px solid #1f2a3a;
border-radius:14px;

margin:12px 8px;

overflow:hidden;

box-shadow:0 6px 14px rgba(0,0,0,.35);

}

body.report-page #tabla-indicadores tbody td{

display:grid;
grid-template-columns:68px 1fr;

gap:6px;

padding:10px 12px;

border-bottom:1px solid #182233;

font-size:12px;

}

body.report-page #tabla-indicadores tbody td::before{

font-weight:700;
color:#8fc8ff;

}

}

/* ---------- Tamaño fuente tabla ---------- */

#tabla-indicadores,
#tabla-indicadores th,
#tabla-indicadores td {

font-size:13px;
line-height:1.2em;

}

.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {

font-size:12px;

}