/* =====================================================================
   BLOQUE 7 — Cierres y Facturas. Números → Facturas (lista, editor en el
   mismo bloque con vista previa y 5 bloques) y Ajustes → Facturación.
   Va después de bloque4.css y reutiliza sus piezas (b4-plan-grupo,
   b4-stepper, b4-rango, b4-acc). Todo color de la app vive en un token
   (Noche y Día); la factura en sí es "papel": blanca en los dos temas,
   con los colores RE/MAX fijos, igual que el PDF.
   ===================================================================== */
:root{
  --b7-papel:#ffffff; --b7-tinta:#000e35; --b7-suave:#5d6375; --b7-claro:#f3f5fa; --b7-zebra:#f8f9fc;
  --b7-linea:#e2e6ee; --b7-rojo:#dc1000; --b7-azul:#0043ff;
  --b7-hero-1:#0c2749; --b7-hero-2:#001a5c;
}
:root[data-theme="light"]{ --b7-hero-1:#ffffff; --b7-hero-2:#eef2fb; }

.b7-facturas{display:flex; flex-direction:column; gap:16px; min-width:0;}
.b7-kicker{font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft);}

/* Botones redondos sin flecha (secundarios) y píldoras rojas con flecha crema */
.btn.b7-boton{border-radius:999px; min-height:44px; padding:0 18px; display:inline-flex; align-items:center; gap:8px; justify-content:center;}
.b7-btn-crear.btn-pill, .b7-btn-emitir.btn-pill{padding:0 58px 0 26px;}
.b7-btn-crear.btn-pill::after, .b7-btn-emitir.btn-pill::after{background:var(--accent-ink);}
.b7-btn-crear.btn-pill::before, .b7-btn-emitir.btn-pill::before{background:var(--accent);}

/* ---------- Cifras del año ---------- */
.b7-kpis{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
@media (max-width:640px){ .b7-kpis{grid-template-columns:1fr; gap:8px;} }
.b7-kpi{position:relative; background:var(--surface); border:1px solid var(--line); border-radius:var(--b4-r); padding:14px 16px; display:flex; flex-direction:column; gap:6px; box-shadow:var(--shadow); min-width:0;}
.b7-kpi-ico{position:absolute; top:12px; right:12px; width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b7-kpi-ico .ico-set{width:19px; height:19px;}
.b7-kpi-am .b7-kpi-ico{background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b7-kpi-ok .b7-kpi-ico{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b7-kpi-l{font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); padding-right:44px;}
.b7-kpi-v{font-size:1.6rem; font-weight:800; font-variant-numeric:tabular-nums; overflow-wrap:anywhere;}
@media (max-width:640px){ .b7-kpi{flex-direction:row; align-items:center; justify-content:space-between; padding:12px 14px;} .b7-kpi-ico{position:static; order:-1; width:34px; height:34px;} .b7-kpi-l{padding-right:0; flex:1 1 auto;} .b7-kpi-v{font-size:1.2rem;} }

/* ---------- Crear la factura del mes ---------- */
.b7-crear{
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:16px;
  background:linear-gradient(135deg, var(--b7-hero-1), var(--b7-hero-2)); border:1px solid var(--line);
  border-radius:24px; padding:18px 20px; box-shadow:var(--shadow); position:relative; overflow:hidden;
}
.b7-crear::after{content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--accent);}
.b7-crear-ico{width:56px; height:56px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:var(--accent-ink); box-shadow:0 8px 20px -10px var(--accent);}
.b7-crear-ico .ico-set{width:26px; height:26px;}
.b7-crear-tx{display:flex; flex-direction:column; gap:4px; min-width:0;}
.b7-crear-mes{display:flex; align-items:center; gap:8px; flex-wrap:wrap;}
.b7-crear-nom{font-size:1.45rem; font-weight:800; min-width:0;}
.icon-btn.b4-acc.b7-mes-btn{width:40px; height:40px; min-width:40px;}
.b7-mes-btn:disabled{opacity:.35; cursor:default;}
.b7-crear-sub{font-size:.86rem; color:var(--ink-soft);}
.b7-btn-crear{min-height:54px; padding:0 28px; font-size:1.02rem; font-weight:800; background:var(--accent); border-color:var(--accent); color:var(--accent-ink); justify-content:center;}
.b7-btn-crear:hover, .b7-btn-crear:focus-visible{background:var(--accent-hover); border-color:var(--accent-hover); color:var(--accent-ink);}
@media (max-width:700px){
  .b7-crear{grid-template-columns:1fr; justify-items:center; text-align:center; padding:20px 16px;}
  .b7-crear-mes{justify-content:center;}
  .b7-btn-crear{width:100%;}
}

/* ---------- Filtros y tarjetas ---------- */
.b7-filtros{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px;}
.b7-anios{display:flex; flex-wrap:wrap; gap:6px;}
.b7-anios .chip{min-height:40px; border-radius:999px; padding:0 16px;}
.b7-btn-xlsx-anual{min-height:44px; gap:8px; justify-content:center;}
.b7-btn-xlsx-anual .ico-set, .b7-traer .ico-set, .b7-manual .ico-set, .b7-emitida-acc .ico-set{width:18px; height:18px;}
.b7-lista{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
@media (max-width:760px){ .b7-lista{grid-template-columns:1fr;} }
.b7-card{
  --e:var(--b4-am); background:var(--surface); border:1px solid var(--line); border-left:5px solid var(--e); border-radius:var(--b4-r);
  padding:14px 16px; display:flex; flex-direction:column; gap:8px; cursor:pointer; box-shadow:var(--shadow); min-width:0;
}
.b7-card.b7-e-emitida{--e:var(--b4-az);} .b7-card.b7-e-cobrada{--e:var(--b4-ok);}
.b7-card:hover{border-color:var(--e);} .b7-card:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
@media (prefers-reduced-motion:no-preference){ .b7-card{transition:transform .15s ease, border-color .15s ease;} .b7-card:hover{transform:translateY(-2px);} }
.b7-card-top{display:flex; align-items:center; justify-content:space-between; gap:8px;}
.b7-card-cod{font-size:1.1rem; font-weight:800;}
.b7-card-ref{font-size:.84rem; color:var(--ink-soft); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.b7-card-pie{display:flex; align-items:flex-end; justify-content:space-between; gap:10px;}
.b7-card-izq{display:flex; flex-direction:column; gap:2px; min-width:0;}
.b7-card-fecha{font-size:.78rem; color:var(--ink-soft);}
.b7-card-total{font-size:1.35rem; font-weight:800; font-variant-numeric:tabular-nums;}
.b7-card-acc, .b7-ed-acc{display:flex; gap:8px; flex:none;}
.b7-chip{font-size:.7rem; font-weight:800; padding:4px 11px; border-radius:999px; white-space:nowrap; background:var(--b4-am-bg); color:var(--b4-am-ink);}
.b7-chip-emitida{background:var(--b4-az-bg); color:var(--b4-az-ink);}
.b7-chip-cobrada{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}

/* ---------- Editor ---------- */
.b7-ed{display:flex; flex-direction:column; gap:14px; min-width:0;}
.b7-ed-barra{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.b7-ed-tit{display:flex; align-items:center; gap:10px; flex:1 1 auto; min-width:0;}
.b7-ed-tit strong{font-size:1.25rem; font-weight:800;}
.b7-ed-cuerpo{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.95fr); gap:18px; align-items:start;}
.b7-ed.b7-bloqueada .b7-ed-cuerpo{grid-template-columns:minmax(0,1.3fr) minmax(280px,.8fr);}
.b7-prev-wrap{position:sticky; top:12px; display:flex; flex-direction:column; gap:10px; min-width:0;}
@media (max-width:999px){
  .b7-ed-cuerpo, .b7-ed.b7-bloqueada .b7-ed-cuerpo{grid-template-columns:minmax(0,1fr);}
  .b7-prev-wrap{position:static;}
}
.b7-sello{align-self:flex-start; display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:999px; background:var(--b4-ok-bg); color:var(--b4-ok-ink); font-weight:800; font-size:.8rem;}
.b7-sello .ico-set{width:16px; height:16px;}

/* La factura: papel blanco, moderna, igual que el PDF */
.b7-doc{
  background:var(--b7-papel); color:var(--b7-tinta); border-radius:18px; padding:clamp(16px, 3.4vw, 36px);
  box-shadow:0 1px 2px rgba(0,0,0,.18), 0 18px 40px -22px rgba(0,0,0,.55); display:flex; flex-direction:column; gap:18px;
  font-family:"Montserrat", -apple-system, sans-serif; min-width:0; overflow-wrap:anywhere; border:1px solid var(--b7-linea);
}
.b7-doc-cab{display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap; padding-bottom:16px; border-bottom:1px solid var(--b7-linea);}
.b7-doc-logos{display:flex; align-items:center; gap:14px;}
.b7-doc-logo{height:56px; width:auto; display:block;}
.b7-doc-logo-ag{display:block; width:180px; height:80px; max-width:100%; object-fit:contain; object-position:left center; align-self:flex-start; margin:2px 0 12px;}
.b7-doc-num{display:flex; flex-direction:column; align-items:flex-end; gap:2px; text-align:right; margin-left:auto;}
.b7-doc-kicker{font-size:.64rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--b7-suave);}
.b7-doc-num .b7-doc-kicker, .b7-rojo{color:var(--b7-rojo) !important;}
.b7-doc-codigo{font-size:clamp(1.5rem, 4vw, 2rem); font-weight:800; line-height:1.1; letter-spacing:-.01em;}
.b7-doc-fecha, .b7-doc-rect{font-size:.8rem; color:var(--b7-suave);}
.b7-doc-borrador{font-size:.7rem; font-weight:800; color:var(--b7-rojo); background:rgba(220,16,0,.07); padding:3px 10px; border-radius:999px; margin-top:4px;}
.b7-doc-partes{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px;}
@media (max-width:560px){ .b7-doc-partes{grid-template-columns:1fr;} .b7-doc-num{align-items:flex-start; text-align:left; margin-left:0;} }
.b7-doc-parte{background:var(--b7-claro); border-radius:14px; padding:14px 16px; border-left:4px solid var(--b7-tinta); display:flex; flex-direction:column; gap:3px; font-size:.84rem; min-width:0;}
.b7-doc-receptor{border-left-color:var(--b7-rojo);}
.b7-doc-parte .b7-doc-kicker{margin-bottom:4px;}
.b7-doc-emisor .b7-doc-kicker{color:var(--b7-azul);}
.b7-doc-receptor .b7-doc-kicker{color:var(--b7-rojo);}
.b7-doc-nombre{font-size:1.02rem; font-weight:800;}
.b7-doc-fuerte{font-weight:700;}
.b7-doc-suave{color:var(--b7-suave);}
.b7-doc-ref{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; font-size:.92rem;}
.b7-doc-tabla{display:flex; flex-direction:column;}
.b7-doc-fila{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 8px; border-bottom:1px solid var(--b7-linea); font-size:.92rem;}
.b7-doc-fila:nth-child(odd):not(.b7-doc-th){background:var(--b7-zebra);}
.b7-doc-th{padding:6px 8px; border-bottom:2px solid var(--b7-tinta); font-size:.64rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--b7-suave);}
.b7-doc-sinlineas{grid-template-columns:1fr; color:var(--b7-suave); font-style:italic;}
.b7-der{text-align:right; justify-self:end;}
.b7-doc-importe{font-weight:700; font-variant-numeric:tabular-nums; white-space:nowrap;}
.b7-doc-totales{display:flex; flex-direction:column; align-items:flex-end; gap:8px;}
.b7-doc-chips{display:flex; flex-direction:column; gap:6px; width:min(100%, 360px);}
.b7-doc-chip{display:flex; justify-content:space-between; gap:12px; background:var(--b7-claro); border-radius:999px; padding:7px 16px; font-size:.82rem;}
.b7-doc-chip span{color:var(--b7-suave);}
.b7-doc-chip strong{font-variant-numeric:tabular-nums;}
.b7-doc-total{display:flex; justify-content:space-between; align-items:center; gap:14px; width:min(100%, 360px); background:var(--b7-tinta); color:#fff; border-radius:16px; padding:14px 18px;}
.b7-doc-total span{font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase;}
.b7-doc-total strong{font-size:clamp(1.3rem, 3.6vw, 1.75rem); font-weight:800; font-variant-numeric:tabular-nums;}
.b7-doc-pago{display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; background:var(--b7-claro); border-left:4px solid var(--b7-rojo); border-radius:14px; padding:14px 16px; font-size:.84rem;}
.b7-doc-pago > div{display:flex; flex-direction:column; gap:3px; min-width:0;}
.b7-doc-iban{font-size:1rem; letter-spacing:.04em; font-variant-numeric:tabular-nums;}
.b7-doc-pie{font-size:.7rem; color:var(--b7-suave); border-top:1px solid var(--b7-linea); padding-top:10px; white-space:pre-line;}
/* Editar en su sitio */
.b7-doc-editable [data-campo]{cursor:pointer; border-radius:6px; transition:background .12s ease, box-shadow .12s ease;}
.b7-doc-editable [data-campo]:hover{background:rgba(0,67,255,.08); box-shadow:0 0 0 3px rgba(0,67,255,.08);}
.b7-doc-editable [data-campo]:focus-visible{outline:2px solid var(--b7-azul); outline-offset:2px;}
.b7-falta{color:var(--b7-rojo) !important; background:rgba(220,16,0,.06); border:1px dashed rgba(220,16,0,.55); border-radius:999px !important; padding:0 8px; font-weight:700; font-size:.88em; display:inline-block;}
.b7-en-sitio{font:inherit; color:var(--b7-tinta); background:#fff; border:2px solid var(--b7-azul); border-radius:8px; padding:2px 8px; width:min(100%, 26ch); min-height:34px; box-shadow:0 0 0 4px rgba(0,67,255,.12);}
.b7-en-sitio:focus{outline:none;}

/* Panel lateral / por pasos */
.b7-panel{display:flex; flex-direction:column; gap:12px; min-width:0;}
.b7-resumen{background:var(--surface); border:1px solid var(--line); border-radius:var(--b4-r); padding:14px 16px; display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow);}
.b7-prog{display:flex; flex-direction:column; gap:8px;}
.b7-prog-l{display:flex; justify-content:space-between; align-items:baseline; font-weight:700; font-size:.9rem;}
.b7-prog-l strong{font-size:1.05rem;}
.b7-prog-barra{height:10px; border-radius:99px; background:var(--b4-track); overflow:hidden;}
.b7-prog-barra i{display:block; height:100%; width:0; border-radius:99px; background:var(--accent);}
.b7-prog-barra.completa i{background:var(--b4-ok);}
@media (prefers-reduced-motion:no-preference){ .b7-prog-barra i{transition:width .4s cubic-bezier(.2,.7,.2,1), background .3s ease;} }
.b7-prog-pasos{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px;}
.b7-paso-chip{display:flex; flex-direction:column; align-items:center; gap:4px; background:none; border:0; color:var(--ink-soft); cursor:pointer; padding:0; font:inherit; min-width:0;}
.b7-paso-chip .ico-set{width:44px; height:44px; padding:11px; border-radius:50%; background:var(--b4-track); color:var(--ink); box-sizing:border-box;}
.b7-paso-chip.ok .ico-set{background:var(--b4-ok-bg); color:var(--b4-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(--accent);}
.b7-paso-chip:focus-visible{outline:none;} .b7-paso-chip:focus-visible .ico-set{outline:2px solid var(--accent); outline-offset:2px;}
.b7-paso-txt{font-size:.62rem; font-weight:700; text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%;}
.b7-total-vivo{display:flex; justify-content:space-between; align-items:flex-end; gap:10px; flex-wrap:wrap;}
.b7-tv-l{display:flex; flex-direction:column; gap:2px;}
.b7-tv-n{font-size:1.8rem; font-weight:900; font-variant-numeric:tabular-nums; line-height:1.1;}
.b7-tv-chips{display:flex; flex-wrap:wrap; gap:6px;}
.b7-tv-chip{font-size:.72rem; padding:4px 10px; border-radius:999px; background:var(--b4-track); color:var(--ink-soft); white-space:nowrap;}
.b7-tv-chip b{color:var(--ink); font-variant-numeric:tabular-nums;}
.b7-pasos-nav{display:none; align-items:center; justify-content:space-between; gap:8px;}
.b7-pasos-nav .btn{min-height:44px; padding:0 18px; justify-content:center;}
.b7-paso-lab{font-size:.8rem; font-weight:700; text-align:center; flex:1 1 auto; min-width:0;}
.b7-ed.b7-pasos .b7-pasos-nav{display:flex;}
.b7-ed.b7-pasos .b7-bloque:not(.activo){display:none;}
.b7-bloque{background:var(--surface);}
.b7-bloque-cab{gap:12px;}
.b7-bloque.ok .b4-plan-ico{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b7-estado{font-size:.72rem; font-weight:800; padding:4px 11px; border-radius:999px; background:var(--b4-am-bg); color:var(--b4-am-ink); white-space:nowrap;}
.b7-estado.ok{background:var(--b4-ok-bg); color:var(--b4-ok-ink);}
.b7-bloque-cuerpo{display:flex; flex-direction:column; gap:12px;}
.b7-campos{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 14px;}
.b7-campos-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.b7-campo{display:flex; flex-direction:column; gap:6px; min-width:0;}
.b7-campo.ancho{grid-column:1 / -1;}
@media (max-width:520px){ .b7-campos, .b7-campos-3{grid-template-columns:1fr;} }
.b7-l{font-size:.8rem; font-weight:700; color:var(--ink);}
.b7-campo input, .b7-campo textarea, .b7-otro, .b7-linea-concepto, .b7-bloque-cuerpo input[type=date]{
  border:1.5px solid var(--line-strong); border-radius:999px; background:var(--bg); color:var(--ink);
  padding:11px 16px; font-size:.95rem; font-family:inherit; min-height:46px; width:100%; box-sizing:border-box;
}
.b7-campo textarea{border-radius:18px; min-height:84px; resize:vertical;}
.b7-bloque-cuerpo input[type=date]{color-scheme:inherit;}
.b7-campo input:focus, .b7-campo textarea:focus, .b7-otro:focus, .b7-linea-concepto:focus, .b7-bloque-cuerpo input[type=date]:focus{outline:none; border-color:var(--info-ink); box-shadow:0 0 0 3px var(--info-line);}
.b7-campo.con-error input, .b7-campo.con-error textarea{border-color:var(--b4-ro); box-shadow:0 0 0 3px var(--b4-ro-bg);}
.b7-err{margin:0; font-size:.78rem; font-weight:600; color:var(--b4-ro-ink); min-height:0;}
.b7-err:empty{display:none;}
.b7-hint{margin:0; font-size:.78rem; color:var(--ink-soft);}
.b7-hint:empty{display:none;}
.b7-proxima{font-weight:700; color:var(--b4-az-ink);}
.b7-vacio{margin:0; font-size:.84rem; color:var(--ink-soft); text-align:center; padding:10px; border:1.5px dashed var(--line-strong); border-radius:16px;}
.b7-lineas{display:flex; flex-direction:column; gap:10px;}
.b7-linea{background:var(--bg); border:1px solid var(--line); border-radius:18px; padding:12px; display:flex; flex-direction:column; gap:10px;}
.b7-linea-abajo{display:flex; align-items:center; gap:8px;}
.b7-linea-abajo .b4-stepper{flex:1 1 auto;}
.b7-linea-abajo .b4-stepper input{font-size:1.25rem; font-weight:800; width:100%;}
.b7-linea-origen{margin:0; font-size:.74rem; color:var(--ink-soft);}
.b7-lineas-acc{display:flex; flex-wrap:wrap; gap:10px;}
.b7-lineas-acc .btn{min-height:46px; gap:8px; flex:1 1 180px; justify-content:center;}
.b7-cierres{display:flex; flex-direction:column; gap:8px;}
.b7-cierres[hidden]{display:none;}
.b7-cierres-lista{display:flex; flex-direction:column; gap:8px;}
.b7-cierre{display:flex; align-items:center; gap:12px; width:100%; text-align:left; padding:12px 14px; border:1.5px solid var(--line-strong); border-radius:18px; background:var(--bg); color:var(--ink); font:inherit; cursor:pointer; min-height:56px;}
.b7-cierre.on{border-color:var(--b4-ok); background:var(--b4-ok-bg);}
.b7-cierre:disabled{opacity:.55; cursor:not-allowed;}
.b7-cierre:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
.b7-check{flex:none; width:28px; height:28px; border-radius:50%; border:2px solid var(--line-strong); display:grid; place-items:center;}
.b7-check .ico-set{width:16px; height:16px; opacity:0;}
.b7-cierre.on .b7-check{background:var(--b4-ok); border-color:var(--b4-ok); color:#fff;}
.b7-cierre.on .b7-check .ico-set{opacity:1;}
.b7-cierre-tx{display:flex; flex-direction:column; gap:2px; flex:1 1 auto; min-width:0; font-size:.78rem; color:var(--ink-soft);}
.b7-cierre-tx strong{font-size:.92rem; color:var(--ink);}
.b7-cierre-imp{flex:none; font-weight:800; font-variant-numeric:tabular-nums;}
.b7-pct{display:flex; flex-direction:column; gap:8px;}
.b7-chips{display:flex; flex-wrap:wrap; gap:8px;}
.b7-chips .chip{min-height:44px; min-width:64px; border-radius:999px; padding:0 18px; justify-content:center; font-weight:800;}
.b7-otro{width:200px; max-width:100%;}
.b7-otro[hidden]{display:none;}
.b7-pago-info{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
.b7-pago-dato{background:var(--bg); border:1px solid var(--line); border-radius:16px; padding:10px 14px; display:flex; flex-direction:column; gap:2px; font-size:.86rem;}
.b7-emitir{display:flex; flex-direction:column; align-items:stretch; gap:6px; text-align:center;}
.b7-btn-emitir{min-height:56px; font-size:1.05rem; font-weight:800; justify-content:center; background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.b7-btn-emitir:hover:not(:disabled), .b7-btn-emitir:focus-visible{background:var(--accent-hover); border-color:var(--accent-hover); color:var(--accent-ink);}
.b7-btn-emitir:disabled{opacity:.45; cursor:not-allowed;}
.b7-btn-emitir.confirmar{background:var(--b4-ok); border-color:var(--b4-ok); color:#fff;}
.b7-emitir-ayuda{margin:0; font-size:.8rem; color:var(--ink-soft);}
.b7-emitida{gap:14px;}
.b7-ico-lock{background:var(--b4-ok-bg) !important; color:var(--b4-ok-ink) !important;}
.b7-cobro{display:flex; flex-direction:column; gap:8px;}
.b7-emitida-acc{display:flex; flex-wrap:wrap; gap:10px;}
.b7-emitida-acc .btn{flex:1 1 160px; min-height:48px; gap:8px; justify-content:center;}
.b7-enlace, .b7-rectificar{min-height:44px; justify-content:center;}
.b7-rectificar.confirmar{border-color:var(--b4-ro); color:var(--b4-ro-ink);}

/* ---------- Ajustes → Facturación ---------- */
.b7-ajustes{display:flex; flex-direction:column; gap:14px;}
.b7-aj-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; align-items:start;}
@media (max-width:900px){ .b7-aj-grid{grid-template-columns:1fr;} }
.b7-aj-grupo{background:var(--surface);}
.b7-logo{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.b7-logo-prev{width:96px; height:96px; border-radius:24px; background:#fff; border:1px solid var(--line); display:grid; place-items:center; color:#5d6375; overflow:hidden; flex:none;}
.b7-logo-prev img{width:100%; height:100%; object-fit:contain;}
.b7-logo-prev .ico-set{width:32px; height:32px;}
.b7-logo-acc{display:flex; gap:10px; flex-wrap:wrap;}
.b7-logo-acc .btn{min-height:44px; justify-content:center;}
.b7-aj-guardar{display:flex; justify-content:center;}
.b7-aj-guardar .btn, #b7Oficina > .btn{min-height:50px; padding:0 28px; justify-content:center;}
#b7Oficina{border-left:4px solid var(--accent);}
.b7-reinicio{margin-top:2px;}

@media print{
  .b7-doc{box-shadow:none; border:0;}
}
.btn.b7-boton.b7-sig{background:var(--accent); border-color:var(--accent); color:var(--accent-ink);}
.btn.b7-boton.b7-sig:disabled, .btn.b7-boton.b7-ant:disabled{opacity:.4; cursor:default;}
@media (max-width:560px){ .b7-doc-pago .b7-der{text-align:left; justify-self:start;} .b7-doc-pago{flex-direction:column;} }

/* ---------- Borrar (sin emitir) y anular (emitidas) ---------- */
.b7-chip-anulada{background:var(--b4-track); color:var(--ink-soft);}
.b7-card.b7-anulada{opacity:.78;}
.b7-card.b7-anulada .b7-card-total{text-decoration:line-through;}
.btn.b7-borrar{min-height:44px; padding:0 16px; gap:8px; border-radius:999px; font-weight:800; white-space:nowrap; background:var(--b4-ro-bg); border:1.5px solid var(--b4-ro); color:var(--b4-ro-ink); cursor:pointer;}
.btn.b7-borrar .ico-set{width:18px; height:18px;}
.btn.b7-borrar:hover, .btn.b7-borrar:focus-visible, .btn.b7-borrar.confirmar{background:var(--b4-ro); border-color:var(--b4-ro); color:#fff;}
.b7-anular{display:flex; flex-direction:column; gap:10px; margin-top:6px;}
.btn.b7-btn-anular{min-height:48px; padding:0 22px; gap:8px; border-radius:999px; font-weight:800; justify-content:center; background:var(--b4-ro-bg); border:1.5px solid var(--b4-ro); color:var(--b4-ro-ink); cursor:pointer; align-self:flex-start;}
.btn.b7-btn-anular:hover, .btn.b7-btn-anular:focus-visible, .btn.b7-btn-anular.b7-anular-ok{background:var(--b4-ro); border-color:var(--b4-ro); color:#fff;}
.btn.b7-btn-anular .ico-set{width:18px; height:18px;}
.b7-anular-conf{display:flex; flex-direction:column; gap:10px; padding:14px 16px; border-radius:20px; background:var(--b4-ro-bg); border:1.5px solid var(--b4-ro);}
.b7-anular-conf[hidden]{display:none;}
.b7-anular-conf p{margin:0; font-weight:700; color:var(--b4-ro-ink);}
.b7-anular-botones{display:flex; gap:10px; flex-wrap:wrap;}
.b7-card-acc .b7-borrar{min-height:40px; padding:0 12px;}
.chip.b7-ocultar{min-height:44px;}
.b7-card-total{white-space:nowrap;}
@media (max-width:560px){ .b7-card-pie{flex-wrap:wrap;} .b7-card-acc{margin-left:auto;} }
