/* Portal financiero: la serie y el consolidado. Usa los tokens de estilo.css. */
.fn-serie{background:var(--papel);border:1px solid var(--linea);border-radius:var(--radio);
  padding:20px;box-shadow:var(--sombra);margin-bottom:18px;border-top:4px solid var(--u-color,var(--acento))}
.fn-serie[hidden]{display:none}
.fn-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:14px 0}
.fn-tile{background:var(--fondo);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}
.fn-tile b{font-size:22px;font-weight:900;line-height:1.15;font-variant-numeric:tabular-nums}
.fn-tile span{font-size:11px;color:var(--suave);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.fn-tile small{font-size:12px;color:var(--suave)}
.fn-tile.mal b{color:var(--foco)} .fn-tile.bien b{color:var(--ok)}
.bien{color:var(--ok)} .mal{color:var(--foco)}
.fn-tile small .bien,.fn-tile small .mal{font-weight:700}

.fn-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:4px 0 14px;font-size:13.5px}
.fn-medidor{flex:1;min-width:220px;display:flex;align-items:center;gap:12px}
.fn-pista{position:relative;flex:1;height:12px;background:var(--linea);border-radius:6px}
.fn-pista i{position:absolute;inset:0 auto 0 0;border-radius:6px}
.fn-pista em,.fn-b em{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--tinta);border-radius:1px}
.fn-lectura{font-size:12.5px;font-weight:700;white-space:nowrap}

.fn-meses td.bien,.fn-meses td.mal{font-weight:700}
.fn-series tbody tr[data-u]{cursor:pointer}
.fn-series .pinta{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}
.fn-elim td{color:var(--suave);font-style:italic;font-weight:400}

.fn-dos{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;margin-top:18px}
.fn-desglose h3{font-size:14px;margin-bottom:8px}
.fn-fila{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(60px,1fr) 88px 84px;gap:8px;
  align-items:center;font-size:12.5px;padding:4px 0}
.fn-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fn-b{position:relative;height:9px;background:var(--linea);border-radius:5px}
.fn-b i{position:absolute;inset:0 auto 0 0;border-radius:5px}
.fn-v{text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.fn-d{text-align:right;font-size:11.5px;font-variant-numeric:tabular-nums}
.fn-ley{font-size:11.5px;color:var(--suave);margin:8px 0 0;display:flex;align-items:center;gap:6px}
.fn-ley i{display:inline-block;width:14px;height:8px;border-radius:4px}
.fn-ley em{display:inline-block;width:2px;height:12px;background:var(--tinta)}

.fn-nota{font-size:12.5px;color:var(--suave);margin:8px 0 0;max-width:80ch}
.fn-nota.mal{color:var(--foco)}
.fn-fuente{font-size:11.5px;color:var(--suave);margin:14px 0 0}
.fn-avisos{margin:8px 0 0;padding-left:18px;font-size:13px}
.fn-avisos li{margin-bottom:4px}
.fn-coef{border-top:4px solid var(--sol)}
.fn-carga{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  margin-top:16px;padding:12px 14px;border:1px dashed var(--linea);border-radius:10px}
.fn-carga > div{display:grid;gap:3px;max-width:62ch}
.fn-carga label.btn{cursor:pointer}
.fn-carga code{font-size:12px}

@media (max-width:640px){
  .fn-tile b{font-size:19px}
  .fn-fila{grid-template-columns:minmax(0,1fr) 80px 72px}
  .fn-fila .fn-b{display:none}
  .fn-meses th:nth-child(6),.fn-meses td:nth-child(6),.fn-meses th:nth-child(8),.fn-meses td:nth-child(8){display:none}
  .fn-series th:nth-child(3),.fn-series td:nth-child(3),.fn-series th:nth-child(9),.fn-series td:nth-child(9){display:none}
}

/* Los cuatro trimestres de la serie: meta, alcanzado y lo que falta. */
.fn-qs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:4px 0 18px}
.fn-q{background:var(--fondo);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;
  border:1px solid transparent;min-width:0}
.fn-q.curso{border-color:var(--u-color,var(--acento));background:var(--papel)}

.fn-q-alto{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.fn-q h3{font-size:20px;font-weight:900;margin:0}
.fn-q-est{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--suave);text-align:right}
.fn-q.curso .fn-q-est{color:var(--tinta)}
.fn-q dl{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;margin:2px 0 0;font-size:13px}
.fn-q dt{color:var(--suave)}
.fn-q dd{margin:0;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.fn-q .fn-pista{flex:none;height:8px}
.fn-q-falta{margin:0;font-size:12.5px}
.fn-q-falta b{font-size:15px;font-variant-numeric:tabular-nums}
.fn-q-sub td{font-weight:700;background:var(--fondo);border-bottom:2px solid var(--linea)}
@media (max-width:900px){ .fn-qs{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:480px){ .fn-qs{grid-template-columns:1fr} }
.fn-q-camino{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:8px;
  background:var(--sol-fondo);color:var(--sol-tinta);border-left:4px solid var(--sol)}
.fn-q-camino > span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.fn-q-camino > b{font-size:22px;font-weight:900;color:var(--tinta);font-variant-numeric:tabular-nums;line-height:1.1}
.fn-q-camino small{font-size:12.5px;color:var(--tinta)}
.fn-q-camino small.mal{color:var(--foco)}
.fn-q-camino.ok{background:var(--ok-fondo);border-left-color:var(--ok)}
.fn-pista i.fn-pv{opacity:.45;border-radius:0 6px 6px 0}
.fn-q dt.fn-q-pv,.fn-q dd.fn-q-pv{font-size:11.5px;font-weight:400;color:var(--suave)}
.fn-previo td{background:var(--sol-fondo);font-style:italic}
.fn-previo .chip{font-style:normal;margin-left:6px;font-size:10.5px}
.fn-sub{font-size:14px;margin:16px 0 6px}

/* Venta por producto, mes por mes. */
.fn-productos{margin-top:20px}
.fn-productos h3{font-size:15px;margin-bottom:2px}
.fn-pmes{border:1px solid var(--linea);border-radius:10px;margin-top:8px;background:var(--papel)}
.fn-pmes > summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;font-size:14px}
.fn-pmes-tot{margin-left:auto;font-weight:700;font-variant-numeric:tabular-nums;font-size:13px}
.fn-pmes-cuerpo{padding:0 14px 12px}
.fn-pc > summary{cursor:pointer;list-style:none}
.fn-pc > summary::-webkit-details-marker{display:none}
.fn-pc > summary .fn-n::before{content:"▸ ";color:var(--suave)}
.fn-pc[open] > summary .fn-n::before{content:"▾ "}
.fn-pc-solo .fn-n{padding-left:14px}
.fn-productos .fn-fila{grid-template-columns:minmax(0,1.3fr) minmax(60px,1fr) 96px 150px}
.fn-prod{margin:4px 0 10px 14px;width:calc(100% - 14px);font-size:12.5px}
.fn-prod td,.fn-prod th{padding:5px 8px}
.fn-p-cero td{color:var(--foco)}
@media (max-width:640px){
  .fn-productos .fn-fila{grid-template-columns:minmax(0,1fr) 84px 110px}
  .fn-prod th:nth-child(2),.fn-prod td:nth-child(2){display:none}
}
