/* Presencia por centro — pestaña del Cotejo diario. Solo tokens del sistema
   de diseño: la vista sigue al tema (claro u oscuro) como el resto de la app. */
.cd-pestanas{display:flex;gap:4px;border-bottom:1px solid var(--ds-border);margin:18px 0 16px}
.cd-pestanas button{background:none;border:none;border-bottom:2px solid transparent;padding:9px 14px;font:inherit;font-size:.85rem;font-weight:600;color:var(--ds-muted);cursor:pointer;margin-bottom:-1px}
.cd-pestanas button[aria-selected="true"]{color:var(--ds-text);border-bottom-color:var(--ds-accent)}

.pc-controles{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:16px}
.pc-controles label{display:flex;flex-direction:column;gap:4px;font-size:.72rem;color:var(--ds-muted);font-weight:600}
.pc-controles select{min-width:260px}
.pc-nav,.pc-modo{display:flex;border:1px solid var(--ds-border);border-radius:8px;overflow:hidden}
.pc-nav button,.pc-modo button{background:var(--ds-card);color:var(--ds-text-secondary);border:none;padding:7px 12px;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}
.pc-modo button[aria-pressed="true"]{background:var(--ds-text);color:var(--ds-page-bg)}

.pc-titulo{font-size:1rem;font-weight:700;color:var(--ds-text);margin:4px 0 10px}
.pc-aviso{background:var(--ds-warn-soft);border:1px solid var(--ds-warn);color:var(--ds-text);border-radius:8px;padding:9px 12px;font-size:.78rem;line-height:1.5;margin-bottom:10px}
.pc-nota{font-size:.74rem;color:var(--ds-muted);line-height:1.6;margin-top:14px}
.pc-k-ok strong{color:var(--ds-ok)} .pc-k-info strong{color:var(--ds-info)} .pc-k-warn strong{color:var(--ds-warn)}

.pc-bloque{border:1px solid var(--ds-border);border-radius:12px;overflow:hidden;margin-top:14px;background:var(--ds-card)}
.pc-bloque header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;background:var(--ds-surface);font-weight:700;font-size:.88rem;color:var(--ds-text)}
.pc-bloque header small{font-weight:500;color:var(--ds-muted);font-size:.74rem}
.pc-cat{padding:10px 14px 4px;font-size:.72rem;font-weight:700;color:var(--ds-text-secondary);text-transform:uppercase;letter-spacing:.05em}
.pc-cat span{color:var(--ds-muted);font-weight:500;margin-left:4px}
.pc-fila{display:grid;grid-template-columns:minmax(0,1.4fr) 150px minmax(0,1.6fr);gap:10px;align-items:center;padding:7px 14px;border-top:1px solid var(--ds-border);font-size:.82rem}
.pc-det{color:var(--ds-text-secondary);font-size:.78rem;display:flex;flex-wrap:wrap;gap:6px;align-items:center}

.pc-nombre{background:none;border:none;padding:0;font:inherit;text-align:left;color:var(--ds-text);font-weight:600;cursor:pointer;display:flex;flex-direction:column;min-width:0}
.pc-nombre small{font-weight:400;color:var(--ds-muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-nombre:hover{color:var(--ds-accent)}

.pc-chip{display:inline-block;font-size:.72rem;font-weight:600;padding:2px 9px;border-radius:6px;justify-self:start;white-space:nowrap}
.pc-ok{background:var(--ds-ok-soft);color:var(--ds-ok)}
.pc-info{background:var(--ds-info-soft);color:var(--ds-info)}
.pc-warn{background:var(--ds-warn-soft);color:var(--ds-warn)}
.pc-neutro{background:var(--ds-surface);color:var(--ds-text-secondary)}
.pc-vacio{color:var(--ds-muted)}
.pc-noche{box-shadow:inset 0 -2px 0 var(--ds-accent)}

.pc-leyenda{display:flex;flex-wrap:wrap;gap:14px;font-size:.74rem;color:var(--ds-muted);margin:4px 0 12px}
.pc-tabla-wrap{overflow-x:auto;border:1px solid var(--ds-border);border-radius:12px;background:var(--ds-card)}
.pc-tabla{border-collapse:collapse;width:100%;min-width:640px;table-layout:fixed;font-size:.78rem}
.pc-tabla col.pc-col-nombre{width:24%}
/* cotejo-diario.css da 15px 18px y vertical-align:top a TODA tabla dentro de
   #view-cotejo; aquí se necesita una grilla compacta y centrada. */
#view-cotejo .pc-tabla th,#view-cotejo .pc-tabla td{padding:6px 8px;vertical-align:middle;border-bottom:none}
/* …y anchos fijos a sus columnas 1–3 (th:nth-child). Aquí los manda el colgroup. */
#view-cotejo .pc-tabla th{width:auto}
.pc-tabla th,.pc-tabla td{border-top:1px solid var(--ds-border);padding:6px 8px;text-align:center;font-variant-numeric:tabular-nums}
.pc-tabla thead th{border-top:none;background:var(--ds-surface);color:var(--ds-text-secondary);font-weight:700;font-size:.74rem}
.pc-tabla thead th:first-child,.pc-tabla tbody th,.pc-tabla tfoot th{text-align:left;min-width:190px;position:sticky;left:0;background:var(--ds-card);z-index:1}
.pc-tabla thead th:first-child{background:var(--ds-surface)}
.pc-tabla td{min-width:56px;font-weight:600}
.pc-tabla .pc-c-vacio{background:none}
.pc-t-cat td{text-align:left;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ds-text-secondary);background:var(--ds-surface)}
.pc-tabla tfoot td small{color:var(--ds-muted);font-weight:400}
.pc-sin{color:var(--ds-warn)}

@media(max-width:700px){
  .pc-fila{grid-template-columns:1fr;gap:4px}
  .pc-controles select{min-width:0;width:100%}
}

/* Detalle de marcaciones por persona, clasificadas por centro */
.pc-marcas{display:flex;flex-direction:column;gap:4px;width:100%}
.pc-marcas-grupo{display:flex;flex-wrap:wrap;align-items:center;gap:4px}
.pc-marcas-lugar{font-size:.68rem;font-weight:700;color:var(--ds-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-right:2px}
.pc-marcas-lugar.pc-otro{color:var(--ds-info)}
.pc-marca{display:inline-flex;align-items:baseline;gap:3px;font-size:.74rem;font-weight:600;padding:1px 7px;border-radius:5px;border:1px solid var(--ds-border);font-variant-numeric:tabular-nums;color:var(--ds-text)}
.pc-marca small{font-weight:400;font-size:.66rem;color:var(--ds-muted)}
.pc-marca-ent{border-color:var(--ds-ok);background:var(--ds-ok-soft)}
.pc-marca-sal{background:var(--ds-surface)}
.pc-marca-otro{border-style:dashed}
.pc-titulo small{font-weight:500;color:var(--ds-muted);font-size:.78rem}
.pc-tabla td sup{font-size:.6rem;color:var(--ds-muted);margin-left:2px;font-weight:500}
.pc-marca-corte{border-style:dashed;border-color:var(--ds-warn);color:var(--ds-warn);background:none;font-weight:500}
