/* Bloque 25 · Números simplificado (auditoría 03-10-2026): docs/NUMEROS_SIMPLIFICADO.md.
   Muy visual, poco texto, ⓘ, centrado, botones redondos; 390/768/1280; Noche y Día
   con las variables de app.css (nada de colores sueltos). */

/* ---------- 25.0 Plan sin guardar: estado vacío (A1) ---------- */
.b25-sin-plan #planStats, .b25-sin-plan #planExplainer, .b25-sin-plan #planProgreso,
.b25-sin-plan #sec-plan-resumen > .stats-subhead, .b25-sin-plan #sec-plan-seguimiento,
.b25-sin-plan #sec-plan-embudo{display:none !important;}
.b25-vacio-plan{display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px; margin:8px auto 4px; padding:24px 16px; max-width:560px;
  border-radius:28px; background:var(--surface); border:1px dashed var(--line-strong);}
.b25-vacio-ico{display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:var(--info-bg); color:var(--info-ink, var(--info));}
.b25-vacio-ico .ico-set{width:32px; height:32px;}
.b25-vacio-tit{margin:0; font-size:1.25rem;}
.b25-vacio-sub{margin:0; color:var(--ink-soft);}
.b25-pasos{list-style:none; margin:4px 0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px; width:100%;}
.b25-paso{display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 8px; border-radius:20px; background:var(--bg); border:1px solid var(--line); position:relative; min-width:0;}
.b25-paso-n{position:absolute; top:-8px; left:50%; transform:translateX(-50%); min-width:22px; height:22px; border-radius:999px; background:var(--accent); color:var(--accent-ink); font-size:.75rem; font-weight:800; display:grid; place-items:center;}
.b25-paso-ico .ico-set{width:26px; height:26px;}
.b25-paso-tx{font-size:.8rem; font-weight:700; line-height:1.25;}
.b25-btn-redondo{border-radius:999px; min-height:48px; padding:0 22px; display:inline-flex; align-items:center; gap:8px;}
@media (max-width:420px){ .b25-pasos{grid-template-columns:1fr;} .b25-paso{flex-direction:row; justify-content:flex-start; padding:12px 14px;} .b25-paso-n{position:static; transform:none;} }

/* ---------- 25.0 Pequeños arreglos (B1, M4) ---------- */
.b9-pieza.b9-res.b9-res-favor{background:var(--zona-comercial-bg); border-color:var(--zona-comercial-line); color:var(--ink);}
.b9-pieza.b9-res.b9-res-favor strong{color:var(--zona-comercial-ink, var(--zona-comercial));}
.b25-alcance{margin:-4px 0 8px;}

/* ---------- 25.6 Tarjetas de la antigua Contabilidad, en su sitio nuevo ---------- */
.b25-contab{margin-top:16px;}
.b25-contab:empty{display:none;}
.b25-contab .b9-card-ico, #sec-beneficio .b9-card-ico, #sec-beneficio .b7-kpi-ico, #tab-numresumen .b7-kpi-ico, #tab-gastos .b7-kpi-ico, #tab-gastos .b9-card-ico{
  width:var(--fi-cab); height:var(--fi-cab); min-width:var(--fi-cab); border-radius:50%; display:grid; place-items:center; flex:none; padding:0;}
.b25-contab .b9-card-ico .ico-set, #sec-beneficio .b9-card-ico .ico-set, #sec-beneficio .b7-kpi-ico .ico-set, #tab-numresumen .b7-kpi-ico .ico-set, #tab-gastos .b7-kpi-ico .ico-set, #tab-gastos .b9-card-ico .ico-set{width:var(--fi-glifo); height:var(--fi-glifo); stroke-width:1.6;}
.b25-contab .icon-btn.b4-acc, #tab-gastos .icon-btn.b4-acc, #tab-numresumen .icon-btn.b4-acc{width:var(--fi-btn); height:var(--fi-btn); min-width:var(--fi-btn); border-radius:50%;}
.b25-contab .icon-btn.b4-acc .ico-set, #tab-gastos .icon-btn.b4-acc .ico-set, #tab-numresumen .icon-btn.b4-acc .ico-set{width:var(--fi-glifo); height:var(--fi-glifo);}
.b25-contab .b9-card-tit{flex:1 1 auto; min-width:0;}
.b25-contab .b9-gasto-ico, #tab-gastos .b9-gasto-ico{width:40px; height:40px; min-width:40px; border-radius:50%; display:grid; place-items:center; flex:none; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b25-contab .b9-gasto-ico .ico-set, #tab-gastos .b9-gasto-ico .ico-set{width:22px; height:22px;}
#tab-facturas.mt-modo-mentoring > :not(.mt-fact){display:none !important;}

/* ---------- 25.7 Resumen ---------- */
.b25-resumen{display:flex; flex-direction:column; gap:16px; max-width:1100px; margin:0 auto;}
.b25-aviso{margin:0;}
.b25-tiles{display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px;}
@media (max-width:1000px){ .b25-tiles{grid-template-columns:repeat(2, minmax(0, 1fr));} }
@media (max-width:520px){ .b25-tiles{grid-template-columns:minmax(0, 1fr);} }
.b25-tile-w{position:relative; min-width:0; display:flex;}
.b25-tile-w > .b4-info-btn{position:absolute; bottom:10px; right:10px; z-index:1;}
.b25-tile{flex:1 1 auto; text-align:left; font:inherit; color:inherit; cursor:pointer; min-height:132px; justify-content:space-between; transition:transform .15s ease, box-shadow .15s ease;}
.b25-tile:hover{transform:translateY(-2px);}
.b25-tile:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.b25-tile .b7-kpi-v{font-size:1.9rem;}
.b25-tile .b9-kpi-sub{padding-right:34px;}
.b7-kpi-ro .b7-kpi-ico{background:var(--b4-ro-bg); color:var(--b4-ro-ink);}
@media (max-width:640px){
  .b25-tile{min-height:0; flex-wrap:wrap;}
  .b25-tile .b7-kpi-v{font-size:1.45rem;}
  .b25-tile .b9-kpi-sub{flex:1 0 100%;}
}
.b25-objetivo{display:flex; flex-direction:column; gap:8px; padding:16px 18px; border-radius:24px; background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow);}
.b25-objetivo.b25-sin{flex-direction:row; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; border-style:dashed;}
.b25-obj-cab{display:flex; justify-content:space-between; gap:8px; flex-wrap:wrap; align-items:baseline;}
.b25-obj-cab strong{font-size:1.05rem;}
.b25-obj-cab span{color:var(--ink-soft); font-variant-numeric:tabular-nums;}
.b25-barra{height:12px; border-radius:999px; background:var(--b4-track); overflow:hidden;}
.b25-barra > span{display:block; height:100%; border-radius:inherit; background:var(--accent); transition:width .6s ease;}
.b25-acciones{display:flex; flex-wrap:wrap; justify-content:center; gap:10px;}
.b25-redondo{border-radius:999px; min-height:48px; padding:0 20px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700;}
.b25-redondo .ico-set{width:20px; height:20px;}
@media (max-width:420px){ .b25-acciones .b25-redondo{flex:1 1 100%;} }

/* ---------- 25.8 Gastos ---------- */
.b25-gastos{display:flex; flex-direction:column; gap:16px; max-width:1100px; margin:0 auto;}
.b25-periodo{justify-content:center;}
.b25-kpis-gastos .b7-kpi-v{font-size:1.6rem;}

/* ---------- 25.9 Hoy: plegables (Tu ritmo · Tu negocio de un vistazo) ---------- */
.b25-plegable{padding:0; overflow:hidden;}
.b25-plegable > summary{list-style:none; cursor:pointer; display:flex; align-items:center; gap:12px; padding:14px 16px; min-height:56px; border-radius:inherit;}
.b25-plegable > summary::-webkit-details-marker{display:none;}
.b25-plegable > summary:focus-visible{outline:2px solid var(--accent); outline-offset:-2px;}
.b25-plegable-ico{width:40px; height:40px; min-width:40px; border-radius:50%; display:grid; place-items:center; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b25-plegable-ico .ico-set{width:22px; height:22px;}
.b25-plegable-tx{display:flex; flex-direction:column; min-width:0; flex:1 1 auto;}
.b25-plegable-tx span{color:var(--ink-soft); font-size:.85rem;}
.b25-plegable-flecha{width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--b4-track); transition:transform .2s ease;}
.b25-plegable-flecha .ico-set{width:18px; height:18px; transform:rotate(90deg);}
.b25-plegable[open] > summary .b25-plegable-flecha{transform:rotate(180deg);}
.b25-plegable > :not(summary){margin:0 16px 16px;}
.b25-plegable .b25-en-hoy{margin:0 0 12px; box-shadow:none; border:0; padding:0; background:transparent;}
.b25-plegable-cuerpo{display:flex; flex-direction:column; gap:16px;}
#b25AprenderAhorro{border-radius:24px; background:var(--surface); border:1px solid var(--line); margin-top:16px;}
@media (prefers-reduced-motion:reduce){ .b25-plegable-flecha, .b25-tile, .b25-barra > span{transition:none;} }

/* ---------- 25.10 Impuestos: lo que debes, arriba ---------- */
.b25-hero{display:flex; align-items:center; justify-content:space-between; gap:14px; flex-wrap:wrap; padding:18px 20px; border-radius:28px; margin:0 0 14px;
  background:var(--b4-ro-bg); border:1px solid var(--warn-line);}
.b25-hero.ok{background:var(--b4-ok-bg); border-color:var(--zona-comercial-line);}
.b25-hero-tx{display:flex; flex-direction:column; gap:6px; min-width:0;}
.b25-hero-l{font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);}
.b25-hero-v{font-size:2.1rem; font-weight:800; font-variant-numeric:tabular-nums; line-height:1.1;}
@media (max-width:520px){ .b25-hero{padding:16px;} .b25-hero-v{font-size:1.7rem;} .b25-hero .b25-redondo{flex:1 1 100%;} }
.b25-enlace-gastos{display:flex; align-items:center; gap:10px; width:100%; margin:14px 0 0; padding:14px 18px; min-height:52px; border-radius:999px; border:1px solid var(--line);
  background:var(--surface); color:inherit; font:inherit; text-align:left; cursor:pointer;}
.b25-enlace-gastos .ico-set{width:22px; height:22px; flex:none;}
.b25-enlace-gastos span{flex:1 1 auto; min-width:0;}
.b25-enlace-gastos strong{color:var(--accent); white-space:nowrap;}
.b25-enlace-gastos:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}

/* ---------- 25.11 Plan: gráfico del año con el mes elegido ---------- */
.b25-col-sel .b4-barra-obj{stroke:var(--accent); stroke-width:2;}
.b4-svg .b4-col{cursor:pointer;}
.b25-nota-mes{margin-top:8px;}
.b25-chip-plan{font-weight:700;}
.b25-del-plan{align-items:center;}
.b25-del-plan-campo input[readonly]{opacity:.75;}
.b25-sin-cobrar{margin-left:6px; background:var(--b4-am-bg); color:var(--b4-am-ink);}

/* ---------- 25.14 Un único «Descargar» ---------- */
.b25-para{margin-bottom:6px;}
.b25-para-chip{display:inline-flex; align-items:center; gap:6px;}
.b25-para-chip .ico-set{width:18px; height:18px;}
.b25-dentro{list-style:none; margin:4px 0 0; padding:0; display:grid; gap:6px;}
.b25-dentro li{display:flex; align-items:center; gap:8px; padding:8px 12px; border-radius:16px; background:var(--bg); border:1px solid var(--line);}
.b25-dentro .ico-set{width:18px; height:18px; color:var(--zona-comercial-ink, var(--zona-comercial)); flex:none;}
.b25-barra-facturas{margin:10px 0 14px;}
.b25-hero-acc{display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end;}
@media (max-width:520px){ .b25-hero-acc{width:100%;} .b25-hero-acc .b25-redondo{flex:1 1 100%;} }
.b25-correo-gestoria{display:flex; align-items:center; gap:8px; overflow-wrap:anywhere;}
.b25-correo-gestoria .ico-set{width:18px; height:18px; flex:none;}

/* ---------- 25.15 Un único «Subir» ---------- */
.b25-subir-lista{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px;}
.b25-subir-fila{display:grid; grid-template-columns:auto minmax(0, 1fr); gap:6px 12px; align-items:center; padding:10px 12px; border-radius:20px; background:var(--bg); border:1px solid var(--line);}
.b25-subir-fila.fuera{opacity:.6;}
.b25-subir-tx{display:flex; flex-direction:column; min-width:0;}
.b25-subir-tx strong{overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b25-subir-tx span{color:var(--ink-soft); font-size:.82rem;}
.b25-subir-tipos{grid-column:1 / -1; display:flex; flex-wrap:wrap; gap:6px;}
.b25-subir-fila .b9-gasto-ico{width:40px; height:40px; min-width:40px; border-radius:50%; display:grid; place-items:center; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b25-subir-fila .b9-gasto-ico .ico-set{width:22px; height:22px;}
.b25-subir-mano{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px;}
.b25-subir-l{font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);}
.b25-subir-mano .b25-redondo{min-height:44px; padding:0 16px;}

/* ---------- 25.16 Listas largas (M9) ---------- */
.b9-trim.b25-plegado .b9-trim-lista{display:none;}
.b25-trim-tog .ico-set{transform:rotate(90deg); transition:transform .2s ease;}
.b9-trim:not(.b25-plegado) .b25-trim-tog .ico-set{transform:rotate(-90deg);}
.b25-ver-mas{align-self:center; margin:8px auto 0;}
@media (prefers-reduced-motion:reduce){ .b25-trim-tog .ico-set{transition:none;} }
.b25-subir-zona{display:flex; flex-direction:column; align-items:center; gap:8px; width:100%; padding:24px 16px; border-radius:24px; border:2px dashed var(--line-strong);
  background:var(--bg); color:inherit; font:inherit; text-align:center; cursor:pointer;}
.b25-subir-zona span:last-child{color:var(--ink-soft); font-size:.85rem;}
.b25-subir-zona:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
/* En los plegables de Hoy, el resumen ya dice de qué va cada bloque: sin subtítulos repetidos */
.b25-plegable .section-head .sub{display:none;}
.b25-plegable-tx span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.b25-gtrims{justify-content:center;}
.b25-gtrim span{color:var(--ink-soft); font-weight:500;}
@media (max-width:420px){ .b25-gtrim span{display:none;} }

/* ---------- 25.17 Móvil: las 5 pestañas de Números caben a 390 (M8) y el ⓘ de las cifras no pisa el importe ---------- */
@media (max-width:480px){
  .subnav-grupo[data-grupo="numeros"]{gap:2px;}
  .subnav-grupo[data-grupo="numeros"] .chip{padding-left:7px; padding-right:7px; font-size:.78rem; letter-spacing:0;}
  .subnav-grupo[data-grupo="numeros"] .b25-largo{display:none;}
}
@media (max-width:640px){
  .b25-tile{padding-right:58px;}
  .b25-tile-w > .b4-info-btn{top:50%; bottom:auto; transform:translateY(-50%); right:6px;}
}
.b25-hero-tx{flex:1 1 260px;}
.b25-hero-acc{flex:0 0 auto;}
.b25-hero-acc .b25-redondo, .b25-acciones .b25-redondo{white-space:nowrap; max-width:none;}
/* 320–400 px: la fila de factura de Impuestos parte su detalle (base · IVA · ret.) en vez de salirse */
@media (max-width:400px){
  .b9-fact .b9-gasto-imp{min-width:0; max-width:100%;}
  .b9-fact .b9-gasto-imp > :not(strong){white-space:normal; text-align:right; overflow-wrap:anywhere;}
  .b9-gasto.b9-fact{grid-template-columns:auto minmax(0,1fr) minmax(0, auto) auto;}
}
/* Plegado de verdad: lo de dentro no ocupa sitio (ni cuenta para el «+» o la barra) hasta que se abre */
.b25-plegable:not([open]) > :not(summary){display:none !important;}
/* Botones redondos con la flecha roja (.btn-pill): el texto nunca queda debajo
   de la flecha (David, 06-10-2026: «Subir», «Gasto a mano», «Descargar» cortados). */
.btn-pill.b25-redondo, .b25-acciones .btn-pill, .b25-hero-acc .btn-pill{padding-left:20px; padding-right:52px; flex-shrink:0; max-width:100%;}
