/* Panel de testigos y accesos (solo administración) e ingreso por cédula y código. */
.sidebar .nav-item[data-view="testigos"]{display:none}
body.rol-admin .sidebar .nav-item[data-view="testigos"]{display:flex}
.login-switch{align-self:center;margin-top:-4px}
.codigo-input{font-family:var(--display);letter-spacing:3px;text-transform:uppercase;font-weight:650}

.tg-tabla td small{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.tg-tabla tbody tr[data-testigo]{cursor:pointer}
.tg-tabla tbody tr[data-testigo]:hover,.tg-tabla tbody tr[data-testigo]:focus-visible{background:#f7faf9;outline:none}
.tg-tabla td:last-child{text-align:right}
.tg-tabla .tag{margin-left:0}
.tg-gestionar{min-height:32px;padding:6px 12px}
.tg-tabla td.tg-vacio{text-align:center;color:var(--muted);padding:32px 16px!important}
.tg-tenue{color:var(--muted);font-weight:400}
.tg-mas{display:inline-block;background:#f0f4f3;color:#6b7d79;border-radius:4px;padding:1px 5px;font-size:10px}
.tg-punto{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block}
.tg-stats .stat{min-height:0}

.tg-dialog{border:0;border-radius:12px;padding:0;width:min(600px,calc(100% - 32px));max-height:calc(100dvh - 32px);box-shadow:0 25px 90px #10292d40;color:var(--ink)}
.tg-dialog::backdrop{background:#10292d80}
.tg-dialog>form,#tg-detalle,.tg-dialog-codigo{padding:24px 26px}
.tg-dialog-codigo[open]{display:flex;flex-direction:column;gap:10px}
.tg-dialog h2{font-family:var(--display);font-size:19px;margin:0}
.tg-dialog h3{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#849296;margin:0 0 10px;font-weight:650}
.tg-dialog p{margin:0;line-height:1.45}
.tg-dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.tg-dialog-top p{color:var(--muted);font-size:13px;margin-top:4px}
.tg-campos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tg-campos label:first-child,#tg-vence-campo{grid-column:1/-1}
.tg-dialog label{display:flex;flex-direction:column;gap:6px;font-weight:550;font-size:13px}
.tg-dialog input:not([type="checkbox"]){border:1px solid var(--line);border-radius:6px;padding:10px 12px;font-size:14px;font-family:inherit}
.tg-dialog .search-field{width:100%}
.tg-dialog .search-field input{border:0;padding:0}
.tg-juntas{border:1px solid var(--line);border-radius:8px;margin:16px 0 0;padding:12px 14px;display:flex;flex-direction:column;gap:10px;min-width:0}
.tg-juntas legend{font-weight:550;font-size:13px;padding:0 4px}
.tg-chips{display:flex;flex-wrap:wrap;gap:6px}
.tg-chip{display:inline-flex;align-items:center;gap:6px;background:var(--soft-green);color:var(--green);border-radius:5px;padding:4px 4px 4px 9px;font-size:12px;font-weight:550}
.tg-chip button{border:0;background:none;color:inherit;font-size:16px;line-height:1;padding:0 4px;cursor:pointer}
.tg-recintos{display:flex;flex-direction:column;gap:8px;max-height:230px;overflow:auto}
.tg-recinto{border:1px solid var(--line);border-radius:6px;padding:9px 11px;display:flex;flex-direction:column;gap:3px}
.tg-recinto small{color:var(--muted);font-size:11px;margin-bottom:5px}
.tg-dialog .tg-junta{flex-direction:row;align-items:center;gap:5px;border:1px solid var(--line);border-radius:5px;padding:5px 8px;font-size:12px;font-weight:500;cursor:pointer}
.tg-junta:has(input:checked){border-color:var(--green);background:var(--soft-green);color:var(--green)}
.tg-acciones{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}
.tg-acciones a.button{text-decoration:none}
.tg-acciones a.button:not([href]){pointer-events:none;opacity:.5}

.tg-codigo{font-family:var(--display);font-weight:800;font-size:40px;letter-spacing:6px;text-align:center;background:var(--background);border:1px dashed #c5d2d4;border-radius:10px;padding:18px 10px;user-select:all;font-variant-numeric:tabular-nums}
.tg-codigo-vence{text-align:center;color:var(--muted);font-size:13px}
.tg-alerta{background:var(--soft-amber);color:var(--amber);border-radius:6px;padding:10px 12px;font-size:13px}

.tg-bloques{display:flex;flex-direction:column;gap:20px}
.tg-bloques section+section{border-top:1px solid var(--line);padding-top:18px}
.tg-bloques section>p{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.tg-lista,.tg-sesiones{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px}
.tg-lista small,.tg-sesiones small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.tg-sesiones{margin:12px 0}
.tg-sesiones li{display:flex;align-items:center;gap:10px}
.tg-sesiones li>div{flex:1;min-width:0}
.tg-sesiones svg{width:18px;height:18px;color:#65777d}
.tg-datos{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:13px;margin:10px 0 14px}
.tg-datos dt{color:var(--muted)}
.tg-datos dd{margin:0}
.tg-botones{display:flex;flex-wrap:wrap;gap:8px}
.tg-peligro{color:var(--red)!important}
.tg-dialog-confirmar{width:min(440px,calc(100% - 32px))}
.tg-dialog-confirmar p{color:var(--muted);font-size:14px;margin-top:8px}

@media (max-width:760px){
  .tg-campos{grid-template-columns:1fr}
  .tg-dialog>form,#tg-detalle,.tg-dialog-codigo{padding:20px 18px}
  .tg-codigo{font-size:30px;letter-spacing:4px}
  .tg-acciones .button{flex:1}
  .tg-tabla th:nth-child(2),.tg-tabla td:nth-child(2){display:none}
}

/* Rol (delegado o supervisor) y zona del supervisor. */
.tg-rol{border:0;padding:0;margin:0 0 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tg-rol legend{font-weight:550;font-size:13px;margin-bottom:6px;padding:0}
.tg-dialog .tg-rol label{flex-direction:row;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:400}
.tg-rol label:has(input:checked){border-color:var(--green);background:var(--soft-green)}
.tg-rol label span{display:flex;flex-direction:column;gap:2px}
.tg-rol small{color:var(--muted);font-size:12px}
.tg-zona{border:1px solid var(--line);border-radius:8px;margin:16px 0 0;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0}
.tg-zona legend{font-weight:550;font-size:13px;padding:0 4px}
.tg-zonas{display:flex;flex-direction:column;gap:6px;max-height:300px;overflow:auto}
.tg-canton{border:1px solid var(--line);border-radius:6px;padding:8px 10px}
.tg-canton summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}
.tg-canton summary::-webkit-details-marker{display:none}
.tg-dialog .tg-canton summary label{flex-direction:row;align-items:center;gap:6px;font-weight:400}
.tg-canton summary small{color:var(--muted);font-size:11px}
.tg-canton .tg-chips{margin-top:8px}
.tg-junta small{color:var(--muted)}
.tag.teal{background:#e6f6f4;color:#0f766e}
@media (max-width:760px){.tg-rol{grid-template-columns:1fr}}
