/* Colores del logo de Bayano. --verde-texto es el verde del logo oscurecido: da 4.5:1 con blanco. */
:root {
  --verde-logo: #499B2D;
  --verde: #3B8524;
  --verde-oscuro: #2F6A1D;
  --verde-claro: #EAF4E5;
  --negro: #1D1D1B;
  --calc: #EEF1EA;
  --bs-primary: #3B8524;
  --bs-primary-rgb: 59, 133, 36;
  --bs-link-color: #2F6A1D;
  --bs-link-color-rgb: 47, 106, 29;
  --bs-link-hover-color: #1D1D1B;
  --bs-link-hover-color-rgb: 29, 29, 27;
  --bs-body-color: #1D1D1B;
}

.btn-primary {
  --bs-btn-bg: var(--verde); --bs-btn-border-color: var(--verde);
  --bs-btn-hover-bg: var(--verde-oscuro); --bs-btn-hover-border-color: var(--verde-oscuro);
  --bs-btn-active-bg: var(--verde-oscuro); --bs-btn-active-border-color: var(--verde-oscuro);
  --bs-btn-disabled-bg: var(--verde); --bs-btn-disabled-border-color: var(--verde);
}
.btn-outline-primary {
  --bs-btn-color: var(--verde-oscuro); --bs-btn-border-color: var(--verde);
  --bs-btn-hover-bg: var(--verde); --bs-btn-hover-border-color: var(--verde);
  --bs-btn-active-bg: var(--verde); --bs-btn-active-border-color: var(--verde);
}
.form-control:focus, .form-select:focus { border-color: var(--verde-logo); box-shadow: 0 0 0 .2rem rgba(73, 155, 45, .25); }

/* ---- barra superior: el logo va sobre blanco, como en el original ---- */
.barra { background: #fff; border-bottom: 3px solid var(--verde-logo); }
.barra .logo { height: 26px; display: block; }
.barra .sistema { color: var(--negro); font-weight: 600; padding-left: .75rem; margin-left: .75rem; border-left: 1px solid #d5d5d0; }
.barra .nav-link { color: var(--negro); }
.barra .nav-link:hover { color: var(--verde-oscuro); }
.barra .nav-link.active { color: var(--verde-oscuro); font-weight: 600; box-shadow: inset 0 -3px 0 var(--verde-logo); }
.aviso-datos { background: var(--negro); color: #fff; font-size: .85rem; padding: .25rem 1rem; }

.login { max-width: 380px; margin: 8vh auto 0; }
.login .logo { width: 220px; display: block; margin: 0 auto 1.25rem; }

/* ---- indicadores ---- */
.indicador { border-left: 4px solid var(--verde-logo); }
.indicador .numero { font-size: 1.6rem; font-weight: 700; line-height: 1.2; }
.indicador .rotulo { font-size: .85rem; color: var(--bs-secondary-color); }

/* ---- tablas ---- */
.tabla { font-size: 13px; border: 0; background: var(--bs-body-bg); }
.tabla .tabulator-header-filter input { font-size: 12px !important; padding: 1px 4px !important; height: 24px; font-weight: 400; }
.tabla .tabulator-row.tabulator-selectable:hover { background: var(--verde-claro) !important; }

.grilla { font-size: 12px; background: var(--bs-body-bg); }
.grilla.tabulator .tabulator-header .tabulator-col .tabulator-col-content .tabulator-col-title {
  white-space: normal; text-overflow: clip; overflow-wrap: anywhere; line-height: 1.15;
}
.grilla .tabulator-col .titulo { display: block; font-weight: 600; }
.grilla .tabulator-col .unidad { display: block; font-weight: 400; color: var(--bs-secondary-color); }
.grilla .tabulator-col.calculado { background: var(--calc); }
.grilla .tabulator-col.sin-datos .titulo { color: var(--bs-secondary-color); }
.grilla .tabulator-row { min-height: 26px; }
.grilla .tabulator-row .tabulator-cell { padding: 2px 5px; vertical-align: top; }
.grilla .tabulator-cell.col-fila { font-weight: 600; }
.grilla .tabulator-header-filter input { font-size: 11px !important; padding: 1px 4px !important; height: 22px; font-weight: 400; }
.grilla .tabulator-row.fila-estadistica { background: var(--verde-claro) !important; font-weight: 600; }

/* ---- captura ---- */
.grilla .tabulator-cell.tabulator-editable { cursor: cell; }
.grilla .tabulator-cell.calculado, .col-calculada { background: var(--calc); }
.capturado { background: #FFF4CE !important; }
.cambiado { background: #CFE8FF !important; }
.con-error { background: #FDE2E1 !important; box-shadow: inset 0 0 0 1px #C2410C; }
.leyenda span { padding: 2px 8px; margin-left: 6px; border: 1px solid var(--bs-border-color); border-radius: 3px; }

/* ---- manual de usuario ---- */
.indice-ayuda { position: sticky; top: 1rem; align-self: flex-start; max-height: calc(100vh - 2rem); overflow-y: auto; font-size: .9rem; }
.indice-ayuda a { display: block; padding: .15rem .5rem; color: var(--negro); text-decoration: none; border-left: 2px solid transparent; }
.indice-ayuda a:hover { color: var(--verde-oscuro); border-left-color: var(--verde-logo); }
.indice-ayuda a[hidden] { display: none; }
.titulo-indice { margin: .9rem 0 .2rem; font-weight: 700; color: var(--verde-oscuro); }
.manual { max-width: 860px; line-height: 1.55; }
.manual .tema { scroll-margin-top: 1rem; background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: .5rem; padding: 1rem 1.25rem; margin-bottom: 1rem; }
.manual .tema[hidden] { display: none; }
.manual .tema h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: .75rem; }
.manual .tema > *:last-child { margin-bottom: 0; }
.manual .grupo-ayuda { font-size: 1.15rem; font-weight: 700; color: var(--verde-oscuro); margin: 1.5rem 0 .75rem; }
.manual ol li, .manual ul li { margin-bottom: .3rem; }
.manual figure { margin: 1rem 0 0; }
.manual figure img { display: block; width: 100%; height: auto; border: 1px solid var(--bs-border-color); border-radius: .35rem; }
.manual figcaption { font-size: .8rem; color: var(--bs-secondary-color); margin-top: .25rem; }
.manual dt { margin-top: .6rem; }
.manual dd { margin-bottom: 0; }
.leyenda-lista { list-style: none; padding-left: 0; }
.muestra { display: inline-block; width: 1.5rem; height: 1rem; margin-right: .5rem; vertical-align: -2px; border: 1px solid var(--bs-border-color); border-radius: 2px; }
.muestra.sin-color { background: #fff; }

/* ---- gráficos ---- */
.grafico { width: 100%; height: 340px; }
.grafico-alto { width: 100%; height: 420px; }
.nota { font-size: .85rem; color: var(--bs-secondary-color); }
