/* ============================================================
   ANÁLISIS AVANZADO & PARAMETRIZACIÓN — Viña Las Pitras
   Reutiliza clases cf-* de cashflow.css para mantener coherencia.
   ============================================================ */

/* --- Toolbar del explorador --- */
.adv-toolbar { display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card) }
.adv-toolbar label { display:flex;flex-direction:column;gap:4px;font:600 8px/1.2 Manrope;color:var(--muted);text-transform:uppercase;letter-spacing:.5px }
.adv-toolbar select, .adv-toolbar input[type=text] { padding:7px 10px;border:1px solid var(--line);border-radius:8px;font:400 11px Manrope;color:var(--ink);background:var(--card);min-width:130px }
.adv-toolbar select:focus, .adv-toolbar input:focus { border-color:var(--forest-2);outline:none }

/* --- Chips de vistas guardadas y temporadas --- */
.adv-chips { display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 }
.adv-chip { display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:20px;border:1px solid var(--line);background:var(--card);font:600 10px Manrope;color:var(--muted);cursor:pointer;transition:all .15s }
.adv-chip:hover { border-color:var(--forest-2);color:var(--forest-2) }
.adv-chip.active { background:var(--forest);border-color:var(--forest);color:#fff }
.adv-chip .x { opacity:.5;font-size:11px;padding:0 2px }
.adv-chip .x:hover { opacity:1;color:var(--red) }

/* --- Tabla pivote con mapa de calor --- */
.adv-pivot td.heat { font-family:'DM Mono',monospace;font-size:10px }
.adv-pivot th.rowh { text-align:left;font-weight:600;color:var(--ink);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis }
.adv-pivot tfoot td { font-weight:700;border-top:2px solid var(--ink) }

/* --- Benchmarking cuarteles --- */
.q-chip { display:inline-block;padding:2px 8px;border-radius:10px;font:700 8px 'DM Mono',monospace;letter-spacing:.5px }
.q-chip.q1 { background:rgba(27,104,64,.12);color:var(--forest-2) }
.q-chip.q2 { background:rgba(196,164,107,.15);color:#8a6d3b }
.q-chip.q3 { background:rgba(196,164,107,.3);color:#7a5c26 }
.q-chip.q4 { background:rgba(187,62,73,.12);color:var(--red) }
.bench-detail { margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft) }
.bench-detail h4 { font:600 12px Manrope;color:var(--ink);margin:0 0 10px }
tr.bench-row { cursor:pointer }
tr.bench-row:hover td { background:rgba(27,104,64,.04) }

/* --- Calidad de datos --- */
.q-score-row { display:flex;gap:14px;align-items:stretch;flex-wrap:wrap;margin-bottom:16px }
.q-score-card { flex:0 0 160px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:18px;border-radius:var(--radius);background:linear-gradient(135deg,var(--forest),var(--forest-2));color:#fff }
.q-score-card .qs-num { font:700 34px 'DM Mono',monospace }
.q-score-card .qs-label { font:600 9px Manrope;letter-spacing:1px;text-transform:uppercase;opacity:.8 }
.q-score-card.bad { background:linear-gradient(135deg,#8a2f37,var(--red)) }
.q-score-card.mid { background:linear-gradient(135deg,#8a6d3b,var(--gold)) }
.q-issue-grid { flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px }
.q-issue { padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--card);text-align:center }
.q-issue .qi-num { font:700 20px 'DM Mono',monospace;color:var(--ink) }
.q-issue .qi-label { font:600 8px Manrope;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px }
.q-issue.warn .qi-num { color:var(--gold) }
.q-issue.err .qi-num { color:var(--red) }
.q-section { margin:18px 0 }
.q-section h4 { font:600 13px Manrope;color:var(--ink);margin:0 0 8px }
.q-thresholds { display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:10px 0;font:400 10px Manrope;color:var(--muted) }
.q-thresholds input { width:60px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;font:400 10px 'DM Mono',monospace;text-align:right }
.dup-group { border:1px solid var(--line);border-radius:10px;margin-bottom:10px;overflow:hidden }
.dup-group-head { display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--soft);font:600 10px Manrope;color:var(--ink) }
.dup-group table { width:100%;border-collapse:collapse;font-size:10px }
.dup-group td { padding:5px 10px;border-top:1px solid var(--line);font-family:'DM Mono',monospace;font-size:9px;color:var(--muted) }

/* --- Sensibilidad --- */
.tornado-wrap { padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:16px }
.tornado-row { display:grid;grid-template-columns:170px 1fr 110px;gap:10px;align-items:center;margin-bottom:8px }
.tornado-label { font:600 10px Manrope;color:var(--ink);text-align:right }
.tornado-bar-track { height:16px;background:var(--soft);border-radius:8px;overflow:hidden }
.tornado-bar { height:100%;background:linear-gradient(90deg,var(--forest-2),var(--forest));border-radius:8px;transition:width .3s }
.tornado-val { font:600 10px 'DM Mono',monospace;color:var(--muted) }
.whatif-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0 }
.whatif-card { padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card) }
.whatif-card label { display:flex;justify-content:space-between;font:600 10px Manrope;color:var(--ink);margin-bottom:6px }
.whatif-card label b { font-family:'DM Mono',monospace;color:var(--forest-2) }
.whatif-card input[type=range] { width:100%;accent-color:var(--forest-2) }
.whatif-result { display:flex;gap:16px;flex-wrap:wrap;padding:16px;border-radius:var(--radius);background:linear-gradient(135deg,var(--forest),var(--forest-2));color:#fff;align-items:center }
.whatif-result .wr-item { flex:1;min-width:140px }
.whatif-result .wr-label { font:600 8px Manrope;letter-spacing:1px;text-transform:uppercase;opacity:.75 }
.whatif-result .wr-val { font:700 20px 'DM Mono',monospace }

/* --- Conciliación bancaria --- */
.bank-upload { display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px;border:2px dashed var(--line);border-radius:var(--radius);background:var(--card);cursor:pointer;text-align:center;transition:border-color .2s }
.bank-upload:hover { border-color:var(--forest-2) }
.bank-upload strong { font:600 13px Manrope;color:var(--ink) }
.bank-upload small { font:400 10px Manrope;color:var(--muted) }
.bank-map { display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 }
.bank-map label { display:flex;flex-direction:column;gap:4px;font:600 8px Manrope;color:var(--muted);text-transform:uppercase }
.bank-map select { padding:6px 10px;border:1px solid var(--line);border-radius:8px;font:400 11px Manrope;min-width:120px }
.bm-score { display:inline-block;padding:2px 8px;border-radius:10px;font:700 9px 'DM Mono',monospace }
.bm-score.hi { background:rgba(27,104,64,.12);color:var(--forest-2) }
.bm-score.mid { background:rgba(196,164,107,.2);color:#7a5c26 }
.bm-score.low { background:rgba(187,62,73,.1);color:var(--red) }

/* --- Diálogo de configuración avanzada --- */
.adv-config-dialog .export-dialog-shell { max-width:1020px;width:96vw }
.acfg-tabs { display:flex;gap:4px;border-bottom:2px solid var(--line);margin-bottom:16px;flex-wrap:wrap }
.acfg-tabs button { padding:9px 16px;border:none;background:none;font:600 11px Manrope;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s }
.acfg-tabs button:hover { color:var(--ink) }
.acfg-tabs button.active { color:var(--forest-2);border-bottom-color:var(--forest-2) }
.acfg-body { min-height:300px;max-height:56vh;overflow-y:auto;padding-right:4px }
.acfg-table { width:100%;border-collapse:collapse;font-size:11px }
.acfg-table th { font:600 8px/1.2 Manrope;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding:7px 6px;border-bottom:2px solid var(--line);text-align:left;white-space:nowrap }
.acfg-table td { padding:5px 6px;border-bottom:1px solid var(--line);vertical-align:middle }
.acfg-table input, .acfg-table select { padding:5px 7px;border:1px solid var(--line);border-radius:6px;font:400 10px Manrope;color:var(--ink);background:var(--card);width:100% }
.acfg-table input[type=number] { font-family:'DM Mono',monospace;text-align:right;width:72px }
.acfg-table input:focus, .acfg-table select:focus { border-color:var(--forest-2);outline:none }
.acfg-del { background:none;border:none;cursor:pointer;color:var(--muted);font-size:13px;padding:2px 6px;border-radius:4px }
.acfg-del:hover { color:var(--red);background:rgba(187,62,73,.08) }
.acfg-add-row { display:flex;gap:10px;margin:14px 0;align-items:center;flex-wrap:wrap }
.acfg-note { padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft);font:400 10px/1.6 Manrope;color:var(--muted);margin-top:12px }
.acfg-note strong { color:var(--ink) }
.audit-item { display:flex;gap:10px;padding:8px 4px;border-bottom:1px solid var(--line);font:400 11px Manrope;color:var(--ink);align-items:baseline }
.audit-item .au-time { flex:0 0 120px;font:400 9px 'DM Mono',monospace;color:var(--muted) }
.audit-item .au-action { font-weight:600 }

/* --- Estados por temporada --- */
.season-status { display:inline-block;padding:2px 9px;border-radius:10px;font:600 8px Manrope;text-transform:uppercase;letter-spacing:.5px }
.season-status.abierta { background:rgba(27,104,64,.12);color:var(--forest-2) }
.season-status.cerrada { background:rgba(104,128,118,.15);color:var(--muted) }
.season-status.archivada { background:rgba(104,128,118,.08);color:#9aada3 }

/* --- Menú único: estas acciones viven SOLO en Herramientas de control,
       se ocultan sus duplicados del sidebar y la barra superior --- */
#openImport, #exportar, #exportCsv, #openActualImport { display:none !important }

/* Kilos y jornadas por cuartel se parametrizan en Configuración avanzada →
   Cuarteles; este acceso duplicaba esa misma edición. */
[data-control-action="kilograms"] { display:none !important }

/* --- Vistas personalizadas: ocultan los paneles globales por CSS,
       sin tocar estilos inline que rompan las vistas estándar --- */
body.custom-view-open .sup,
body.custom-view-open .filters,
body.custom-view-open #ambitoBox,
body.custom-view-open #areaActual,
body.custom-view-open #undoChange { display:none !important }

/* --- Responsive --- */
@media(max-width:800px){
  .adv-toolbar { gap:8px }
  .adv-toolbar select { min-width:100px }
  .tornado-row { grid-template-columns:110px 1fr 80px }
  .q-score-card { flex-basis:100% }
}

/* Columnas del plan por temporada: se distinguen de las comunes a todas. */
.acfg-table th.plan-col, .acfg-table td.plan-col { background:rgba(58,125,68,.055) }
.acfg-table th.plan-col { border-bottom-color:var(--forest-2) }
.acfg-table th.plan-col small {
  display:block;font:600 7.5px 'DM Mono',monospace;color:var(--forest-2);
  letter-spacing:0;text-transform:none;margin-top:1px;
}
.acfg-table td.plan-col input::placeholder { color:var(--muted);opacity:.65;font-style:italic }
