/* Administración: lo que no está en txedep.css. Cada color sale de las variables de :root de txedep.css; el recibo y los
   documentos se imprimen en blanco y negro (@media print). */

/* pestañas de dentro de un apartado (Cuotas · Cobros · SEPA…) */
.adm-pestanas { display: flex; gap: var(--e-1); overflow-x: auto; scrollbar-width: none; margin-bottom: calc(-1 * var(--e-2)); }
.adm-pestanas a { flex: none; text-decoration: none; height: 32px; padding: 0 var(--e-3); display: inline-flex; align-items: center; border-radius: var(--r-control); color: var(--texto-2); font-size: var(--t-13); font-weight: var(--p-rotulo); box-shadow: inset 0 0 0 1px var(--borde); transition: background-color var(--dur) var(--curva), color var(--dur) var(--curva); }
.adm-pestanas a:hover { background-color: var(--bandeja); color: var(--texto); }
.adm-pestanas a[aria-current] { background-color: var(--accion); color: var(--sobre-accion); box-shadow: none; }

/* cifras del resumen */
.adm-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--e-4); }
.adm-cifra { gap: var(--e-1); }
.adm-cifra__valor { font-size: var(--t-20); font-weight: var(--p-cifra); letter-spacing: -0.01em; }
.adm-cifra--aviso { box-shadow: 0 0 0 1.5px var(--aviso-texto); }
.adm-cifra--aviso .adm-cifra__valor { color: var(--aviso-texto); }
.adm-cifra--error { box-shadow: 0 0 0 1.5px var(--error-texto); }
.adm-cifra--error .adm-cifra__valor { color: var(--error-texto); }
.adm-mapa { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: var(--e-2) var(--e-5); }
.adm-mapa h3 { margin-top: 0; }

/* estados de cobros, becas, remesas… */
.adm-estado { display: inline-flex; align-items: center; height: 22px; padding: 0 var(--e-2); border-radius: var(--r-control); font-size: var(--t-12); font-weight: var(--p-rotulo); white-space: nowrap; background: var(--bandeja-hover); color: var(--texto-2); }
.adm-estado--ok { background: var(--ok-fondo); color: var(--ok-texto); }
.adm-estado--aviso { background: var(--aviso-fondo); color: var(--aviso-texto); }
.adm-estado--error { background: var(--error-fondo); color: var(--error-texto); }
.tabla .adm-estado + .secundario { margin-top: 2px; }

/* importes */
.adm-ingreso { color: var(--ok-texto); }
.adm-acciones { display: flex; gap: var(--e-1); justify-content: flex-end; align-items: center; flex-wrap: wrap; }
.adm-acciones form { display: inline; }
.adm-desliza .tabla tfoot td { font-weight: var(--p-titulo); box-shadow: inset 0 1px 0 var(--borde-fuerte); padding: var(--e-2) var(--e-3); }
.adm-desliza .tabla tfoot td:first-child { padding-left: 0; }
.adm-solo-movil { display: none !important; }
.adm-col-barra { width: 160px; }
.adm-col-barra .num { font-size: var(--t-12); color: var(--texto-2); margin-left: var(--e-2); }
.adm-barra { width: 96px; height: 8px; vertical-align: middle; }
.adm-anio { width: 96px; }
.adm-patrocinio { display: grid; gap: var(--e-2); padding: var(--e-3) 0; box-shadow: inset 0 -1px 0 var(--linea); }
.adm-patrocinio h3 { margin: 0; color: var(--texto); font-size: var(--t-14); font-weight: var(--p-titulo); }
.adm-campos-doc { list-style: none; margin: var(--e-2) 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: var(--e-1) var(--e-4); font-size: var(--t-13); color: var(--texto-2); }
.campo textarea.adm-texto-doc { font-family: ui-serif, Georgia, serif; font-size: var(--t-16); line-height: 1.6; }
.adm-segmentado-enlaces a { display: inline-flex; height: 32px; align-items: center; padding: 0 var(--e-4); border-radius: var(--r-control); font-weight: var(--p-rotulo); color: var(--texto-2); text-decoration: none; }
.adm-segmentado-enlaces a[aria-current] { background: var(--elevada); color: var(--texto); box-shadow: var(--sombra-menu); }

.adm-foto { border-radius: 50%; object-fit: cover; flex: none; vertical-align: middle; }
.adm-foto--p { width: 32px; height: 32px; }
.adm-meses { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--e-2) var(--e-3); }
.adm-rejilla-p { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: var(--e-2); }

/* el documento y el recibo, en pantalla como una hoja */
.adm-hoja, .adm-recibo { background: var(--superficie); color: var(--texto); box-shadow: 0 0 0 1px var(--borde); border-radius: var(--r-chip); padding: var(--e-6); max-width: 780px; width: 100%; justify-self: center; }
.adm-hoja { font: var(--p-texto) var(--t-16)/1.7 ui-serif, Georgia, serif; min-height: 60vh; }
.adm-hoja__escudo { display: block; margin-bottom: var(--e-5); }
.adm-recibo { display: grid; gap: var(--e-4); }
.adm-recibo__cabecera { display: grid; grid-template-columns: auto 1fr auto; gap: var(--e-4); align-items: start; padding-bottom: var(--e-4); box-shadow: inset 0 -1px 0 var(--borde-fuerte); }
.adm-recibo__cabecera div { display: grid; gap: 2px; }
.adm-recibo__cabecera span { color: var(--texto-2); font-size: var(--t-13); }
.adm-recibo__numero { text-align: right; }
.adm-recibo__numero strong { font-size: var(--t-20); }
.adm-recibo__importe { font-size: var(--t-28); font-weight: var(--p-cifra); text-align: right; }
.adm-recibo__datos { display: grid; gap: var(--e-3); margin: 0; }
.adm-recibo__datos div { display: grid; grid-template-columns: 140px 1fr; gap: var(--e-3); }
.adm-recibo__datos dt { color: var(--texto-2); font-size: var(--t-13); font-weight: var(--p-rotulo); }
.adm-recibo__datos dd { margin: 0; overflow-wrap: anywhere; }
.adm-recibo__firma { justify-self: end; width: 220px; padding-top: var(--e-7); text-align: center; color: var(--texto-2); font-size: var(--t-13); box-shadow: inset 0 -1px 0 var(--borde-fuerte); }

@media (max-width: 900px) {
  .adm-desliza { overflow-x: auto; }
  .adm-desliza .confirma__caja { position: fixed; left: var(--e-4); right: var(--e-4); top: auto; bottom: var(--e-4); width: auto; z-index: 20; }
  .adm-solo-movil { display: block !important; }
  .adm-col-barra { width: auto; }
}
@media (max-width: 600px) {
  .adm-cifras { grid-template-columns: 1fr 1fr; gap: var(--e-2); }
  .adm-cifra__valor { font-size: var(--t-16); }
  .adm-hoja, .adm-recibo { padding: var(--e-4); }
  .adm-recibo__cabecera { grid-template-columns: auto 1fr; }
  .adm-recibo__numero { grid-column: 1 / -1; text-align: left; }
  .adm-recibo__datos div { grid-template-columns: 1fr; gap: 2px; }
  .adm-barra { width: 56px; }
  .adm-meses { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .adm-desliza .tabla td, .adm-desliza .tabla th { padding-left: 6px; padding-right: 6px; font-size: var(--t-13); }
  .adm-desliza .tabla td:first-child, .adm-desliza .tabla th:first-child { padding-left: 0; }
  .adm-desliza .tabla td:last-child, .adm-desliza .tabla th:last-child { padding-right: 0; }
  .adm-desliza .adm-col-barra .num { display: none; }
}

@media print {
  .adm-no-imprimir, .adm-pestanas, body:has(.adm-no-imprimir) .aviso, body:has(.adm-no-imprimir) .sub { display: none !important; }
  body:has(.adm-no-imprimir) .pagina { padding: 0; max-width: none; }
  .adm-hoja, .adm-recibo { box-shadow: none; border-radius: 0; padding: 0; max-width: none; background: #fff; color: #000; }
  .adm-recibo { break-inside: avoid; padding-bottom: 12mm; margin-bottom: 12mm; border-bottom: 1px dashed #000; }
  .adm-recibo__cabecera span, .adm-recibo__datos dt, .adm-recibo__firma { color: #000; }
  .adm-recibo__cabecera, .adm-recibo__firma { box-shadow: inset 0 -1px 0 #000; }
}
