/* v21 · Fiscalización y tableros de dirección (modo noche v21, dueño 02/10/2026).
   FIS.2: la tablet del fiscal (maquetas FV1 a FV6, 1180 × 820); FIS.7: los tableros de dirección (D1 a D5).
   Sistema Consta v2: punto y palabra, toques de 44 px, sin deslizar de costado en el celular. */

/* --- Comunes ---------------------------------------------------------------------------------- */
.s-significa { font-size: var(--letra-texto-chico); color: var(--secundario); margin: var(--espacio-8) 0 var(--espacio-16); line-height: 1.5; }
.s-significa b:first-child { color: var(--texto); }
.tablet-bajada { margin: 0 0 var(--espacio-12); color: var(--secundario); font-size: var(--letra-texto); }
.tablet-nota { font-size: var(--letra-texto-chico); color: var(--secundario); margin: var(--espacio-8) 0; }

/* --- Pestañas de la tablet --------------------------------------------------------------------- */
.tablet-arriba { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--espacio-8); margin-bottom: var(--espacio-8); }
.tablet-arriba .s-pestanas__pestana { min-height: 44px; display: inline-flex; align-items: center; }
.tablet-arriba__rotulo { margin: 0; font-size: var(--letra-rotulo); font-weight: var(--peso-rotulo); color: var(--secundario); }

/* --- V1 · Visita por piso ---------------------------------------------------------------------- */
.tablet-empezar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espacio-12); margin: 0 0 var(--espacio-12); }
.tablet-visita { display: grid; grid-template-columns: minmax(220px, 320px) 1fr; gap: var(--espacio-16); align-items: start; }
.tablet-pisos, .tablet-piso-detalle, .tablet-pregunta, .tablet-ficha, .tablet-paso, .tablet-error { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-tarjeta); padding: var(--espacio-12) var(--espacio-16); }
.tablet-pisos { display: flex; flex-direction: column; gap: var(--espacio-8); }
.tablet-pisos__titulo { display: flex; justify-content: space-between; gap: var(--espacio-8); margin: 0 0 var(--espacio-4); font-size: var(--letra-texto-chico); color: var(--secundario); }
.tablet-pisos__titulo span:first-child { font-weight: 700; color: var(--azul-marca); }
.tablet-piso { display: flex; align-items: center; gap: var(--espacio-12); min-height: 44px; padding: var(--espacio-8) var(--espacio-12); border: 1px solid var(--linea); border-radius: var(--radio-tarjeta); color: var(--texto); text-decoration: none; font-size: var(--letra-texto); }
.tablet-piso b { min-width: 48px; font-size: var(--letra-texto-destacado); }
.tablet-piso span { flex: 1; color: var(--secundario); }
.tablet-piso--elegido { border-color: var(--azul-marca); background: var(--fondo-resumen); box-shadow: inset 0 0 0 1px var(--azul-marca); }
.tablet-piso .s-estado { font-style: normal; }
.tablet-piso-detalle__titulo { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--espacio-8); margin: 0 0 var(--espacio-8); color: var(--secundario); font-size: var(--letra-texto-chico); }
.tablet-piso-detalle__titulo b { font-size: var(--letra-texto-destacado); color: var(--azul-marca); }
.tablet-tarea { display: flex; align-items: center; gap: var(--espacio-12); padding: var(--espacio-12) 0; border-top: 1px solid var(--linea); margin: 0; }
.tablet-tarea:first-of-type { border-top: 0; }
.tablet-tarea__rotulo { flex: none; font-size: var(--letra-texto-chico); font-weight: 700; padding: 2px 8px; border-radius: 6px; background: var(--fondo-resumen); color: var(--azul-marca); }
.tablet-tarea__rotulo--grave { background: var(--aviso-fondo); color: var(--avance-negativo); }
.tablet-tarea__rotulo--explicar, .tablet-tarea__rotulo--mirar { color: var(--secundario); }
.tablet-tarea__textos { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; overflow-wrap: anywhere; }
.tablet-tarea__textos span { font-size: var(--letra-texto-chico); color: var(--secundario); }
.tablet-tarea .s-boton { min-height: 44px; min-width: 120px; }
.tablet-pie { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--espacio-16); margin-top: var(--espacio-16); }
.tablet-pie__acciones { display: flex; flex-wrap: wrap; gap: var(--espacio-8); margin-top: var(--espacio-12); }
.tablet-pie__acciones .s-boton, .tablet-pie__acciones button { min-height: 44px; }
.tablet-cobertura { flex: 1; min-width: 220px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px var(--espacio-16); }
.tablet-cobertura__rotulo { grid-column: 1 / -1; font-size: var(--letra-rotulo); font-weight: var(--peso-rotulo); color: var(--secundario); }
.tablet-cobertura b { color: var(--azul-marca); font-size: var(--letra-texto-destacado); }
.tablet-cobertura__barra { height: 8px; border-radius: 4px; background: var(--fondo-resumen); overflow: hidden; }
.tablet-cobertura__barra i { display: block; height: 100%; background: var(--azul-marca); }
.tablet-cobertura--ambar .tablet-cobertura__barra i { background: var(--estado-reprogramado-punto); }

/* --- V2 · En el frente; V3 · Hallazgo ---------------------------------------------------------- */
.tablet-frente { display: grid; grid-template-columns: 1fr minmax(240px, 320px); gap: var(--espacio-16); align-items: start; }
.tablet-preguntas { display: flex; flex-direction: column; gap: var(--espacio-12); }
.tablet-pregunta__titulo, .tablet-paso legend { display: flex; align-items: center; gap: var(--espacio-8); margin: 0 0 var(--espacio-8); font-weight: 700; font-size: var(--letra-texto-destacado); }
.tablet-pregunta__numero { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--azul-marca); color: var(--blanco); font-size: var(--letra-texto); }
.tablet-si, .tablet-explicar { display: flex; flex-direction: column; gap: var(--espacio-8); }
.tablet-si__botones { display: flex; flex-wrap: wrap; gap: var(--espacio-8); }
.tablet-si__botones .s-boton, .tablet-explicar .s-boton { min-height: 48px; min-width: 140px; }
.tablet-ficha__titulo { margin: 0 0 var(--espacio-8); font-weight: 700; font-size: var(--letra-texto-chico); color: var(--azul-marca); }
.tablet-ficha dl { display: grid; grid-template-columns: auto 1fr; gap: 6px var(--espacio-12); margin: 0; font-size: var(--letra-texto); }
.tablet-ficha dt { color: var(--secundario); }
.tablet-ficha dd { margin: 0; font-weight: 600; }
.tablet-hallazgo { display: flex; flex-direction: column; gap: var(--espacio-12); max-width: 900px; }
.tablet-paso { margin: 0; }
.tablet-opciones { display: flex; flex-wrap: wrap; gap: var(--espacio-8); margin-bottom: var(--espacio-8); }
.tablet-opcion { position: relative; display: inline-flex; }
.tablet-opcion input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.tablet-opcion span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--espacio-16); border: 1px solid var(--linea); border-radius: 22px; background: var(--blanco); font-size: var(--letra-texto); }
.tablet-opcion input:checked + span { border-color: var(--azul-marca); background: var(--fondo-resumen); box-shadow: inset 0 0 0 1px var(--azul-marca); font-weight: 700; color: var(--azul-marca); }
.tablet-opcion input:focus-visible + span { outline: 2px solid var(--azul-marca); outline-offset: 2px; }
.tablet-opcion--grave input:checked + span { border-color: var(--avance-negativo); color: var(--avance-negativo); box-shadow: inset 0 0 0 1px var(--avance-negativo); background: var(--aviso-fondo); }
.tablet-vence { margin: 0; padding: var(--espacio-8) var(--espacio-12); border-radius: var(--radio-tarjeta); background: var(--fondo-resumen); font-size: var(--letra-texto); }

/* --- V4 · Pendientes; V6 · Cierre --------------------------------------------------------------- */
.tablet-pendientes { display: flex; flex-direction: column; gap: var(--espacio-8); margin: var(--espacio-12) 0; }
.tablet-error { display: grid; grid-template-columns: auto 1fr auto; gap: var(--espacio-8) var(--espacio-12); align-items: center; }
.tablet-error__nivel { font-weight: 700; color: var(--azul-marca); min-width: 40px; }
.tablet-error__textos { display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.tablet-error__textos span { font-size: var(--letra-texto-chico); color: var(--secundario); }
.tablet-error .devolucion__fotos, .tablet-error__acciones { grid-column: 1 / -1; }
.tablet-error__acciones { display: flex; flex-wrap: wrap; gap: var(--espacio-8); }
.tablet-error__acciones .s-boton { min-height: 44px; min-width: 140px; }
.tablet-numeros { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--espacio-8); margin: var(--espacio-12) 0; }
.tablet-numero { display: flex; flex-direction: column; gap: 2px; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-tarjeta); padding: var(--espacio-12); }
.tablet-numero span { font-size: var(--letra-rotulo); font-weight: var(--peso-rotulo); color: var(--secundario); }
.tablet-numero b { font-size: var(--letra-cifra); color: var(--azul-marca); overflow-wrap: anywhere; }
.tablet-numero small { font-size: var(--letra-texto-chico); color: var(--secundario); }

@media (max-width: 860px) {
    .tablet-visita, .tablet-frente { grid-template-columns: 1fr; }
    .tablet-error { grid-template-columns: auto 1fr; }
    .tablet-error__estado { grid-column: 1 / -1; }
}

/* --- FIS.7 · Dirección (D1 a D5) ----------------------------------------------------------------- */
.dir-celular { display: none; }
.dir-tarjetas { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--espacio-12); margin: 0 0 var(--espacio-16); }
.dir-tarjeta { display: flex; flex-direction: column; gap: 4px; background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-tarjeta); padding: var(--espacio-12) var(--espacio-16); color: var(--texto); text-decoration: none; font-size: var(--letra-texto-chico); min-width: 0; }
.dir-tarjeta span { color: var(--secundario); }
.dir-tarjeta__rotulo { font-size: var(--letra-rotulo) !important; font-weight: var(--peso-rotulo); }
.dir-tarjeta__numero { font-size: var(--letra-cifra); color: var(--azul-marca); overflow-wrap: anywhere; }
.dir-tarjeta__detalle { color: var(--texto) !important; }
.dir-tarjeta__enlace { margin-top: auto; color: var(--azul-marca) !important; font-weight: 700; }
.dir-tarjeta--ambar { border-color: var(--estado-reprogramado-punto); }
.dir-tarjeta--direccion { background: var(--fondo-capitulo); }
.dir-mirar { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-tarjeta); padding: var(--espacio-12) var(--espacio-16); }
.dir-mirar__titulo { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--espacio-8); margin: var(--espacio-16) 0 var(--espacio-8); font-size: var(--letra-texto-chico); color: var(--secundario); }
.dir-mirar .dir-mirar__titulo { margin-top: 0; }
.dir-mirar__titulo b { font-size: var(--letra-texto); color: var(--azul-marca); }
.dir-mirar__fila { display: grid; grid-template-columns: 110px 1fr auto auto; align-items: center; gap: var(--espacio-12); padding: var(--espacio-8) 0; border-top: 1px solid var(--linea); min-height: 44px; }
.dir-mirar__textos { display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.dir-mirar__textos span { font-size: var(--letra-texto-chico); color: var(--secundario); }
.dir-mirar__monto { font-variant-numeric: tabular-nums; font-weight: 700; text-align: right; white-space: nowrap; }
.dir-mirar__fila .s-boton { min-height: 44px; }
.dir-chico { font-size: var(--letra-texto-chico); color: var(--secundario); }
.dir-rojo { color: var(--avance-negativo); }
/* v22 (C.7, agente 4): el detalle de una celda numérica (los frentes trabados) puede ser largo: que corte línea. */
.s-tabla .s-tabla__numero .dir-chico { white-space: normal; overflow-wrap: anywhere; }
/* V22-D11 (sábado en sombra): la marca de lo que todavía solo ve dirección. */
.dir-sombra { display: inline-block; font-size: var(--letra-texto-chico); color: var(--secundario); border: 1px dashed currentColor; border-radius: 999px; padding: 0 .5em; }
.dir-sombra-fila { font-size: var(--letra-texto-chico); color: var(--secundario); margin: .5rem 0; }
.dir-total td { border-top: 3px double var(--texto); font-weight: 700; }
.dir-semanas { display: flex; align-items: flex-end; gap: var(--espacio-12); padding: var(--espacio-12); background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-tarjeta); }
.dir-semana { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 4px; font-size: var(--letra-texto-chico); }
.dir-semana i { display: block; width: 60%; min-height: 2px; background: var(--avance-negativo); border-radius: 3px 3px 0 0; }
.dir-semana__sabado { color: var(--confirmacion-texto); font-weight: 700; }
/* v23k · KB.5: sin alto fijo en el recuadro (estaba estirado a 160 px y la prueba de diseño lo marca desde que hay viernes
   guardados): cada barra lleva su alto en px, hasta 64 px, y el recuadro toma el alto de su contenido. */
.dir-semana i.alto-pct-0 { height: 0px; }
.dir-semana i.alto-pct-5 { height: 3px; }
.dir-semana i.alto-pct-10 { height: 6px; }
.dir-semana i.alto-pct-15 { height: 10px; }
.dir-semana i.alto-pct-20 { height: 13px; }
.dir-semana i.alto-pct-25 { height: 16px; }
.dir-semana i.alto-pct-30 { height: 19px; }
.dir-semana i.alto-pct-35 { height: 22px; }
.dir-semana i.alto-pct-40 { height: 26px; }
.dir-semana i.alto-pct-45 { height: 29px; }
.dir-semana i.alto-pct-50 { height: 32px; }
.dir-semana i.alto-pct-55 { height: 35px; }
.dir-semana i.alto-pct-60 { height: 38px; }
.dir-semana i.alto-pct-65 { height: 42px; }
.dir-semana i.alto-pct-70 { height: 45px; }
.dir-semana i.alto-pct-75 { height: 48px; }
.dir-semana i.alto-pct-80 { height: 51px; }
.dir-semana i.alto-pct-85 { height: 54px; }
.dir-semana i.alto-pct-90 { height: 58px; }
.dir-semana i.alto-pct-95 { height: 61px; }
.dir-semana i.alto-pct-100 { height: 64px; }
.dir-dos { display: grid; grid-template-columns: 2fr 1fr; gap: var(--espacio-16); }
.dir-legajo, .dir-destraba, .dir-ahorro, .dir-escape { background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-tarjeta); padding: var(--espacio-12) var(--espacio-16); }
.dir-legajo .dir-mirar__titulo, .dir-destraba .dir-mirar__titulo, .dir-ahorro .dir-mirar__titulo { margin-top: 0; }
.dir-legajo__fila { display: grid; grid-template-columns: 52px 140px 1fr auto; gap: var(--espacio-8); margin: 0; padding: 6px 0; border-top: 1px solid var(--linea); font-size: var(--letra-texto-chico); }
.dir-legajo__fecha { color: var(--secundario); }
.dir-escape { display: grid; grid-template-columns: 1fr auto auto; gap: var(--espacio-12); margin-bottom: var(--espacio-8); font-size: var(--letra-texto-chico); }
.dir-ahorro { background: var(--fondo-capitulo); margin-top: var(--espacio-16); }
.dir-costo { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--espacio-8); }
.dir-costo .s-campo__control { max-width: 200px; }
.dir-obra-celular { display: flex; align-items: center; gap: var(--espacio-12); min-height: 52px; padding: var(--espacio-8) var(--espacio-12); margin-bottom: var(--espacio-8); background: var(--blanco); border: 1px solid var(--linea); border-radius: var(--radio-tarjeta); color: var(--texto); text-decoration: none; }
.dir-obra-celular .dir-mirar__textos { flex: 1; }

@media (max-width: 899px) {
    .dir-computadora { display: none; }
    .dir-celular { display: block; }
    .dir-tarjetas--celular { grid-template-columns: 1fr 1fr; }
    .dir-mirar__fila { grid-template-columns: 1fr; }
    .dir-dos { grid-template-columns: 1fr; }
    .dir-legajo__fila { grid-template-columns: 52px 1fr; }
    .dir-escape { grid-template-columns: 1fr; }
}

/* Barras sin estilos escritos a mano (sistema v2, D7): el ancho y el alto en pasos de 5 %. */
.ancho-pct-0 { width: 0%; }
.ancho-pct-5 { width: 5%; }
.ancho-pct-10 { width: 10%; }
.ancho-pct-15 { width: 15%; }
.ancho-pct-20 { width: 20%; }
.ancho-pct-25 { width: 25%; }
.ancho-pct-30 { width: 30%; }
.ancho-pct-35 { width: 35%; }
.ancho-pct-40 { width: 40%; }
.ancho-pct-45 { width: 45%; }
.ancho-pct-50 { width: 50%; }
.ancho-pct-55 { width: 55%; }
.ancho-pct-60 { width: 60%; }
.ancho-pct-65 { width: 65%; }
.ancho-pct-70 { width: 70%; }
.ancho-pct-75 { width: 75%; }
.ancho-pct-80 { width: 80%; }
.ancho-pct-85 { width: 85%; }
.ancho-pct-90 { width: 90%; }
.ancho-pct-95 { width: 95%; }
.ancho-pct-100 { width: 100%; }
.alto-pct-0 { height: 0%; }
.alto-pct-5 { height: 5%; }
.alto-pct-10 { height: 10%; }
.alto-pct-15 { height: 15%; }
.alto-pct-20 { height: 20%; }
.alto-pct-25 { height: 25%; }
.alto-pct-30 { height: 30%; }
.alto-pct-35 { height: 35%; }
.alto-pct-40 { height: 40%; }
.alto-pct-45 { height: 45%; }
.alto-pct-50 { height: 50%; }
.alto-pct-55 { height: 55%; }
.alto-pct-60 { height: 60%; }
.alto-pct-65 { height: 65%; }
.alto-pct-70 { height: 70%; }
.alto-pct-75 { height: 75%; }
.alto-pct-80 { height: 80%; }
.alto-pct-85 { height: 85%; }
.alto-pct-90 { height: 90%; }
.alto-pct-95 { height: 95%; }
.alto-pct-100 { height: 100%; }

/* FIS.8: el aviso de lo que quedó en la tablet sin señal. */
.tablet-sin-senal { margin: 0 0 var(--espacio-12); }
.tablet-sin-senal[hidden] { display: none; }

/* Revisión FIS.9, R10: en la computadora y la tablet, Visita · Cómputos ya están en el menú de arriba. */
@media (min-width: 900px) {
    .marco-superior .tablet-arriba .s-pestanas { display: none; }
}

/* Revisión FIS.9, R13: «Urgente» no se corta en la tabla de Calidad. */
#tabla-calidad td[data-rotulo="Prioridad"] .s-estado { white-space: nowrap; }
/* R22: los enlaces de los avisos de «Hoy» del residente, con toque de 44 px. */
.hoy-celular ~ .s-aviso .residente-enlace, .s-aviso .residente-enlace { display: inline-flex; align-items: center; min-height: 44px; }
/* Revisión FIS.9, R14: con pocas semanas, cada barra con su ancho (no ocupa toda la fila). */
.dir-semana { max-width: 96px; }

/* FIS.10 (agente 4, bajo 6): en el celular, el enlace de cada obra de Calidad con toque de 44 px. */
@media (max-width: 899px) { #tabla-calidad td[data-rotulo="Obra"] a { display: inline-flex; align-items: center; min-height: 44px; } }
