/* Pantalla de acceso, sesión y "Mis archivos". Usa las variables de style.css. */
[hidden]{display:none!important}
.pantalla-acceso{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(160deg,#173a35 0,#173a35 38%,var(--bg) 38%)}
.acceso-card{width:min(420px,100%);background:white;border:1px solid var(--line);border-radius:16px;padding:32px 28px;box-shadow:0 18px 50px #163c3326}
.acceso-marca b{display:block;font-size:44px;letter-spacing:-2px;line-height:1;color:#173a35}
.acceso-marca small{display:block;margin-top:8px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--green)}
.acceso-card h1{font-size:24px;margin:28px 0 4px}
.acceso-card .full{min-height:48px;font-size:15px}
.acceso-card .primary.full{margin-top:18px}
.acceso-card .secondary.full{margin-top:10px}
#estadoAcceso{margin-top:14px;font-size:14px;overflow-wrap:anywhere}
.acceso-aviso{background:#fff6e0;border:1px solid #f0d58e;color:#6a4a00;border-radius:10px;padding:12px 14px;font-size:13px}
.acceso-pie{margin-top:18px;font-size:12px;color:var(--muted);text-align:center}
.sesion{display:flex;align-items:center;gap:10px;min-width:0}
.sesion .private{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#cerrarSesion{font-size:12px;padding:7px 12px;white-space:nowrap}
#navAdmin{border-top:1px solid #2b5048;margin-top:8px;padding-top:16px}
.archivos-lista{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.archivo{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:#fcfdfc}
.archivo b{display:block;font-size:14px}
.archivo small{display:block;color:var(--muted);margin-bottom:8px}
.archivo>button{margin:6px 0}
.planilla-wrap{max-height:420px;border:1px solid var(--line);border-radius:8px;margin:10px 0}
.tabla-planilla{border-collapse:collapse;width:100%;font-size:13px}
.tabla-planilla th,.tabla-planilla td{border:1px solid var(--line);padding:7px 9px;text-align:left;white-space:pre-wrap;min-width:72px;max-width:260px;overflow-wrap:break-word;word-break:normal;hyphens:auto}
.tabla-planilla th{white-space:nowrap;min-width:0}
.tabla-planilla th{background:#eef4f0;position:sticky;top:0}
@media(max-width:850px){
  header{gap:10px}
  header>span:first-child{display:none}
  .sesion{width:100%;justify-content:space-between}
  .sesion .private{max-width:60vw}
  #navAdmin{border-top:0;margin-top:0;padding-top:9px}
}
@media(max-width:480px){.acceso-card{padding:26px 20px}.acceso-marca b{font-size:38px}}
#eleccionAdminCaja{display:block;margin-top:14px;font-weight:600}
#eleccionAdmin{display:block;width:100%;max-width:560px;margin-top:6px;font-weight:400}
textarea[readonly],input[readonly]{background:#f1f4f2;color:#4a5d58;cursor:not-allowed}
/* Coincidencias en el celular: cada fila es una tarjeta y los botones de
   WhatsApp y correo quedan siempre a la vista, grandes y fáciles de tocar. */
@media(max-width:900px){
  .results .table-wrap{max-height:none;overflow:visible}
  .results table,.results tbody{display:block;white-space:normal}
  .results thead{display:none}
  .results tbody tr{display:grid;grid-template-columns:1fr auto;gap:6px 10px;border:1px solid var(--line);border-radius:12px;padding:14px;margin:0 0 12px;background:#fff;box-shadow:0 1px 2px #163c3310}
  .results tbody tr.fila-vacia{display:block;border:0;box-shadow:none;padding:0}
  .results tbody td{display:block;border:0;padding:0;font-size:14px;white-space:normal;overflow-wrap:anywhere}
  .results tbody td small{font-size:12px}
  .results tbody td:nth-child(1){grid-column:1;grid-row:1}
  .results tbody td:nth-child(1) b{font-size:15px}
  .results tbody td:nth-child(3){grid-column:2;grid-row:1;text-align:right}
  .results tbody td:nth-child(3) small{display:block;font-size:11px;color:var(--muted);margin-top:4px;max-width:150px;margin-left:auto}
  .results tbody td:nth-child(2){grid-column:1/-1;padding:8px 10px;background:#f6f9f7;border-radius:8px}
  .results tbody td:nth-child(4){grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
  .results tbody td:nth-child(4):empty{display:none}
  .results .row-action{flex:1 1 40%;margin:0;min-height:46px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;border-radius:10px;border:0;cursor:pointer}
  .results .row-action.accion-wa{background:#1f8f4e;color:#fff}
  .results .row-action.accion-correo{background:#e7eef9;color:#1d3f74}
  .results button.row-action{background:#fff3dd;color:#7a5200}
  .results .muted-link{font-size:13px}
}
/* Tablets y pantallas táctiles anchas (iPad vertical u horizontal): botones con
   altura cómoda para el dedo. */
@media(min-width:901px) and (max-width:1199px),(pointer:coarse) and (min-width:901px){
  .results .row-action{min-height:44px;display:inline-flex;align-items:center;padding:8px 14px;font-size:14px;margin:2px 4px 2px 0}
  .results .row-action.accion-wa{background:#1f8f4e;color:#fff}
}
/* ---------- Fiscal: marcado rápido en la mesa ---------- */
.fiscal{min-height:100vh;min-height:100dvh;background:var(--bg)}
.fiscal-cabecera{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:#173a35;color:#f3f8f5;height:auto;border:0}
.fiscal-cabecera b{font-size:24px;letter-spacing:-1px;display:block;line-height:1}
.fiscal-cabecera small{color:#c5ddd2;font-size:12px}
.fiscal-cabecera button{min-height:40px}
.fiscal-main{max-width:640px;margin:0 auto;padding:12px 16px 120px}
.fiscal-sync{margin:4px 0 12px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;background:#e4f2e8;color:#1f5c3c}
.fiscal-sync.pendiente{background:#fff3dd;color:#7a5200}
.fiscal-sync.sin-senal{background:#fde3df;color:#8a2416}
.fiscal-mesa{display:block;font-size:13px;font-weight:600;margin:0 0 10px}
.fiscal-mesa select{display:block;width:100%;margin-top:6px;font-size:16px;padding:12px;min-height:48px}
.fiscal-contador{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.fiscal-contador strong{font-size:34px;letter-spacing:-1px;color:var(--green)}
.fiscal-contador span{color:var(--muted);font-size:15px}
.fiscal-avance{height:8px;background:#e6eeea;border-radius:99px;margin-top:8px;overflow:hidden}
.fiscal-avance span{display:block;height:100%;background:var(--green);width:0;transition:width .3s}
#fiscalBuscar{width:100%;font-size:20px;padding:14px;min-height:56px;border-radius:12px}
.fiscal-mas{display:grid;gap:8px;margin:6px 0 10px;text-align:center}
.fiscal-mas small{color:var(--muted);font-size:12px}
.fiscal-mas button{width:100%;min-height:52px;font-size:16px}
.fiscal-ayuda{font-size:12px;color:var(--muted);margin:6px 0 10px}
.fiscal-filtros{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.fiscal-filtros button{min-height:44px;font-size:15px;background:#fff;border:1px solid var(--line)}
.fiscal-filtros button.activo{background:var(--green);color:#fff;border-color:var(--green)}
.fiscal-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fiscal-persona{width:100%;display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:10px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;min-height:64px}
.fiscal-persona.sin-orden{grid-template-columns:1fr auto}
.fiscal-persona .orden{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}
.fiscal-persona .nombre{font-size:15px;font-weight:600;overflow-wrap:anywhere}
.fiscal-persona .nombre small{display:block;font-weight:400;color:var(--muted);font-size:12px}
.fiscal-persona .accion{font-size:14px;font-weight:700;padding:10px 12px;border-radius:10px;background:#eef4f0;color:var(--green);white-space:nowrap}
.fiscal-persona.voto{background:#e9f6ee;border-color:#9fd1b3}
.fiscal-persona.voto .accion{background:#1f8f4e;color:#fff}
.fiscal-persona.pendiente .accion::after{content:" ⏳"}
.fiscal-aviso:not(:empty){padding:10px 12px;border-radius:10px;background:#fde3df;color:#8a2416;font-size:14px}
.fiscal-deshacer{position:fixed;left:12px;right:12px;bottom:16px;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:616px;margin:0 auto;background:#182f32;color:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 8px 30px #0005;font-size:15px}
.fiscal-deshacer button{background:transparent;color:#9fe2bd;font-weight:700;font-size:15px;min-height:40px}
/* ---------- Día de la elección (puntero) ---------- */
.jor-acciones{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.jor-acciones button{min-height:44px}
#jorBuscar{width:100%;margin:6px 0 10px;min-height:44px}
.jor-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.jor-persona{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.jor-persona b{display:block;font-size:15px}
.jor-persona small{display:block;color:var(--muted);font-size:12px;margin-top:2px;overflow-wrap:anywhere}
.jor-persona.votaron{background:#e9f6ee;border-color:#9fd1b3}
.jor-persona.sincontrol{background:#fafafa;border-style:dashed}
.jor-atraso{color:#7a5200!important;font-weight:600}
.jor-botones{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.jor-botones .row-action{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;font-size:15px;font-weight:600;border-radius:10px;flex:1 1 40%}
.jor-botones .accion-wa{background:#1f8f4e;color:#fff}
.jor-botones .accion-llamar{background:#e7eef9;color:#1d3f74}

/* Lista de observados (por ejemplo, empleados judiciales) */
.badge.obs{display:inline-block;margin-top:4px;background:#fde8e8;color:#a61b1b;border:1px solid #f3b4b4;font-weight:700}
tr.fila-obs td:first-child{box-shadow:inset 4px 0 0 #d93636}
.fiscal-persona.obs{border-color:#f3b4b4;background:#fff5f5}
.fiscal-persona.obs .badge.obs{display:block;width:fit-content;margin-top:4px;font-size:12px;padding:2px 8px;border-radius:999px}
.jor-persona.obs{border-left:4px solid #d93636}
.jor-persona .badge.obs{display:inline-block;margin-top:4px;font-size:12px;padding:2px 8px;border-radius:999px}
/* Correcciones a mano en el cruce */
.row-action.accion-quitar{background:#fff4f2;color:#a13a26}
.candidate.ninguno{background:#fff8f6;border:1px dashed #f0c4b8}
.fila-mas td{text-align:center;padding:14px}
.fila-mas button{min-height:44px;padding:10px 20px}
