/* Asistencias: estilos similares a excursiones/hoteles */
.asign-wrap{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:12px}
.asign-wrap .full{grid-column:1/-1}
@media (max-width:900px){.asign-wrap{grid-template-columns:1fr}}

.checklist{
  max-height:260px;overflow:auto;background:#fff;
  border:1px solid var(--border,#e6e8eb);border-radius:10px;padding:8px
}
.chkrow{display:flex;align-items:center;gap:8px;font-size:.95rem;padding:4px 2px}
.chkrow+.chkrow{border-top:1px dashed #eef1f4}
.hint{font-size:.9rem;color:#6b7280}


/* Estilos para buscador, paginación y selectores con filtro */
.search-bar-wrap { margin-bottom: 12px; max-width: 300px; }
.sm-input { width: 100%; padding: 6px 10px; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; }
.pagination { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin-top: 12px; font-size: 14px; color: #555; }
.pagination button { padding: 4px 10px; }
.field-wrap .search-select-wrap { position: relative; }
.field-wrap .search-select-wrap input[type="text"] { width: 100%; }
.field-wrap .search-select-options { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border: 1px solid #ddd; border-radius: 8px; max-height: 200px; overflow-y: auto; z-index: 100; margin-top: 4px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.field-wrap .search-select-options.visible { display: block; }
.field-wrap .search-select-options div { padding: 8px 12px; cursor: pointer; }
.field-wrap .search-select-options div:hover { background: #f0f4f8; }
.checklist .sm-input { margin-bottom: 8px; }