/* Bloque 12 — Contabilidad ampliada (Números → Contabilidad).
   (Se llama bloque13.css porque bloque12.css es del chat.)
   Reutiliza las tarjetas de Impuestos (.b9-card) y los tonos de b4
   (--b4-ok/am/ro/az), que ya cambian solos en Noche y Día. */
.b12-contab{display:flex; flex-direction:column; gap:16px; min-width:0;}
.b12-grid{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:16px; align-items:start;}
.b12-grid > .b12-ancha{grid-column:1 / -1;}
@media (max-width:900px){ .b12-grid{grid-template-columns:minmax(0,1fr);} }

#tab-contabilidad .b9-card-ico{width:40px; height:40px; min-width:40px; border-radius:50%; display:grid; place-items:center; flex:none; padding:0;}
#tab-contabilidad .b9-card-ico .ico-set{width:22px; height:22px; stroke-width:1.6;}
#tab-contabilidad .icon-btn.b4-acc{width:44px; height:44px; min-width:44px; border-radius:50%;}
#tab-contabilidad .icon-btn.b4-acc .ico-set{width:22px; height:22px;}
#tab-contabilidad .b9-card-tit{flex:1 1 auto; min-width:0;}

.b12-chips{display:flex; flex-wrap:wrap; gap:8px; min-width:0;}
.b12-chip{display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border-radius:999px; font-size:.82rem; font-weight:700;
  background:var(--b4-az-bg); color:var(--b4-az-ink); max-width:100%; box-sizing:border-box; overflow-wrap:anywhere; font-variant-numeric:tabular-nums;}
.b12-chip.ok{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b12-chip.am{background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b12-chip.ro{background:var(--b4-ro-bg); color:var(--b4-ro-ink);}
.b12-acc{display:flex; flex-wrap:wrap; gap:8px; align-items:center; min-width:0;}
.b12-btn{border-radius:999px; display:inline-flex; align-items:center; gap:8px; max-width:100%;}
.b12-btn .ico-set{width:18px; height:18px; flex:none;}
.b12-btn span{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b12-btn.btn-pill{padding:9px 48px 9px 16px;}

/* 1. Hucha */
.b12-hucha .b9-card-ico{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b12-hucha-big{display:flex; flex-direction:column; gap:2px;}
.b12-hucha-l{font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);}
.b12-hucha-v{font-size:2.4rem; line-height:1.1; font-weight:800; color:var(--b4-ok-ink); font-variant-numeric:tabular-nums; overflow-wrap:anywhere;}
@media (max-width:560px){ .b12-hucha-v{font-size:2rem;} }

/* 2. Gastos fijos */
.b12-fijos .b9-card-ico{background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b12-res{margin-left:auto; font-weight:800; font-variant-numeric:tabular-nums; color:var(--ink-soft); font-size:.9rem;}
.b12-sub{margin:0 0 2px; font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);}
.b12-props, .b12-lista{display:flex; flex-direction:column; gap:8px; min-width:0;}
.b12-props{padding:12px; border-radius:18px; background:var(--b4-az-bg);}
.b12-fijo, .b12-prop{display:flex; align-items:center; gap:12px; padding:10px 12px; border:1px solid var(--line); border-radius:18px; background:var(--surface); min-width:0; flex-wrap:wrap;}
.b12-fijo.pausado{opacity:.7;}
#tab-contabilidad .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);}
#tab-contabilidad .b9-gasto-ico .ico-set{width:22px; height:22px;}
.b12-fijo-tx{display:flex; flex-direction:column; gap:4px; flex:1 1 180px; min-width:0;}
.b12-fijo-tx strong{overflow-wrap:anywhere;}
.b12-fijo-tx > span{font-size:.84rem; color:var(--ink-soft); font-variant-numeric:tabular-nums;}
.b12-fijo-acc{display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-left:auto; max-width:100%;}
.b12-chip-btn{border:0; cursor:pointer; font:inherit; font-size:.82rem; font-weight:800;}
.b12-chip-btn .ico-set{width:16px; height:16px;}
.b12-saltar.on{background:var(--b4-am-bg); color:var(--b4-am-ink); border-color:transparent;}
@media (max-width:560px){ .b12-fijo-acc{margin-left:52px;} }

/* 3. Categorías y margen */
.b12-anios{display:flex; gap:8px; flex-wrap:wrap;}
.b12-cats .b9-card-ico{background:var(--b4-mo-bg); color:var(--b4-mo-ink);}
.b12-margen .b9-card-ico{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b12-res.neg{color:var(--b4-ro-ink);}
.b12-barras{display:flex; flex-direction:column; gap:10px; min-width:0;}
.b12-barra{display:flex; align-items:center; gap:10px; min-width:0;}
.b12-barra-ico{width:36px; height:36px; min-width:36px; border-radius:50%; display:grid; place-items:center; background:var(--b4-mo-bg); color:var(--b4-mo-ink);}
.b12-barra-ico .ico-set{width:20px; height:20px;}
.b12-barra-cu{flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:5px;}
.b12-barra-cab{display:flex; justify-content:space-between; gap:8px; font-size:.88rem; min-width:0;}
.b12-barra-n{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b12-barra-v{font-variant-numeric:tabular-nums; white-space:nowrap;}
.b12-barra-tr{height:10px; border-radius:999px; background:var(--b4-mo-bg); overflow:hidden;}
.b12-barra-fi{display:block; height:100%; border-radius:999px; background:var(--b4-mo);}
.b12-barra-pct{width:42px; text-align:right; font-size:.8rem; font-weight:800; color:var(--ink-soft); font-variant-numeric:tabular-nums;}
.b12-meses{display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:6px; align-items:end; min-width:0;}
.b12-mes{display:flex; flex-direction:column; align-items:center; gap:4px; min-width:0; padding:6px 0; border-radius:12px;}
.b12-mes.hoy{background:var(--b4-az-bg);}
.b12-mes.futuro{opacity:.55;}
.b12-mes-barras{height:120px; width:100%; display:flex; align-items:flex-end; justify-content:center; gap:2px;}
.b12-mes-b{display:block; width:min(12px, 40%); min-height:2px; border-radius:6px 6px 2px 2px;}
.b12-mes-b.ing{background:var(--b4-az);}
.b12-mes-b.gas{background:var(--b4-am);}
.b12-mes-n{font-size:.72rem; font-weight:700; color:var(--ink-soft); text-transform:capitalize;}
.b12-mes-pct{font-size:.7rem; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap;}
.b12-mes-pct.pos{color:var(--b4-ok-ink);}
.b12-mes-pct.neg{color:var(--b4-ro-ink);}
@media (max-width:560px){ .b12-meses{gap:2px;} .b12-mes-barras{height:90px;} .b12-mes-pct{font-size:.6rem;} .b12-mes-n{font-size:.62rem;} }

/* 4. Kilómetros */
.b12-km .b9-card-ico{background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b12-km-top{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap;}
.b12-km-v{color:var(--b4-az-ink);}
.b12-tarifa{display:inline-flex; align-items:center; gap:8px; padding:4px 4px 4px 14px; border-radius:999px; background:var(--b4-az-bg); color:var(--b4-az-ink); font-weight:800; font-size:.85rem;}
.b12-tarifa input{width:84px; border-radius:999px; text-align:right; font-variant-numeric:tabular-nums; min-height:36px; padding:4px 12px; box-sizing:border-box;}
.b12-tray .b9-gasto-ico{background:var(--b4-az-bg); color:var(--b4-az-ink);}

/* 5. Tickets pendientes */
.b12-tickets .b9-card-ico{background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b12-tickets.ok .b9-card-ico{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b12-cuenta{margin-left:auto; min-width:40px; height:40px; padding:0 12px; box-sizing:border-box; border-radius:999px; display:grid; place-items:center; font-weight:800; font-size:1.1rem; background:var(--b4-am-bg); color:var(--b4-am-ink); font-variant-numeric:tabular-nums;}
.b12-cuenta.ok{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b12-tk .b9-gasto-ico{background:var(--b4-am-bg); color:var(--b4-am-ink);}

/* 6. Calendario fiscal */
.b12-fiscal .b9-card-ico{background:var(--b4-ro-bg); color:var(--b4-ro-ink);}
.b12-plazos{display:flex; flex-direction:column; gap:8px;}
.b12-plazo{display:flex; align-items:center; gap:12px; padding:8px 10px; border-radius:18px; border:1px solid var(--line); min-width:0; flex-wrap:wrap;}
.b12-plazo-f{width:52px; height:52px; min-width:52px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b12-plazo-f strong{font-size:1.2rem;}
.b12-plazo-f span{font-size:.7rem; font-weight:800; text-transform:uppercase;}
.b12-plazo-am .b12-plazo-f{background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b12-plazo-ro .b12-plazo-f{background:var(--b4-ro-bg); color:var(--b4-ro-ink);}
.b12-plazo-ok .b12-plazo-f{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b12-plazo-ro{border-color:var(--b4-ro);}
.b12-plazo .b12-btn, .b12-plazo > .b12-chip{margin-left:auto;}

/* 7. Paquete para la gestoría */
.b12-gestoria .b9-card-ico{background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b12-trims{flex:none; width:100%; max-width:340px;}
.b12-trims .b9-trim-chip{min-height:40px;}
.b12-trims .b9-trim-chip::after{display:none;}
.b12-email{display:flex; align-items:center; gap:10px; padding:4px 4px 4px 14px; border-radius:999px; border:1px solid var(--line); background:var(--bg); min-width:0;}
.b12-email .ico-set{width:20px; height:20px; flex:none; color:var(--ink-soft);}
.b12-email input{flex:1 1 auto; min-width:0; border:0; background:transparent; border-radius:999px; min-height:40px; padding:4px 10px; box-sizing:border-box;}
.b12-correo{display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 12px; margin:0;}
.b12-correo dt{font-weight:800; color:var(--ink-soft); font-size:.85rem;}
.b12-correo dd{margin:0; overflow-wrap:anywhere; font-weight:700;}
.b12-correo-cuerpo{margin:0; padding:12px 14px; border-radius:16px; background:var(--bg); border:1px solid var(--line); white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; font-size:.88rem; max-height:40vh; overflow:auto;}

/* 8. Resumen anual y 347 */
.b12-anual .b9-card-ico{background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b12-anual-kpis{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:12px;}
@media (max-width:640px){ .b12-anual-kpis{grid-template-columns:minmax(0,1fr); gap:8px;} }
.b12-anual-kpi{display:flex; flex-direction:column; gap:6px; padding:12px 14px; border-radius:18px; background:var(--b4-az-bg); min-width:0; align-items:flex-start;}
.b12-anual-kpi.b12-t-am{background:var(--b4-am-bg);}
.b12-anual-kpi.b12-t-ok{background:var(--b4-ok-bg);}
.b12-anual-v{font-size:1.5rem; font-weight:800; font-variant-numeric:tabular-nums; overflow-wrap:anywhere;}
.b12-anual-kpi .b12-chip{background:var(--surface); color:var(--ink);}
.b12-anual-kpi .b12-chip.ok{color:var(--b4-ok-ink);}
.b12-anual-kpi .b12-chip.ro{color:var(--b4-ro-ink);}
.b12-tabla-wrap{min-width:0;}
.b12-tabla{width:100%; border-collapse:separate; border-spacing:0; font-size:.88rem; font-variant-numeric:tabular-nums; table-layout:fixed;}
.b12-tabla th, .b12-tabla td{padding:7px 6px; border-bottom:1px solid var(--line); text-align:left; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b12-tabla thead th{font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);}
.b12-tabla tbody th{text-transform:capitalize; font-weight:700;}
.b12-tabla thead th:first-child{width:3.6em;}
.b12-tabla th:first-child{text-overflow:clip;}
.b12-tabla .num{text-align:right;}
.b12-tabla .fuerte{font-weight:800;}
.b12-tabla .neg{color:var(--b4-ro-ink);}
.b12-tabla .prev{color:var(--ink-soft);}
.b12-flecha{font-size:.7rem;}
.b12-flecha.sube{color:var(--b4-ok-ink);}
.b12-flecha.baja{color:var(--b4-ro-ink);}
@media (max-width:560px){ .b12-tabla{font-size:.76rem;} .b12-tabla th, .b12-tabla td{padding:6px 3px;} }
.b12-347{display:flex; flex-direction:column; gap:10px; padding-top:6px; border-top:1px solid var(--line);}
.b12-347-tit{flex:1 1 auto; min-width:0;}
.b12-tercero-v{margin-left:auto; font-variant-numeric:tabular-nums; white-space:nowrap;}
.b12-tercero .b9-gasto-ico{background:var(--b4-mo-bg); color:var(--b4-mo-ink);}

/* 9. Facturas anteriores (Impuestos) */
.b12-subir-fact{display:contents;}

.b12-fact-lista{display:flex; flex-direction:column; gap:12px;}
.b12-fact{display:flex; flex-direction:column; gap:10px; padding:12px; border-radius:20px; border:1px solid var(--line); background:var(--bg); min-width:0;}
.b12-fact.no-cuadra{border-color:var(--b4-ro);}
.b12-fact.error{opacity:.85;}
.b12-fact-cab{display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-width:0;}
.b12-fact-cab .b9-gasto-ico{width:36px; height:36px; min-width:36px; border-radius:50%; display:grid; place-items:center; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b12-fact-cab .b9-gasto-ico .ico-set{width:20px; height:20px;}
.b12-fact-nom{flex:1 1 160px; min-width:0; overflow-wrap:anywhere;}
.b12-fact-campos{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px 10px;}
.b12-fact-campos .b7-campo{min-width:0;}
.b12-fact-campos .b7-campo.ancho{grid-column:span 3;}
.b12-fact-campos input{width:100%; box-sizing:border-box; min-width:0;}
@media (max-width:560px){ .b12-fact-campos{grid-template-columns:repeat(2, minmax(0,1fr));} .b12-fact-campos .b7-campo.ancho{grid-column:span 2;} }
.b12-fact-aviso{margin:0; color:var(--b4-ro-ink); font-weight:700; font-size:.86rem;}
.b12-fact-aviso:empty{display:none;}
.b12-prog{height:12px; border-radius:999px; background:var(--b4-az-bg); overflow:hidden;}
.b12-prog-fi{display:block; height:100%; width:0; border-radius:999px; background:var(--b4-az); transition:width .2s ease;}
.b12-prog-tx{margin:6px 0 0; font-weight:800; font-variant-numeric:tabular-nums; color:var(--ink-soft);}
.b12-fact-resumen{display:flex; flex-direction:column; gap:8px; padding:12px 14px; border-radius:18px; background:var(--b4-az-bg);}
.b12-fact-res-n{font-size:1.05rem;}
.b12-fact-res-n::first-letter{text-transform:uppercase;}
.b12-fact-prop{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.b12-prop-num:not(.on){background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b12-fact-cab{width:100%; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; padding:0; border-radius:14px;}
.b12-fact-nom{display:flex; flex-direction:column; gap:2px;}
.b12-fact-resu{font-size:.82rem; color:var(--ink-soft); font-variant-numeric:tabular-nums; overflow-wrap:anywhere;}
.b12-fact-cuerpo{display:flex; flex-direction:column; gap:10px;}
.b12-fact-sws{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px;}
@media (max-width:560px){ .b12-fact-sws{grid-template-columns:minmax(0,1fr);} }

/* 10. Subir facturas o tickets de gasto (Impuestos → Gastos) */
.b12-subir-gastos{align-items:center;}
.b12-soltar{font-size:.82rem; color:var(--ink-soft);}
@media (pointer:coarse){ .b12-soltar{display:none;} }
.b9-gastos.b12-arrastrando{outline:3px dashed var(--b4-az); outline-offset:-6px; background:var(--b4-az-bg);}
.b12-revisar{background:var(--b4-am-bg);}

.b12-rev{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:16px; align-items:start;}
@media (max-width:700px){ .b12-rev{grid-template-columns:minmax(0,1fr);} }
.b12-rev-vista{display:flex; flex-direction:column; gap:8px; min-width:0; border-radius:18px; background:var(--bg); border:1px solid var(--line); padding:8px; max-height:60vh; overflow:auto;}
.b12-rev-img{display:block; width:100%; height:auto; max-height:56vh; object-fit:contain; border-radius:12px; cursor:zoom-in; background:#fff;}
.b12-rev-vista.zoom .b12-rev-img{max-height:none; width:200%; max-width:none; cursor:zoom-out;}
.b12-rev-pdf{display:flex; align-items:center; gap:10px; padding:18px 14px; border-radius:14px; background:var(--b4-az-bg); color:var(--b4-az-ink); overflow-wrap:anywhere;}
.b12-rev-pdf .ico-set{width:28px; height:28px; flex:none;}
.b12-rev-form{display:flex; flex-direction:column; gap:12px; min-width:0;}
.b12-rev-form .b7-campos{min-width:0;}
.b12-subir-fila{display:flex;justify-content:center;margin:4px 0 14px;}
