/* =====================================================================
   BLOQUE 9 — Facturas mejoradas e Impuestos. «Ajustar mi factura» (ventana
   centrada), estados Sin emitir → Emitida → Cobrada, histórico por
   trimestre, y Números → Impuestos (aviso, trimestres con plazo, KPI,
   IVA con barras por mes, IRPF, otros, gastos). Va la última: reutiliza
   las piezas de bloque4.css y bloque7.css y solo usa tokens (Noche y Día).
   ===================================================================== */
:root{ --b9-r:22px; --b9-ticket:#fff4e6; }

/* ---------- «Ajustar mi factura» ---------- */
.b9-ajustar-barra{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.btn.b9-btn-ajustar{min-height:48px; padding:0 22px; gap:10px; justify-content:center; font-weight:800; border-radius:999px;}
.b9-btn-ajustar .ico-set{width:20px; height:20px;}
.b9-btn-ajustar.btn-pill::after, .b9-btn-ajustar.btn-pill::before{display:none;}
.b9-ajustar-estado{font-size:.76rem; font-weight:800; padding:6px 12px; border-radius:999px; white-space:nowrap;}
.b9-ajustar-estado.ok{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b9-ajustar-estado.falta{background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b9-anio-acc{display:flex; gap:8px; flex-wrap:wrap;}
.btn.b9-btn-zip{min-height:44px; gap:8px; justify-content:center;}
.b9-btn-zip .ico-set{width:18px; height:18px;}

/* ⓘ en línea (mismo panel que el resto de la app) */
.b4-info-btn.b9-info{flex:none; margin:0;}

/* ---------- Ventana centrada ---------- */
.overlay.b9-overlay{justify-content:center; align-items:center; padding:16px; box-sizing:border-box; z-index:60;}
.b9-dlg{
  width:min(560px, 100%); max-height:calc(100dvh - 32px); display:flex; flex-direction:column; background:var(--surface); color:var(--ink);
  border:1px solid var(--line-strong); border-radius:28px; box-shadow:var(--shadow), 0 30px 80px -30px rgba(0,0,0,.6); overflow:hidden;
}
.b9-dlg.b9-dlg-ancho{width:min(940px, 100%);}
@media (prefers-reduced-motion:no-preference){ .b9-dlg{animation:b9Entra .2s cubic-bezier(.2,.7,.2,1);} @keyframes b9Entra{from{opacity:0; transform:translateY(14px) scale(.98);} to{opacity:1; transform:none;}} }
.b9-dlg-cab{display:flex; align-items:center; gap:12px; padding:16px 16px 14px 20px; border-bottom:1px solid var(--line);}
.b9-dlg-ico{flex:none; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:var(--accent-ink);}
.b9-dlg-ico .ico-set{width:21px; height:21px;}
.b9-dlg-tit{margin:0; font-size:1.2rem; font-weight:800; flex:1 1 auto; min-width:0;}
.b9-dlg-estado{font-size:.76rem; font-weight:800; padding:6px 12px; border-radius:999px; white-space:nowrap;}
.b9-dlg-estado:empty{display:none;}
.b9-dlg-estado.guardando{background:var(--b4-track); color:var(--ink-soft);}
.b9-dlg-estado.ok{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b9-dlg-estado.error{background:var(--b4-ro-bg); color:var(--b4-ro-ink);}
.b9-dlg-x{flex:none; width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:var(--bg); color:var(--ink); display:grid; place-items:center; cursor:pointer; padding:0;}
.b9-dlg-x .ico-set{width:18px; height:18px;}
.b9-dlg-x:hover{border-color:var(--line-strong);}
.b9-dlg-x:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.b9-dlg-cuerpo{padding:18px 20px; overflow-y:auto; overscroll-behavior:contain; display:flex; flex-direction:column; gap:14px; min-height:0;}
.b9-dlg-pie{display:flex; justify-content:center; gap:10px; padding:12px 20px 16px; border-top:1px solid var(--line);}
.b9-dlg-pie:empty{display:none;}
.b9-dlg-pie .btn{min-height:50px; padding:0 34px; justify-content:center; font-weight:800; border-radius:999px;}
.b9-dlg-pie .btn-pill::after, .b9-dlg-pie .btn-pill::before{display:none;}
@media (max-width:560px){
  .overlay.b9-overlay{padding:0; align-items:flex-end;}
  .b9-dlg, .b9-dlg.b9-dlg-ancho{width:100%; max-height:94dvh; border-radius:26px 26px 0 0; border-bottom:0;}
  .b9-dlg-cab{padding:14px 12px 12px 16px; gap:10px;}
  .b9-dlg-cuerpo{padding:14px 16px;}
  .b9-dlg-pie{padding:10px 16px calc(14px + env(safe-area-inset-bottom));}
  .b9-dlg-pie .btn{width:100%;}
  .b9-dlg-estado{font-size:.7rem; padding:5px 9px;}
}
.b9-aj-grid .b4-plan-grupo{margin:0;}
#b9LogoGrupo{grid-column:1 / -1;}
.b9-pct-hueco{display:block;}
.b9-logo{gap:18px;}
.b7-logo-prev.b9-logo-prev{width:112px; height:112px; border-radius:28px; cursor:pointer; padding:0; font:inherit; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; border:2px dashed var(--line-strong);}
.b7-logo-prev.b9-logo-prev.con-logo{border-style:solid; border-width:1px;}
.b9-logo-prev:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.b9-logo-mas{font-size:.72rem; font-weight:800; color:#5d6375;}
.b9-logo .b7-logo-acc{flex-direction:column; align-items:flex-start;}
.b9-logo .b7-logo-acc > div{display:flex; gap:10px;}
.b9-logo .btn{min-height:44px; padding:0 20px; justify-content:center; border-radius:999px;}
.b9-logo .btn-pill::after, .b9-logo .btn-pill::before{display:none;}
.b9-logo-acc-fila{display:flex; gap:10px; flex-wrap:wrap;}

/* ---------- Estados de la factura ---------- */
.b7-ed-tit{flex-wrap:wrap; row-gap:8px;}
.b9-estados{display:flex; align-items:center; gap:8px; flex-wrap:wrap; min-width:0;}
.b9-est-lista{list-style:none; margin:0; padding:4px; display:flex; align-items:center; gap:2px; background:var(--b4-track); border-radius:999px;}
.b9-est{display:flex; align-items:center; gap:6px; padding:5px 11px; border-radius:999px; font-size:.74rem; font-weight:800; color:var(--ink-soft); white-space:nowrap;}
.b9-est-punto{width:8px; height:8px; border-radius:50%; background:currentColor; opacity:.5;}
.b9-est.hecho{color:var(--ink);}
.b9-est.hecho .b9-est-punto{opacity:1; background:var(--b4-ok);}
.b9-est.actual{background:var(--surface); color:var(--ink); box-shadow:0 1px 3px rgba(0,0,0,.18);}
.b9-est.actual .b9-est-punto{opacity:1; background:var(--b4-am);}
.b9-est-emitida.actual .b9-est-punto{background:var(--b4-az);}
.b9-est-cobrada.actual .b9-est-punto{background:var(--b4-ok);}
@media (max-width:420px){ .b9-est{padding:5px 8px; font-size:.68rem;} }

/* ---------- Vista previa: nombre bajo el logo, nº al emitir, referencias ---------- */
.b9-doc-marca{display:flex; flex-direction:column; align-items:flex-start; gap:10px; min-width:0;}
.b9-doc-agente{font-size:clamp(1.15rem, 3.2vw, 1.45rem); font-weight:800; line-height:1.15; color:var(--b7-tinta); letter-spacing:-.01em;}
.b9-logo-hueco{display:block; width:180px; height:80px; max-width:100%; align-self:flex-start; margin:2px 0 12px; padding:0 14px; border-radius:16px; border:1.5px dashed var(--b7-linea); background:transparent; color:var(--b7-suave); font:inherit; font-size:.8rem; font-weight:700; cursor:pointer;}
.b9-logo-hueco:hover{border-color:var(--b7-azul); color:var(--b7-azul);}
.b9-logo-hueco:focus-visible{outline:2px solid var(--b7-azul); outline-offset:2px;}
.b7-doc-codigo.b9-prevista{display:flex; align-items:baseline; gap:6px; flex-wrap:wrap; justify-content:flex-end;}
.b9-nprev{color:var(--b7-tinta); opacity:.55;}
.b9-alemitir{font-size:.8rem; font-weight:700; color:var(--b7-rojo);}
@media (max-width:560px){ .b7-doc-codigo.b9-prevista{justify-content:flex-start;} }
.b9-doc-celda{display:flex; flex-direction:column; gap:3px; min-width:0;}
.b9-doc-ref{font-size:.74rem; color:var(--b7-suave);}
.b9-opcional{color:var(--b7-suave) !important; border:1px dashed var(--b7-linea); border-radius:999px !important; padding:0 8px; font-size:.92em; display:inline-block;}
.b9-linea-arriba{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.55fr); gap:8px;}
.b9-linea-ref{border:1.5px solid var(--line-strong); border-radius:999px; background:var(--bg); color:var(--ink); padding:11px 14px; font-size:.9rem; font-family:inherit; min-height:46px; width:100%; box-sizing:border-box; min-width:0;}
.b9-linea-ref:focus{outline:none; border-color:var(--info-ink); box-shadow:0 0 0 3px var(--info-line);}
@media (max-width:420px){ .b9-linea-arriba{grid-template-columns:1fr;} }

/* ---------- Histórico por trimestre ---------- */
.b7-lista.b9-historico{display:flex; flex-direction:column; gap:18px;}
.b9-trim{display:flex; flex-direction:column; gap:10px; min-width:0;}
.b9-trim-cab{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:10px 12px; background:var(--surface); border:1px solid var(--line); border-radius:var(--b9-r); box-shadow:var(--shadow);}
.b9-trim-t{flex:none; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:var(--b4-az-bg); color:var(--b4-az-ink); font-weight:900; font-size:1.05rem;}
.b9-trim-t-sin{background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b9-trim-tx{display:flex; flex-direction:column; gap:2px; min-width:0; flex:1 1 140px;}
.b9-trim-tx strong{font-size:1.2rem; font-weight:800; font-variant-numeric:tabular-nums;}
.b9-trim-tx span{font-size:.78rem; color:var(--ink-soft);}
.b9-trim-cifras{display:flex; flex-wrap:wrap; gap:6px;}
.b9-trim-acc{display:flex; gap:8px; margin-left:auto;}
.b9-trim-lista{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
@media (max-width:760px){ .b9-trim-lista{grid-template-columns:1fr;} .b9-trim-cifras{order:5; flex-basis:100%;} }

/* ---------- Números → Impuestos ---------- */
.b9-imp{display:flex; flex-direction:column; gap:16px; min-width:0;}
.b9-aviso{display:flex; align-items:center; gap:10px; padding:10px 16px; border-radius:999px; background:var(--b4-am-bg); color:var(--b4-am-ink); font-size:.86rem; align-self:flex-start; max-width:100%; box-sizing:border-box;}
.b9-aviso .ico-set{width:20px; height:20px; flex:none;}
.b9-aviso strong{font-weight:800; min-width:0;}
@media (max-width:560px){ .b9-aviso{border-radius:18px; align-self:stretch;} }
.b9-imp-barra{display:flex; align-items:center; gap:10px 14px; flex-wrap:wrap;}
.b9-imp-barra .b7-anios .chip{min-height:44px;}
.b9-trims{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:6px; padding:5px; border-radius:999px; background:var(--b4-track); flex:1 1 300px; max-width:460px;}
.b9-trim-chip{position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; min-height:48px; border-radius:999px; border:0; background:transparent; color:var(--ink-soft); font:inherit; cursor:pointer; padding:4px 6px; min-width:0;}
.b9-trim-chip strong{font-size:.98rem; font-weight:900; color:var(--ink);}
.b9-trim-chip span{font-size:.64rem; font-weight:700; white-space:nowrap;}
.b9-trim-chip::after{content:""; position:absolute; top:7px; right:12px; width:7px; height:7px; border-radius:50%; background:var(--b4-am);}
.b9-trim-chip.b9-tc-ok::after{background:var(--b4-ok);}
.b9-trim-chip.b9-tc-vencido::after{background:var(--b4-ro);}
.b9-trim-chip.active{background:var(--surface); box-shadow:0 1px 4px rgba(0,0,0,.22);}
.b9-trim-chip.active span{color:var(--ink);}
.b9-trim-chip:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.b9-exportar{display:flex; gap:8px; margin-left:auto;}
.b9-exportar .btn{min-height:46px; gap:8px; justify-content:center;}
.b9-exportar .ico-set{width:18px; height:18px;}
@media (max-width:760px){ .b9-trims{max-width:none; flex-basis:100%;} .b9-exportar{margin-left:0; flex:1 1 100%;} .b9-exportar .btn{flex:1 1 0;} }
.b9-kpis.b9-kpis-4{grid-template-columns:repeat(4, minmax(0,1fr));}
@media (max-width:1100px){ .b9-kpis.b9-kpis-4{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width:640px){ .b9-kpis.b9-kpis-4{grid-template-columns:1fr;} }
.b9-kpi .b7-kpi-v{font-size:1.85rem;}
.b9-kpi-sub{font-size:.76rem; color:var(--ink-soft); display:flex; align-items:center; gap:6px;}
.b9-plazo{align-self:flex-start; display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:0 12px; border-radius:999px; border:0; font:inherit; font-size:.74rem; font-weight:800; cursor:pointer; background:var(--b4-am-bg); color:var(--b4-am-ink); white-space:nowrap;}
.b9-plazo .ico-set{width:15px; height:15px;}
.b9-plazo-ok{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b9-plazo-vencido{background:var(--b4-ro-bg); color:var(--b4-ro-ink);}
.b9-plazo:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
@media (max-width:640px){
  .b9-kpi{flex-wrap:wrap; row-gap:8px;}
  .b9-kpi .b7-kpi-v{font-size:1.35rem;}
  .b9-kpi > .b9-plazo, .b9-kpi > .b9-kpi-sub{order:5; flex-basis:100%;}
}
.b9-cols{display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:16px; align-items:start;}
.b9-col{display:flex; flex-direction:column; gap:16px; min-width:0;}
@media (max-width:900px){ .b9-cols{grid-template-columns:minmax(0,1fr);} }
.b9-card{background:var(--surface); border:1px solid var(--line); border-radius:var(--b9-r); padding:16px 18px; display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow); min-width:0;}
.b9-card-cab{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.b9-card-ico{flex:none; width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b9-card-ico .ico-set{width:20px; height:20px;}
.b9-gastos .b9-card-ico{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b9-otros .b9-card-ico, .b9-irpf .b9-card-ico{background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b9-card-tit{margin:0; font-size:1.08rem; font-weight:800;}
@media (max-width:560px){ .b9-card{padding:14px;} }
/* Fórmula: repercutido − soportado = resultado */
.b9-formula{display:flex; align-items:stretch; gap:6px; flex-wrap:wrap;}
.b9-pieza{flex:1 1 90px; display:flex; flex-direction:column; gap:2px; padding:10px 14px; border-radius:18px; background:var(--bg); border:1px solid var(--line); min-width:0;}
.b9-pieza span{font-size:.7rem; font-weight:700; color:var(--ink-soft); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.b9-pieza strong{font-size:1rem; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap;}
.b9-pieza.b9-rep{border-color:var(--info-line);}
.b9-pieza.b9-sop{border-color:var(--zona-comercial-line);}
.b9-pieza.b9-res{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.b9-pieza.b9-res span{color:inherit; opacity:.85;}
.b9-op{align-self:center; font-size:1.1rem; font-weight:800; color:var(--ink-soft);}
@media (max-width:560px){ .b9-formula{display:grid; grid-template-columns:1fr auto 1fr; } .b9-formula .b9-res{grid-column:1 / -1;} .b9-formula .b9-op:nth-of-type(2){display:none;} .b9-formula-130{grid-template-columns:1fr;} .b9-formula-130 .b9-op{display:none;} }
/* Barras por mes */
.b9-barras{display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); gap:4px; height:120px; align-items:end; padding:4px 2px 0;}
.b9-bar-col{display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; opacity:.4; min-width:0;}
.b9-bar-col.en-trim{opacity:1;}
.b9-bar-par{flex:1 1 auto; width:100%; display:flex; align-items:flex-end; justify-content:center; gap:2px; min-height:0;}
.b9-bar{display:block; width:min(12px, 42%); min-height:2px; border-radius:6px 6px 2px 2px;}
.b9-bar-rep{background:var(--b4-az);}
.b9-bar-sop{background:var(--b4-ok);}
@media (prefers-reduced-motion:no-preference){ .b9-bar{transition:height .4s cubic-bezier(.2,.7,.2,1);} }
.b9-bar-mes{font-size:.66rem; font-weight:800; color:var(--ink-soft);}
.b9-leyenda{display:flex; gap:14px; font-size:.72rem; color:var(--ink-soft); font-weight:700;}
.b9-leyenda span::before{content:""; display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:6px; vertical-align:-1px;}
.b9-ley-rep::before{background:var(--b4-az);} .b9-ley-sop::before{background:var(--b4-ok);}
.b9-meses{display:flex; flex-direction:column; gap:6px;}
.b9-mes{display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; align-items:center; padding:8px 12px; border-radius:14px; background:var(--bg); font-size:.84rem;}
.b9-mes-r{font-variant-numeric:tabular-nums;}
.b9-mes-a{font-size:.74rem; color:var(--ink-soft); font-variant-numeric:tabular-nums; white-space:nowrap;}
/* IRPF y otros */
.b9-irpf-cifras{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px;}
.b9-dato{display:flex; flex-direction:column; gap:2px; padding:10px 14px; border-radius:18px; background:var(--bg); border:1px solid var(--line); min-width:0;}
.b9-dato span{font-size:.72rem; font-weight:700; color:var(--ink-soft);}
.b9-dato strong{font-size:1.15rem; font-weight:800; font-variant-numeric:tabular-nums;}
.b4-switch-fila.b9-switch .b4-switch-txt{display:flex; flex-direction:row; align-items:center; gap:8px; min-width:0; flex-wrap:wrap;}
.b9-dlg-pie .b4-del{width:50px; height:50px; min-width:50px;}
.b9-otros-lista{display:flex; flex-direction:column; gap:6px;}
.b9-otros-lista:empty{display:none;}
.b9-otro{display:flex; align-items:center; gap:10px; padding:6px 6px 6px 14px; border-radius:999px; background:var(--bg); border:1px solid var(--line);}
.b9-otro-c{flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.86rem;}
.b9-otro-i{font-variant-numeric:tabular-nums;}
.b9-otro-add{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.6fr) auto; gap:8px; align-items:center;}
.b9-otro-add input{border:1.5px solid var(--line-strong); border-radius:999px; background:var(--bg); color:var(--ink); padding:10px 14px; font-size:.9rem; font-family:inherit; min-height:46px; width:100%; box-sizing:border-box; min-width:0;}
.b9-otro-add input:focus{outline:none; border-color:var(--info-ink); box-shadow:0 0 0 3px var(--info-line);}
.icon-btn.b4-acc.b9-otro-mas{width:46px; height:46px; min-width:46px; background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.b9-otros-tot{margin:0; display:flex; justify-content:space-between; font-size:.84rem; color:var(--ink-soft);}
.b9-otros-tot strong{color:var(--ink); font-variant-numeric:tabular-nums;}
/* Gastos */
.b9-gastos-res{margin-left:auto; font-size:.8rem; font-weight:800; padding:5px 12px; border-radius:999px; background:var(--b4-track); white-space:nowrap;}
.b9-gastos-acc{display:flex; gap:10px; flex-wrap:wrap;}
.b9-gastos-acc .btn{min-height:48px; gap:8px; justify-content:center; border-radius:999px; padding:0 22px; font-weight:800; white-space:nowrap;}
.b9-gastos-acc .btn-pill::after, .b9-gastos-acc .btn-pill::before{display:none;}
.b9-btn-gasto{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.b9-btn-gasto:hover, .b9-btn-gasto:focus-visible{background:var(--accent-hover); border-color:var(--accent-hover); color:var(--accent-ink);}
.b9-gastos-acc .ico-set{width:18px; height:18px;}
@media (max-width:560px){ .b9-gastos-acc .btn{flex:1 1 0; padding:0 12px;} }
.b9-gastos-lista{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px;}
@media (max-width:900px){ .b9-gastos-lista{grid-template-columns:1fr;} }
.b9-gastos-lista .empty-state{grid-column:1 / -1;}
.b9-gasto{display:grid; grid-template-columns:auto minmax(0,1fr) auto auto; align-items:center; gap:10px; padding:10px 10px 10px 12px; border-radius:20px; background:var(--bg); border:1px solid var(--line); cursor:pointer; min-width:0;}
.b9-gasto:hover{border-color:var(--line-strong);}
.b9-gasto:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.b9-gasto-ico{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b9-gasto.no-ded .b9-gasto-ico{background:var(--b4-track); color:var(--ink-soft);}
.b9-gasto-ico .ico-set{width:19px; height:19px;}
.b9-gasto-tx{display:flex; flex-direction:column; gap:2px; min-width:0;}
.b9-gasto-tx strong{font-size:.92rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b9-gasto-tx span{font-size:.74rem; color:var(--ink-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b9-gasto-imp{display:flex; flex-direction:column; align-items:flex-end; gap:2px;}
.b9-gasto-imp strong{font-size:1rem; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap;}
.b9-gasto-iva{font-size:.7rem; color:var(--ink-soft); white-space:nowrap;}
.b9-gasto-acc{display:flex; gap:4px;}
@media (max-width:560px){
  /* En el móvil, la fila queda en una línea: borrar está dentro del gasto */
  .b9-gasto{gap:8px; padding:10px;}
  .b9-gasto-acc .b4-del{display:none;}
  .b9-gasto-acc:empty, .b9-gasto-acc:not(:has(.b9-ver-ticket)){display:none;}
  .b9-gasto{grid-template-columns:auto minmax(0,1fr) auto auto;}
}
/* Gasto: ventana */
.b9-cats{display:flex; flex-wrap:wrap; gap:8px;}
.b9-cats .chip.b9-cat{min-height:44px; border-radius:999px; padding:0 14px 0 10px; gap:6px; display:inline-flex; align-items:center; font-weight:700;}
.b9-cat .ico-set{width:18px; height:18px;}
.b9-importes{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px 14px; align-items:start;}
.b9-importes .b9-pct-gasto{grid-column:1 / -1;}
.b9-euros input{font-size:1.15rem !important; font-weight:800; font-variant-numeric:tabular-nums; text-align:right;}
@media (max-width:420px){ .b9-importes{grid-template-columns:1fr;} }
.b9-ticket{display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:12px; border-radius:20px; border:1.5px dashed var(--line-strong); background:var(--bg);}
.b9-ticket-ico{flex:none; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--b4-track); color:var(--ink);}
.b9-ticket-ico .ico-set{width:20px; height:20px;}
.b9-ticket-tx{display:flex; flex-direction:column; gap:2px; flex:1 1 120px; min-width:0;}
.b9-ticket-tx strong{font-size:.9rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b9-ticket-tx span{font-size:.74rem; color:var(--ink-soft);}
.btn.b9-ticket-btn{min-height:44px;}
.b9-gasto-err{text-align:center;}
.b9-imp-res{display:flex; align-items:baseline; gap:6px; font-size:1rem;}
.b9-imp-res strong{font-size:2rem; font-weight:900;}
.b9-imp-lista .b9-gasto{cursor:default; grid-template-columns:auto minmax(0,1fr) auto;}
.b9-imp-lista{grid-template-columns:1fr;}
/* En el grupo «Sin emitir» la etiqueta de cada tarjeta repetiría el título */
.b9-trim-sin .b7-card .b7-chip{display:none;}

/* ---------- Iconos de facturación unificados ----------
   Ajustes → Facturación, Números → Facturas, Impuestos y Facturación y plan:
   mismo set de línea (trazo 1,6), círculo de 40 px en cabeceras y de 44 px en
   botones, glifo de 22 px; azul neutro, verde = completo, ámbar = falta. */
:root{
  --fi-cab:40px; --fi-btn:44px; --fi-glifo:22px;
  --fi-az:var(--b4-az-bg); --fi-az-ink:var(--b4-az-ink);
  --fi-ok:var(--b4-ok-bg); --fi-ok-ink:var(--b4-ok-ink);
  --fi-am:var(--b4-am-bg); --fi-am-ink:var(--b4-am-ink);
}
#b7Ajustes .b4-plan-ico, #b9AjustarDlg .b4-plan-ico, #tab-facturas .b4-plan-ico, #tab-impuestos .b7-kpi-ico, #tab-impuestos .b9-card-ico,
#tab-impuestos .b9-gasto-ico, #tab-facturas .b7-kpi-ico, #tab-facturacion .kpi-ico, #tab-facturacion .b4-hacer-ico, .b9-dlg-ico{
  width:var(--fi-cab); height:var(--fi-cab); min-width:var(--fi-cab); border-radius:50%; display:grid; place-items:center; flex:none; box-sizing:border-box; padding:0;
}
#b7Ajustes .b4-plan-ico, #b9AjustarDlg .b4-plan-ico, #tab-facturas .b4-plan-ico{background:var(--fi-az); color:var(--fi-az-ink);}
#b7Ajustes .b4-plan-ico .ico-set, #b9AjustarDlg .b4-plan-ico .ico-set, #tab-facturas .b4-plan-ico .ico-set, #tab-impuestos .b7-kpi-ico .ico-set, #tab-impuestos .b9-card-ico .ico-set,
#tab-impuestos .b9-gasto-ico .ico-set, #tab-facturas .b7-kpi-ico .ico-set, #tab-facturacion .kpi-ico .ico-set, #tab-facturacion .b4-hacer-ico .ico-set, .b9-dlg-ico .ico-set{
  width:var(--fi-glifo); height:var(--fi-glifo); stroke-width:1.6;
}
.b9-dlg-ico{background:var(--fi-az); color:var(--fi-az-ink);}
/* estado: verde completo, ámbar falta */
#tab-facturas .b7-bloque.ok .b4-plan-ico{background:var(--fi-ok); color:var(--fi-ok-ink);}
#tab-facturas .b7-bloque:not(.ok) .b4-plan-ico{background:var(--fi-am); color:var(--fi-am-ink);}
.b7-paso-chip .ico-set{width:var(--fi-btn); height:var(--fi-btn); padding:11px; background:var(--fi-am); color:var(--fi-am-ink);}
.b7-paso-chip.ok .ico-set{background:var(--fi-ok); color:var(--fi-ok-ink); box-shadow:inset 0 0 0 2px var(--b4-ok);}
.b7-paso-chip.actual .ico-set{box-shadow:inset 0 0 0 2px var(--b4-az);}
/* botones redondos de icono: 44 px */
#tab-facturas .icon-btn.b4-acc, #tab-impuestos .icon-btn.b4-acc, #tab-facturacion .icon-btn.b4-acc, #b9AjustarDlg .icon-btn.b4-acc, .b9-dlg-x, #tab-impuestos .b9-otro-mas, .b7-crear-ico{
  width:var(--fi-btn); height:var(--fi-btn); min-width:var(--fi-btn); border-radius:50%;
}
#tab-facturas .icon-btn.b4-acc .ico-set, #tab-impuestos .icon-btn.b4-acc .ico-set, #tab-facturacion .icon-btn.b4-acc .ico-set, #b9AjustarDlg .icon-btn.b4-acc .ico-set,
.b9-dlg-x .ico-set, #tab-impuestos .b9-otro-mas .ico-set, .b7-crear-ico .ico-set{width:var(--fi-glifo); height:var(--fi-glifo);}
/* iconos dentro de botones con texto y de avisos: mismo trazo, un poco más pequeños */
#tab-facturas .b7-boton .ico-set, #tab-impuestos .b7-boton .ico-set, #tab-facturas .b9-btn-ajustar .ico-set, #tab-impuestos .b9-btn-gasto .ico-set{width:20px; height:20px;}

/* ---------- Impuestos: Facturas del trimestre (mismo estilo que los gastos) ---------- */
.b9-facts .b9-card-ico{background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b9-fact{grid-template-columns:auto minmax(0,1fr) auto auto;}
.b9-chip{font-size:.7rem; font-weight:800; padding:4px 11px; border-radius:999px; white-space:nowrap;}
.b9-chip-emitida{background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b9-chip-cobrada{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b9-chip-anulada{background:var(--b4-track); color:var(--ink-soft);}
.b9-chip-ext{background:var(--b4-az-bg); color:var(--b4-az-ink);}
@media (max-width:560px){
  .b9-fact{grid-template-columns:auto minmax(0,1fr) auto; row-gap:6px;}
  .b9-fact .b9-chip{grid-column:2 / -1; justify-self:start;}
}
.b9-fact .b9-gasto-tx strong{white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}

/* ---------- Impuestos: meter datos a mano o con Excel ---------- */
.b9-datos{display:flex; flex-direction:column; gap:10px; position:relative;}
.b9-datos-fila{display:flex; gap:10px; flex-wrap:wrap;}
.b9-datos-fila .btn{min-height:48px; gap:8px; justify-content:center; border-radius:999px; padding:0 22px; font-weight:800; white-space:nowrap;}
.b9-datos-fila .btn-pill::after, .b9-datos-fila .btn-pill::before{display:none;}
.b9-datos-fila .ico-set{width:18px; height:18px;}
@media (max-width:560px){ .b9-datos-fila .btn{flex:1 1 calc(50% - 5px); padding:0 14px;} .b9-datos-fila #b9Subir{flex-basis:100%;} }
.b9-subir-menu{display:flex; flex-direction:column; gap:4px; padding:8px; border-radius:22px; background:var(--surface); border:1px solid var(--line-strong); box-shadow:var(--shadow); max-width:420px;}
.b9-subir-menu[hidden]{display:none;}
.b9-subir-item{display:flex; align-items:center; gap:12px; text-align:left; padding:8px 10px; border-radius:16px; border:0; background:transparent; color:var(--ink); font:inherit; cursor:pointer; min-height:48px;}
.b9-subir-item:hover, .b9-subir-item:focus-visible{background:var(--b4-track); outline:none;}
.b9-subir-item[data-subir^="plantilla"]{border-top:1px solid var(--line); border-radius:0 0 16px 16px;}
.b9-subir-ico{flex:none; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b9-subir-ico .ico-set{width:18px; height:18px;}
.b9-subir-tx{display:flex; flex-direction:column; gap:1px; min-width:0;}
.b9-subir-tx strong{font-size:.92rem; font-weight:800;}
.b9-subir-tx span{font-size:.74rem; color:var(--ink-soft);}
.b9-fact-ext{grid-template-columns:auto minmax(0,1fr) auto auto auto;}
.b9-imp-lista .b9-fact{grid-template-columns:auto minmax(0,1fr) auto auto;}
@media (max-width:560px){ .b9-fact-ext{grid-template-columns:auto minmax(0,1fr) auto; } .b9-imp-lista .b9-fact{grid-template-columns:auto minmax(0,1fr) auto; row-gap:6px;} .b9-imp-lista .b9-fact .b9-chip{grid-column:2 / -1; justify-self:start;} }
.b9-ing-calc{display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px;}
.b9-ing-calc .b9-pieza:last-child{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.b9-ing-calc .b9-pieza:last-child span{color:inherit; opacity:.85;}
@media (max-width:420px){ .b9-ing-calc .b9-pieza{padding:8px 10px;} .b9-ing-calc .b9-pieza strong{font-size:.9rem;} }
.b9-imp-sub{margin:6px 0 0; font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-soft);}
.b9-imp-desc{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; font-size:.84rem;}
.b9-imp-desc li{display:flex; gap:10px; padding:6px 12px; border-radius:14px; background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b9-imp-desc li strong{flex:none;}
.b9-imp-desc .b9-imp-mas{background:transparent; color:var(--ink-soft);}
/* Auditoría B6: cerrar sesión con cambios sin sincronizar */
.dlg-salir-txt{margin:0; line-height:1.5;}
.dlg-salir-pend .b9-dlg-pie{flex-wrap:wrap;}
.dlg-salir-pend .b9-dlg-pie .btn{padding:0 20px;}
.dlg-salir-pend .b9-dlg-pie .btn.danger{background:var(--danger-tint); color:var(--warn-ink); border:1px solid var(--warn-ink);}
.b9-kpis.b9-kpis-5{grid-template-columns:repeat(5, minmax(0,1fr));}
@media (max-width:1100px){ .b9-kpis.b9-kpis-5{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width:640px){ .b9-kpis.b9-kpis-5{grid-template-columns:1fr;} }
/* Impuestos: caja con el total facturado de cada trimestre */
.b9-trims-caja{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px 18px;margin:14px 0;display:flex;flex-direction:column;gap:12px;}
.b9-trims-cab{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap;}
.b9-trims-cab strong{font-size:15px;}
.b9-trims-anio{font-size:22px;font-weight:900;}
.b9-trims-fila{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.b9-trim{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;min-width:0;}
.b9-trim.activo{border-color:var(--accent,#0043FF);box-shadow:0 0 0 1px var(--accent,#0043FF) inset;}
.b9-trim-t{font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.7;}
.b9-trim-v{font-size:18px;font-weight:900;white-space:nowrap;}
.b9-trim-b{font-size:11px;opacity:.7;}
.b9-trims-pie{font-size:11px;opacity:.65;}
@media (max-width:640px){ .b9-trims-fila{grid-template-columns:repeat(2,minmax(0,1fr));} .b9-trim-v{font-size:16px;} }
