/* Complementos mínimos a wolf.css: solo tokens, ningún color propio. */
.tbl a.fila-link { color: var(--accent); font-weight: 600; text-decoration: none; }
.tbl a.fila-link:hover { text-decoration: underline; }
.tbl th.num, .tbl td.num { text-align: right; font-variant-numeric: tabular-nums; }
.tbl .fila-error { margin-top: var(--sp-4); max-width: 280px; }
.tbl th, .tbl td { white-space: nowrap; }
.tbl td.prospecto, .tbl .fila-error { white-space: normal; }
.tbl td.prospecto { min-width: 160px; max-width: 260px; }
.card:has(> .tbl) { overflow-x: auto; }

.tbl tr.grupo td { background: var(--accent-soft); border-bottom: 1px solid var(--accent-line); white-space: normal; }
.tbl tr.grupo:hover td { background: var(--accent-soft); }
.tbl tr.grupo .badge { margin-left: var(--sp-4); }

/* Detalle de reunión */
.mt-16 { margin-top: var(--sp-16); }
.num { font-variant-numeric: tabular-nums; }
.det-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--sp-16); flex-wrap: wrap; }
.acciones { display: flex; align-items: center; gap: var(--sp-8); flex-wrap: wrap; }
.det-datos { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: var(--sp-16); margin-top: var(--sp-16); }
.linea { list-style: none; margin: 0; padding: 0 0 0 var(--sp-12); border-left: 2px solid var(--stroke-default); }
.linea li { display: flex; align-items: center; gap: var(--sp-12); flex-wrap: wrap; padding: var(--sp-8) var(--sp-12); border-radius: var(--radius-sm); }
.linea li.actual { background: var(--accent-soft); border: 1px solid var(--accent-line); }
/* break-word, no anywhere: anywhere colapsa el min-content de las celdas y parte "Cubierto" en "Cubiert|o" */
.analisis { overflow-wrap: break-word; }
.det-edit { display: flex; align-items: flex-end; gap: var(--sp-12); flex-wrap: wrap; }
.det-edit label { display: flex; flex-direction: column; gap: var(--sp-4); }

/* Filtros del índice */
.filtros { display: flex; flex-wrap: wrap; gap: var(--sp-8); align-items: center; }
.filtros .input, .filtros .select { width: auto; padding: var(--sp-6) var(--sp-12); font-size: 13px; }
.filtros-q { flex: 1 1 220px; min-width: 180px; }
.filtros-check { display: inline-flex; align-items: center; gap: var(--sp-6); font-size: 13px; color: var(--text-secondary); white-space: nowrap; cursor: pointer; }

/* Chips de puntaje */
.score { display: inline-block; min-width: 2.2em; padding: 2px var(--sp-8); border-radius: var(--radius-pill); font-weight: 700; font-variant-numeric: tabular-nums; text-align: center; }
.score-bien  { background: var(--success-soft); color: var(--success); }
.score-medio { background: var(--warning-soft); color: var(--warning); }
.score-bajo  { background: var(--danger-soft); color: var(--danger); }
.score-lg { font-size: 16px; }
td .score:empty { background: none; }

/* Tarjetas de métricas */
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: var(--sp-12); }
.stat { padding: var(--sp-16); }
.stat-num { font-size: 26px; font-weight: 700; font-variant-numeric: tabular-nums; line-height: 1.2; }
.stat-num.score { padding: 2px var(--sp-12); }
.stat-de { font-size: 14px; font-weight: 500; color: var(--text-muted); margin-left: var(--sp-4); }
.stat-rotulo { font-size: 12.5px; color: var(--text-secondary); margin-top: var(--sp-4); }
.duo { display: grid; grid-template-columns: 2fr 1fr; gap: var(--sp-12); }
@media (max-width: 900px) { .duo { grid-template-columns: 1fr; } }

/* Tendencia (sparkline SVG) */
.spark { width: 100%; height: 120px; display: block; }
.spark-guia { stroke: var(--stroke-default); stroke-width: 1; stroke-dasharray: 3 4; }
.spark-linea { fill: none; stroke: var(--accent); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.spark-area { fill: var(--accent-soft); stroke: none; }
.spark-punto { fill: var(--accent); stroke: var(--bg-surface); stroke-width: 2; }
.spark-punto:hover { r: 6; }

/* Distribución por resultado: barra segmentada + leyenda con texto (nunca color solo) */
.dist { display: flex; height: 18px; border-radius: var(--radius-pill); overflow: hidden; gap: 2px; background: var(--bg-surface); }
.dist-seg { min-width: 6px; }
.seg-success { background: var(--success); }
.seg-warning { background: var(--warning); }
.seg-danger  { background: var(--danger); }
.seg-muted   { background: var(--text-muted); }
.dist-leyenda { list-style: none; margin: var(--sp-12) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--sp-8) var(--sp-16); font-size: 13px; color: var(--text-secondary); }
.dist-leyenda li { display: inline-flex; align-items: center; gap: var(--sp-6); }
.dist-punto { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }

/* Secciones plegables del análisis */
details.sec { background: var(--bg-elevated); border: 1px solid var(--stroke-default); border-radius: var(--radius); box-shadow: var(--shadow-sm); margin-bottom: var(--sp-12); }
details.sec > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: var(--sp-8); padding: var(--sp-12) var(--sp-16); font-size: 15px; font-weight: 700; color: var(--text-primary); border-radius: var(--radius); }
details.sec > summary::-webkit-details-marker { display: none; }
details.sec > summary::before { content: "▸"; color: var(--accent); transition: transform .16s var(--ease); flex: none; }
details.sec[open] > summary::before { transform: rotate(90deg); }
details.sec > summary:hover { background: var(--bg-hover); }
details.sec[open] > summary { border-bottom: 1px solid var(--stroke-default); border-radius: var(--radius) var(--radius) 0 0; }
.sec-cuerpo { padding: var(--sp-8) var(--sp-16) var(--sp-16); }

/* Tipografía del análisis (HTML del LLM): jerarquía, aire y citas destacadas */
.analisis h2 { font-size: 16px; margin: var(--sp-16) 0 var(--sp-8); }
.analisis h3 { font-size: 14px; margin: var(--sp-16) 0 var(--sp-8); color: var(--text-primary); }
.analisis p, .analisis li { line-height: 1.6; }
.analisis p { margin: var(--sp-8) 0; }
.analisis ul, .analisis ol { margin: var(--sp-8) 0; padding-left: var(--sp-24); }
.analisis li { margin: var(--sp-4) 0; }
.analisis blockquote { margin: var(--sp-12) 0; padding: var(--sp-8) var(--sp-16); background: var(--accent-soft); border-left: 3px solid var(--accent); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; line-height: 1.55; }
.analisis blockquote strong { display: block; font-size: 12px; color: var(--accent); margin-bottom: var(--sp-2); }
.analisis table { width: 100%; border-collapse: collapse; margin: var(--sp-12) 0; font-size: 13.5px; }
.analisis th { text-align: left; font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: var(--text-secondary); background: var(--bg-surface); white-space: nowrap; }
.analisis th, .analisis td { padding: var(--sp-8) var(--sp-12); border-bottom: 1px solid var(--stroke-default); vertical-align: top; }
.analisis td:first-child, .analisis th:first-child { padding-left: 0; }
.analisis tr:last-child td { border-bottom: none; }
.analisis em { color: var(--text-secondary); }

.sidebar-footer .theme-switch { margin-bottom: var(--sp-12); }

/* Dashboards, perfil, ajustes y usuarios */
.perfil-md { min-height: 50vh; }
.claves { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-8); }
.usr-edit { display: flex; align-items: center; gap: var(--sp-8); flex-wrap: wrap; }
.usr-edit .input-inline { width: auto; min-width: 120px; }
.usr-alta { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0 var(--sp-16); }
.alert-success { background: var(--success-soft); color: var(--success); border: 1px solid var(--success); border-radius: var(--radius-sm); padding: var(--sp-12); font-size: 13px; margin-bottom: var(--sp-16); }
