/* Módulo facturación (pantallas 42 y 45). Solo tokens: nada de colores literales.
   Prefijos propios: `fac-` (documentos y editor) y `cfg-` (configuración del emisor). */

/* Encabezado: modo del PAC siempre visible. */
.fac-modo-pac { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }

/* Barra de filtros: todo cabe en 360 px sin scroll de página. */
.fac-barra { flex-wrap: wrap; }
.fac-barra .seg-toggle { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.fac-barra .seg-toggle button { flex: none; }
.fac-select { width: auto; min-width: 140px; max-width: 100%; height: 34px; }
.fac-cliente { max-width: 260px; }
.fac-periodo { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; max-width: 100%; }
.fac-fecha { width: auto; min-width: 0; max-width: 160px; height: 34px; }

/* Renglón de la lista moderna. */
.fac-row .fac-check { width: 18px; height: 18px; flex: none; accent-color: var(--accent); }
.fac-avatar { font-size: 11px; letter-spacing: 0; }
.fac-pills { display: flex; flex-wrap: wrap; gap: .35rem; justify-content: flex-end; }
.fac-row .metric-value { font-size: 13.5px; }
.fac-debe { color: var(--danger); }

/* Drawer del documento. */
.fac-pills-drawer { justify-content: flex-start; margin-bottom: 12px; }
.fac-tabs { display: flex; max-width: 100%; overflow-x: auto; scrollbar-width: none; margin: 4px 0 14px; }
.fac-tabs button { flex: none; }
.fac-ficha { margin: 0; }
.fac-uuid { font-size: 12.5px; overflow-wrap: anywhere; }
.fac-items { display: flex; flex-direction: column; }
.fac-item { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border); flex-wrap: wrap; }
.fac-item:last-child { border-bottom: 0; }
.fac-item .who { flex: 1 1 200px; min-width: 0; }
.fac-item .who-name { font: 700 13.5px var(--font-brand); overflow-wrap: anywhere; }
.fac-item .who-id { font-size: 12px; color: var(--ink-3); overflow-wrap: anywhere; }
.fac-item .metric { text-align: right; }
.fac-item .metric-value { font: 700 14px var(--font-brand); }
.fac-item .metric-label { font-size: 11px; color: var(--ink-3); }
.fac-panel-accion .campo { margin-top: 10px; }
.fac-espacio { margin-top: 14px; }

/* Caja de resultado del PAC / errores de negocio. */
.fac-resultado { display: flex; gap: .6rem; align-items: flex-start; font-size: 13.5px; padding: 12px 14px; margin: 0 0 14px; border-radius: 10px; background: var(--sunken); color: var(--ink-1); overflow-wrap: anywhere; }
.fac-resultado > .fas { margin-top: 3px; }
.fac-resultado b { display: block; margin-bottom: 2px; }
.fac-resultado.ok { background: var(--success-soft); }
.fac-resultado.ok > .fas { color: var(--success); }
.fac-resultado.mal { background: var(--danger-soft); }
.fac-resultado.mal > .fas { color: var(--danger); }
.fac-resultado.aviso { background: var(--warning-soft); }
.fac-resultado.aviso > .fas { color: var(--warning); }
.fac-resultado.info { background: var(--info-soft); }
.fac-resultado.info > .fas { color: var(--info); }
.fac-ficha-mini { margin: 8px 0 0; font-size: 12.5px; grid-template-columns: minmax(0, auto) minmax(0, 1fr); }
.fac-faltan { margin: 6px 0 0; padding-left: 1.2rem; }
.fac-botones { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 10px; }
.fac-botones:empty { display: none; }

/* Editor de proforma. */
.fac-editor { overflow: hidden; }
.fac-editor-titulo { font-size: 1.05rem; margin: 0; }
.fac-editor-pie { position: static; }
.fac-conceptos { display: flex; flex-direction: column; gap: 0; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.fac-concepto {
  display: grid; align-items: center; gap: 8px; padding: 8px 10px; border-bottom: 1px solid var(--border);
  grid-template-columns: minmax(150px, 1.3fr) minmax(160px, 2fr) 80px 120px minmax(100px, 1fr) 100px 90px 32px;
}
.fac-concepto:last-child { border-bottom: 0; }
.fac-concepto-cabeza { background: var(--sunken); font: 700 11.5px var(--font-ui); text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3); }
.fac-concepto .campo-input { height: 34px; min-width: 0; width: 100%; }
.fac-concepto .der { text-align: right; }
.fac-concepto-nota { grid-column: 1 / -1; }
.fac-cifra { text-align: right; font-weight: 600; }
.fac-et { display: none; }
.fac-agregar { margin-top: 10px; }
.fac-totales { margin-top: 14px; margin-left: auto; max-width: 380px; display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border-radius: 10px; background: var(--sunken); }
.fac-totales > div { display: flex; justify-content: space-between; gap: 1rem; font-size: 13.5px; }
.fac-totales .fac-total { border-top: 1px solid var(--border); padding-top: 6px; font-size: 15px; }
.fac-totales.aviso { background: var(--warning-soft); }
.fac-nota-calculo { font-size: 12px; margin: 4px 0 0; }
.fac-no-alcanzable { font-size: 13px; color: var(--ink-1); }
.fac-no-alcanzable p { margin: 4px 0 8px; }
.fac-no-alcanzable .fa-triangle-exclamation { color: var(--warning); }
.fac-editor .fac-resultado { margin-top: 14px; }

@media (max-width: 1100px) {
  /* Concepto como tarjeta con etiquetas (sin encabezado de tabla). */
  .fac-concepto-cabeza { display: none; }
  .fac-concepto { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; padding: 12px; }
  .fac-et { display: block; font-size: 11px; color: var(--ink-3); }
  .fac-concepto > label.fac-et { grid-column: 1 / -1; margin-bottom: -4px; }
  .fac-concepto > select, .fac-concepto > input { grid-column: 1 / -1; }
  .fac-cifra { text-align: left; }
  .fac-cifra .fac-et { display: inline; margin-right: .4rem; }
}
@media (max-width: 760px) {
  .fac-select, .fac-cliente { flex: 1 1 140px; min-width: 0; }
  .fac-fecha { flex: 1 1 120px; max-width: none; }
  .fac-row .fac-pills { order: 4; justify-content: flex-start; margin-left: 54px; }
  .fac-saldo { display: none; }
  /* Combinar se edita en pantalla grande (editor de solo lectura en el teléfono). */
  .fac-row .fac-check { display: none; }
  .fac-totales { max-width: none; margin-left: 0; }
  .cfg-rejilla { grid-template-columns: minmax(0, 1fr); }
}

/* Configuración (pantalla 45). */
.cfg-rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 14px; margin-bottom: 14px; }
.cfg-titulo { font-size: 1rem; margin: 0; }
.cfg-uso { display: flex; align-items: flex-start; gap: .6rem; padding: 8px 0; border-bottom: 1px solid var(--border); font-size: 13.5px; }
.cfg-uso:last-of-type { border-bottom: 0; }
.cfg-uso .pill { flex: none; }
.cfg-uso-nombre { font-weight: 600; color: var(--ink-1); }
.cfg-nota { margin-top: 12px; font-size: 12.5px; }
.cfg-ayuda { font-size: 12px; margin-top: 4px; }
.cfg-form { overflow: hidden; }
.cfg-pie { align-items: center; }
.cfg-pie .izq { margin-right: auto; font-size: 12.5px; }
