[hidden] { display: none !important; }
.distribucion { display: flex; align-items: flex-start; max-width: 1440px; margin-inline: auto; }
.distribucion > main { width: 100%; min-width: 0; }
.menu-escritorio { flex: 0 0 226px; display: grid; gap: 5px; padding: 20px 12px; border-right: 1px solid var(--linea); }
.menu-enlace { display: flex; align-items: center; padding: 8px 12px; border-radius: 10px; min-height: 44px; text-decoration: none; font-weight: 600; }
.menu-enlace:hover, .menu-enlace[aria-current="page"] { background: var(--salvia); }
.avatar { display: grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 100%; background: var(--oliva); color: white; text-decoration: none; font-weight: 600; }
.socios .avatar + span { margin: 3px 0 0 -7px; background: var(--arcilla); }
.acceso { max-width: 460px; margin: 24px auto; }
.sin-sesion .boton-buscar, .sin-sesion .menu-cabecera, .sin-sesion .barra-movil, .sin-sesion .encargado-fijo, .sin-sesion .socios { display: none; }
.pagina { gap: 18px; padding-bottom: 48px; }
.pagina-cabecera { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.pagina h1 { font-size: clamp(1.8rem, 3vw, 2.35rem); }
.pagina h2 { font-size: 1.35rem; }
.pagina h3, .tarjeta-aprobacion h3 { font-size: 1.16rem; }
.acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.acciones small { margin-inline: 2px; }
.tarjeta { min-width: 0; padding: 16px; overflow-wrap: anywhere; }
.tarjeta > .boton { justify-self: start; }
.partido { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.25fr); align-items: start; gap: 14px; }
.partido.ficha { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.rejilla-tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 225px), 1fr)); gap: 12px; }
.rejilla-campos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr)); gap: 12px; }
.fila-dato { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; border-top: 1px solid var(--linea); padding-block: 9px; }
.fila-dato > div { flex: 1; }
.bloque { padding-block: 12px; border-top: 1px solid var(--linea); }
.campo { display: grid; gap: 4px; font-weight: 600; min-width: 0; }
.campo :is(input, select, textarea) { min-width: 0; width: 100%; min-height: 44px; border: 1px solid #b9ac96; border-radius: 9px; padding: 8px 10px; background: white; font-weight: 400; }
.campo textarea { resize: vertical; }
.campo input[type="file"] { padding: 5px; }
.casilla { display: inline-flex; gap: 7px; align-items: center; min-height: 44px; padding-right: 8px; }
.casilla input { width: 22px; height: 22px; accent-color: var(--oliva); }
.filtros { padding: 10px 12px; border-radius: 12px; background: var(--pasillo); }
.filtros form { display: flex; align-items: end; flex-wrap: wrap; gap: 8px; }
.filtros .campo { flex: 1 1 130px; }
.filtros .error-form:empty, .error-form:empty { display: none; }
.error-form { color: var(--alerta); font-weight: 600; }
.editar-linea { display: block; min-height: 44px; min-width: 64px; padding: 3px 7px; border: 1px solid transparent; border-radius: 7px; background: transparent; text-align: left; color: var(--oliva-oscuro); text-decoration: underline; }
.editar-linea:hover { background: var(--salvia); }
.dato-editable { display: grid; grid-template-columns: minmax(90px, .65fr) minmax(0, 1fr); align-items: center; gap: 8px; border-bottom: 1px solid var(--linea); }
.fila-seleccion { display: block; padding: 10px 12px; border: 1px solid var(--linea); border-radius: 10px; color: var(--tinta); text-decoration: none; min-height: 44px; overflow-wrap: anywhere; }
.fila-seleccion:hover, .fila-seleccion.elegida, tr.elegida { background: var(--luz); }
.fila-seleccion.elegida { border-left: 4px solid var(--oliva); }
.enlace-titulo { display: inline-flex; align-items: center; min-height: 44px; color: var(--oliva-oscuro); font-weight: 600; }
.con-urgencia { border: 1px solid var(--arcilla); border-left-width: 4px; background: var(--rosa); border-radius: 12px; }
.tarjeta-aprobacion:not(.con-urgencia) { border: 1px solid var(--linea); border-radius: 12px; }
.boton.peligro { border-color: var(--arcilla); color: var(--alerta); }
.borrador { background: var(--papel); padding: 12px; border-radius: 9px; border: 1px solid var(--linea); }
.texto-libre { white-space: pre-wrap; overflow-wrap: anywhere; }
.tabla-visor { overflow-x: auto; }
.tabla { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.tabla :is(th, td) { padding: 8px; border-bottom: 1px solid var(--linea); text-align: left; vertical-align: top; }
.tabla th { color: var(--oliva-oscuro); }
.tabla th .boton { border: 0; padding: 0 3px; text-align: left; background: transparent; }
.paginacion { justify-content: center; }
.historial { display: grid; gap: 12px; padding-left: 18px; border-left: 2px solid var(--linea); list-style: none; }
.historial li { display: grid; gap: 4px; position: relative; }
.historial li::before { content: ''; position: absolute; left: -24px; top: 6px; width: 10px; height: 10px; border-radius: 50%; background: var(--oliva); }
.fases-ficha { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.fases-ficha li { border: 1px solid var(--linea); border-radius: 8px; padding: 6px; font-size: .875rem; }
.fases-ficha li[aria-current] { background: var(--salvia); font-weight: 600; }
.fases-ficha .boton { padding: 4px 6px; min-height: 44px; }
.tablero { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 1fr); gap: 10px; overflow: auto; padding: 4px 4px 10px; }
.columna { border-radius: 12px; background: var(--pasillo); padding: 12px; }
.columna h2 { font-size: 1.12rem; }
.fases-movil { display: none; }
.pasos { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.pasos li { display: flex; align-items: center; gap: 7px; color: var(--suave); }
.pasos li[aria-current] { color: var(--tinta); font-weight: 600; }
.pasos li[aria-current] .chip { color: white; background: var(--oliva); }
.archivo-soltar { border: 2px dashed #b9ac96; border-radius: 10px; padding: 14px; background: var(--papel); }
.fila-mapa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 10px; padding: 10px; border-top: 1px solid var(--linea); }
.notificacion { position: fixed; z-index: 5; bottom: 14px; left: 50%; transform: translateX(-50%); display: flex; flex-wrap: wrap; align-items: center; gap: 8px; width: max-content; max-width: calc(100% - 24px); background: var(--tinta); color: white; border-radius: 13px; padding: 8px 12px; }
.notificacion-error { background: var(--alerta); }
.notificacion .boton { min-height: 44px; }
.encargado-fijo { position: fixed; z-index: 3; right: 16px; bottom: 14px; }
.chat { position: fixed; inset: auto 12px 12px auto; margin: 0; max-height: calc(100dvh - 24px); width: min(460px, calc(100% - 24px)); }
.mensajes-chat { max-height: 38dvh; overflow-y: auto; padding: 2px 4px 6px; }
.mensaje-chat { padding: 12px; background: var(--papel); border-radius: 12px; overflow-wrap: anywhere; }
.mensaje-socio { background: var(--salvia); margin-left: 24px; }
audio { max-width: 100%; }
pre { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }

@media (min-width: 600px) {
  .contenido:has(.oficina) { padding-bottom: 68px; }
  .oficina .bandeja-cuerpo { max-height: max(320px, calc(100dvh - 365px)); overflow-y: auto; }
}
@media (max-width: 1050px) {
  .menu-escritorio { flex-basis: 210px; }
  .partido, .partido.ficha { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 759px) {
  .menu-escritorio { display: none; }
}
@media (max-width: 599px) {
  .menu-cabecera, .encargado-fijo { display: none; }
  .barra-movil button { min-width: 44px; }
  .barra-movil button svg { width: 15px; height: 15px; }
  .barra-movil .barra-accion { line-height: 1.1; }
  .fases-movil { display: flex; flex-wrap: nowrap; overflow: auto; padding: 4px; }
  .fases-movil button { white-space: nowrap; }
  .fases-movil button[aria-pressed="true"] { background: var(--salvia); }
  .tablero { display: block; }
  .columna:not(.columna-activa) { display: none; }
  .tarjeta { padding: 12px; }
  .notificacion { bottom: 65px; }
  .fila-mapa { grid-template-columns: 1fr; }
  .pasos { display: grid; grid-template-columns: 1fr 1fr; font-size: .875rem; }
  .chat { inset: auto 0 0; width: 100%; max-width: none; max-height: 95dvh; border-radius: 18px 18px 0 0; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
}
.qr-totp { width: min(260px, 100%); height: auto; image-rendering: pixelated; }

.referencias-chat { display: grid; gap: 6px; margin: 0; padding-inline-start: 1.25rem; }
.notificacion.notificacion-chat { position: static; transform: none; width: auto; max-width: none; }
