/* Consola · Cuentas CVU (admin/cuentas.html): estilos propios de la pantalla.
   Solo tokens de estilos.css; todas las clases llevan el prefijo cons-cuentas-. */

.cons-cuentas-aviso { margin: var(--e-6) 0 var(--e-2); }
.cons-cuentas-kpi-btn { font-size: var(--t-13); }
.cons-cuentas-pestanas { margin-top: var(--e-6); }

/* ---------- Filtros ---------- */
.cons-cuentas-filtros { display: grid; gap: var(--e-4); padding: var(--e-4) var(--e-5); margin-bottom: var(--e-4); }
.cons-cuentas-filtros .campo { gap: 4px; min-width: 0; }
/* En filas de dos campos, cada campo queda arriba aunque el vecino tenga ayuda */
#modal-agregar .campo, #modal-asignar .campo, #drawer-cuenta .campo { align-content: start; }
.cons-cuentas-filtros .campo__etiqueta { font-size: var(--t-12); font-weight: 600; color: var(--texto-2); letter-spacing: 0.01em; }
.cons-cuentas-filtros__chips { margin-bottom: 0; }
.cons-cuentas-limpiar { margin-left: auto; min-height: 32px; font-size: var(--t-13); }
.cons-cuentas-filtros__campos { display: grid; gap: var(--e-3); grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); align-items: end; }
.cons-cuentas-filtros__buscar .buscador { max-width: none; }
.cons-cuentas-filtros__buscar .buscador .campo__control { padding-right: 12px; }

/* ---------- Tabla del pool ---------- */
.cons-cuentas-tabla { font-size: var(--t-13); }
.cons-cuentas-tabla th, .cons-cuentas-tabla td { padding-left: 6px; padding-right: 6px; }
.cons-cuentas-tabla th:first-child, .cons-cuentas-tabla td:first-child { padding-left: 14px; }
.cons-cuentas-tabla th:last-child, .cons-cuentas-tabla td:last-child { padding-right: 10px; }
.cons-cuentas-tabla .copiable .mono { font-size: 0.71875rem; color: var(--texto); }
.cons-cuentas-tabla .celda-sub.mono { font-size: var(--t-12); }
.cons-cuentas-celda { display: block; min-width: 0; }
.cons-cuentas-sub { white-space: normal; max-width: 120px; line-height: 1.35; }
#tabla-cuentas td:nth-child(2) .cons-cuentas-nombre .mono,
#tabla-cuentas td:nth-child(2) .celda-sub.mono { overflow-wrap: anywhere; }
#tabla-cuentas td:nth-child(2) { white-space: normal; min-width: 120px; max-width: 150px; }
#tabla-cuentas td:nth-child(3), #tabla-cuentas td:nth-child(4) { white-space: normal; min-width: 120px; max-width: 150px; }
#tabla-pedidos td.envolver { min-width: 200px; max-width: 280px; }
.cons-cuentas-sub-ancha { max-width: 220px; white-space: normal; }

/* La columna de acciones queda fija a la derecha si la tabla tiene que desplazarse */
@media (min-width: 641px) {
  #tabla-cuentas th.acciones, #tabla-cuentas td.acciones {
    position: sticky; right: 0; z-index: 1; background: var(--superficie); box-shadow: inset 1px 0 0 var(--borde);
  }
  #tabla-cuentas th.acciones { background: var(--superficie-2); z-index: 2; }
  #tabla-cuentas tbody tr:hover td.acciones { background: var(--superficie-2); }
}

/* Nombre de la cuenta: abre el detalle */
.cons-cuentas-nombre {
  all: unset; box-sizing: border-box; cursor: pointer; font-weight: 600; color: var(--texto);
  border-radius: 4px; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px;
}
.cons-cuentas-nombre:hover { color: var(--primario-texto); text-decoration-color: currentColor; }
.cons-cuentas-nombre:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }
.cons-cuentas-nombre .mono { font-weight: 500; }

/* Mini barra del tope en la celda "Mes" */
.cons-cuentas-tope { min-width: 108px; gap: 4px; }
.cons-cuentas-tope .tope__cabecera { color: var(--texto); font-size: var(--t-11); gap: 6px; }
.cons-cuentas-tope .tope__pista { height: 6px; }
.cons-cuentas-tope .tope__cifras { font-size: var(--t-11); }
.cons-cuentas-tope--pausada .tope__relleno { opacity: 0.45; }

/* El badge con tooltip se puede enfocar con teclado */
.cons-cuentas-tabla .estado[data-tooltip] { cursor: help; }
.cons-cuentas-tabla .estado[data-tooltip]::after { left: auto; right: 0; transform: translate(0, 4px); text-align: left; }
.cons-cuentas-tabla .estado[data-tooltip]:hover::after,
.cons-cuentas-tabla .estado[data-tooltip]:focus-visible::after { transform: translate(0, 0); }
.cons-cuentas-tabla .estado[data-tooltip]:focus-visible { outline: 2px solid var(--foco); outline-offset: 2px; }

/* ---------- Menú de acciones de la fila ---------- */
.cons-cuentas-menu { display: inline-block; }
.cons-cuentas-menu > .cons-cuentas-menu__lista { position: fixed; top: auto; right: auto; min-width: 248px; max-width: min(300px, calc(100vw - 16px)); }
.cons-cuentas-menu__texto { display: none; }
.cons-cuentas-menu[open] > summary { background: var(--superficie-3); color: var(--texto); }
.cons-cuentas-menu .desplegable__item { min-height: 44px; }
.cons-cuentas-menu .desplegable__item[aria-disabled="true"] { color: var(--texto-3); cursor: not-allowed; }
.cons-cuentas-menu .desplegable__item[aria-disabled="true"]:hover { background: var(--superficie-2); }
.cons-cuentas-menu .desplegable__item[data-tooltip]::after { left: auto; right: 0; transform: translate(0, 4px); text-align: left; }
.cons-cuentas-menu .desplegable__item[data-tooltip]:hover::after,
.cons-cuentas-menu .desplegable__item[data-tooltip]:focus-visible::after { transform: translate(0, 0); }
/* Con lugar a la izquierda, el motivo sale al costado del menú y no tapa las otras opciones */
@media (min-width: 641px) {
  .cons-cuentas-menu .desplegable__item[data-tooltip]::after { right: calc(100% + 12px); bottom: auto; top: 50%; width: 240px; transform: translate(4px, -50%); }
  .cons-cuentas-menu .desplegable__item[data-tooltip]:hover::after,
  .cons-cuentas-menu .desplegable__item[data-tooltip]:focus-visible::after { transform: translate(0, -50%); }
}
.cons-cuentas-item { display: grid; gap: 1px; padding: 6px 0; line-height: 1.3; }
.cons-cuentas-item small { font-size: var(--t-12); color: var(--texto-3); }
.cons-cuentas-acciones-pedido { display: inline-flex; align-items: center; gap: var(--e-1); }

/* Leyenda de la raya del 90 % */
.cons-cuentas-leyenda { display: flex; align-items: center; gap: var(--e-2); }
.cons-cuentas-raya { position: relative; flex: none; width: 34px; height: 6px; border-radius: var(--radio-total); background: var(--pista); }
.cons-cuentas-raya::after { content: ""; position: absolute; left: 90%; top: -3px; bottom: -3px; width: 2px; background: var(--texto-3); border-radius: 1px; }

/* ---------- Modales ---------- */
.cons-cuentas-confirmar { align-items: flex-start; flex-wrap: nowrap; }
.cons-cuentas-fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: var(--e-2); }
.cons-cuentas-fieldset > legend { padding: 0; margin-bottom: var(--e-2); }
.cons-cuentas-ops__lista {
  display: grid; gap: 2px; max-height: 248px; overflow-y: auto; padding: var(--e-1);
  border: 1px solid var(--borde); border-radius: var(--radio-2); background: var(--superficie-2);
}
.cons-cuentas-op { display: flex; padding: 10px var(--e-3); border-radius: var(--radio-1); min-height: 44px; }
.cons-cuentas-op:hover { background: var(--superficie); }
.cons-cuentas-op:has(input:checked) { background: var(--primario-suave); }
.cons-cuentas-op:has(input:disabled) { cursor: not-allowed; color: var(--texto-3); }
.cons-cuentas-op[hidden] { display: none; }
.cons-cuentas-op .check__texto small { display: block; font-size: var(--t-12); color: var(--texto-3); margin-top: 1px; }
#ag-op-vacio { padding: var(--e-2) var(--e-3); }
#asignar-resuelve .check__texto small { display: block; font-size: var(--t-12); color: var(--texto-3); margin-top: 2px; }
#asignar-resuelve[hidden] { display: none; }
.cons-cuentas-asig-datos { padding: var(--e-3) var(--e-4); border-radius: var(--radio-2); background: var(--superficie-2); border: 1px solid var(--borde); }
.cons-cuentas-asig-datos dd.mono { font-family: var(--fuente-mono); font-weight: 500; font-size: var(--t-13); }
.cons-cuentas-asig-datos[hidden] { display: none; }

/* Alta de varias: vista previa */
.cons-cuentas-lote { min-height: 168px; font-size: var(--t-12); line-height: 1.6; white-space: pre; overflow-x: auto; }
.cons-cuentas-vista { display: grid; gap: var(--e-3); }
.cons-cuentas-vista[hidden], .cons-cuentas-vista__bloque[hidden] { display: none; }
.cons-cuentas-vista__bloque { border: 1px solid var(--exito-borde); background: var(--exito-fondo); border-radius: var(--radio-2); padding: var(--e-2) var(--e-4); }
.cons-cuentas-vista__bloque--mal { border-color: var(--peligro-borde); background: var(--peligro-fondo); }
.cons-cuentas-vista__titulo { font-weight: 700; font-size: var(--t-14); padding: var(--e-1) 0; }
.cons-cuentas-vista .lista__item { padding: 6px 0; flex-wrap: wrap; row-gap: 0; border-color: color-mix(in srgb, var(--borde) 70%, transparent); }
.cons-cuentas-vista .lista__item .ico { flex: none; }
.cons-cuentas-vista .mono { overflow-wrap: anywhere; }

/* ---------- Drawer de detalle ---------- */
.cons-cuentas-bloque { display: grid; gap: var(--e-3); padding-top: var(--e-5); border-top: 1px solid var(--borde); }
.cons-cuentas-bloque:first-child { padding-top: 0; border-top: 0; }
.cons-cuentas-bloque__titulo { font-size: var(--t-15); font-weight: 700; }
.cons-cuentas-bloque .tabla-contenedor { box-shadow: none; }
.cons-cuentas-bloque .tope__cifras { font-size: var(--t-13); }
#drawer-cuenta .drawer__pie { flex-wrap: wrap; gap: var(--e-2); }
#drawer-cuenta .drawer__pie .btn[data-tooltip]::after { left: 0; transform: translate(0, 4px); }
#drawer-cuenta .drawer__pie .btn[data-tooltip]:hover::after,
#drawer-cuenta .drawer__pie .btn[data-tooltip]:focus-visible::after { transform: translate(0, 0); }

/* ---------- Pantallas medianas ---------- */
@media (max-width: 1279px) {
  .cons-cuentas-filtros__campos { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .cons-cuentas-filtros__buscar { grid-column: 1 / -1; }
}

/* ---------- Celular: la tabla se vuelve tarjetas ---------- */
@media (max-width: 640px) {
  .cons-cuentas-filtros { padding: var(--e-4); }
  .cons-cuentas-filtros__chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 calc(var(--e-4) * -1); padding: 0 var(--e-4); }
  .cons-cuentas-filtros__chips::-webkit-scrollbar { display: none; }
  .cons-cuentas-filtros__chips .chip { flex: none; }
  .cons-cuentas-limpiar { flex: none; }
  .cons-cuentas-tarjeta { background: transparent; border: 0; box-shadow: none; }
  .cons-cuentas-tarjeta .paginacion { padding-left: 0; padding-right: 0; }
  .cons-cuentas-tabla tr { display: flex !important; flex-direction: column; }
  .cons-cuentas-tabla td.tarjeta-titulo { order: -1; }
  .cons-cuentas-tabla th, .cons-cuentas-tabla td,
  .cons-cuentas-tabla th:first-child, .cons-cuentas-tabla td:first-child { padding-left: 0; padding-right: 0; }
  #tabla-cuentas td:nth-child(2), #tabla-cuentas td:nth-child(3), #tabla-cuentas td:nth-child(4) { max-width: none; min-width: 0; }
  .cons-cuentas-sub { max-width: none; }
  .cons-cuentas-celda { text-align: right; }
  .cons-cuentas-tabla td.tarjeta-titulo .cons-cuentas-celda { text-align: left; }
  .cons-cuentas-tabla .celda-sub { margin-top: 2px; }
  .cons-cuentas-tope { width: min(190px, 100%); justify-self: end; }
  .cons-cuentas-tabla td.acciones { display: block; padding-top: var(--e-3); }
  .cons-cuentas-tabla td.acciones::before { display: none; }
  .cons-cuentas-tabla details.cons-cuentas-menu { display: block; width: 100%; }
  .cons-cuentas-tabla .cons-cuentas-menu__boton.btn--icono { width: 100%; min-height: 44px; padding: 0 var(--e-4); justify-content: center; gap: var(--e-2); border: 1px solid var(--borde-fuerte); background: var(--superficie); }
  .cons-cuentas-menu__texto { display: inline; }
  .cons-cuentas-acciones-pedido { display: flex; width: 100%; }
  .cons-cuentas-acciones-pedido > .btn { flex: 1; min-height: 44px; }
  .cons-cuentas-tabla .cons-cuentas-acciones-pedido details.cons-cuentas-menu { flex: none; width: auto; }
  .cons-cuentas-tabla .cons-cuentas-acciones-pedido .cons-cuentas-menu__boton.btn--icono { width: auto; padding: 0 var(--e-3); }
  #tabla-pedidos td.envolver, .cons-cuentas-sub-ancha { max-width: none; min-width: 0; }
  #tabla-papelera td.acciones .btn { width: 100%; min-height: 44px; justify-content: center; }
  .cons-cuentas-tabla td.tarjeta-titulo .copiable .mono { font-size: var(--t-13); }
  .cons-cuentas-asig-datos { grid-template-columns: 1fr; gap: 0; }
  .cons-cuentas-asig-datos dd { margin-bottom: var(--e-2); }
}

@media (pointer: coarse) {
  .cons-cuentas-nombre { min-height: 44px; display: inline-flex; align-items: center; }
  .cons-cuentas-menu .desplegable__item { min-height: 48px; }
}
