/* ============================================================
   Botón "GENERAR INFORME" (PPTX físico) + su modal.
   Paleta: azul club var(--primary-blue), naranja #E8732A.
   ============================================================ */

/* Columna foto + botón en la cabecera de la ficha */
.pfh-foto-col { display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.pfh-btn-informe {
  background: #E8732A; color: #fff; font-weight: 700; border: none; border-radius: 6px;
  padding: .55rem .9rem; font-size: .8rem; letter-spacing: .02em; cursor: pointer;
  white-space: nowrap; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: background .15s;
}
.pfh-btn-informe:hover { background: #cf6020; }
.pfh-btn-informe:disabled { background: #c9b3a3; cursor: not-allowed; }

/* Modal */
.geninf-box { max-width: 1060px; width: 95%; max-height: 90vh; overflow-y: auto; text-align: left; }
.geninf-title { color: var(--primary-blue); margin: 0 0 .9rem; font-size: 1.3rem; }
.geninf-modal-heading { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; border-bottom:1px solid #dce4ed; margin-bottom:1rem; }
.geninf-modal-heading .geninf-title { margin-bottom:.25rem; }
.geninf-engine-badge { flex:0 0 auto; border:1px solid #b9d6c7; background:#edf8f2; color:#176b47; border-radius:999px; padding:.38rem .7rem; font-size:.72rem; font-weight:700; letter-spacing:.02em; }
.geninf-section { margin-bottom: 1.1rem; }
.geninf-lbl { display: block; font-weight: 600; color: var(--primary-blue); font-size: .8rem; margin-bottom: .4rem; }
.geninf-search {
  width: 100%; padding: .5rem .7rem; border: 1px solid #ccd3e0; border-radius: 6px;
  font-size: .9rem; box-sizing: border-box;
}
.geninf-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem 1.5rem; }

/* Selectores con TODAS las opciones visibles (radio/checklist como chips) */
.geninf-radio, .geninf-check { display: flex; flex-wrap: wrap; gap: .4rem .5rem; }
.geninf-radio label, .geninf-check label {
  display: inline-flex; align-items: center; gap: .4rem; cursor: pointer;
  border: 1px solid #d2dbe8; border-radius: 16px; padding: .32rem .7rem;
  font-size: .82rem; color: #22303f; background: #f6f8fc; transition: all .12s;
}
.geninf-radio label:hover, .geninf-check label:hover { border-color: var(--primary-blue); background: #eef2f8; }
.geninf-radio input, .geninf-check input { accent-color: #E8732A; margin: 0 .15rem 0 0; cursor: pointer; }
.geninf-flag { width: 20px; height: 14px; object-fit: cover; border-radius: 2px; vertical-align: middle; box-shadow: 0 0 1px rgba(0,0,0,.4); }
.geninf-opt-lbl { display: inline-flex; align-items: center; gap: .4rem; }

/* Resultados del buscador de comparación */
.geninf-results {
  margin-top: .45rem; max-height: 200px; overflow-y: auto;
  border: 1px solid #e6eaf2; border-radius: 6px;
}
.geninf-results:empty { display: none; }
.geninf-res-row {
  display: flex; align-items: center; gap: .55rem; padding: .35rem .6rem;
  border-bottom: 1px solid #f0f2f7;
}
.geninf-res-row:last-child { border-bottom: none; }
.geninf-res-row img { width: 26px; height: 26px; border-radius: 50%; object-fit: cover; background: #eef; }
.geninf-res-info { flex: 1; min-width: 0; }
.geninf-res-name { font-size: .85rem; color: #22303f; font-weight: 600; }
.geninf-res-team { font-size: .74rem; color: #8893a3; }
.geninf-res-add {
  background: var(--primary-blue); color: #fff; border: none; border-radius: 5px;
  width: 28px; height: 28px; cursor: pointer; font-weight: 700; font-size: 1rem; flex: 0 0 auto;
}
.geninf-res-add:hover { background: #16314e; }
.geninf-res-row.disabled { opacity: .6; }
.geninf-res-nodata { font-size: .72rem; color: #b02a2a; font-style: italic; }

/* Chips de seleccionados */
.geninf-selected { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .55rem; }
.geninf-chip {
  display: inline-flex; align-items: center; gap: .4rem; background: #eef2f8;
  border: 1px solid #d6e0ee; border-radius: 14px; padding: .2rem .3rem .2rem .65rem;
  font-size: .8rem; color: var(--primary-blue);
}
.geninf-chip-x { cursor: pointer; color: #a44; font-weight: 700; padding: 0 .3rem; }
.geninf-chip-x:hover { color: #d00; }
.geninf-mode-hint { font-size: .76rem; color: #66707d; margin-top: .35rem; }

/* Slider de exigencia (% mínimo en la posición) */
.geninf-slider { margin: .2rem .6rem 1.3rem; }

/* Tamaño del benchmark + Ver jugadores */
.geninf-bench-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.geninf-bench-size { font-size: .85rem; color: var(--primary-blue); font-weight: 600; }
.geninf-bench-size .warn { color: #c0392b; }
.geninf-ver-btn {
  background: #eef2f8; border: 1px solid #c8d4e6; color: var(--primary-blue); border-radius: 6px;
  padding: .35rem .75rem; cursor: pointer; font-size: .8rem;
}
.geninf-ver-btn:hover { background: #e2e9f4; }
.geninf-bench-list { margin-top: .55rem; max-height: 220px; overflow-y: auto; }
.geninf-bench-list table { width: 100%; border-collapse: collapse; font-size: .78rem; }
.geninf-bench-list th, .geninf-bench-list td {
  text-align: left; padding: .25rem .55rem; border-bottom: 1px solid #eef1f6;
}
.geninf-bench-list th { color: var(--primary-blue); font-weight: 700; position: sticky; top: 0; background: #fff; }
.geninf-bench-list td.num { text-align: right; }

/* Acciones */
.geninf-actions {
  display: flex; align-items: center; gap: 1rem; margin-top: .5rem;
  border-top: 1px solid #eef1f6; padding-top: 1rem;
}
.geninf-generar-btn { font-size: .9rem; padding: .6rem 1.3rem; flex: 0 0 auto; }
.geninf-progress-wrap { flex: 1; min-width: 220px; }
.geninf-bar {
  width: 100%; height: 14px; background: #e6eaf2; border-radius: 8px; overflow: hidden;
}
.geninf-bar-fill {
  height: 100%; width: 0%; border-radius: 8px;
  background: linear-gradient(90deg, #E8732A, #f0954f); transition: width .45s ease;
}
.geninf-estado { font-size: .82rem; color: var(--primary-blue); margin-top: .35rem; }
.geninf-estado a { color: #E8732A; font-weight: 700; }
.geninf-estado .err { color: #c0392b; }

/* ============================================================
   Acordeón de secciones del INFORME COMPLETO
   ============================================================ */
.geninf-subtitle { font-size: .82rem; color: #66707d; margin: -.4rem 0 1rem; }
.geninf-idioma-row { border-bottom: 1px solid #eef1f6; padding-bottom: .9rem; }
.geninf-acc-list { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1rem; }
.geninf-acc { border: 1px solid #dce3ee; border-radius: 8px; background: #fbfcfe; overflow: hidden; }
.geninf-acc[open] { border-color: #c2d0e6; box-shadow: 0 1px 4px rgba(26,58,92,.06); }
.geninf-acc-head {
  display: flex; align-items: center; gap: .6rem; cursor: pointer; list-style: none;
  padding: .6rem .8rem; font-weight: 600; color: var(--primary-blue); user-select: none;
}
.geninf-acc-head::-webkit-details-marker { display: none; }
.geninf-acc-head::after {
  content: "\25B8"; margin-left: auto; color: #8aa0bd; transition: transform .15s; font-size: .9rem;
}
.geninf-acc[open] .geninf-acc-head::after { transform: rotate(90deg); }
.geninf-acc-head:hover { background: #f1f5fb; }
.geninf-acc-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%; background: var(--primary-blue); color: #fff;
  font-size: .75rem; font-weight: 700; flex: 0 0 auto;
}
.geninf-acc-title { font-size: .92rem; }
.geninf-acc-status { margin-left:auto; margin-right:1.4rem; border-radius:999px; padding:.18rem .48rem; background:#e9f5ef; color:#19704d; font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.035em; }
.geninf-acc-status.pending { background:#eef1f5; color:#768495; }
.geninf-acc.disabled { background:#f6f8fa; }
.geninf-acc.disabled .geninf-acc-title { color:#6f7d8b; }
.geninf-acc.disabled .geninf-acc-body { opacity:.72; }
.geninf-acc-body { padding: .3rem .9rem .9rem; border-top: 1px solid #eef1f6; }
.geninf-acc-body .geninf-lbl { margin-top: .85rem; }
.geninf-acc-desc { font-size: .8rem; color: #66707d; margin: .5rem 0 0; }
.geninf-toggle { margin: .55rem 0 .2rem; }
.geninf-toggle label {
  display: inline-flex; align-items: center; gap: .4rem; font-size: .82rem; font-weight: 700;
  color: #E8732A; cursor: pointer;
}
.geninf-toggle input { accent-color: #E8732A; cursor: pointer; }

/* Configuración única de la plantilla revisada */
.geninf-box { width:min(94vw, 790px); max-width:790px; max-height:88vh; padding:0; background:#f4f7fa; }
.geninf-box .les-modal-close { z-index:2; }
.geninf-modal-heading { align-items:center; margin:0; padding:1.45rem 1.8rem 1.25rem;
  background:#fff; border-bottom:1px solid #dce5ee; }
.geninf-eyebrow { color:#527394; font-size:.7rem; font-weight:800; letter-spacing:.12em; margin-bottom:.27rem; }
.geninf-title { color:#103758; font-size:1.55rem; line-height:1.12; margin:0 0 .35rem; }
.geninf-subtitle { color:#61768a; font-size:.84rem; margin:0; line-height:1.45; }
.geninf-engine-badge { border-color:#d7e2ec; background:#f3f7fb; color:#285070; font-size:.7rem; }
.geninf-config-card { margin:1rem 1.55rem 0; padding:1.05rem 1.15rem 1.15rem;
  background:#fff; border:1px solid #dce5ee; border-radius:9px; }
.geninf-config-heading { display:flex; align-items:flex-start; justify-content:space-between;
  gap:1rem; border-bottom:1px solid #e7edf3; padding-bottom:.72rem; margin-bottom:.9rem; }
.geninf-config-heading h3 { color:#123b5c; font-size:1.03rem; margin:0 0 .18rem; font-weight:750; }
.geninf-config-heading p { color:#738699; font-size:.78rem; margin:0; line-height:1.4; }
.geninf-step { font-size:.68rem; font-weight:800; letter-spacing:.08em; color:#6687a6; }
.geninf-config-card .geninf-lbl { margin:.76rem 0 .38rem; color:#214c6e; font-size:.76rem;
  text-transform:uppercase; letter-spacing:.045em; font-weight:750; }
.geninf-position-dd .Select-control, .geninf-search { min-height:39px; border:1px solid #cbd8e4;
  border-radius:6px; background:#fff; color:#143f60; font-size:.89rem; box-shadow:none; }
.geninf-position-dd .Select-control:hover, .geninf-search:focus { border-color:#3774a5; }
.geninf-results { max-height:178px; margin-top:.4rem; border-radius:6px; border-color:#dce5ed; }
.geninf-res-row { padding:.46rem .65rem; gap:.65rem; }
.geninf-res-row img, .geninf-res-photo-empty { width:32px; height:32px; border-radius:5px;
  object-fit:cover; background:#e7eef5; flex:0 0 32px; }
.geninf-res-name { color:#113b5c; font-size:.84rem; }
.geninf-res-team { color:#7790a4; font-size:.72rem; }
.geninf-add-btn { border:1px solid #b5cadd; background:#f5f9fc; color:#164768;
  border-radius:5px; padding:.32rem .63rem; font-size:.72rem; font-weight:700; cursor:pointer; }
.geninf-add-btn:hover { background:#e7f1f8; }
.geninf-add-btn:disabled { opacity:.45; cursor:not-allowed; }
.geninf-added { color:#357b61; font-size:.72rem; font-weight:700; }
.geninf-selected { min-height:28px; align-items:center; margin-top:.55rem; }
.geninf-chip { border-radius:5px; background:#e9f2f8; border-color:#d0e0ed;
  padding:.27rem .35rem .27rem .56rem; font-size:.77rem; }
.geninf-chip-x { border:0; background:transparent; color:#647c91; font-size:1rem; cursor:pointer; }
.geninf-chip-x:hover { color:#b63c3c; }
.geninf-note { color:#8292a2; font-size:.72rem; margin:.63rem 0 0; line-height:1.4; }
.geninf-output-options { display:flex; flex-wrap:wrap; gap:.6rem; }
.geninf-output-options label { display:flex; align-items:center; gap:.55rem; min-width:205px;
  border:1px solid #cfdde9; border-radius:6px; padding:.65rem .8rem;
  color:#244d6e; background:#fbfdff; font-size:.85rem; font-weight:650; cursor:pointer; }
.geninf-output-options label:has(input:checked) { border-color:#1e6597; background:#eef6fb; color:#0e4169; }
.geninf-output-options label:has(input:disabled) { opacity:.5; cursor:not-allowed; }
.geninf-output-options input { accent-color:#17679d; margin:0; }
.geninf-development { display:flex; gap:.7rem; align-items:center; margin:1rem 1.55rem 0;
  color:#748698; font-size:.74rem; line-height:1.4; }
.geninf-dev-tag { white-space:nowrap; border:1px solid #d6e0e9; border-radius:4px;
  padding:.18rem .4rem; color:#5b7083; background:#ebf0f4; font-weight:700; }
.geninf-actions { margin:1.1rem 1.55rem 1.35rem; padding-top:1rem; border-color:#dbe4ec; }
.geninf-generar-btn { background:#164e7a; box-shadow:none; border-radius:5px; font-size:.84rem;
  padding:.65rem 1.25rem; }
.geninf-generar-btn:hover { background:#0d395b; }
.geninf-bar { height:8px; background:#e2eaf1; }
.geninf-bar-fill { background:#277db3; }
@media (max-width:640px) {
  .geninf-modal-heading { padding:1.3rem 1rem; }
  .geninf-engine-badge { display:none; }
  .geninf-config-card, .geninf-development { margin-left:.75rem; margin-right:.75rem; }
  .geninf-actions { margin-left:.75rem; margin-right:.75rem; flex-direction:column; align-items:stretch; }
  .geninf-output-options label { flex:1 1 100%; }
}
